Cliqtel
  • Products
    Infrastructure
    Virtual NumbersLocal, mobile, toll-free in 70+ countries SIP TrunksCarrier-grade SIP for any PBX Travel data (eSIM)Mobile data in 200+ countries, no roaming
    Communications
    MessagingTwo-way SMS and WhatsApp templates Cloud Phone SystemVisual call flows, IVR, queues, CRM pop Contact CenterAdvanced routing & AI — early access
    Partners & AI
    Cliqtel ConnectWhite-label platform for MSPs AI Access (MCP)AI-operable telecom for agents & copilots
  • Solutions
    By team
    Remote TeamsOne business number for a distributed team Support TeamsQueues, IVR and shared inboxes for support Sales TeamsClick-to-call, CRM pop and local caller ID
    Explore
    CoverageNumbers and rates across 70+ countries IntegrationsConnect your PBX, CRM and tools
  • Pricing
    Pricing & plans
    PricingTransparent per-number and usage pricing Coverage & ratesPer-country calling and number rates BundlesPrepaid number + minute bundles
  • Docs
    Get started
    Getting StartedSet up your account and first number API ReferenceREST API for numbers, calls & messaging Call FlowsBuild IVRs and routing visually Help CenterFAQs, guides and troubleshooting
    Guides
    PBX & SIP SetupConnect 3CX, FreePBX, Asterisk & Teams Messaging GuidesSMS and WhatsApp integration guides RegulatoryNumber registration rules by country
  • About
    Company
    About CliqtelWho we are and what we build ContactTalk to our sales or support team PartnersBecome a Cliqtel partner or reseller
    Resources
    BlogProduct news and telecom guides StatusLive platform and network status IntegrationsMarketplace of PBX, CRM & tools
English EN Nederlands NL Deutsch DE Français FR Español ES Português PT العربية AR 中文 ZH 日本語 JA हिन्दी HI
Sign in Order a number
Cliqtel
Products Virtual NumbersLocal, mobile, toll-free in 70+ countries SIP TrunksCarrier-grade SIP for any PBX Travel data (eSIM)Mobile data in 200+ countries, no roaming MessagingTwo-way SMS and WhatsApp templates Cloud Phone SystemVisual call flows, IVR, queues, CRM pop Contact CenterAdvanced routing & AI — early access Cliqtel ConnectWhite-label platform for MSPs AI Access (MCP)AI-operable telecom for agents & copilots
Solutions Remote TeamsOne business number for a distributed team Support TeamsQueues, IVR and shared inboxes for support Sales TeamsClick-to-call, CRM pop and local caller ID CoverageNumbers and rates across 70+ countries IntegrationsConnect your PBX, CRM and tools
Pricing PricingTransparent per-number and usage pricing Coverage & ratesPer-country calling and number rates BundlesPrepaid number + minute bundles
Docs Getting StartedSet up your account and first number API ReferenceREST API for numbers, calls & messaging Call FlowsBuild IVRs and routing visually Help CenterFAQs, guides and troubleshooting PBX & SIP SetupConnect 3CX, FreePBX, Asterisk & Teams Messaging GuidesSMS and WhatsApp integration guides RegulatoryNumber registration rules by country
About About CliqtelWho we are and what we build ContactTalk to our sales or support team PartnersBecome a Cliqtel partner or reseller BlogProduct news and telecom guides StatusLive platform and network status IntegrationsMarketplace of PBX, CRM & tools

Language
EN NL DE FR ES PT AR ZH JA HI
Sign in Get started — free
← Help Center
On this page
Overview What You Can Build Prerequisites 1 — Create a Flow 2 — Add & Connect Nodes 3 — Use Variables 4 — Test the Flow 5 — Publish Node Reference Best Practices FAQ

Build a WhatsApp Bot with the Flow Builder

Messaging · 11 min read Messaging WhatsApp Automation No-code
What this guide covers: How to design, test, and publish an automated WhatsApp bot with Cliqtel's visual Flow Builder — no code required. You'll drag nodes onto a canvas, wire them together, capture replies into variables, simulate the conversation, and publish it live on your WhatsApp number.

Overview

The Flow Builder is a drag-and-drop canvas for building automated WhatsApp conversations. You place nodes (welcome messages, menus, buttons, conditions, handoffs) and connect them with connectors to define exactly what your bot does when a customer messages you.

