Connect your agent to Telegram

About 5 minutes. By the end, you'll have a Telegram bot that talks to your agent — from a real Telegram chat on your phone or desktop.

Before you start

  • An agent already deployed and showing active in the portal
  • A Telegram account on your phone or desktop (free, no developer account needed)
  • About 5 minutes
One concept up front

A Telegram “bot” is just a Telegram account run by software instead of a person. Telegram has a built-in bot called @BotFather that creates other bots. You message @BotFather, get a token, paste it into OpenClaw, and your agent is now reachable as a Telegram chat.

Step 1 — Open Telegram, talk to BotFather

  1. Open Telegram (mobile or desktop, doesn't matter).
  2. In the search bar, type @BotFather and tap the result with the verified blue checkmark. Don't pick the lookalike accounts — only the official one has the checkmark.
  3. Hit Start.

Step 2 — Create a new bot

  1. Send /newbot as a chat message.
  2. BotFather asks for the display name. This is what users see at the top of the chat — anything readable is fine. Example: Acme Support.
  3. BotFather asks for the username. This must:
    • End in bot (e.g. acme_support_bot)
    • Be globally unique across Telegram (you may need to try a few)
    • Use letters, numbers, and underscores only
  4. BotFather replies with a message containing your HTTP API token. It looks like this:
    123456789:ABCdefGHIjklMNOpqrSTUvwxYZ1234567890
Treat the token like a password

Anyone with this token can post and read messages as your bot. Don't paste it into public chats, screenshots, or git commits. If it ever leaks, send /revoke to BotFather to invalidate it and generate a new one.

Step 3 — Paste the token into OpenClaw

  1. From the Cloudo portal, click Open my OpenClaw on the agent you want to connect. You land in your agent's OpenClaw UI on your dedicated subdomain.
  2. Open the Channels tab.
  3. Click Telegram, then Connect.
  4. Paste the token from Step 2 into the Bot Token field.
  5. Click Save. OpenClaw verifies the token by hitting Telegram'sgetMe endpoint and confirms with something like:
    Connected as @acme_support_bot (Acme Support)

Step 4 — Send the first message

  1. In Telegram, search for your bot's username (the one ending in bot).
  2. Tap Start.
  3. Send any message. Your agent should reply within a few seconds, in its configured voice.

If you don't get a reply within ~10 seconds, jump to Troubleshooting below.

Optional polish

Set bot commands (so users see a menu)

Back in @BotFather, send /setcommands, pick your bot, then send a list like:

help - Show what I can do
reset - Start over
contact - Talk to a human

Telegram shows these as a menu in the chat. Make sure your agent's SOUL knows what each command should do — otherwise the menu is decoration.

Profile picture + description

Also via @BotFather:

  • /setuserpic — upload a square image (your logo works)
  • /setdescription — short text shown to anyone who opens the chat for the first time
  • /setabouttext — even shorter text shown in the bot's profile

Privacy mode (group chats)

By default, bots in group chats only see messages that mention them or reply to them (“privacy mode”). If you want your agent to read every message in a group, send /setprivacy to BotFather and pick Disable. Most bots should leave this on — reading every group message is intrusive and uses up your credits faster.

Troubleshooting

The bot is “online” but doesn't reply

Check, in order:

  1. OpenClaw Channels tab — is the connection still showing as connected?
  2. Your credit balance in the portal — if it has reached zero, your agent won't be able to respond. Top up and try again.
  3. Your agent's conversation log — open the agent's dashboard and check the most recent messages. If you can see the incoming message but no reply was sent, contact support with the details and we'll help you diagnose it.

“401 Unauthorized” or “invalid token”

The token is wrong or has been revoked. Go back to @BotFather, send /mybots, pick your bot, and choose API Token. Copy the current token, paste it into OpenClaw's Telegram channel config, save.

I sent a message but nothing reaches OpenClaw

Telegram delivers messages via webhooks or long polling. OpenClaw uses webhooks by default, which means Telegram needs to be able to reach your agent's subdomain. Confirm that:

  • Your agent's subdomain — shown in the portal next to Open my OpenClaw — loads in a browser and shows OpenClaw's UI. That means TLS and reachability are fine. (Sslip-style subdomains use a self-signed cert and will show a browser warning on first load — that's expected for dev tenants.)
  • The bot token in OpenClaw matches the one BotFather currently shows for your bot.
  • You haven't accidentally connected the same bot to two OpenClaw instances. Telegram's webhook is a single endpoint — whoever set it last wins.

If you're still stuck, file a ticket from the portal with: your tenant ID, your bot's username (not the token), and the timestamp of a message that didn't go through. We can grep the agent's log on the VM.

I want to delete the bot

From @BotFather, send /deletebot, pick the bot, confirm. Note that the username is reserved for ~24h after deletion — you can't reuse it immediately.


That's it. Same bot can answer customers on Telegram while OpenClaw also handles your Discord and Slack — one agent, every channel, no extra config per surface. Next up: connect Discord or Slack.

Telegram 연결 — Cloudo 문서