Google Chat Bot セットアップガイド
OpenClaw + Google Chat API 連携

目次

  1. 前提条件
  2. GCP プロジェクトの作成
  3. Google Chat API の有効化
  4. サービスアカウントの作成とキー発行
  5. サービスアカウントのロール設定
  6. Google Chat API の構成(Bot 設定)
  7. Webhook URL の準備(ngrok)
  8. OpenClaw プラグインのセットアップ
  9. 動作確認
  10. トラブルシューティング

前提条件

1 GCP プロジェクトの作成

  1. Google Cloud Console にアクセス
  2. 画面上部のプロジェクトセレクタをクリック → 「新しいプロジェクト」
  3. プロジェクト名を入力(例: MyCompany-ChatBot
  4. 組織を選択(Google Workspace のドメインと一致させること)
  5. 「作成」 をクリック
プロジェクトのオーナーアカウントは、Bot を利用する Google Workspace と同じドメインのアカウントを使用してください。異なるドメインの場合、Bot が検索に表示されません。

2 Google Chat API の有効化

  1. GCP Console → 「APIとサービス」「ライブラリ」
  2. 検索バーに Google Chat API と入力
  3. 「Google Chat API」 を選択
  4. 「有効にする」 をクリック

3 サービスアカウントの作成とキー発行

3-1. サービスアカウントの作成

  1. GCP Console → 「IAMと管理」「サービスアカウント」
  2. 「サービスアカウントを作成」 をクリック
  3. 以下を入力:
    項目入力例
    サービスアカウント名chatbot-service
    サービスアカウント ID自動生成(変更可)
    説明Google Chat Bot 用サービスアカウント
  4. 「作成して続行」 をクリック
  5. ロールの付与は後で行うため、「完了」 をクリック

3-2. JSON キーの発行

  1. 作成したサービスアカウントをクリック
  2. 「鍵」 タブを選択
  3. 「鍵を追加」「新しい鍵を作成」
  4. キーのタイプ: JSON を選択
  5. 「作成」 → JSON ファイルがダウンロードされる
JSON キーファイルは厳重に管理してください。このファイルが漏洩すると、サービスアカウントに付与されたすべての権限が第三者に悪用される可能性があります。Git リポジトリにコミットしないでください。

4 サービスアカウントのロール設定

サービスアカウントの権限を最小限に制限します。

カスタムロールの作成

  1. GCP Console → 「IAMと管理」「ロール」
  2. 「ロールを作成」 をクリック
  3. ロール名を入力(例: ChatBot Minimal
  4. 「権限を追加」 をクリックし、以下を追加:
    権限用途
    chat.bots.getBot 自身の情報取得
    chat.bots.updateBot 情報の更新
  5. 「作成」 をクリック

サービスアカウントにロールを割り当て

  1. GCP Console → 「IAMと管理」「IAM」
  2. 「アクセスを許可」 をクリック
  3. 新しいプリンシパル: サービスアカウントのメールアドレスを入力
  4. ロール: 作成したカスタムロールを選択
  5. 「保存」 をクリック
メッセージの送受信権限は IAM ロールではなく、OAuth スコープ(https://www.googleapis.com/auth/chat.messages 等)で制御されます。OpenClaw が自動的にリクエストします。

5 Google Chat API の構成(Bot 設定)

  1. GCP Console → 「APIとサービス」「有効なAPI」「Google Chat API」
  2. 上部の 「構成」 タブを開く
  3. 以下の項目を設定:

アプリケーション情報

項目設定値説明
アプリのステータスライブ - ユーザーが利用可能テスト中でもライブに設定
アプリ名任意(例: MyCompany_BotGoogle Chat で検索する際の名前
アバターの URL任意(空でも可)Bot のアイコン画像 URL
説明任意Bot の説明文

インタラクティブ機能

項目設定値
1:1 のメッセージを受信する✓ チェック
スペースとグループの会話に参加する✓ チェック

接続設定

項目設定値
接続方法HTTP エンドポイント URL を選択

トリガー

項目設定値
トリガー設定すべてのトリガーに共通の HTTP エンドポイント URL を使用する
HTTP エンドポイント URLhttps://YOUR_DOMAIN/googlechat
URL は HTTPS 必須です。ローカル開発時は ngrok 等のトンネリングサービスを使用してください(後述)。

公開設定

項目設定値
公開範囲「このチャットアプリを [ドメイン] の特定のユーザーとグループが使用できるようにします」 にチェック
ユーザー / グループ利用するユーザーのメールアドレスを入力(カンマ区切りで複数指定可)
公開設定の反映には最大 24 時間かかる場合があります。設定直後に Bot が検索に表示されない場合はお待ちください。

ログ

項目設定値
エラーを Logging に記録する✓ チェック推奨
  1. 「保存」 をクリック

6 Webhook URL の準備(ngrok)

ローカル開発環境の場合、ngrok を使用して外部からアクセス可能な HTTPS URL を作成します。

6-1. ngrok のインストール

brew install ngrok

6-2. アカウント登録と認証

  1. https://dashboard.ngrok.com/signup でアカウント作成(無料)
  2. ダッシュボードから authtoken をコピー
  3. ターミナルで実行:
    ngrok config add-authtoken YOUR_AUTHTOKEN

6-3. ドメインの作成

  1. https://dashboard.ngrok.com/domains にアクセス
  2. 「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 methodService account JSON file
Service account JSON pathダウンロードした JSON キーファイルのパス
Webhook audience typeApp URL (recommended)
App URLhttps://YOUR_DOMAIN.ngrok-free.dev/googlechat

8 動作確認

  1. OpenClaw と ngrok が起動していることを確認
  2. Google Chat を開く
  3. 「チャットを新規作成」→ Bot の名前(アプリ名)で検索
  4. Bot を選択してダイレクトメッセージを送信
  5. Bot から応答が返ることを確認

ngrok のリクエスト確認

ngrok のローカル管理画面でリクエストを確認できます:

http://127.0.0.1:4040

トラブルシューティング

Bot が検索に表示されない

Bot が応答しない

サービスアカウントキーが漏洩した場合

  1. GCP Console → 「IAMと管理」「サービスアカウント」
  2. 対象のサービスアカウントを選択
  3. 「鍵」 タブ → 漏洩したキーを 削除
  4. 新しいキーを発行して差し替え
キーを削除すると即座に無効化されます。漏洩が疑われる場合は速やかに対応してください。