send_poll
Sends a WhatsApp poll (a question with 2 to 12 answer options that people tap to vote) to one person or group, from the user's number. Use it when the user wants to ask a group or a person to choose between options, e.g. "ask the family group which day works for dinner". Paid plan only: on the free plan the call is refused with a note on how to subscribe. to works like send_message's: a contact name, a phone number with country code, a JID, or a group's exact name; if a name could match more than one contact, call search_contacts first. By default each person picks one answer; pass allow_multiple: true to let people pick as many options as they want (e.g. "which days can you come?"). The options must all be different. Votes show up on the user's phone; this server can't read poll results, so don't offer to count the votes. If this number is busy sending other messages, the poll is refused with when to try again. WhatsApp doesn't render Markdown: use bold, italic, strikethrough and "- " lists, and never send tables, # headings, double asterisks or text links. Write a table as short lines (e.g. "Ana: $200") and paste URLs plain. Only format when it suits the message. Messages that start new conversations have extra protection against WhatsApp's anti-spam bans and may be delayed or refused; the result says so and when. Sending the same text, especially with a link, to many people who haven't written to the user can get their number temporarily or permanently banned, even when spaced out: write each person their own message (not just a name swap), and warn the user about this risk when they ask for outreach. Sending can't be undone and everyone in the chat sees the poll: confirm the recipient, question and options with the user first unless they already gave them. Returns { to, status (sent or failed), recipient, message_id, question, options, allow_multiple, error? }: recipient is the chat the poll went to, with the contact fields (name; name_source: address_book, push_name, group_subject, business, phone or unresolved; canonical_jid: the JID to pass to send_message and read_chat_history; phone_jid and lid_jid: the chat's phone-number and LID forms, null when unknown or for groups; phone_display: the number as +). If WhatsApp rejects the poll, the result is an error that still includes recipient and error.
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": {
"to": "<to>",
"question": "<question>",
"options": "<options>"
},
"name": "send_poll"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Contact name, phone number with country code, chat JID (person or group), or a group's exact name (case, accents, spaces and punctuation ignored; part of a group name doesn't match). | |
| options | Yes | The answers people can choose from, 2 to 12, all different, in the order to show them, e.g. ["Friday", "Saturday", "Sunday"]. | |
| question | Yes | The poll's question, e.g. "Which day works for dinner?". | |
| allow_multiple | No | Optional. true lets each person pick as many options as they want; false or omitted allows one answer. |