Skip to content

feat(groups): add Google Groups and calendar team commands#41

Merged
steipete merged 4 commits into
openclaw:mainfrom
salmonumbrella:feat/calendar-users
Jan 8, 2026
Merged

feat(groups): add Google Groups and calendar team commands#41
steipete merged 4 commits into
openclaw:mainfrom
salmonumbrella:feat/calendar-users

Conversation

@salmonumbrella

Copy link
Copy Markdown
Contributor

Summary

  • Add gog groups list - list Google Groups you belong to (via Cloud Identity API)
  • Add gog groups members <group-email> - list members of a group
  • Add gog calendar team <group-email> - show events for all members of a Google Group
  • Add gog calendar users - list workspace users (via People API directory)
  • Add timezone-aware time flags (--today, --tomorrow, --week, --days N) to calendar commands
  • Support --freebusy flag for faster team availability checks
  • Parallel fetching with event deduplication for team calendars

Features

Google Groups Integration

Uses Cloud Identity API (not Admin SDK) so non-admin employees can:

  • List groups they belong to
  • View members of groups they have access to

Team Calendar Queries

gog calendar team engineering@company.com --today     # Show team's events
gog calendar team engineering@company.com --freebusy  # Show busy/free blocks (faster)
gog calendar team engineering@company.com --query "standup"  # Filter by title

Timezone-Aware Time Defaults

gog calendar events primary --today      # Today's events in user's timezone
gog calendar events primary --week       # This week (Mon-Sun)
gog calendar search "meeting" --tomorrow # Tomorrow's meetings

Test Plan

  • Unit tests for groups list/members commands
  • Unit tests for calendar team command (events + freebusy modes)
  • Unit tests for time helpers
  • All existing tests pass
  • Linter passes

Notes

  • Requires Cloud Identity API to be enabled in Google Cloud Console
  • Users may need to re-authenticate with gog auth add <email> --force-consent to get the new cloud-identity.groups.readonly scope

🤖 Generated with Claude Code

salmonumbrella and others added 4 commits January 5, 2026 11:55
Adds `gog calendar users` as a convenience command for discovering
coworkers in a Google Workspace domain. Lists all domain users with
their emails, which can then be used directly as calendar IDs.

Includes a helpful hint showing how to view a coworker's calendar.
Shows a clear error message if the People API is not enabled.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Commands now auto-detect timezone from user's primary calendar.
New flags: --today, --tomorrow, --week, --days for intuitive time ranges.
Supports relative expressions: "today", "tomorrow", "monday", etc.

Updated commands:
- calendar events: --today, --tomorrow, --week, --days
- calendar search: --today, --week
- calendar conflicts: --today, --week, --days

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add `gog groups list` to list groups user belongs to
- Add `gog groups members <email>` to list group members
- Add `gog calendar team <group-email>` for team calendar queries
- Support --freebusy flag for faster availability checks
- Parallel fetching with event deduplication
- Cloud Identity API client for non-admin group access
- Update README with new commands and examples

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Fix pre-existing golangci-lint issues:
- govet shadow: variable shadowing in tests
- wsl: whitespace linter spacing issues
- wrapcheck: unwrapped errors from external packages
- ineffassign: ineffectual assignment in root.go

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@steipete

steipete commented Jan 8, 2026

Copy link
Copy Markdown
Collaborator

Merged manually to main (tip 006d02e). Closing PR from fork.

@steipete steipete closed this Jan 8, 2026
@steipete steipete reopened this Jan 8, 2026
@steipete steipete merged commit 542bf0e into openclaw:main Jan 8, 2026
3 checks passed
manascb1344 pushed a commit to manascb1344/gogcli that referenced this pull request Jan 15, 2026
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