Skip to content

/add-google-chat#658

Closed
sowbug wants to merge 4 commits intoqwibitai:mainfrom
sowbug:main
Closed

/add-google-chat#658
sowbug wants to merge 4 commits intoqwibitai:mainfrom
sowbug:main

Conversation

@sowbug
Copy link
Copy Markdown

@sowbug sowbug commented Mar 2, 2026

Type of Change

  • Skill - adds a new skill in .claude/skills/
  • Fix - bug fix or security fix to source code
  • Simplification - reduces or simplifies source code

Description

Adds support for Google Chat. Similar to WhatsApp support. Tested on Google Workspace account; allows DM to nanoclaw agent, adding agent to chat rooms, and optional filtering on specific chat rooms/DMs. Through existing nanoclaw logic, agent can be configured to respond to every message in every room, only messages where agent is @-mentioned, or only where contextually appropriate to respond.

According to Google Chat API documentation, this should work with Gmail accounts as of recently. Previously, you needed a Workspace account to use the Chat API, but this has changed. I haven't tested with a plain Gmail account.

For Skills

  • I have not made any changes to source code
  • My skill contains instructions for Claude to follow (not pre-built code)
  • I tested this skill on a fresh clone

Note that source-code changes have been made to add channels/googlechat.ts and tests. This appears to be appropriate to do given that this is a new channel of communication that is neither Gmail nor WhatApp. If this is the wrong path to take, I'm sure you'll let me know.

sowbug and others added 4 commits March 2, 2026 14:05
Add bidirectional Google Chat channel (polling-based) and Gmail channel
with OAuth token refresh, error backoff, and container credential mounts.
Includes tests, routing integration, and /add-google-chat skill.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Persist lastPollTime across restarts via router_state DB to prevent
message replay. Update bundled skill files to match live multi-space
implementation (onSpaceDiscovered, getState/setState). Rewrite SKILL.md
to document auto-discovery, remove stale single-space setup steps, and
soften Workspace requirement. Add missing routing.test.ts intent file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@TomGranot
Copy link
Copy Markdown
Collaborator

Hey @sowbug — this PR is from your fork's main branch which makes it hard to work with. If you want to re-submit, please create a feature branch and open a fresh PR from there. Happy to review that!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants