Flow Control Widgets

Collect Input

You can use Variables to capture information from your end-users inside specified Variables. Once it is stored, you can easily use it inside chatbot Flow, or inside any other widget.

When collecting input from the end-user, first you define a message that is going to be sent and then collect User Input and save it into a Variable.

For input validation we have:

  • text, which will accept any input from end-user
  • name
  • email
  • image
  • file
  • audio
  • video
  • attachment, in case you are expecting any type of rich media
  • custom, which will allow you to define regex pattern

When choosing a text or name, we will only accept text input and all others will be considered as failed (error) input. You can define Retry attempts and Error messages. If the end-user exceeds the number of attempts, they will continue to the FAILURE path. While using the name as a type of variable you can define a Success message or a Failure message.

When choosing email, you can define Error message and Error attempts (from 1-5). After the user entered the wrong input for a defined number of attempts, the FAILURE path will be executed.

When choosing custom, you can define the regex pattern, Failure message, and the number of attempts. After the user entered the wrong input for a defined number of attempts it will follow the FAILURE path.

When choosing image, file, audio, video and attachment, you can define Error message and Error attempts (from 1-5). After the user entered the wrong input for a defined number of attempts, the bot will continue the Flow and the variable will have a null value.

Error message will be executed in case input is not matching specific validation and can help users to guide them for a specific action, and it allows you to set how many times a user can provide a response that is not recognized.

Collect input widget

We added support to handle failure cases when it comes to Collect Input widget. We added SUCCESS and FAILURE ports, where the FAILURE port will be executed if Retry attempts are exceeded.

For the text and name types of variables, we don’t show the FAILURE port, as we are not doing any validation. If Collect Input is executed correctly it will follow the SUCCESS path.

If you see that your clients are exceeding the Retry attempts you set in the widget, you can define Human Handover in the Failure port, so your end-users don’t get frustrated and Agent can help them to continue their journey.



If the variable is already collected inside the Chatbot flow, either through direct end-user input or by integration with an external system, you can now decide if you would like to ask the end-user again about that particular information (for example email) or just skip that Collect input and continue the conversation.


Collect input



If you already have an active chatbot, from 19th September, the SUCCESS path is connected with the next defined widget in the Flow, and the FAILURE port will be empty.


Options allow the conversation flow to be branched into various paths based on user input.

It works in a way that the end-user has to provide a specific keyword to be able to continue with the Flow journey.

To add a new Option, just click on the button Option, and the value and text field will be added automatically.

You can add up to 9 Options and specify a text message before. You can define Error message, save input in Variable, and define Hot keywords.

The Chatbot should have a Flow journey set in a way that always knows how to handle unrecognized inputs from customers. For this, you will use an Error message and define a repeated error count, which will help your end-users to enter the proper input.

Hot keywords can be a helpful option in case you want your user to return to a specific point in Flow at any time so once it is sent bot will invoke this specific option.

A list of the options as a keyword list is automatically generated with keywords such as 1,2,3 etc or phrases defined in the text box.

Options widget


Branch gives the ability to create multiple branches based on certain conditions, which have their own flows. This will allow your chatbot to proceed with different sub-flows based on the conditions and branching options you will set.

You can add up to 10 branches and 5 conditions under one branch.

Under the branch option, you can specify if ANY or ALL conditions should be met in order to proceed with the Flow.

Operators are equals and not equals.

Choose which variable you would like to compare, and then select the operator which is defined and assign values to be matched.

The Branch option will also help you if none of the conditions are met by having a Default Branch that will be invoked.

Branch widget

Delay widget

The Delay widget gives you the flexibility to offer more conversational structure to your flow, you can add a delay between messages for 1s, 2s, 5s, and 10s.

During the delay, if the end-user is sending any messages, they will be discarded.


Delay widget


It is recommended to use the Delay between longer messages and when sending files, as WhatsApp is not processing those messages in the way being sent.

Hot keywords

Hot Keywords are keywords that can be defined to trigger a specific action accordingly. Upon creating the Chatbot flow, hot keywords can be defined as a triggered starting point to facilitate starting the flow from the beginning upon receiving this keyword in the bot.
You can use it in the widget Options and Bot is triggered starting point.

Hot keywords can be used to:

Restart Conversations: While creating the Chatbot flow, a Hot Keyword like Cancel or Stop will restart the conversation. It will restart the flow based on the input and route the conversation.

In case the Hot Keywords are being defined after the Bot is triggered, you may use the Branch and System Variable lastTextMessageReceived, and assign it a value that is defined. Then create a path based on the end-user's input.


Hot keywords

Chat transcript

This widget will provide the URL for the chat transcript that is valid for 90 days and no matter where it is placed in the Chatbot, this widget will cover the entire chat transcript.

The variable type for the chatbot is URL, and you can save it inside the variable itself. This variable can be shared by an external system, in case you require a 360 view of your customers.

Also, the URL for the chat transcript is password protected, where the password will be masked once provided inside the widget. Every time the URL is opened, a password window will be prompted.

Password requirements:

  • Has 1 Upper case letter
  • Has 1 Lower case letter
  • 1 number (0-9)
  • 1 special character (e.g. !@#$%^)
  • Do not include spaces
  • Has a minimum of 6 characters and a maximum of 20 characters
Chat transcript widget

End widget

The End widget will automatically close the session once the end-user reached this point in the Flow. Any new session sent from the end-user will initiate a new session and trigger the chatbot flow from the beginning.

After this widget session is closed, variables collected during the session will be lost, as this end-user will start Flow from start.

After the End widget, no other widget is allowed, as we are closing the session.


End widget

CSAT widget

After you created a Survey (for detailed steps check How to build a survey ) you can easily just use it inside the Chatbot Flow, by choosing CSAT survey widget and select from the dropdown menu Survey you want to use.

Also, you can save input from the user in a variable and reference it later in Flow, if needed.

If the end-user is exceeding their retry attempts, then the FAILURE port will be executed.


CSAT survey widget

Subflow Handover widget

When you want to connect different Subflows as part of your Flow, you will use Subflow Handover from the widget list. The Subflow Handover widget will get you a list of all created Subflows on the left panel by name.
You can start typing in the Search panel and find Subflow based on a name.

Note that you cannot add any other widget after Subflow Handover.


Subflow Handover