BumblebeeBumblebee

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

  1. In Google Cloud Console, go to the service account details
  2. Click Show Advanced Settings
  3. Copy the Client ID (numeric)
  4. In Google Admin Console, go to Security > Access and data control > API controls
  5. Click Manage Domain Wide Delegation
  6. Click Add new
  7. Enter the Client ID and the following OAuth Scopes:
    • https://www.googleapis.com/auth/admin.directory.user
    • https://www.googleapis.com/auth/admin.directory.user.security
    • https://www.googleapis.com/auth/admin.directory.customer
    • https://www.googleapis.com/auth/admin.directory.group
    • https://www.googleapis.com/auth/admin.directory.group.member
    • https://www.googleapis.com/auth/admin.directory.orgunit
    • https://www.googleapis.com/auth/admin.datatransfer
    • https://www.googleapis.com/auth/apps.licensing
    • https://www.googleapis.com/auth/calendar
    • https://www.googleapis.com/auth/gmail.settings.sharing
    • https://www.googleapis.com/auth/gmail.settings.basic
  8. Click Authorize

Configure in Bumblebee

  1. Go to the Integrations page in Bumblebee
  2. Select Google Workspace
  3. Upload the service account JSON credentials
  4. Enter the OAuth scopes (comma-separated)
  5. Click Test Connection
  6. 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

LicenseProduct IDSKU ID
Google Workspace Enterprise StandardGoogle-Apps1010020026
Google Workspace Enterprise PlusGoogle-Apps1010020020
Google Workspace Enterprise EssentialsGoogle-Apps1010060003
Google Workspace Enterprise Essentials PlusGoogle-Apps1010060005
Google Workspace Enterprise StarterGoogle-Apps1010020029

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)