Polls
Supported channels
- Telegram
- WhatsApp (web channel)
- Discord
- Microsoft Teams (Adaptive Cards)
CLI
# Telegram
openclaw message poll --channel telegram --target 123456789 \
--poll-question "Ship it?" --poll-option "Yes" --poll-option "No"
openclaw message poll --channel telegram --target -1001234567890:topic:42 \
--poll-question "Pick a time" --poll-option "10am" --poll-option "2pm" \
--poll-duration-seconds 300
# WhatsApp
openclaw message poll --target +15555550123 \
--poll-question "Lunch today?" --poll-option "Yes" --poll-option "No" --poll-option "Maybe"
openclaw message poll --target 123456789@g.us \
--poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi
# Discord
openclaw message poll --channel discord --target channel:123456789 \
--poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi"
openclaw message poll --channel discord --target channel:123456789 \
--poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48
# Microsoft Teams
openclaw message poll --channel msteams --target conversation:19:abc@thread.tacv2 \
--poll-question "Lunch?" --poll-option "Pizza" --poll-option "Sushi"
Options:
--channel: whatsapp (default), telegram, discord, or msteams
--poll-multi: allow selecting multiple options
--poll-duration-hours: Discord-only (defaults to 24 when omitted)
--poll-duration-seconds: Telegram-only (5-600 seconds)
--poll-anonymous / --poll-public: Telegram-only poll visibility
Gateway RPC
Method: poll
Params:
to (string, required)
question (string, required)
options (string[], required)
maxSelections (number, optional)
durationHours (number, optional)
durationSeconds (number, optional, Telegram-only)
isAnonymous (boolean, optional, Telegram-only)
channel (string, optional, default: whatsapp)
idempotencyKey (string, required)
Channel differences
- Telegram: 2-10 options. Supports forum topics via
threadId or :topic: targets. Uses durationSeconds instead of durationHours, limited to 5-600 seconds. Supports anonymous and public polls.
- WhatsApp: 2-12 options,
maxSelections must be within option count, ignores durationHours.
- Discord: 2-10 options,
durationHours clamped to 1-768 hours (default 24). maxSelections > 1 enables multi-select; Discord does not support a strict selection count.
- Microsoft Teams: Adaptive Card polls (OpenClaw-managed). No native poll API;
durationHours is ignored.
Use the message tool with poll action (to, pollQuestion, pollOption, optional pollMulti, pollDurationHours, channel).
For Telegram, the tool also accepts pollDurationSeconds, pollAnonymous, and pollPublic.
Use action: "poll" for poll creation. Poll fields passed with action: "send" are rejected.
Note: Discord has no “pick exactly N” mode; pollMulti maps to multi-select.
Teams polls are rendered as Adaptive Cards and require the gateway to stay online
to record votes in ~/.openclaw/msteams-polls.json.Last modified on March 22, 2026