Links

Nodes can be connected using Links. When you draw a line from one node to another it will create a link between the two. There are two kinds of special links. They are both only available in Ask node types:

  • Labelled links

  • Dialog triggers

The available choices are managed by drawing lines (= node links) from this node to other nodes. When the line is drawn without a target node, the system will automatically ask to choose a node type to create for you. The link type will be automatically set to "labelled".

A "labelled" link represents the expected choices that will satisfy the question. Every link represents one choice.

Labeled triggers used in Ask: Choice

Labelled links are mainly used for the node Ask: Choice. A node link consists of the following details:

Labelled trigger properties
Property
Description
Explanation

Label

The label of the choice.

Will be used to match the input of the user to the right choice. On visual channels the choices are represented as quick replies. On voice channels the choices are also available as DTMF choices.

Strict matching

The label is matched strictly.

So when the label is "A" the choice will not be triggered when "AA" is given if Strict matching is enabled.

Intent

To be able to match the choice to the user input using a trained user intent.

User intents can be trained in the Training section of the platform.

DTMF Key

To be able to use a DTMF key on your phone to select the trigger.

DTMF are the keys on your phone, therefore this option will only be relevant for bots that answer the phone.

Strict matching

When Strict Matching is enabled the platform will be strict when using the label for matching the trigger. This means, when for instance, the label is "Sales", the trigger will not match if the user says "Sales Departments". It will only match when the user says specifically and only the word "Sales".

This is usefull for situations where you have two or more choices where one of them is partly used in the others. So for instance when there are two choices: "Sales" and "Sales Questions". Then the system will always match "Sales", even when the user says "Sales Questions".

Dialog triggers

Dialog triggers can be used on Ask nodes to handle user input or events that do not belong to the main choices of the Ask, the Labelled links. Dialog triggers can trigger by user intents or by system events.

The following example shows two types of dialog triggers. The first is using a trained user intent and the second an unknown event.

Dialog triggers used in Ask: choice

The user intent for "Why?" can be used like this:

The trigger links have slightly different properties that can be configured. It shares the intent property, but instead of a label it offers a system dialog (to handle the "unknown" situation)

Property
Description
Explanation

Intent

To be able to match the choice to the user input using a trained user intent.

User intents can be trained in the Training section of the platform.

System dialog

To be able to respond to system dialogs, like unknown

Unknown is used to handle any unmatched user input

Once the flow that is triggered by the dialog trigger is finished, it will return to the original Ask it came from.

System dialog triggers

System dialog triggers are triggers related to Ask. These triggers take place when the Ask is not satisfied. They will execute the nodes that are linked and then directly return to the Ask, prompting the Try again question.

Dialog triggers that are triggered by a specific system event

Certain system events can also trigger another dialog. These are:

  • __unknown__

  • __ask_max_unknown__

  • __no_input__

  • __ask_timeout__

__unknown__ and __ask_max_unknown__

The trigger dialog __unknown__ can be very helpful to handle unmatched user intent so proper fallback can be arranged like explaining what is needed or asked from a user.

After 3 __unknown__ dialogs, the __max_unknown__ dialog will be triggered. This is to prevent users from endless looping in an Ask node.

__no_input__ and __ask_timeout__

The No input dialog is activated when a user doesn't provide any response within a predefined time period. For phone conversations, this is 8 to 15 seconds (depending on whether we ask with the 'patiently' option). This dialog can be used to prompt users for input, provide clarification, or offer assistance when they seem hesitant to respond.

The number of times the no Ask will be triggered is controlled by the @ask_max_no_input variable. For example, when @ask_max_no_input is set to 3, the system will:

  • Ask the original question

  • Trigger the no input dialog up to 2 times (after which we have had 3 times no input)

  • Finally trigger the timeout dialog

This is the default behavior for DialoX SmartApps.

Example timeline

Variables

  • @ask_max_no_input 3

  • @no_input_timeout 8

  • @ask_timeout 8

Timeline

  1. Ask question - Initial question is presented

  2. Wait 8 seconds - No input timeout period

  3. No input dialog - First __no_input__ dialog is triggered

  4. Wait 8 seconds - No input timeout period

  5. No input dialog - Second __no_input__ dialog is triggered

  6. Wait 8 seconds - Final ask_timeout period

  7. Ask timeout dialog - Final __ask_timeout__ dialog is triggered

Click to enlarge

Last updated

Was this helpful?