Telegram is the best way to talk to your OpenClaw agent. It's fast, it's always in your pocket, and the setup takes about 5 minutes. Here's exactly how to do it.

Why Telegram Is the Best Channel for OpenClaw

OpenClaw supports Telegram, WhatsApp, Discord, Signal, and more. But Telegram is the one most people start with. And for good reason.

It's free. The Bot API is open. You don't need a business account or a phone number dedicated to the bot. You create a bot in 30 seconds, paste a token, and you're talking to your AI agent from your phone.

Telegram also has features that make it uniquely powerful for AI agents: forum topics (so you can run multiple agents in one group), inline buttons, voice message support, reactions, and no message length limits that matter in practice.

I run my entire 13-agent team through Telegram. Every agent has its own forum topic. I can message any of them from anywhere.

Telegram vs WhatsApp for OpenClaw: Telegram wins on flexibility. WhatsApp requires the Cloud API, a Meta Business account, and has stricter rate limits. Telegram just needs a bot token. If you want the simplest path to a working AI assistant, start here.

Step 1: Create Your Bot with BotFather

Every Telegram bot starts with @BotFather. It's Telegram's official bot for creating and managing bots. Here's the process:

  1. Open Telegram and search for @BotFather (make sure it has the blue verified checkmark)
  2. Send /newbot
  3. Choose a display name (example: "Marc Assistant")
  4. Choose a username ending in "bot" (example: "marc_assistant_bot")
  5. BotFather gives you a token. Copy it. It looks like: 123456789:ABCdefGHIjklMNOpqrSTUvwxYZ

That token is your bot's password. Don't share it publicly. If you leak it, go back to BotFather, send /revoke, and generate a new one.

Optional BotFather Settings

While you are in BotFather, configure these additional settings to make your bot look professional:

None of these are required. But they take 2 minutes and make the bot feel polished instead of half-finished.

Privacy mode matters for groups. By default, Telegram bots can only see messages that mention them in groups. If you want your agent to see all group messages, send /setprivacy to BotFather and set it to Disable. After changing this, remove and re-add the bot to each group so Telegram applies the new setting.

Step 2: Configure OpenClaw

Now tell OpenClaw about your bot. You have two options:

Option A: Environment variable (quick)

export TELEGRAM_BOT_TOKEN="your-token-here"
openclaw gateway restart

Option B: Config file (recommended for multi-channel setups)

Edit your OpenClaw config (usually ~/.openclaw/config.json5):

{
  channels: {
    telegram: {
      enabled: true,
      botToken: "your-token-here",
      dmPolicy: "pairing",
      groups: {
        "*": { requireMention: true }
      }
    }
  }
}

Then restart the gateway:

openclaw gateway restart

The dmPolicy: "pairing" setting means new users need to be approved before they can chat with your bot. This keeps random strangers from burning through your API credits.

For single-user setups: If you're the only person using this bot, switch to dmPolicy: "allowlist" and add your Telegram user ID to allowFrom. It's more durable than pairing because the permission lives in config, not in a temporary approval store.

Step 3: Pair Your Account

With pairing mode enabled, here's how to connect:

  1. Open Telegram and send any message to your bot
  2. On your server, run: openclaw pairing list telegram
  3. You'll see a pairing code. Approve it: openclaw pairing approve telegram YOUR_CODE
  4. Pairing codes expire after 1 hour, so don't wait too long

That's it. Send a message to your bot and your OpenClaw agent will respond.

Finding your Telegram user ID (you'll need this for allowlist mode):

Step 4: Add Your Bot to Group Chats

DMs are useful. But groups are where things get interesting.

Add your bot to any Telegram group, then configure which groups it should respond in. By default, OpenClaw uses groupPolicy: "allowlist", meaning you need to explicitly allow each group.

To allow a specific group:

{
  channels: {
    telegram: {
      groups: {
        "-1001234567890": {
          groupPolicy: "open",
          requireMention: true
        }
      }
    }
  }
}

Replace -1001234567890 with your actual group ID. To find it: add the bot to the group, send a message, and check openclaw logs --follow for the chat.id value. Group IDs are always negative numbers.

The requireMention: true setting means the bot only responds when someone tags it with @botusername. Set it to false if you want the bot to see and respond to every message.

Running Multiple Agents in Forum Topics

This is the power move. Telegram forum groups let you create topics (like channels within a group). OpenClaw can route different agents to different topics.

Here's how I run my setup: one Telegram forum group, 13 topics, 13 agents. Each agent has its own space. They don't interfere with each other.

The config looks like this:

{
  channels: {
    telegram: {
      groups: {
        "-1001234567890": {
          topics: {
            "1": { agentId: "main" },
            "3": { agentId: "dan" },
            "5": { agentId: "tyler" }
          }
        }
      }
    }
  }
}

Each topic gets its own session key, so conversations stay isolated. Agent Dan in topic 3 doesn't see what agent Tyler is doing in topic 5.

To find topic IDs: open the forum topic, send a message, and check openclaw logs --follow for message_thread_id.

Pro tip: You can also spawn ACP (Agent Control Protocol) sessions directly from a Telegram topic using /acp spawn <agent> --thread here. Follow-up messages in that topic route to the bound session automatically. No manual steering needed.

Voice Messages, Reactions, and Media

Telegram isn't just text. OpenClaw supports the full range of Telegram features:

Voice messages: Send a voice note to your bot. OpenClaw transcribes it automatically (using Whisper or your configured STT provider) and responds. You can also configure your agent to reply with voice using TTS. It works in both DMs and groups.

Reactions: Your agent can react to messages with emoji. It's a lightweight way for the agent to acknowledge something without sending a full reply. Useful in group chats where you don't want the bot to respond to every single message.

Photos and files: Send images and documents. OpenClaw processes them with vision models (for images) or extracts text (for documents). Your agent can send media back too, including images, videos, and files.

Stickers: OpenClaw can describe stickers it receives using vision models and caches the descriptions to avoid repeated API calls. The cache lives at ~/.openclaw/telegram/sticker-cache.json.

Inline buttons: Your agent can send messages with clickable buttons. Great for confirmations, quick actions, or presenting options without typing.

Notification Configuration

By default, your bot sends regular Telegram messages with full notifications. You can control this per-message:

Channels vs Groups vs DMs

Telegram has three conversation types. Each works differently with OpenClaw:

TypeBest ForBot Behavior
DM (direct message)Personal assistant usageFull two-way conversation. The primary way most people interact with their agent.
Group chatTeam collaborationBot responds to mentions or all messages depending on config. Multiple people can interact.
Forum group (topics)Multi-agent setupsEach topic routes to a different agent. Best for running many agents from one place.
ChannelBroadcastingBot can post to channels but cannot receive messages from them. One-way only. Good for automated announcements.

For solo founders, start with DMs. That is the simplest setup: one bot, one conversation, full access to your agent. As you add more agents, switch to a forum group. That is how I run my 13-agent team without drowning in separate chats.

Common Issues and Fixes

Bot doesn't respond to DMs:

Bot doesn't respond in groups:

Bot responds slowly:

Token issues:

For more detailed troubleshooting, check the OpenClaw troubleshooting guide.

Best Practices for a Production Telegram Setup

After months of running 13 agents through Telegram, here is what I have learned:

Ready to install OpenClaw and connect it to Telegram? Head to installopenclawnow.com to get started in minutes.

Frequently Asked Questions

How do I create an OpenClaw Telegram bot?

Open Telegram, message @BotFather, use /newbot to create a bot, and copy the token. Add the token to your OpenClaw gateway configuration during onboarding. Your OpenClaw agent will now respond to messages sent to your Telegram bot.

Can I control OpenClaw from Telegram?

Yes, Telegram is one of the most popular ways to interact with OpenClaw. You can send text commands, voice messages, images, and files to your bot. The agent processes them and responds directly in the chat.

Does the OpenClaw Telegram bot support voice messages?

Yes, OpenClaw's Telegram integration supports voice messages, text, images, files, reactions, and inline buttons. You can speak to your agent and it will transcribe and process your voice message automatically.

Can I use my OpenClaw Telegram bot in group chats?

Yes, you can add your OpenClaw bot to Telegram group chats. Configure it to respond to direct mentions or all messages. The agent can participate in group discussions, answer questions, and moderate content based on your instructions.

Is the OpenClaw Telegram bot always available?

Yes, as long as your OpenClaw instance is running (on a Mac Mini, VPS, or always-on machine), the Telegram bot responds 24/7. Messages are processed in real-time through the Telegram Bot API.

OpenClaw Lab is the #1 community for founders building AI agent systems. I share the exact playbooks, skill files, and workflows inside. Weekly lives, expert AMAs, and 260+ founders building real systems.

Join OpenClaw Lab →