Reference · Tools

Google Workspace Admin

Manage users, groups, and ChromeOS devices in a Google Workspace

Action Productivity v1.0.0

The Google Workspace Admin node connects to the Admin SDK Directory API to create and update user accounts, manage group memberships, and administer ChromeOS devices in your domain. Use it to automate onboarding workflows that provision a new user, assign them to the right groups, and enroll their device — all in a single flow.

Node type
Action
Parameters
43
Outputs
Credentials
googleGSuiteAdminOAuth2Api

Google Workspace Admin

Manage users, groups, and ChromeOS devices in a Google Workspace (formerly G Suite) domain via the Admin SDK Directory API.

Overview

Manage users, groups, and ChromeOS devices in a Google Workspace (formerly G Suite) domain via the Admin SDK Directory API.

Category: Productivity
Tool Name: google_gsuite_admin
Version: 1.0.0

Appearance: Icon: lucide-Wrench | Color: #4285F4

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Google Workspace Admin OAuth2 API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
ChromeOS DevicechromeOsDevice
Groupgroup
Useruser

Operations

User (user)

OperationValueDescription
Add to GroupaddToGroupAdd a user to a group.
CreatecreateCreate a new user in the domain.
DeletedeleteDelete a user.
GetgetRetrieve a single user.
Get ManygetAllRetrieve many users.
Remove From GroupremoveFromGroupRemove a user from a group.
UpdateupdateUpdate an existing user.

Group (group)

OperationValueDescription
CreatecreateCreate a new group.
DeletedeleteDelete a group.
GetgetRetrieve a single group.
Get ManygetAllRetrieve many groups.
UpdateupdateUpdate an existing group.

ChromeOS Device (chromeOsDevice)

OperationValueDescription
Change StatuschangeStatusEnable or disable a ChromeOS device.
GetgetRetrieve a single ChromeOS device.
Get ManygetAllRetrieve many ChromeOS devices.
UpdateupdateUpdate a ChromeOS device’s properties.

Parameters

This node shows the same field list whatever you select — no field is hidden based on the resource or the operation, so User: Add to Group, User: Create, User: Delete, User: Get, User: Get Many, User: Remove From Group, User: Update, Group: Create, Group: Delete, Group: Get, Group: Get Many, Group: Update, ChromeOS Device: Change Status, ChromeOS Device: Get, ChromeOS Device: Get Many and ChromeOS Device: Update take no parameters of their own. Fill in the fields your combination uses; the rest are ignored. Where the same field name is listed more than once below, it is one stored value that is read differently depending on the resource you pick.

All Operations

