Telegram Multi Actions icon

Telegram Multi Actions

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 Audio

AI-generated

Summary

Send an audio file or Telegram audio file ID to the specified chat. Optionally add a caption with entities, reply to a message, and include reply markup.

Inputs

  • Bot Token (required) — Telegram bot token; defaults to the incoming item’s access_token or token.
  • Chat ID (required) — Target chat ID; defaults to the incoming item’s chatId or channel.external_id.
  • Media Source — Choose URL or File ID, or Binary Data. Defaults to URL or File ID.
  • Media (URL or File ID) — Audio URL or Telegram file_id when using URL or File ID as the source. Defaults from media[0].url or url on the incoming item.
  • Binary Property — Name of the incoming item’s binary property to send when using Binary Data. Defaults to data.
  • Caption — Optional audio caption; defaults to the incoming item’s caption or text.
  • Caption Entities — Optional JSON array of Telegram caption entities; defaults to the incoming item’s entities.
  • Reply to Message ID — Optional message ID to reply to; zero means no reply.
  • Reply Markup — Optional JSON reply markup, such as a keyboard; defaults to the incoming item’s reply_markup.
  • Use Redis Rate Limit — When enabled, throttles requests per bot using the optional Redis credential; defaults to false.

Output shape

Three output branches: successful sends, 403 blocked-user errors, and other errors when n8n is set to Continue using the error output.

On success, each item contains the Telegram message returned by sendAudio. A 403 item includes the original input JSON plus error details and error_code 403. Other errors are thrown unless Continue using the error output is enabled; then they include the original input JSON and error details. The node retries Telegram 429 responses when retry_after can be read from the error.

Links

Discussion