Skip to Content
👋 Willkommen bei HowToUseOpenClaw Schnellstart
KanäleGoogle Chat

Google Chat (Chat API)

Status: bereit für DMs + Leerzeichen über Google Chat API Webhooks (nur HTTP).

Schnelle Einrichtung (Anfänger)

  1. Erstellen Sie ein Google Cloud-Projekt und aktivieren Sie die Google Chat API.

  2. 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).
  3. 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.
  4. Speichern Sie die heruntergeladene JSON-Datei auf Ihrem Gateway-Host (z. B. ~/.clawdbot/googlechat-service-account.json).

  5. 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)
    • 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.

  6. 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.
  7. 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".
  8. Legen Sie den Webhook Audience Type + Value fest (entspricht der Konfiguration Ihrer Chat-App).

  9. 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:

  1. Gehen Sie zu [Google Chat] (https://chat.google.com/ ).

  2. Klicken Sie auf das Symbol + (Plus) neben Direktnachrichten.

  3. 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.
  4. Wählen Sie Ihren Bot aus den Ergebnissen aus.

  5. Klicken Sie auf Hinzufügen oder Chat, um ein 1:1-Gespräch zu beginnen.

  6. 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.

  1. Prüfen Sie, an welche Adresse Ihr Gateway gebunden ist:
ss -tlnp | grep 18789

Notieren 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
  1. 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
  1. 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.
  2. Überprüfen Sie die Konfiguration:
tailscale serve status tailscale funnel status

Ihre ö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

  1. Google Chat sendet Webhook-POSTs an das Gateway. Jede Anfrage enthält einen Authorization: Bearer <token>-Header.

  2. OpenClaw prüft das Token anhand des konfigurierten AudienceType und Audience:

    • audienceType: "app-url" → audience ist Ihre HTTPS-Webhook-URL.
    • audienceType: "project-number" → audience ist die Cloud-Projektnummer.
  3. 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>.
  4. DM-Zugang ist standardmäßig Pairing. Unbekannte Absender erhalten einen Pairing-Code; genehmigen Sie mit:

    • openclaw pairing approve googlechat <code>
  5. 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> oder users/<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, wenn webhookPath nicht gesetzt ist.
  • Reaktionen sind über das Werkzeug reactions und channels action verfügbar, wenn actions.reactions aktiviert 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 mediaMaxMb begrenzt).

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 Allowed

Dies bedeutet, dass der Webhook-Handler nicht registriert ist. Häufige Ursachen:

  1. Kanal nicht konfiguriert: Der Abschnitt “channels.googlechat” fehlt in Ihrer Konfiguration. Überprüfen Sie mit:
openclaw config get channels.googlechat

Wenn “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 googlechat

Wenn 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 --probe auf 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 botUser auf den Benutzerressourcennamen der App und überprüfen Sie requireMention.
  • Verwenden Sie openclaw logs --follow, während Sie eine Testnachricht senden, um zu sehen, ob die Anfragen das Gateway erreichen.

Verwandte Dokumente:

Zuletzt aktualisiert am: