Documentation Index
Fetch the complete documentation index at: https://docs.apifycloud.io/llms.txt
Use this file to discover all available pages before exploring further.
Request
Usetype as interactive and set interactive.type to flow.
Use this endpoint to send a Flow inside the 24h Customer Service Window. To send a Flow outside the 24h window, wrap it in an approved template with a Flow button and use Send Template instead.
Field types
to: string (required)type: string =interactive(required)interactive: object (required)interactive.type: string =flow(required)interactive.header: object (optional)interactive.header.type: string (optional, usuallytext)interactive.header.text: string (optional)interactive.body: object (required)interactive.body.text: string (required)interactive.footer: object (optional)interactive.footer.text: string (optional)interactive.action: object (required)interactive.action.name: string =flow(required)interactive.action.parameters: object (required)interactive.action.parameters.flow_message_version: string =3(required)interactive.action.parameters.flow_token: string (required, unique per send)interactive.action.parameters.flow_id: string (required ifflow_nameis not provided)interactive.action.parameters.flow_name: string (required ifflow_idis not provided)interactive.action.parameters.flow_cta: string (required)interactive.action.parameters.flow_action: string =navigateordata_exchange(optional, defaultnavigate)interactive.action.parameters.flow_action_payload: object (required whenflow_actionisnavigate)interactive.action.parameters.flow_action_payload.screen: string (required whenflow_actionisnavigate)interactive.action.parameters.flow_action_payload.data: object (optional)interactive.action.parameters.mode: string =publishedordraft(optional, defaultpublished)tags: array of strings (optional)metadata: object | string (optional)
Field behavior and limits
interactive.body.textis required, max 1024 characters.interactive.header.textis optional, max 60 characters.interactive.footer.textis optional, max 60 characters.interactive.action.parameters.flow_ctais the button label, max 20 characters and must not contain emojis or markdown.interactive.action.parameters.flow_tokenmust be unique per send. It is echoed back in the inbound payload when the user submits the Flow, so use it to correlate the response with the original send.interactive.action.parameters.flow_idis the ID issued by Meta when the Flow is published.flow_nameis supported as an alternative.interactive.action.parameters.modedefaults topublished. Usedraftonly while testing —draftmode delivers only to numbers registered as testers in Meta.interactive.action.parameters.flow_action_payload.screenmust match the ID of the first screen to render.datais forwarded as the initial state of that screen.- When
flow_actionisdata_exchange, omitflow_action_payload. The Flow’s data endpoint configured in Meta is called to populate the first screen. - Flow messages render on the WhatsApp native mobile app. WhatsApp Web shows a simplified fallback.
Handling the response
When the user completes and submits the Flow, an inbound event arrives with the structured fields the user filled in, plus the sameflow_token you sent. Use the token to correlate the response with the original send.
For the conceptual model, screen design, and pricing, see WhatsApp Flows. For the authoritative Flow JSON schema and screen elements, see Meta’s Flow documentation.