Transitions

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.

Transitions in flow

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.

Get input checkbox

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. In Teneo, transitions waiting for user input are displayed with a user icon. Transitions that do not have the Get input before continuing checkbox selected do not have that icon. This makes the two visually distinguishable from each other:

Example of transitions that wait for new input or not

Conditional or not?

Transitions have an option called 'Match Conditionally', where the transitions can be conditional or unconditional. If a transition is conditional, Teneo will evaluate if a condition is met before it follows the transition. You specify conditionality with a checkbox in the 'Triggering' panel:

Checkbox for matching conditionally

Just like triggers, transitions can also have match requirements to evaluate if the input of a user meets the criteria to follow a transition. You can either hand-craft the match requirement yourself, or let Teneo automatically create it for you from a set of test data, after which you can edit the condition.

Say that you want to capture extras together with a coffee order:

Conditional transitions requiring user input

The language conditions for the 'Milk and sugar' branch may look like this:

Language conditions for example transition

For language 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.

You can also use Groovy code in the condition field. The code should be enclosed in curly brackets, e.g. {userAge > 12} (which requires the value of the variable userAge to be greater than 12 to determine if the user may drink coffee). Language conditions that consist of Groovy code are often used in transitions that continue without user input.

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.

Transition ordering

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:

Allowing node to be revisited

Was this page helpful?