WhatsApp Flows

WhatsApp Flows, built on your live data

WhatsApp Flows are forms that open inside the chat: bookings, claims, quotes and applications, screen by screen. We're a South African engineering team that builds them and the encrypted endpoint behind them, so customers see your real slots, prices and policy details while they fill them in.

Last updated 26 October 2026

Report a claim example
Policy (loaded from your system)Motor · VW Polo · CA 123-456
What happened?Rear-ended at a traffic light
Where?Voortrekker Rd, Bellville
Approved panel-beaters near you, live from your list
BellvilleParowGoodwood
Submit claim

WhatsApp Flows are multi-screen forms inside a WhatsApp chat. With a data_exchange endpoint, each screen can load live data from your systems. Euphony designs the Flow, builds and hosts the encrypted endpoint within Meta's speed and health rules, and sends the finished answers into your CRM, claims or booking system.

What WhatsApp Flows are

Meta describes Flows as "a way to build structured interactions for business messaging." In practice, a Flow is a button in a WhatsApp message. The customer taps it and a form opens over the chat: a few screens with dropdowns, date pickers, checkboxes and text fields. When they finish, the answers come back to the business as one structured reply, not a string of messages someone has to piece together.

That fixes the oldest problem with WhatsApp for business. Free-text chat is great for questions and terrible for collecting a vehicle registration, an ID number, a preferred date and a suburb in the right order. A Flow collects them in one go and hands you clean, separate fields.

Meta's own packaged use cases cover pre-approved loans, insurance quotes, purchase intent and personalised offers. The same building blocks work for bookings, claims, applications, onboarding and surveys.

Source: WhatsApp Flows, Meta for Developers

Static Flows and Flows with live data

There are two kinds of Flow, and the difference decides how much engineering is involved.

Static FlowFlow with an endpoint
What the customer seesThe same screens and options for everyoneScreens filled from your systems: their policy, today's open slots, a calculated quote
Moving between screensFixed (navigate)Your endpoint decides the next screen (data_exchange)
Needs a serverNoYes: an HTTPS endpoint with encryption
Meta health monitoringDoesn't applyApplies: slow or failing endpoints get throttled, then blocked
Good forSimple sign-ups, feedback, fixed menusBookings, quotes, claims, applications, anything that looks something up

Meta's advice is to call the endpoint only when a screen really needs fresh data, and to use plain navigation everywhere else. We follow that: a ten-screen application might only call your system twice.

How data_exchange endpoints work

Meta's documentation says it plainly: "upon screen submission, the flow can make a request to the endpoint to get the name of the next screen and the data to display on it." Your endpoint gets a data_exchange request when the Flow opens with live data, when a screen is submitted, when the customer goes back to a screen set to refresh, or when they pick an option that should change the screen.

Getting this right takes more than a web form. These are the parts we build and run:

  1. EncryptionEvery request arrives encrypted. The endpoint decrypts the AES key with your RSA private key, decrypts the payload with AES-GCM, and encrypts its reply with the same key. If it can't decrypt a request it must return HTTP 421 so WhatsApp re-fetches the public key. We create a separate key pair for each client, with rotation, and upload the signed public key to your number.
  2. Signature checksMeta signs each request in the X-Hub-Signature-256 header, using the secret of the Meta app linked to the Flow. We reject anything that doesn't match, and use signed flow tokens to tie each Flow to the right customer and conversation.
  3. The 10-second limitMeta treats an endpoint request as timed out after 10 seconds and recommends replying in under 1 second. Your back office may be slower than that, so we design each screen around it: short lookups, data loaded ahead where possible, and a fallback screen instead of an error.
  4. Health checksWhatsApp periodically sends health check requests to the endpoints of published Flows. Meta won't let you publish a Flow until its endpoint is up and answers them.
  5. Getting the answers homeWhen the customer submits, the completed answers arrive as a WhatsApp reply. Our platform matches it to the conversation and sends it to your system through its API: a lead in your CRM, a claim in your claims system, a booking in your calendar. The next chat message can confirm it, or carry a payment link.

Sources: Implement endpoints for Flows · Flows error codes (timeout after 10 seconds)

Meta's health rules for Flows with an endpoint

Meta watches every endpoint-powered Flow for three things: error rate, latency and availability. It sends alerts when the endpoint's error rate crosses 5%, 10% or 50% over 30 minutes, and when p90 latency crosses 1, 5 or 7 seconds. If things keep getting worse, the Flow changes state:

