OpenClaw Google Chat チャンネル
Google Chat APIのHTTPエンドポイントを使用してOpenClawをGoogle Chatに接続します。このエンタープライズ統合により、AIアシスタントをGoogle Workspace内で運用できます — ダイレクトメッセージとスペース(Space)での会話を処理します。ボットはGoogle ChatからのHTTP POSTリクエストを受信し、サービスアカウントを使用してBearerトークンを検証し、OpenClaw Gatewayを通じてメッセージをルーティングします。
Google Chat 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
対応
スレッド
対応
音声メッセージ
非対応
グループチャット
対応
Google Chat 前提条件
- Google Workspaceアカウント(BusinessまたはEnterprise版)。認可スコープの承認やアプリの可視性設定にはドメイン管理者権限が必要な場合があります
- Google Chat APIが有効化されたGoogle Cloudプロジェクト
- JSONキーファイルが生成されたサービスアカウント
- OpenClaw Gatewayが実行中で設定済み
- Webhook用の公開アクセス可能なHTTPSエンドポイント(Tailscale Funnel、Caddy、Cloudflare Tunnelなど)
Google Chat クイックセットアップ
Google Chat APIを有効化しサービスアカウントを作成
Google Cloud Consoleにアクセスし、Google Chat APIを有効化します。新しいサービスアカウント(例:'openclaw-chat')を作成し、権限設定をスキップしてJSONキーファイルを生成・ダウンロードします。ファイルをGatewayホストに保存します(例:~/.openclaw/googlechat-service-account.json)。
Google Cloud ConsoleでChatアプリを設定
Google Cloud ConsoleのChat設定ページで、アプリ名、アバターURL、説明を設定します。インタラクティブ機能を有効化し、アプリがスペースやグループ会話に参加できるようにします。接続設定として「HTTPエンドポイントURL」を選択し、Gatewayの公開URLに'/googlechat'を追加して入力します('openclaw status'でGateway URLを確認)。
可視性を設定し、アプリを有効化してテスト
アプリの可視性をドメイン内の特定ユーザーまたはグループに制限します。設定を保存し、ページを更新して、アプリのステータスを「ライブ — ユーザーに利用可能」に変更します。Google Chatで「ダイレクトメッセージ」の横にある「+」アイコンをクリックし、アプリ名を検索してテストメッセージを送信します。
Google Chat 設定例
{
"channels": {
"googlechat": {
"serviceAccountFile": "~/.openclaw/googlechat-service-account.json",
"webhookPath": "/googlechat"
}
}
}Google Chat 詳細ドキュメント
アーキテクチャ概要
サービスアカウントの設定
{
"channels": {
"googlechat": {
"serviceAccountFile": "~/.openclaw/googlechat-service-account.json"
}
}
}Chatアプリの設定
公開URLとWebhook設定
# Tailscale Funnel例:
tailscale funnel --set-path=/googlechat localhost:18789
# Caddy例:
reverse_proxy /googlechat* localhost:18789
# Cloudflare Tunnelイングレス設定:
- hostname: your-domain.com
path: /googlechat
service: http://localhost:18789
- service: http_status:404DMとグループポリシー
{
"channels": {
"googlechat": {
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"groupAllowList": ["spaces/AAAA1234"]
}
}
}ターゲットとセッションルーティング
{
"channels": {
"googlechat": {
"botUser": "users/123456789",
"spaces": {
"spaces/AAAA1234": {
"systemPrompt": "あなたはエンジニアリングチームの役立つアシスタントです。"
}
}
}
}
}Google Chat 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| serviceAccountFile | string | "" | Google Cloudサービスアカウント JSONキーファイルのパス |
| audience | string | "app-url" | Bearerトークン検証のオーディエンスタイプ。app-urlの場合、Google ChatはOIDC IDトークンを送信し、project-numberの場合は自己署名JWTを送信します。オプション:app-url、project-number |
| audienceValue | string | "" | トークン検証に使用するオーディエンス値(URLまたはプロジェクト番号) |
| webhookPath | string | "/googlechat" | Google Chat Webhook受信用のHTTPエンドポイントパス |
| botUser | string | "" | ボットユーザー識別子(users/<id>)、スペースでの@メンション検出用 |
| dmPolicy | string | "pairing" | ボットにDMできるユーザーを制御。オプション:pairing、allowlist、open、disabled |
| allowFrom | string[] | [] | ボットにメッセージを送信できるユーザーIDまたはメール(dmPolicyがallowlistの場合に有効) |
| groupPolicy | string | "disabled" | グループスペースポリシー。オプション:disabled、allowlist、open |
| groupAllowList | string[] | [] | groupPolicyがallowlistの場合に許可されるスペースID |
| spaces.<id>.systemPrompt | string | "" | 特定のGoogle Chatスペースのカスタムシステムプロンプト |
| mediaMaxMb | number | 20 | 最大メディアファイルサイズ(メガバイト) |
| actions.typing | boolean | true | AIが応答を生成中にタイピングインジケーターを送信 |
Google Cloudサービスアカウント JSONキーファイルのパス
Bearerトークン検証のオーディエンスタイプ。app-urlの場合、Google ChatはOIDC IDトークンを送信し、project-numberの場合は自己署名JWTを送信します。オプション:app-url、project-number
トークン検証に使用するオーディエンス値(URLまたはプロジェクト番号)
Google Chat Webhook受信用のHTTPエンドポイントパス
ボットユーザー識別子(users/<id>)、スペースでの@メンション検出用
ボットにDMできるユーザーを制御。オプション:pairing、allowlist、open、disabled
ボットにメッセージを送信できるユーザーIDまたはメール(dmPolicyがallowlistの場合に有効)
グループスペースポリシー。オプション:disabled、allowlist、open
groupPolicyがallowlistの場合に許可されるスペースID
特定のGoogle Chatスペースのカスタムシステムプロンプト
最大メディアファイルサイズ(メガバイト)
AIが応答を生成中にタイピングインジケーターを送信
Google Chat よくある質問
Google Chat トラブルシューティング
Google Chatプラグインが有効化されていない、channels.googlechat設定セクションが欠落している、またはGatewayが設定変更後に再起動されていない。
サービスアカウントファイルのパスが正しくない、オーディエンス設定が一致しない、またはBearerトークンが期限切れ。
@メンション検出用のボットユーザー識別子が設定されていない、またはスペースが許可リストにない。
公開URLが正しく設定されていない、ファイアウォールが受信接続をブロックしている、またはSSL証明書が無効。