Meet NanoCo, maintainers of NanoClaw: we raised $12M to give every member of your team a professional assistant →
Skills
Messaging Official

Google Chat

Add Google Chat as a messaging channel. Works in spaces and direct messages via a Google Cloud service account.

What it does

  • Connects NanoClaw to Google Chat via Chat SDK
  • Spaces (group conversations) and direct messages
  • Threaded replies
  • Service account authentication — no per-user OAuth
  • HTTP endpoint or pub/sub event delivery

What you'll need

  • NanoClaw installed and running
  • A Google Cloud project with the Google Chat API enabled
  • A service account with the Chat Bot role
  • A publicly reachable HTTPS endpoint for the webhook

Install

/add-gchat

How it works

The /add-gchat skill connects NanoClaw to Google Chat via the Chat SDK bridge. Events are delivered to NanoClaw’s webhook server, and the bot replies through the Chat API authenticated as a service account.

The skill copies the Google Chat adapter from the channels branch and installs @chat-adapter/gchat.

Setup

In Google Cloud Console:

  1. Create or select a project.
  2. Enable the Google Chat API.
  3. Open the Chat API’s Configuration tab and set:
    • App name and description
    • Connection settings → HTTP endpoint URL = https://your-domain/webhook/gchat
  4. Create a service account in IAM & Admin → Service Accounts with the Chat Bot role.
  5. Generate a JSON key and download it.

The whole JSON blob goes into a single .env line:

GCHAT_CREDENTIALS={"type":"service_account","project_id":"...","private_key":"...","client_email":"..."}

What you get

  • Spaces — group conversations where you can @-mention the bot.
  • Direct messages with the bot as a 1:1 conversation.
  • Threaded replies — Google Chat threads are native, and the bot keeps replies in-thread.
  • Service account auth — no per-user OAuth flow. The bot acts as itself, not as you.

Tips

  • The https://your-domain/webhook/gchat endpoint must be publicly reachable from Google’s servers. For local dev, use ngrok http 3000 and point the connection settings at the ngrok URL.
  • The service account JSON contains a private key. Don’t commit it. NanoClaw stores it in .env, which is gitignored, and syncs it to data/env/env for the container.
  • Google Chat space IDs look like spaces/AAAA... — find them in the URL when the space is open in your browser.
  • For team spaces, prefer a separate agent group per space if different teams should have isolated context.