What You Need to Know
To get started, create a bot through Telegram's @BotFather. Copy the bot token and add it to your openclaw.json under channels.telegram.botToken. Set enabled: true and configure a DM policy โ start with "paired-only" or an explicit allowlist of your Telegram user ID to prevent unauthorized access.
Test in a private chat first. Send a message to your bot and confirm you get a response. If messages do not arrive, run openclaw channels status --probe to diagnose the issue. The most common problems are incorrect token format, missing DM policy configuration, or the gateway not being started.
Telegram supports both polling and webhook modes. For most home setups, polling (the default) works without any port forwarding or DNS configuration. If you are deploying to a VPS with a public IP, webhook mode gives lower latency. Configure it with transport: "webhook" and ensure your HTTPS endpoint is reachable.
Voice messages are natively supported in Telegram DMs โ OpenClaw will transcribe audio and respond normally. Group support works via mention-based triggering or explicit group policy configuration. For groups, use groupPolicy: "allowlist" and list specific group IDs to keep control tight.
Once Telegram is stable, it becomes your most reliable channel. It survives gateway restarts cleanly (unlike WhatsApp which requires QR re-scan), handles media attachments well, and integrates smoothly with heartbeat notifications and cron job delivery. Most long-term OpenClaw users keep Telegram as their primary channel even after adding others.