Skip to main content
WhatsApp Flows let you embed rich, multi-screen interactive experiences directly inside a WhatsApp conversation. Instead of redirecting a user to a website, your bot can present a form — with dropdowns, date pickers, text inputs, and more — that the user completes without leaving WhatsApp. When the user submits, the results are sent back to your bot as a structured message.

What you can build with Flows

Appointment booking

Let customers pick a service, choose a date and time, and confirm a booking — all within WhatsApp.

Lead capture

Collect names, contact details, and preferences from new contacts in a structured, guided form.

Surveys and feedback

Gather structured responses through rating scales, dropdowns, and open text fields.

Order forms

Take orders or service requests with validated inputs, reducing back-and-forth messages.

Static and dynamic Flows

Most Flows are static: every screen, option, and line of copy is fixed when the Flow is built. A booking form, a signup form, or a survey is static even though the answers differ each time. A dynamic Flow asks your bot for fresh information while someone is filling it in — the slots actually free on the day they chose, the current status of their order. Paige builds a static Flow unless the request genuinely needs live data. See Dynamic flows.

Flow statuses

Each Flow carries a status, shown as a coloured tag in the Flows tab: For what each status lets you do, see Flow statuses and what each one allows.

Editing a published Flow

You can edit a published Flow at any time. You don’t need to deprecate it, and you don’t need to build a replacement. When you change a live Flow, the Paige Dev copy updates immediately so you can test the new version, while your customers carry on seeing the version that’s currently live. Your change reaches them when you Deploy and tick that Flow. Until then the Flow shows a Pending tag, and the Deploy button carries a count of how many Flows are waiting. That delay is deliberate: pushing new content to an already-published Flow would knock it back to draft at Meta, and a draft Flow can’t be sent to anyone. Paige holds the change back and promotes it at deploy time instead. See Edit a flow that’s already live.
Deprecating is a one-way door in Paige. There’s no un-deprecate button and no path back to published, so reach for it only when you’re genuinely retiring a Flow.

How Flows are validated and synced to Meta

Only Meta can tell you whether a Flow is really valid, so Paige asks it before you ever send anything to a customer. Every Flow you create or edit is first uploaded as a draft to the shared Paige Dev number, and Meta’s validation response is read back.
  • If Meta reports errors, the Flow goes no further. The errors are shown in the Flow’s detail pane and the agent gets one automatic attempt to fix them and try again. An invalid Flow is never pushed to your own WhatsApp number.
  • If the draft is clean, Paige mirrors it to your number as a draft. It’s never auto-published there — going live is always your call, via Deploy.
This is why a Flow can be previewed and tested before you’ve connected WhatsApp at all: the Paige Dev copy is the one doing the work. Each Flow that reaches your own number gets a Meta Flow ID, stored in your project. Your bot code uses this ID when sending a Flow to a contact.

Flow JSON format

Flows are defined in JSON. Paige generates version 7.3, and versions from 5.0 upwards are accepted. Each Flow contains one or more screens, and each screen contains a layout of components. Paige generates and edits this JSON for you — you should never edit it by hand. There are 24 components a screen can hold, from headings and text inputs to date pickers, file uploads, and conditional blocks. For the complete list with examples and limits, see Screens and components.
Ask Paige to generate new Flows or update existing ones in plain language. When updating, it preserves the existing Meta Flow ID so your bot code references remain valid.

Building and managing Flows

The Flows tab lists every Flow in your project with its status, and lets you preview, publish, sync, deprecate, and delete each one.

Flows overview

How to ask Paige for a Flow, the design rules that shape your request, and how submissions reach your bot.

Testing and publishing

Preview, test on a real phone, publish with Deploy, and push changes to a live Flow.