April 7, 2025

Updates

Added the ability to send WhatsApp Flows via API in WhatsApp messages without a template.

Now you can use WhatsApp Flows to automate recipient interaction scenarios, collect more recipient data, automate sales, offer products or services and more. Learn more about WhatsApp Flows in the Meta documentation.

API Changes

Added new whatsappContent parameters when sending messages to the WhatsApp channel:

ParameterData typeCharacterDescription
flowIdintegerRequired, if contentType = FLOWThe Flow ID assigned in WhatsApp Manager at the time the Flow is created.
screenstringOptionalThe ID of the first screen displayed in Flow.
captionstringRequired, if contentType = FLOWThe text of the button that starts Flow when clicked.
actionstringOptionalThe Flow interaction type.

Possible values:
• navigate — Flow doesn’t make a request to the endpoint. The default value.
• data_exchange — Flow makes a request to the endpoint.

See the Meta instructions for how to create surveys with WhatsApp Flows.

A message with the WhatsApp Flows function:

{
    "requestId": "test-001",
    "cascadeId": "3",
    "subscriberFilter": {
        "address": "35000000000",
        "type": "PHONE"
    },
    "content": {
        "whatsappContent": {
            "contentType": "FLOW",
            "caption": "Buy",
            "text": "Buy discount products",
            "flowId": 3779320943795899,
            "action": "navigate"
        }
    }
} 

An example of callback for incoming messages with the FLOW value in the messageContent.type parameter:

[
    {
        "id": 101,
        "subject": "test_subject_WA",
        "subjectId": 50520,
        "subscriber": {
            "id": 4633047,
            "identifier": "79997776655"
        },
        "userInfo": {
            "userName": "Alex Adamson",
            "firstName": null,
            "lastName": null,
            "avatarUrl": null
        },
        "messageContent": {
            "type": "FLOW",
            "attachment": null,
            "location": null,
            "referral": null,
            "caption": null,
            "text": "{\"flow_token\":\"example\"}",
            "payload": null,
            "story": null,
            "items": null,
            "contact": null,
            "product": null,
            "catalog": null,
            "order": null
        },
        "receivedAt": "2025-03-25T12:12:12Z",
        "replyOutMessageId": null,
        "replyOutMessageExternalRequestId": null,
        "replyInMessageId": null
    }
] 

See the API documentation for more information:

In this article
In this article