Send WhatsApp messages via the Cloud API (text, interactive, media, location, contacts, reaction, raw)
WhatsApp is a globally popular messaging platform for personal and business communication.
This block integrates the WhatsApp Cloud API to let your workflows send:
- Text messages
- Interactive messages (lists / buttons)
- Media (image, video, audio, document, sticker)
- Location
- Contacts
- Reactions
- Raw payloads (advanced, send any supported WhatsApp payload)
For interactive menus and rich ordering experiences, use Interactive or Raw (advanced) modes. For future or niche message types, raw payload remains the escape hatch.
Usage
- Provide your WhatsApp Business Phone Number ID and Access Token.
- Select a Mode.
- Fill the fields shown for that mode (the UI reveals only what’s needed).
- Run the block to send the message.
The block will normalize inputs (e.g., phone formatting) and construct the correct payload. For JSON editors, paste valid JSON.
Inputs
Required Auth
Field | Type | Required | Notes |
---|---|---|---|
phoneNumberId | string | Yes | WhatsApp Business Phone Number ID |
accessToken | string | Yes | WhatsApp Cloud API Access Token |
phoneNumber | string | Yes | Recipient phone in E.164 (e.g., +911234567890 ) |
Routing
Field | Type | Required | Values |
---|---|---|---|
mode | string | No | text (default), interactive , raw , image , video , audio , document , sticker , location , contacts , reaction |
Per-mode Fields
Text
Field | Type | Required | Notes |
---|---|---|---|
message | string | Yes (when mode="text" ) | Message body |
Interactive (List / Buttons)
Field | Type | Required | Notes |
---|---|---|---|
interactive | json | Yes (when mode="interactive" ) | JSON for list or button interactive types. Titles/descriptions are trimmed to WhatsApp limits; lists capped to 10 rows, buttons to 3. |
Raw (Advanced)
Field | Type | Required | Notes |
---|---|---|---|
rawPayload | json | No | Any valid WhatsApp payload. If the envelope is missing, it’s added automatically. |
Media
Mode | Extra Fields | Required |
---|---|---|
image | media.link (url), media.caption? | Yes |
video | media.link , media.caption? | Yes |
audio | media.link | Yes |
document | media.link , media.caption? , media.filename? | Yes |
sticker | media.link | Yes |
Location
Field | Type | Required | Notes |
---|---|---|---|
location.latitude | number | Yes | Decimal degrees |
location.longitude | number | Yes | Decimal degrees |
location.name | string | No | Optional POI name |
location.address | string | No | Optional address |
Contacts
Field | Type | Required | Notes |
---|---|---|---|
contacts | json | Yes (when mode="contacts" ) | Cloud API contacts array (passed through). |
Reaction
Field | Type | Required | Notes |
---|---|---|---|
reaction.message_id | string | Yes | Target WhatsApp message ID (wamid... ) |
reaction.emoji | string | Yes | Single emoji |
Examples
Text
{
"mode": "text",
"phoneNumber": "+911234567890",
"message": "Hello from Mandala 👋"
}