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:

  1. Create a WhatsApp Flow using Meta Business Suite or the WhatsApp Flows API. Follow the guide: Create a WhatsApp Flowarrow-up-right.

  2. 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 flowarrow-up-right.

  3. Copy the flow ID -- after publishing, copy the flow ID from the WhatsApp Flows page in Bird. This ID is used as the id property in the flow action block.

circle-exclamation

Block Structure

A flow template uses a single whatsapp-flow block:

Component
Required
Description

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


Flow templates support three optional header types:

Text header:

Image header:

File/video header:

circle-info

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.

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.

Opens the flow and navigates directly to a specific screen. You can optionally pass initial data to the screen.

Property
Required
Description

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.

Property
Required
Description

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


Last updated

Was this helpful?