Every flow reacts to inbound messages in real time. When a customer sends a message, the bot walks through your nodes step by step — showing menus, capturing answers, branching on the reply, and handing off to a human when needed.

The bot runtime is rule-based and deterministic — it follows the exact menu logic you draw. It is not an AI or LLM, so its behaviour is fully predictable and easy to test.

Where it lives: Open My Numbers → Messaging — WhatsApp, then switch to the Flows tab to create a new flow or open an existing one.

What You Can Build

The Flow Builder suits any structured, repeatable conversation. Common examples:

  • Support triage bot — a welcome message, a menu (Billing / Technical / Talk to an agent), and each option routed to an answer or a human handoff.
  • After-hours responder — a Business hours node that routes contacts to a live menu during opening hours and to an "we're closed" message otherwise.
  • Lead qualification — collect a name, company, and requirement into variables, then branch on the answers.
  • FAQ deflection — a menu of common questions, each wired to a pre-written answer, cutting the load on your team.
  • Booking / status flows — call an external system with an API node and reply with the result.
Not sure where to start? The support triage bot below is the most common first flow — we walk through it end to end in the steps that follow.

Prerequisites

  • A WhatsApp Business Account connected to Cliqtel (setup guide)
  • A WhatsApp number that can receive inbound messages
  • For handoff nodes, at least one agent or team that can pick up conversations
  • For Template nodes, an approved message template in your WABA (see campaigns guide)

Step 1 — Create a Flow

1Open the Flows tab and start a new flow

Go to My Numbers → Messaging — WhatsApp → Flows and create a new flow. You'll land on an empty canvas with a single node already in place: the "Message received" trigger.

Every flow starts from this trigger. It fires whenever a customer sends your number a message, and it's the entry point for everything that follows. Give your flow a clear name (for example, Support triage) so you can find it later.

Auto-wiring: The first time you drop a node onto an empty canvas, the Flow Builder automatically connects the "Message received" trigger to it — so your very first node is wired up for you.

Step 2 — Add & Connect Nodes

2Drag nodes from the palette and wire them together

The node palette runs down the left side of the canvas. Drag a node onto the canvas to add it, then click it to open its configuration panel. Let's build the support triage bot:

  • Message — a welcome greeting, e.g. "Hi! Thanks for contacting Cliqtel. How can we help?"
  • Menu (list) — three options: 1. Billing, 2. Technical, 3. Talk to an agent
  • Message nodes for the Billing and Technical answers
  • Handoff node for "Talk to an agent"
3Draw connectors between nodes

Menu and Buttons nodes expose one output per option — a small dot next to each option. Drag from an option's dot to the node you want that option to lead to. Each connector is labelled with the option it represents (or True/False for a Condition, Open/Closed for Business hours), so the branch logic is readable at a glance.

For the triage bot, wire:

  • Billing → the Billing Message node
  • Technical → the Technical Message node
  • Talk to an agent → the Handoff node

To only greet customers during opening hours, add a Business hours node right after the welcome message: wire its Open output to the menu, and its Closed output to a Message node that says you're closed and when you'll be back.

Reading the layout: The canvas lays nodes out left-to-right and numbers each menu-branch target, so it's always clear which node belongs to which option. Click Arrange to auto-tidy the whole layout when it gets messy.

Step 3 — Use Variables

4Capture and reuse data with variables

Variables let your bot remember what a customer told it and personalise later replies. Reference a variable anywhere text is allowed using the {{name}} syntax. Every node's config panel includes a variables picker so you don't have to type names by hand.

Variables come from three places:

  • Collect nodes — save the customer's next reply into a named variable (e.g. capture their name into {{customer_name}}).
  • Menu / Buttons selections — the chosen option is available to later nodes.
  • API responses — map fields from an external system's response into variables.
EXAMPLE — PERSONALISED FOLLOW-UP
Collect node  -> saves reply into  customer_name
Message node  -> "Thanks, {{customer_name}}! One moment while
                 I connect you to the right team."

You can chain these: collect a name and a company, branch on a menu choice, then send a Message that reads back everything the bot captured.

Step 4 — Test the Flow

5Simulate the conversation before going live

Open the built-in Test simulator to walk through your flow conversationally — exactly as a customer would experience it, but without publishing. Type replies, tap menu options, and watch the bot follow your connectors so you can confirm every branch behaves as intended.

