Durum: Google Chat API Webhook’ları (yalnızca HTTP) üzerinden DM’ler + alanlar için indirilebilir Plugin.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.
Kurulum
Kanalı yapılandırmadan önce Google Chat’i kurun:Hızlı kurulum (başlangıç)
- Bir Google Cloud projesi oluşturun ve Google Chat API’yi etkinleştirin.
- Şuraya gidin: Google Chat API Kimlik Bilgileri
- API zaten etkin değilse etkinleştirin.
- Bir Service Account oluşturun:
- Create Credentials > Service Account seçeneğine basın.
- İstediğiniz bir ad verin (ör.
openclaw-chat). - İzinleri boş bırakın (Continue’a basın).
- Erişimi olan principals alanını boş bırakın (Done’a basın).
- JSON Anahtarı oluşturun ve indirin:
- Service account listesinden az önce oluşturduğunuza tıklayın.
- Keys sekmesine gidin.
- Add Key > Create new key seçeneğine tıklayın.
- JSON’ı seçin ve Create’e basın.
- İndirilen JSON dosyasını Gateway host’unuzda saklayın (ör.
~/.openclaw/googlechat-service-account.json). - Google Cloud Console Chat Configuration içinde bir Google Chat uygulaması oluşturun:
- Application info alanını doldurun:
- App name: (ör.
OpenClaw) - Avatar URL: (ör.
https://openclaw.ai/logo.png) - Description: (ör.
Personal AI Assistant)
- App name: (ör.
- Interactive features’ı etkinleştirin.
- Functionality altında Join spaces and group conversations’ı işaretleyin.
- Connection settings altında HTTP endpoint URL’yi seçin.
- Triggers altında Use a common HTTP endpoint URL for all triggers’ı seçin ve Gateway’inizin genel URL’sinin sonuna
/googlechatekleyerek ayarlayın.- İpucu: Gateway’inizin genel URL’sini bulmak için
openclaw statusçalıştırın.
- İpucu: Gateway’inizin genel URL’sini bulmak için
- Visibility altında Make this Chat app available to specific people and groups in
<Your Domain>seçeneğini işaretleyin. - Metin kutusuna e-posta adresinizi girin (ör.
user@example.com). - Alttaki Save’e tıklayın.
- Application info alanını doldurun:
- Uygulama durumunu etkinleştirin:
- Kaydettikten sonra sayfayı yenileyin.
- App status bölümünü bulun (genellikle kaydettikten sonra üstte veya altta olur).
- Durumu Live - available to users olarak değiştirin.
- Tekrar Save’e tıklayın.
- OpenClaw’u service account yolu + Webhook audience ile yapılandırın:
- Env:
GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json - Veya config:
channels.googlechat.serviceAccountFile: "/path/to/service-account.json".
- Env:
- Webhook audience türünü + değerini ayarlayın (Chat uygulaması yapılandırmanızla eşleşir).
- Gateway’i başlatın. Google Chat, Webhook yolunuza POST gönderir.
Google Chat’e ekleme
Gateway çalışıyorken ve e-postanız görünürlük listesine ekliyken:- Google Chat adresine gidin.
- Doğrudan Mesajlar yanındaki + (artı) simgesine tıklayın.
- Arama çubuğuna (normalde kişi eklediğiniz yer), Google Cloud Console’da yapılandırdığınız App name değerini yazın.
- Not: Bot, özel bir uygulama olduğu için “Marketplace” göz atma listesinde görünmez. Adıyla aramanız gerekir.
- Sonuçlardan botunuzu seçin.
- 1:1 konuşma başlatmak için Add veya Chat’e tıklayın.
- Asistanı tetiklemek için “Hello” gönderin!
Genel URL (yalnızca Webhook)
Google Chat Webhook’ları genel bir HTTPS endpoint gerektirir. Güvenlik için internete yalnızca/googlechat yolunu açın. OpenClaw dashboard’unu ve diğer hassas endpoint’leri özel ağınızda tutun.
Seçenek A: Tailscale Funnel (Önerilir)
Özel dashboard için Tailscale Serve, genel Webhook yolu için Funnel kullanın. Bu, yalnızca/googlechat’i açarken / yolunu özel tutar.
-
Gateway’inizin hangi adrese bağlı olduğunu kontrol edin:
IP adresini not edin (ör.
127.0.0.1,0.0.0.0veya100.x.x.xgibi Tailscale IP’niz). -
Dashboard’u yalnızca tailnet’e açın (8443 portu):
-
Yalnızca Webhook yolunu genel olarak açın:
- Node’u Funnel erişimi için yetkilendirin: İstenirse, tailnet ilkenizde bu Node için Funnel’ı etkinleştirmek üzere çıktıda gösterilen yetkilendirme URL’sini ziyaret edin.
-
Yapılandırmayı doğrulayın:
https://<node-name>.<tailnet>.ts.net/googlechat
Özel dashboard’unuz yalnızca tailnet’te kalır:
https://<node-name>.<tailnet>.ts.net:8443/
Google Chat uygulama yapılandırmasında genel URL’yi (:8443 olmadan) kullanın.
Not: Bu yapılandırma yeniden başlatmalar arasında kalıcıdır. Daha sonra kaldırmak içintailscale funnel resetvetailscale serve resetçalıştırın.
Seçenek B: Ters Proxy (Caddy)
Caddy gibi bir ters proxy kullanıyorsanız yalnızca belirli yolu proxy’leyin:your-domain.com/ adresine yapılan herhangi bir istek yok sayılır veya 404 olarak döndürülür; your-domain.com/googlechat ise güvenli şekilde OpenClaw’a yönlendirilir.
Seçenek C: Cloudflare Tunnel
Tunnel ingress kurallarınızı yalnızca Webhook yolunu yönlendirecek şekilde yapılandırın:- Path:
/googlechat->http://localhost:18789/googlechat - Default Rule: HTTP 404 (Not Found)
Nasıl çalışır
- Google Chat, Gateway’e Webhook POST’ları gönderir. Her istek bir
Authorization: Bearer <token>header’ı içerir.- OpenClaw, header mevcut olduğunda tam Webhook gövdelerini okumadan/ayrıştırmadan önce bearer auth doğrulaması yapar.
- Gövdede
authorizationEventObject.systemIdTokentaşıyan Google Workspace Add-on istekleri, daha katı bir ön kimlik doğrulama gövde bütçesiyle desteklenir.
- OpenClaw, token’ı yapılandırılan
audienceType+audiencedeğerlerine göre doğrular:audienceType: "app-url"→ audience, HTTPS Webhook URL’nizdir.audienceType: "project-number"→ audience, Cloud proje numarasıdır.
- Mesajlar alana göre yönlendirilir:
- DM’ler
agent:<agentId>:googlechat:direct:<spaceId>session key’ini kullanır. - Alanlar
agent:<agentId>:googlechat:group:<spaceId>session key’ini kullanır.
- DM’ler
- DM erişimi varsayılan olarak pairing’dir. Bilinmeyen gönderenler bir pairing code alır; şu komutla onaylayın:
openclaw pairing approve googlechat <code>
- Grup alanları varsayılan olarak @-mention gerektirir. Mention algılaması uygulamanın kullanıcı adına ihtiyaç duyuyorsa
botUserkullanın.
Hedefler
Teslimat ve allowlist’ler için şu tanımlayıcıları kullanın:- Doğrudan mesajlar:
users/<userId>(önerilir). - Ham e-posta
name@example.comdeğiştirilebilir ve yalnızcachannels.googlechat.dangerouslyAllowNameMatching: trueolduğunda doğrudan allowlist eşleştirmesi için kullanılır. - Kullanımdan kaldırıldı:
users/<email>bir e-posta allowlist’i değil, user id olarak ele alınır. - Alanlar:
spaces/<spaceId>.
Config öne çıkanlar
- Service account kimlik bilgileri
serviceAccount(JSON string) ile inline olarak da geçirilebilir. serviceAccountRefde desteklenir (env/file SecretRef); bunachannels.googlechat.accounts.<id>.serviceAccountRefaltındaki hesap başına ref’ler dahildir.webhookPathayarlanmadıysa varsayılan Webhook yolu/googlechat’tir.dangerouslyAllowNameMatching, allowlist’ler için değiştirilebilir e-posta principal eşleştirmesini yeniden etkinleştirir (break-glass uyumluluk modu).- Reactions,
actions.reactionsetkinleştirildiğindereactionstool’u vechannels actionüzerinden kullanılabilir. - Message actions, metin için
sendve açık attachment gönderimleri içinupload-filesunar.upload-file,media/filePath/pathile isteğe bağlımessage,filenameve thread hedeflemeyi kabul eder. typingIndicator,none,message(varsayılan) vereactiondeğerlerini destekler (reactionkullanıcı OAuth’u gerektirir).- Attachment’lar Chat API üzerinden indirilir ve media pipeline’da saklanır (boyut
mediaMaxMbile sınırlıdır).
Sorun giderme
405 Method Not Allowed
Google Cloud Logs Explorer şu tür hatalar gösteriyorsa:-
Kanal yapılandırılmamış: Config’inizde
channels.googlechatbölümü eksik. Şununla doğrulayın:“Config path not found” döndürürse yapılandırmayı ekleyin (bkz. Config öne çıkanlar). -
Plugin etkin değil: Plugin durumunu kontrol edin:
“disabled” gösteriyorsa config’inize
plugins.entries.googlechat.enabled: trueekleyin. -
Gateway yeniden başlatılmamış: Config ekledikten sonra Gateway’i yeniden başlatın:
Diğer sorunlar
- Auth hataları veya eksik audience config’i için
openclaw channels status --probekontrol edin. - Hiç mesaj gelmiyorsa Chat uygulamasının Webhook URL’sini + event subscriptions ayarlarını doğrulayın.
- Mention gating yanıtları engelliyorsa
botUserdeğerini uygulamanın kullanıcı resource name’i olarak ayarlayın verequireMentiondeğerini doğrulayın. - İsteklerin Gateway’e ulaşıp ulaşmadığını görmek için test mesajı gönderirken
openclaw logs --followkullanın.
İlgili
- Kanallara Genel Bakış — desteklenen tüm kanallar
- Pairing — DM kimlik doğrulaması ve pairing akışı
- Gruplar — grup sohbeti davranışı ve mention gating
- Channel Routing — mesajlar için session routing
- Güvenlik — erişim modeli ve hardening