Google Chat (Chat API)
Status: bereit für DMs + Leerzeichen über Google Chat API Webhooks (nur HTTP).
Schnelle Einrichtung (Anfänger)
-
Erstellen Sie ein Google Cloud-Projekt und aktivieren Sie die Google Chat API.
- Gehen Sie zu: Google Chat API-Anmeldeinformationen
- Aktivieren Sie die API, falls sie nicht bereits aktiviert ist.
-
Erstellen Sie ein Dienstkonto:
- Drücken Sie Anmeldeinformationen erstellen > Dienstkonto.
- Geben Sie ihm einen beliebigen Namen (z. B.
openclaw-chat). - Lassen Sie die Berechtigungen leer (drücken Sie Fortfahren).
- Lassen Sie Principals mit Zugriff leer (drücken Sie Fertig).
-
Erstellen und laden Sie den JSON-Schlüssel herunter:
- Klicken Sie in der Liste der Dienstkonten auf das gerade erstellte Konto.
- Gehen Sie auf die Registerkarte Schlüssel.
- Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
- Wählen Sie JSON und drücken Sie Erstellen.
-
Speichern Sie die heruntergeladene JSON-Datei auf Ihrem Gateway-Host (z. B.
~/.clawdbot/googlechat-service-account.json). -
Erstellen Sie eine Google Chat-App in der [Google Cloud Console Chat Configuration] (https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat ):
-
Füllen Sie die Application info aus:
- Name der Anwendung: (z.B.
OpenClaw) - Avatar-URL: (z. B.
https://molt.bot/logo.png) - Beschreibung: (z.B.
Persönlicher KI-Assistent)
- Name der Anwendung: (z.B.
-
Aktivieren Sie Interaktive Funktionen.
-
Aktivieren Sie unter Funktionalität die Option Räumen und Gruppengesprächen beitreten.
-
Wählen Sie unter Verbindungseinstellungen die HTTP-Endpunkt-URL.
-
Wählen Sie unter Auslöser die Option Gemeinsame HTTP-Endpunkt-URL für alle Auslöser verwenden und setzen Sie diese auf die öffentliche URL Ihres Gateways, gefolgt von
/googlechat.- Tipp: Führen Sie “openclaw status” aus, um die öffentliche URL Ihres Gateways zu finden.
-
Aktivieren Sie unter Sichtbarkeit die Option Diese Chat-App für bestimmte Personen und Gruppen in Ihrer Domäne verfügbar machen.
-
Geben Sie Ihre E-Mail-Adresse (z. B.
user@example.com) in das Textfeld ein. -
Klicken Sie unten auf Speichern.
-
-
Status der App aktivieren:
- Aktualisieren Sie nach dem Speichern die Seite.
- Suchen Sie nach dem Abschnitt App-Status (normalerweise oben oder unten nach dem Speichern).
- Ändern Sie den Status auf Live - verfügbar für Benutzer.
- Klicken Sie erneut auf Speichern.
-
Konfigurieren Sie OpenClaw mit dem Pfad des Dienstkontos und der Webhook-Zielgruppe:
- Env:
GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json - Oder Konfig:
channels.googlechat.serviceAccountFile: "/path/to/service-account.json".
- Env:
-
Legen Sie den Webhook Audience Type + Value fest (entspricht der Konfiguration Ihrer Chat-App).
-
Starten Sie das Gateway. Google Chat sendet POST an Ihren Webhook-Pfad.
Zu Google Chat hinzufügen
Sobald das Gateway läuft und Ihre E-Mail zur Sichtbarkeitsliste hinzugefügt wurde:
-
Gehen Sie zu [Google Chat] (https://chat.google.com/ ).
-
Klicken Sie auf das Symbol + (Plus) neben Direktnachrichten.
-
Geben Sie in der Suchleiste (wo Sie normalerweise Personen hinzufügen) den App-Namen ein, den Sie in der Google Cloud Console konfiguriert haben.
- Hinweis: Der Bot wird nicht in der Suchliste des “Marketplace” angezeigt, da es sich um eine private App handelt. Sie müssen nach dem Namen suchen.
-
Wählen Sie Ihren Bot aus den Ergebnissen aus.
-
Klicken Sie auf Hinzufügen oder Chat, um ein 1:1-Gespräch zu beginnen.
-
Senden Sie “Hallo”, um den Assistenten auszulösen!
Öffentliche URL (nur Webhook)
Google Chat-Webhooks erfordern einen öffentlichen HTTPS-Endpunkt. Aus Sicherheitsgründen sollten Sie nur den Pfad /googlechat für das Internet freigeben. Halten Sie das OpenClaw Dashboard und andere sensible Endpunkte in Ihrem privaten Netzwerk.
Option A: Tailscale Funnel (empfohlen)
Verwenden Sie Tailscale Serve für das private Dashboard und Funnel für den öffentlichen Webhook-Pfad. Dadurch bleibt / privat und nur /googlechat wird offengelegt.
- Prüfen Sie, an welche Adresse Ihr Gateway gebunden ist:
ss -tlnp | grep 18789Notieren Sie die IP-Adresse (z. B. “127.0.0.1”, “0.0.0.0” oder Ihre Tailscale-IP wie “100.x.x.x”). 2. Schalten Sie das Dashboard nur für das Tailnet frei (Port 8443):
# If bound to localhost (127.0.0.1 or 0.0.0.0):
tailscale serve --bg --https 8443 http://127.0.0.1:18789
# If bound to Tailscale IP only (e.g., 100.106.161.80):
tailscale serve --bg --https 8443 http://100.106.161.80:18789- Nur den Webhook-Pfad öffentlich anzeigen:
# If bound to localhost (127.0.0.1 or 0.0.0.0):
tailscale funnel --bg --set-path /googlechat http://127.0.0.1:18789/googlechat
# If bound to Tailscale IP only (e.g., 100.106.161.80):
tailscale funnel --bg --set-path /googlechat http://100.106.161.80:18789/googlechat- Autorisieren Sie den Knoten für den Funnel-Zugriff: Wenn Sie dazu aufgefordert werden, besuchen Sie die in der Ausgabe angezeigte Autorisierungs-URL, um Funnel für diesen Knoten in Ihrer Tailnet-Richtlinie zu aktivieren.
- Überprüfen Sie die Konfiguration:
tailscale serve status
tailscale funnel statusIhre öffentliche Webhook-URL wird sein:
https://<node-name>.<tailnet>.ts.net/googlechatIhr privates Dashboard bleibt tailnet-only:
https://<Knotenname>.<tailnet>.ts.net:8443/Verwenden Sie die öffentliche URL (ohne :8443) in der Konfiguration der Google Chat-App.
Hinweis: Diese Konfiguration bleibt über Neustarts hinweg bestehen. Um sie später zu entfernen, führen Sie “tailscale funnel reset” und “tailscale serve reset” aus.
Option B: Umgekehrter Proxy (Caddy)
Wenn Sie einen Reverse Proxy wie Caddy verwenden, lassen Sie nur den spezifischen Pfad proxen:
your-domain.com {
reverse_proxy /googlechat* localhost:18789
}Mit dieser Konfiguration wird jede Anfrage an Ihre-Domain.com/ ignoriert oder als 404 zurückgegeben, während Ihre-Domain.com/googlechat sicher an OpenClaw weitergeleitet wird.
Option C: Cloudflare Tunnel
Konfigurieren Sie die Ingress-Regeln Ihres Tunnels so, dass nur der Webhook-Pfad weitergeleitet wird:
- Pfad:
/googlechat->http://localhost:18789/googlechat - Standard-Regel: HTTP 404 (Nicht gefunden)
So funktioniert es
-
Google Chat sendet Webhook-POSTs an das Gateway. Jede Anfrage enthält einen
Authorization: Bearer <token>-Header. -
OpenClaw prüft das Token anhand des konfigurierten
AudienceTypeundAudience:audienceType: "app-url"→ audience ist Ihre HTTPS-Webhook-URL.audienceType: "project-number"→ audience ist die Cloud-Projektnummer.
-
Nachrichten werden nach Raum weitergeleitet:
- DMs verwenden den Sitzungsschlüssel
agent:<agentId>:googlechat:dm:<spaceId>. - Spaces verwenden den Sitzungsschlüssel
agent:<agentId>:googlechat:group:<spaceId>.
- DMs verwenden den Sitzungsschlüssel
-
DM-Zugang ist standardmäßig Pairing. Unbekannte Absender erhalten einen Pairing-Code; genehmigen Sie mit:
openclaw pairing approve googlechat <code>
-
Gruppenräume erfordern standardmäßig eine @-Erwähnung. Verwenden Sie
botUser, wenn die Erwähnungserkennung den Benutzernamen der App benötigt.
Ziele
Verwenden Sie diese Bezeichner für Zustellungs- und Erlaubnislisten:
- Direkte Nachrichten:
users/<userId>oderusers/<email>(E-Mail-Adressen werden akzeptiert). - Spaces:
spaces/<spaceId>.
Konfig-Highlights
{
channels: {
"googlechat": {
enabled: true,
serviceAccountFile: "/path/to/service-account.json",
audienceType: "app-url",
audience: "https://gateway.example.com/googlechat",
webhookPath: "/googlechat",
botUser: "users/1234567890", // optional; helps mention detection
dm: {
policy: "pairing",
allowFrom: ["users/1234567890", "name@example.com"]
},
groupPolicy: "allowlist",
groups: {
"spaces/AAAA": {
allow: true,
requireMention: true,
users: ["users/1234567890"],
systemPrompt: "Short answers only."
}
},
actions: { reactions: true },
typingIndicator: "message",
mediaMaxMb: 20
}
}
}Anmerkungen:
- Die Anmeldedaten für das Dienstkonto können auch inline mit
serviceAccount(JSON-String) übergeben werden. - Der Standard-Webhook-Pfad ist
/googlechat, wennwebhookPathnicht gesetzt ist. - Reaktionen sind über das Werkzeug
reactionsundchannels actionverfügbar, wennactions.reactionsaktiviert ist. - TypingIndicator” unterstützt “keine”, “Nachricht” (Standard) und “Reaktion” (Reaktion erfordert Benutzer-OAuth).
- Anhänge werden über die Chat-API heruntergeladen und in der Medien-Pipeline gespeichert (die Größe ist durch
mediaMaxMbbegrenzt).
Fehlersuche
405 Methode nicht erlaubt
Wenn Google Cloud Logs Explorer Fehler anzeigt wie:
status code: 405, reason phrase: HTTP error response: HTTP/1.1 405 Method Not AllowedDies bedeutet, dass der Webhook-Handler nicht registriert ist. Häufige Ursachen:
- Kanal nicht konfiguriert: Der Abschnitt “channels.googlechat” fehlt in Ihrer Konfiguration. Überprüfen Sie mit:
openclaw config get channels.googlechatWenn “Config path not found” zurückgegeben wird, fügen Sie die Konfiguration hinzu (siehe Config highlights). 2. Plugin nicht aktiviert: Prüfen Sie den Plugin-Status:
openclaw plugins list | grep googlechatWenn sie “deaktiviert” anzeigt, fügen Sie plugins.entries.googlechat.enabled: true zu Ihrer Konfiguration hinzu.
3. Gateway nicht neu gestartet: Nach dem Hinzufügen der Konfiguration muss das Gateway neu gestartet werden:
openclaw gateway restartÜberprüfen Sie, ob der Kanal läuft:
openclaw channels status
# Should show: Google Chat default: enabled, configured, ...Andere Themen
- Prüfen Sie
openclaw channels status --probeauf Authentifizierungsfehler oder fehlende Audience-Konfiguration. - Wenn keine Nachrichten ankommen, bestätigen Sie die Webhook-URL der Chat-App und die Ereignisabonnements.
- Wenn mention gating Antworten blockiert, setzen Sie
botUserauf den Benutzerressourcennamen der App und überprüfen SierequireMention. - Verwenden Sie
openclaw logs --follow, während Sie eine Testnachricht senden, um zu sehen, ob die Anfragen das Gateway erreichen.
Verwandte Dokumente:
- Gateway-Konfiguration
- Sicherheit](/gateway/security)
- Reaktionen](/tools/reactions)