Canal Google Chat do OpenClaw
Conecte o OpenClaw ao Google Chat atraves de um endpoint HTTP da API do Google Chat. Esta integracao empresarial permite que seu assistente de IA opere no Google Workspace — gerenciando mensagens diretas e conversas em espacos. O bot recebe requisicoes HTTP POST do Google Chat, valida bearer tokens atraves de uma conta de servico e roteia mensagens atraves do Gateway OpenClaw.
Google Chat Recursos suportados
Mensagens de texto
Suportado
Mídia e arquivos
Suportado
Reações
Suportado
Threads
Suportado
Mensagens de voz
Não suportado
Chat em grupo
Suportado
Google Chat Pré-requisitos
- Uma conta Google Workspace (Business ou Enterprise). O acesso de administrador do dominio pode ser necessario para aprovacoes de escopo e configuracoes de visibilidade do aplicativo
- Um projeto Google Cloud com a API do Google Chat habilitada
- Uma conta de servico com arquivo de chave JSON
- O Gateway OpenClaw em execucao e configurado
- Um endpoint HTTPS acessivel publicamente para o webhook (ex: Tailscale Funnel, Caddy ou Cloudflare Tunnel)
Google Chat Configuração rápida
Habilitar a API do Google Chat e criar conta de servico
Acesse o Google Cloud Console, habilite a API do Google Chat. Crie uma nova conta de servico (ex: 'openclaw-chat'), pule a configuracao de permissoes, depois gere e baixe um arquivo de chave JSON. Armazene-o no seu host Gateway (ex: ~/.openclaw/googlechat-service-account.json).
Configurar o aplicativo Chat no Google Cloud Console
Na pagina de configuracao do Chat no Google Cloud Console, defina o nome do aplicativo, URL do avatar e descricao. Habilite recursos interativos, permita que o aplicativo participe de espacos e conversas em grupo. Selecione 'URL do endpoint HTTP' como configuracao de conexao e insira a URL publica do seu Gateway seguida de '/googlechat' (use 'openclaw status' para encontrar a URL do Gateway).
Definir visibilidade, habilitar o aplicativo e testar
Restrinja a visibilidade do aplicativo a usuarios ou grupos especificos do seu dominio. Salve a configuracao, atualize a pagina e altere o status do aplicativo para 'Ativo — disponivel para usuarios'. No Google Chat, clique no icone '+' ao lado de Mensagens diretas, procure o nome do seu aplicativo e envie uma mensagem de teste.
Google Chat Exemplo de configuração
{
"channels": {
"googlechat": {
"serviceAccountFile": "~/.openclaw/googlechat-service-account.json",
"webhookPath": "/googlechat"
}
}
}Google Chat Documentação Detalhada
Visao geral da arquitetura
Configuracao da conta de servico
{
"channels": {
"googlechat": {
"serviceAccountFile": "~/.openclaw/googlechat-service-account.json"
}
}
}Configuracao do aplicativo Chat
URL publica e configuracao de Webhook
# Exemplo Tailscale Funnel:
tailscale funnel --set-path=/googlechat localhost:18789
# Exemplo Caddy:
reverse_proxy /googlechat* localhost:18789
# Configuracao de ingress Cloudflare Tunnel:
- hostname: your-domain.com
path: /googlechat
service: http://localhost:18789
- service: http_status:404Politicas de DM e grupo
{
"channels": {
"googlechat": {
"dmPolicy": "pairing",
"groupPolicy": "allowlist",
"groupAllowList": ["spaces/AAAA1234"]
}
}
}Alvos e roteamento de sessao
{
"channels": {
"googlechat": {
"botUser": "users/123456789",
"spaces": {
"spaces/AAAA1234": {
"systemPrompt": "Voce e um assistente util para a equipe de engenharia."
}
}
}
}
}Google Chat Referência de Configuração
| Key | Type | Default | Description |
|---|---|---|---|
| serviceAccountFile | string | "" | Caminho para o arquivo de chave JSON da conta de servico Google Cloud |
| audience | string | "app-url" | Tipo de audiencia para validacao do bearer token. Opcoes: app-url (usa token de identidade OIDC), project-number (usa token de acesso de conta de servico) |
| audienceValue | string | "" | Valor de audiencia para validacao do token (URL ou numero do projeto) |
| webhookPath | string | "/googlechat" | Caminho do endpoint HTTP para webhooks recebidos do Google Chat |
| botUser | string | "" | Identificador de usuario do bot (users/<id>) para deteccao de @mencoes em espacos |
| dmPolicy | string | "pairing" | Controla quem pode enviar DMs ao bot. Opcoes: pairing, allowlist, open, disabled |
| allowFrom | string[] | [] | IDs de usuario ou emails autorizados a enviar mensagens ao bot (quando dmPolicy e allowlist) |
| groupPolicy | string | "disabled" | Politica de espacos de grupo. Opcoes: disabled, allowlist, open |
| groupAllowList | string[] | [] | IDs de espaco permitidos quando groupPolicy e allowlist |
| spaces.<id>.systemPrompt | string | "" | Prompt de sistema IA personalizado para um espaco especifico do Google Chat |
| mediaMaxMb | number | 20 | Tamanho maximo de arquivo de midia em megabytes |
| actions.typing | boolean | true | Enviar indicador de digitacao enquanto a IA gera uma resposta |
Caminho para o arquivo de chave JSON da conta de servico Google Cloud
Tipo de audiencia para validacao do bearer token. Opcoes: app-url (usa token de identidade OIDC), project-number (usa token de acesso de conta de servico)
Valor de audiencia para validacao do token (URL ou numero do projeto)
Caminho do endpoint HTTP para webhooks recebidos do Google Chat
Identificador de usuario do bot (users/<id>) para deteccao de @mencoes em espacos
Controla quem pode enviar DMs ao bot. Opcoes: pairing, allowlist, open, disabled
IDs de usuario ou emails autorizados a enviar mensagens ao bot (quando dmPolicy e allowlist)
Politica de espacos de grupo. Opcoes: disabled, allowlist, open
IDs de espaco permitidos quando groupPolicy e allowlist
Prompt de sistema IA personalizado para um espaco especifico do Google Chat
Tamanho maximo de arquivo de midia em megabytes
Enviar indicador de digitacao enquanto a IA gera uma resposta
Google Chat Perguntas Frequentes
Google Chat Solução de Problemas
O plugin do Google Chat nao esta habilitado, a secao de configuracao channels.googlechat esta ausente, ou o Gateway nao foi reiniciado apos as alteracoes de configuracao.
O caminho do arquivo da conta de servico esta incorreto, a configuracao de audiencia nao corresponde, ou o bearer token expirou.
O identificador de usuario do bot nao esta configurado para deteccao de @mencoes, ou o espaco nao esta na lista permitida.
A URL publica nao esta corretamente configurada, o firewall esta bloqueando conexoes de entrada, ou o certificado SSL e invalido.