logo
icon

OpenAB Telegram

One-click Telegram bot powered by OpenAB + Kiro. A single unified service — the OAB binary embeds the Telegram webhook server directly. Fill in one bot token and you're done. No gateway service, no manual config.toml edits. Source: https://github.com/openabdev/openab

template cover
Deployed0 times
PublisherzeaburZeabur
Created2026-07-26
Minimum2 Cores4 GB
Recommended4 Cores8 GB
Tags
AIDeveloper ToolsTelegram

OpenAB Telegram

One-click OpenAB deployment for Telegram — a single unified service. The OAB binary embeds the Telegram webhook server directly (unified mode, v0.9.0+). Just fill in your Telegram bot token.

Telegram ──POST──▶ ┌──────────────────────────────┐
                   │  openab (:8080/webhook/telegram) ──▶ Kiro CLI
                   └──────────────────────────────┘
                      public HTTPS, one service

No separate gateway service, no PVC sharing, no manual config.toml edits. Telegram is auto-enabled by the TELEGRAM_BOT_TOKEN environment variable.

Setup

1. Create a Telegram Bot

  1. Open @BotFather in Telegram
  2. Send /newbot and follow the prompts
  3. Username you chose (e.g. my_zeabur_bot, must end in bot) → paste into Bot Username
  4. Bot token that follows (e.g. 123456:ABC-DEF...) → paste into Telegram Bot Token
  5. For group/supergroup use: send /setprivacyDisable so the bot can see all messages (required for @mention gating)
  6. For supergroups with forum topics (auto thread-per-conversation): add the bot to the group → group settings → Administrators → enable Manage Topics

2. (Optional) Get a Kiro API Key

If you have a paid Kiro subscription, go to kiro.dev → Settings → API Keys → create a key and paste it into KIRO_API_KEY. Free tier users skip this and authenticate post-deploy in step 4.

3. Deploy

Click deploy. A public HTTPS domain is auto-assigned to the service.

4. Authenticate Kiro via Device Flow (free tier only)

Skip if you set KIRO_API_KEY in step 2.

After the openab service is running, open its terminal in Zeabur Dashboard and run:

runuser -u agent -- kiro-cli login --use-device-flow

Follow the URL and code to authorize in your browser.

5. Test

Send a message to your Telegram bot.

The Telegram webhook is registered automatically by an init container at startup — look for openab: telegram webhook registered → https://... in the service logs. No manual curl setWebhook needed.

If you ever need to re-trigger it (e.g. after rotating the bot token or changing the domain), open the openab service page in Zeabur Dashboard — under Instructions, the Re-register Telegram Webhook curl is pre-filled.

Access Control

By default the bot answers everyone (TELEGRAM_ALLOW_ALL_USERS=true). To restrict it, set TELEGRAM_ALLOW_ALL_USERS=false and TELEGRAM_ALLOWED_USERS to a comma-separated list of Telegram user IDs, then restart.

Customization

  • /home/agent/.config/openab/config.toml — OAB config (sessions, reactions, etc.). Created on first boot from a built-in template. To regenerate, delete and restart.
  • Image tag — tracks the floating beta channel (ghcr.io/openabdev/openab:beta-kiro) and auto-updates with each new beta release. Switch to stable for production use. To pin or bump, change the tag in Zeabur Dashboard → Service → Settings. Available tags: GitHub Packages.

Want a different agent backend?

This template uses Kiro as the agent. For Claude / Codex / Cursor / Gemini / OpenCode / Hermes / Grok, deploy the corresponding bot template instead.

Want a different platform?

Unified mode auto-enables platforms from environment variables on this same service: LINE (LINE_CHANNEL_SECRET), Feishu/Lark (FEISHU_APP_ID), Google Chat (GOOGLE_CHAT_ENABLED=true), MS Teams (TEAMS_APP_ID), WeCom (WECOM_CORP_ID). See the OpenAB docs for per-platform setup.