---
title: Google Workspace
slug: connectors/google-workspace
docTags: 
createdAt: 2026-06-09T16:29:48.099Z
---

Google Workspace is a cloud-based productivity suite that provides email, storage, collaboration, and device management tools for organizations.

Google Workspace is a leading suite of cloud-based productivity and collaboration tools, including Gmail, Drive, Calendar, Chat, Sheets, and Admin controls. This connector enables seamless automation of a wide range of Google Workspace tasks—such as managing emails, calendars, files, user directories, device administration, and security alerts—directly within Swimlane Turbine. By integrating Google Workspace with Turbine, security and IT teams can orchestrate incident response, automate user and device management, streamline compliance workflows, and enhance collaboration without manual intervention. This integration empowers organizations to accelerate response times, reduce operational overhead, and improve visibility across their Google Workspace environment.

## Google Cloud Platform and Google Admin Provisioning

### Prerequisites

Before you can use the Google Workspace connector, ensure the following prerequisites are met:

- Authentication using Google credentials:
  - No additional parameters required; authentication is handled via OAuth2 consent and authorization with your Google account.

## GCP Project Creation:

1. Log in to GCP Console here: [https://console.cloud.google.com/](https://console.cloud.google.com/)
2. Navigate to this link to create a new project: [https://console.cloud.google.com/projectcreate](https://console.cloud.google.com/projectcreate)
3. Name your project and click **Create**. We recommend specific and recognizable project names.

![](./docs/images/new_project.png)

Navigate to your projects, and select your new project.

![](./docs/images/select_project.png)

![](./docs/images/select_project_next.png)

### Enabling Individual APIs:

By default, when creating a new project, there are several APIs that are enabled.

Default enabled APIs are:

- BigQuery API
- BigQuery Storage API
- Cloud Datastore API
- Cloud Debugger API
- Cloud Logging API
- Cloud Monitoring API
- Cloud SQL
- Cloud Storage
- Cloud Storage API
- Cloud Trace API
- Google Cloud APIs
- Google Cloud Storage JSON API
- Google Chat API
- Google Sheets API
- Service Management API
  *... and so on*

You will need to navigate to these links and enable the following APIs:

Google Drive API:
[https://console.cloud.google.com/apis/library/drive.googleapis.com](https://console.cloud.google.com/apis/library/drive.googleapis.com)

Enabling Google Drive API example pictured below.

![](./docs/images/api_enabling.png)

This will bring up the individual API Dashboard when successfully enabled. Continue through the links provided below until all are enabled. If the links become deprecated, make sure you use the explicit names provided.
Gmail API:
[https://console.cloud.google.com/apis/library/gmail.googleapis.com](https://console.cloud.google.com/apis/library/gmail.googleapis.com)

Google Workspace Alert Center API:
[https://console.cloud.google.com/apis/library/alertcenter.googleapis.com](https://console.cloud.google.com/apis/library/alertcenter.googleapis.com)

G Suite Vault API:
[https://console.cloud.google.com/apis/library/vault.googleapis.com](https://console.cloud.google.com/apis/library/vault.googleapis.com)

Admin SDK API:
[https://console.cloud.google.com/apis/library/admin.googleapis.com](https://console.cloud.google.com/apis/library/admin.googleapis.com)

Google Chat API:
[https://console.cloud.google.com/apis/library/chat.googleapis.com](https://console.cloud.google.com/apis/library/chat.googleapis.com)

Google Sheets API:
[https://console.cloud.google.com/apis/library/sheets.googleapis.com](https://console.cloud.google.com/apis/library/sheets.googleapis.com)

After this, navigate back to the APIs and Services Dashboard and verify that all APIs are listed, either by using the filter or looking at the list.

![](./docs/images/service_dashboard.png)
![](./docs/images/api_list.png)

If any APIs are missing, go back and enable them.

### Configuring a Service Account:

Google Workspace connector requires a Google service account to authenticate.

1. Open [https://console.developers.google.com/iam-admin/serviceaccounts](https://console.developers.google.com/iam-admin/serviceaccounts)
2. Select the appropriate project
3. Click **+ CREATE NEW SERVICE ACCOUNT**
4. Assign a name for the service account and add a description, click **CREATE AND CONTINUE**
5. Click the **Select a Role** dropdown and type “Owner” in the filter. Choose **Owner** and click **Continue**
6. For the menu specifying *Grant users access to this service account (optional)* you may select **Users** or **Skip** and click **Done**. This is not required for the connector
7. Click on the newly created service account email
8. Navigate to the **KEYS** menu
9. Click **ADD KEY**, select **CREATE NEW KEY**, select **JSON** format, and click **CREATE**. Make sure you download the .json file presented. This file will be needed when configuring the asset in Swimlane
10. Navigate to the **Details** menu at the top of the screen. Copy down the **Unique ID** to be used in the Setting API Scopes step below

### OAuth 2.0

To configure OAuth 2.0 for the Swimlane Google Workspace Connector, follow these steps:

1. Navigate to the [Google Cloud Console](https://console.cloud.google.com/).
2. Select your project from the top menu.
3. In the left sidebar, select "APIs & Services" > "Credentials."
4. Click the "+ CREATE CREDENTIALS" button and select "OAuth 2.0 Client ID."
5. Under "Application type," select "Web application."
6. Enter a name for the OAuth 2.0 client.
7. Click "Create." A dialog with your client ID and client secret will appear.
8. Click "OK" to close the dialog.
9. Next to the OAuth 2.0 client you just created, click on the pencil icon to edit the client.
10. Under "Scopes for Google APIs," add the necessary scopes that are required for your connector (as specified in the "Setting API Scopes" section of this README).
11. Click "Save."

Your OAuth 2.0 client is now configured and ready to be used with the Swimlane Google Workspace Connector.

Once this is configured, you need to retrieve a refresh\_token. The refresh\_token, client\_id, and client\_secret are needed for configuring the asset.
To retrieve the refresh\_token, please reach out to Swimlane support for the requirements.txt and get\_refresh\_token.py files. You will also need Python3 installed on your local system.
Given those, run the following commands:

```javascript
python3 -m pip install -r requiremments.txt
python3 get_refresh_token.py
```

The script will:
Prompt for a client\_id and client\_secret
Prompt for additional scopes. By default the requested scopes are gmail.send and gmail.modify, which are required for sending/reading Gmail emails.
If no other scopes are needed, respond "no"
Direct the user to Gmail authentication and approval in a browser.
Redirect the user to a blank page at [https://localhost](https://localhost).

Copy the full URL for the [https://localhost](https://localhost) address and provide it to the script, at which point it will provide the user with the refresh token.

### Delegating Domain-Wide Authority (Recommended)

In order to support accessing multiple user's accounts, domain-wide authority must be enabled before creating a service account. Choosing not to delegate domain-wide authority will heavily limit the scope of what this connector can do. If the connector will only operate against a single account, the next section (Setting API Scopes) can be skipped.

### Setting API Scopes:

After creating a service account, the necessary API scopes required to be authorized must be set.

1. From [https://admin.google.com](https://admin.google.com/), navigate to **Security > API Controls** and then click **Manage Domain Wide Delegation** at the bottom of the window.
2. Click **Add new**
3. In the **Client ID** field, enter the **Unique ID** from the service account **Details** menu
4. Enter the following CSV value into the **OAuth Scopes (comma-delimited)** input:
   `https://mail.google.com/,https://www.googleapis.com/auth/admin.directory.device.mobile,https://www.googleapis.com/auth/admin.directory.device.mobile.action,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.directory.user,https://www.googleapis.com/auth/admin.directory.user.security,https://www.googleapis.com/auth/admin.directory.user.alias,https://www.googleapis.com/auth/admin.directory.userschema,https://www.googleapis.com/auth/apps.alerts,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/ediscovery,https://www.googleapis.com/auth/chat.bot,https://www.googleapis.com/auth/spreadsheets`
5. Click **Authorize**

## Swimlane Asset Setup:

### Prerequisites:

- Admin Swimlane Account and file downloaded from Apphub
- `.json` file downloaded when Service Account Key was created

### Asset Configuration:

Credentials:

The contents of the JSON credentials key file downloaded when creating a service account must be base64-encoded when creating the Swimlane Google Workspace asset.

For Linux and Mac:

`$ cat <path_to_credentials.json> | base64`

For Windows using Powershell:

`[convert]::ToBase64String((Get-Content -path "your_file_path" -Encoding byte))`

Now copy the Base64 encoded string and paste it into the Service Account JSON field.

Delegate Account:

The delegate account value is used to determine which account to operate as when running actions. *This value should be the email address for the **target account*** (the mailbox you are trying to read/write).

Some actions provide an optional input to override the asset value.

In most - if not all cases an Admin account of the Google Workspace should be used. It should not be the service account email.

Customer ID:

The unique ID for the customer's Google Workspace account. As an account administrator, you can also use the my\_customer alias to represent your account's customerId. The customerId is also returned as part of the users resource.

In order to get this value, navigate to [https://admin.google.com](https://admin.google.com). Then go to **Account - Account Settings**, and you will find it listed.

### Limitations when NOT using a Delegated Account:

While service accounts can perform many of the same actions as regular user accounts, they have some limitations when it comes to interacting with user data. In particular, a service account with its own Gmail setup may not be able to interact with user data in the same way a regular user would. For example, it might not be able to access a user's emails, contacts, or Google Drive files.

## Services

### Drive

[https://drive.google.com/](https://drive.google.com/)

Required APIs:

- Google Drive API

Google Drive Connector allow Swimlane to query against existing files, get file metadata, get file contents, get file by ID, and delete files.

Querying

Querying allows you to query against file metadata. The following URL has common examples of query values that can be used

in this connector: [https://developers.google.com/drive/api/v3/reference/query-ref](https://developers.google.com/drive/api/v3/reference/query-ref)

**Note:** File ID can be found in the file URL through the browser, or in the metadata returned from the 'Drive Retrieve Files' action.

**Note:** You can find the folder ID in the folder URL through the browser, or you can see it returned as an output from the create a folder action.

**Note:** The File Upload action receives an optional Media Type input, official media types can be found [here.](https://www.iana.org/assignments/media-types/media-types.xhtml)

**Note:** To create Drive folders use the File Upload action and set the mimeType input to `application/vnd.google-apps.folder`

### Gmail

Available [scopes](https://developers.google.com/gmail/api/auth/scopes). The Gmail API must be enabled [https://console.developers.google.com/apis/library/gmail.googleapis.com](https://console.developers.google.com/apis/library/gmail.googleapis.com), and the full scope is expected for Swimlane connectors to function. Scope = [https://mail.google.com/](https://mail.google.com/)

### Attached EML Files

If you will be attaching .eml files to emails, the .eml file must be zipped first. Enable the "unzip attachments" feature

in **Get Emails** configuration inputs to extract the .eml file from the zip file for Swimlane.

### Sending Inline Images

To send inline images using the Swimlane Google Workspace Connector, you need to follow these steps:

1. Ensure the image you want to send is part of the attachments you are including in your email.
2. In the body of your email, reference the image using the Content-ID (cid), which should be the same as the image's filename. For example, if your image's filename is "image1.png", reference it in your email body like this:

For HTML email: `<img src="cid:image1.png" alt="My inline image">`

For plain text email: `[Image: image1.png]`

Note that the name of the image file in the attachments and the name used in the Content-ID (cid) must match exactly, including the file extension.

### Capabilities

- Add Row or Data to Google Sheets
- AlertCenter - Batch Delete Alerts
- AlertCenter - Batch Undelete Alerts
- AlertCenter - Delete Alert
- AlertCenter - List Alerts
- AlertCenter - Undelete Alert
- Alertcenter Alerts Get
- Calendar - Create Event
- Calendar - Delete Event
- Calendar - Get Event
- Calendar - List Events
- Chat Create a Message
- Chat List Spaces
- Deprovision or Disable a Chrome Device
- Drive - Delete File
  *... and so on*

### Alert Center

**Note**: To use Google Workspace Alert Center, you must have the API scope [https://www.googleapis.com/auth/apps.alerts](https://www.googleapis.com/auth/apps.alerts). See the CSV of all expected scopes below for details.

You can find the prerequisites for using Alert Center [here](https://developers.google.com/admin-sdk/alertcenter/guides/prerequisites).

For alert details and to see the different alert types click [here](https://support.google.com/a/answer/9104585).

### Query Filters and State Query Filters:

For information on using the query filter, see: [https://developers.google.com/admin-sdk/alertcenter/guides/query-filters](https://developers.google.com/admin-sdk/alertcenter/guides/query-filters)

### Vault

[https://ediscovery.google.com/](https://ediscovery.google.com/)

**Note:** Using "Organization Path" input for most Vault actions will work for all but root OU as "/full/path/to/unit". Root OU must be specified in "id:03tw28tw32rivbq" format.

### Custom Schemas

You can use schemas to add custom fields to user profiles. You can use these fields to store information such as the projects your users work on, their physical locations, their hire dates, or whatever else fits your business needs.

### Users

The Directory API allows you to create and manage your account's users and user aliases.

### Groups

Google Groups provide your users the ability to send messages to groups of people using the group's email address.

### Memberships

A Google Groups member can be a user or another group. This member can be inside or outside of your account's domains.

### Mobile Devices

Google Workspace Mobile Management includes Android, Google Sync, and iOS devices.

Required APIs:

- Google Workspace Vault API
- Admin SDK
- Google Cloud Storage JSON API

Matters

Create, pull, and close matters

Holds

Create mail holds

Exports

Create new exports

General Notes

### Chat

- The Google Chat API enables you to both create messages and list spaces within the Google Chat Space.
- **Notes**:
  - [Create a Message API Documentation](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create)
  - [List Spaces API Documentation](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list)
  - [Chrome Devices API](https://developers.google.com/admin-sdk/directory/reference/rest/v1/chromeosdevices/get)
  - [Python SDK Documentation](https://developers.google.com/resources/api-libraries/documentation/admin/directory_v1/python/latest/admin_directory_v1.chromeosdevices.html#action)

[https://googleapis.github.io/google-api-python-client/docs/dyn/admin\_directory\_v1.customer.devices.chromeos.html#batchChangeStatus](https://googleapis.github.io/google-api-python-client/docs/dyn/admin_directory_v1.customer.devices.chromeos.html#batchChangeStatus)

### Sheets

- The Google Sheet API allows you to add a row or add data to a Google Sheets.
- **Notes**:  [Add Row or Add Data API Documentation](https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate)

Here is a CSV list of all expected scopes that will enable everything for Alert Center, Custom Users Schemas, Devices, Drive, Gmail, Google, Groups, Memberships, Mobile, Vault, Google Chat and Google Sheets:

`https://mail.google.com/,https://www.googleapis.com/auth/admin.directory.device.mobile,https://www.googleapis.com/auth/admin.directory.device.mobile.action,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.directory.user,https://www.googleapis.com/auth/admin.directory.user.security,https://www.googleapis.com/auth/admin.directory.user.alias,https://www.googleapis.com/auth/admin.directory.userschema,https://www.googleapis.com/auth/apps.alerts,https://www.googleapis.com/auth/devstorage.read_only,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/ediscovery,https://www.googleapis.com/auth/chat.bot,https://www.googleapis.com/auth/spreadsheets`

### Notes

- While adding an asset, you must provide either credentials or a Client ID and Client Secret.
- If both are provided, the Client ID takes precedence.

## Additional Documentation

- [Google Workspace Connector Documentation](https://docs.swimlane.com/connectors/google-workspace)
- [Google Workspace API Documentation](https://developers.google.com/workspace/guides/get-started)

# Configurations

## Google Authentication

Authenticates using Google credentials

### Configuration Parameters

| **Parameter**     | **Description**                                                                                                                                                        | **Type** | **Required** |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------ |
| credentials       | Base64-encoded contents from Service Account JSON credentials file. See README for setup instructions                                                                  | string   | Optional     |
| delegate\_account | Account to execute integrations under. If not specified, the integration will run as a service account. Using a Service Account will introduce limitations. See Readme | string   | Optional     |
| client\_id        | The client ID for the OAuth 2.0 application.                                                                                                                           | string   | Optional     |
| client\_secret    | The client secret for the OAuth 2.0 application.                                                                                                                       | string   | Optional     |
| refresh\_token    | OAuth 2.0 refresh token used to obtain new access tokens. If using a refresh token, you must also provide a client ID and secret.                                      | string   | Optional     |

# Actions

## Add Row or Data to Google Sheets

Append or update data in a specified Google Sheets spreadsheet using the provided spreadsheetId and data body.

### Input

| **Argument Name**                                  | **Type** | **Required** | **Description**                                                                                                                                                                                                                                                       |
| -------------------------------------------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `spreadsheetId`                                    | string   | Required     | The spreadsheet to apply the updates to.                                                                                                                                                                                                                              |
| `body`                                             | object   | Required     | Request body data                                                                                                                                                                                                                                                     |
| `body.requests`                                    | array    | Optional     | A list of updates to apply to the spreadsheet. Requests will be applied in the order they are specified. If any request is not valid, no requests will be applied.                                                                                                    |
| `body.requests.insertDimension`                    | object   | Optional     | Inserts new rows or columns in a sheet.                                                                                                                                                                                                                               |
| `body.requests.insertDimension.range`              | object   | Optional     | The dimensions to insert. Both the start and end indexes must be bounded.                                                                                                                                                                                             |
| `body.requests.insertDimension.range.sheetId`      | number   | Optional     | The sheet this span is on.                                                                                                                                                                                                                                            |
| `body.requests.insertDimension.range.dimension`    | string   | Optional     | The dimension of the span.                                                                                                                                                                                                                                            |
| `body.requests.insertDimension.range.startIndex`   | number   | Optional     | The start (inclusive) of the span, or not set if unbounded.                                                                                                                                                                                                           |
| `body.requests.insertDimension.range.endIndex`     | number   | Optional     | The end (exclusive) of the span, or not set if unbounded.                                                                                                                                                                                                             |
| `body.requests.insertDimension.inheritFromBefore`  | boolean  | Optional     | Whether dimension properties should be extended from the dimensions before or after the newly inserted dimensions. True to inherit from the dimensions before (in which case the start index must be greater than 0), and false to inherit from the dimensions after. |
| `body.requests.pasteData`                          | object   | Optional     | Pastes data (HTML or delimited) into a sheet.                                                                                                                                                                                                                         |
| `body.requests.pasteData.coordinate`               | object   | Optional     | The coordinate at which the data should start being inserted.                                                                                                                                                                                                         |
| `body.requests.pasteData.coordinate.sheetId`       | number   | Optional     | The sheet this coordinate is on.                                                                                                                                                                                                                                      |
| `body.requests.pasteData.coordinate.rowIndex`      | number   | Optional     | The row index of the coordinate.                                                                                                                                                                                                                                      |
| `body.requests.pasteData.coordinate.columnIndex`   | number   | Optional     | The column index of the coordinate.                                                                                                                                                                                                                                   |
| `body.requests.pasteData.data`                     | string   | Optional     | The data to insert.                                                                                                                                                                                                                                                   |
| `body.requests.pasteData.type`                     | string   | Optional     | How the data should be pasted.                                                                                                                                                                                                                                        |
| `body.requests.pasteData.delimiter`                | string   | Optional     | The delimiter in the data.                                                                                                                                                                                                                                            |
| `body.requests.pasteData.html`                     | boolean  | Optional     | True if the data is HTML.                                                                                                                                                                                                                                             |
| `body.requests.insertRange`                        | object   | Optional     | Inserts new cells in a sheet, shifting the existing cells.                                                                                                                                                                                                            |
| `body.requests.insertRange.range`                  | object   | Optional     | The range to insert new cells into.                                                                                                                                                                                                                                   |
| `body.requests.insertRange.range.sheetId`          | number   | Optional     | The sheet this range is on.                                                                                                                                                                                                                                           |
| `body.requests.insertRange.range.startRowIndex`    | number   | Optional     | The start row (inclusive) of the range, or not set if unbounded.                                                                                                                                                                                                      |
| `body.requests.insertRange.range.endRowIndex`      | number   | Optional     | The end row (exclusive) of the range, or not set if unbounded.                                                                                                                                                                                                        |
| `body.requests.insertRange.range.startColumnIndex` | number   | Optional     | The start column (inclusive) of the range, or not set if unbounded.                                                                                                                                                                                                   |

### Input Example

`{"body":{"requests":[{"insertDimension":{"range":{"sheetId":1234567890,"dimension":"ROWS","startIndex":0,"endIndex":1},"inheritFromBefore":true}},{"pasteData":{"coordinate":{"sheetId":1234567890,"rowIndex":0,"columnIndex":1},"data":"string","type":"PASTE_NORMAL","delimiter":"string","html":true}},{"insertRange":{"range":{"sheetId":1234567890,"startRowIndex":0,"endRowIndex":1,"startColumnIndex":1,"endColumnIndex":2},"shiftDimension":"ROWS"}}],"includeSpreadsheetInResponse":true,"responseRanges":["string"],"responseIncludeGridData":true}}`

### Output

| **Parameter**                 | **Type** | **Description**                           |
| ----------------------------- | -------- | ----------------------------------------- |
| `status_code`                 | number   | HTTP status code of the response          |
| `reason`                      | string   | Response reason phrase                    |
| `response`                    | object   | Output field: response                    |
| `response.spreadsheetId`      | string   | Unique identifier                         |
| `response.replies`            | array    | Output field: response.replies            |
| `response.updatedSpreadsheet` | object   | Output field: response.updatedSpreadsheet |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{"spreadsheetId":"string","replies":[{}],"updatedSpreadsheet":{}}}`

## AlertCenter - Batch Delete Alerts

Delete multiple alerts at once in Google Workspace Alert Center by providing the required request body.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                 |
| ----------------- | -------- | ------------ | ----------------------------------------------- |
| `body`            | object   | Required     | Request body data                               |
| `body.alertId`    | array    | Required     | Request body data                               |
| `body.customerId` | string   | Optional     | Request body data                               |
| `x__xgafv`        | string   | Optional     | Parameter for AlertCenter - Batch Delete Alerts |

### Input Example

`{"body":{"alertId":["e44b7458-e1af-4d13-beb5-bcc5d2ce3fb4"],"customerId":"02xtqyl8"},"x__xgafv":"1"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{}`

## AlertCenter - Batch Undelete Alerts

Restore multiple deleted alerts in Google Workspace Alert Center by providing alert details in the request body.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                   |
| ----------------- | -------- | ------------ | ------------------------------------------------- |
| `body`            | object   | Required     | Request body data                                 |
| `body.alertId`    | array    | Required     | Request body data                                 |
| `body.customerId` | string   | Optional     | Request body data                                 |
| `x__xgafv`        | string   | Optional     | Parameter for AlertCenter - Batch Undelete Alerts |

### Input Example

`{"body":{"alertId":["e44b7458-e1af-4d13-beb5-bcc5d2ce3fb4"],"customerId":"02xtqyl8"},"x__xgafv":"1"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{}`

## AlertCenter - Delete Alert

Mark a specified alert for deletion in Google Workspace by providing the alertId.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                          |
| ----------------- | -------- | ------------ | ---------------------------------------- |
| `customerId`      | string   | Optional     | Unique identifier                        |
| `alertId`         | string   | Required     | Unique identifier                        |
| `x__xgafv`        | string   | Optional     | Parameter for AlertCenter - Delete Alert |

### Input Example

`{"customerId":"02xtqyl8","alertId":"e44b7458-e1af-4d13-beb5-bcc5d2ce3fb4","x__xgafv":"1"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{}`

## Alertcenter Alerts Get

Retrieve detailed information for a specified alert from the Google Workspace Alert Center, including alert metadata and status.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                                                                     |
| ----------------- | -------- | ------------ | --------------------------------------------------------------------------------------------------- |
| `alertId`         | string   | Optional     | The identifier of the alert to retrieve.                                                            |
| `customerId`      | string   | Optional     | The unique identifier of the Google Workspace account of the customer the alert is associated with. |
| `x__xgafv`        | string   | Optional     | Parameter for Alertcenter Alerts Get                                                                |

### Input Example

`{"alertId":"e44b7458-e1af-4d13-beb5-bcc5d2ce3fb4","customerId":"02xtqyl8","x__xgafv":"1"}`

### Output

| **Parameter**                   | **Type** | **Description**                             |
| ------------------------------- | -------- | ------------------------------------------- |
| `alertId`                       | string   | Unique identifier                           |
| `createTime`                    | string   | Time value                                  |
| `customerId`                    | string   | Unique identifier                           |
| `data`                          | object   | Response data                               |
| `data.a_key`                    | string   | Response data                               |
| `deleted`                       | boolean  | Output field: deleted                       |
| `endTime`                       | string   | Time value                                  |
| `etag`                          | string   | Output field: etag                          |
| `metadata`                      | object   | Response data                               |
| `metadata.assignee`             | string   | Response data                               |
| `metadata.customerId`           | string   | Response data                               |
| `metadata.etag`                 | string   | Response data                               |
| `metadata.severity`             | string   | Response data                               |
| `metadata.status`               | string   | Response data                               |
| `metadata.updateTime`           | string   | Response data                               |
| `securityInvestigationToolLink` | string   | Output field: securityInvestigationToolLink |
| `source`                        | string   | Output field: source                        |
| `startTime`                     | string   | Time value                                  |
| `type`                          | string   | Type of the resource                        |
| `updateTime`                    | string   | Time value                                  |

### Output Example

`{"alertId":"string","createTime":"string","customerId":"A String","data":{"a_key":""},"deleted":true,"endTime":"A String","etag":"string","metadata":{"assignee":"A String","customerId":"A String","etag":"A String","severity":"LOW","status":"CLOSED","updateTime":"A String"},"securityInvestigationToolLink":"A String","source":"A String","startTime":"A String","type":"A String","updateTime":"A String"}`

## AlertCenter - List Alerts

Retrieve a list of security alerts from Google Workspace Alert Center to help identify and investigate potential security issues.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                         |
| ----------------- | -------- | ------------ | --------------------------------------- |
| `customerId`      | string   | Optional     | Unique identifier                       |
| `filter`          | string   | Optional     | Parameter for AlertCenter - List Alerts |
| `orderBy`         | string   | Optional     | Parameter for AlertCenter - List Alerts |
| `pageSize`        | number   | Optional     | Parameter for AlertCenter - List Alerts |
| `pageToken`       | string   | Optional     | Parameter for AlertCenter - List Alerts |
| `x__xgafv`        | string   | Optional     | Parameter for AlertCenter - List Alerts |

### Input Example

`{"customerId":"C02xtqyl8","pageSize":100,"x__xgafv":"1"}`

### Output

| **Parameter**                                   | **Type** | **Description**                                             |
| ----------------------------------------------- | -------- | ----------------------------------------------------------- |
| `status_code`                                   | number   | HTTP status code of the response                            |
| `reason`                                        | string   | Response reason phrase                                      |
| `response`                                      | object   | Output field: response                                      |
| `response.alerts`                               | array    | Output field: response.alerts                               |
| `response.alerts.customerId`                    | string   | Unique identifier                                           |
| `response.alerts.alertId`                       | string   | Unique identifier                                           |
| `response.alerts.createTime`                    | string   | Time value                                                  |
| `response.alerts.startTime`                     | string   | Time value                                                  |
| `response.alerts.endTime`                       | string   | Time value                                                  |
| `response.alerts.type`                          | string   | Type of the resource                                        |
| `response.alerts.source`                        | string   | Output field: response.alerts.source                        |
| `response.alerts.data`                          | object   | Response data                                               |
| `response.alerts.data.@type`                    | string   | Response data                                               |
| `response.alerts.data.email`                    | string   | Response data                                               |
| `response.alerts.data.loginDetails`             | object   | Response data                                               |
| `response.alerts.data.loginDetails.ipAddress`   | string   | Response data                                               |
| `response.alerts.securityInvestigationToolLink` | string   | Output field: response.alerts.securityInvestigationToolLink |
| `response.alerts.metadata`                      | object   | Response data                                               |
| `response.alerts.metadata.customerId`           | string   | Response data                                               |
| `response.alerts.metadata.alertId`              | string   | Response data                                               |
| `response.alerts.metadata.status`               | string   | Response data                                               |
| `response.alerts.metadata.updateTime`           | string   | Response data                                               |
| `response.alerts.metadata.severity`             | string   | Response data                                               |
| `response.alerts.metadata.etag`                 | string   | Response data                                               |
| `response.alerts.updateTime`                    | string   | Time value                                                  |

### Output Example

`{"response":{"alerts":[{}]}}`

## AlertCenter - Undelete Alert

Restore a deleted Google Workspace alert within 30 days by specifying the alertId.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                            |
| ----------------- | -------- | ------------ | ------------------------------------------ |
| `alertId`         | string   | Required     | Unique identifier                          |
| `body`            | object   | Optional     | Request body data                          |
| `body.customerId` | string   | Optional     | Request body data                          |
| `x__xgafv`        | string   | Optional     | Parameter for AlertCenter - Undelete Alert |

### Input Example

`{"alertId":"e44b7458-e1af-4d13-beb5-bcc5d2ce3fb4","body":{"customerId":"02xtqyl8"},"x__xgafv":"1"}`

### Output

| **Parameter**                          | **Type** | **Description**                  |
| -------------------------------------- | -------- | -------------------------------- |
| `status_code`                          | number   | HTTP status code of the response |
| `reason`                               | string   | Response reason phrase           |
| `response`                             | object   | Output field: response           |
| `response.customerId`                  | string   | Unique identifier                |
| `response.alertId`                     | string   | Unique identifier                |
| `response.createTime`                  | string   | Time value                       |
| `response.startTime`                   | string   | Time value                       |
| `response.endTime`                     | string   | Time value                       |
| `response.type`                        | string   | Type of the resource             |
| `response.source`                      | string   | Output field: response.source    |
| `response.data`                        | object   | Response data                    |
| `response.data.@type`                  | string   | Response data                    |
| `response.data.email`                  | string   | Response data                    |
| `response.data.loginDetails`           | object   | Response data                    |
| `response.data.loginDetails.ipAddress` | string   | Response data                    |
| `response.metadata`                    | object   | Response data                    |
| `response.metadata.customerId`         | string   | Response data                    |
| `response.metadata.alertId`            | string   | Response data                    |
| `response.metadata.status`             | string   | Response data                    |
| `response.metadata.updateTime`         | string   | Response data                    |
| `response.metadata.severity`           | string   | Response data                    |
| `response.metadata.etag`               | string   | Response data                    |
| `response.updateTime`                  | string   | Time value                       |
| `response.etag`                        | string   | Output field: response.etag      |

### Output Example

`{"response":{"customerId":"string","alertId":"string","createTime":"string","startTime":"string","endTime":"string","type":"string","source":"string","data":{"@type":"string","email":"user@example.com","loginDetails":{}},"metadata":{"customerId":"string","alertId":"string","status":"active","updateTime":"string","severity":"string","etag":"string"},"updateTime":"string","etag":"string"}}`

## Calendar - Create Event

Create a new event in the user's Google Calendar using specified event details and return information about the created event.

### Endpoint

- **Method:** `POST`

### Input

| **Argument Name**                   | **Type** | **Required** | **Description**                                                                                                  |
| ----------------------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------- |
| `event`                             | object   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.summary`                     | string   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.location`                    | string   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.description`                 | string   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.start`                       | object   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.start.dateTime`              | string   | Optional     | Time value                                                                                                       |
| `event.start.timeZone`              | string   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.end`                         | object   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.end.dateTime`                | string   | Optional     | Time value                                                                                                       |
| `event.end.timeZone`                | string   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.reminders`                   | object   | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.reminders.useDefault`        | boolean  | Optional     | Parameter for Calendar - Create Event                                                                            |
| `event.reminders.overrides`         | array    | Optional     | Unique identifier                                                                                                |
| `event.reminders.overrides.method`  | string   | Optional     | HTTP method to use                                                                                               |
| `event.reminders.overrides.minutes` | number   | Optional     | Unique identifier                                                                                                |
| `override_event`                    | object   | Optional     | If you want to override the event object, you can do so here. This will override the event object in the inputs. |

### Input Example

`{"event":{"summary":"Test Event","location":"800 Howard St., San Francisco, CA 94103","description":"A test event.","start":{"dateTime":"2023-06-28T09:00:00-07:00","timeZone":"America/Los_Angeles"},"end":{"dateTime":"2023-06-28T17:00:00-07:00","timeZone":"America/Los_Angeles"},"reminders":{"useDefault":false,"overrides":[{"method":"email","minutes":1440},{"method":"popup","minutes":10}]}},"override_event":{}}`

### Output

| **Parameter**              | **Type** | **Description**                        |
| -------------------------- | -------- | -------------------------------------- |
| `response`                 | object   | Output field: response                 |
| `response.kind`            | string   | Output field: response.kind            |
| `response.etag`            | string   | Output field: response.etag            |
| `response.id`              | string   | Unique identifier                      |
| `response.status`          | string   | Status value                           |
| `response.htmlLink`        | string   | Output field: response.htmlLink        |
| `response.created`         | string   | Output field: response.created         |
| `response.updated`         | string   | Output field: response.updated         |
| `response.summary`         | string   | Output field: response.summary         |
| `response.description`     | string   | Output field: response.description     |
| `response.location`        | string   | Output field: response.location        |
| `response.creator`         | object   | Output field: response.creator         |
| `response.creator.email`   | string   | Output field: response.creator.email   |
| `response.creator.self`    | boolean  | Output field: response.creator.self    |
| `response.organizer`       | object   | Output field: response.organizer       |
| `response.organizer.email` | string   | Output field: response.organizer.email |
| `response.organizer.self`  | boolean  | Output field: response.organizer.self  |
| `response.start`           | object   | Output field: response.start           |
| `response.start.dateTime`  | string   | Time value                             |
| `response.start.timeZone`  | string   | Output field: response.start.timeZone  |
| `response.end`             | object   | Output field: response.end             |
| `response.end.dateTime`    | string   | Time value                             |
| `response.end.timeZone`    | string   | Output field: response.end.timeZone    |
| `response.iCalUID`         | string   | Unique identifier                      |
| `response.sequence`        | number   | Output field: response.sequence        |

### Output Example

`{"response":{"kind":"string","etag":"string","id":"12345678-1234-1234-1234-123456789abc","status":"active","htmlLink":"string","created":"2024-01-01T00:00:00Z","updated":"2024-01-01T00:00:00Z","summary":"string","description":"string","location":"string","creator":{"email":"user@example.com","self":true},"organizer":{"email":"user@example.com","self":true},"start":{"dateTime":"string","timeZone":"string"},"end":{"dateTime":"string","timeZone":"string"},"iCalUID":"string"}}`

## Calendar - Delete Event

Remove a specific event from a Google Workspace calendar by providing the required calendarId and eventId.

### Endpoint

- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `calendarId`      | string   | Required     | Unique identifier |
| `eventId`         | string   | Required     | Unique identifier |

### Input Example

`{"calendarId":"primary","eventId":"b0f8bhf6t51aldhs6d1f5fhsis"}`

### Output

| **Parameter**      | **Type** | **Description**                      |
| ------------------ | -------- | ------------------------------------ |
| `response`         | object   | Output field: response               |
| `response.success` | string   | Whether the operation was successful |

### Output Example

`{"response":{"success":"true"}}`

## Calendar - Get Event

Retrieve details of a specific event from Google Workspace Calendar using the provided calendarId and eventId.

### Endpoint

- **Method:** `GET`

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `calendarId`      | string   | Required     | Unique identifier |
| `eventId`         | string   | Required     | Unique identifier |

### Input Example

`{"calendarId":"primary","eventId":"b0f8bhf6t51aldhs6d1f5fhsis"}`

### Output

| **Parameter**              | **Type** | **Description**                        |
| -------------------------- | -------- | -------------------------------------- |
| `response`                 | object   | Output field: response                 |
| `response.kind`            | string   | Output field: response.kind            |
| `response.etag`            | string   | Output field: response.etag            |
| `response.id`              | string   | Unique identifier                      |
| `response.status`          | string   | Status value                           |
| `response.htmlLink`        | string   | Output field: response.htmlLink        |
| `response.created`         | string   | Output field: response.created         |
| `response.updated`         | string   | Output field: response.updated         |
| `response.summary`         | string   | Output field: response.summary         |
| `response.description`     | string   | Output field: response.description     |
| `response.location`        | string   | Output field: response.location        |
| `response.creator`         | object   | Output field: response.creator         |
| `response.creator.email`   | string   | Output field: response.creator.email   |
| `response.creator.self`    | boolean  | Output field: response.creator.self    |
| `response.organizer`       | object   | Output field: response.organizer       |
| `response.organizer.email` | string   | Output field: response.organizer.email |
| `response.organizer.self`  | boolean  | Output field: response.organizer.self  |
| `response.start`           | object   | Output field: response.start           |
| `response.start.dateTime`  | string   | Time value                             |
| `response.start.timeZone`  | string   | Output field: response.start.timeZone  |
| `response.end`             | object   | Output field: response.end             |
| `response.end.dateTime`    | string   | Time value                             |
| `response.end.timeZone`    | string   | Output field: response.end.timeZone    |
| `response.iCalUID`         | string   | Unique identifier                      |
| `response.sequence`        | number   | Output field: response.sequence        |

### Output Example

`{"response":{"kind":"string","etag":"string","id":"12345678-1234-1234-1234-123456789abc","status":"active","htmlLink":"string","created":"2024-01-01T00:00:00Z","updated":"2024-01-01T00:00:00Z","summary":"string","description":"string","location":"string","creator":{"email":"user@example.com","self":true},"organizer":{"email":"user@example.com","self":true},"start":{"dateTime":"string","timeZone":"string"},"end":{"dateTime":"string","timeZone":"string"},"iCalUID":"string"}}`

## Calendar - List Events

Retrieve all events from a specified Google Workspace calendar using the provided calendarId.

### Endpoint

- **Method:** `GET`

### Input

| **Argument Name**       | **Type** | **Required** | **Description**                                                                |
| ----------------------- | -------- | ------------ | ------------------------------------------------------------------------------ |
| `calendarId`            | string   | Required     | The ID of the calendar to list events from. "primary" is the default calendar. |
| `timeMin`               | string   | Optional     | Parameter for Calendar - List Events                                           |
| `timeMax`               | string   | Optional     | Parameter for Calendar - List Events                                           |
| `maxResults`            | number   | Optional     | Result of the operation                                                        |
| `singleEvents`          | boolean  | Optional     | Parameter for Calendar - List Events                                           |
| `orderBy`               | string   | Optional     | Parameter for Calendar - List Events                                           |
| `q`                     | string   | Optional     | Parameter for Calendar - List Events                                           |
| `showDeleted`           | boolean  | Optional     | Parameter for Calendar - List Events                                           |
| `showHiddenInvitations` | boolean  | Optional     | Unique identifier                                                              |
| `timeZone`              | string   | Optional     | Parameter for Calendar - List Events                                           |
| `updatedMin`            | string   | Optional     | Parameter for Calendar - List Events                                           |

### Input Example

`{"calendarId":"primary","timeMin":"2023-06-05T00:00:00Z","timeMax":"2023-06-06T00:00:00Z","maxResults":10,"singleEvents":true,"orderBy":"startTime","q":"meeting","showDeleted":false,"showHiddenInvitations":true,"timeZone":"America/Los_Angeles","updatedMin":"2023-06-01T00:00:00Z"}`

### Output

| **Parameter**                       | **Type** | **Description**                                 |
| ----------------------------------- | -------- | ----------------------------------------------- |
| `response`                          | object   | Output field: response                          |
| `response.kind`                     | string   | Output field: response.kind                     |
| `response.etag`                     | string   | Output field: response.etag                     |
| `response.summary`                  | string   | Output field: response.summary                  |
| `response.updated`                  | string   | Output field: response.updated                  |
| `response.timeZone`                 | string   | Output field: response.timeZone                 |
| `response.accessRole`               | string   | Output field: response.accessRole               |
| `response.defaultReminders`         | array    | Output field: response.defaultReminders         |
| `response.defaultReminders.method`  | string   | HTTP method to use                              |
| `response.defaultReminders.minutes` | number   | Output field: response.defaultReminders.minutes |
| `response.items`                    | array    | Output field: response.items                    |
| `response.items.kind`               | string   | Output field: response.items.kind               |
| `response.items.etag`               | string   | Output field: response.items.etag               |
| `response.items.id`                 | string   | Unique identifier                               |
| `response.items.status`             | string   | Status value                                    |
| `response.items.htmlLink`           | string   | Output field: response.items.htmlLink           |
| `response.items.created`            | string   | Output field: response.items.created            |
| `response.items.updated`            | string   | Output field: response.items.updated            |
| `response.items.summary`            | string   | Output field: response.items.summary            |
| `response.items.description`        | string   | Output field: response.items.description        |
| `response.items.location`           | string   | Output field: response.items.location           |
| `response.items.creator`            | object   | Output field: response.items.creator            |
| `response.items.creator.email`      | string   | Output field: response.items.creator.email      |
| `response.items.creator.self`       | boolean  | Output field: response.items.creator.self       |
| `response.items.organizer`          | object   | Output field: response.items.organizer          |

### Output Example

`{"response":{"kind":"string","etag":"string","summary":"string","updated":"2024-01-01T00:00:00Z","timeZone":"string","accessRole":"string","defaultReminders":[{}],"items":[{}]}}`

## Chat Create a Message

Create a message in a specified Google Chat space using the provided parent and body parameters.

### Input

| **Argument Name**                                      | **Type** | **Required** | **Description**                                                                                                                                                                                    |
| ------------------------------------------------------ | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `parent`                                               | string   | Required     | The resource name of the space in which to create a message. Format - spaces/.                                                                                                                     |
| `requestId`                                            | string   | Optional     | A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message.                                                |
| `messageReplyOption`                                   | string   | Optional     | Specifies whether a message starts a thread or replies to one. Only supported in named spaces.                                                                                                     |
| `messageId`                                            | string   | Optional     | A custom ID for a message. Lets Chat apps get, update, or delete a message without needing to store the system-assigned ID in the message's resource name (represented in the message name field). |
| `body`                                                 | object   | Required     | Request body data                                                                                                                                                                                  |
| `body.text`                                            | string   | Optional     | Plain-text body of the message. The first link to an image, video, or web page generates a preview chip.                                                                                           |
| `body.cardsV2`                                         | array    | Optional     | Request body data                                                                                                                                                                                  |
| `body.cardsV2.cardId`                                  | string   | Optional     | Required if the message contains multiple cards. A unique identifier for a card in a message. A card in a Google Chat message. Only Chat apps can create cards.                                    |
| `body.cardsV2.card`                                    | object   | Optional     | Request body data                                                                                                                                                                                  |
| `body.cardsV2.card.header`                             | object   | Optional     | The header of the card. A header usually contains a leading image and a title. Headers always appear at the top of a card.                                                                         |
| `body.cardsV2.card.header.title`                       | string   | Optional     | The title of the card header. The header has a fixed height if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines.            |
| `body.cardsV2.card.header.subtitle`                    | string   | Optional     | The subtitle of the card header. If specified, appears on its own line below the title.                                                                                                            |
| `body.cardsV2.card.header.imageUrl`                    | string   | Optional     | The HTTPS URL of the image in the card header.                                                                                                                                                     |
| `body.cardsV2.card.header.imageType`                   | string   | Optional     | The shape used to crop the image.                                                                                                                                                                  |
| `body.cardsV2.card.header.imageAltText`                | string   | Optional     | The alternative text of this image that's used for accessibility.                                                                                                                                  |
| `body.cardsV2.card.sections`                           | array    | Optional     | A section contains a collection of widgets that are rendered vertically in the order that they're specified.                                                                                       |
| `body.cardsV2.card.sections.header`                    | string   | Optional     | Text that appears at the top of a section. Supports simple HTML formatted text.                                                                                                                    |
| `body.cardsV2.card.sections.collapsible`               | boolean  | Optional     | Indicates whether this section is collapsible.                                                                                                                                                     |
| `body.cardsV2.card.sections.uncollapsibleWidgetsCount` | number   | Optional     | The number of uncollapsible widgets which remain visible even when a section is collapsed.                                                                                                         |
| `body.cardsV2.card.sections.widgets`                   | array    | Optional     | All the widgets in the section. Must contain at least one widget.                                                                                                                                  |
| `body.cardsV2.card.sectionDividerStyle`                | string   | Optional     | The divider style between sections.                                                                                                                                                                |
| `body.cardsV2.card.cardActions`                        | array    | Optional     | The card's actions. Actions are added to the card's toolbar menu.                                                                                                                                  |
| `body.cardsV2.card.cardActions.actionLabel`            | string   | Optional     | The label that displays as the action menu item.                                                                                                                                                   |
| `body.cardsV2.card.cardActions.onClick`                | object   | Optional     | The onClick action for this action item.                                                                                                                                                           |
| `body.cardsV2.card.name`                               | string   | Optional     | Name of the card. Used as a card identifier in card navigation.                                                                                                                                    |

### Input Example

`{"messageReplyOption":"MESSAGE_REPLY_OPTION_UNSPECIFIED"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{}}`

## Chat List Spaces

Retrieve a list of spaces the user is part of in Google Workspace, excluding group chats and empty direct messages.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                                                                                                                                                                    |
| ----------------- | -------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pageSize`        | number   | Optional     | The maximum number of spaces to return. The service might return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000.                                |
| `pageToken`       | string   | Optional     | A page token, received from a previous list spaces call. Provide this parameter to retrieve the subsequent page.                                                                                   |
| `filter`          | string   | Optional     | A query filter. You can filter spaces by the space type. To filter by space type, you must specify valid enum value, such as SPACE, SPACE\_TYPE\_UNSPECIFIED, SPACE, GROUP\_CHAT, DIRECT\_MESSAGE. |

### Input Example

`{"pageSize":1000,"filter":"spaceType = 'SPACE' OR spaceType = 'GROUP_CHAT'"}`

### Output

| **Parameter**                                | **Type** | **Description**                                          |
| -------------------------------------------- | -------- | -------------------------------------------------------- |
| `status_code`                                | number   | HTTP status code of the response                         |
| `reason`                                     | string   | Response reason phrase                                   |
| `response`                                   | object   | Output field: response                                   |
| `response.spaces`                            | array    | Output field: response.spaces                            |
| `response.spaces.name`                       | string   | Name of the resource                                     |
| `response.spaces.type`                       | string   | Type of the resource                                     |
| `response.spaces.spaceType`                  | string   | Type of the resource                                     |
| `response.spaces.singleUserBotDm`            | boolean  | Output field: response.spaces.singleUserBotDm            |
| `response.spaces.threaded`                   | boolean  | Output field: response.spaces.threaded                   |
| `response.spaces.displayName`                | string   | Name of the resource                                     |
| `response.spaces.externalUserAllowed`        | boolean  | Output field: response.spaces.externalUserAllowed        |
| `response.spaces.spaceThreadingState`        | string   | Output field: response.spaces.spaceThreadingState        |
| `response.spaces.spaceDetails`               | object   | Output field: response.spaces.spaceDetails               |
| `response.spaces.spaceDetails.description`   | string   | Output field: response.spaces.spaceDetails.description   |
| `response.spaces.spaceDetails.guidelines`    | string   | Unique identifier                                        |
| `response.spaces.spaceHistoryState`          | string   | Output field: response.spaces.spaceHistoryState          |
| `response.spaces.importMode`                 | boolean  | Output field: response.spaces.importMode                 |
| `response.spaces.createTime`                 | string   | Time value                                               |
| `response.spaces.adminInstalled`             | boolean  | Output field: response.spaces.adminInstalled             |
| `response.spaces.accessSettings`             | object   | Output field: response.spaces.accessSettings             |
| `response.spaces.accessSettings.accessState` | string   | Output field: response.spaces.accessSettings.accessState |
| `response.spaces.accessSettings.audience`    | string   | Output field: response.spaces.accessSettings.audience    |
| `response.spaces.spaceUri`                   | string   | Output field: response.spaces.spaceUri                   |
| `response.nextPageToken`                     | string   | Output field: response.nextPageToken                     |

### Output Example

`{"status_code":200,"response_headers":null,"reason":"OK","response":{"spaces":[{}],"nextPageToken":"string"}}`

## Deprovision or Disable a Chrome Device

Deprovision or disable a specific Chrome device in Google Workspace using the provided customerId.

### Endpoint

- **Method:** `POST`

### Input

| **Argument Name**                       | **Type** | **Required** | **Description**                                                          |
| --------------------------------------- | -------- | ------------ | ------------------------------------------------------------------------ |
| `customerId`                            | string   | Required     | The unique ID for the customer's Google Workspace account.               |
| `body`                                  | object   | Optional     | Request body data                                                        |
| `body.deviceIds`                        | array    | Required     | List of the IDs of the ChromeOS devices to change. Maximum 50.           |
| `body.changeChromeOsDeviceStatusAction` | string   | Required     | The action to take on the ChromeOS device in order to change its status. |
| `body.deprovisionReason`                | string   | Optional     | The reason for deprovisioning the device.                                |

### Input Example

`{"customerId":"C01bv75zr","body":{"deviceIds":["device_id1"],"changeChromeOsDeviceStatusAction":"CHANGE_CHROME_OS_DEVICE_STATUS_ACTION_UNSPECIFIED","deprovisionReason":"DEPROVISION_REASON_UNSPECIFIED"}}`

### Output

| **Parameter**                                                       | **Type** | **Description**                  |
| ------------------------------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                                       | number   | HTTP status code of the response |
| `reason`                                                            | string   | Response reason phrase           |
| `response`                                                          | object   | Output field: response           |
| `response.changeChromeOsDeviceStatusResults`                        | array    | Status value                     |
| `response.changeChromeOsDeviceStatusResults.deviceId`               | string   | Unique identifier                |
| `response.changeChromeOsDeviceStatusResults.response`               | object   | Status value                     |
| `response.changeChromeOsDeviceStatusResults.response.code`          | number   | Status value                     |
| `response.changeChromeOsDeviceStatusResults.response.message`       | string   | Status value                     |
| `response.changeChromeOsDeviceStatusResults.response.details`       | array    | Status value                     |
| `response.changeChromeOsDeviceStatusResults.response.details.@type` | string   | Type of the resource             |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{"changeChromeOsDeviceStatusResults":[{}]}}`

## Directory - Get User

Retrieve a Google Workspace user profile from the Admin Directory using a primary email or unique user ID for enrichment and investigation.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                            |
| ----------------- | -------- | ------------ | ---------------------------------------------------------- |
| `userKey`         | string   | Required     | User primary email, alias, or unique Directory user id.    |
| `projection`      | string   | Optional     | Restrict information returned to a set of selected fields. |
| `viewType`        | string   | Optional     | Whether to return admin or domain-public fields.           |
| `customFieldMask` | string   | Optional     | Comma-separated schema names when projection is custom.    |

### Input Example

`{"userKey":"j.chen@acmecorp.com","projection":"FULL","viewType":"admin_view"}`

### Output

| **Parameter**                | **Type** | **Description**                               |
| ---------------------------- | -------- | --------------------------------------------- |
| `status_code`                | number   | HTTP status code of the response              |
| `reason`                     | string   | Response reason phrase                        |
| `response`                   | object   | Output field: response                        |
| `response.kind`              | string   | Output field: response.kind                   |
| `response.id`                | string   | Unique Directory user id (reporter.user\_id). |
| `response.primaryEmail`      | string   | Output field: response.primaryEmail           |
| `response.name`              | object   | Name of the resource                          |
| `response.name.givenName`    | string   | Name of the resource                          |
| `response.name.familyName`   | string   | Name of the resource                          |
| `response.name.fullName`     | string   | Name of the resource                          |
| `response.isAdmin`           | boolean  | Output field: response.isAdmin                |
| `response.isDelegatedAdmin`  | boolean  | Output field: response.isDelegatedAdmin       |
| `response.suspended`         | boolean  | Output field: response.suspended              |
| `response.orgUnitPath`       | string   | Output field: response.orgUnitPath            |
| `response.thumbnailPhotoUrl` | string   | URL endpoint for the request                  |
| `response.aliases`           | array    | Output field: response.aliases                |
| `response.phones`            | array    | Output field: response.phones                 |
| `response.recoveryEmail`     | string   | Output field: response.recoveryEmail          |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{"kind":"admin#directory#user","id":"123456789012345678901","primaryEmail":"j.chen@acmecorp.com","name":{"givenName":"Jia","familyName":"Chen","fullName":"Jia Chen"},"isAdmin":false,"suspended":false,"orgUnitPath":"/Engineering","thumbnailPhotoUrl":"https://example.com/photo.jpg"}}`

## Drive - Delete File

Permanently delete a file from Google Workspace Drive using the specified unique file ID.

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `id`              | string   | Required     | Unique identifier |

### Input Example

`{"id":"1-3R9tZkeyyr5BIIBhhiH1WzkDetoNBgP"}`

### Output

| **Parameter**      | **Type** | **Description**                      |
| ------------------ | -------- | ------------------------------------ |
| `status_code`      | number   | HTTP status code of the response     |
| `reason`           | string   | Response reason phrase               |
| `response`         | object   | Output field: response               |
| `response.success` | boolean  | Whether the operation was successful |

### Output Example

`{"response":{"success":true}}`

## Drive - List Files

Retrieve a list of files from Google Workspace Drive to enable organized access and management of cloud-stored documents.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                  |
| ----------------- | -------- | ------------ | -------------------------------- |
| `q`               | string   | Optional     | Parameter for Drive - List Files |

### Input Example

`{"q":"\"root\" in parents and trashed=false"}`

### Output

| **Parameter**                          | **Type** | **Description**                                    |
| -------------------------------------- | -------- | -------------------------------------------------- |
| `status_code`                          | number   | HTTP status code of the response                   |
| `reason`                               | string   | Response reason phrase                             |
| `response`                             | array    | Output field: response                             |
| `response.kind`                        | string   | Output field: response.kind                        |
| `response.userPermission`              | object   | Output field: response.userPermission              |
| `response.userPermission.id`           | string   | Unique identifier                                  |
| `response.userPermission.type`         | string   | Type of the resource                               |
| `response.userPermission.role`         | string   | Output field: response.userPermission.role         |
| `response.userPermission.kind`         | string   | Output field: response.userPermission.kind         |
| `response.userPermission.selfLink`     | string   | Output field: response.userPermission.selfLink     |
| `response.userPermission.etag`         | string   | Output field: response.userPermission.etag         |
| `response.userPermission.pendingOwner` | boolean  | Output field: response.userPermission.pendingOwner |
| `response.fileExtension`               | string   | Output field: response.fileExtension               |
| `response.md5Checksum`                 | string   | Output field: response.md5Checksum                 |
| `response.selfLink`                    | string   | Output field: response.selfLink                    |
| `response.ownerNames`                  | array    | Name of the resource                               |
| `response.lastModifyingUserName`       | string   | Name of the resource                               |
| `response.editable`                    | boolean  | Output field: response.editable                    |
| `response.writersCanShare`             | boolean  | Output field: response.writersCanShare             |
| `response.downloadUrl`                 | string   | URL endpoint for the request                       |
| `response.mimeType`                    | string   | Type of the resource                               |
| `response.parents`                     | array    | Output field: response.parents                     |
| `response.parents.selfLink`            | string   | Output field: response.parents.selfLink            |
| `response.parents.id`                  | string   | Unique identifier                                  |
| `response.parents.isRoot`              | boolean  | Output field: response.parents.isRoot              |

### Output Example

`{"response":[]}`

## Drive - File Upload

Upload files to Google Drive for secure cloud storage, streamlined sharing, and enhanced collaboration within Google Workspace.

### Input

| **Argument Name**         | **Type** | **Required** | **Description**                   |
| ------------------------- | -------- | ------------ | --------------------------------- |
| `attachments`             | array    | Optional     | File to be uploaded               |
| `attachments.file`        | string   | Optional     | Parameter for Drive - File Upload |
| `attachments.file_name`   | string   | Optional     | Name of the resource              |
| `attachments.description` | string   | Optional     | Parameter for Drive - File Upload |
| `title`                   | string   | Optional     | Parameter for Drive - File Upload |
| `mimeType`                | string   | Optional     | Type of the resource              |
| `parents`                 | array    | Optional     | Parameter for Drive - File Upload |
| `parents.id`              | string   | Optional     | Unique identifier                 |

### Input Example

`{"title":"7dbc0541-a8de-42a9-b7fa-e264c05f981e.txt","mimeType":"text/plain","parents":[{"id":"drive_folder_id"}]}`

### Output

| **Parameter**                           | **Type** | **Description**                                     |
| --------------------------------------- | -------- | --------------------------------------------------- |
| `status_code`                           | number   | HTTP status code of the response                    |
| `reason`                                | string   | Response reason phrase                              |
| `response`                              | object   | Output field: response                              |
| `response.title`                        | string   | Output field: response.title                        |
| `response.mime_type`                    | string   | Type of the resource                                |
| `response.mimeType`                     | string   | Type of the resource                                |
| `response.kind`                         | string   | Output field: response.kind                         |
| `response.id`                           | string   | Unique identifier                                   |
| `response.etag`                         | string   | Output field: response.etag                         |
| `response.selfLink`                     | string   | Output field: response.selfLink                     |
| `response.webContentLink`               | string   | Response content                                    |
| `response.alternateLink`                | string   | Output field: response.alternateLink                |
| `response.embedLink`                    | string   | Output field: response.embedLink                    |
| `response.iconLink`                     | string   | Output field: response.iconLink                     |
| `response.thumbnailLink`                | string   | Output field: response.thumbnailLink                |
| `response.labels`                       | object   | Output field: response.labels                       |
| `response.labels.starred`               | boolean  | Output field: response.labels.starred               |
| `response.labels.hidden`                | boolean  | Unique identifier                                   |
| `response.labels.trashed`               | boolean  | Output field: response.labels.trashed               |
| `response.labels.restricted`            | boolean  | Output field: response.labels.restricted            |
| `response.labels.viewed`                | boolean  | Output field: response.labels.viewed                |
| `response.copyRequiresWriterPermission` | boolean  | Output field: response.copyRequiresWriterPermission |
| `response.createdDate`                  | string   | Date value                                          |
| `response.modifiedDate`                 | string   | Date value                                          |
| `response.modifiedByMeDate`             | string   | Date value                                          |

### Output Example

`{"response":{"title":"string","mime_type":"string","mimeType":"string","kind":"string","id":"12345678-1234-1234-1234-123456789abc","etag":"string","selfLink":"string","webContentLink":"string","alternateLink":"string","embedLink":"string","iconLink":"string","thumbnailLink":"string","labels":{"starred":true,"hidden":true,"trashed":true,"restricted":true,"viewed":true},"copyRequiresWriterPermission":true,"createdDate":"string"}}`

## GMail - Get Email Attachment

Retrieve a specific email attachment from Google Workspace Gmail using the unique 'id' and 'messageId' identifiers.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                            |
| ----------------- | -------- | ------------ | ------------------------------------------ |
| `userId`          | string   | Optional     | Unique identifier                          |
| `messageId`       | string   | Required     | Unique identifier                          |
| `id`              | string   | Required     | Unique identifier                          |
| `attachment_name` | string   | Optional     | Name of the resource                       |
| `unzip`           | boolean  | Optional     | Parameter for GMail - Get Email Attachment |
| `format`          | string   | Optional     | Parameter for GMail - Get Email Attachment |
| `metadataHeaders` | string   | Optional     | Response data                              |

### Input Example

`{"userId":"me","messageId":"1847c9d89529d0cb","id":"1847c9d89529d0cb","attachment_name":"1847c9d89529d0cb","unzip":true,"format":"raw","metadataHeaders":"metadataHeaders"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `file`        | array    | Output field: file               |

### Output Example

`{"file":{"file":"string","filename":"Example Name"}}`

## GMail - Delete Email

Permanently delete a Gmail email in Google Workspace using the specified message ID.

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `userId`          | string   | Optional     | Unique identifier |
| `id`              | string   | Required     | Unique identifier |

### Input Example

`{"userId":"me","id":"1847c9d89529d0cb"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{}`

## GMail - Get Email by ID

Retrieve a specific email message from Gmail in Google Workspace using the provided unique email identifier.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                       |
| ----------------- | -------- | ------------ | ------------------------------------- |
| `userId`          | string   | Optional     | Unique identifier                     |
| `id`              | string   | Required     | Unique identifier                     |
| `format`          | string   | Optional     | Parameter for GMail - Get Email by ID |
| `raw_extension`   | string   | Optional     | Parameter for GMail - Get Email by ID |
| `metadataHeaders` | string   | Optional     | Response data                         |

### Input Example

`{"userId":"me","id":"1847c9d89529d0cb","metadataHeaders":"metadataHeaders"}`

### Output

| **Parameter**                              | **Type** | **Description**                      |
| ------------------------------------------ | -------- | ------------------------------------ |
| `status_code`                              | number   | HTTP status code of the response     |
| `reason`                                   | string   | Response reason phrase               |
| `response`                                 | object   | Output field: response               |
| `response.id`                              | string   | Unique identifier                    |
| `response.threadId`                        | string   | Unique identifier                    |
| `response.labelIds`                        | array    | Unique identifier                    |
| `response.snippet`                         | string   | Output field: response.snippet       |
| `response.payload`                         | object   | Output field: response.payload       |
| `response.payload.partId`                  | string   | Unique identifier                    |
| `response.payload.mimeType`                | string   | Type of the resource                 |
| `response.payload.filename`                | string   | Name of the resource                 |
| `response.payload.headers`                 | array    | HTTP headers for the request         |
| `response.payload.headers.name`            | string   | HTTP headers for the request         |
| `response.payload.headers.value`           | string   | HTTP headers for the request         |
| `response.payload.body`                    | object   | Request body data                    |
| `response.payload.body.size`               | number   | Request body data                    |
| `response.payload.parts`                   | array    | Output field: response.payload.parts |
| `response.payload.parts.partId`            | string   | Unique identifier                    |
| `response.payload.parts.mimeType`          | string   | Type of the resource                 |
| `response.payload.parts.filename`          | string   | Name of the resource                 |
| `response.payload.parts.headers`           | array    | HTTP headers for the request         |
| `response.payload.parts.headers.name`      | string   | HTTP headers for the request         |
| `response.payload.parts.headers.value`     | string   | HTTP headers for the request         |
| `response.payload.parts.body`              | object   | Request body data                    |
| `response.payload.parts.body.attachmentId` | string   | Request body data                    |

### Output Example

`{"response":{"id":"12345678-1234-1234-1234-123456789abc","threadId":"string","labelIds":["string"],"snippet":"string","payload":{"partId":"string","mimeType":"string","filename":"Example Name","headers":[],"body":{},"parts":[]},"sizeEstimate":123,"historyId":"string","internalDate":"string"}}`

## GMail - List Emails

Retrieve a list of email messages from the user's Gmail account using Google Workspace integration.

### Input

| **Argument Name**  | **Type** | **Required** | **Description**                                                          |
| ------------------ | -------- | ------------ | ------------------------------------------------------------------------ |
| `userId`           | string   | Optional     | Unique identifier                                                        |
| `includeSpamTrash` | boolean  | Optional     | Parameter for GMail - List Emails                                        |
| `labelIds`         | string   | Optional     | Unique identifier                                                        |
| `maxResults`       | number   | Optional     | Result of the operation                                                  |
| `pageToken`        | string   | Optional     | Parameter for GMail - List Emails                                        |
| `q`                | string   | Optional     | The search query. IE from\:someuser\@example.com rfc822msgid: is\:unread |

### Input Example

`{"userId":"me","includeSpamTrash":false,"labelIds":"CHAT","maxResults":100,"pageToken":"page token","q":"from:someuser@example.com rfc822msgid: is:unread"}`

### Output

| **Parameter**                 | **Type** | **Description**                      |
| ----------------------------- | -------- | ------------------------------------ |
| `status_code`                 | number   | HTTP status code of the response     |
| `reason`                      | string   | Response reason phrase               |
| `response`                    | object   | Output field: response               |
| `response.messages`           | array    | Response message                     |
| `response.messages.id`        | string   | Unique identifier                    |
| `response.messages.threadId`  | string   | Unique identifier                    |
| `response.nextPageToken`      | string   | Output field: response.nextPageToken |
| `response.resultSizeEstimate` | number   | Result of the operation              |

### Output Example

`{"response":{"messages":[{}],"nextPageToken":"string","resultSizeEstimate":123}}`

## GMail - Send Email

Send an email through Google Workspace Gmail with customizable fields such as TO, CC, and BCC.

### Input

| **Argument Name**         | **Type** | **Required** | **Description**                                  |
| ------------------------- | -------- | ------------ | ------------------------------------------------ |
| `to`                      | array    | Optional     | Parameter for GMail - Send Email                 |
| `cc`                      | array    | Optional     | Parameter for GMail - Send Email                 |
| `bcc`                     | array    | Optional     | Parameter for GMail - Send Email                 |
| `from`                    | string   | Optional     | Parameter for GMail - Send Email                 |
| `sender_name`             | string   | Optional     | Name to use as the sender.                       |
| `alias_email`             | string   | Optional     | Email address to use as an alias for the sender. |
| `alias_name`              | string   | Optional     | Name to use as an alias for the sender.          |
| `subject`                 | string   | Optional     | Parameter for GMail - Send Email                 |
| `message_text`            | string   | Optional     | Response message                                 |
| `reply_to`                | string   | Optional     | Parameter for GMail - Send Email                 |
| `is_html`                 | boolean  | Optional     | Parameter for GMail - Send Email                 |
| `in_reply_to`             | string   | Optional     | Parameter for GMail - Send Email                 |
| `references`              | array    | Optional     | Parameter for GMail - Send Email                 |
| `override_headers`        | string   | Optional     | HTTP headers for the request                     |
| `additional_headers`      | string   | Optional     | Additonal headers in json string format.         |
| `thread_id`               | string   | Optional     | Thread ID to send the email to.                  |
| `message_id`              | string   | Optional     | Message ID to reply to.                          |
| `attachments`             | array    | Optional     | Email attachment                                 |
| `attachments.file`        | string   | Optional     | Parameter for GMail - Send Email                 |
| `attachments.file_name`   | string   | Optional     | Name of the resource                             |
| `attachments.description` | string   | Optional     | Parameter for GMail - Send Email                 |

### Input Example

`{"to":["demo@swimlane.co","agustin.firpo@swimlane.com"],"cc":["agustin.firpo@swimlane.com"],"bcc":["agustin.firpo@swimlane.com"],"from":"me","sender_name":"Demo Sender","alias_email":"demo@swimlane.co","alias_name":"Demo Alias","subject":"hello","message_text":"<h1>Hello</h1><p>This is a test email.</p><img src='cid:image1.png'>","reply_to":"demo@swimlane.co","is_html":true,"in_reply_to":"1234","references":["1234","5678"],"override_headers":"{'X-My-Header': 'value'}","additional_headers":"{\"X-My-Header\": \"value\"}","thread_id":1234567890,"message_id":"<CAMco+_0ujKq+Bpew@mail.gmail.com>"}`

### Output

| **Parameter** | **Type** | **Description**   |
| ------------- | -------- | ----------------- |
| `id`          | string   | Unique identifier |
| `threatId`    | string   | Unique identifier |
| `labelIds`    | array    | Unique identifier |

### Output Example

`{"id":"18956e9b68fddc0","threatId":"18956e9b68fddc0","labelIds":["UNREAD","SENT","INBOX"]}`

## GMail - List Labels

Retrieve all labels from a specified Gmail account to support structured email organization and management.

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `userId`          | string   | Optional     | Unique identifier |

### Input Example

`{"userId":"me"}`

### Output

| **Parameter**                           | **Type** | **Description**                                   |
| --------------------------------------- | -------- | ------------------------------------------------- |
| `status_code`                           | number   | HTTP status code of the response                  |
| `reason`                                | string   | Response reason phrase                            |
| `response`                              | object   | Output field: response                            |
| `response.labels`                       | array    | Output field: response.labels                     |
| `response.labels.id`                    | string   | Unique identifier                                 |
| `response.labels.name`                  | string   | Name of the resource                              |
| `response.labels.messageListVisibility` | string   | Response message                                  |
| `response.labels.labelListVisibility`   | string   | Output field: response.labels.labelListVisibility |
| `response.labels.type`                  | string   | Type of the resource                              |

### Output Example

`{"response":{"labels":[{}]}}`

## GMail - Modify Labels

Update labels on a specific Gmail message in Google Workspace by providing the message ID and label details.

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `userId`          | string   | Optional     | Unique identifier |
| `id`              | string   | Required     | Unique identifier |
| `body`            | string   | Required     | Request body data |

### Input Example

`{"userId":"me","id":"1841b77d6c070889","body":"{\"removeLabelIds\": [\"UNREAD\"]}"}`

### Output

| **Parameter**           | **Type** | **Description**                     |
| ----------------------- | -------- | ----------------------------------- |
| `status_code`           | number   | HTTP status code of the response    |
| `reason`                | string   | Response reason phrase              |
| `response`              | object   | Output field: response              |
| `response.id`           | string   | Unique identifier                   |
| `response.threadId`     | string   | Unique identifier                   |
| `response.labelIds`     | array    | Unique identifier                   |
| `response.snippet`      | string   | Output field: response.snippet      |
| `response.sizeEstimate` | number   | Output field: response.sizeEstimate |
| `response.historyId`    | string   | Unique identifier                   |
| `response.internalDate` | string   | Date value                          |

### Output Example

`{"response":{"id":"12345678-1234-1234-1234-123456789abc","threadId":"string","labelIds":["string"],"snippet":"string","sizeEstimate":123,"historyId":"string","internalDate":"string"}}`

## GMail - Set Read Status

Mark an email as read or unread in Google Workspace to streamline inbox organization and improve message management.

### Endpoint

- **Method:** `GET`

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `userId`          | string   | Optional     | Unique identifier |
| `read_status`     | string   | Optional     | Status value      |
| `id`              | string   | Optional     | Unique identifier |

### Input Example

`{"userId":"me","read_status":"UNREAD","id":"186dbcc763da26a5"}`

### Output

| **Parameter**  | **Type** | **Description**            |
| -------------- | -------- | -------------------------- |
| `id`           | string   | Unique identifier          |
| `threadId`     | string   | Unique identifier          |
| `labelIds`     | array    | Unique identifier          |
| `snippet`      | string   | Output field: snippet      |
| `sizeEstimate` | number   | Output field: sizeEstimate |
| `historyId`    | string   | Unique identifier          |
| `internalDate` | string   | Date value                 |

### Output Example

`{"id":"186dbcc763da26a5","threadId":"186dbcc763da26a5","labelIds":["UNREAD","CATEGORY_PERSONAL","INBOX"],"snippet":"Please find attached a zipped eml attachment which is suspicious If you would li...","sizeEstimate":15887,"historyId":"112521","internalDate":"1678724843000"}`

## GMail - Get Email by ID

Retrieve detailed information about a specific Gmail thread in Google Workspace using its unique ID.

### Input

| **Argument Name** | **Type** | **Required** | **Description**   |
| ----------------- | -------- | ------------ | ----------------- |
| `userId`          | string   | Optional     | Unique identifier |
| `id`              | string   | Required     | Unique identifier |

### Input Example

`{"userId":"me"}`

### Output

| **Parameter**                                 | **Type** | **Description**                  |
| --------------------------------------------- | -------- | -------------------------------- |
| `status_code`                                 | number   | HTTP status code of the response |
| `reason`                                      | string   | Response reason phrase           |
| `response`                                    | object   | Output field: response           |
| `response.historyId`                          | string   | Unique identifier                |
| `response.id`                                 | string   | Unique identifier                |
| `response.messages`                           | array    | Response message                 |
| `response.messages.historyId`                 | string   | Unique identifier                |
| `response.messages.id`                        | string   | Unique identifier                |
| `response.messages.internalDate`              | string   | Response message                 |
| `response.messages.labelIds`                  | array    | Unique identifier                |
| `response.messages.payload`                   | object   | Response message                 |
| `response.messages.payload.body`              | object   | Request body data                |
| `response.messages.payload.body.attachmentId` | string   | Request body data                |
| `response.messages.payload.body.data`         | string   | Response data                    |
| `response.messages.payload.body.size`         | number   | Request body data                |
| `response.messages.payload.filename`          | string   | Name of the resource             |
| `response.messages.payload.headers`           | array    | HTTP headers for the request     |
| `response.messages.payload.headers.name`      | string   | HTTP headers for the request     |
| `response.messages.payload.headers.value`     | string   | HTTP headers for the request     |
| `response.messages.payload.mimeType`          | string   | Type of the resource             |
| `response.messages.payload.partId`            | string   | Unique identifier                |
| `response.messages.payload.parts`             | array    | Response message                 |
| `response.messages.payload.parts.file_name`   | string   | Name of the resource             |
| `response.messages.payload.parts.file`        | string   | Response message                 |
| `response.messages.raw`                       | string   | Response message                 |

### Output Example

`{"response":{"historyId":"string","id":"12345678-1234-1234-1234-123456789abc","messages":[{}],"snippet":"string"}}`

## Mobile Devices - Action

Execute a specified action on a Google Workspace mobile device using the provided customer ID, resource ID, and request body.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                       |
| ----------------- | -------- | ------------ | ------------------------------------- |
| `customerId`      | string   | Required     | Unique identifier                     |
| `resourceId`      | string   | Required     | Unique identifier                     |
| `body`            | object   | Required     | Request body data                     |
| `body.action`     | string   | Required     | Request body data                     |
| `x__xgafv`        | string   | Optional     | Parameter for Mobile Devices - Action |

### Input Example

`{"customerId":"C02xtqyl8","resourceId":"AFiQxQ-Cj6TbLmkhvoYxY5vG8gYF-EUGGLxcrHOk8dJRGFnARgPA2zZScyb0MGaoMQ-IQoLbERx7rDef8XZnp71_OmNq4zI_wyR73xXpBCInDkfSG6L5Ysdu5-HJlaUxUtBFqy4bQwWxgOdRGDUx-c-V2pXb0Y4nWasmPZSS-VeSqwD8aHKxWKr_i3Y8ZllAaTie7Hf_96CHxA4X_hFRImpBWkG7dx9G7nMTmZf6vRLNVw9-FXI5hbw","body":{"action":"approve"},"x__xgafv":"1"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | string   | Output field: response           |

### Output Example

`{"response":"string"}`

## Mobile Devices - Delete

Remove a specified mobile device from Google Workspace using the provided customer ID and resource ID.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                       |
| ----------------- | -------- | ------------ | ------------------------------------- |
| `customerId`      | string   | Required     | Unique identifier                     |
| `resourceId`      | string   | Required     | Unique identifier                     |
| `x__xgafv`        | string   | Optional     | Parameter for Mobile Devices - Delete |

### Input Example

`{"customerId":"C02xtqyl8","resourceId":"AFiQxQ-Cj6TbLmkhvoYxY5vG8gYF-EUGGLxcrHOk8dJRGFnARgPA2zZScyb0MGaoMQ-IQoLbERx7rDef8XZnp71_OmNq4zI_wyR73xXpBCInDkfSG6L5Ysdu5-HJlaUxUtBFqy4bQwWxgOdRGDUx-c-V2pXb0Y4nWasmPZSS-VeSqwD8aHKxWKr_i3Y8ZllAaTie7Hf_96CHxA4X_hFRImpBWkG7dx9G7nMTmZf6vRLNVw9-FXI5hbw","x__xgafv":"1"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | string   | Output field: response           |

### Output Example

`{"response":"string"}`

## Mobile Devices - Get Device

Retrieve properties, status, and security settings for a specified mobile device in Google Workspace.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                           |
| ----------------- | -------- | ------------ | ----------------------------------------- |
| `customerId`      | string   | Optional     | Unique identifier                         |
| `projection`      | string   | Optional     | Parameter for Mobile Devices - Get Device |
| `resourceId`      | string   | Optional     | Unique identifier                         |

### Input Example

`{"customerId":"C02xtqyl8","resourceId":"AFiQxQ-Cj6TbLmkhvoYxY5vG8gYF-EUGGLxcrHOk8dJRGFnARgPA2zZScyb0MGaoMQ-IQoLbERx7rDef8XZnp71_OmNq4zI_wyR73xXpBCInDkfSG6L5Ysdu5-HJlaUxUtBFqy4bQwWxgOdRGDUx-c-V2pXb0Y4nWasmPZSS-VeSqwD8aHKxWKr_i3Y8ZllAaTie7Hf_96CHxA4X_hFRImpBWkG7dx9G7nMTmZf6vRLNVw9-FXI5hbw"}`

### Output

| **Parameter**                             | **Type** | **Description**                                       |
| ----------------------------------------- | -------- | ----------------------------------------------------- |
| `status_code`                             | number   | HTTP status code of the response                      |
| `reason`                                  | string   | Response reason phrase                                |
| `response`                                | object   | Output field: response                                |
| `response.kind`                           | string   | Output field: response.kind                           |
| `response.etag`                           | string   | Output field: response.etag                           |
| `response.resourceId`                     | string   | Unique identifier                                     |
| `response.deviceId`                       | string   | Unique identifier                                     |
| `response.name`                           | array    | Name of the resource                                  |
| `response.email`                          | array    | Output field: response.email                          |
| `response.model`                          | string   | Output field: response.model                          |
| `response.os`                             | string   | Output field: response.os                             |
| `response.type`                           | string   | Type of the resource                                  |
| `response.status`                         | string   | Status value                                          |
| `response.hardwareId`                     | string   | Unique identifier                                     |
| `response.firstSync`                      | string   | Output field: response.firstSync                      |
| `response.lastSync`                       | string   | Output field: response.lastSync                       |
| `response.userAgent`                      | string   | Output field: response.userAgent                      |
| `response.serialNumber`                   | string   | Output field: response.serialNumber                   |
| `response.imei`                           | string   | Output field: response.imei                           |
| `response.meid`                           | string   | Unique identifier                                     |
| `response.wifiMacAddress`                 | string   | Output field: response.wifiMacAddress                 |
| `response.networkOperator`                | string   | Output field: response.networkOperator                |
| `response.defaultLanguage`                | string   | Output field: response.defaultLanguage                |
| `response.managedAccountIsOnOwnerProfile` | boolean  | Output field: response.managedAccountIsOnOwnerProfile |
| `response.deviceCompromisedStatus`        | string   | Status value                                          |

### Output Example

`{"response":{"kind":"string","etag":"string","resourceId":"string","deviceId":"string","name":["string"],"email":["string"],"model":"string","os":"string","type":"string","status":"active","hardwareId":"string","firstSync":"string","lastSync":"string","userAgent":"string","serialNumber":"string"}}`

## Mobile Devices - List

Retrieve a paginated list of mobile devices registered to Google Workspace users for a specified customer ID.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                     |
| ----------------- | -------- | ------------ | ----------------------------------- |
| `customerId`      | string   | Required     | Unique identifier                   |
| `maxResults`      | number   | Optional     | Result of the operation             |
| `orderBy`         | string   | Optional     | Parameter for Mobile Devices - List |
| `pageToken`       | string   | Optional     | Parameter for Mobile Devices - List |
| `projection`      | string   | Optional     | Parameter for Mobile Devices - List |
| `query`           | string   | Optional     | Parameter for Mobile Devices - List |
| `sortOrder`       | string   | Optional     | Parameter for Mobile Devices - List |
| `x__xgafv`        | string   | Optional     | Parameter for Mobile Devices - List |

### Input Example

`{"customerId":"C02xtqyl8","maxResults":100,"sortOrder":"ASCENDING","x__xgafv":"1"}`

### Output

| **Parameter**                            | **Type** | **Description**                                      |
| ---------------------------------------- | -------- | ---------------------------------------------------- |
| `status_code`                            | number   | HTTP status code of the response                     |
| `reason`                                 | string   | Response reason phrase                               |
| `response`                               | object   | Output field: response                               |
| `response.kind`                          | string   | Output field: response.kind                          |
| `response.etag`                          | string   | Output field: response.etag                          |
| `response.mobiledevices`                 | array    | Output field: response.mobiledevices                 |
| `response.mobiledevices.kind`            | string   | Output field: response.mobiledevices.kind            |
| `response.mobiledevices.etag`            | string   | Output field: response.mobiledevices.etag            |
| `response.mobiledevices.resourceId`      | string   | Unique identifier                                    |
| `response.mobiledevices.deviceId`        | string   | Unique identifier                                    |
| `response.mobiledevices.name`            | array    | Name of the resource                                 |
| `response.mobiledevices.email`           | array    | Output field: response.mobiledevices.email           |
| `response.mobiledevices.model`           | string   | Output field: response.mobiledevices.model           |
| `response.mobiledevices.os`              | string   | Output field: response.mobiledevices.os              |
| `response.mobiledevices.type`            | string   | Type of the resource                                 |
| `response.mobiledevices.status`          | string   | Status value                                         |
| `response.mobiledevices.hardwareId`      | string   | Unique identifier                                    |
| `response.mobiledevices.firstSync`       | string   | Output field: response.mobiledevices.firstSync       |
| `response.mobiledevices.lastSync`        | string   | Output field: response.mobiledevices.lastSync        |
| `response.mobiledevices.userAgent`       | string   | Output field: response.mobiledevices.userAgent       |
| `response.mobiledevices.serialNumber`    | string   | Output field: response.mobiledevices.serialNumber    |
| `response.mobiledevices.imei`            | string   | Output field: response.mobiledevices.imei            |
| `response.mobiledevices.meid`            | string   | Unique identifier                                    |
| `response.mobiledevices.wifiMacAddress`  | string   | Output field: response.mobiledevices.wifiMacAddress  |
| `response.mobiledevices.networkOperator` | string   | Output field: response.mobiledevices.networkOperator |

### Output Example

`{"response":{"kind":"string","etag":"string","mobiledevices":[{}]}}`

## Move Chrome Devices to an Organization Unit

Relocate multiple Chrome OS devices to a specified organizational unit in Google Workspace using customerId and orgUnitPath.

### Endpoint

- **Method:** `POST`

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                            |
| ----------------- | -------- | ------------ | ---------------------------------------------------------- |
| `customerId`      | string   | Required     | The unique ID for the customer's Google Workspace account. |
| `orgUnitPath`     | string   | Required     | The full path of the organizational unit or its unique ID. |
| `body`            | object   | Optional     | Request body data                                          |
| `body.deviceIds`  | array    | Optional     | The unique IDs of Chrome OS Devices.                       |

### Input Example

`{"customerId":"C01bv75zr","orgUnitPath":"/corp/sales","body":{"deviceIds":["deviceId_1","deviceId_2","deviceId_3"]}}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{}}`

## Retrieve a Chrome Device

Retrieve detailed information for a specific Chrome OS device in Google Workspace using the provided customer and device IDs.

### Endpoint

- **Method:** `GET`

### Input

| **Argument Name** | **Type** | **Required** | **Description**                                             |
| ----------------- | -------- | ------------ | ----------------------------------------------------------- |
| `customerId`      | string   | Required     | The unique ID for the customer''s Google Workspace account. |
| `deviceId`        | string   | Required     | The unique ID of Chrome OS Device.                          |
| `projection`      | string   | Optional     | Restrict information returned to a set of selected fields.  |

### Input Example

`{"customerId":"C01bv75zr","deviceId":"EFssfv432","projection":"BASIC"}`

### Output

| **Parameter**                 | **Type** | **Description**                          |
| ----------------------------- | -------- | ---------------------------------------- |
| `status_code`                 | number   | HTTP status code of the response         |
| `reason`                      | string   | Response reason phrase                   |
| `response`                    | object   | Output field: response                   |
| `response.kind`               | string   | Output field: response.kind              |
| `response.deviceId`           | string   | Unique identifier                        |
| `response.serialNumber`       | string   | Output field: response.serialNumber      |
| `response.status`             | string   | Status value                             |
| `response.lastSync`           | string   | Output field: response.lastSync          |
| `response.supportEndDate`     | string   | Date value                               |
| `response.annotatedUser`      | string   | Output field: response.annotatedUser     |
| `response.annotatedLocation`  | string   | Output field: response.annotatedLocation |
| `response.annotatedAssetId`   | string   | Unique identifier                        |
| `response.notes`              | string   | Output field: response.notes             |
| `response.orderNumber`        | string   | Output field: response.orderNumber       |
| `response.willAutoRenew`      | boolean  | Output field: response.willAutoRenew     |
| `response.osVersion`          | string   | Output field: response.osVersion         |
| `response.platformVersion`    | string   | Output field: response.platformVersion   |
| `response.firmwareVersion`    | string   | Output field: response.firmwareVersion   |
| `response.bootMode`           | string   | Output field: response.bootMode          |
| `response.lastEnrollmentTime` | string   | Time value                               |
| `response.orgUnitPath`        | string   | Output field: response.orgUnitPath       |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{"kind":"directory#chromeosdevice","deviceId":"device_id_value","serialNumber":"device_serial_number","status":"ACTIVE","lastSync":"2012-04-05T17:30:04.325Z","supportEndDate":"2014-04-05T17:30:04.325Z","annotatedUser":"help desk","annotatedLocation":"Mountain View help desk Chromebook","annotatedAssetId":"12345667890","notes":"Loaned from support","orderNumber":"123456","willAutoRenew":true,"osVersion":"Browser Version 18.0","plat...`

## Retrieve All Chrome Devices for an Account

Retrieve a paginated list of all Chrome OS devices associated with a specified Google Workspace account using the customerId.

### Endpoint

- **Method:** `GET`

### Input

| **Argument Name**      | **Type** | **Required** | **Description**                                                                                                                                                              |
| ---------------------- | -------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `customerId`           | string   | Required     | The unique ID for the customer's G Suite account.                                                                                                                            |
| `orderBy`              | string   | Optional     | The order in which the results are sorted. Acceptable values are `annotatedLocation`, `annotatedUser`, `lastSync`, `notes`, `serialNumber`, and `status`.                    |
| `projection`           | string   | Optional     | Restrict information returned to a set of selected fields.                                                                                                                   |
| `maxResults`           | number   | Optional     | The maximum number of results to return. Acceptable values are 1 to 200.                                                                                                     |
| `pageToken`            | string   | Optional     | Token to specify next page in the list.                                                                                                                                      |
| `query`                | string   | Optional     | Search string in the format given at [http://support.google.com/chromeos/a/bin/answer.py?answer=1698333](http://support.google.com/chromeos/a/bin/answer.py?answer=1698333). |
| `sortOrder`            | string   | Optional     | The order in which the results are sorted. Acceptable values are `ASCENDING` and `DESCENDING`.                                                                               |
| `orgUnitPath`          | string   | Optional     | The full path of the organizational unit or its unique ID.                                                                                                                   |
| `includeChildOrgunits` | boolean  | Optional     | Return devices from all child orgunits, as well as the specified org unit. If this is set to true, 'orgUnitPath' must be provided.                                           |

### Input Example

`{"projection":"BASIC","maxResults":10,"sortOrder":"ASCENDING"}`

### Output

| **Parameter**                                 | **Type** | **Description**                                          |
| --------------------------------------------- | -------- | -------------------------------------------------------- |
| `status_code`                                 | number   | HTTP status code of the response                         |
| `reason`                                      | string   | Response reason phrase                                   |
| `response`                                    | object   | Output field: response                                   |
| `response.kind`                               | string   | Output field: response.kind                              |
| `response.chromeosdevices`                    | array    | Output field: response.chromeosdevices                   |
| `response.chromeosdevices.kind`               | string   | Output field: response.chromeosdevices.kind              |
| `response.chromeosdevices.etag`               | string   | Output field: response.chromeosdevices.etag              |
| `response.chromeosdevices.deviceId`           | string   | Unique identifier                                        |
| `response.chromeosdevices.serialNumber`       | string   | Output field: response.chromeosdevices.serialNumber      |
| `response.chromeosdevices.status`             | string   | Status value                                             |
| `response.chromeosdevices.lastSync`           | string   | Output field: response.chromeosdevices.lastSync          |
| `response.chromeosdevices.supportEndDate`     | string   | Date value                                               |
| `response.chromeosdevices.annotatedUser`      | string   | Output field: response.chromeosdevices.annotatedUser     |
| `response.chromeosdevices.annotatedLocation`  | string   | Output field: response.chromeosdevices.annotatedLocation |
| `response.chromeosdevices.annotatedAssetId`   | string   | Unique identifier                                        |
| `response.chromeosdevices.notes`              | string   | Output field: response.chromeosdevices.notes             |
| `response.chromeosdevices.orderNumber`        | string   | Output field: response.chromeosdevices.orderNumber       |
| `response.chromeosdevices.willAutoRenew`      | boolean  | Output field: response.chromeosdevices.willAutoRenew     |
| `response.chromeosdevices.osVersion`          | string   | Output field: response.chromeosdevices.osVersion         |
| `response.chromeosdevices.platformVersion`    | string   | Output field: response.chromeosdevices.platformVersion   |
| `response.chromeosdevices.firmwareVersion`    | string   | Output field: response.chromeosdevices.firmwareVersion   |
| `response.chromeosdevices.bootMode`           | string   | Output field: response.chromeosdevices.bootMode          |
| `response.chromeosdevices.lastEnrollmentTime` | string   | Time value                                               |
| `response.chromeosdevices.orgUnitPath`        | string   | Output field: response.chromeosdevices.orgUnitPath       |
| `response.chromeosdevices.recentUsers`        | array    | Output field: response.chromeosdevices.recentUsers       |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{"kind":"directory#chromeosdevices","chromeosdevices":[{}],"nextPageToken":"abcdefghijkl123","etag":"\"CmwXoj9NwmeYWUSny9qYPKAHjB8pLfe5jMuk_1lM7Aw/oMWMqbsluP5m2PCo8Y7WmWeHGP4\""}}`

## Update a Chrome Device

Update the details of a Chrome OS device in Google Workspace using specified customer and device IDs.

### Endpoint

- **Method:** `PUT`

### Input

| **Argument Name**        | **Type** | **Required** | **Description**                                                   |
| ------------------------ | -------- | ------------ | ----------------------------------------------------------------- |
| `customerId`             | string   | Required     | The unique ID for the customer's Google Workspace account.        |
| `deviceId`               | string   | Required     | The unique ID of Chrome OS Device.                                |
| `projection`             | string   | Optional     | Restrict information returned to a set of selected fields.        |
| `body`                   | object   | Optional     | Request body data                                                 |
| `body.deviceId`          | string   | Optional     | The unique ID of Chrome OS Device.                                |
| `body.annotatedUser`     | string   | Optional     | User of the device.                                               |
| `body.annotatedLocation` | string   | Optional     | Address or location of the device as noted by the administrator.  |
| `body.annotatedAssetId`  | string   | Optional     | Asset ID specified during enrollment or through later annotation. |
| `body.notes`             | string   | Optional     | Notes about this device.                                          |
| `body.orgUnitPath`       | string   | Optional     | The full path of the organizational unit or its ID.               |

### Input Example

`{"customerId":"C01bv75zr","deviceId":"EFssfv432","projection":"BASIC","body":{"deviceId":"device_id_value","annotatedUser":"help desk","annotatedLocation":"Mountain View help desk Chromebook","annotatedAssetId":"1234567890","notes":"Loaned from support","orgUnitPath":"/corp/sales"}}`

### Output

| **Parameter**                 | **Type** | **Description**                          |
| ----------------------------- | -------- | ---------------------------------------- |
| `status_code`                 | number   | HTTP status code of the response         |
| `reason`                      | string   | Response reason phrase                   |
| `response`                    | object   | Output field: response                   |
| `response.kind`               | string   | Output field: response.kind              |
| `response.deviceId`           | string   | Unique identifier                        |
| `response.serialNumber`       | string   | Output field: response.serialNumber      |
| `response.status`             | string   | Status value                             |
| `response.lastSync`           | string   | Output field: response.lastSync          |
| `response.supportEndDate`     | string   | Date value                               |
| `response.annotatedUser`      | string   | Output field: response.annotatedUser     |
| `response.annotatedLocation`  | string   | Output field: response.annotatedLocation |
| `response.annotatedAssetId`   | string   | Unique identifier                        |
| `response.notes`              | string   | Output field: response.notes             |
| `response.orderNumber`        | string   | Output field: response.orderNumber       |
| `response.willAutoRenew`      | boolean  | Output field: response.willAutoRenew     |
| `response.osVersion`          | string   | Output field: response.osVersion         |
| `response.platformVersion`    | string   | Output field: response.platformVersion   |
| `response.firmwareVersion`    | string   | Output field: response.firmwareVersion   |
| `response.bootMode`           | string   | Output field: response.bootMode          |
| `response.lastEnrollmentTime` | string   | Time value                               |
| `response.orgUnitPath`        | string   | Output field: response.orgUnitPath       |

### Output Example

`{"status_code":200,"response_headers":{},"reason":"OK","response":{"kind":"directory#chromeosdevice","deviceId":"device_id_value","serialNumber":"device_serial_number","status":"ACTIVE","lastSync":"2012-04-05T17:30:04.325Z","supportEndDate":"2014-04-05T17:30:04.325Z","annotatedUser":"help desk","annotatedLocation":"Mountain View help desk Chromebook","annotatedAssetId":"12345667890","notes":"Loaned from support","orderNumber":"123456","willAutoRenew":true,"osVersion":"Browser Version 18.0","plat...`

## Vault - Close Matter

Close a specified matter in Google Workspace Vault for secure case management by providing the required matterId.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                    |
| ----------------- | -------- | ------------ | ---------------------------------- |
| `matterId`        | string   | Required     | Unique identifier                  |
| `x__xgafv`        | string   | Optional     | Parameter for Vault - Close Matter |

### Input Example

`{"matterId":"7c57c405-43f0-496e-8ac6-d106f5d01f46","x__xgafv":"1"}`

### Output

| **Parameter**                 | **Type** | **Description**                           |
| ----------------------------- | -------- | ----------------------------------------- |
| `status_code`                 | number   | HTTP status code of the response          |
| `reason`                      | string   | Response reason phrase                    |
| `response`                    | object   | Output field: response                    |
| `response.matter`             | object   | Output field: response.matter             |
| `response.matter.matterId`    | string   | Unique identifier                         |
| `response.matter.name`        | string   | Name of the resource                      |
| `response.matter.description` | string   | Output field: response.matter.description |
| `response.matter.state`       | string   | Output field: response.matter.state       |

### Output Example

`{"response":{"matter":{"matterId":"string","name":"Example Name","description":"string","state":"string"}}}`

## Vault - Create Matter

Create an open matter in Google Workspace Vault with specified details, assigning ownership to the initiator. Requires a body input containing matter information.

### Endpoint

- **Method:** `GET`

### Input

| **Argument Name**                  | **Type** | **Required** | **Description**                     |
| ---------------------------------- | -------- | ------------ | ----------------------------------- |
| `body`                             | object   | Required     | Request body data                   |
| `body.name`                        | string   | Required     | Request body data                   |
| `body.description`                 | string   | Optional     | Request body data                   |
| `body.matterId`                    | string   | Optional     | Request body data                   |
| `body.matterPermissions`           | array    | Optional     | Request body data                   |
| `body.matterPermissions.accountId` | string   | Optional     | Request body data                   |
| `body.matterPermissions.role`      | string   | Optional     | Request body data                   |
| `body.state`                       | string   | Optional     | Request body data                   |
| `x__xgafv`                         | string   | Optional     | Parameter for Vault - Create Matter |

### Input Example

`{"body":{"name":"matter name","description":"matter description","matterId":"7c57c405-43f0-496e-8ac6-d106f5d01f46","matterPermissions":[{"accountId":"me","role":"owner"}],"state":"OPEN"},"x__xgafv":"1"}`

### Output

| **Parameter**          | **Type** | **Description**                    |
| ---------------------- | -------- | ---------------------------------- |
| `status_code`          | number   | HTTP status code of the response   |
| `reason`               | string   | Response reason phrase             |
| `response`             | object   | Output field: response             |
| `response.matterId`    | string   | Unique identifier                  |
| `response.name`        | string   | Name of the resource               |
| `response.description` | string   | Output field: response.description |
| `response.state`       | string   | Output field: response.state       |

### Output Example

`{"response":{"matterId":"string","name":"Example Name","description":"string","state":"string"}}`

## Vault - Create Export

Initiate the creation of an export for a specified matter in Google Workspace Vault using the provided matterId and configuration.

### Input

| **Argument Name**                                            | **Type** | **Required** | **Description**   |
| ------------------------------------------------------------ | -------- | ------------ | ----------------- |
| `matterId`                                                   | string   | Required     | Unique identifier |
| `body`                                                       | object   | Required     | Request body data |
| `body.cloudStorageSink`                                      | object   | Optional     | Request body data |
| `body.cloudStorageSink.files`                                | array    | Optional     | Request body data |
| `body.cloudStorageSink.files.bucketName`                     | string   | Optional     | Request body data |
| `body.cloudStorageSink.files.md5Hash`                        | string   | Optional     | Request body data |
| `body.cloudStorageSink.files.objectName`                     | string   | Optional     | Request body data |
| `body.cloudStorageSink.files.size`                           | string   | Optional     | Request body data |
| `body.createTime`                                            | string   | Optional     | Request body data |
| `body.exportOptions`                                         | object   | Optional     | Request body data |
| `body.exportOptions.driveOptions`                            | object   | Optional     | Request body data |
| `body.exportOptions.driveOptions.includeAccessInfo`          | boolean  | Optional     | Request body data |
| `body.exportOptions.groupsOptions`                           | object   | Optional     | Request body data |
| `body.exportOptions.groupsOptions.exportFormat`              | string   | Optional     | Request body data |
| `body.exportOptions.hangoutsChatOptions`                     | object   | Optional     | Request body data |
| `body.exportOptions.hangoutsChatOptions.exportFormat`        | string   | Optional     | Request body data |
| `body.exportOptions.mailOptions`                             | object   | Optional     | Request body data |
| `body.exportOptions.mailOptions.exportFormat`                | string   | Optional     | Request body data |
| `body.exportOptions.mailOptions.showConfidentialModeContent` | boolean  | Optional     | Request body data |
| `body.exportOptions.mailOptions.useNewExport`                | boolean  | Optional     | Request body data |
| `body.exportOptions.region`                                  | string   | Optional     | Request body data |
| `body.exportOptions.voiceOptions`                            | object   | Optional     | Request body data |
| `body.exportOptions.voiceOptions.exportFormat`               | string   | Optional     | Request body data |
| `body.id`                                                    | string   | Optional     | Request body data |
| `body.matterId`                                              | string   | Optional     | Request body data |

### Input Example

`{"matterId":"string","body":{"cloudStorageSink":{"files":[{"bucketName":"Example Name","md5Hash":"string","objectName":"Example Name","size":"string"}]},"createTime":"string","exportOptions":{"driveOptions":{"includeAccessInfo":true},"groupsOptions":{"exportFormat":"string"},"hangoutsChatOptions":{"exportFormat":"string"},"mailOptions":{"exportFormat":"string","showConfidentialModeContent":true,"useNewExport":true},"region":"string","voiceOptions":{"exportFormat":"string"}},"id":"12345678-1234-1234-1234-123456789abc","matterId":"string","name":"Example Name","query":{"accountInfo":{"emails":["string"]},"corpus":"string","dataScope":"string","driveOptions":{"clientSideEncryptedOption":"string","includeSharedDrives":true,"includeTeamDrives":true,"versionDate":"string"},"endTime":"string","hangoutsChatInfo":{"roomId":["string"]},"hangoutsChatOptions":{"includeRooms":true},"mailOptions":{"excludeDrafts":true},"method":"string","orgUnitInfo":{"orgUnitId":"string"},"searchMethod":"string","sharedDriveInfo":{"sharedDriveIds":["string"]},"sitesUrlInfo":{"urls":["string"]},"startTime":"string","teamDriveInfo":{"teamDriveIds":["string"]},"terms":"string","timeZone":"string","voiceOptions":{"coveredData":["string"]}},"requester":{"displayName":"Example Name","email":"user@example.com"},"stats":{"exportedArtifactCount":"string","sizeInBytes":"string","totalArtifactCount":"string"},"status":"active"},"x__xgafv":"string"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{}`

## Vault - Get Export

Retrieve detailed information about a specific export from Google Workspace Vault using the provided matterId and exportId.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                  |
| ----------------- | -------- | ------------ | -------------------------------- |
| `matterId`        | string   | Required     | Unique identifier                |
| `exportId`        | string   | Required     | Unique identifier                |
| `x__xgafv`        | string   | Optional     | Parameter for Vault - Get Export |

### Input Example

`{"matterId":"9b8cb25a-81c4-42a9-b1c1-e6476d6d786d","exportId":"exportly-25178a5b-97fb-456f-a03a-ff783fb8e4ee","x__xgafv":"1"}`

### Output

| **Parameter**                                     | **Type** | **Description**                                               |
| ------------------------------------------------- | -------- | ------------------------------------------------------------- |
| `status_code`                                     | number   | HTTP status code of the response                              |
| `reason`                                          | string   | Response reason phrase                                        |
| `response`                                        | object   | Output field: response                                        |
| `response.id`                                     | string   | Unique identifier                                             |
| `response.matterId`                               | string   | Unique identifier                                             |
| `response.name`                                   | string   | Name of the resource                                          |
| `response.requester`                              | object   | Output field: response.requester                              |
| `response.requester.email`                        | string   | Output field: response.requester.email                        |
| `response.requester.displayName`                  | string   | Name of the resource                                          |
| `response.query`                                  | object   | Output field: response.query                                  |
| `response.query.corpus`                           | string   | Output field: response.query.corpus                           |
| `response.query.dataScope`                        | string   | Response data                                                 |
| `response.query.searchMethod`                     | string   | HTTP method to use                                            |
| `response.query.accountInfo`                      | object   | Output field: response.query.accountInfo                      |
| `response.query.accountInfo.emails`               | array    | Output field: response.query.accountInfo.emails               |
| `response.query.mailOptions`                      | object   | Output field: response.query.mailOptions                      |
| `response.query.method`                           | string   | HTTP method to use                                            |
| `response.exportOptions`                          | object   | Output field: response.exportOptions                          |
| `response.exportOptions.mailOptions`              | object   | Output field: response.exportOptions.mailOptions              |
| `response.exportOptions.mailOptions.exportFormat` | string   | Output field: response.exportOptions.mailOptions.exportFormat |
| `response.createTime`                             | string   | Time value                                                    |
| `response.status`                                 | string   | Status value                                                  |
| `response.stats`                                  | object   | Output field: response.stats                                  |
| `response.stats.exportedArtifactCount`            | string   | Count value                                                   |
| `response.stats.totalArtifactCount`               | string   | Count value                                                   |

### Output Example

`{"response":{"id":"12345678-1234-1234-1234-123456789abc","matterId":"string","name":"Example Name","requester":{"email":"user@example.com","displayName":"Example Name"},"query":{"corpus":"string","dataScope":"string","searchMethod":"string","accountInfo":{},"mailOptions":{},"method":"string"},"exportOptions":{"mailOptions":{}},"createTime":"string","status":"active","stats":{"exportedArtifactCount":"string","totalArtifactCount":"string","sizeInBytes":"string"},"cloudStorageSink":{"files":[]}}}`

## Vault - List Exports

Retrieve export details for a specified matter in Google Workspace Vault using the required 'matterId'.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                    |
| ----------------- | -------- | ------------ | ---------------------------------- |
| `matterId`        | string   | Required     | Unique identifier                  |
| `pageSize`        | number   | Optional     | Parameter for Vault - List Exports |
| `pageToken`       | string   | Optional     | Parameter for Vault - List Exports |
| `x__xgafv`        | string   | Optional     | Parameter for Vault - List Exports |

### Input Example

`{"matterId":"9b8cb25a-81c4-42a9-b1c1-e6476d6d786d","pageSize":100,"x__xgafv":"1"}`

### Output

| **Parameter**                                             | **Type** | **Description**                                                       |
| --------------------------------------------------------- | -------- | --------------------------------------------------------------------- |
| `status_code`                                             | number   | HTTP status code of the response                                      |
| `reason`                                                  | string   | Response reason phrase                                                |
| `response`                                                | object   | Output field: response                                                |
| `response.exports`                                        | array    | Output field: response.exports                                        |
| `response.exports.id`                                     | string   | Unique identifier                                                     |
| `response.exports.matterId`                               | string   | Unique identifier                                                     |
| `response.exports.name`                                   | string   | Name of the resource                                                  |
| `response.exports.requester`                              | object   | Output field: response.exports.requester                              |
| `response.exports.requester.email`                        | string   | Output field: response.exports.requester.email                        |
| `response.exports.requester.displayName`                  | string   | Name of the resource                                                  |
| `response.exports.query`                                  | object   | Output field: response.exports.query                                  |
| `response.exports.query.corpus`                           | string   | Output field: response.exports.query.corpus                           |
| `response.exports.query.dataScope`                        | string   | Response data                                                         |
| `response.exports.query.searchMethod`                     | string   | HTTP method to use                                                    |
| `response.exports.query.accountInfo`                      | object   | Output field: response.exports.query.accountInfo                      |
| `response.exports.query.accountInfo.emails`               | array    | Output field: response.exports.query.accountInfo.emails               |
| `response.exports.query.mailOptions`                      | object   | Output field: response.exports.query.mailOptions                      |
| `response.exports.query.method`                           | string   | HTTP method to use                                                    |
| `response.exports.exportOptions`                          | object   | Output field: response.exports.exportOptions                          |
| `response.exports.exportOptions.mailOptions`              | object   | Output field: response.exports.exportOptions.mailOptions              |
| `response.exports.exportOptions.mailOptions.exportFormat` | string   | Output field: response.exports.exportOptions.mailOptions.exportFormat |
| `response.exports.createTime`                             | string   | Time value                                                            |
| `response.exports.status`                                 | string   | Status value                                                          |
| `response.exports.stats`                                  | object   | Output field: response.exports.stats                                  |
| `response.exports.stats.exportedArtifactCount`            | string   | Count value                                                           |

### Output Example

`{"response":{"exports":[{}]}}`

## Vault - Get Matter

Retrieve detailed information for a specified matter in Google Workspace Vault using the provided matterId.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                  |
| ----------------- | -------- | ------------ | -------------------------------- |
| `matterId`        | string   | Required     | Unique identifier                |
| `view`            | string   | Optional     | Parameter for Vault - Get Matter |
| `x__xgafv`        | string   | Optional     | Parameter for Vault - Get Matter |

### Input Example

`{"matterId":"80149f71-8e51-4359-a1a4-fec0b64763b7","x__xgafv":"1"}`

### Output

| **Parameter**       | **Type** | **Description**                  |
| ------------------- | -------- | -------------------------------- |
| `status_code`       | number   | HTTP status code of the response |
| `reason`            | string   | Response reason phrase           |
| `response`          | object   | Output field: response           |
| `response.matterId` | string   | Unique identifier                |
| `response.name`     | string   | Name of the resource             |
| `response.state`    | string   | Output field: response.state     |

### Output Example

`{"response":{"matterId":"string","name":"Example Name","state":"string"}}`

## Vault - Create Hold

Create a new hold within a specified matter in Google Workspace Vault using the provided matterId.

### Input

| **Argument Name**                               | **Type** | **Required** | **Description**   |
| ----------------------------------------------- | -------- | ------------ | ----------------- |
| `matterId`                                      | string   | Required     | Unique identifier |
| `body`                                          | object   | Optional     | Request body data |
| `body.accounts`                                 | array    | Optional     | Request body data |
| `body.accounts.accountId`                       | string   | Optional     | Request body data |
| `body.accounts.email`                           | string   | Optional     | Request body data |
| `body.accounts.firstName`                       | string   | Optional     | Request body data |
| `body.accounts.holdTime`                        | string   | Optional     | Request body data |
| `body.accounts.lastName`                        | string   | Optional     | Request body data |
| `body.corpus`                                   | string   | Optional     | Request body data |
| `body.holdId`                                   | string   | Optional     | Request body data |
| `body.name`                                     | string   | Optional     | Request body data |
| `body.orgUnit`                                  | object   | Optional     | Request body data |
| `body.orgUnit.holdTime`                         | string   | Optional     | Request body data |
| `body.orgUnit.orgUnitId`                        | string   | Optional     | Request body data |
| `body.query`                                    | object   | Optional     | Request body data |
| `body.query.driveQuery`                         | object   | Optional     | Request body data |
| `body.query.driveQuery.includeSharedDriveFiles` | boolean  | Optional     | Request body data |
| `body.query.driveQuery.includeTeamDriveFiles`   | boolean  | Optional     | Request body data |
| `body.query.groupsQuery`                        | object   | Optional     | Request body data |
| `body.query.groupsQuery.endTime`                | string   | Optional     | Request body data |
| `body.query.groupsQuery.startTime`              | string   | Optional     | Request body data |
| `body.query.groupsQuery.terms`                  | string   | Optional     | Request body data |
| `body.query.hangoutsChatQuery`                  | object   | Optional     | Request body data |
| `body.query.hangoutsChatQuery.includeRooms`     | boolean  | Optional     | Request body data |
| `body.query.mailQuery`                          | object   | Optional     | Request body data |

### Input Example

`{"matterId":"string","body":{"accounts":[{"accountId":"string","email":"user@example.com","firstName":"Example Name","holdTime":"string","lastName":"Example Name"}],"corpus":"string","holdId":"string","name":"Example Name","orgUnit":{"holdTime":"string","orgUnitId":"string"},"query":{"driveQuery":{"includeSharedDriveFiles":true,"includeTeamDriveFiles":true},"groupsQuery":{"endTime":"string","startTime":"string","terms":"string"},"hangoutsChatQuery":{"includeRooms":true},"mailQuery":{"endTime":"string","startTime":"string","terms":"string"},"voiceQuery":{"coveredData":["string"]}},"updateTime":"string"},"x__xgafv":"string"}`

### Output

| **Parameter** | **Type** | **Description**                  |
| ------------- | -------- | -------------------------------- |
| `status_code` | number   | HTTP status code of the response |
| `reason`      | string   | Response reason phrase           |
| `response`    | object   | Output field: response           |

### Output Example

`{}`

## Vault - List Matters

Retrieve a list of accessible matters with their IDs and names from Google Workspace Vault for the current user.

### Input

| **Argument Name** | **Type** | **Required** | **Description**                    |
| ----------------- | -------- | ------------ | ---------------------------------- |
| `pageSize`        | number   | Optional     | Parameter for Vault - List Matters |
| `pageToken`       | string   | Optional     | Parameter for Vault - List Matters |
| `state`           | string   | Optional     | Parameter for Vault - List Matters |
| `view`            | string   | Optional     | Parameter for Vault - List Matters |
| `x__xgafv`        | string   | Optional     | Parameter for Vault - List Matters |

### Input Example

`{"pageSize":10,"pageToken":"ODAxNDlmNzEtOGU1MS00MzU5LWExYTQtZmVjMGI2NDc2M2I3","x__xgafv":"1"}`

### Output

| **Parameter**                  | **Type** | **Description**                            |
| ------------------------------ | -------- | ------------------------------------------ |
| `status_code`                  | number   | HTTP status code of the response           |
| `reason`                       | string   | Response reason phrase                     |
| `response`                     | object   | Output field: response                     |
| `response.matters`             | array    | Output field: response.matters             |
| `response.matters.matterId`    | string   | Unique identifier                          |
| `response.matters.name`        | string   | Name of the resource                       |
| `response.matters.state`       | string   | Output field: response.matters.state       |
| `response.matters.description` | string   | Output field: response.matters.description |

### Output Example

`{"response":{"matters":[{}]}}`

# Response Headers

| **Header**   | **Description**                                       | **Example**                   |
| ------------ | ----------------------------------------------------- | ----------------------------- |
| Content-Type | The media type of the resource                        | application/json              |
| Date         | The date and time at which the message was originated | Thu, 01 Jan 2024 00:00:00 GMT |
