Overview

Branching & Multitasking in AtBot mean that users no longer need to stay within the context of a given skill from start to finish, but can move fluidly out and then back without sacrificing the original skill to launch the next.


Concepts

Allow Branching

Many of the AtBot actions in Flow now have an advanced property called Allow Branching.

When set to Yes, any text response from the user during that action will be processed through LUIS and QnA Maker to determine if the user is looking for information from another skill or has a question they need an answer to before they continue on with the current skill.

If this property is set to No, the bot will require the user to finish that action before moving on.

Signal Response JSON

When a skill branches out to a new skill in Flow, that new skill has the opportunity to send its result back to the original skill it branched out from.

Consider a skill where you are scheduling a meeting, when the bot asks for a date and time, you ask the bot when you are free next week. This will branch to a new skill that could provide time slot options to the user and when they select one, it passes that date/time back to the Schedule a Meeting skill. See the Send Reply documentation for how these responses need to be formatted.