send_whatsapp_flow
Send a published WhatsApp Form (Meta WhatsApp Flow) to a chat as a native interactive message: one message instead of asking question after question. Only works within the 24h customer-service window; to start a conversation, send a template whose button opens the form. Pass a token to match the answers to your own record (it comes back in the message:flow:response webhook), and data to prefill the form.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"device": "<device>",
"phone": "<phone>",
"flow_id": "<flow_id>",
"cta": "<cta>"
},
"name": "send_whatsapp_flow"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| cta | Yes | Text of the button that opens the form (max 30 chars) | |
| body | No | Message text shown above the button (max 1024 chars) | |
| data | No | Values to prefill the form with, by field name | |
| phone | Yes | Recipient phone number in international format (E.164), e.g. +34600111222 | |
| token | No | Your reference for this send (an order or ticket id). It comes back with the answers. | |
| device | Yes | Target WhatsApp device ID (24 character hex string) | |
| footer | No | Footer text under the message (max 60 chars) | |
| header | No | Header text above the message (max 60 chars) | |
| screen | No | Screen to open. If omitted, the form opens on its first screen. | |
| flow_id | Yes | The WhatsApp Flow ID to send (flowId from list_whatsapp_flows) | |
| idempotencyKey | No | Your unique key for this message, 6 to 36 characters (a UUID works). Reuse the same key when retrying the same message: the API then answers 409 Conflict with the id of the message already created instead of sending it twice. Use a new key for every different message. |