I’m trying to figure out how to keep asking, “Is there anything else I can help you with?” when any dialog task finishes.
The bot is intended solely as a voice assistant through SmartAssist. I’m not sure if this needs to be set up in SmartAssist, Bot Builder, or a combination of the two.
- SmartAssist calls a main dialog task I created that helps the user look up a claim.
- The caller is prompted for a claim number. If they don’t have it, they’re prompted for a social security number.
- The bot calls a web service to look up the claim by whichever info the user provided.
- Once the claim has been retrieved, it’s stored in
- The main dialog task ends.
- At this point, the caller can ask any number of questions. Who’s the adjuster? What’s the billing status? Was the claim approved?
- Right now, each of these questions has its own dialog task because the main task would get unwieldy with that many intent nodes.
I saw a sample from Kore that loops with an “Anything else?” question like this. At the bottom of the flow, it has a message node with an if condition on the user’s utterance. If the user says something like, “That’s it, I’m done,” the flow ends. Otherwise, the user’s question is extracted through an utterance associated with the main dialog task intent and stored in an entity. The main task runs again, branching on the entity’s value to determine which info to convey.
The problem is that that method depends on using a single dialog task (which is exactly what the Kore sample does). That’s fine for a small number of intents, but it gets unwieldy with how many questions we’re answering. I also don’t like that someone would have to edit the dialog task every time a new question is added rather than creating a new dialog task. It seems liable to invite editing mistakes, especially considering how complex that dialog task is quickly becoming. Plus it’s harder to grok with all the questions branching in one big dialog task.
Does this make sense? Is there a way to accomplish this with multiple dialog tasks?