Iterate: Iterate

To ask the user recurrently for their intent

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

In the following example, if the user answers "Choice A" to the question "What can I do for you?", the Smart App will resolve "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 the Smart App can perform.

Every time the user returns to the Iterate node, the question will be asked 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 or 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 node.

How to use?

  1. Create a new node on your canvas of type "Iterate" by right clicking your canvas and select Iterate: iterate

  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 after the first iteration

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

  5. Optionally add FAQs in the Iterate side panel (see below)

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 a Smart App, resulting in a "tree" with a lot of "branches". These branches are often simply Say nodes that provide an answer to a question (frequently asked questions, or FAQs in short). It is not uncommon that these FAQs take up a large part of the visual space of your flow, cluttering the canvas and making 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 FAQs. These FAQs 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 no longer visible 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. FAQs can be found in the content section:

FAQs

After defining the FAQs in the content section, you need to link the ones 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 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?