ParameterTypeRequiredDefaultDescription
AuthenticationoptionsNooAuth2Authentication method to use.
Options: oAuth2, serviceAccount
Google Account (credentialId)credentialNoConnect or select your Google account. (shown when Authentication is oAuth2)
Service Account EmailstringYesThe email address of the Google service account. (shown when Authentication is serviceAccount)
Private KeystringYesThe private key from the service account JSON key file, including the BEGIN and END lines. (shown when Authentication is serviceAccount)
User (userId)stringYesUser email address or unique ID. Used by User: Get, Update, Delete, Add to Group and Remove From Group. Supports expressions.
Group (groupId)stringYesGroup email address or unique ID. Used by User: Add to Group and User: Remove From Group as the target group. Supports expressions.
First NamestringYesThe new user’s first name. Used by User: Create.
Last NamestringYesThe new user’s last name. Used by User: Create.
PasswordstringYesMinimum 8 characters, maximum 100 characters. Used by User: Create.
UsernamestringYesThe local part of the new user’s primary email (before the @). Used by User: Create.
DomainstringYesThe domain for the new user’s primary email address. Joined to Username to build the address. Used by User: Create.
Additional Fields (additionalFields)collectionNo{}Optional user properties sent with User: Create.
— Change Password at Next LoginbooleanNofalseRequire the user to set a new password at first sign-in.
— PhonesarrayNo[]Array of phone objects: [{ type, value, primary }]
— Secondary EmailsarrayNo[]Array of email objects: [{ type, address }]
— RolesmultiOptionsNo[]Admin roles to grant the new user.
Options: directorySyncAdmin, groupsAdmin, groupsEditor, groupsReader, helpDeskAdmin, inventoryReportingAdmin, mobileAdmin, servicesAdmin, storageAdmin, superAdmin, userManagement
— Custom FieldsarrayNo[]Array of { schemaName, fieldName, value } objects.
Output (output)optionsYessimplifiedHow much of each user record to return.
Options: simplified (a fixed subset of profile fields), raw (the record exactly as the API returns it), select (only the fields you pick)
FieldsmultiOptionsNo[]The user fields to request. Applied only when Output (output) is select.
Options: creationTime, isAdmin, kind, lastLoginTime, name, primaryEmail, suspended
Custom Fields (projection)optionsYesbasicHow much custom-schema data to include in user results.
Options: basic (don’t include custom schemas), custom (only the schemas you name), full (include all custom schemas)
Custom Schema Names or IDs (customFieldMask)multiOptionsNo[]Comma-separated schema names whose fields are fetched. Applied only when Custom Fields (projection) is custom.
Return All (returnAll)booleanNofalseReturn every user rather than a single page. Used by User: Get Many.
Limit (limit)numberNo100Max number of results to return (1-500). Used by User: Get Many when Return All is off.
Filter (filter)collectionNo{}Narrows the users returned by User: Get Many.
— CustomerstringNoThe customer account to search. Your own account is used when this is left empty.
— DomainstringNoRestrict the search to a single domain.
— QuerystringNoDirectory search query, for example name:contact* email:contact*.
— Show DeletedbooleanNofalseInclude deleted users in the results.
Sort (sort)fixedCollectionNo{}Ordering for User: Get Many.
— Order ByoptionsNoThe user field to sort on.
Options: email, familyName, givenName
— Sort OrderoptionsNoASCENDINGSort direction.
Options: ASCENDING, DESCENDING
Update Fields (updateFields)collectionNo{}The user properties to change on User: Update.
— Change Password at Next LoginbooleanNofalseRequire the user to set a new password at next sign-in.
— First NamestringNoThe user’s first name.
— Last NamestringNoThe user’s last name.
— PasswordstringNoA new password for the account.
— Primary EmailstringNoA new primary email address for the account.
— PhonesarrayNo[]Array of phone objects: [{ type, value, primary }]
— Secondary EmailsarrayNo[]Array of email objects: [{ type, address }]
— SuspendbooleanNofalseSuspend the account, blocking sign-in without deleting it.
— RolesmultiOptionsNo[]Admin roles to grant the user.
Options: directorySyncAdmin, groupsAdmin, groupsEditor, groupsReader, helpDeskAdmin, inventoryReportingAdmin, mobileAdmin, servicesAdmin, storageAdmin, superAdmin, userManagement
— Custom FieldsarrayNo[]Array of { schemaName, fieldName, value } objects.
Group (groupId)stringYesGroup email address or unique ID. Used by Group: Get, Group: Update and Group: Delete. Supports expressions.
Group Name (name)stringNoThe group’s display name. Used by Group: Create.
Group Email (email)stringYesThe group’s email address. Used by Group: Create.
Additional Fields (additionalFields)collectionNo{}Optional group properties sent with Group: Create.
— DescriptionstringNoFree-text description of the group.
Return All (returnAll)booleanNofalseReturn every group rather than a single page. Used by Group: Get Many.
Limit (limit)numberNo100Max number of results to return. Used by Group: Get Many when Return All is off.
Filter (filter)collectionNo{}Narrows the groups returned by Group: Get Many.
— CustomerstringNoThe customer account to search. Your own account is used when this and User ID are both empty.
— DomainstringNoRestrict the search to a single domain.
— QuerystringNoGroup search query. It must read name:<value> or email:<value>.
— User IDstringNoEmail or ID of a user; returns groups they belong to.
Sort (sort)fixedCollectionNo{}Ordering for Group: Get Many.
— Order ByoptionsNoemailThe group field to sort on.
Options: email
— Sort OrderoptionsNoASCENDINGSort direction.
Options: ASCENDING, DESCENDING
Update Fields (updateFields)collectionNo{}The group properties to change on Group: Update.
— DescriptionstringNoFree-text description of the group.
— EmailstringNoA new email address for the group.
— NamestringNoA new display name for the group.
Device IDstringYesThe ChromeOS device’s unique identifier. Used by ChromeOS Device: Get, Update and Change Status. Supports expressions.
Output (projection)optionsYesbasicHow much detail to return for each device.
Options: basic, full
Return All (returnAll)booleanNofalseReturn every device rather than a single page. Used by ChromeOS Device: Get Many.
Limit (limit)numberNo100Max number of results to return. Used by ChromeOS Device: Get Many when Return All is off.
Include ChildrenbooleanNofalseInclude devices from child organizational units.
Filter (filter)collectionNo{}Narrows the devices returned by ChromeOS Device: Get Many.
— Organizational Unit PathstringNoReturn only devices in this organizational unit.
— QuerystringNoDevice search query, for example status:ACTIVE.
Sort (sort)fixedCollectionNo{}Ordering for ChromeOS Device: Get Many.
— Order ByoptionsNoThe device field to sort on.
Options: annotatedLocation, annotatedUser, lastSync, notes, serialNumber, status
— Sort OrderoptionsNoSort direction.
Options: ascending, descending
Update Fields (updateOptions)collectionNo{}The device properties to change on ChromeOS Device: Update.
— Move to Organizational Unit PathstringNoMove the device into this organizational unit.
— Annotated UserstringNoThe person the device is assigned to.
— Annotated LocationstringNoWhere the device is kept.
— Annotated Asset IDstringNoYour own asset tag for the device.
— NotesstringNoAdministrative notes about the device.
StatusoptionsYesreenableThe status to apply on ChromeOS Device: Change Status.
Options: reenable (enable the device again), disable (disable the device)

