Skip to content
OmniChannels.ai

WhatsApp Flows Guide: Forms, Bookings and Lead Capture in Chat

WhatsApp Flows explained: how in-chat forms work, best use cases for bookings and lead capture, design rules, component limits and mistakes to avoid.

Updated 8 min read

By OmniChannels.ai Editorial Team · Reviewed by BroadNet Messaging Solutions Team

WhatsApp

Short answer

WhatsApp Flows are native, multi-screen forms that open inside a WhatsApp chat on the WhatsApp Business Platform. Customers can book appointments, request quotes, complete lead forms or give feedback without leaving the conversation, and the answers return to the business as structured data. Flows are built in Flow JSON, sent as a template or an in-session message, and can run with or without a live data endpoint.

On this page
  1. What are WhatsApp Flows?
  2. When should you use a Flow instead of chat or a web link?
  3. How do you send a WhatsApp Flow?
  4. How should a WhatsApp Flow be designed?
  5. What are the limits of WhatsApp Flows?
  6. Worked example: a Riyadh clinic booking Flow
  7. Common mistakes with WhatsApp Flows
  8. How OmniChannels.ai helps

Key takeaways

  • WhatsApp Flows are structured, multi-screen forms that open inside the chat and return answers to the business as data, not free text.
  • Flows can be sent as template messages or as interactive messages inside an open customer service window.
  • Meta recommends endpointless Flows unless live data is needed, and data endpoint requests time out after 10 seconds.
  • Meta's components reference allows up to 50 components per screen, but its best practices advise one task per screen and no more than 10 options per screen.
  • Flows whose endpoints become unhealthy can be throttled to 10 messages per hour or blocked until health recovers.

This guide is for product, CX and marketing teams deciding whether WhatsApp Flows can replace web forms, booking pages or long back-and-forth chats. It covers what Flows are, where they work best, how to design them, the technical limits Meta publishes and the mistakes that make Flows fail in production.

What are WhatsApp Flows?

WhatsApp Flows are structured, multi-screen forms that open on top of a WhatsApp chat. The customer taps a button, completes a few screens and submits, and the business receives the answers as structured data.

Flows run on the WhatsApp Business Platform (API), not the WhatsApp Business app. Each Flow is defined in Flow JSON, which describes the screens, components and navigation. You can build and preview Flows in WhatsApp Manager or create them through the Flows API.

There are two technical styles:

  • Endpointless Flows collect input and return it when the customer submits. Any dynamic data, such as the customer's name, is injected when you send the message.
  • Endpoint-powered Flows call your server during completion, for example to show available time slots or calculate a quote. Data exchange is encrypted.

Use a Flow when you need several structured answers in a fixed order. Use plain chat when the conversation is open-ended, and a web link when the task needs a full checkout, long documents or a logged-in account area.

Task Plain chat WhatsApp Flow Web link
Open question or complaint Best Poor fit Poor fit
Lead qualification, 3 to 8 fields Slow, error-prone Best Customer leaves chat
Appointment booking with live slots Many messages Good with endpoint Good
Quote request with dates and options Error-prone Best Good
Satisfaction survey after service Acceptable Good Lower completion is common
Full ecommerce checkout Poor fit Limited Best
Account login and settings Poor fit Only if necessary Best

Common use cases include insurance and loan quotes, property viewing requests, clinic and salon bookings, event registration, delivery preference updates, warranty registration with a photo upload, and post-service feedback. Meta's own getting-started examples cover pre-approved loans, insurance quotes, personalised offers and purchase interest.

How do you send a WhatsApp Flow?

You send a Flow as a message with a call-to-action button. There are two ways to deliver it.

  1. As a template message. Create a template with a Flow button and get it approved. This lets you start the conversation, for example a utility template inviting a customer to pick a delivery slot. Template category and pricing rules apply. See template categories and approval.
  2. As an interactive message in an open session. If the customer messaged you in the last 24 hours, you can send the Flow as an interactive message, for example when an agent offers a booking form during a chat. Our guide to the 24-hour customer service window explains the rules.

When the customer completes the Flow, a response message arrives at your webhook with the submitted fields. Use a flow_token to link the response to the right customer and conversation.

How should a WhatsApp Flow be designed?

Design for a phone, one thumb and a few minutes. Meta's best practices say a customer should be able to finish in no more than five minutes.

Design checklist

  • One task per screen. Split multi-task forms across screens.
  • Short titles with progress, such as "Question 2 of 4."
  • Say how long it takes on the first screen.
  • First screen matches the button. If the button says "Book a visit," the first screen is about booking a visit.
  • Right component for the job: date picker for dates, text area for long text, radio buttons for one choice, checkboxes for several.
  • No more than 10 options per screen; use a dropdown only when there are 8 or more options.
  • Optional fields stay optional. Ask only what you need to act.
  • Helper text for phone, date and email formats.
  • Clear errors that explain how to fix the input.
  • Summary screen before submit on multi-step Flows.
  • Clear consent with a "Read more" link when you collect marketing opt-in.
  • Confirmation message after submission with next steps and a contact route.

