Flow Templates
Flow templates integrate with WhatsApp Flows to provide interactive, multi-step experiences within WhatsApp. When the user taps the flow button, an in-app form or workflow opens directly within the WhatsApp chat, enabling use cases like appointment booking, lead generation, surveys, and customer feedback.
Prerequisites
Before creating flow templates, you must:
Create a WhatsApp Flow using Meta Business Suite or the WhatsApp Flows API. Follow the guide: Create a WhatsApp Flow.
Publish the flow -- a flow must be in the Published state before it can be used in an approved template. Draft flows can only be used for testing. See: Publishing and sending your flow.
Copy the flow ID -- after publishing, copy the flow ID from the WhatsApp Flows page in Bird. This ID is used as the
idproperty in the flow action block.
Once a flow has been published it can no longer be modified. Make sure to test your flow thoroughly in Draft state before publishing.
Block Structure
A flow template uses a single whatsapp-flow block:
Header
No
Text, image, or file header
Body text
Yes
Main message text (max 1024 characters)
Footer text
No
Text below the body (max 60 characters)
Flow action
Yes
Button that launches the WhatsApp Flow
Header
Flow templates support three optional header types:
Text header:
Image header:
File/video header:
If you need to host media, use the Media Library API to upload files and get a mediaUrl. See Image Template Blocks -- Uploading media for the full upload flow.
Body
The body is mandatory and should explain what the flow does and encourage the user to tap the button.
Footer
Optional text footer, max 60 characters.
Flow Action
The flow action creates a button that opens a WhatsApp Flow when tapped. It supports two action types: navigate and data_exchange.
Navigate action
Opens the flow and navigates directly to a specific screen. You can optionally pass initial data to the screen.
id
Yes
The WhatsApp Flow ID (see Prerequisites)
label
Yes
Button text displayed to the user
actionType
Yes
Must be navigate
token
No
Optional token for flow session tracking
actionPayload.screen
Yes
The screen to navigate to when the flow opens
actionPayload.data
No
Initial data to pass to the screen
Data exchange action
Opens the flow and triggers a data exchange with your endpoint to determine the initial screen and data.
id
Yes
The WhatsApp Flow ID (see Prerequisites)
label
Yes
Button text displayed to the user
actionType
Yes
Must be data_exchange
token
No
Optional token for flow session tracking
Complete Example -- Event Registration
Complete Example -- Survey with Data Exchange
Related
Text Template Blocks -- Standard text templates
Carousel Template Blocks -- Scrollable card-based templates
Creating WhatsApp Message Templates -- Full template creation workflow
Last updated
Was this helpful?