Testing is the fastest way to catch a dead-end option, a menu branch wired to the wrong node, or a variable that never gets set.

Test every branch: Run the simulator once per menu option, and once each for the Open and Closed sides of any Business hours node, so nothing is left untested.

Step 5 — Publish

6Validate, then publish live

Before you publish, the Flow Builder runs a validation pass:

  • Errors — problems that block Publish, such as an unconnected node or a menu option with no destination. These must be fixed first.
  • Warnings — advisories that don't block Publish but are worth reviewing, such as an unused variable.

Use Save at any time to store your work as a draft — a draft is never live. When validation is clean, click Publish to make the flow active on your WhatsApp number. From that moment, inbound messages are handled by your bot.

Publishing is what goes live — not saving. Editing a published flow creates a working draft; your changes only reach customers when you Publish again. This means you can safely tweak a live bot and re-test before pushing the update.

Node Reference

Nodes available from the left palette:

NodeWhat it does
Message receivedThe trigger every flow starts from. Fires when a customer sends your number a message.
MessageSends a text message. Supports variables via {{name}}.
Menu (list)Presents a list of choices (up to 10 options). One output per option.
ButtonsPresents up to 3 quick-reply buttons. One output per button.
CollectWaits for the customer's reply and saves it into a variable.
ConditionBranches on data with a True and a False output.
Business hoursRoutes the conversation via Open or Closed outputs depending on the time.
TemplateSends an approved WhatsApp message template.
WaitPauses the flow for a set time, then continues.
API / WebhookCalls an external system and can map its response into variables.
HandoffHands the conversation to a human agent.
EndEnds the flow.
Branching nodes at a glance: Menu and Buttons produce one connector per option; Condition produces True/False; Business hours produces Open/Closed. Every other node has a single output.

Best Practices

  • Open with a clear welcome — tell the customer who they've reached and what to do next.
  • Keep menus short — even though a list allows up to 10 options, 3–5 is easier to scan. Use Buttons (max 3) for the most common choices.
  • Always offer a human — include a "Talk to an agent" option wired to a Handoff node so customers are never trapped.
  • Handle after-hours — use a Business hours node so closed-time contacts get an honest "we're closed" reply instead of silence.
  • Name variables clearly — {{customer_name}} beats {{v1}} when you revisit the flow months later.
  • Avoid dead ends — make sure every branch leads somewhere; the validation pass flags unconnected nodes.
  • Test, then publish — walk every branch in the simulator before you Publish, and again after any edit.
  • Use Arrange — tidy the layout regularly so the flow stays readable as it grows.

FAQ

Does the bot use AI?

No. The Flow Builder runtime is rule-based and deterministic — it follows the exact menu and branch logic you draw on the canvas. It doesn't use an AI or LLM to interpret free-form messages, which makes its behaviour fully predictable and easy to test.

Can I edit a flow that's already live?

Yes. Editing a published flow creates a working draft, so your live bot keeps running unchanged while you make and test edits. Your changes only reach customers when you Publish again — so you can safely refine and re-simulate before pushing an update.

What happens after business hours?

Add a Business hours node to control this. During opening hours the conversation follows the Open output (for example, to your menu); outside them it follows the Closed output, where you can send a message explaining you're closed and when you'll be back. Without a Business hours node, the flow behaves the same at all times.

How do I hand off to a human?

Wire the relevant option — typically a "Talk to an agent" menu choice — to a Handoff node. When a customer reaches it, the conversation is passed to a human agent to continue. It's good practice to include a handoff path in every flow.

Does saving a flow make it live?

No. Save stores a draft only. A flow goes live on your WhatsApp number when you Publish it — and Publish is only available once the validation pass reports no errors.

Ready to build your first bot?

Open the Flows tab under Messaging — WhatsApp, or explore rich messages and campaigns to make your flows more engaging.

Rich Messages →
© 2026 Cliqtel · cliqtel.com
About Blog Partners Coverage API Docs Status Privacy Terms Cookies Help Search
cliqtel.com is operated by Cliqtel B.V., registered in Zeist, the Netherlands · KVK 42033793 · VAT NL869402468B01 · SBI 62.09

We use essential cookies to make Cliqtel work. With your consent, we also use analytics cookies to improve our service. Cookie Policy