Flow stateWhat it means for you
PublishedNo restrictions
ThrottledYou can send only 10 new messages with this Flow an hour. Customers can still open Flows they already have
BlockedYou can't send the Flow, and customers can't open Flows you sent earlier

A blocked claims or booking Flow is a closed front door, so the endpoint matters as much as the form. Once the endpoint recovers, Meta moves the Flow back from Blocked to Throttled, then to Published, on its own.

Sources: Flows health and monitoring · Flows webhooks

Examples

Six Flows South African businesses can use

Each one is a custom build. The names and numbers in these cards are examples, not client results.

How Euphony builds a Flow

Codeswop is a Meta Tech Provider. You connect your own WhatsApp account through Meta's Embedded Signup, and your number and the payment method Meta bills stay yours. Our engineers do the rest.

  1. Start from the form you already useSend us the PDF, web form or call-centre script. We mark which fields are fixed, which need a lookup, and which must be checked against your records.
  2. Agree how we reach your systemWe connect to your system through its API, or a webhook you expose. If there's no API, we'll say so up front and suggest a workaround, such as a nightly export for slots that don't change often.
  3. Build the Flow and the endpointWe write the Flow JSON and the screen handlers, set up encryption keys for your number, and test against Meta's 10-second limit with your real system on the other end.
  4. Wire up what happens nextWhen the customer submits, we send the answers to your system, reply in the chat, and add the next step: a payment link, a confirmation, or a handover to your team in the shared inbox.
  5. Publish and look after itWe publish the Flow, attach it to message templates where needed, and host and maintain the endpoint. You see each Flow's status and a preview in the dashboard. Changes come through us.
What we don't offer

There's no drag-and-drop builder for you to edit Flows yourself; every Flow is engineered per client. Our endpoint handlers only read from your systems while the form is open. Nothing is written to your system until the customer submits.

Flows work well with the rest of what we build: Paystack and Yoco payment links after a booking or quote, Claude to sort the free-text answers, and your own software or CRM, such as HubSpot, on the other end.

What a Flow costs

There are two parts, billed separately.

  • Meta's charge. Meta charges per delivered message, by category. A Flow sent to start a conversation goes out as a message template, and the template's category sets the price. From 1 October 2026, a marketing message to a South African number costs US$0.0379, and a utility, authentication or service message costs US$0.0095. Each number gets its first 1,000 service messages a month free. Meta bills you directly, and we add nothing.
  • Our charge. A one-off build from R15,000 ex VAT, which covers the chat logic, templates and Flows, plus R7,500 per system the Flows read from or write to, and a monthly fee from R4,950 ex VAT to host and look after the endpoint.

Source: Pricing on the WhatsApp Business Platform · Sending a Flow. See our pricing page for worked examples in rand.

Questions

WhatsApp Flows FAQ

What are WhatsApp Flows?

Multi-screen forms that open inside a WhatsApp chat. Customers pick dates, choose options and type details without leaving WhatsApp, and the answers come back to the business as structured data.

Do WhatsApp Flows cost extra?

Meta charges for the message that carries the Flow, the same way it charges for any message. A Flow sent as a template is priced by the template's category. From 1 October 2026, a marketing message to a South African number costs US$0.0379 and a utility or service message costs US$0.0095, with the first 1,000 service messages per number each month free. We add nothing to Meta's rates. Our build and running fees are separate. See Meta's pricing page.

Can a WhatsApp Flow show live data from my own system?

Yes. A Flow can call a business endpoint through a data_exchange request when it opens or when a screen is submitted. The endpoint returns the next screen and the data to show on it, such as open slots, a quote or a policy's details. Requests and responses are encrypted.

What happens if a Flow endpoint is slow?

Meta treats an endpoint request as timed out after 10 seconds and advises responding in under 1 second. Meta monitors error rate, latency and availability. If they get worse, the Flow is first throttled to 10 new Flow messages an hour, then blocked, which means previously sent Flows can't be opened either. See Meta's health guide.

Can customers pay inside a WhatsApp Flow in South Africa?

Not inside the Flow itself on our platform. The Flow collects the order, booking or quote, and the next chat message carries a Paystack or Yoco payment link. We run both on our platform, and the conversation carries on once the payment is confirmed. See payment collection.

Can we edit our Flows ourselves?

Not on our platform. Our engineers write, publish and change each Flow and its endpoint. You can see each Flow's status and a preview in the dashboard, and ask us for changes on WhatsApp.

Turn your slowest form into a Flow

Tell us which form costs your team the most back-and-forth. We'll show you how it would work as a Flow, and what it needs from your systems.