Skip to content

feat(google-groups): added google groups#2229

Merged
waleedlatif1 merged 5 commits intostagingfrom
feat/google-groups
Dec 7, 2025
Merged

feat(google-groups): added google groups#2229
waleedlatif1 merged 5 commits intostagingfrom
feat/google-groups

Conversation

@aadamgough
Copy link
Contributor

Summary

Added google groups integration.

Type of Change

  • New feature

Testing

Tested manually.

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel
Copy link

vercel bot commented Dec 6, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
docs Ready Ready Preview Comment Dec 7, 2025 1:03am

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Dec 6, 2025

Greptile Overview

Greptile Summary

This PR adds comprehensive Google Workspace Groups integration with 11 operations for managing groups and members.

Key Changes

  • Created 11 Google Groups tools covering all essential operations (list, get, create, update, delete groups; list, get, add, update, remove members; check membership)
  • Added OAuth configuration with proper Google Workspace Admin SDK scopes
  • Implemented block configuration with operation-based parameter mapping
  • Added user-friendly scope descriptions for OAuth consent modal
  • Registered all tools and block in respective registries
  • Created custom Google Groups icon

Implementation Quality

  • Follows established patterns from other Google integrations (Drive, Calendar, Sheets)
  • Proper URL encoding for group keys and member keys
  • Consistent error handling across all tools
  • Defaults to my_customer for customer ID when not specified
  • Supports role-based member management (MEMBER, MANAGER, OWNER)
  • Parameter visibility correctly set (hidden for OAuth, user-or-llm for inputs)

Confidence Score: 5/5

  • This PR is safe to merge with minimal risk
  • Clean implementation following established patterns, comprehensive test coverage indicated, proper OAuth configuration, and no logical errors or security issues detected
  • No files require special attention

Important Files Changed

File Analysis

Filename Score Overview
apps/sim/blocks/blocks/google_groups.ts 5/5 Comprehensive block configuration for Google Groups with all 11 operations properly mapped to tools
apps/sim/lib/auth/auth.ts 5/5 OAuth provider configuration added with correct scopes and authentication flow
apps/sim/lib/oauth/oauth.ts 5/5 OAuth service configuration added with proper icons and scope descriptions
apps/sim/tools/google_groups/list_groups.ts 5/5 List groups tool with proper filtering, pagination, and defaults to my_customer
apps/sim/tools/google_groups/create_group.ts 5/5 Create group tool with required email/name fields and optional description
apps/sim/tools/google_groups/add_member.ts 5/5 Add member tool with role support (MEMBER/MANAGER/OWNER), defaults to MEMBER
apps/sim/tools/registry.ts 5/5 All 11 Google Groups tools registered with proper naming convention
apps/sim/blocks/registry.ts 5/5 Google Groups block registered in alphabetical order

Sequence Diagram

sequenceDiagram
    participant User
    participant UI as Workflow UI
    participant Block as GoogleGroupsBlock
    participant OAuth as OAuth Service
    participant Tool as Google Groups Tool
    participant API as Google Admin API

    User->>UI: Select Google Groups operation
    UI->>Block: Configure operation parameters
    
    alt OAuth Required
        Block->>OAuth: Request credential
        OAuth->>User: Prompt for authorization
        User->>OAuth: Grant permission
        OAuth->>Block: Provide credential
    end
    
    Block->>Block: Map block params to tool params
    Block->>Tool: Execute operation with credential
    
    alt List Groups
        Tool->>API: GET groups endpoint
        API->>Tool: Return groups list
    else Create Group
        Tool->>API: POST groups endpoint
        API->>Tool: Return created group
    else Add Member
        Tool->>API: POST members endpoint
        API->>Tool: Return member details
    else Update Member Role
        Tool->>API: PATCH member endpoint
        API->>Tool: Return updated member
    else Check Membership
        Tool->>API: GET hasMember endpoint
        API->>Tool: Return membership status
    end
    
    Tool->>Block: Return formatted response
    Block->>UI: Display results to user
    UI->>User: Show operation output
Loading

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

20 files reviewed, no comments

Edit Code Review Agent Settings | Greptile

Copy link
Collaborator

@waleedlatif1 waleedlatif1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also let's not forget to generate the docs

@waleedlatif1 waleedlatif1 merged commit ae79372 into staging Dec 7, 2025
9 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/google-groups branch December 7, 2025 01:32
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