name: google_chat-platform label: Google Chat kind: platform version: 1.0.0 description: > Google Chat gateway adapter for Hermes Agent. Connects via Cloud Pub/Sub pull subscription for inbound events and the Google Chat REST API for outbound messages — same ergonomics as Slack Socket Mode or Telegram long-polling, no public URL required. Native file attachments are delivered via per-user OAuth (each user runs /setup-files once in their own DM). author: Ramón Fernández # ``requires_env`` entries are surfaced in ``hermes config`` UI via the # platform-plugin env var injector in ``hermes_cli/config.py``. Using the # rich-dict form lets us contribute description/url/prompt metadata so users # see helpful guidance instead of the auto-generated fallback text. requires_env: - name: GOOGLE_CHAT_PROJECT_ID description: "GCP project ID hosting the Pub/Sub topic for Chat events. Falls back to GOOGLE_CLOUD_PROJECT." prompt: "GCP project ID" url: "https://console.cloud.google.com/" password: false - name: GOOGLE_CHAT_SUBSCRIPTION_NAME description: "Full Pub/Sub subscription path: projects//subscriptions/. Legacy alias: GOOGLE_CHAT_SUBSCRIPTION." prompt: "Pub/Sub subscription name" password: false - name: GOOGLE_CHAT_SERVICE_ACCOUNT_JSON description: "Path to Service Account JSON key (or inline JSON). Leave empty to use Application Default Credentials on Cloud Run / GCE. Falls back to GOOGLE_APPLICATION_CREDENTIALS." prompt: "Path to SA JSON (or empty for ADC)" password: true optional_env: - name: GOOGLE_CHAT_ALLOWED_USERS description: "Comma-separated user emails allowed to interact with the bot." prompt: "Allowed user emails (comma-separated)" password: false - name: GOOGLE_CHAT_HOME_CHANNEL description: "Default space for cron / notification delivery (e.g. spaces/AAAA...)." prompt: "Home space ID (or empty)" password: false