# Connect Telegram

Heropost posts to Telegram channels and groups through your own bot. Create a bot with BotFather, make it an administrator, paste its token into Heropost, then post text, photos, videos, albums and links.

Last checked: Oct 8, 2026 on the live app. Source: https://heropost.ai/docs/networks/telegram/

## How Telegram works in Heropost

Telegram has no sign-in window for apps. Instead, Heropost posts through **your own Telegram bot**: you create a bot, make it an administrator of your channel or group, and give Heropost the bot's token. Each channel or group you add becomes one account in Heropost, and one bot can serve several of them.

## What you need

- **A Telegram channel, group or supergroup.** Personal chats and other bots can't be added.
- **A bot that's an administrator of it,** able to post messages. You create bots with Telegram's @BotFather.
- **A public @username or an invite link** for the channel or group. Heropost can't add one that has neither.
- **The owner or Admin role** in your Heropost workspace.

Telegram isn't one of Heropost's premium networks: every plan can connect it.

## Connect a channel or group

1. In Telegram, open **@BotFather** and create a new bot. BotFather gives you its token, which looks like 123456789:AAF… Copy it. (The **creating a new bot** link in Heropost's window opens Telegram's guide.)
2. Add the bot to your channel or group as an **administrator**, allowed to post messages.
3. Click your **workspace name** at the top of Heropost, then **Accounts**.
4. Press **Add Profile** and choose **Telegram**. The **Add Telegram Account** window opens.
5. Paste the token into **Bot Token**.
6. In **Username or ChatId (optional)**, type the channel's or group's @username (or its chat ID). Or leave it empty, and Heropost looks for the channels and groups where your bot is an administrator.
7. Press **Add**. **Add Social Account** lists what Heropost found under **Channels** and **Groups**. Tick the ones you want and press **Done**.
8. Heropost shows **Account successfully added**.

[Screenshot: The Add Telegram Account window with Bot Token and Username or ChatId (optional)]

[Screenshot: The Add Social Account window listing a Telegram channel and a group]

### When you leave the field empty

Heropost looks through your bot's recent activity, so it finds channels and groups where something happened recently: a message, a post, or the bot being made an administrator. If the list is empty, or a channel is missing:

- Post a message in the channel or group, then press **Add** again.
- Or type the channel's @username in **Username or ChatId (optional)**.

### Private channels and groups

A private channel or group has no @username, so Heropost uses its invite link instead. If a private channel won't add, check the bot's administrator rights (for example, the right to invite users via link) and try again, or give the channel a public @username.

## What you can post

| Post | Supported | Details |
|---|---|---|
| Text only | Yes | Post Type **Media/Caption** with no media. |
| Photo | Yes | One JPG, PNG or WEBP, up to 10 MB. |
| GIF | Yes | One GIF, up to 10 MB, on its own. |
| Video | Yes | One MP4 or MOV, up to 50 MB. |
| Album | Yes | 2 to 10 photos and videos, mixed. GIFs can't be in an album. |
| Link post | Yes | Post Type **Link**: your text, with a preview of the link. Text is required. |
| First comment, polls, buttons, pinned or silent posts | No | |

| Text | Limit |
|---|---|
| Caption | 4,096 characters, or 1,024 when the post has photos or a video |

**Plain text.** Heropost sends your text as it is, without Telegram formatting, so symbols such as \* and \_ appear as typed.

**Who it's from.** In a channel, posts appear as the channel. In a group, they appear from your bot.

**Media tips.** The **Media Requirements** link in the upload box lists Telegram's rules: a photo's width and height must add up to 10,000 pixels or less, and one side can be at most 20 times the other.

## Options in the Telegram tab

[Screenshot: The Telegram tab with Post Type, an album of photos and the caption, and the preview]

- **Post Type:** **Media/Caption** (text, photos, a GIF, a video or an album) or **Link**.
- **Link:** the address for a **Link** post. Use the full address, starting with https://.
- **Caption:** your text. The counter allows 4,096 characters; with media attached, Telegram allows 1,024, and Heropost checks that when you schedule.
- **Take media, caption from the All tab:** switch it on to reuse the All tab's content. On a **Link** post, it takes the link instead of the media.

Photos get your [watermark](/docs/social-accounts/watermark/), if you set one for the account or the workspace.

## Limits and holds

