Google Chat
Google Chat app integration via Chat API webhooks (HTTP) with DMs, spaces, reactions, typing indicators, and media attachments.
Tags: workspace, google, enterprise
Category: Workspace
Use Cases
- AI assistant integrated into Google Workspace alongside Gmail, Drive, and Calendar
- Team knowledge base bot accessible in Google Chat Spaces
- Automated notification delivery to team members via Google Chat DMs
- Google Workspace-native AI assistant for organizations already using Google ecosystem
- Internal support bot for companies that mandate Google Chat for communication
Tips
- Use Tailscale Funnel to expose only /googlechat publicly while keeping the dashboard private
- Create a dedicated Google Cloud project for OpenClaw — don't mix it with other services
- Store the Service Account JSON key outside your OpenClaw config directory for separation of concerns
- Test by DMing the bot first before adding to Spaces — DMs are simpler to debug
- Run 'openclaw status' to find your gateway's public URL for the webhook configuration
- Set up the Chat app visibility to include your entire team/org for Workspace-wide rollout
- Use 'openclaw logs --follow' to debug webhook delivery issues
Known Issues & Gotchas
- You must refresh the page after initial save, then change App status to 'Live' — this step is hidden and easy to miss
- The Chat app doesn't appear in Marketplace browse — users must search by exact app name in the + menu
- Webhook audience in OpenClaw config must exactly match the URL configured in Google Cloud Console
- Service Account JSON key file contains sensitive credentials — restrict file permissions (chmod 600)
- The /googlechat path must be publicly accessible via HTTPS — keep all other OpenClaw paths private
- If you change the webhook URL, Google may take a few minutes to start sending to the new endpoint
- Google Chat enforces strict HMAC verification on webhook payloads — proxy middleware that modifies request bodies will break verification
- Google Workspace admin policies may block custom Chat apps — check with your admin
Alternatives
- Slack
- Discord
- Microsoft Teams
- Mattermost
Community Feedback
This morning I tried to setup Google Chat as my main messenger platform to connect and discuss with OpenClaw bot but I couldn't get the JSON etc to work. The multi-step setup is confusing.
— Reddit r/googlecloud
Connect OpenClaw to Google Chat in 8 Steps — The Hard Way. Covers every step from Cloud project to config walkthrough. It's thorough because it has to be.
— Stack Junkie
Setting up OpenClaw with Google involves creating a dedicated Gmail account for security purposes, configuring Google Cloud Console to enable API access. Once done, it integrates seamlessly with Workspace.
— DigitalOcean Community
Frequently Asked Questions
Why is Google Chat the hardest channel to set up?
It requires a Google Cloud project, Chat API enablement, Service Account creation, JSON key download, Chat app configuration, visibility settings, public HTTPS endpoint, and correct audience matching. Most other channels need just a token and a config entry.
Do I need a public URL for Google Chat?
Yes. Google Chat uses webhook-based HTTP delivery, so your gateway must be reachable at a public HTTPS URL. Use Tailscale Funnel, Caddy, Cloudflare Tunnel, or a VPS with a domain. There's no long-polling or WebSocket mode like Telegram/Discord.
Why can't I find my bot in Google Chat?
Custom Chat apps don't appear in the Marketplace browse list because they're private. You must search for the bot by its exact app name in the + menu next to Direct Messages. Also verify App status is set to 'Live' in Google Cloud Console.
Can I use Google Chat without Google Workspace?
Google Chat is available to personal Google accounts (chat.google.com), but some features and admin controls are limited to Workspace accounts. The OpenClaw integration works with both.
Does Google Chat support streaming responses?
No. Google Chat doesn't support message editing after send, so streaming via edit-in-place isn't possible. Responses are sent as complete messages once generation finishes.
Configuration Examples
Basic setup with service account
channels:
googlechat:
enabled: true
serviceAccountFile: "~/.openclaw/googlechat-service-account.json"
dmPolicy: pairingEnvironment variable authentication
# Set env: GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json
channels:
googlechat:
enabled: true
dmPolicy: allowlist
allowFrom:
- "users/123456789012345678"Tailscale Funnel exposure
# Terminal commands:
# tailscale serve --bg localhost:18789
# tailscale funnel --bg --set-path /googlechat 443
channels:
googlechat:
enabled: true
serviceAccountFile: "~/.openclaw/googlechat-sa.json"
webhookAudience: "https://your-machine.tail12345.ts.net"Installation
openclaw plugins install @openclaw/googlechat (or bundled)