🤖 Automations & Chatbots

How to build your first WhatsApp automation, step by step

One complete flow, from empty canvas to live, with the two mistakes that catch almost everyone.

An automation flow is built by placing a trigger on the canvas, then chaining steps onto it until every path ends somewhere sensible. This page builds one real flow — a welcome message with a three-button menu — from nothing, naming every screen you click.

The flow we are building greets anyone messaging your shop for the first time and offers three choices: track an order, ask about a product, or talk to a person. It is a good first automation because it needs no approved template — the customer messaged you, so the conversation window is already open — which means you can have it live today rather than waiting on Meta's review queue.

Before you start

You need a connected WhatsApp number and admin access. You do not need a template, a Shopify connection, or a knowledge base. If you want the finished version rather than the walkthrough, install it in one click and read along:

The finished flow, ready to install

Welcome message plus a three-button menu, with a path to a human on every branch.

Add this automation to my account It installs as a draft. Nothing is switched on and no customer is messaged until you press Publish.

Step 1 — Open the builder

  1. Go to Automations in the main menu.
  2. Click New Automation. You get a canvas with a single trigger step already on it.
  3. Give it a name at the top — "Welcome and menu" will do. Name it now; an automations list full of "Untitled Automation" is its own kind of problem.

Step 2 — Set the trigger

Click the trigger step. It defaults to Customer Message Received, which is what we want, and lets you pick the channel — WhatsApp, Instagram or Messenger. Leave it on WhatsApp for now.

Exactly one trigger is allowed per automation, and it is always the first step. If you find yourself wanting two different starting conditions, that is two automations.

Step 3 — Only greet people once

Add an If First Message step under the trigger. Without it, your welcome message fires on every message the customer ever sends, which is the single most common beginner mistake and reads as broken to the customer.

Mistake one of two. A greeting that repeats is worse than no greeting. If you take nothing else from this page: any flow that starts on "customer messages you" needs either an If First Message step or a Pause Before Repeating step, or it will nag.

Step 4 — Say hello

Add a Send WhatsApp Message step. Leave it on the manual / free-text option and type your greeting. Because the customer just messaged you, the 24-hour window is open and free text is allowed — no template, no approval, no per-message charge.

Keep it to two lines. This message is a doorway, not a brochure.

Step 5 — Offer the menu

Add an Ask Customer a Question step. Set the reply type to buttons and add three options:

WhatsApp allows a maximum of three buttons on an interactive message. If you need more choices, switch the reply type to list, which presents a scrollable menu instead. Use buttons where you can — they are one tap, and taps are what open the conversation window.

Each option you add gives the step its own outgoing branch on the canvas. That is the whole branching model: one exit per answer.

Step 6 — Build the three paths

Click the small connector under the "Track my order" branch and add a Send WhatsApp Message asking for the order number. Repeat for the other two branches with appropriate replies.

On the "Talk to a person" branch, add an Assign Chat step and pick the team that should pick it up. If you have not set up teams yet, do it under Settings → Teams — a chat assigned to nobody is a chat nobody notices.

What you have built

TriggerCustomer messages you
ConditionOnly their first message
Send"Hi! Thanks for messaging us."
Ask"What would you like to do?"
Track my order
Ask for the order number
Ask about a product
Ask which product
Talk to a person
Say a human is coming
Assign the chat

Step 7 — Test it before anyone else sees it

Use Simulate in the builder to walk the flow as if you were the customer, tapping the buttons and reading what comes back. It runs the real logic without sending a real message.

Then message your own shop number from your personal phone. The simulator catches logic mistakes; only a real message catches the ones where the copy sounds wrong on a phone screen. More on this in testing an automation safely.

Step 8 — Publish

Press Publish. Until you do, the flow is a draft and does nothing — which is deliberate, and why installing a ready-made blueprint is safe.

What "publish" actually changes

Publishing does three things at once, and knowing them prevents a class of confusion later.

StateDoes it run?What you can do
Draft, never publishedNoEdit freely. Nothing reaches a customer.
Published and enabledYes, on every matchEdits become unpublished changes until you publish again
Published, then switched offNoThe flow is kept, just dormant

Two consequences. First, editing a live automation does not take effect until you publish again — so a fix you made at lunchtime is not protecting you at dinnertime unless you pressed the button. Second, a flow that sends a template you have not selected yet cannot be published at all; the publish is blocked with an explanation rather than going live and failing silently on real customers.

The second mistake almost everyone makes

Your bot asked a question. A customer takes ten minutes to answer. Meanwhile one of your team, seeing the chat, replies manually. The customer then types something — and it gets captured as the answer to the bot's question rather than reaching your colleague.

The fix is a separate, two-step automation: trigger on Agent Sends Message, then Cancel Pending Question. It sends nothing and needs no configuration.

Fix it in one click

Two steps, nothing to configure. Cancels any question the bot is waiting on the moment a human replies.

Add this automation to my account It installs as a draft. Nothing is switched on and no customer is messaged until you press Publish.

Why this flow costs nothing to run

Every message in the flow above is free, and it is worth understanding why, because it is the difference between an automation that pays for itself and one that shows up on an invoice.

Meta charges per delivered template message. Messages sent inside an open customer service window are not templates and are not charged — Meta's pricing documentation confirms service conversations have been free and unlimited since 1 November 2024. Our flow only ever runs because a customer messaged us, which means the window is open by definition for every step in it.

The window itself is documented on Meta's sending messages page: it opens when a user messages or calls you, and resets to a fresh 24 hours each time they do. A customer tapping one of your three buttons resets it again.

Three things to check before you publish anything

  1. Does every branch end somewhere? A button with nothing wired to it leaves the customer staring at a chat that went quiet. Walk each path in the simulator.
  2. Is there a way to reach a human? If a customer cannot get to a person within two taps, the flow will generate complaints rather than absorb them.
  3. Would you send this to your own phone? Read the copy on a phone screen, not a monitor. Messages that look brief in the builder read as walls of text on WhatsApp.

What to build next

If you want to…Read
Reply differently outside opening hoursAfter-hours automation
Catch specific words like "refund" or "wholesale"Keyword triggers that actually match
Remember what a customer told youSaving answers to contact fields
Answer product questions from your websiteAI answers from your own website
Start a flow from a Shopify orderWhatsApp automation for Shopify

One closing note on cost. Everything in the flow above is free to run, because every message it sends happens inside an open conversation window. The moment you build a flow that starts from a store event instead of a customer message, you are sending to a cold chat, which needs an approved template and is charged. That distinction is the whole of the 24-hour window, and it is worth understanding before your second automation rather than after your first invoice.

Frequently asked questions

Do I need an approved template for my first automation?

Not if the flow starts because the customer messaged you. That opens the 24-hour window, in which free text is allowed and free. Templates are only needed for flows that start from a store event or your own system.

How many buttons can a WhatsApp question have?

Three. For more choices, switch the reply type to list, which shows a scrollable menu instead.

Why does my welcome message keep repeating?

The flow is missing an If First Message step, so it fires on every message the customer sends rather than only their first.

Does a draft automation send anything?

No. A flow does nothing until you press Publish, which is why installing a ready-made blueprint is safe.