Skip to content

Polls

Polls

Supported channels

  • Telegram
  • WhatsApp (web channel)
  • Discord
  • Microsoft Teams (Adaptive Cards)

CLI

Terminal window
# Telegram
remoteclaw message poll --channel telegram --target 123456789 \
--poll-question "Ship it?" --poll-option "Yes" --poll-option "No"
remoteclaw message poll --channel telegram --target -1001234567890:topic:42 \
--poll-question "Pick a time" --poll-option "10am" --poll-option "2pm" \
--poll-duration-seconds 300
# WhatsApp
remoteclaw message poll --target +15555550123 \
--poll-question "Lunch today?" --poll-option "Yes" --poll-option "No" --poll-option "Maybe"
remoteclaw message poll --target 123456789@g.us \
--poll-question "Meeting time?" --poll-option "10am" --poll-option "2pm" --poll-option "4pm" --poll-multi
# Discord
remoteclaw message poll --channel discord --target channel:123456789 \
--poll-question "Snack?" --poll-option "Pizza" --poll-option "Sushi"
remoteclaw message poll --channel discord --target channel:123456789 \
--poll-question "Plan?" --poll-option "A" --poll-option "B" --poll-duration-hours 48
# Microsoft Teams
remoteclaw 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 (RemoteClaw-managed). No native poll API; durationHours is ignored.

Agent tool (Message)

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 ~/.remoteclaw/msteams-polls.json.