Flow Builder
Design a bot's conversation visually, without code
The Flow Builder is a visual canvas for designing exactly what your bot says and does. A Flow is a set of cards connected by lines; the bot follows the lines based on what the visitor says or does.
Cards
Common cards you'll use:
- Send Message: the bot says something. Supports plain text, images, buttons, and quick replies (what's available depends on the channel).
- Ask: the bot asks a question and saves the visitor's answer into a variable you can use later in the flow.
- Choice: presents a fixed set of options and branches the flow based on which one the visitor picks.
- Condition: branches based on a variable's value, without asking the visitor anything.
- Call API: calls an external API (using an API Connection you've configured) and saves the response into variables.
- Agent: hands a single turn (or the rest of the conversation) to an AI Agent. See AI Agents.
- Handoff: ends the bot's part of the conversation and routes it to your team in the Inbox.
- Jump / Call flow: jumps to another point in the same flow, or calls a separate flow like a subroutine.
- WhatsApp-specific cards like Send Form, Request Location, and Send Product are also available when the bot's channel supports them.
Variables
Anything a visitor answers, or a Call API card returns, can be saved as a variable. Reference a variable anywhere later in the flow by typing {{variableName}} in a message, and it's replaced with the real value when the flow runs.
Testing a flow
Use the Test panel (or Agent Preview for an AI Agent) to have a real back-and-forth conversation with your flow before it goes live. This is the fastest way to catch a card that's wired to the wrong place, or a message that reads differently once you actually see it as a reply.
Multiple flows
A bot can have more than one flow. One is marked as its default, the one that runs when a new conversation starts. Others can be triggered with a Jump or Call flow card, useful for splitting a large conversation into reusable pieces (for example, a shared "collect contact details" flow called from several places).
Publishing changes
Editing a flow changes what your bot does live, the moment you save. There's no separate "publish" step, so it's worth testing a change in the Test panel before saving it if the bot is already answering real conversations.