Send messages to Google Chat spaces and users via webhooks or OAuth 2.0.
✅ Webhook support - Send to predefined channels (messages appear as configured bot)
✅ OAuth support - Send to any space dynamically (messages appear from your Google Chat App)
✅ Space discovery - List all available spaces and DMs
✅ Automatic emoji prefix - OAuth messages include 🤖 emoji (configurable)
✅ Message threading - Support for threaded conversations
python3 scripts/send_webhook.py "$WEBHOOK_URL" "Your message"# First time: authenticate
python3 scripts/send_oauth.py \
--credentials oauth-creds.json \
--token token.json \
--space "Channel Name" \
"Your message"
# List spaces
python3 scripts/send_oauth.py \
--credentials oauth-creds.json \
--token token.json \
--list-spacesFor webhooks:
- Create incoming webhook in Google Chat space settings
For OAuth:
- Google Cloud Console → Create OAuth 2.0 credentials (Desktop app)
- Enable Google Chat API
- Download credentials JSON
- Run authentication flow (opens browser)
See references/config-example.json for a config template with multiple webhooks.
- OAuth cannot create new DMs by email - This is a Google Chat API limitation
- To send DMs via OAuth, you need the space ID of an existing conversation
- Use
--list-spacesto discover available DM space IDs
See SKILL.md for complete usage, examples, and troubleshooting.
Created: 2026-01-25
Tested with: Google Workspace