All-in-one Google Chat bot powered by OpenAB + Kiro. Deploys the OAB agent and the Google Chat gateway together — paste the Service Account JSON, configure the app URL in Google Cloud Console once, and you're done. No separate gateway setup, no manual config.toml edits. Source: https://github.com/openabdev/openab

One-click OpenAB deployment for Google Chat — bot agent + gateway bundled together. Paste your Service Account JSON, configure one URL in Google Cloud Console, and you're done.
Google Chat ──POST──▶ ┌──────────────────┐ ◀──WebSocket── ┌────────────┐
│ openab-gateway │ │ openab │
│ (googlechat only)│ │ (Kiro CLI) │
└──────────────────┘ └────────────┘
public HTTPS internal only
Prerequisites: A Google Workspace account (Business / Enterprise tier). Consumer
@gmail.comaccounts cannot create Google Chat apps. You also need access to a Google Cloud Console project where you can enable the Chat API and create a service account.
| Service | Purpose | Public |
|---|---|---|
openab | OAB agent running Kiro CLI | No |
openab-gateway | Google Chat events → WebSocket bridge | Yes (auto HTTPS) |
No PVC sharing, no manual config.toml edits. The agent's config.toml is generated on first boot with the gateway URL pre-wired to ws://openab-gateway:8080/ws and platform = "googlechat".
GOOGLE_CHAT_ENABLED=true and GOOGLE_CHAT_AUDIENCE (the JWT verification audience) are set automatically — no manual input needed.
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.
Click deploy. A public HTTPS domain is auto-assigned to the gateway service.
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.
Google Chat App URL must be set manually in GCP — no programmatic API.
https://your-gateway.zeabur.app).https://<YOUR_GATEWAY_DOMAIN>/webhook/googlechatThe openab-gateway service Instructions section shows the exact App URL pre-filled.
In Google Chat (mail.google.com/chat or the standalone app), find your app by its name → start a DM → send a message. The gateway verifies the JWT, forwards the message to OAB, and OAB replies via the Chat REST API using your service account.
For spaces / group chats: invite the app from the space's Apps & integrations menu.
/home/agent/.config/openab/config.toml — OAB config (sessions, reactions, etc.). Created on first boot from a built-in template with the [gateway] block pre-wired. To regenerate, delete and restart.stable channel (ghcr.io/openabdev/openab:stable) and auto-updates with each OpenAB stable release. Gateway is pinned at ghcr.io/openabdev/openab-gateway:0.5.1 (no :stable tag yet). To pin or bump, change the tag in Zeabur Dashboard → Service → Settings. Available tags: OpenAB / Gateway.Google Chat signs every incoming POST with a JWT. The gateway:
iss claim is [email protected].aud claim matches GOOGLE_CHAT_AUDIENCE (auto-set by this bundle to ${gateway-url}/webhook/googlechat).Any tampered or replayed request fails one of these checks and is rejected with 401.
This bundle uses Kiro as the default agent. For Claude / Codex / Cursor / Gemini / OpenCode / Hermes / Grok, deploy the corresponding bot template separately together with the standalone OpenAB Gateway.
See OpenAB Telegram Bundle / Feishu Bundle / LINE Bundle / WeCom Bundle / MS Teams Bundle or the standalone OpenAB Gateway.