Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.apifycloud.io/llms.txt

Use this file to discover all available pages before exploring further.

A WhatsApp Flow is a Meta feature that lets your business send a multi-step structured experience — inputs, selections, confirmations — rendered natively inside the WhatsApp client. The user taps a button, an overlay opens, they fill out a form, they submit. Your business receives a single structured response instead of parsing a back-and-forth.

What it looks like to the user

1

User receives a message with a call-to-action

A short body, a headline, and a button like “Book appointment”, “Get a quote”, or “Fill the form”.
2

User taps the button

A branded overlay opens inside WhatsApp — multiple screens, inputs, dropdowns, date pickers, conditional sections.
3

User completes the form

Navigation between screens, validation, optional confirmation screen. All native WhatsApp UI.
4

User taps Submit

The overlay closes. Your business receives a structured payload with the user’s responses, typed and validated.
No browser switch, no external page, no app install — everything happens inside WhatsApp on the user’s phone.

Use cases

Appointment booking

Date, time slot, service type, notes — captured in one structured exchange.

Signup and onboarding

Multi-field forms with validation, conditional questions, and confirmation screens.

Lead qualification

Structured intake that maps cleanly to CRM fields without parsing natural language.

Surveys and feedback

Multi-question surveys with conditional follow-ups.

Product configuration

Pick colour, size, extras; review a summary before confirming.

Address collection

Country, state, city, street, postal code — all in one flow.

What you can build inside a Flow

Screens can contain:
  • Text inputs — single line, multi-line, with optional validation (length, regex)
  • Dropdowns and radio buttons — single and multi-select lists
  • Checkboxes — single or multiple
  • Date pickers — with minimum and maximum constraints
  • Opt-in toggles
  • Headings, paragraphs, and images — for instructions and branding
  • Footer buttons — Continue, Submit, or back navigation
Across screens you can have:
  • Conditional navigation — show different screens based on previous answers
  • Pre-filled data — pass initial values into the flow when you send it
  • Data endpoint (optional) — let the flow call your own HTTPS endpoint to fetch dynamic options (e.g., available appointment slots for a specific date) or validate inputs mid-flow

Sending a Flow message

A Flow is sent as a message — either:
  • Inside an approved template (Utility or Marketing category), which lets you send it outside the 24h window
  • Free-form inside the 24h Customer Service Window
Sample values for the Flow’s initial data are provided at send time, along with the Flow ID Meta issued when you published the Flow.

Workflow, end to end

1

Design the Flow

Lay out the screens, inputs, conditional navigation, and any data endpoint.
2

Preview and test

Walk through every branch in the builder’s preview mode before publishing.
3

Publish

Once happy, publish the Flow. Meta assigns it a Flow ID that you reference when sending.
4

Create or adapt a template to carry the Flow

If you want to send the Flow outside the 24h window, submit a template with a Flow button. Category depends on the Flow’s purpose (Utility for transactional, Marketing for promotional).
5

Send

Reference the Flow ID, pass any initial data, and send the message. The user receives it, taps, fills in, submits.
6

Handle the response

When the user submits, a structured response arrives with the fields as typed values — handle it the same way you handle any other inbound event.

Pricing

Flow messages are priced by the category of the message that carries them, not by the Flow itself:
  • Inside the 24h window, as a free-form message → free
  • Wrapped in a Utility template → Utility pricing (free if the CSW is open, otherwise Utility rate)
  • Wrapped in a Marketing template → Marketing pricing
  • Authentication templates cannot carry Flow buttons
See Pricing for the full picture.

Limitations

  • Flow messages render on the WhatsApp native mobile app only. WhatsApp Web falls back to a simplified card.
  • Each Flow has a maximum number of screens and inputs (limits published in Meta’s Flow Builder documentation and updated over time).
  • Once a Flow is published and being used, breaking changes to its structure require a new Flow version — existing Flow messages in the wild continue to use the version they were sent with.
  • Data endpoints must be HTTPS, publicly reachable, and respond within Meta’s latency budget or the Flow degrades for the user.
  • A Flow session times out if the user walks away — your backend should handle the “no submit” case gracefully.

When Flows are the right answer

Use a Flow when all three are true:
  • The interaction is multi-step or multi-field
  • The data needs to be structured (typed fields, validated)
  • You want the user to stay inside WhatsApp (no link out)
If any of those is false, simpler message types are usually better:
  • One-tap choice → interactive buttons
  • Short list of options → interactive list
  • Long-form content or complex UX → a URL button to your website
  • Single free-text question → a plain text question inside the 24h window
See Message types for the full catalogue.

Learning more

Meta maintains the authoritative documentation for WhatsApp Flows, including the visual builder reference, field types, data endpoint spec, and current limits:

Meta Flow Builder documentation

The full Meta reference — screen elements, navigation model, data endpoint, JSON schema, and publishing process.

What’s next

Message types

All message types WhatsApp supports, with when to use each.

Template examples

Templates you can adapt — including patterns that work well as Flow entry points.