Design your Conversation Logic in Flows
Transitions connect flow nodes with each other. They determine the paths a dialogue can follow. If there are multiple transitions leaving a node, all transitions are tested in a certain order and the first one whose condition is satisfied is chosen.
New input or not?
Some transitions wait for a user input, while others do not. You specify whether a transition should wait for a new input or not with a checkbox in the 'Triggering' section.
In case a transition has the Get input before continuing checkbox selected, the flow processing halts until the user has provided an input. Usually, such transitions are placed after output nodes in which the bot asked a question.
Match Intent or not?
Just like triggers, transitions can also have a Match requirement to evaluate if the input of a user meets the criteria to follow a transition. You can either hand-craft the Match yourself or let Teneo automatically create it for you from a set of test data, after which you can edit the Match.
Let's say that you want to capture extras together with a coffee order:
The TLML Syntax for the 'Milk and sugar' branch may look like this:
For syntax conditions in transitions, it is usually enough to focus on the crucial content-bearing keywords. This way, less important words that might exist in the user's input are ignored.
Order
If multiple transitions have the same node as their starting point, you specify the order in which they (or rather, their conditions) should be tested. The order is displayed in the flow graph as a number on the transition and is displayed from left to right, with the highest order placed on the left and the lowest on the right. You can change the order in the 'Triggering' panel.
When setting up the ordering of the transitions, make sure that the more specific conditions are tested first and the more general ones last. Otherwise, the more specific ones will never be chosen.
Repeatability
You can specify whether a transition should be considered just once per session, or always. This is useful when you want the behavior of a flow (or a point of flow) to be different depending on how many times the user visits it. You specify whether a node is revisitable with a checkbox in the 'Resume Prompts' panel: