WhatsApp Flows
Design interactive multi-screen forms and guided experiences that run natively inside WhatsApp — no links, no redirects.
What are WhatsApp Flows?
WhatsApp Flows (part of the official Meta Flows API) let you build interactive screens that appear inline in a WhatsApp conversation. They're ideal for:- Lead capture forms (name, email, phone, interest)
- Appointment booking and scheduling
- Product catalog browsing and ordering
- Customer satisfaction surveys (NPS, CSAT)
- Registration and onboarding questionnaires
- Support ticket creation
Note
Flows run entirely within WhatsApp — the contact never leaves the app or opens a browser. This dramatically increases completion rates compared to external form links.
Flow Builder
1
Create a new Flow
Go to Dashboard → Flows → New Flow. Give it a name and select the category (Sign Up, Appointment, Customer Service, Survey, etc.). The category is reported to Meta and affects how the flow is reviewed.
2
Add Screens
A Flow is made of one or more Screens. Each screen is a page the contact sees. Use the + Add Screen button and drag to reorder. Common patterns:
- Single screen — simple lead form
- Two screens — collect info → confirmation
- Multi-screen — wizard / booking flow
3
Add Components to each Screen
Drag components from the right panel onto your screen:
| Component | Use case |
|---|---|
| Heading / Subheading / Body / Caption | Static text. |
| Rich Text | Markdown — headings, lists, links, tables. |
| Text Input | Single line. Text, number, email, phone, password or passcode, with an optional validation pattern. |
| Text Area | Multi-line text. |
| Dropdown | Pick one from a long list (up to 200). |
| Radio Buttons | Pick exactly one (up to 20). |
| Checkboxes | Pick any number (up to 20). |
| Chips | Multi-select chips. |
| Date Picker | A single date. |
| Calendar | A date or a date range, with blocked dates and selectable weekdays. |
| Photo Upload | Camera or gallery. Up to 25 MB per file. |
| Document Upload | File attachments. Cannot share a screen with Photo Upload. |
| Image / Image Carousel | One picture, or swipe through up to three. |
| Opt-in | A consent checkbox, optionally linking to your terms. |
| Link | An inline tappable link. |
| Navigation List | A rich list where each row opens a different screen. |
| If / Switch | Show different components depending on an earlier answer. |
| Footer Button | The screen's primary action — next screen, or finish. |
4
Configure routing
Each screen's footer button can route to the next screen or complete the flow. On completion, you define what data is sent back to MotherBot and how it's used (store in contact fields, trigger a chatbot action, send a template reply).
5
Add live data (optional)
A plain form shows the same thing to everyone. Turn on Live datain the flow's settings and each screen can load information that only exists when the customer opens it — your products, the appointment times still free today, or what you already know about that contact. The same setting lets you check answers before the customer moves on, send different people to different screens, and write answers straight onto their contact record. There is nothing to host and no code to write.
6
Publish the Flow
Click Submit for Review. Meta reviews Flows (usually within 24 hours for standard categories). Once approved, the Flow status changes to Published.
Attaching Flows to Messages
Published Flows can be triggered in two ways:- Template button — add a Flow button to a message template. Works in a broadcast, so you can collect structured data from a large audience.
- Chatbot — a Send Flow node opens the form mid-conversation, and a Receive Data node picks the answers back up.
- Live chat — an agent can send a form straight into an open conversation.
- API — POST /v1/messages with an interactive message of type flow.
Tip
However it is sent, the answers come back linked to the contact who filled it in — and to the chatbot run, broadcast or agent that sent it.
Tip
Combine a campaign with a Flow button template to collect structured data from a large audience. This is powerful for surveys, registrations, and appointment booking at scale.
Accessing Submitted Responses
Every submission is stored. You can read it in:- Responses — each flow has its own list of submissions, with a CSV export.
- Contact profile — answers you mapped to contact fields are written onto the contact.
- Conversations — the thread shows the completed form with the answers.
- Chatbots — a Receive Data node reads the answers into variables and carries on the conversation.
- Webhooks — a flow.submitted event carries the answers both as typed values and as display strings.
Flow Limits
| Limit | Value |
|---|---|
| Components per screen | 50 |
| Screens a single screen can lead to | 10 |
| Dropdown options | 200 (100 when options carry images) |
| Radio / checkbox / chips options | 20 |
| Option label | 30 characters |
| Footer buttons per screen | 1 |
| Links per screen | 2 |
| Opt-ins per screen | 5 |
| Images per screen | 3 |
| Uploaded file size | 25 MB |
| Whole flow | 10 MB |