Features
Bots and auto-replies
Automatic answers to keywords, button taps and first contact.
There are two automation surfaces, and picking the right one saves a lot of work.
- Auto Replies
- One keyword in, one message out. No memory, no branching. Use it for “hours”, “address”, “price list”, the questions with a fixed answer.
- Bot flows
- A multi-step conversation with branching, API calls, tagging and handover to a person. Use it when the answer depends on what the customer says next.
What has to be true first
- A linked, registered WhatsApp number, automation replies are outbound sends and fail like any other on an unregistered number.
- An inbound message from the customer. Both surfaces only run in response to something the customer sent, which means the 24-hour window is open by definition at the moment they reply.
- For a rule or step that sends a template, that template must be approved by Meta. Text, media and interactive responses need no approval because they are free-form.
Auto Replies
A rule is a keyword, a match type, a priority and a response. Rules are checked in priority order, highest first, and the first match wins.
Open Auto Replies and choose Add Rule
Give it a name you will recognise. The name is optional; the keyword is shown instead when it is blank.Choose the number the rule applies to
Rules belong to one number. The list at the top can be filtered by number, which matters once you run more than one.Set the keyword and match type
CONTAINS, the keyword appears anywhere in the message.EXACT, the whole message is the keyword.STARTS_WITH, the message begins with it.REGEX, a regular expression, for when the other three will not do.Set the priority
A number from 0 to 100, higher checked first. A broadCONTAINSrule at high priority will swallow the narrower rules below it, give specific rules the higher number.Build the response
The builder offers Text, Buttons / List, Image, Video, Document and Template. No raw JSON is required.
Response types
What a rule can send
| Field | Required | Type | Description |
|---|---|---|---|
| text | No | free-form | Plain message. Supports *bold*, _italic_ and {{first_name}} for personalisation. |
| interactive | No | free-form | Reply buttons (up to 3, 20 characters each) or a list menu (up to 10 options, 24 characters each, with your own menu button label). |
| image | No | free-form | A media URL plus an optional caption. |
| video | No | free-form | A media URL plus an optional caption. |
| document | No | free-form | A media URL, a file name and an optional caption. |
| template | No | approved template | A template name and language. The template must already be approved by Meta. |

Bot flows
A flow is a graph of steps with a trigger. It can send buttons and menus, branch on what the customer answered, call your own APIs, tag the contact, and hand the conversation to a person when it should.
Triggers
What starts a flow
| Field | Required | Type | Description |
|---|---|---|---|
| KEYWORD | No | trigger | One of the flow's trigger keywords appears in the customer's message. |
| ANY_MESSAGE | No | trigger | Any inbound message. Use sparingly, it competes with everything else. |
| BUTTON_REPLY | No | trigger | The customer tapped a reply button. |
| LIST_REPLY | No | trigger | The customer chose an option from a list menu. |
| OPTIN | No | trigger | An opt-in event. |
| AI_FALLBACK | No | trigger | Runs when no other trigger matched. Availability depends on your plan. |
Building one
Start from a template, or from blank
The Templates gallery has complete working flows grouped as Support, Sales, Operations and AI, each listing its step count, rough setup time and a checklist of what you will need to fill in. Templates your plan does not include stay visible with the reason shown rather than being hidden.Templates install switched off
A newly installed flow is inactive on purpose, so you can put your own details in before a customer ever sees it.Fix the problems the card reports
Each flow card shows its health: “N problems to fix before this can go live”, “N things worth checking”, or “No problems found”. Switching on a flow with errors is refused by the server, and the reason is shown rather than the toggle silently springing back.Test it, then switch it on
Flows can be run in a simulator before they go live. The card then reads LIVE instead of OFF.

Escape words
A running flow always releases the customer on cancel, stop, exit, quit, restart, menu or main menu. A customer must never be trapped in a loop they cannot leave.
When it does not fire
- The rule or flow is switched off. Inactive rules are shown greyed in the list; inactive flows read OFF.
- A higher-priority rule matched first. Only one auto-reply rule fires per message.
- The flow has validation errors. It cannot be switched on at all, so it never runs.
- A flow has no start node. It is skipped at runtime and a warning is logged.
- The rule belongs to a different number than the one the customer messaged.
- The response is a template that is not approved. The send fails the same way any unapproved template send does.
- The customer never wrote in. Nothing here is business-initiated.
Cost
An automated reply is sent inside an open 24-hour window, because an inbound message is what triggered it. That makes it a service conversation, which Meta does not charge for and neither does the platform, text, media and interactive replies are free.
The exception is a rule or step whose response type is template: that is billed at the template's category. See Credits and billing.
Flows can also be created and managed programmatically, see the Bots API.
