I'm having an issue with Dynamic Entities. I've created an intent handler response according to documentation, but Alexa hangs the conversation after its usage.
Response looks like this:
const speechText = 'What is the project for this task?'; return handlerInput.responseBuilder .speak(speechText) .reprompt(speechText) .addDirective(replaceEntityDirective) .getResponse();
The intent has disabled auto delegation, it's name is LogTime.
And here is the conversation with Alexa in simulator:
0. Me: Log time
1. Alexa: What is the project for this task?
2. Me: First project
3. Alexa: What is the project for this task?
4. Me: First project
5. Me: First project
6. Me: End
7. Alexa: Goodbye!
In the logs I can see that Alexa after my answer at 2. does not communicates with my backend. It just hangs. Only when I say something that matches any other Intent it continues with the conversation (at 6. she recognises the AMAZON.StopIntent).
At 0. Alexa send request to my backend, DialogState is set to STARTED.
What I want to achieve, is that I ask the user a question while sending dynamic entities. After getting an answer I can parse it and ask for another question until I get all the info.
Does anyone knows if it's a bug? Or maybe I'm using it in a wrong way?
One workaround that I found is to send dynamic entities at the LaunchRequest. Then in my Intent handler I can control the dialog using addElicitSlotDirective. But this is not going to work when someone invoked this intent directly, like this: 'Alexa, ask mySkill to log time'.