Status: klaar voor directe berichten (DM’s) en ruimten via Google Chat API-webhooks (alleen HTTP).Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
Snelle installatie (beginner)
- Maak een Google Cloud-project en schakel de Google Chat API in.
- Ga naar: Google Chat API-referenties
- Schakel de API in als deze nog niet is ingeschakeld.
- Maak een serviceaccount:
- Druk op Referenties maken > Serviceaccount.
- Geef het een gewenste naam (bijv.
openclaw-chat). - Laat machtigingen leeg (druk op Doorgaan).
- Laat principals met toegang leeg (druk op Gereed).
- Maak en download de JSON-sleutel:
- Klik in de lijst met serviceaccounts op het account dat je net hebt gemaakt.
- Ga naar het tabblad Sleutels.
- Klik op Sleutel toevoegen > Nieuwe sleutel maken.
- Selecteer JSON en druk op Maken.
- Sla het gedownloade JSON-bestand op je gateway-host op (bijv.
~/.openclaw/googlechat-service-account.json). - Maak een Google Chat-app in de Google Cloud Console Chat-configuratie:
- Vul de applicatie-informatie in:
- App-naam: (bijv.
OpenClaw) - Avatar-URL: (bijv.
https://openclaw.ai/logo.png) - Beschrijving: (bijv.
Personal AI Assistant)
- App-naam: (bijv.
- Schakel Interactieve functies in.
- Vink onder Functionaliteit Deelnemen aan ruimten en groepsgesprekken aan.
- Selecteer onder Verbindingsinstellingen HTTP-eindpunt-URL.
- Selecteer onder Triggers Een gemeenschappelijke HTTP-eindpunt-URL voor alle triggers gebruiken en stel deze in op de openbare URL van je gateway gevolgd door
/googlechat.- Tip: Voer
openclaw statusuit om de openbare URL van je gateway te vinden.
- Tip: Voer
- Vink onder Zichtbaarheid Deze Chat-app beschikbaar maken voor specifieke mensen en groepen in
<Your Domain>aan. - Voer je e-mailadres (bijv.
user@example.com) in het tekstvak in. - Klik onderaan op Opslaan.
- Vul de applicatie-informatie in:
- Schakel de app-status in:
- Vernieuw de pagina na het opslaan.
- Zoek naar de sectie App-status (meestal bovenaan of onderaan na het opslaan).
- Wijzig de status naar Live - beschikbaar voor gebruikers.
- Klik opnieuw op Opslaan.
- Configureer OpenClaw met het serviceaccount-pad + webhook-doelgroep:
- Env:
GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json - Of configuratie:
channels.googlechat.serviceAccountFile: "/path/to/service-account.json".
- Env:
- Stel het type en de waarde van de webhook-doelgroep in (komt overeen met je Chat-appconfiguratie).
- Start de Gateway. Google Chat verzendt POST-verzoeken naar je webhook-pad.
Toevoegen aan Google Chat
Zodra de Gateway actief is en je e-mailadres aan de zichtbaarheidslijst is toegevoegd:- Ga naar Google Chat.
- Klik op het +-pictogram (plus) naast Directe berichten.
- Typ in de zoekbalk (waar je normaal mensen toevoegt) de app-naam die je in de Google Cloud Console hebt geconfigureerd.
- Opmerking: De bot verschijnt niet in de bladerlijst “Marketplace”, omdat het een privé-app is. Je moet er op naam naar zoeken.
- Selecteer je bot in de resultaten.
- Klik op Toevoegen of Chatten om een 1-op-1-gesprek te starten.
- Stuur “Hallo” om de assistent te activeren!
Openbare URL (alleen Webhook)
Google Chat-webhooks vereisen een openbaar HTTPS-eindpunt. Stel om veiligheidsredenen alleen het pad/googlechat bloot aan internet. Houd het OpenClaw-dashboard en andere gevoelige eindpunten op je privénetwerk.
Optie A: Tailscale Funnel (aanbevolen)
Gebruik Tailscale Serve voor het privédashboard en Funnel voor het openbare webhook-pad. Hierdoor blijft/ privé terwijl alleen /googlechat wordt blootgesteld.
-
Controleer aan welk adres je Gateway is gebonden:
Noteer het IP-adres (bijv.
127.0.0.1,0.0.0.0of je Tailscale-IP zoals100.x.x.x). -
Stel het dashboard alleen beschikbaar voor de tailnet (poort 8443):
-
Stel alleen het webhook-pad openbaar beschikbaar:
- Autoriseer de node voor Funnel-toegang: Ga, als daarom wordt gevraagd, naar de autorisatie-URL die in de uitvoer wordt weergegeven om Funnel voor deze node in je tailnet-beleid in te schakelen.
-
Controleer de configuratie:
https://<node-name>.<tailnet>.ts.net/googlechat
Je privédashboard blijft alleen beschikbaar via de tailnet:
https://<node-name>.<tailnet>.ts.net:8443/
Gebruik de openbare URL (zonder :8443) in de Google Chat-appconfiguratie.
Opmerking: Deze configuratie blijft behouden na opnieuw opstarten. Voertailscale funnel resetentailscale serve resetuit om deze later te verwijderen.
Optie B: Reverse proxy (Caddy)
Als je een reverse proxy zoals Caddy gebruikt, proxy dan alleen het specifieke pad:your-domain.com/ genegeerd of als 404 geretourneerd, terwijl your-domain.com/googlechat veilig naar OpenClaw wordt gerouteerd.
Optie C: Cloudflare Tunnel
Configureer de ingress-regels van je tunnel zo dat alleen het webhook-pad wordt gerouteerd:- Pad:
/googlechat->http://localhost:18789/googlechat - Standaardregel: HTTP 404 (Niet gevonden)
Hoe het werkt
- Google Chat verzendt webhook-POST’s naar de Gateway. Elk verzoek bevat een header
Authorization: Bearer <token>.- OpenClaw verifieert bearer-authenticatie voordat volledige webhook-bodies worden gelezen/geparsed wanneer de header aanwezig is.
- Google Workspace Add-on-verzoeken die
authorizationEventObject.systemIdTokenin de body bevatten, worden ondersteund via een strikter pre-auth-bodybudget.
- OpenClaw verifieert het token tegen het geconfigureerde
audienceType+audience:audienceType: "app-url"→ de doelgroep is je HTTPS-webhook-URL.audienceType: "project-number"→ de doelgroep is het Cloud-projectnummer.
- Berichten worden per ruimte gerouteerd:
- DM’s gebruiken sessiesleutel
agent:<agentId>:googlechat:direct:<spaceId>. - Ruimten gebruiken sessiesleutel
agent:<agentId>:googlechat:group:<spaceId>.
- DM’s gebruiken sessiesleutel
- DM-toegang gebruikt standaard koppeling. Onbekende afzenders ontvangen een koppelingscode; keur goed met:
openclaw pairing approve googlechat <code>
- Groepsruimten vereisen standaard een @-vermelding. Gebruik
botUserals vermeldingsdetectie de gebruikersnaam van de app nodig heeft.
Doelen
Gebruik deze identifiers voor levering en allowlists:- Directe berichten:
users/<userId>(aanbevolen). - Ruw e-mailadres
name@example.comis wijzigbaar en wordt alleen gebruikt voor directe allowlist-matching wanneerchannels.googlechat.dangerouslyAllowNameMatching: true. - Verouderd:
users/<email>wordt behandeld als een gebruikers-ID, niet als een e-mail-allowlist. - Ruimten:
spaces/<spaceId>.
Configuratiehoogtepunten
- Serviceaccount-referenties kunnen ook inline worden doorgegeven met
serviceAccount(JSON-string). serviceAccountRefwordt ook ondersteund (env/file SecretRef), inclusief refs per account onderchannels.googlechat.accounts.<id>.serviceAccountRef.- Het standaard webhook-pad is
/googlechatalswebhookPathniet is ingesteld. dangerouslyAllowNameMatchingschakelt wijzigbare matching van e-mailprincipals voor allowlists opnieuw in (break-glass-compatibiliteitsmodus).- Reacties zijn beschikbaar via de tool
reactionsenchannels actionwanneeractions.reactionsis ingeschakeld. - Berichtacties stellen
sendbeschikbaar voor tekst enupload-filevoor expliciete verzending van bijlagen.upload-fileaccepteertmedia/filePath/pathplus optioneelmessage,filenameen thread-targeting. typingIndicatorondersteuntnone,message(standaard) enreaction(reactie vereist gebruikers-OAuth).- Bijlagen worden via de Chat API gedownload en opgeslagen in de mediapipeline (grootte beperkt door
mediaMaxMb).
Probleemoplossing
405-methode niet toegestaan
Als Google Cloud Logs Explorer fouten toont zoals:-
Kanaal niet geconfigureerd: De sectie
channels.googlechatontbreekt in je configuratie. Controleer met:Als dit “Config path not found” retourneert, voeg dan de configuratie toe (zie Configuratiehoogtepunten). -
Plugin niet ingeschakeld: Controleer de Plugin-status:
Als dit “disabled” toont, voeg dan
plugins.entries.googlechat.enabled: truetoe aan je configuratie. -
Gateway niet opnieuw gestart: Start de Gateway opnieuw nadat je configuratie hebt toegevoegd:
Andere problemen
- Controleer
openclaw channels status --probeop authenticatiefouten of ontbrekende doelgroepconfiguratie. - Als er geen berichten aankomen, controleer dan de webhook-URL en gebeurtenisabonnementen van de Chat-app.
- Als vermeldingsgating antwoorden blokkeert, stel
botUserin op de gebruikersresourcenaam van de app en controleerrequireMention. - Gebruik
openclaw logs --followterwijl je een testbericht verstuurt om te zien of verzoeken de Gateway bereiken.
Gerelateerd
- Kanalenoverzicht — alle ondersteunde kanalen
- Koppeling — DM-authenticatie en koppelingsflow
- Groepen — gedrag van groepschats en vermeldingsgating
- Kanaalroutering — sessieroutering voor berichten
- Beveiliging — toegangsmodel en hardening