jsonamazon-web-servicesaws-lambdaalexa-skills-kit

Repromting in Alexa Skill


When building an Alexa skill with a custom Lambda endpoint, I've configured an intent called 'Hello'. Upon triggering this intent, I am expecting both a message and a reprompt message to be sent to the user. However, while the initial message is successfully displayed, the reprompt message doesn't appear. Additionally, I've ensured that the shouldEndSession parameter is set to false. The JSON response structure resembles the one outlined in the Alexa Skill Documentation. Documentation

Output Json is same as like this:-

`{
  "version": "1.0",
  "sessionAttributes": {
   "supportedHoroscopePeriods": {
      "daily":true,
      "weekly": false,
      "monthly": false
    }
  },
  "response": {
    "outputSpeech": {
      "type": "PlainText",
      "text": "Today will provide you a new learning opportunity"
    },
    "card": {
      "type": "Simple",
      "title": "Horoscope",
      "content": "Today will provide you a new learning opportunity"
    },
    "reprompt": {
      "outputSpeech": {
        "type": "PlainText",
        "text": "Can I help you with anything else?"
      }
    },
    "shouldEndSession": false
  }
}`

Can someone help me regarding this? I've tried a lot but it doesn't work for me. Note: I am not using Alexa Ask Library, I am working on a custom lambda not the one provided in Alexa Developer Console.

I am expecting when the Hello Event is triggered, A message and a reprompt message should be displayed , but inn my case only the message is displayed not the reprompt message.

Sample Output:-

`**Me**: Alexa,Open MySkill.
**Alexa**: Hi, Welcome to My Skill.
**Me**: Hello , My name is Tushar
**Alexa**: Hello Tushar. ( Message )
**Alexa**: How Can I help you? (Reprompt-Message)

My shouldEndSession is set to False Only. Any help on this ?


Solution

  • The fact that you say "displayed", implies (to me anyway) that you're using the Alexa app and not a "real" physical Alexa device.

    If so then this is expected behaviour, the Alexa app doesn't do reprompts, it just waits for you to reply to the initial request. Try it on a physical Alexa device and you should get your reprompt.

    Edit: The same goes for the Alexa test capability in the dev console. It won't reprompt.