- **No holds from Heropost.** Heropost doesn't pause Telegram accounts.
- **Your bot is the connection.** The token doesn't expire. Posts fail if you remove the bot from the channel, take away its administrator rights, or revoke its token in BotFather.
- **New token?** On the **Accounts** page, open the **⋮** menu on the Telegram account and choose **Reconnect**. **Reconnect Telegram Account** asks only for **Bot Token**: paste the new one and press **Reconnect**.
- **Groups that become supergroups.** When Telegram upgrades a group to a supergroup, Heropost follows it automatically.

## Analytics and the Social Inbox

- **Analytics:** Heropost doesn't collect analytics for Telegram.
- **Social Inbox:** Telegram isn't part of the Social Inbox.

## Errors and fixes

### When you connect or reconnect

| Message | What it means | What to do |
|---|---|---|
| "An unexpected error occurred while processing your request." after you press **Add** or **Reconnect** | Telegram didn't accept the details. The token is wrong, the chat isn't a channel or group, the bot isn't an administrator there, or a private chat has no invite link the bot can see. | Copy the token again from BotFather, check that the bot is an administrator, and check the @username. See [Private channels and groups](#private-channels-and-groups). |
| **Add Social Account** is empty | The bot has no recent activity in a channel or group where it's an administrator. | See [When you leave the field empty](#when-you-leave-the-field-empty). |
| **Add** stays grayed out | **Bot Token** is empty. | Paste the token. |

### In the post editor

| Message | What it means | What to do |
|---|---|---|
| "Gifs in media groups are not supported" | A GIF is in a post with other files. | Post the GIF on its own. |
| "You can upload up to 10 files" | An album takes up to 10 photos and videos. | Remove some. |
| "Wrong file format. Please upload JPG, PNG, WEBP, GIF, MP4 or MOV" | Telegram posts take those types only. | Convert the file. |
| "Image size limit: 10MB maximum" / "Video size limit: 50MB maximum" | The photo or GIF is over 10 MB, or the video is over 50 MB. | Compress it. |
| "Codec is not supported. For more information please check requirements" | Your browser can't read the video. | Export it again as an H.264 MP4. |
| "You can have up to 4096 characters in caption" | The text is too long. | Shorten it. |
| "Caption is required" | A **Link** post needs text. | Write a caption. |
| "Link is required" / "Invalid URL" | A **Link** post needs a full web address. | Paste the full address, starting with https://. |
| Hovering **Schedule All** shows "Please select accounts for Telegram" | Telegram is on for this post, but no channel or group is ticked. | Tick one, or switch Telegram off for the post. |

### When you schedule

These are checked when you schedule or publish:

- "Unable to post because Telegram doesn't allow more than 1024 characters in the caption if the post contains media." Shorten the text to 1,024 characters, or remove the media.
- "Unable to post because Telegram requires link."
- "Unable to post because Telegram requires caption or at least 1 media."
- "Unable to post because Telegram requires caption for link post."

Open the Telegram tab, fix what the message says, and schedule again.

### When a post fails

Failed posts are listed under **Content → Posting Errors**. Telegram's own messages are shown as Telegram wrote them.

| Message | What it means | What to do |
|---|---|---|
| "Bad Request: message caption is too long" | The text with a photo or video is over 1,024 characters, usually from an automation or an AI tool. | Send the post again with **Duplicate Failed**, and shorten the text on the copy's Telegram tab before you schedule it. |
| Another message from Telegram, for example that the bot isn't a member of the chat or can't post there | The bot was removed, lost its administrator rights, or its token was revoked. | Add the bot back as an administrator. If you created a new token, reconnect with it (see [Limits and holds](#limits-and-holds)). Then send the post again with **Duplicate Failed**. |

Failed posts aren't sent again by themselves. After fixing the cause, open the post from **Content → Posting Errors** and choose **⋮ → Duplicate Failed**: you get a draft with only the accounts that failed, ready to schedule. See [The Posting Errors page](/docs/troubleshooting/posting-errors/).

## Questions

**Do I need a separate bot for each channel?**

No. One bot can be an administrator of several channels and groups. Add each one with the same token; each becomes its own account in Heropost.


**Why do my posts in a group show my bot's name?**

Telegram shows messages a bot sends to a group as coming from the bot. In channels, posts appear as the channel. Give your bot a name and picture that fit your brand in BotFather.


**Can I use bold text or formatting?**

No. Heropost sends plain text, so formatting symbols appear as typed.


**Can I post to my personal Telegram chat?**

No. Only channels, groups and supergroups can be added.


**Is my Telegram connection safe if someone sees the bot token?**

Anyone with the token can control the bot. Keep it private. If it leaks, revoke it in BotFather, then reconnect the Telegram accounts in Heropost with the new token.
