WhatsApp Bot Builder
Overview
Section titled “Overview”The Bot Builder is a visual, no-code editor for creating WhatsApp chatbots. Design conversation flows by connecting blocks — no programming required.
Creating a Chatbot Flow
Section titled “Creating a Chatbot Flow”-
Click the WhatsApp tab, then select Bot Builder from the dropdown.
Open the Bot Builder
Section titled “Open the Bot Builder” -
In the Flows section, click Create New.
Create a New Flow
Section titled “Create a New Flow” -
Enter a Flow Name, choose either an Empty Template or a Pre-existing Template, and click Create.
Name and Choose a Template
Section titled “Name and Choose a Template” -
Click the flow name to open the Flow Editor. Click Add New Block to add a block, click the block to open the Block Editor and define it, then connect blocks with connectors and click Save.
Design the Flow
Section titled “Design the Flow”
Chatbot Flows
Section titled “Chatbot Flows”A chatbot flow is a visual diagram of how your bot handles conversations. Each flow starts with a trigger and branches into different paths based on customer responses.
Block Types
Section titled “Block Types”Sends a message to the user. The flow automatically continues to the next block without waiting for a response. Supported formats:
- Text Only — A plain text message.
- Image + Text — An image along with text.
- Image + Text + Buttons — An image with text and clickable buttons.
- Message with List of Options — A message with selectable list options.
- Video + Text — A video along with text.
- Audio — An audio file.
- Document + Message — A document with an accompanying message.
- Text + URL Button — A text message with a button that redirects to a URL.
- Location — A location using latitude and longitude.
Asks a question and collects input. The flow continues only after the user provides a valid response. Supported formats:
- Buttons — Image and text with selectable buttons; continues after a button is selected.
- List of Options — Text with selectable list options; continues after an option is selected.
- Name — Asks for the customer’s name only if not already available, saved to the name variable.
- Email — Asks for the email only if not already available, saved to the email variable.
- Date — Captures a date value to a user-defined variable.
- Text / Number / Image / Document / Location / Audio — Accepts the response and saves it to a variable, with configurable handling for invalid inputs.
- Connect to Flow — Redirects the conversation from the current flow to another chatbot flow.
- Update Contact — Updates contact attributes during the conversation: Status, Tag, Set Event (attach a date to an event-status via Unix timestamp or a captured variable), Assignment Type, Group, and Custom Fields.
- Remove Tag — Removes an existing tag from the contact.
- Add to Segment / Remove from Segment — Add or remove the contact from a segment.
- Send Catalog — Sends product or service catalogs in the WhatsApp conversation. Type can be Catalog (complete catalog), Multi-Product, Single Product, or Send a Set (predefined product set), with an optional Message and Footer.
- WhatsApp Flow (Form) — Sends an interactive form to collect structured inputs. Configure Heading, Message, Footer, Button Title, the Select WhatsApp Flow, and On Flow Submit behaviour (Update Contact, Save to Session, Save Form Data, or Custom handling with an initial JSON payload, custom function name, and initial screen).
- List Orders — Displays a list of all previous orders placed by the contact.
- Delay — Specifies a delay before triggering the next block in the flow.
- Condition — Controls how the flow proceeds. Condition types: Status, Group, Tag, Source, Assignee, Custom Field, and Session Variable. Combine multiple with AND (all must match) or OR (any must match); branch using True / False connectors.
- HTTP Request — Triggers an HTTP request to an external system. Configure Method, URL, Headers, Body Type (Raw Body or Form Data), Content Type, and optionally Save Values from Response to Session (add a JSON path and a variable name to store extracted values).
- Start Live Chat — Hands the conversation over from the chatbot to a human agent. A message appears under the contact name in the Chats tab indicating the customer requested a live chat.
- The Conversion API — Pushes conversion events to Meta for WhatsApp Click-to-Message ads. Works only for contacts who came through WhatsApp Click ads.
Block Attributes
Section titled “Block Attributes”Every block shares common attributes that control how blocks are connected, triggered, and managed:
- Connectors — Link blocks together. The Green Connector (left side) connects an incoming block; the Black Connector (right side) connects an outgoing block.
- Utterances — Keywords or phrases (represented by the message block icon) that directly trigger a block when a user sends a matching message.
- Block Options (three dots) — Click the three dots on a block to:
- Set Starting Point — Mark the block as the starting block of the flow.
- Set Fallback Point — Define the block triggered when the user provides invalid, unexpected, or unrecognized input.
- Clone Block — Create a duplicate copy of the block.
- Delete Block — Permanently remove the block from the flow.
Using Variables in Flows
Section titled “Using Variables in Flows”To use any saved value (a name, phone number, or any user input) in your chatbot messages or blocks, place it inside double curly braces.
Contact Data
Section titled “Contact Data”Basic contact details can be used anywhere in the flow:
| Variable | Inserts |
|---|---|
{{$name}} | The contact’s name |
{{$phoneNumber}} | The contact’s phone number |
{{$email}} | The contact’s email address |
Session Variables
Section titled “Session Variables”When you capture input using a Question block or a WhatsApp Form, the value is saved as a session variable. To reuse it anywhere in the flow, write the variable name inside double curly braces:
- Format —
{{variableName}} - Functions — Format session-variable values when required:
{{formatToDate(variableName)}}{{formatToDateTime(variableName)}}
Flow Settings
Section titled “Flow Settings”Click the three dots next to the flow name to access:
- Change Title — Rename the chatbot flow.
- Set as Initial Flow — Set this flow as the default starting flow for chatbot conversations.
- Duplicate — Create a copy of the existing flow.
- Delete — Delete the flow permanently.
Connect a WhatsApp Number
Section titled “Connect a WhatsApp Number”You can start the connection from WhatsApp → Bot Builder under WhatsApp Connection. For the full Facebook login flow, display-name vs. existing-number options, and migration, see Connect WhatsApp Number.
Best Practices
Section titled “Best Practices”- Keep flows simple — Break complex bots into multiple smaller flows
- Use quick replies — Buttons and lists are easier for customers than typing
- Test thoroughly — Test every path in your flow before publishing
- Monitor and iterate — Review conversation logs to find drop-off points and improve