Send a message
whatsapp_message_sendSend a single text message to a WhatsApp person or group using a chat JID. Optionally quote an existing message; the result confirms WhatsApp accepted it, not delivery.
Instructions
Sends one text to a person or a group; channels, broadcast lists and the status feed are refused. chat is a JID from whatsapp_chat_read list, or for someone new the chat that whatsapp_contact_read check gives (the tool asks WhatsApp whether the number has an account first), never a name or a number. It needs the account's sync service running. text is sent exactly as given, surrounding blank space trimmed, at most 4000 characters; it is never split or shortened without the user's agreement, and no link preview is fetched. reply_to quotes a message of the same chat by its id. The result means WhatsApp accepted the message, not that it was delivered or read. A failure uncertain means the message may have gone out: read the chat with whatsapp_chat_read and ask the user before sending it again, never send it again blindly. The chat's unread count in the local mirror drops, as when the user writes in it, and no read receipt is sent. errors.record says when the message was sent but could not be written to the mirror.
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": {
"chat": "<chat>",
"text": "<text>"
},
"name": "whatsapp_message_send"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chat | Yes | The chat to send to: a person's or a group's JID (…@s.whatsapp.net, …@lid or …@g.us), never a name or a number. Find it with whatsapp_chat_read list; for someone new, the `chat` that whatsapp_contact_read check gives. | |
| text | Yes | The text exactly as it should arrive; surrounding blank space is trimmed, and what is left is 1 to 4000 characters. | |
| account | No | The account label; may be left out when only one account is paired. | |
| reply_to | No | The id of a message of that chat to quote, as whatsapp_chat_read gives it. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | The sent message's id. | |
| chat | Yes | The chat's JID. | |
| note | Yes | Says that accepted is not delivered or read, and that the text sent is the user's. | |
| time | Yes | When the send was confirmed as accepted by WhatsApp, in local time with offset. | |
| errors | No | Set when the message was sent but could not be written to the mirror; `record` says why. |