Allow intent forwarding without user utterance
I'd like to programmatically invoke an intent from the handler of another intent to make dialogue flow easier on the user. For example, let's say I am in the LaunchRequest handler and I query a database to see if a user has made a previous purchase through my skill. If they have, I'd like to prompt them when the skill launches, "Would you like to purchase your most recent item again?" to which they can answer "yes" or "no" and use the YesIntent and NoIntent to forward them to the proper handler (for example, "PurchaseAgainIntent" or "NewPurchaseIntent"). However, when I forward intents internally like this, the request JSON still reflects the last user utterance (with type YesIntent or NoIntent), which doesn't have any of the slots defined that I have logic to elicit in those other handlers. So instead, I have to structure the speechOutput to make the user say something to get to the proper intent request JSON. This makes the dialogue more cumbersome, because I have to say something like, "If you'd like to purchase your most recent item again, say 'buy again', otherwise say 'new purchase'." It would be much easier if I could forward the user to the proper intent based on a simple "yes"/"no" response AND have the proper request JSON in the handler context as if the user made a new utterance.
Subrata Sarkar commented
It is a very important issue and I wonder there is no reply yet! I am in a similar situation. @Josh, if you have already known how to achieve it, please share. I have posted a similar question in Stack Overflow here today: