Connect OpenClaw to Telegram
Telegram ships in OpenClaw core. Create a bot, give the gateway its token and approve your own account with a pairing code.
You need a running gateway from the install guide and a Telegram account. No public URL is required, because Telegram uses long polling by default.
Create a bot with @BotFather
Message @BotFather from your Telegram account, send /newbot and answer its prompts for a name and a username. BotFather replies with the bot token. Copy it and keep it private, since anyone holding the token controls the bot.
Add the Telegram channel
Replace <bot-token> with the token from step 1. You can also set TELEGRAM_BOT_TOKEN, or add a channels.telegram block to openclaw.json with enabled, botToken, dmPolicy and groups.
shell openclaw channels add --channel telegram --token <bot-token>Check the connection
--probe checks that the gateway can actually reach the bot, not only that the config is present. Fix any error it reports before you message the bot.
shell openclaw channels status --probeApprove your own account
Send the bot a direct message. With dmPolicy on its default, pairing, you get a code instead of a reply. The first command shows every waiting request; the second approves yours by its code. Codes expire after one hour, and at most three can wait at once.
shell openclaw pairing list telegram openclaw pairing approve telegram <CODE>
Keep dmPolicy on pairing or allowlist, and requireMention on for groups. With dmPolicy set to open, anyone who finds the bot can talk to your agent.