SiftDocs
Integrations

Telegram

Connect a Telegram bot to a Sift workspace to monitor groups and support channels, ingest direct conversations, and reply from the inbox alongside every other channel.

At a glance

Inbound: Group messages (threads, replies)✅
Inbound: Channel messages✅
Inbound: Direct messages opened via /sift command✅
Inbound: Backfill on connect✅ 30-day lookback
Inbound: CSAT button replies✅
Outbound: Reply in a group / channel (in-thread)✅ posted by the Sift Bot
Outbound: Direct message to a user✅ in conversations the user opened
Outbound: Send a CSAT prompt at close✅ button-based
Multi-channel + multi-group per workspace✅
Auto-reply bots✅
Secret Chats (end-to-end encrypted)❌ Telegram doesn't expose them via Bot API

Set it up

The Telegram settings page in Sift, showing connected accounts (account names redacted for the docs).
Telegram settings in Sift - manage connected accounts here.

Go to Settings → Integrations → Telegram. You can connect people's accounts, a bot, or both.

  1. Click Add account. A QR code shows.
  2. On your phone, open Telegram and go to Settings → Devices → Link Desktop Device. Scan the code. If the account uses two-step verification, type its password. You can also sign in with a phone number and a code.
  3. Sift monitors the groups, supergroups, forums and channels the account is in. You can connect more than one account, for example a personal and a work account. Sift never reads private chats with people or bots.

A reply you send from Sift posts as your own Telegram account when it is in the chat. If it is not, the reply posts as a Sift bot in the chat. Sift never posts as a teammate's account. If neither your account nor a bot is in the chat, the composer tells you before you send. Replies through an account are text only for now.

Each person can set rules for their account: skip groups, skip channels, skip archived chats, or ask before Sift monitors a new chat. Anyone can stop monitoring a chat. If two accounts are in the same chat, Sift reads it through one of them. When a person leaves or disconnects, another account in the chat takes over. Sift never deletes the chat or its messages.

Sift does not pull old messages by default. To pull history, open a chat and choose Pull history (24 hours, 3 days or 7 days).

Request a chat. Click Request a chat and paste a t.me link, a private invite link or a chat folder link (t.me/addlist/…). Choose the account that joins. If it is your account, it joins at once. If it is another person's account, that person approves the request, and then the account joins. If the group approves new members, Sift waits for the group's admins.

Work on many chats at once. Select chats in the list, or a whole section with its checkbox. The bar at the bottom lets you Monitor or Ignore chats that wait for approval, Add teammate, add or remove channel tags, pull history, or stop monitoring. Ignore stops the chat for the whole workspace. Sift does not read it and does not add it back by itself; it stays under Stopped, where you can monitor it again.

Add a new teammate to your chats. After a teammate connects their own account, select the chats and click Add teammate. Their account joins each chat it is not in yet. For a public chat, it joins directly. For a private chat, a Sift bot or a connected account that is an admin there makes an invite link for one person, and the teammate's account joins with it. If neither exists and your own account is in the chat, your account adds them. Telegram limits how fast an account joins, so a long list can take a while. When it is done, you get a notice with the chats it joined and the chats that need an admin. The account's owner or an org admin can start it. To see the chats a teammate is in, click their account above the list.

Connect a bot

  1. Paste your Telegram Bot token (generate one via @BotFather).
  2. Add the Sift Bot to the groups and channels you want monitored.
  3. (Optional) Configure the /sift trigger: change the slash command or keyword that opens a 1:1 ticket.
  4. Assign each group / channel to a queue (optional) for routing.

The bot needs read permissions in each group to ingest messages, and send permissions to post replies. In channels, the bot must be an admin to read messages.

Once you've added the bot to a channel, the last 30 days of messages are pulled in. Older history isn't reachable through Telegram's API.

What you can do

Reply in-thread in any group or channel the bot is in - posts back to Telegram as the Sift Bot. Reply in a 1:1 ticket opened via /sift:** the user sees a normal DM from the bot. Send a CSAT prompt** at close - interactive button buttons; the user's tap comes back as an action update.

Trigger workflows off any Telegram signal (group, sender, keyword). Route to the right team automatically. Apply auto-reply bots for FAQ patterns.

How conversations get into Sift

Sift uses a Telegram bot account that you add to your groups and channels. There are two paths a conversation can take to reach the inbox:

1. Group + channel messages: once the Sift Bot is added to a group or channel, every new message there flows into the inbox as an action, threaded by the group's topic / reply chain. Use this for "watch our community" or "watch our support group" workflows.

2. /sift command in a group: a user types /sift (or your customized trigger) inside a group, and a private conversation opens between that user and the Sift Bot. Every message after that becomes a 1:1 ticket in Sift, separate from the group's noise. Use this for "let users ask for support from inside the community without spamming the channel" workflows.

Not supported today

  • Secret Chats: Telegram's end-to-end-encrypted personal surface isn't exposed to the Bot API. Anything that needs to stay E2E-encrypted stays in Telegram, not Sift.
  • Private chats on a connected account: Sift reads groups and channels only.
  • Edits and deletes after the fact: if a user edits or deletes a message in Telegram, the original stays in Sift (the inbox is an audit log, not a live mirror).

On this page