Output Data

The API result becomes the output item’s JSON. Unlike most connector nodes this one does not pass the incoming item’s fields through and does not forward binary data — reference upstream values before this node, or re-attach them afterwards with a Merge or Edit Fields node.

User: Get Many, Group: Get Many and ChromeOS Device: Get Many fan out: they emit one output item per record. A listing that matches nothing emits no output item at all for that input item, so the branch goes quiet rather than producing an empty result. Every other operation emits exactly one output item per input item.

With error handling set to continue, a failed item is not dropped — it leaves through the Output port carrying error, resource and operation instead of a record. Check for error before treating an item as a result, or use errorPort to keep failures on their own branch.

Resource: OperationOutput item JSON
User: Add to Groupadded: true
User: Remove From Groupremoved: true
User: Deletedeleted: true
User: Create, User: UpdateThe user record returned by the API
User: Get, User: Get ManyWith Output simplified: kind, id, primaryEmail, name, isAdmin, lastLoginTime, creationTime, suspended. With raw or select: the record as the API returns it
Group: Create, Group: Get, Group: UpdateThe group record returned by the API
Group: Get ManyOne item per group record
Group: Deletesuccess: true
ChromeOS Device: Get, ChromeOS Device: UpdateThe device record returned by the API
ChromeOS Device: Get ManyOne item per device record
ChromeOS Device: Change Statussuccess: true and action, echoing the status you applied

Reference the result downstream by expression, e.g. {{ $json.id }}.

Usage Examples

  • Use Google Workspace Admin in a workflow to manage users, groups, and ChromeOS devices in a Google Workspace (formerly G Suite) domain via the Admin SDK Directory API

Example Configuration

Create a new user in the domain:

