question

Chris Elford avatar image
Chris Elford asked

Issues with Intent Launch Phrases in NFI Simulation mode (and on Echo)

I am having issues with getting Intent Launch Phrases to actually trigger actions in my skill in development mode testing. I'm using the developer console Name Free Interaction Simulation Mode (and testing with my echo).

How can I further debug why NFI is not routing to my intents?

My skill invocation name (e.g., "dog walker") is included in the intent launch phrases (e.g., "I need a dog walker") so I wonder if there is some issue with the model getting confused between the skill invocation name and the intent launch phrases.

Instead of firing the IntentRequest, Alexa is just sending a LaunchRequest to the skill.

    "request": {
        "type": "LaunchRequest",
        "requestId": "amzn1.echo-api.request.<snip>",
        "locale": "en-US",
        "timestamp": "2022-09-19T00:04:14Z",
        "shouldLinkResultBeReturned": false
    }

If I re-enter the same command again, it then invokes the desired intent (but I believe this is because its now within a skill session).

"request": {
        "type": "IntentRequest",
        "requestId": "amzn1.echo-api.request.<snip>",
        "locale": "en-US",
        "timestamp": "2022-09-19T00:06:08Z",
        "intent": {
            "name": "GimmeTwo",
            "confirmationStatus": "NONE"
        }

My intent sets "shouldEndSession": true which closes the session. A third repeat of the command goes back to the LaunchRequest. This alternating between Launch and invoke happens both in NFI simulation in the developer console and on my echo.

Additional Context

  • I am updating my skill to work with name free interaction using the developer console.
  • I'm testing against the EN-US development version of my skill
  • I already implemented CanFulfillIntentRequest for all the intents in my skill and tested that in lambda. I respond like this to for the Intents that I am using for Intent Launch Phrases (and "NO" for other intents).
    • {
        "version": "1.0",
        "response": {
          "canFulfillIntent": {
            "canFulfill": "YES"
          }
        }
      }
  • I have created five intent launch phrases for each of five custom intents (none of which use slots) and built my model.

Thinking it was a mismatch between the skill invocation name and the intent launch phrases, I tried in my development version of the skill to change the skill invocation name for testing. However, developer console won't let me change the invocation name and gives a "You cannot change the invocation name for a live skill." error when rebuilding the model. I'd be a bit concerned about changing the invocation name as it might confuse existing users anyway but thought it would have been a good test.

name-free interactionnfi
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

1 Answer

Andy Whitworth avatar image
Andy Whitworth answered
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.