DocumentationWorkflowsApps and services

Telegram node

Sends text messages through your Telegram bot and answers inline-button clicks, in private chats, groups, channels, and forum topics. Learn how to configure it, map inputs and outputs, run a test and resolve common errors.

9 min readUpdated

What this node does

Sends text messages through your Telegram bot and answers inline-button clicks, in private chats, groups, channels, and forum topics.

Use Telegram as a clearly defined step in an anymize workflow.

  • Processes one input.
  • Provides one output for following steps.
  • Runs as a regular step in the flow.

Set up the node

  1. 01Open a workflow and add Telegram from the node catalog.
  2. 02Complete the required fields and map values from previous steps.
  3. 03Run the node with a small test record and inspect its output.
  4. 04Connect the successful output and activate the workflow after an end-to-end test.

Operations and modes

Choose the required function in Operation. The panel then shows the relevant settings.

  • Send message
  • Answer button click

Settings

FieldMeaningArea
Telegram botChoose the bot token from Workflow Secrets. The token stays encrypted and is never stored in the workflow.Protected
OperationSend a message or acknowledge a click on an inline button.Standard
Chat ID or @channelDestination chat. Use @channelname for channels; private chats and groups use their numeric ID.Standard
MessageMessage text. Telegram allows up to 4096 characters after parsing.Standard
FormattingOptional Telegram format. MarkdownV2 special characters must be escaped according to Telegram's rules.Standard
Forum topic IDOptional. Sends the message to a specific forum topic in a supergroup.Standard
Reply to message IDOptional convenience field. It is merged into reply_parameters.message_id in the Telegram API shape.Standard
Send silentlySends without a notification sound. The message remains visible in the chat.Standard
Prevent forwarding and savingProtects message content from forwarding and local saving where supported by Telegram.Standard
Link previewOptional Telegram LinkPreviewOptions object with JSON autocomplete for values from previous nodes.Standard
Reply parametersOptional ReplyParameters object. It is safely merged with the “Reply to message ID” convenience field.Standard
Buttons or custom keyboardOptional InlineKeyboardMarkup, ReplyKeyboardMarkup, ReplyKeyboardRemove, or ForceReply JSON object.Standard
Callback query IDRequired. Use callback_query.id from the Telegram trigger. Telegram shows a loading indicator on the button until it is acknowledged.Standard
Notification textOptional notification with 0 to 200 characters. Without text, this only stops the loading indicator.Standard
Show as alertShows the notification as a dialog instead of a brief notification at the top of the screen.Standard
Callback URLOptional. Opens an HTTPS URL in the Telegram client; game URLs work only with callback_game buttons.Standard
Cache duration (seconds)Optional. How long Telegram clients may cache the result. The default is 0.Standard
Run once per itemOff (default): the node runs once for the whole input. On: if it receives several items (e.g. from Split Out), it runs once PER item, and {{ $json }} is that one item each time. This is how you work through a file list entry by entry.Standard
If one item fails"Skip" writes an `error` field for the failed item and keeps processing the rest, instead of losing the whole run to a single unreadable file.Standard
Pause between items (milliseconds)Wait before every run except the first. 1000 = 1 second per item. Useful when the other side would otherwise throttle you. Maximum 300000 (5 minutes).Standard

Inputs and outputs

InputMeaningType
Chat IDConfigure this value in the node panel.text
MessageConfigure this value in the node panel.text
Topic IDConfigure this value in the node panel.number
Reply toConfigure this value in the node panel.number
ButtonsConfigure this value in the node panel.json
Callback query IDConfigure this value in the node panel.text
Callback notificationConfigure this value in the node panel.text
Show as alertConfigure this value in the node panel.boolean
Callback URLConfigure this value in the node panel.text
Cache durationConfigure this value in the node panel.number
OutputMeaningType
SuccessfulConfigure this value in the node panel.boolean
Message IDConfigure this value in the node panel.number
Chat IDConfigure this value in the node panel.text
Sent atConfigure this value in the node panel.number
Telegram messageThe complete Message response from the Telegram Bot API.json
Callback answeredTrue when Telegram accepted the answer to the button click.boolean
Answered callback query IDConfigure this value in the node panel.text

This node can process lists item by item. Error handling and the delay between items are available in advanced settings.

Example and test run

Send a status update with an inline button: begin with a small, recognizable record. Inspect the output and only map fields that are present there.

Test-run example

{
  "chat_id": "-1001234567890",
  "text": "<b>Deployment abgeschlossen</b>\nVersion 2.4.0 ist live.",
  "parse_mode": "HTML",
  "reply_markup": {
    "inline_keyboard": [
      [
        {
          "text": "Dashboard öffnen",
          "url": "https://example.com/status"
        }
      ]
    ]
  }
}

Access and security

Before activation, review which data enters this step and what its output contains.

Store keys and credentials in the protected connection manager. Never paste them into normal workflow fields, test data or descriptions.

Troubleshooting

  • No output: inspect the latest run and confirm that the previous node returned the expected fields.
  • Empty variable: open the previous step output and use a field name from the real test data.
  • List processed once: enable per-item execution in advanced settings.