{
  "type": "google_gsuite_admin",
  "parameters": {
    "resource": "user",
    "operation": "create",
    "username": "john.doe",
    "firstName": "John",
    "lastName": "Doe",
    "password": "SecurePass123!",
    "domain": "company.com",
    "additionalFields": {
      "changePasswordAtNextLogin": true,
      "phones": [{ "value": "+1-555-0123", "type": "work" }]
    }
  }
}

List users in one domain, sorted by email:

{
  "type": "google_gsuite_admin",
  "parameters": {
    "resource": "user",
    "operation": "getAll",
    "returnAll": false,
    "limit": 50,
    "filter": {
      "domain": "company.com",
      "query": "orgUnitPath=/Engineering"
    },
    "sort": {
      "sortRules": {
        "orderBy": "email",
        "sortOrder": "ASCENDING"
      }
    },
    "projection": "full",
    "output": "simplified"
  }
}

Create a group:

{
  "type": "google_gsuite_admin",
  "parameters": {
    "resource": "group",
    "operation": "create",
    "name": "Engineering Team",
    "email": "engineering@company.com",
    "additionalFields": {
      "description": "Main engineering collaboration group"
    }
  }
}

Re-assign a ChromeOS device and record where it lives:

{
  "type": "google_gsuite_admin",
  "parameters": {
    "resource": "chromeOsDevice",
    "operation": "update",
    "deviceId": "device123456",
    "updateOptions": {
      "orgUnitPath": "/Engineering/Hardware",
      "annotatedUser": "john.doe@company.com",
      "annotatedLocation": "Building A, Floor 2, Desk 15",
      "annotatedAssetId": "HWENG-001",
      "notes": "Assigned to new hire in hardware team"
    }
  }
}

Add a user to a group:

{
  "type": "google_gsuite_admin",
  "parameters": {
    "resource": "user",
    "operation": "addToGroup",
    "userId": "john.doe@company.com",
    "groupId": "engineering@company.com"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage users, groups, and ChromeOS devices in a Google Workspace domain via the Admin SDK Directory API. Use when you need to create or update user accounts, manage group memberships, or administer ChromeOS devices. Returns user profiles, group details, or device information.

Error Prevention

  • Always specify resource first to determine available operations
  • Ensure userId/groupId/deviceId are provided for non-create operations
  • Use proper email formats for user and group identifiers
  • Validate organizational unit paths start with ”/”

Frequently asked questions

What credentials do I need to connect this node?

You need a `googleGSuiteAdminOAuth2Api` OAuth2 credential configured in BusyBot. This requires a Google Cloud project with the Admin SDK API enabled, and the OAuth consent screen scoped with admin directory permissions. The authenticating account must be a super admin or delegated admin in your Google Workspace domain.

What is the right order to fill in the node's parameters?

Always set the `resource` parameter first — it controls which operations become available (User, Group, or ChromeOS Device). Once a resource is selected, the relevant operation fields appear. If you configure other parameters before choosing a resource, you may not see the fields you need.

Which identifier should I use for users and groups — an ID or an email address?

Both are accepted, but email format is the most readable and least error-prone option. For users, provide the full primary email address (e.g. `jane@example.com`). For groups, use the group's email address. Either way, the value must be provided for every operation except create — omitting it will cause an error.

What format does an organizational unit path need to be in?

Organizational unit paths must begin with a forward slash, for example `/Sales/West` rather than `Sales/West`. Omitting the leading slash is a common mistake that causes the API to reject the request when creating or moving users into an OU.

What does this node return, and how do I use the output in later steps?

The node outputs on the `main` channel and returns structured data matching the resource type: a user profile object for User operations, group details for Group operations, or device information for ChromeOS Device operations. Downstream nodes can reference these fields directly — for example, pulling the newly created user's `primaryEmail` to send a welcome message.

Build with the Google Workspace Admin node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need googleGSuiteAdminOAuth2Api credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.