Working with backtracks and choice lists
Understanding backtracks and choice lists is much easier if you understand symptoms and solutions. We recommend reading Working with symptoms and solutions before reading this page.
What is a backtrack?
Backtracks are automatically created whenever there are multiple symptoms or solutions connected to the same node. They indicate a connection that can be returned to based on the answer the user provides to the next node.
For example, in the above flow if the user indicates they have a problem with their clock, they may be first be asked whether the display is on. If they say it is, the assistant will step back to the nearest backtrack and then proceed to the next symptom and ask the user if the display is flashing "12:00".
Backtracks are also where you can control the order in which the connected symptoms or solutions are displayed.
By default, all connected symptoms or solutions are shown to the user in an order determined by Mavenoid's AI. In some cases you may want to control the order more explicitly. In the above example, it makes sense to ask whether the clock is plugged in before asking whether the outlet is powered, and repairing or replacing the clock should probably come last. You can manually position the listed nodes to control this order.
If appropriate, you can use a combined approach by manually ordering nodes which should always come first or last and leaving the other nodes to the AI.
Backtracks can also be right-clicked and converted to choice lists, though this will cause errors if the choice list connects to nodes other than symptoms, questions, messages, or other choice lists.
Backtracks and non-backtrackable nodes
In most cases, backtracks connect only with symptom and solution nodes, since those are the only types of nodes that can return the conversation to the previous node based on the answer the user provides. However, in some cases you may need to connect a backtrack to another type of node, such as a question or message.
This can be done, but because the user cannot backtrack from one of these nodes (no answer to them will cause the conversation to return to the previous node), it's impossible for a backtrack to meaningfully connect to more than one such node. Thus, if you have a backtrack connected to one non-backtrackable node and attempt to connect it to a second, the new connection will replace the existing one.
The exception to this is if the non-backtrackable nodes have conditions applied. In that case, you can connect more than one. For any given conversation, only the first node whose conditions match the conversation's state will be actually be used.
Additionally, the non-backtrackable node will always be the last node the backtrack tries, regardless of how you order the connections in the backtrack's edit pane.
What is a choice list?
By default, users are presented with symptom questions one after another and must answer each one in turn. Sometimes it's better to let the user speed things up by choosing between several symptoms at once with a choice list.
Any backtrack that leads to symptoms can be right-clicked and turned into a choice list.
You can also directly create a choice list on the canvas and then connect it to symptom nodes.
Once a choice list is created, it can be assigned its own question. Then, when the assistant reaches this step in the flow, rather than showing the user each symptom's question in turn, it will show the choice list's question ("What problem is your clock having?" in the example above). Instead of asking for a yes or no answer, the answer options will be the names of the connected symptoms. If the user picks one, that indicates that the symptom is present in the faulty state and the assistant will take the user forward into that symptom's connected solutions.
By default, all connected symptoms are shown to the user in an order determined by Mavenoid's AI. In some cases you may want to control the order more explicitly. As with editing backtracks, you can manually position the listed symptoms to control this order. If appropriate, you can use a combined approach by manually ordering symptoms which should always come first or last and leaving the other symptoms to the AI.
Choice lists can also be right-clicked and converted back to backtracks, though if the choice list includes more than one node that is not a symptom or solution, all but one of those connections will be removed.