🧩Workflow Builder (deep dive)
The Workflow Builder is where you design a bot’s conversation flow. You drag nodes (blocks) onto a canvas, connect them with edges (lines), and configure each node in the right sidebar. This page describes the main node types and how to use them. For step-by-step configuration of every node (all fields and options), see Configure each bot node. For creating your first bot, see Create your first bot.
Main areas
Canvas (center) — The white/dark area where you place and connect nodes. You can zoom and pan (e.g. scroll to zoom, drag background to pan). Use the mini-map (if present) to navigate large flows.
Left sidebar — Component list grouped by category (Triggers, Logic & Flow, Actions, Code & Integrations, Human Handoff, AI & Knowledge). Search (e.g. "Search components…") to find a node by name. Drag a component onto the canvas to add it.
Right sidebar — Opens when you click a node. Shows that node’s name, description (optional), and configuration (message text, options, conditions, etc.). Save is usually in the top bar; changes apply when you save the flow.
Top bar — Bot name, Save button, status (Active/Inactive), and sometimes Test or Preview (e.g. open a small Web Chat to try the flow).
Triggers
Start Trigger
Entry point when a new conversation begins.
Every flow has one. Connect your first message or step to it.
Webhook Trigger
Starts when an external system calls a webhook URL.
Integrations with CRM, order systems, calendar; triggered by external events.
Logic & flow
Condition (If/Else)
Branches the flow based on a condition (e.g. "if variable X equals Y").
Route by user answer, budget, or custom field; different paths for new vs returning users.
Time Delay
Waits a set duration (seconds, minutes, hours) before continuing.
Typing delay, follow-up after 2 hours, next-day reminder.
Loop
Jumps to another node (back or forward) by ID.
Return to main menu, retry on invalid input, go back to options.
Break
Ends the flow. Optional end message.
After "Thank you, goodbye"; when flow is done or user asked to end.
Switch Bots
Transfers the conversation to another bot.
Hand off to Sales bot, Support bot, or language-specific bot.
Actions (sending content)
Send Message
Sends text (and optionally images/files) to the user. Supports variables (e.g. {{contact.firstName}}).
Greetings, info, confirmations, links. Type {{ in the message to insert variables.
Send Voice Message
Sends an audio/voice message (URL + optional transcription).
Personal touch, accessibility, complex explanations.
Send Email
Sends an email outside the chat.
Confirmations, receipts, long content.
Send SMS
Sends an SMS to the user’s phone.
Reminders, codes, urgent notifications.
Options Menu
Presents clickable options (buttons). Each option connects to a different next node.
Main menu (Sales/Support/Billing), Yes/No, multiple choice.
Code & integrations
HTTP Request
Calls an external API (GET, POST, etc.). You set URL, headers, body. Can use variables in URL and body.
Fetch customer from CRM, check inventory, submit lead, trigger external workflow.
JavaScript
Runs custom JavaScript for calculations, formatting, or validation.
Complex logic, date/time, string handling.
Set Variable
Saves a value into a variable for use later (e.g. in conditions or messages).
Store user’s choice, counter, or computed value.
Human handoff
Transfer to Agent
Hands the conversation to a human agent in the Inbox.
User asked for human, complex issue, high-value customer, escalation.
Configure a handoff message (e.g. "Connecting you with a team member…"), optional priority (low/medium/high/urgent), and optional department (sales, support, billing). The conversation then appears in the Inbox for an agent to pick up.
AI & knowledge
Knowledge Base
Searches uploaded docs/FAQ for an answer.
Product questions, FAQs, policies, how-to.
AI Response
Uses an AI agent to generate a reply.
Open-ended questions, personalized answers, when a fixed script isn’t enough.
MCP Tool
Calls an external tool (e.g. Calendar, CRM) via MCP.
Create calendar event, look up contact in HubSpot, check availability.
These may require your account to have the right plan or feature enabled.
Variables in messages
In Message (and some other) nodes, you can use variables so the bot says something personal or dynamic:
Contact — e.g.
{{contact.firstName}},{{contact.lastName}},{{contact.email}},{{contact.phone}}. Use the exact names your app supports (check the variable picker or docs).Custom fields — e.g.
{{customFields.order_id}}if you’ve stored that in the conversation or contact.Other — Your app may support more (e.g.
{{conversation.id}}). In the builder, typing{{often opens an autocomplete list of available variables.
Variables are replaced at runtime with the actual value (or empty if not set).
Connecting nodes
Drag from a node’s handle (small circle or dot on the edge) to another node’s handle to create a connection (edge). The flow runs in the direction of the arrow.
Options node — Usually has one handle per option. Connect each option’s handle to the node that should run when the user picks that option (e.g. Option "Sales" → Message "Here’s our sales team…").
Condition node — Has two (or more) outputs (e.g. "Yes" / "No" or "True" / "False"). Connect each output to the right next step.
Testing your flow
Preview / Test — Use the Test or Preview button (e.g. opens a small Web Chat). Send messages and click options as a user would. Check that the right messages appear and the flow doesn’t get stuck.
Real channel — After saving, start a real conversation on a connected channel and walk through the flow. That’s the best way to confirm behavior on WhatsApp, Web Chat, etc.
Best practices
One Start — Every flow should have exactly one Start (or Webhook) trigger as the entry point.
Clear names — Give nodes short, clear names (e.g. "Welcome message", "Sales option") so the flow is easy to read.
End with Break — Use a Break (or End) node so the flow has a clear end; optionally set an end message.
Avoid dead ends — Make sure every path either reaches a Break, Transfer to Agent, or Switch Bots, or loops back. Paths that don’t lead anywhere can leave the conversation stuck.
Save often — Save after making changes so you don’t lose work.
For a quick reference of node types when creating your first bot, see Create your first bot.
Last updated
Was this helpful?
