Polls
Supported channels
- Telegram
- WhatsApp (web channel)
- Discord
- Microsoft Teams (Adaptive Cards)
CLI
--channel:whatsapp(default),telegram,discord, ormsteams--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
threadIdor:topic:targets. UsesdurationSecondsinstead ofdurationHours, limited to 5-600 seconds. Supports anonymous and public polls. - WhatsApp: 2-12 options,
maxSelectionsmust be within option count, ignoresdurationHours. - Discord: 2-10 options,
durationHoursclamped to 1-768 hours (default 24).maxSelections > 1enables multi-select; Discord does not support a strict selection count. - Microsoft Teams: Adaptive Card polls (Pllan-managed). No native poll API;
durationHoursis ignored.
Agent tool (Message)
Use themessage 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 ~/.pllan/msteams-polls.json.