send_whatsapp_message
Comprehensive WhatsApp message sending with action-based operations. Supports all message types including text, media, location, contact, poll, event messages, with scheduling, live delivery, expiration, agent messaging, and template support. All message sending operations unified in one tool.
Scheduling: pass exactly one of deliverAt, delay or delayTo on the text, media, template, agent or scheduled actions. Leaving all three out sends the message right away. On WhatsApp Cloud API (WABA) numbers a plain text, media or agent message still needs the customer to have written within the last 24 hours at delivery time, so a reminder that lands later than that must use the template action.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chat | Yes | WhatsApp chat ID (e.g., 1234567890@c.us for phone numbers, 123456789000000000@g.us for groups, 123456789000000@newsletter for WhatsApp channels) | |
| poll | No | Poll content (required for poll action) | |
| agent | No | Agent ID (24 character hex string) | |
| delay | No | Deliver the message after this many seconds (max 31536000, a year) | |
| event | No | Event content (required for event action) | |
| media | No | Media content (required for media action) | |
| order | No | Ensure strict message delivery order | |
| action | Yes | Action to perform for WhatsApp message sending | |
| device | No | Target WhatsApp device ID (24 character hex string) used for message delivery. Only required if you have multiple WhatsApp numbers connected. Use MCP tool "get_whatsapp_devices" to retrieve a list of available devices. | |
| actions | No | Actions to perform after message delivery (for agent action) | |
| agentId | No | Agent ID for agent messaging (required for agent action) | |
| delayTo | No | Deliver the message after a duration: 30m, 2h, 3d, 2w, 1M (max a year) | |
| enqueue | No | Message delivery mode (for live action) | never |
| message | No | Text message content (required for text, scheduled, live, expiring, agent, template actions) | |
| contacts | No | Array of contacts to send, max 10 (required for contact action) | |
| location | No | Location content (required for location action) | |
| template | No | Template configuration (required for template action) | |
| deliverAt | No | Absolute ISO 8601 instant to deliver the message at, with a time zone (e.g. 2026-09-20T09:00:00+02:00). Must be in the future and less than a year away | |
| reference | No | Custom reference ID for message tracking | |
| expiration | No | Time-to-live duration e.g. "1h", "30m", "2d" (for expiring action) | |
| previewUrl | No | Enable URL preview in messages (for text, template actions) | |
| sendReadAck | No | Send chat read acknowledgment after the message is delivered |