Telegram · Send a message — Sends a message from your Telegram bot — posts text to a chat your bot is in: a person who has started it, a group, or a channel where it is an administrator.
Who can do this
Workspace Admins and Editors, on every plan. Viewers see the step's settings but cannot change them.
Before you start
- A Telegram connection in this workspace — see Connect Telegram.
- The bot let into the chat: the person has selected Start in the bot, or the bot is a member of the group, or an administrator of the channel.
Steps
- Select + where the message should be sent. In the step picker, open Apps, select Telegram, then Send a message. Or search Telegram.
- In Connection, choose your Telegram connection. If it is the only one, it is already chosen.
- In Chat, choose the chat — Chats the bot has seen. Or use a value — a chat id from the trigger. The list reads Loading your chats… first; each chat shows its name with Person, Group or Channel beside it.
- In Text, type the message. Use
{{ }}for values from earlier steps. - Under Format, choose Plain (the default), Markdown or HTML — see Formatting below.
- Optional: in Reply to message, a message id — Optional — a message id in the same chat. The message shows as a reply to it.
- Optional: under Buttons, select Add a field. Type the button's label — Open the order — and in Value the link it opens. A label and the link it opens.
- Optional: switch on Silent — Delivers without a sound.
- Select Run this step to send a test.
To take the chat from an earlier step instead, select Use a value beside Chat and type {{ }} — a chat id, or a public channel's username such as @consulace_updates. Choose from the list goes back. Refresh reloads the list after the bot joins a chat.
Formatting
- Plain sends the text as it is.
- Markdown uses Telegram's MarkdownV2:
*bold*,_italic_,`code`,[a link](https://www.consulace.com). In this format Telegram reserves these characters, and each one meant literally needs a\before it:_ * [ ] ( ) ~ > # + - = | { } . !and the backtick — so Total: ₹4,999.00 is writtenTotal: ₹4,999\.00. - HTML uses
<b>bold</b>,<i>italic</i>,<code>code</code>and<a href="https://www.consulace.com">a link</a>. Write<and&for a literal<and&.
When a value from an earlier step might contain those characters, Plain is the safe choice.
Output
| Field | What it is |
|---|---|
id |
The message's id in the chat. Edit, delete, pin or reply to it with this. |
chatId |
The chat's id. |
chat |
The chat's title, or the person's username or first name. |
text |
The message as sent. |
date |
When Telegram took it, in UTC — for example 2026-10-02T09:30:00Z. |
Later steps read it as, for example, {{ steps.send_a_message.id }}.
Good to know
- Runs once per item. Ten items send ten messages.
- Up to 4,096 characters in one message — Telegram's limit.
- Buttons only open links. Each button sits on its own row; only
httpsandhttplinks are used, and a row without a link is left out. - The message comes from the bot, with its name and picture — not from you.
- A person must start the bot first. A bot cannot write to someone who has never opened it.
If something goes wrong
| What you see | Why | What to do |
|---|---|---|
| Telegram refused: Bad Request: chat not found | The id is wrong, or the bot is not in that chat. | Choose the chat from the list, or add the bot to it. |
| Telegram refused: Forbidden: bot can't initiate conversation with a user. | The person has never selected Start in the bot. | Ask them to open the bot and select Start. The connection is fine. |
| Telegram refused: Forbidden: bot was blocked by the user. | The person blocked the bot. | They unblock it in Telegram. The connection is fine. |
| Telegram refused: Forbidden: bot is not a member of the channel chat. | The bot is not an administrator of the channel. | Add it as an administrator with Post messages. |
| Telegram refused: Bad Request: can't parse entities: … | Markdown or HTML text with a character that needs escaping, or a tag left open. | Escape the character, or choose Plain. |
| Telegram refused: Bad Request: message to be replied not found | Reply to message names a message not in this chat. | Check the id, or clear the field. |
| Telegram refused: Too Many Requests: retry after 5 | The bot sent too fast to one chat. | Set If this step fails to try again, or send fewer messages. |
| Chat is empty when the step ran — an earlier step may not have given the value it names. / Text is empty when the step ran — … | The value came out empty. | Check the values it reads. |
| Telegram refused: Unauthorized. Check the connection's details on Connections. | The bot's token was changed with /revoke. |
Revoke the connection and reconnect it with the new token. |