Technical rules worth knowing

  • Data endpoint requests time out after 10 seconds. Cache data that rarely changes and avoid chained third-party calls.
  • Make the first screen endpoint-free where possible and call the endpoint only on screens that need live data.
  • Meta suggests setting flow_token expiry to two to three days, with a friendly message if the token has expired.
  • Keep the completion payload small and do not send base64 images in it.

What are the limits of WhatsApp Flows?

Meta publishes component-level limits. The figures below come from Meta's components reference at the time of writing; check it before building, because limits change between Flow JSON versions.

Element Limit (Meta components reference)
Components per screen Up to 50
Heading / subheading 80 characters
Text input label 20 characters
Radio buttons or checkboxes 1 to 20 options
Dropdown Up to 200 options, or 100 with images
Images per screen Up to 3, JPEG or PNG
Opt-in components per screen Up to 5
Endpoint response time 10-second timeout

Operational limits matter as much as component limits:

  • Lifecycle. Flows move from Draft to Published. Only drafts can be deleted, and Deprecated Flows can no longer be sent. Plan versioning before launch rather than editing a live Flow on the fly.
  • Health monitoring. If WhatsApp detects unhealthy endpoint behavior, a Flow can be Throttled to 10 messages per hour, then Blocked if health worsens. Monitor error rate, latency and availability webhooks.
  • Message costs still apply. The Flow travels in a template or session message, priced under normal rules. See our WhatsApp pricing guide.

Worked example: a Riyadh clinic booking Flow

Shifa Care, a synthetic multi-branch clinic in Riyadh, receives many WhatsApp messages asking for appointments. Agents spend several exchanges per booking collecting branch, specialty, date, time and patient details.

The team builds a four-screen Flow:

  1. Branch and specialty using radio buttons (five branches, eight specialties via dropdown).
  2. Date and time. An endpoint returns available slots for the chosen branch, with cached schedules to stay under the 10-second timeout.
  3. Patient details: name, date of birth with a date picker, and an optional note.
  4. Summary and consent, with a link to the privacy notice.

Agents send the Flow as an interactive message when a patient asks to book. For reminders, the clinic uses a utility template with a "Reschedule" Flow button. Completed bookings arrive at the webhook and are written to the scheduling system, and the patient receives a confirmation in Arabic or English. Free-text questions, such as insurance coverage, still go to agents in the inbox. For reminder timing, see our guide to appointment reminders.

Common mistakes with WhatsApp Flows

  • Turning a web form into one long screen. Long screens load slowly and lose input if the customer exits mid-screen.
  • Asking for login first. Put login near the end, only if needed, after the customer sees the benefit.
  • No human fallback. Some customers will not complete a form. Keep a reply path to an agent.
  • Ignoring endpoint health. A slow endpoint can get the Flow throttled or blocked across all customers.
  • Collecting data you cannot protect. Store Flow responses under your privacy policy and applicable law, such as Saudi PDPL or GDPR.
  • Marketing disguised as utility. A Flow button does not change template categorisation rules.

How OmniChannels.ai helps

OmniChannels.ai, powered by BroadNet Technologies, supports WhatsApp Flows and the foundation they depend on: WhatsApp Business API onboarding through Meta Embedded Signup, templates with variables, media and buttons with phone preview and approval tracking, and an Omni Inbox where agents handle the conversations that forms cannot. Delivery reports show how template invitations perform, and the systems behind your Flows connect through the public REST API and webhooks. Arabic and English are supported. Book a demo to scope your use case.

Frequently asked questions

Are WhatsApp Flows free?

Flows do not carry a separate Meta fee in themselves. You pay for the message that delivers the Flow according to normal WhatsApp pricing: a Flow sent as a marketing or utility template is charged by template category and country, and a Flow sent inside an open customer service window follows service-message rules. Confirm current rates in Meta's pricing documentation.

Do I need a developer to build a WhatsApp Flow?

Simple Flows can be built in the Flow Builder in WhatsApp Manager using Flow JSON and a live preview. Flows that check availability, prices or customer records in real time need a data endpoint, which requires a developer to build, host, secure and monitor it. Most teams start with endpointless Flows and add an endpoint later.

Can WhatsApp Flows collect payments or passwords?

Flows are designed for structured input such as text, dates, choices, opt-ins and media uploads. Meta supports marking fields as sensitive so they are hidden from the response message, and password fields are excluded by default. Card payments should go through a compliant payment method, not free-text card fields in a form.

What happens to the data a customer submits in a Flow?

When the customer completes the Flow, WhatsApp sends a response message to your webhook with the submitted fields. If the Flow uses a data endpoint, screens can also exchange encrypted data with your server during completion. Your system must store that data under your privacy policy and local data protection law.

Do WhatsApp Flows work on desktop?

Flows are designed for the WhatsApp mobile apps, and support on other clients can differ. Always test on the devices your customers actually use, and give a fallback, such as a link or a reply option, for customers who cannot open the Flow.

Sources

  1. WhatsApp Flows — Meta for Developers
  2. Flows best practices — Meta for Developers
  3. Flows components — Meta for Developers
  4. Lifecycle of a Flow — Meta for Developers