Connect Telegram to Fondoo
Connecting Telegram lets your business post updates to a Telegram channel or group through your own bot. Your AI agent can draft and schedule messages with text, photos or a video, and you approve them before they are sent. Fondoo posts through its Upload-Post account using your bot's token, so your bot stays under your control.
What Fondoo can do with it
- Send messages to one chat: a text message, a single photo, an album of up to 10 photos (10 MB or less each), or a single video.
- Length: text messages up to 4,096 characters. A message with media has a caption, and captions are limited to 1,024 characters (Telegram Bot API).
- Draft and schedule:
draft_social_posts(one AI post unit per idea),save_social_draft,schedule_social_posts. - Track links: web links become Fondoo tracked links with UTM tags.
- Plan:
get_social_calendar,get_post,get_publishing_capacity.
What it does not do:
- It does not read your chat or reply to members.
- No stats: Upload-Post does not offer Telegram analytics.
- No deleting after sending. Delete the message in Telegram if needed.
What needs your approval:
- By default every Telegram message needs the owner's approval. The agent's
approve_social_postsbecomes a request in your approval queue. - Only the owner can add the bot token (
configure_upload_post_platform) and change posting rules (update_distribution_rules).
Before you start
- A Telegram account and the channel or group you want to post to. You must be able to add administrators to it.
- A bot you own. You create it with Telegram's official @BotFather. It is free.
- Cost: Telegram bots are free. Posting is part of your Fondoo plan. Your plan sets how many social sets you can have (Builder and Launch: one, Growth: three, Agency: ten), with one Telegram chat per social set.
Step by step: get your credentials
You need two values: the bot token and the chat ID.
1. Create the bot
- In Telegram, open a chat with @BotFather. Check it has the blue verified badge.
- Send
/newbot. - Enter a display name, for example your business name.
- Enter a username. It must be 5 to 32 characters, use only letters, numbers and underscores, and end in
bot(for exampleacme_news_bot). It cannot be changed later (BotFather docs). - BotFather replies with a token like
123456789:your-bot-token. Copy it. Anyone with this token can control your bot, so keep it private.
2. Make the bot an administrator
- Open your channel (or group) → its info page → Administrators → Add Admin.
- Search for your bot's username and add it.
- Make sure it can post messages. It does not need other rights.
Upload-Post requires the bot to be an admin of the chat (Upload-Post connecting guide).
3. Find the chat ID
- Public channel: use its username with an
@, for example@acme_news. Telegram accepts@channelusernameas a chat ID (Bot API). - Private channel or group: you need the numeric ID, which for channels usually starts with
-100(for example-100123456789). One way: post a message in the chat after the bot is an admin, then openhttps://api.telegram.org/bot<YOUR-TOKEN>/getUpdatesin your browser and look for"chat":{"id":...}. Only do this on your own device, since the address contains your token.
The token goes in bot_token, and the chat ID in chat_id. An optional name sets the label shown in Fondoo.
Connect it in Fondoo
(a) In the dashboard
The Connections page does not have a Telegram tile yet. Start with your agent or the REST API below. Once connected, the chat appears under Connected.
(b) By asking your agent
Set up Telegram posting for the main site. Create the social connection and give me its connectionId so I can add the bot token myself.
Your agent runs:
connect_service({provider:"telegram", siteId:"YOUR-SITE-UUID"}) // signed 15-minute instructions link
connect_social({siteId:"YOUR-SITE-UUID", provider:"upload_post", network:"telegram",
redirectUrl:"https://your-site.example/connected"})
-> { connectionId, url }Then you, the owner, add the bot. Do not paste the token into an agent chat. Use the REST API with your owner credentials:
curl -X POST https://api.getfondoo.com/v1/ops/configure_upload_post_platform \
-H "Authorization: Bearer $FONDOO_OWNER_KEY" \
-H "Content-Type: application/json" \
-d '{"siteId":"YOUR-SITE-UUID","connectionId":"CONNECTION-UUID","network":"telegram","credential":{"bot_token":"123456:ABC-DEF","chat_id":"@acme_news","name":"Acme News"}}'Upload-Post checks the token and the chat before saving. Then run refresh_social_accounts({siteId, connectionId}).
Telegram does not use add_connection_key or test_connection. refresh_social_accounts is the check.
Turn Telegram on. The owner adds Telegram to the posting rules with update_distribution_rules. Defaults: one post per day, 09:00 to 17:00 UTC, text only, review approval. Add image, carousel or video to formats for media.
Test that it works
list_social_accountsshould show the Telegram connection.- Save a short test message and schedule it, then approve it.
- When due, check the channel, and check
get_postforpublished.
Troubleshooting
- Chat not found or "not enough rights": the bot is not an admin of that chat, or the chat ID is wrong. Add the bot as admin with posting rights; use
@usernameonly for public channels. - Unauthorized: the token is wrong or was replaced. Send BotFather
/token(or use/mybots) to get a new one, then send it again. - "Telegram media caption limit is 1024": a post with photos or video has a caption over 1,024 characters. Shorten it or send text alone.
- "telegram: character limit 4096": shorten the text.
- "Invalid platform credentials": use exactly
bot_tokenandchat_id(plus optionalname). - Flood limits: Telegram stops bots that send more than about 20 messages per minute to one group (Bots FAQ). Fondoo's schedule spreads posts out, so this is rare.
Limits, data and security
- Limits: 4,096 characters for text, 1,024 for captions, 10 photos, 10 MB per photo. Fondoo sets no daily cap for Telegram; your cadence setting controls volume.
- Retries: five automatic attempts, then an alert.
- What Fondoo stores: the connection's name and ID, your messages, schedules and results. Fondoo passes the bot token to Upload-Post, which validates and encrypts it. Fondoo does not keep a copy and never returns it.
- Rotate or disconnect: get a new token in BotFather with
/token, or through/mybotsand your bot's API token settings (BotFather docs). Check there that the old token is revoked; the exact options may differ. Then send the new token with the same call. To disconnect, remove the bot from the chat's administrators, then runrefresh_social_accounts. Cancel pending posts withcancel_postfirst.
Official links
- BotFather and bot features: https://core.telegram.org/bots/features#botfather
- Telegram Bot API: https://core.telegram.org/bots/api
- Bots FAQ (limits): https://core.telegram.org/bots/faq
- Upload-Post: connecting Telegram: https://docs.upload-post.com/guides/connecting-accounts
