Skip to main content

Telegram

Telegram is a destination in Dispatch — events are delivered to Telegram direct messages, groups, or channels via the Dispatch bot.

note

Telegram is not a webhook source. You cannot receive webhooks from Telegram into Dispatch. It is only used as a delivery target.

Connecting a Telegram Destination

When adding a Telegram destination, choose one of two modes:


Direct Messages

Send notifications to your personal Telegram DMs.

  1. Click Connect on the Telegram card and select Direct messages
  2. Click Log in with Telegram — you will be redirected to authenticate with your Telegram account
  3. After authenticating, open a conversation with the bot in Telegram and press Start (this is required by Telegram before a bot can DM you)
  4. Return to the dashboard and click Verify DMs are open
  5. Once verified, name the destination and click Connect

Group or Channel

Send notifications to a Telegram group, supergroup, or channel.

  1. Click Connect on the Telegram card and select Group or channel
  2. Add the Dispatch bot to your group or channel
    • For channels: make the bot an administrator with permission to post messages
  3. Click Generate verification code in the dashboard
  4. A unique code is displayed (e.g., /ABCDEF12). Send this command in the group or channel — any member can send it
  5. Dispatch automatically detects the group once the code is received
  6. Name the destination and click Connect

The verification code expires after 3 minutes. If it times out, generate a new one.

Manual Chat ID Entry

If you prefer to skip code-based discovery, expand Enter chat ID manually and paste either:

  • A numeric chat ID (e.g., -1001234567890)
  • A public channel username (e.g., @mychannel)
  • A t.me message link (e.g., https://t.me/c/1234567890/1)

Click Verify to confirm the bot has access, then connect.


Message Formatting

By default, Dispatch converts the embed format into Telegram HTML. For full control, use a template with a telegram_html field.

Auto-Converted Format

When no template is assigned, Dispatch auto-converts the embed to Telegram HTML:

  • Title becomes bold text
  • Description is included as-is
  • Fields are formatted as <b>name</b>: value pairs
  • Footer is appended at the end

Native Telegram HTML

Use a v2 multi-platform template with a telegram platform variant for full control:

{
"version": 2,
"platforms": {
"telegram": {
"telegram_html": "<b>{{upper .Meta.EventType}}</b>\n\nRepo: <code>{{.Body.repository.full_name}}</code>\nAction: <code>{{.Body.action}}</code>\n\nOpened by <b>{{.Body.sender.login}}</b>"
}
}
}

Supported HTML tags:

TagRenders as
<b> / <strong>Bold
<i> / <em>Italic
<u> / <ins>Underline
<s> / <strike> / <del>Strikethrough
<code>Inline code
<pre>Code block
<blockquote>Block quote
<a href="url">Hyperlink
<tg-spoiler>Hidden spoiler

Rate Limiting

Telegram enforces rate limits per bot and per chat. Dispatch automatically handles rate limit responses by rescheduling the delivery rather than counting it as a failure.