Google Workspace
Overview
The Google Workspace integration enables you to automate user lifecycle management, license provisioning, group membership, and delegation settings through Bumblebee workflows. Streamline employee onboarding with comprehensive control over Gmail, Calendar, and organizational units.
Prerequisites & Setup
Before setting up the Google Workspace integration, you need:
- Super Admin access to the Google Admin Console in your End Client Workspace
- Set up Domain Wide Delegation to Bumblebee's Service Account
Configure Domain-Wide Delegation
- In Google Cloud Console, go to the service account details
- Click Show Advanced Settings
- Copy the Client ID (numeric)
- In Google Admin Console, go to Security > Access and data control > API controls
- Click Manage Domain Wide Delegation
- Click Add new
- Enter the Client ID and the following OAuth Scopes:
https://www.googleapis.com/auth/admin.directory.userhttps://www.googleapis.com/auth/admin.directory.user.securityhttps://www.googleapis.com/auth/admin.directory.customerhttps://www.googleapis.com/auth/admin.directory.grouphttps://www.googleapis.com/auth/admin.directory.group.memberhttps://www.googleapis.com/auth/admin.directory.orgunithttps://www.googleapis.com/auth/admin.datatransferhttps://www.googleapis.com/auth/apps.licensinghttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.settings.sharinghttps://www.googleapis.com/auth/gmail.settings.basic
- Click Authorize
Configure in Bumblebee
- Go to the Integrations page in Bumblebee
- Select Google Workspace
- Upload the service account JSON credentials
- Enter the OAuth scopes (comma-separated)
- Click Test Connection
- Save the configuration
Available Tools
Users
- get_user - Get user details by email address. Required: admin_email (str), user_email (str)
- list_users - List all users in the domain with optional filtering. Required: admin_email (str). Optional: max_results (int), order_by (str), query (str)
- create_user - Create a new user with comprehensive fields. Required: admin_email (str), email (str), password (str), first_name (str), last_name (str). Optional: org_unit_path, title, department, manager_email, cost_center, office_location, building_id, work_phone, work_address_street, work_address_city, work_address_state, work_address_postal_code, work_address_country, change_password_at_next_login (bool, default: true)
- update_user - Update existing user fields. Only provided fields are updated. Required: admin_email (str), user_email (str). Optional: first_name, last_name, org_unit_path, title, department, manager_email, cost_center, office_location, building_id, work_phone, work_address_street, work_address_city, work_address_state, work_address_postal_code, work_address_country
- delete_user - Delete a user from Google Workspace. Required: admin_email (str), user_email (str)
Organizational Units
- list_organizational_units - List all organizational units in the workspace. Required: admin_email (str)
Groups
- list_google_groups - List all Google groups in the workspace. Required: admin_email (str)
- get_group - Get group details by email address. Required: admin_email (str), group_email (str)
- add_user_to_group - Add a user to a group with specified role. Required: admin_email (str), user_email (str), group_email (str). Optional: role (str: "MEMBER", "MANAGER", or "OWNER", default: "MEMBER")
- remove_user_from_group - Remove a user from a group. Required: admin_email (str), user_email (str), group_email (str)
- list_user_groups - List all groups a user belongs to. Required: admin_email (str), user_email (str)
- list_group_members - List all members of a group. Required: admin_email (str), group_email (str)
Licenses
- list_available_licenses - List all licenses for a product, optionally filtered by SKU. Required: admin_email (str), product_id (str). Optional: sku_id (str)
- list_user_licenses - List all licenses assigned to a user for a product. Required: admin_email (str), user_email (str), product_id (str)
- assign_license - Assign a license to a user. Required: admin_email (str), user_email (str), product_id (str), sku_id (str)
- remove_license - Remove a license from a user. Required: admin_email (str), user_email (str), product_id (str), sku_id (str)
Common License SKUs
| License | Product ID | SKU ID |
|---|---|---|
| Google Workspace Enterprise Standard | Google-Apps | 1010020026 |
| Google Workspace Enterprise Plus | Google-Apps | 1010020020 |
| Google Workspace Enterprise Essentials | Google-Apps | 1010060003 |
| Google Workspace Enterprise Essentials Plus | Google-Apps | 1010060005 |
| Google Workspace Enterprise Starter | Google-Apps | 1010020029 |
Gmail Delegation
- add_gmail_delegate - Grant a user delegate access to another user's mailbox. Required: admin_email (str), mailbox_email (str), delegate_email (str)
- remove_gmail_delegate - Remove delegate access from a user's mailbox. Required: admin_email (str), mailbox_email (str), delegate_email (str)
Note: Gmail delegation may fail with a provisioning error if called within 1-2 minutes of user creation. Retry after waiting.
Calendar Delegation
- add_calendar_access - Grant a user access to another user's calendar. Required: admin_email (str), calendar_owner_email (str), user_email (str), role (str: "reader", "writer", "owner", or "freeBusyReader")
- remove_calendar_access - Remove a user's access to another user's calendar. Required: admin_email (str), calendar_owner_email (str), user_email (str)
Utility
- get_customer_id - Get the Google Workspace customer ID. Required: admin_email (str)