Bot Designer
The Bot Designer allows you to build custom flows to handle interactions automatically, reducing wait times and improving the customer experience.
First, what is the Bot Designer?
It’s a tool that lets you design and configure custom Bots to automate responses, route interactions, and execute actions based on your business needs. Its use enables faster, more consistent, and more efficient service.
How does the Bot Designer work?
If you’re already familiar with the Workflow Designer, it works in the same way. If not, you can access the following guide to learn how to use it.
Activities
Just like the Workflow Designer, the Bot Designer uses activities to build custom logic. To learn more about these activities, you can visit the following guide.
About licenses
You can create as many Bots as you need. However, to activate them, you must have available licenses. Each active Bot consumes one license, and you can have as many Bots running as the number of Bot licenses you have purchased. Bot Functions do not consume a license.
Global variables
Within a Bot, you can use different variables that allow you to access useful information about the interaction and its source channel. These variables can be used to personalize responses, execute conditions, or feed other actions within the flow.
Available in all channels
VARIABLES: An object containing variables specific to the interaction. These remain active while the interaction is open and can be accessed from any Bot or form linked to that interaction.
CHANNEL: The channel through which the customer contacts you.
CAMPAIGN: Campaign associated with the interaction.
GUID: Unique identifier of the interaction.
CLIENT_ID: Customer identifier.
- SMS/WhatsApp: Customer’s phone number.
- WebChat: Email entered in the WebChat form.
- Messenger: —
WebChat
- PHONE_NUMBER: Phone number entered by the customer.
- CLIENT_NAME: Customer’s name.
- INITIAL_MESSAGE: First message sent by the customer.
SMS/WhatsApp
- SMS_PROVIDER_TYPE: Provider through which the message was received.
- INITIAL_MESSAGE: First message in the conversation.
SMS
- WHATSAPP_PAYLOAD (only available with Gupshup): Content of the payload field sent by Gupshup to uContact. This variable updates at the beginning of a new interaction or during the ReadMessage activity. If another provider is used, the value will be an empty string
"".
Messenger
- CLIENT_NAME: Customer name on Facebook.
- PAGE_NAME: Page name through which the message was received.
- INITIAL_MESSAGE: First message in the conversation.
Email
- EMAIL_SUBJECT: Subject of the received email.
- EMAIL_BODY: Body of the received email.
How to use variables
To use these variables in your Bots, you must follow a specific format:
${VARIABLE_NAME}For example, if we want to greet the customer by name, we use the variable CLIENT_NAME.
Welcome ${CLIENT_NAME}!Practical example: Welcome Bot with options
This flow is triggered when a customer starts a new interaction through any channel (e.g., WhatsApp, WebChat, etc.).
What is the goal?
When customers reach out through WebChat via the AtencionWeb campaign, they will be greeted and offered three options to choose from depending on their query.
Let’s see how to do it!
In the Admin Menu, click Automations and then go to the Bots tab.
Once there, click the New button in the upper-right corner.
Let’s name the Bot WelcomeClients.
The first activity that appears by default and should not be modified is Bot.
Now, let’s add two Send message activities. On the left panel, find the Send message activity and drag it into the canvas twice.
Send message: to send the welcome message.
- Message:
Hi ${CLIENT_NAME}! 👋 Welcome to uContact. - In this case, we’re using a variable to make the message more personalized.
- Remember to connect the Bot node to the Send message node.
- Message:
Send message: to send the menu options.
- Message:
How can we help you today? Please choose an option: 1️⃣ Talk to an agent. 2️⃣ Check my order status. 3️⃣ Visit our website. - Remember to connect the Bot node to the Send message node.
- Message:
After configuring those two activities, you should have a flow similar to the following:
As you make changes, you can click the Save button to keep your modifications.

- Now, we need to store the option entered by the customer. To do this, we’ll use the Read message activity.
- Read message: - Variable:
option. You can name it however you like; this will be the variable we use later to validate the customer’s message.
- Now that we’ve stored the customer’s response in the
optionvariable, we need to evaluate which of the three options they selected to take the appropriate action.
For that, we’ll use three Evaluate activities connected one after another:
First Evaluate
Condition:
option == "1"True (blue path): Add a Transfer activity and connect it to, for example, agent
1020.False (red path): Connect it to the next Evaluate.
Second Evaluate
Condition:
option == "2"True (blue path): Add another Transfer and route it to a campaign called
OrderInquiriesWeb.False (red path): Connect it to the next Evaluate.
Third Evaluate
Condition:
option == "3"True (blue path): Add a Send message activity that says, for example:
You can visit our website at: www.net2phone.com/ucontact.False (red path): Add a Send message activity that says:
Invalid option.and then connect it to the Send message activity that sent the menu options to the customer.
Now you should have a flow similar to the image below:
- Now that we have our Bot configured, we reach the final step. Click the Production button — this will apply all changes and make the Bot ready to use.
And that’s it! The Bot has been successfully created — what’s next?
Now that you have your Bot, activate it by clicking the three dots and selecting Activate.
Once activated, you need to assign it to a channel within a campaign — for example, a Bot triggered when the WebChat channel starts in the CustomerService campaign.
Done! From now on, every time a customer reaches out, they will be automatically assisted by the Bot.
