Iterate

To ask the user recurrently for their intent

The iterate node is a special kind of ask. Where a normal ask continues the flow after a satisfied answer is given, the iterate will always return and ask the user again.

So in the following example, when the user answers "Choice A" to the question "What can I do for you?", the Smart App will answer "Choice A" and then return to the Iterate note to ask the user again.

Example conversation

Because of this returning behaviour, this node can be used as a menu to the different user intents this Smart App can perform.

Every time the user returns in the Iterate node the user will be asked again using a preconfigured "Repeat (1)" or "Repeat (2)" text. After the last one it will re-iterate the last question over and over again.

Iterate side panel

When providing only one text, or only two texts, it works the same way. It will simply re-iterate the last text you provided.

Other than that, this node type works exactly the same as the ask: choice.

How to use?

  1. Create a new node on your canvas of type "Iterate" by right clicking your canvas and select Iterate (default)

  2. Provide at least one text by entering the question in the Question field, like: "What can I do for you today?

  3. Optionally provide repeat questions in Repeat (1) and (2) that will be used to ask the user after a turn

  4. Optionally add an __unknown__ dialog trigger to respond to the situation where none of the links match the user message

  5. Optionally add FAQs in the Iterate side panel

Node properties

Property
Description
Explanation

Question

The initial question

Repeat (1)

The text to use when asking the user a second time

optional

Repeat (2)

The text to use when asking user a third time. The system will keep on using this text for all following turns

optional

FAQs

Optionally FAQs can be added to the Iterate node so for simple question and answers there is no need for adding branches.

optional

Routes

Routes can be added to automatically route to a different flow when a certain intent is matched

optional

FAQs

Iterate nodes usually act as the "main menu" of your Smart App resulting in this node to become a "tree" with a lot of "leafs". The leafs are most of the time simple say nodes to provide an answer to a question (frequently asked questions, or FAQ in short). It is not uncommon that these types of FAQs take up a large part of the visual space of your flow, cluttering the canvas and make it difficult to maintain, consider the following situation:

Flow with many FAQs

To solve this issue the Iterate node can hold zero, one or more FAQ's. These FAQ's can then be maintained in the FAQs page in the Content Section. This removes a lot of complexity on your Flow canvas, enabling you to focus on what really matters. Like this:

Cleaned up flow

The FAQs are now not visible anymore in the flow making the real functionality more visible. In this example, the fact that this Smart App can redirect towards one of the departments. The FAQs are now in the content section:

Faqs

Defining the FAQs in the content section will not make the FAQs automatically available as triggers and answers in your Iterate node on your flow. You need to link the FAQs you want to support in your Iterate node in the side panel:

FAQs linked to this Iterate node

Routes

Iterate nodes not only support FAQs but now also include a "Routes" feature. Routes function similarly to FAQs but with a key difference - instead of providing immediate answers, Routes match user intents and redirect to different flows in your Smart App.

Understanding Routes

Iterate nodes often serve as the "main menu" of your Smart App. While FAQs handle simple question-answer interactions, Routes allow you to detect specific user intents and guide them to specialized flows that handle more complex scenarios.

For example, when a user says "I have problems with my router," a Route can match this to a "Support" intent and redirect them to a dedicated support flow where they can provide more details about their issue.

Benefits of Routes

Just like FAQs, Routes help declutter your canvas by moving complex branching logic out of the main flow. This simplifies maintenance and allows you to focus on the core structure of your application while managing specialized user journeys separately.

How to Use Routes

Routes can be maintained in the Routes page in the Content Section. Each Route connects a specific user intent with a destination flow. When the system detects that intent in user input, it automatically redirects to the corresponding flow.

By combining FAQs for simple answers and Routes for complex interactions, your Iterate nodes can efficiently handle a wide range of user needs while keeping your flow design clean and manageable.

Last updated

Was this helpful?