I have a skill where user can speak dates, duration, time etc. However there is also a need to take a dictation that is whatever the user speaks is converted to the text and sent to the skill.
One way to achieve this is to allow the developer to hint at the possible intents that should be prioritized over matching with other intents.
For example, the response from the skill could be
{ "version": "1.0", "sessionAttributes": { "context": "check_appt", "want_add_appt": "yes" }, "response": { "outputSpeech": { "id": null, "text": "You have no notes attached, will you like to add one?", "type": "PlainText" }, "card": null, "reprompt": { "outputSpeech": { "id": null, "text": "You have no notes attached, will you like to add one?", "type": "PlainText" } }, "shouldEndSession": false, "nextIntentHints": [ { "myIntent1": 1 }, { "myIntent2": 2 }, { "myIntent3": 3 } ] } }
When the user makes the next utterance, Alexa will try to match the intents in the following order myIntent1, myIntent2, myIntent3, all other intents.
In this way, I can give the intent containing a slot type AMAZON.LITERAL first and can get all the utterances in the text format.