How to build a Flow on the WhatsApp Business API
WhatsApp Flows let you collect structured input — appointment bookings, lead qualification, order details, feedback — inside a single, native in-chat form instead of a messy back-and-forth of questions. This tutorial walks you through building a Flow end to end on the official WhatsApp Business API with InfiQ: designing the screens, wiring the Flow JSON, attaching it to a template, testing on your own number, and publishing to customers. Every step below is practical and specific to how Flows actually behave, including the mistakes that most commonly trigger rejections or broken submissions.
What you'll do
Build a WhatsApp Flow in five stages — prepare your verified account, design the screens and Flow JSON, connect it to a message template and endpoint, test on your own number, then publish and monitor. InfiQ handles the platform plumbing so you focus on the form itself.Step 1 — Prepare your account and decide the Flow's job
Before you open the Flow Builder, get the foundations in place. A Flow can only be sent from an active, verified WhatsApp Business API account, so confirm yours is live with InfiQ and that your Meta Business Manager verification is complete. Then get crystal clear on what the Flow is for, because that single decision shapes everything downstream — the screens you design, the template category you'll pick, and whether you need a server endpoint at all. Sketch the exact fields you want to collect and the order a customer should see them in.
- Confirm your WhatsApp Business API account is active and verified with InfiQ, with a healthy quality rating on the sending number.
- Write down the Flow's single purpose — booking, lead capture, order form, survey — and the exact fields it must collect.
- Decide the Flow type early: choose 'navigate' if the form just gathers answers, or 'data_exchange' if it must call your systems for live data.
- Note where submissions must land (CRM, webhook, InfiQ inbox) so you can map fields cleanly in Step 3.
Step 2 — Design the screens and the Flow JSON
This is the heart of the build. In InfiQ's visual Flow Builder you lay out one or more screens, each holding the input components your form needs — text fields, dropdowns, radio buttons, checkboxes, date pickers, and a footer button to advance or submit. Under the hood this generates the Flow JSON, which you can also edit directly for fine control. Keep each screen short and single-minded; long screens hurt completion. Give every input a stable, descriptive field key, because that key is exactly how the answer arrives in your payload later.
- Add screens in the order the customer should experience them, and keep each screen focused on one small chunk of the task.
- Give every component a clear, stable field name — these keys become the JSON keys in the submission payload.
- Mark required fields and add validation (email format, numeric ranges) so bad input is caught inside the Flow, not after.
- Make the final screen a true terminal screen with a submit action — a Flow that never terminates will be rejected.
Step 3 — Connect the Flow to a template and your data
A Flow doesn't send itself — it's launched by a message template carrying a Flow button, or triggered from an interactive reply. In InfiQ you attach the published Flow to a template and choose the right template category, which both governs the message's compliance and determines its cost. For a 'data_exchange' Flow you also wire the endpoint that InfiQ calls mid-Flow, and its responses must be prompt and well-formed JSON. Finally, route submissions to wherever they belong so the answers you collect actually reach a person or a system.
- Attach the published Flow (not a draft) to a message template, and pick the category honestly — marketing, utility, or authentication.
- Category matters twice: the wrong one risks rejection, and it sets the per-delivered-message price.
- For data_exchange Flows, configure the endpoint InfiQ calls, and make sure it replies quickly with valid, expected JSON.
- Map the Flow's field keys to your destination — CRM fields, webhook payload, or the InfiQ inbox — so nothing is lost.
Step 4 — Test on your own number before anyone else
Never let a customer be your first tester. Send the Flow to your own WhatsApp number and walk through it exactly as a real user would — tap the launch button, complete every screen, submit, and then confirm the payload actually landed where you mapped it in Step 3. This is where you catch the subtle failures: a required field that blocks submission, a data_exchange call that times out, a next-screen action pointing at the wrong screen, or field keys that don't match your CRM. Fix, publish a new version, and test again until a full run is clean end to end.
- Trigger the Flow from the real template on your own number so you're testing the exact production path.
- Complete and submit the Flow, then verify the structured data arrived correctly at its destination.
- For data_exchange Flows, deliberately test slow or error responses from your endpoint to see how the Flow behaves.
- Re-test after every JSON edit — publish a new version and confirm the live template points at it.
Step 5 — Publish, go live, and monitor
Once a full test run passes cleanly, publish the Flow and enable the template for real customers. Going live isn't the finish line — the first hours of real traffic tell you whether your screens make sense to people who didn't design them. Watch delivery and read status on the launch messages, keep an eye on your number's quality rating, and track how many people open the Flow versus how many actually submit. A high open-but-low-submit rate usually points to a screen that's too long or a field that's confusing, both of which you can fix by editing the JSON and publishing a new version.
- Publish the Flow and enable its template only after a clean end-to-end test.
- Monitor delivery and read status, and watch the sending number's quality rating for any dip.
- Track open-to-submit completion rate — a big gap signals a screen or field worth simplifying.
- Iterate safely by publishing new Flow versions and pinning the template to the version you've tested.
Frequently asked questions
What is a WhatsApp Flow, exactly?+
How long does it take to build a Flow?+
Do I need a developer to build a Flow?+
What's the difference between a 'navigate' and a 'data_exchange' Flow?+
How much does sending a Flow cost?+
Why is my Flow being rejected or failing?+
Can I edit a Flow after it's live?+
Where does the submitted Flow data go?+
Ready to build your first WhatsApp Flow?
Get your official WhatsApp Business API account live with InfiQ and ship a working, tested Flow — with India-based support guiding every step.