Search code examples
alexa-skills-kitalexa-voice-servicealexa-slot

Alexa jumping to stopIntent instead Of AgreeIntent for Australia and Canada Language


I have developed My skill and assigned 5 languages to it. US,AU,UK,IN,CA. Everything is working good for the US,UK and India but when it comes to AU and CA, whenever i say yes or no, it fires the stop intent and close the app. Everything is same for all the languages. Please help. My app failed certification for this reason.

My agreeIntent utterances are yes, no, yup, nope and StopIntent utterances are stop, bye, goodbye.


Solution

  • Do not create custom YesIntent or NoIntent, instead always use predefined AMAZON.YesIntent for "Yes" and AMAZON.NoIntent for "No".

    "Yes" and "No" are logically different, so it will be a good approach to use corresponding predefined intents rather than using agreeIntent. If you want to add custom utterances like "Yup", you can add it to AMAZON.YesIntent like any other intent.

    One issue that you may encounter is while using ConfirmSlot or ConfirmIntent directive. Here when the user says "Yes", instead of sticking on to the current intent and confirming it, there is chance that Alexa would map the confirmation-"Yes" to the custom YesIntent and break the directive.