Telegram Multi Actions (Stage) icon

Telegram Multi Actions (Stage)

Send all Telegram content types (text, media, video note, sticker, location, poll, dice, etc.) via Grammy. Supports URL, file_id, and n8n binary. Optional Redis rate limit, retry on 429, separate output for 403 (user blocked bot).

Send Poll

AI-generated

Summary

Send a Telegram poll to a chat

Inputs

  • botToken — Bot token from input (e.g. from Orchestrator/Strapi)
  • chatId (required) — Telegram ID of the chat to send to (e.g. from Orchestrator/Strapi)
  • replyToMessageId — Telegram message_id of the message to reply to (reply_to_message_id). Usually comes from previous nodes, e.g. ={{$json.message_id}}.
  • replyMarkup — Inline keyboard / reply keyboard or undefined when parsing fails.
  • pollQuestion (required) — Question text for the poll.
  • pollOptions (required) — Options (comma-separated) for the poll.
  • pollAnonymous — Whether the poll is anonymous.
  • pollQuiz — Quiz (with correct answer).
  • pollCorrectOptionId — Correct Option Index (0-based).
  • pollOpenPeriod — Open Period (seconds). 0 = no auto-close.
  • useRateLimit — Requires Redis credential. Throttles requests per bot to avoid 429.

Output shape

array of items on each of three possible outputs (success, blocked, error)

Success output contains the Telegram API response; blocked output includes error_code 403 and description; error output includes generic error details. All outputs are arrays.

Examples

Example 1: Post a poll to a newly created chat using token from previous node

botToken = $json.access_token, chatId = $json.chatId, pollQuestion = "Do you like it?", pollOptions = "Yes,No", pollAnonymous = true

Example 2: Send a quiz poll that auto‑closes after 30 seconds

botToken = $json.access_token, chatId = $json.chatId, pollQuestion = "Capital of France?", pollOptions = "Paris,London,Berlin", pollQuiz = true, pollCorrectOptionId = 0, pollOpenPeriod = 30

Links

Discussion