Google Chat Bot セットアップガイド
OpenClaw + Google Chat API 連携
前提条件
- Google Workspace アカウント(
@gmail.com ではなく組織ドメイン)
- Google Cloud Platform(GCP)へのアクセス権
- Google Workspace 管理コンソールで Chat アプリのインストールが許可されていること
- OpenClaw がインストール済みであること
- Node.js 環境
1 GCP プロジェクトの作成
- Google Cloud Console にアクセス
- 画面上部のプロジェクトセレクタをクリック → 「新しいプロジェクト」
- プロジェクト名を入力(例:
MyCompany-ChatBot)
- 組織を選択(Google Workspace のドメインと一致させること)
- 「作成」 をクリック
プロジェクトのオーナーアカウントは、Bot を利用する Google Workspace と同じドメインのアカウントを使用してください。異なるドメインの場合、Bot が検索に表示されません。
2 Google Chat API の有効化
- GCP Console → 「APIとサービス」 → 「ライブラリ」
- 検索バーに
Google Chat API と入力
- 「Google Chat API」 を選択
- 「有効にする」 をクリック
3 サービスアカウントの作成とキー発行
3-1. サービスアカウントの作成
- GCP Console → 「IAMと管理」 → 「サービスアカウント」
- 「サービスアカウントを作成」 をクリック
- 以下を入力:
| 項目 | 入力例 |
| サービスアカウント名 | chatbot-service |
| サービスアカウント ID | 自動生成(変更可) |
| 説明 | Google Chat Bot 用サービスアカウント |
- 「作成して続行」 をクリック
- ロールの付与は後で行うため、「完了」 をクリック
3-2. JSON キーの発行
- 作成したサービスアカウントをクリック
- 「鍵」 タブを選択
- 「鍵を追加」 → 「新しい鍵を作成」
- キーのタイプ: JSON を選択
- 「作成」 → JSON ファイルがダウンロードされる
JSON キーファイルは厳重に管理してください。このファイルが漏洩すると、サービスアカウントに付与されたすべての権限が第三者に悪用される可能性があります。Git リポジトリにコミットしないでください。
4 サービスアカウントのロール設定
サービスアカウントの権限を最小限に制限します。
カスタムロールの作成
- GCP Console → 「IAMと管理」 → 「ロール」
- 「ロールを作成」 をクリック
- ロール名を入力(例:
ChatBot Minimal)
- 「権限を追加」 をクリックし、以下を追加:
| 権限 | 用途 |
chat.bots.get | Bot 自身の情報取得 |
chat.bots.update | Bot 情報の更新 |
- 「作成」 をクリック
サービスアカウントにロールを割り当て
- GCP Console → 「IAMと管理」 → 「IAM」
- 「アクセスを許可」 をクリック
- 新しいプリンシパル: サービスアカウントのメールアドレスを入力
- ロール: 作成したカスタムロールを選択
- 「保存」 をクリック
メッセージの送受信権限は IAM ロールではなく、OAuth スコープ(https://www.googleapis.com/auth/chat.messages 等)で制御されます。OpenClaw が自動的にリクエストします。
5 Google Chat API の構成(Bot 設定)
- GCP Console → 「APIとサービス」 → 「有効なAPI」 → 「Google Chat API」
- 上部の 「構成」 タブを開く
- 以下の項目を設定:
アプリケーション情報
| 項目 | 設定値 | 説明 |
| アプリのステータス | ライブ - ユーザーが利用可能 | テスト中でもライブに設定 |
| アプリ名 | 任意(例: MyCompany_Bot) | Google Chat で検索する際の名前 |
| アバターの URL | 任意(空でも可) | Bot のアイコン画像 URL |
| 説明 | 任意 | Bot の説明文 |
インタラクティブ機能
| 項目 | 設定値 |
| 1:1 のメッセージを受信する | ✓ チェック |
| スペースとグループの会話に参加する | ✓ チェック |
接続設定
| 項目 | 設定値 |
| 接続方法 | HTTP エンドポイント URL を選択 |
トリガー
| 項目 | 設定値 |
| トリガー設定 | すべてのトリガーに共通の HTTP エンドポイント URL を使用する |
| HTTP エンドポイント URL | https://YOUR_DOMAIN/googlechat |
URL は HTTPS 必須です。ローカル開発時は ngrok 等のトンネリングサービスを使用してください(後述)。
公開設定
| 項目 | 設定値 |
| 公開範囲 | 「このチャットアプリを [ドメイン] の特定のユーザーとグループが使用できるようにします」 にチェック |
| ユーザー / グループ | 利用するユーザーのメールアドレスを入力(カンマ区切りで複数指定可) |
公開設定の反映には最大 24 時間かかる場合があります。設定直後に Bot が検索に表示されない場合はお待ちください。
ログ
| 項目 | 設定値 |
| エラーを Logging に記録する | ✓ チェック推奨 |
- 「保存」 をクリック
6 Webhook URL の準備(ngrok)
ローカル開発環境の場合、ngrok を使用して外部からアクセス可能な HTTPS URL を作成します。
6-1. ngrok のインストール
brew install ngrok
6-2. アカウント登録と認証
- https://dashboard.ngrok.com/signup でアカウント作成(無料)
- ダッシュボードから authtoken をコピー
- ターミナルで実行:
ngrok config add-authtoken YOUR_AUTHTOKEN
6-3. ドメインの作成
- https://dashboard.ngrok.com/domains にアクセス
- 「Create Domain」 で無料ドメインを作成
6-4. トンネルの起動
ngrok http --url=YOUR_DOMAIN.ngrok-free.dev 8787
OpenClaw のデフォルト Webhook ポートは 8787 です。
本番環境では ngrok ではなく、固定の HTTPS サーバー(Cloud Run, App Engine, VPS 等)を使用してください。
7 OpenClaw プラグインのセットアップ
7-1. プラグインの許可設定
ターミナルで以下を実行:
claude config set plugins.allow '["googlechat"]'
7-2. セットアップウィザード
OpenClaw を起動すると Google Chat プラグインのセットアップウィザードが表示されます。
| 質問 | 選択 / 入力 |
| Install Google Chat plugin? | Use local plugin path |
| Google Chat auth method | Service account JSON file |
| Service account JSON path | ダウンロードした JSON キーファイルのパス |
| Webhook audience type | App URL (recommended) |
| App URL | https://YOUR_DOMAIN.ngrok-free.dev/googlechat |
8 動作確認
- OpenClaw と ngrok が起動していることを確認
- Google Chat を開く
- 「チャットを新規作成」→ Bot の名前(アプリ名)で検索
- Bot を選択してダイレクトメッセージを送信
- Bot から応答が返ることを確認
ngrok のリクエスト確認
ngrok のローカル管理画面でリクエストを確認できます:
http://127.0.0.1:4040
トラブルシューティング
Bot が検索に表示されない
- GCP プロジェクトのオーナーと検索するユーザーが同じ Google Workspace ドメインであることを確認
- 公開設定でユーザーのメールアドレスが正しく入力されているか確認
- Chat API の構成で「アプリのステータス」が「ライブ」になっているか確認
- 設定変更後、最大 24 時間待つ必要がある場合があります
- Google Workspace 管理コンソールで Chat アプリのインストールが許可されているか確認
Bot が応答しない
- OpenClaw がポート 8787 で起動しているか確認
- ngrok トンネルが有効か確認(
http://127.0.0.1:4040 でリクエストログを確認)
- HTTP エンドポイント URL が正しいか確認(末尾の
/googlechat を忘れていないか)
- サービスアカウント JSON ファイルのパスが正しいか確認
- GCP の ログエクスプローラ でエラーログを確認
サービスアカウントキーが漏洩した場合
- GCP Console → 「IAMと管理」 → 「サービスアカウント」
- 対象のサービスアカウントを選択
- 「鍵」 タブ → 漏洩したキーを 削除
- 新しいキーを発行して差し替え
キーを削除すると即座に無効化されます。漏洩が疑われる場合は速やかに対応してください。