Channels & ProvidersChat
Telegram
Configure Telegram as a chat provider in Notiflows
Telegram integration enables notifications via the Telegram Bot API, delivering messages to users and groups on Telegram.
Configuration
To create a chat channel with Telegram, configure the following:
| Field | Required | Description |
|---|---|---|
| Bot Token | Yes | Bot token from BotFather |
Prerequisites
Before configuring Telegram in Notiflows:
- A Telegram account
- A Telegram bot created via @BotFather
Creating a Telegram Bot
- Open Telegram and search for @BotFather
- Send
/newbotand follow the prompts to name your bot - BotFather will reply with your bot token (e.g.,
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11) - Copy the token — you'll need it for the Notiflows configuration
- Optionally, send
/setdescriptionto set a description for your bot - Add the bot to any group or channel where it should send messages
Setup in Notiflows
- Navigate to Channels in your project
- Click Create Channel
- Select Chat as the channel type
- Select Telegram as the provider
- Paste your Bot Token
- Save the channel
User Channel Settings
To send Telegram notifications to a user, set their chat ID via the Admin API:
curl -X PUT /api/admin/v1/users/:user_external_id/channel-settings/:channel_id \
-d '{ "settings": { "chat_id": "123456789" } }'| Field | Description |
|---|---|
chat_id | Telegram chat ID for the user, group, or channel |
To find a chat ID:
- For users: the user can message your bot, then check
getUpdatesAPI - For groups: add the bot to the group, send a message, and check
getUpdates - For channels: use the channel's
@usernameprefixed with@, or the numeric ID
Templates
Chat templates support two content types:
- Markdown — Telegram MarkdownV2 formatting
- Plain text — Simple text messages
Use Liquid templating for dynamic content:
New order from {{ actor.first_name }}: #{{ data.order_id }}
Total: {{ data.total }}Available variable contexts:
recipient.*— Recipient user dataactor.*— User who triggered the notificationdata.*— Custom payload passed when triggering the notiflow