On this page

Your first WhatsApp chatbot flow can be as simple as a keyword and a reply: someone messages "price" and the flow answers instantly, day or night. This walkthrough builds exactly that, then shows how to test it on your own connected number before customers ever see it.
First flow: first 5 of 8 steps
- 1Open Flow Builder
- 2Name your flow and create it
- 3Set the trigger
- 4Add a Send Message node
- 5Add Quick Replies for a next step
Before you start
- Testing a flow requires a connected WhatsApp number; see connecting your WhatsApp number if you have not yet. You can still build and save a draft flow without one.
- Your account needs the "Create flows" permission, included in Owner and Admin by default.
- Decide your trigger keyword before starting; something a real customer would actually type, like "price", "hours" or "book", works better than something generic.
- Nothing about Flow Builder is plan-gated; it is available with no cap on flow count on every plan, including Free.
- Think about what happens after the first reply, too. A flow that only says one thing back can still be useful, but adding a Quick Replies node with two or three next steps (book now, see more, talk to a person) turns a single canned answer into a small, useful conversation instead of a dead end.
Steps
- Open Flow Builder. From the main navigation, click Flow Builder. If this is your first flow, you see an empty state explaining what a flow does, with a name field and New Flow button.

Name your flow and create it. Type a name (for example, "Price enquiry auto-reply") and click New Flow. You are taken straight into the canvas editor for your new draft flow.
Set the trigger. The trigger node starts as Keyword / Inbound Message. Click it and enter your keyword (for example, "price"). Leave it on Keyword rather than Any Inbound Message, so this flow only fires for that specific word.
Add a Send Message node. Drag Send Message from the node palette onto the canvas and connect it to the trigger node with an edge. Click the node and write the reply (for example, your pricing summary or a link to your price list).
(Optional) Add Quick Replies for a next step. Drag a Quick Replies node after your message with two or three buttons (for example, "Book now", "See more services"), so the conversation has somewhere to go instead of ending after one reply.
Activate the flow. Flip the flow's status from Draft to Active using the toggle on the Flow Builder list or inside the editor.
Test it on your own number. From your own phone, message your connected WhatsApp number with the exact trigger keyword. The Send Message reply should arrive within seconds, exactly as a real customer would experience it.
Refine it once you have seen it work. Open the flow again to tighten the wording, add a Condition node so a specific quick-reply choice leads somewhere different, or add a Human Handoff node so a customer can drop into your team inbox instead of staying in the automated conversation. Every change applies to executions that start after you save; a run already in progress finishes on the version it started with.
What you will see
Your flow appears in the Flow Builder list with an Active badge and a run counter that increases by one every time it fires. Sending the trigger keyword from your phone produces the reply you wrote, and if a customer's real message ever matches the keyword, the same flow answers them automatically, any time of day, including outside business hours when nobody on your team is watching the inbox.
Settings and options
| Setting or field | What it does | Default |
|---|---|---|
| Flow status | Draft, Active, Paused, or Archived; only Active flows respond to real messages | Draft when first created |
| Trigger type | Keyword, any inbound message, tag added, segment entry, form submitted, or an appointment event | Keyword / Inbound Message |
| Run counter | How many times the flow has executed, shown on the flow list | Starts at 0 |
| 24-hour window guard | Automatically checked before any free-form send inside the flow; template nodes are unaffected | Always on, not configurable |
| Version history | Whether past versions of the flow are saved | Not available yet; duplicate a flow before a risky edit |
Troubleshooting
| Symptom | Likely cause | Fix |
|---|---|---|
| Messaging the keyword produces no reply | The flow is still in Draft status, not Active | Toggle the flow to Active from the Flow Builder list or editor |
| Reply never arrives, but the flow shows as run | A later node's free-form send hit the closed 24-hour window and logged a failed message instead of sending | Open the conversation thread to see the logged reason; use a Send Template node for anything that might land outside the window |
| Two different replies come back for the same keyword | Two active flows share the same trigger keyword | Rename or disable one of the flows so only one owns that keyword |
| Flow does not trigger for a real customer | The customer's message did not exactly match the keyword, or included extra punctuation the trigger does not account for | Switch the trigger to Any Inbound Message for a broader catch, or add the keyword's common variations |
| Editing a live flow seems to have broken it | A change was saved without testing it again on your own number | Test every edit by messaging the trigger yourself before assuming customers see the update correctly |
| Cannot activate the flow | The connected WhatsApp channel is disconnected or the token has expired | Check Settings, then Channels, then WhatsApp for any connection warnings and reconnect if needed |
Related reading
Add a Send Template node once you have created your first template, or use flows alongside your first broadcast for a full follow-up sequence: broadcast out, flow answers the replies.