What it is
WhatsApp Flows are multi-screen experiences that run inside WhatsApp. Use them for structured tasks such as sign-up, appointment booking, lead collection, feedback, or product configuration.Before you begin
- Connect the WABA that will own the Flow.
- Design the screens and data model in a valid Flow JSON document.
- Decide whether the Flow needs a data endpoint.
- Choose categories that describe the Flow use case.
- Keep new work in
DRAFTuntil validation and preview are complete.
How it works
- Create a Flow with metadata and, optionally, its JSON structure.
- Retrieve the Flow and fix every validation error.
- Update metadata or upload a revised Flow JSON file.
- Generate a public preview URL for stakeholder testing.
- Publish the Flow when it is ready for messages.
- Deprecate a published Flow when it should no longer be used.
Request
Create a Flow
POST /whatsapp/flows
Update the Flow structure
PATCH /whatsapp/flows/{flowId}/assets
Preview and publish
Generate a preview withGET /whatsapp/flows/{flowId}/preview, then publish
with POST /whatsapp/flows/{flowId}/publish.
Response
Creation returns the new Flow ID and operation result.Flow lifecycle
Use
whatsapp.flow.status_change webhooks to process asynchronous lifecycle
updates.
Limits and troubleshooting
- Treat every validation error pointer as a location in the Flow JSON to fix.
- Preview URLs are public; do not include production secrets or sensitive test data.
- Publishing is a lifecycle boundary. Confirm content and endpoint behavior first.
- Only delete a Flow when its current state allows deletion.
- Version Flow JSON and endpoint behavior together when they exchange data.
Create a Flow API
Inspect metadata, JSON, clone, and publish options.
Flow webhooks
Handle Flow status changes.

