Google Chat (Chat API)
Status: redo för DM:er + Spaces via Google Chat API-webhooks (endast HTTP).Snabbstart (nybörjare)
- Skapa ett Google Cloud-projekt och aktivera Google Chat API.
- Gå till: Google Chat API Credentials
- Aktivera API:t om det inte redan är aktiverat.
- Skapa ett Service Account:
- Klicka på Create Credentials > Service Account.
- Namnge det vad du vill (t.ex.,
openclaw-chat). - Lämna behörigheter tomma (klicka Continue).
- Lämna principer med åtkomst tomma (klicka Done).
- Skapa och ladda ner JSON-nyckeln:
- I listan över servicekonton, klicka på det du just skapade.
- Gå till fliken Keys.
- Klicka Add Key > Create new key.
- Välj JSON och klicka Create.
- Lagra den nedladdade JSON-filen på din gateway-värd (t.ex.
~/.openclaw/googlechat-service-accountt.json). - Skapa en Google Chat-app i Google Cloud Console Chat Configuration:
- Fyll i Application info:
- Appnamn: (t.ex.
OpenClaw) - Avatar URL: (t.ex.
https://openclaw.ai/logo.png) - Beskrivning: (t.ex.
Personal AI Assistant)
- Appnamn: (t.ex.
- Aktivera Interactive features.
- Under Functionality, markera Join spaces and group conversations.
- Under Connection settings, välj HTTP endpoint URL.
- Under Triggers, välj Use a common HTTP endpoint URL for all triggers och sätt den till din gateways publika URL följt av
/googlechat.- Tips: Kör
openclaw statusför att hitta din gateways publika URL.
- Tips: Kör
- Under Visibility, markera Make this Chat app available to specific people and groups in <Your Domain>.
- Ange din e-postadress (t.ex.
[email protected]) i textrutan. - Klicka Save längst ned.
- Fyll i Application info:
- Aktivera appstatus:
- Efter att ha sparat, uppdatera sidan.
- Leta efter avsnittet App status (vanligen nära toppen eller botten efter att ha sparat).
- Ändra status till Live - available to users.
- Klicka Save igen.
- Konfigurera OpenClaw med sökvägen till servicekontot + webhook-audience:
- Env:
GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json - Eller konfig:
channels.googlechat.serviceAccountFile: "/path/to/service-account.json".
- Env:
- Ställ in webhook-audience-typ + värde (matchar din Chat-appkonfiguration).
- Starta gatewayn. Google Chat kommer att POST till din webhook-sökväg.
Lägg till i Google Chat
När gatewayn kör och din e-postadress är tillagd i synlighetslistan:- Gå till Google Chat.
- Klicka på + (plus)-ikonen bredvid Direct Messages.
- I sökfältet (där du vanligtvis lägger till personer), skriv App name som du konfigurerade i Google Cloud Console.
- Observera: Botten kommer inte att visas i browse list “Marketplace” eftersom det är en privat app. Du måste söka efter det med namn.
- Välj din bot i resultaten.
- Klicka Add eller Chat för att starta en 1:1-konversation.
- Skicka ”Hello” för att trigga assistenten!
Publik URL (endast webhook)
Google Chat webhooks kräver en offentlig HTTPS-slutpunkt. För säkerhets skull exponerar **bara/googlechat-sökvägen ** till internet. Håll OpenClaw-instrumentpanelen och andra känsliga ändpunkter på ditt privata nätverk.
Alternativ A: Tailscale Funnel (rekommenderat)
Använd Tailscale Serve för den privata instrumentpanelen och Funnel för den offentliga webhook-sökvägen. Detta håller/ privat medan du endast exponerar /googlechat.
-
Kontrollera vilken adress din gateway är bunden till:
Notera IP-adressen (t.ex.,
127.0.0.1,0.0.0.0, eller din Tailscale IP som100.x.x.x). -
Exponera dashboarden endast för tailnet (port 8443):
-
Exponera endast webhook-sökvägen publikt:
- Auktorisera noden för Funnel-åtkomst: Om du uppmanas, besök auktoriserings-URL:en som visas i utdata för att aktivera Funnel för denna nod i din tailnet-policy.
-
Verifiera konfigurationen:
https://<node-name>.<tailnet>.ts.net/googlechat
Din privata instrumentpanel förblir endast tailnet:
https://<node-name>.<tailnet>.ts.net:8443/
Använd den publika URL:en (utan :8443) i Google Chat-appens konfiguration.
Obs: Denna konfiguration kvarstår över omstarter. För att ta bort det senare, körtailscale tratt återställochtailscale serve reset.
Alternativ B: Reverse Proxy (Caddy)
Om du använder en reverse proxy som Caddy, proxya endast den specifika sökvägen:your-domain.com/ att ignoreras eller returnera 404, medan your-domain.com/googlechat säkert routas till OpenClaw.
Alternativ C: Cloudflare Tunnel
Konfigurera tunnelns ingress-regler för att endast routa webhook-sökvägen:- Path:
/googlechat->http://localhost:18789/googlechat - Default Rule: HTTP 404 (Not Found)
Hur det fungerar
- Google Chat skickar webhook POST till gateway. Varje begäran innehåller en
Authorization: Bearer <token>header. - OpenClaw verifierar token mot den konfigurerade
audienceType+audience:audienceType: "app-url"→ audience är din HTTPS-webhook-URL.audienceType: "project-number"→ audience är Cloud-projektnumret.
- Meddelanden routas per space:
- DM:er använder sessionsnyckeln
agent:<agentId>:googlechat:dm:<spaceId>. - Spaces använder sessionsnyckeln
agent:<agentId>:googlechat:group:<spaceId>.
- DM:er använder sessionsnyckeln
- DM-åtkomst paras ihop som standard. Okända avsändare får en parningskod; godkänn med:
openclaw pairing approve googlechat <code>
- Grupputrymmen kräver @-mention som standard. Använd
botUserom omnämnande behöver appens användarnamn.
Mål
Använd dessa identifierare för leverans och tillåtelselistor:- Direktmeddelanden:
users/<userId>ellerusers/<email>(e-postadresser accepteras). - Utfasad:
users/<email>behandlas som ett användar-id, inte en e-postbaserad tillåtelselista. - Spaces:
spaces/<spaceId>.
Konfig-höjdpunkter
- Servicekontouppgifter kan också skickas inline med
serviceAccount(JSON-sträng). - Standard-sökvägen för webhook är
/googlechatomwebhookPathinte är satt. - Reaktioner är tillgängliga via verktyget
reactionsochchannels actionnäractions.reactionsär aktiverat. typingIndicatorstödernone,message(standard) ochreaction(reaktion kräver användar-OAuth).- Bilagor laddas ner via Chat API och lagras i mediapipelinen (storlek begränsad av
mediaMaxMb).
Felsökning
405 Method Not Allowed
Om Google Cloud Logs Explorer visar fel som:-
Kanalen är inte konfigurerad: sektionen
channels.googlechatsaknas i din konfiguration. Verifiera med:Om det returnerar ”Config path not found”, lägg till konfigurationen (se Konfig-höjdpunkter). -
Pluginen är inte aktiverad: Kontrollera pluginstatus:
Om den visar ”disabled”, lägg till
plugins.entries.googlechat.enabled: truei din konfig. -
Gatewayn har inte startats om: Efter att ha lagt till konfig, starta om gatewayn:
Andra problem
- Kontrollera
openclaw channels status --probeför autentiseringsfel eller saknad audience-konfiguration. - Om inga meddelanden kommer fram, bekräfta Chat-appens webhook-URL + event-prenumerationer.
- Om omnämnandespärren blockerar svar, sätt
botUsertill appens användarresursnamn och verifierarequireMention. - Använd
openclaw logs --followmedan du skickar ett testmeddelande för att se om förfrågningar når gatewayn.