# Google Drive

Google Drive is a cloud storage solution for uploading, sharing, and collaborating on files across devices, with robust search and offline access

- **Category:** file management & storage
- **Auth:** OAUTH2
- **Tools:** 59
- **Triggers:** 7
- **Slug:** `GOOGLEDRIVE`
- **Version:** 20260212_00

## Frequently Asked Questions

### How do I set up custom Google OAuth credentials for Google Drive?

For a step-by-step guide on creating and configuring your own Google OAuth credentials with Composio, see [How to create OAuth2 credentials for Google Apps](https://composio.dev/auth/googleapps).

### Why am I seeing "App is blocked" when connecting Google Drive?

The OAuth client is requesting scopes that Google hasn't verified for that client. This usually happens when you add extra scopes beyond the defaults.

Remove the additional scopes from your auth config, or create your own OAuth app and submit the scopes for verification. See [How to create OAuth2 credentials for Google Apps](https://composio.dev/auth/googleapps).

### Why am I getting "Google Drive API has not been used in project" error?

When using custom OAuth credentials, the Google Drive API must be enabled in the Google Cloud project that owns those credentials. Enable it in Google Cloud Console under APIs & Services, wait a few minutes, and retry.

### Why am I getting "Error 400: invalid_scope"?

The requested scopes are invalid or incorrectly formatted in the authorization URL. Verify your scope values against the [Google OAuth scopes docs](https://developers.google.com/identity/protocols/oauth2). If you're creating auth configs programmatically, see the [programmatic auth config guide](/docs/auth-configuration/programmatic-auth-configs).

### Why does the OAuth consent screen show "Composio" instead of my app?

By default, the consent screen uses Composio's OAuth app. To show your own app name and logo, create your own OAuth app and set a custom redirect URL. See [White-labeling the OAuth consent screen](/docs/auth-configuration/custom-auth-configs#white-labeling-the-oauth-consent-screen).

### Why am I getting 401 errors on tool calls?

The user's access token is no longer valid. Common causes: the user revoked access, changed their password or 2FA, a Workspace admin policy changed, or Google's refresh token limit (~50 per account) was exceeded. Re-authenticating the user typically resolves this.

---

## Tools

### Add file sharing preference

**Slug:** `GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE`

Modifies sharing permissions for an existing Google Drive file, granting a specified role to a user, group, domain, or 'anyone'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("owner" | "organizer" | "fileOrganizer" | "writer" | "commenter" | "reader") | Yes | Permission role to grant. |
| `type` | string ("user" | "group" | "domain" | "anyone") | Yes | Type of grantee for the permission. |
| `domain` | string | No | Domain to grant permission to (e.g., 'example.com'). Required if 'type' is 'domain'. |
| `file_id` | string | Yes | Unique identifier of the file to update sharing settings for. Must be an alphanumeric string containing only letters, numbers, hyphens, and underscores (no slashes, spaces, or other special characters). Use GOOGLEDRIVE_FIND_FILE or GOOGLEDRIVE_LIST_FILES to get valid file IDs from your Google Drive. |
| `email_address` | string | No | Email address of the user or group. Required if 'type' is 'user' or 'group'. |
| `transfer_ownership` | boolean | No | Whether to transfer ownership to the specified user. Required when role is 'owner'. Only a single user can be specified in the request when transferring ownership. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Shared Drive Member

**Slug:** `GOOGLEDRIVE_ADD_SHARED_DRIVE_MEMBER`

Tool to add a member (user/group/domain) to a Shared Drive with a specified role. Use when you need to grant access to a Shared Drive, ensuring supportsAllDrives is set correctly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("organizer" | "fileOrganizer" | "writer" | "commenter" | "reader") | Yes | Permission role to grant. Must be one of: organizer, fileOrganizer, writer, commenter, or reader. |
| `type` | string ("user" | "group" | "domain") | Yes | Type of grantee for the permission. Must be 'user', 'group', or 'domain'. |
| `domain` | string | No | Domain to grant permission to (e.g., 'example.com'). Required if 'type' is 'domain'. |
| `drive_id` | string | Yes | The ID of the Shared Drive to which the member will be added. Must be a non-empty string. |
| `email_address` | string | No | Email address of the user or group. Required if 'type' is 'user' or 'group'. |
| `email_message` | string | No | A plain text custom message to include in the notification email. |
| `send_notification_email` | boolean | No | Whether to send a notification email when sharing to users or groups. This defaults to true for users and groups, and is not allowed for other requests. |
| `use_domain_admin_access` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the Shared Drive belongs to the requester's domain and the requester is a domain administrator. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy file

**Slug:** `GOOGLEDRIVE_COPY_FILE`

Duplicates an existing file in Google Drive, identified by its `file_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The unique identifier for the file on Google Drive that you want to copy. This ID can be retrieved from the file's shareable link or via other Google Drive API calls. |
| `new_title` | string | No | The title to assign to the new copy of the file. If not provided, the copied file will have the same title as the original, prefixed with 'Copy of '. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy file with advanced options

**Slug:** `GOOGLEDRIVE_COPY_FILE_ADVANCED`

Creates a copy of a file and applies any requested updates with patch semantics. Use when you need to duplicate a file with advanced options like label inclusion, visibility settings, or custom metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `name` | string | No | The name of the copied file. If not provided, the copied file will have the same name as the original, prefixed with 'Copy of '. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. Use comma-separated field paths. |
| `fileId` | string | Yes | The ID of the file to copy. This is the unique identifier for the file on Google Drive. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `parents` | array | No | The IDs of the parent folders which contain the file. If not specified as part of a copy request, the file inherits any discoverable parents of the source file. |
| `starred` | boolean | No | Whether the user has starred the file. |
| `trashed` | boolean | No | Whether the file has been trashed. |
| `callback` | string | No | JSONP callback parameter. |
| `mimeType` | string | No | The MIME type of the file. Google Drive attempts to automatically detect an appropriate value from uploaded content, if no value is provided. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `properties` | object | No | A collection of arbitrary key-value pairs which are visible to all apps. Entries with null values are cleared in update and copy requests. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `createdTime` | string | No | The time at which the file was created (RFC 3339 date-time). |
| `description` | string | No | A short description of the copied file. |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `ocrLanguage` | string | No | A language hint for OCR processing during image import (ISO 639-1 code). |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks for improved readability. |
| `access_token` | string | No | OAuth access token. |
| `modifiedTime` | string | No | The last time the file was modified by anyone (RFC 3339 date-time). Note that setting modifiedTime will also update modifiedByMeTime for the user. |
| `appProperties` | object | No | A collection of arbitrary key-value pairs which are private to the requesting app. Entries with null values are cleared in update and copy requests. These properties can only be retrieved using an authenticated request with an OAuth 2 client ID. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `folderColorRgb` | string | No | The color for a folder or a shortcut to a folder as an RGB hex string. The supported colors are published in the folderColorPalette field of the About resource. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `writersCanShare` | boolean | No | Whether users with only writer permission can modify the file's permissions. Not populated for items in shared drives. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `enforceSingleParent` | boolean | No | Deprecated. Copying files into multiple folders is no longer supported. Use shortcuts instead. |
| `keepRevisionForever` | boolean | No | Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be kept forever. If the limit is reached, try deleting pinned revisions. |
| `ignoreDefaultVisibility` | boolean | No | Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |
| `copyRequiresWriterPermission` | boolean | No | Whether the options to copy, print, or download this file should be disabled for readers and commenters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Copy file (v2)

**Slug:** `GOOGLEDRIVE_COPY_FILE_V2`

Tool to create a copy of a file in Google Drive using v2 API. Use when you need to duplicate a file. The original file remains intact while a new separate copy is created.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ocr` | boolean | No | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. |
| `title` | string | No | The title to assign to the new copy of the file. If not provided, the copied file will have the same title as the original, prefixed with 'Copy of'. |
| `fileId` | string | Yes | The ID of the file to copy. |
| `pinned` | boolean | No | Whether to pin the head revision of the new copy. A file can have a maximum of 200 pinned revisions. |
| `convert` | boolean | No | Whether to convert this file to the corresponding Docs Editors format. |
| `visibility` | string ("DEFAULT" | "PRIVATE") | No | The visibility of the new file. |
| `ocrLanguage` | string | No | If ocr is true, hints at the language to use. Valid values are BCP 47 codes. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `timedTextLanguage` | string | No | The language of the timed text. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `timedTextTrackName` | string | No | The timed text track name. |
| `enforceSingleParent` | boolean | No | Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Comment

**Slug:** `GOOGLEDRIVE_CREATE_COMMENT`

Tool to create a comment on a file. Use when you need to add a new comment to a specific file in Google Drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `anchor` | string | No | A JSON string defining the region of the document to which the comment is anchored. Format: {"region": {"kind": "drive#commentRegion", "<classifier>": <value>, "rev": "head"}}. Supported classifiers: (1) "line" for text lines (e.g., "line": 12), (2) "page" for page numbers (e.g., "page": {"p": 0}), (3) "txt" for text ranges (e.g., "txt": {"o": 100, "l": 50}), (4) "rect" for rectangles in images (e.g., "rect": {"x": 10, "y": 20, "w": 100, "h": 50}), (5) "time" for video timestamps (e.g., "time": {"t": "00:01:30"}), (6) "matrix" for spreadsheet cells (e.g., "matrix": {"c": 2, "r": 5}). Note: On blob files, only unanchored comments are supported. Google Workspace editors may treat API-set anchors as unanchored. |
| `content` | string | Yes | The plain text content of the comment. |
| `file_id` | string | Yes | The ID of the file. |
| `quoted_file_content_value` | string | No | The quoted content itself. |
| `quoted_file_content_mime_type` | string | No | The MIME type of the quoted content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Shared Drive

**Slug:** `GOOGLEDRIVE_CREATE_DRIVE`

Tool to create a new shared drive. Use when you need to programmatically create a new shared drive for collaboration or storage.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of this shared drive. |
| `hidden` | boolean | No | Whether the shared drive is hidden from default view. |
| `themeId` | string | No | The ID of the theme from which the background image and color will be set. The set of possible driveThemes can be retrieved from a drive.about.get response. When not specified on a drive.drives.create request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set colorRgb or backgroundImageFile. |
| `colorRgb` | string | No | The color of this shared drive as an RGB hex string. It can only be set on a drive.drives.update request that does not set themeId. |
| `requestId` | string | No | Optional. An ID for idempotent creation of a shared drive. If not provided, a UUID will be auto-generated. Each requestId can only be used ONCE to successfully create a drive. If retrying a request that succeeded previously with the same requestId, the existing drive will be returned. |
| `backgroundImageFile` | object | No | An image file and cropping parameters from which a background image for this shared drive is set. This is a write only field; it can only be set on drive.drives.update requests that don't set themeId. When specified, all fields of the backgroundImageFile must be set. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create File or Folder

**Slug:** `GOOGLEDRIVE_CREATE_FILE`

Creates a new file or folder with metadata. Use to create empty files or folders, or files with content by providing it in the request body (though this action primarily focuses on metadata creation).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the file. While optional, providing a meaningful name is strongly recommended. If not specified, Google Drive will create the file with name 'Untitled'. |
| `fields` | string | No | A comma-separated list of fields to include in the response. |
| `parents` | array | No | Google Drive folder ID (not folder name) where the file will be created. Must be a list with exactly one folder ID (e.g., ['1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs07X8ygaR']). Folder IDs are long alphanumeric strings, not human-readable names. Use GOOGLEDRIVE_FIND_FOLDER or GOOGLEDRIVE_LIST_FILES to look up folder IDs by name. If omitted, the file is created in My Drive root. |
| `starred` | boolean | No | Whether the user has starred the file. |
| `mimeType` | string ("application/vnd.google-apps.folder" | "application/vnd.google-apps.document" | "application/vnd.google-apps.spreadsheet" | "application/vnd.google-apps.presentation" | "application/vnd.google-apps.drawing" | "application/vnd.google-apps.form" | "application/vnd.google-apps.script" | "application/vnd.google-apps.shortcut" | "application/vnd.google-apps.site" | "application/vnd.google-apps.map" | "application/vnd.google-apps.jam" | "application/pdf" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.oasis.opendocument.text" | "application/rtf" | "text/plain" | "text/html" | "text/markdown" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.oasis.opendocument.spreadsheet" | "text/csv" | "text/tab-separated-values" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.presentation" | "image/jpeg" | "image/png" | "image/gif" | "image/bmp" | "image/webp" | "image/svg+xml" | "image/tiff" | "video/mp4" | "video/x-msvideo" | "video/quicktime" | "video/x-ms-wmv" | "video/webm" | "audio/mpeg" | "audio/wav" | "audio/ogg" | "application/zip" | "application/vnd.rar" | "application/x-tar" | "application/gzip" | "application/x-7z-compressed" | "application/json" | "application/xml" | "application/x-yaml" | "application/epub+zip" | "application/octet-stream") | No | Common MIME types for Google Drive file creation. |
| `description` | string | No | A short description of the file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a File from Text

**Slug:** `GOOGLEDRIVE_CREATE_FILE_FROM_TEXT`

Creates a new file in Google Drive from provided text content (up to 10MB), supporting various formats including automatic conversion to Google Workspace types.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_name` | string | Yes | Required. Desired name for the new file on Google Drive. Also accepts 'title' or 'name' as aliases. |
| `mime_type` | string | No | MIME type for the new file, determining how Google Drive interprets its content. |
| `parent_id` | string | No | IMPORTANT: Must be a valid Google Drive folder ID that exists and you have access to. Do NOT pass folder names - only folder IDs work. If omitted, the file is created in the root of 'My Drive'. To get a folder ID from a folder name, use GOOGLEDRIVE_FIND_FOLDER first. Also accepts 'folder_id' or 'parent_folder_id' as aliases. |
| `text_content` | string | Yes | Required. Plain text content to be written into the new file. Also accepts 'content', 'body', or 'text' as aliases. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create a folder

**Slug:** `GOOGLEDRIVE_CREATE_FOLDER`

Creates a new folder in Google Drive, optionally within an EXISTING parent folder specified by its ID or name. The parent folder MUST already exist - use GOOGLEDRIVE_FIND_FOLDER first to verify the parent exists or find its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the new folder. This is a required field. |
| `parent_id` | string | No | ID or exact name of an EXISTING parent folder. IMPORTANT: The parent folder MUST already exist - this action will NOT create parent folders automatically. If you need to create nested folders, first use GOOGLEDRIVE_FIND_FOLDER to verify the parent exists, or create it with a separate call. If a name is provided, the action searches for a folder with that exact name. If omitted, the folder is created in the Drive root. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Permission

**Slug:** `GOOGLEDRIVE_CREATE_PERMISSION`

Tool to create a permission for a file or shared drive. Use when you need to share a file or folder with users, groups, domains, or make it publicly accessible. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("owner" | "organizer" | "fileOrganizer" | "writer" | "commenter" | "reader") | Yes | The role granted by this permission. Valid values are: owner, organizer, fileOrganizer, writer, commenter, reader. |
| `type` | string ("user" | "group" | "domain" | "anyone") | Yes | The type of the grantee. When creating a permission, if type is 'user' or 'group', you must provide an emailAddress. When type is 'domain', you must provide a domain. There isn't extra information required for 'anyone' type. |
| `domain` | string | No | The domain to which this permission refers. Required when type is 'domain'. |
| `file_id` | string | Yes | The ID of the file or shared drive. |
| `email_address` | string | No | The email address of the user or group to which this permission refers. Required when type is 'user' or 'group'. |
| `email_message` | string | No | A plain text custom message to include in the notification email. |
| `expiration_time` | string | No | The time at which this permission will expire (RFC 3339 date-time). Expiration times can only be set on user and group permissions, must be in the future, and cannot be more than a year in the future. |
| `transfer_ownership` | boolean | No | Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. |
| `supports_all_drives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `allow_file_discovery` | boolean | No | Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type 'domain' or 'anyone'. |
| `move_to_new_owners_root` | boolean | No | This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to true, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to false, parents are not changed. |
| `send_notification_email` | boolean | No | Whether to send a notification email when sharing to users or groups. This defaults to true for users and groups, and is not allowed for other requests. It must not be disabled for ownership transfers. |
| `use_domain_admin_access` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Reply

**Slug:** `GOOGLEDRIVE_CREATE_REPLY`

Tool to create a reply to a comment in Google Drive. Use when you need to respond to an existing comment on a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `action` | string ("resolve" | "reopen") | No | The action the reply performed to the parent comment. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `content` | string | Yes | The plain text content of the reply. HTML content is not supported. |
| `file_id` | string | Yes | The ID of the file. |
| `comment_id` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Shortcut to File/Folder

**Slug:** `GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE`

Tool to create a shortcut to a file or folder in Google Drive. Use when you need to link to an existing Drive item from another location without duplicating it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the shortcut. |
| `target_id` | string | Yes | The ID of the file or folder that this shortcut points to. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Recommended to set to true if interacting with shared drives. |
| `keepRevisionForever` | boolean | No | Whether to set the 'keepForever' field in the new head revision. |
| `ignoreDefaultVisibility` | boolean | No | Whether to ignore the domain's default visibility settings for the created file. |
| `includePermissionsForView` | string ("published") | No | Enum for includePermissionsForView parameter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Team Drive (Deprecated)

**Slug:** `GOOGLEDRIVE_CREATE_TEAM_DRIVE`

Tool to create a Team Drive. Deprecated: Use drives.create instead. Use when you need to create a Team Drive for collaboration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of this Team Drive. This is a required field. |
| `themeId` | string | No | The ID of the theme from which the background image and color will be set. The set of possible teamDriveThemes can be retrieved from a drive.about.get response. When not specified on a drive.teamdrives.create request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set colorRgb or backgroundImageFile. |
| `colorRgb` | string | No | The color of this Team Drive as an RGB hex string. It can only be set on a drive.teamdrives.update request that does not set themeId. |
| `requestId` | string | No | Optional. An ID for idempotent creation of a Team Drive. If not provided, a UUID will be auto-generated. Each requestId can only be used ONCE to successfully create a Team Drive. If retrying a request that succeeded previously with the same requestId, the existing Team Drive will be returned or a 409 error will occur. |
| `backgroundImageFile` | object | No | An image file and cropping parameters from which a background image for this Team Drive is set. This is a write only field; it can only be set on drive.teamdrives.update requests that don't set themeId. When specified, all fields of the backgroundImageFile must be set. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Child (v2)

**Slug:** `GOOGLEDRIVE_DELETE_CHILD_V2`

Tool to remove a child from a folder using Google Drive API v2. Use when you need to remove a file from a specific folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format enum. |
| `childId` | string | Yes | The ID of the child. |
| `callback` | string | No | JSONP |
| `folderId` | string | Yes | The ID of the folder. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. "media", "multipart"). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. "raw", "multipart"). |
| `enforceSingleParent` | boolean | No | Deprecated: If an item is not in a shared drive and its last parent is removed, the item is placed under its owner's root. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Comment

**Slug:** `GOOGLEDRIVE_DELETE_COMMENT`

Deletes a comment from a file. Use when you need to remove a specific comment from a Google Drive file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file. |
| `comment_id` | string | Yes | The ID of the comment. Comment IDs are different from file IDs and have a distinct format (e.g., 'AAAByC37kko'). You must obtain the comment ID from the LIST_COMMENTS or CREATE_COMMENT actions. Do NOT use the file ID here. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Shared Drive

**Slug:** `GOOGLEDRIVE_DELETE_DRIVE`

Tool to permanently delete a shared drive. Use when you need to remove a shared drive and its contents (if specified).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `driveId` | string | Yes | The ID of the shared drive. |
| `allowItemDeletion` | boolean | No | Whether any items inside the shared drive should also be deleted. This option is only supported when `useDomainAdminAccess` is also set to `true`. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete file

**Slug:** `GOOGLEDRIVE_DELETE_FILE`

Tool to permanently delete a file owned by the user without moving it to trash. Use when permanent deletion is required. If the file belongs to a shared drive, the user must be an organizer on the parent folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file to delete. This permanently removes the file without moving it to trash. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Set to true if the file might be in a shared drive. |
| `enforceSingleParent` | boolean | No | Deprecated parameter. If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item is placed under its owner's root. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Parent (v2)

**Slug:** `GOOGLEDRIVE_DELETE_PARENT_V2`

Tool to remove a parent from a file using Google Drive API v2. Use when you need to remove a file from a specific folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format enum. |
| `callback` | string | No | JSONP |
| `parentId` | string | Yes | The ID of the parent. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. "media", "multipart"). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. "raw", "multipart"). |
| `enforceSingleParent` | boolean | No | Deprecated: If an item is not in a shared drive and its last parent is removed, the item is placed under its owner's root. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Permission

**Slug:** `GOOGLEDRIVE_DELETE_PERMISSION`

Deletes a permission from a file by permission ID. IMPORTANT: You must first call GOOGLEDRIVE_LIST_PERMISSIONS to get valid permission IDs. Use when you need to revoke access for a specific user or group from a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file or shared drive. |
| `permission_id` | string | Yes | The unique ID of the permission to delete. IMPORTANT: You MUST first call GOOGLEDRIVE_LIST_PERMISSIONS with the file_id to retrieve valid permission IDs. Permission IDs are opaque identifiers assigned by Google (e.g., '18394857362947583', 'anyoneWithLink') and cannot be guessed. Do NOT use placeholder values like 'any' or '1234'. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Permission (v2)

**Slug:** `GOOGLEDRIVE_DELETE_PERMISSION_V2`

Tool to delete a permission from a file or shared drive using Google Drive API v2. Use when you need to revoke access for a specific user or group. Warning: Concurrent permissions operations on the same file are not supported; only the last update is applied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file or shared drive. |
| `permissionId` | string | Yes | The ID of the permission to delete. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Property (v2 API)

**Slug:** `GOOGLEDRIVE_DELETE_PROPERTY_V2`

Tool to delete a property from a file using Google Drive API v2. Use when you need to remove custom key-value metadata from a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `visibility` | string | No | The visibility of the property. If specified, only deletes the property if it has this visibility level. |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `propertyKey` | string | Yes | The key of the property to delete. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Reply

**Slug:** `GOOGLEDRIVE_DELETE_REPLY`

Tool to delete a specific reply by reply ID. Use when you need to remove a reply from a comment on a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file. |
| `reply_id` | string | Yes | The ID of the reply. |
| `comment_id` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Reply (v2)

**Slug:** `GOOGLEDRIVE_DELETE_REPLY_V2`

Tool to delete a reply to a comment using Google Drive API v2. Use when you need to remove a specific reply from a comment thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `replyId` | string | Yes | The ID of the reply. |
| `commentId` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Revision

**Slug:** `GOOGLEDRIVE_DELETE_REVISION`

Tool to permanently delete a file revision. Use when you need to remove a specific version of a binary file (images, videos, etc.). Cannot delete revisions for Google Docs/Sheets or the last remaining revision.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file. |
| `revision_id` | string | Yes | The ID of the revision to delete. You can obtain revision IDs by calling GOOGLEDRIVE_LIST_REVISIONS. Important: You can only delete revisions for files with binary content (images, videos, etc.), not Google Docs or Sheets. You cannot delete the last remaining revision of a file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Team Drive (Deprecated)

**Slug:** `GOOGLEDRIVE_DELETE_TEAM_DRIVE`

Tool to permanently delete a Team Drive. Deprecated: Use drives.delete instead. Use when you need to remove a Team Drive using the legacy endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamDriveId` | string | Yes | The ID of the Team Drive to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Team Drive (v2)

**Slug:** `GOOGLEDRIVE_DELETE_TEAM_DRIVE_V2`

Tool to permanently delete a Team Drive using the v2 API endpoint. Deprecated: Use drives.delete instead. Use when you need to remove a Team Drive using the legacy v2 endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamDriveId` | string | Yes | The ID of the Team Drive to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download a file from Google Drive

**Slug:** `GOOGLEDRIVE_DOWNLOAD_FILE`

Downloads a file from Google Drive by its ID. For Google Workspace documents (Docs, Sheets, Slides), optionally exports to a specified `mime_type`. For other file types, downloads in their native format regardless of mime_type. Examples: Export a Google Doc to plain text: {"file_id": "1N2o5xQWmAbCdEfGhIJKlmnOPq", "mime_type": "text/plain"} Download a Google Sheet as CSV: {"file_id": "1ZyXwVuTsRqPoNmLkJiHgFeDcB", "mime_type": "text/csv"}

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The unique identifier of the file to be downloaded from Google Drive. Must be a valid Google Drive file ID containing only alphanumeric characters, hyphens, and underscores. File paths with slashes (/) are not valid. This ID can typically be found in the file's URL in Google Drive or obtained from API calls that list files. |
| `mime_type` | string ("application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.oasis.opendocument.text" | "application/rtf" | "application/pdf" | "text/plain" | "application/zip" | "application/epub+zip" | "text/html" | "text/markdown" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.oasis.opendocument.spreadsheet" | "text/csv" | "text/tab-separated-values" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.presentation" | "image/jpeg" | "image/png" | "image/svg+xml" | "application/vnd.google-apps.script+json" | "application/vnd.google-apps.vid") | No | ONLY for Google Workspace documents (Docs, Sheets, Slides, Drawings). Specifies the export format. IMPORTANT: This parameter has NO effect on regular files (PDFs, images, videos, Office documents, etc.) - they are always downloaded in their native format. Google Forms and Maps cannot be downloaded as they do not support exports through the Drive API. If omitted for Google Workspace files, defaults to PDF.   WARNING: Different Google Workspace file types support DIFFERENT export formats. Using an unsupported format will result in an error.   Google Docs ONLY: application/pdf, text/plain, application/rtf, application/vnd.openxmlformats-officedocument.wordprocessingml.document, application/vnd.oasis.opendocument.text, application/zip, application/epub+zip, text/markdown.   Google Sheets ONLY: application/pdf, text/csv, text/tab-separated-values, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.oasis.opendocument.spreadsheet, application/zip.   Google Slides ONLY: application/pdf, text/plain, application/vnd.openxmlformats-officedocument.presentationml.presentation, application/vnd.oasis.opendocument.presentation, image/jpeg, image/png, image/svg+xml.   Universally safe: application/pdf works for all Google Workspace file types. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download file content

**Slug:** `GOOGLEDRIVE_DOWNLOAD_FILE2`

Tool to download file content as a long-running operation. Use when you need to download files from Google Drive. Operations are valid for 24 hours from the time of creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file to download |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Download file via operation

**Slug:** `GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION`

Tool to download file content using long-running operations. Use when you need to download Google Vids files or export Google Workspace documents as part of a long-running operation. Operations are valid for 24 hours from creation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file to download. This is a required parameter. The file_id can be found in the file's Google Drive URL or obtained from API calls that list files. |
| `mime_type` | string | No | The MIME type for exporting Google Workspace documents (Google Docs, Sheets, Slides, etc.) to different formats. Only applicable to Google Workspace documents (not blob files like PDFs, images, videos). If provided for a non-Google Workspace file, this parameter will be ignored to prevent API errors. Common export formats: 'application/pdf', 'application/vnd.openxmlformats-officedocument.wordprocessingml.document' (Word), 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' (Excel). |
| `revision_id` | string | No | The ID of the revision to download. If not specified, the current head revision will be downloaded. This field can only be set when downloading blob files, Google Docs, and Google Sheets. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Edit File

**Slug:** `GOOGLEDRIVE_EDIT_FILE`

Updates an existing Google Drive file with binary content by overwriting its entire content with new text (max 10MB). IMPORTANT: This action only works with files that have binary content (text files, PDFs, images, etc.). It does NOT support editing Google Workspace native files (Google Docs, Sheets, Slides, etc.). For Google Workspace files, use the Google Docs API, Google Sheets API, or Google Slides API directly.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `content` | string | Yes | New textual content to overwrite the existing file; will be UTF-8 encoded for upload. |
| `file_id` | string | Yes | ID of the Google Drive file to update. Only works with files that have binary content (e.g., .txt, .json, .pdf, .jpg files uploaded to Drive). Does NOT support Google Workspace native files (Docs, Sheets, Slides) even if they appear as spreadsheets or documents - those must be edited via Google Docs/Sheets/Slides APIs. |
| `mime_type` | string | No | MIME type of the content being uploaded. Must match the actual format of the content being uploaded (not the existing file type). Cannot be a Google Workspace MIME type (application/vnd.google-apps.*). Valid examples: text/plain, text/html, application/json, application/pdf, image/jpeg. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Empty Trash

**Slug:** `GOOGLEDRIVE_EMPTY_TRASH`

Tool to permanently delete all of the user's trashed files. Use when you want to empty the trash in Google Drive. This action allows you to permanently remove all files that are currently in the trash of Google Drive. It can be applied to files in both the user's root trash and shared drives, ensuring a complete removal of unwanted files.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `driveId` | string | No | If set, empties the trash of the provided shared drive. This parameter is ignored if the item is not in a shared drive. |
| `enforceSingleParent` | boolean | No | Deprecated: If an item is not in a shared drive and its last parent is deleted but the item itself is not, the item will be placed under its owner's root. This parameter is ignored if the item is not in a shared drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export Google Workspace file

**Slug:** `GOOGLEDRIVE_EXPORT_GOOGLE_WORKSPACE_FILE`

Exports a Google Workspace document to the requested MIME type and returns exported file content. Use when you need to export Google Docs, Sheets, Slides, Drawings, or Apps Script files to a specific format. Note: The exported content is limited to 10MB by Google Drive API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the Google Workspace file to export. Must be a valid file ID for a Google Docs, Sheets, Slides, Drawings, or Apps Script file. |
| `mimeType` | string ("application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.oasis.opendocument.text" | "application/rtf" | "application/pdf" | "text/plain" | "application/zip" | "application/epub+zip" | "text/markdown" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.oasis.opendocument.spreadsheet" | "text/csv" | "text/tab-separated-values" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.presentation" | "image/jpeg" | "image/png" | "image/svg+xml" | "application/vnd.google-apps.script+json") | Yes | The MIME type of the format requested for this export. Supported formats depend on the source file type: Google Docs -> DOCX, ODT, RTF, PDF, TXT, HTML (ZIP), EPUB, Markdown; Google Sheets -> XLSX, ODS, PDF, CSV, TSV, HTML (ZIP); Google Slides -> PPTX, ODP, PDF, TXT, JPG, PNG, SVG; Google Drawings -> PDF, JPG, PNG, SVG; Apps Script -> JSON. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify File Labels

**Slug:** `GOOGLEDRIVE_FILES_MODIFY_LABELS`

Modifies the set of labels applied to a file. Returns a list of the labels that were added or modified. Use when you need to programmatically change labels on a Google Drive file, such as adding, updating, or removing them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `kind` | string | No | This is always drive#modifyLabelsRequest. |
| `file_id` | string | Yes | The ID of the file. |
| `label_modifications` | array | Yes | The list of modifications to apply to the labels on the file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find file

**Slug:** `GOOGLEDRIVE_FIND_FILE`

The comprehensive Google Drive search tool that handles all file and folder discovery needs. Use this for any file finding task - from simple name searches to complex queries with date filters, MIME types, permissions, custom properties, folder scoping, and more. Searches across My Drive and shared drives with full metadata support. Examples: - Find PDFs: q="mimeType = 'application/pdf'" - Find recent files: q="modifiedTime > '2024-01-01T00:00:00'" - Search by name: q="name contains 'report'" - Files in folder: folderId="abc123" or q="'FOLDER_ID' in parents"

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query string to filter file results. Accepts both simple text searches and full Google Drive query syntax.          **Simple Text Search (Automatic):**         - Provide bare text (e.g., "SAM RFP", "quarterly report") and it will automatically search for the exact phrase across file names and content         - Transformed to: "fullText contains '"your text"'" behind the scenes for exact phrase matching         - Works like Google Drive's UI search box, matching the complete phrase you enter         - **Email Address Auto-Detection:** If you provide a bare email address (e.g., "user@example.com"), it will be automatically transformed to "'user@example.com' in owners" to search for files owned by that user. This prevents API errors since email addresses cannot be used with fullText searches.          **Full Query Syntax:** 'field operator value' combined with 'and', 'or', 'not'          **Operators:** =, !=, <, >, <=, >=, contains, in          **Common Fields:**         - `name` - File name (exact match with = or partial match with contains)         - `fullText` - File content search         - `mimeType` - File type (e.g., 'application/pdf', 'application/vnd.google-apps.folder')         - `modifiedTime`, `createdTime` - Dates (RFC 3339: '2024-01-01T00:00:00')         - `parents` - Folder IDs containing the file         - `owners`, `writers` - User email addresses (MUST use 'in' operator, NOT colon syntax)         - `properties`, `appProperties` - Custom metadata          **Boolean Filter Fields (sharedWithMe, trashed, starred):**         These fields require explicit `= true` or `= false` syntax:         - `sharedWithMe = true` - Find files shared with you by others         - `sharedWithMe = false` - Find files NOT shared with you (your own files)         - `trashed = true` - Find files in trash         - `trashed = false` - Exclude trashed files from results         - `starred = true` - Find starred/favorited files         - `starred = false` - Find non-starred files          Combine with other conditions using 'and':         - "sharedWithMe = true and name contains 'report'" - Find shared files with 'report' in name         - "sharedWithMe = true and mimeType = 'application/pdf'" - Find shared PDF files         - "starred = true and modifiedTime > '2024-01-01T00:00:00'" - Find recently modified starred files          **Query Complexity Limits:**         Google Drive API has undocumented limits on query complexity. Queries with many OR clauses (typically >5-10) may fail with 'The query is too complex' error.         Workarounds for broad searches:         - Use fewer, more general search terms (e.g., "fullText contains 'AI'" instead of many specific terms)         - Break complex searches into multiple simpler queries and combine results client-side         - Use broader 'contains' terms that cover multiple concepts         - Prioritize the most important search criteria          **Name Field Usage:**         - Exact match: "name = 'exact filename.pdf'"         - Partial match: "name contains 'report'" (for substring search)         - IMPORTANT: Wildcards (*) are NOT supported. Use 'contains' operator for partial matching instead of wildcards.          **User Email Searches:**         - CORRECT: "'user@example.com' in owners" or "'user@example.com' in writers" or "'user@example.com' in readers"         - INCORRECT: "owner:user@example.com" (colon syntax is NOT supported and will cause errors)         - Always use the 'in' operator with quoted email addresses for user-based searches         - **Auto-Transform:** If you provide a bare email address (just "user@example.com"), it will be automatically transformed to "'user@example.com' in owners"         - IMPORTANT: Email addresses CANNOT be used with fullText searches - they must use the 'in' operator with owners/writers/readers fields          **Special Syntax:**         - Dates: RFC 3339 format (time zone defaults to UTC)         - Apostrophes/quotes in values: Automatically escaped. You can write "name = 'Jan'26'" or "name = 'Valentine's Day'" without manual escaping - the system handles it.         - Grouping: Use parentheses for OR: "(mimeType contains 'image/' or mimeType contains 'video/')"         - Custom properties: "properties has { key='department' and value='sales' }"          **Common Use Cases:**         - Find files modified after timestamp: "modifiedTime > '2024-10-01T14:30:00'"         - Search file content: "fullText contains 'quarterly results'"          **IMPORTANT - Root Folder ('My Drive'):**         - 'My Drive' is NOT a searchable folder name. It's the virtual representation of the user's root directory.         - Searching for name = 'My Drive' will return empty results because it's not a real folder entity.         - To work with the root folder, use the 'root' alias: folder_id='root' or "'root' in parents" in your query.          |
| `fields` | string | No | Selector specifying which fields to include in a partial response. Use '*' for all fields.  **Default Behavior (Recommended for Discovery):** When omitted, returns essential file discovery fields: id, name, mimeType, size, modifiedTime, createdTime, parents, webViewLink, trashed, starred. This lightweight default is optimized for file search/discovery use cases without verbose permission or capability metadata.  **Format:** For file fields, use 'files(field1,field2,...)' format. For example: 'files(id,name,mimeType)'. Top-level response fields (kind, nextPageToken, incompleteSearch) can be used directly.  **Note:** Bare field names like 'id,name,mimeType' will be automatically wrapped in 'files()' for convenience. The 'editors' field is not valid in Drive API v3; use 'permissions' instead for access control information. |
| `spaces` | string | No | A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'. |
| `corpora` | string ("user" | "drive" | "domain" | "allDrives") | No | Specifies which collections of files to search. Defaults to 'allDrives' (searches My Drive + all accessible shared drives).          **Values:**         - `user` - Search only user's personal My Drive         - `domain` - Search all files shared within Google Workspace domain         - `drive` - Search specific shared drive (requires 'driveId' parameter and 'includeItemsFromAllDrives' must be true)         - `allDrives` - Search My Drive + all accessible shared drives (DEFAULT, requires 'includeItemsFromAllDrives' to be true)          **When to Use:**         - Personal files only: Use 'user'         - Organization-wide: Use 'domain'         - Specific shared drive: Use 'drive' with 'driveId'         - Maximum coverage: Use 'allDrives' (auto-enables supportsAllDrives and includeItemsFromAllDrives)          |
| `driveId` | string | No | ID of the shared drive to search. When provided, 'corpora' will automatically be set to 'drive' (mutually exclusive with corpora='allDrives'). Required if 'corpora' is 'drive'. |
| `orderBy` | string | No | Comma-separated sort keys. Ascending by default; add 'desc' for descending. Cannot be used when query (q) contains fullText search terms.          **Valid Keys:**         - `createdTime`, `modifiedTime`, `modifiedByMeTime` - Dates         - `viewedByMeTime`, `sharedWithMeTime` - Activity dates         - `name`, `name_natural` - File name (natural: file1, file2, file10)         - `folder` - Folder hierarchy         - `quotaBytesUsed` - Storage size (NOTE: 'size' is NOT valid, use 'quotaBytesUsed')         - `starred` - Starred status         - `recency` - Recent activity (combines view time and modification time for relevance-based sorting)          **Important:** 'size' is NOT a valid sort key. Use 'quotaBytesUsed' to sort by file size.          **Restriction:** Sorting is not supported when the query contains fullText searches (e.g., "fullText contains 'keyword'"). Omit orderBy when using fullText queries.          |
| `pageSize` | integer | No | The maximum number of files to return per page. |
| `folder_id` | string | No | ID of a specific folder to search within. This automatically adds "'folder_id' in parents" to the query. Can be combined with the 'q' parameter to further filter results within the folder. Use 'root' to search within the user's root folder (My Drive). Note: 'My Drive' is not a searchable folder name - use 'root' alias instead. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. IMPORTANT: This must be the exact opaque string from a previous response's 'nextPageToken' field - do not modify, truncate, URL-encode, or construct tokens manually. Invalid or corrupted tokens will result in API errors. |
| `include_labels` | string | No | A comma-separated list of label IDs to include in the `labelInfo` part of the response for each file. Empty strings are automatically treated as omitted. |
| `pagetoken_dropped` | boolean | No |  |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. If 'includeItemsFromAllDrives' is true, this must also be true. |
| `original_email_query` | string | No |  |
| `editors_field_removed` | boolean | No |  |
| `email_query_transformed` | boolean | No |  |
| `orderby_size_transformed` | boolean | No |  |
| `original_bare_text_query` | string | No |  |
| `includeItemsFromAllDrives` | boolean | No | Whether both My Drive and shared drive items should be included in results. Must be true when corpora is 'drive' or 'allDrives'. If true, 'supportsAllDrives' should also be true. |
| `emailaddress_field_removed` | boolean | No |  |
| `original_invalid_pagetoken` | string | No |  |
| `bare_text_query_transformed` | boolean | No |  |
| `include_permissions_for_view` | string | No | Specifies which additional view's permissions to include in the response. Must be either omitted entirely or set to 'published'. Empty strings are automatically treated as omitted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find folder

**Slug:** `GOOGLEDRIVE_FIND_FOLDER`

Tool to find a folder in Google Drive by its name and optionally a parent folder. Use when you need to locate a specific folder to perform further actions like creating files in it or listing its contents.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `starred` | boolean | No | Set to true to search for folders that are starred, or false for those that are not. |
| `name_exact` | string | No | The exact name of the folder to search for as a string. This search is case-sensitive. Do not pass numbers - convert to string if needed. |
| `name_contains` | string | No | A substring to search for within folder names as a string. This search is case-insensitive. |
| `modified_after` | string | No | Search for folders modified after a specific date and time. The timestamp must be in RFC 3339 format (e.g., '2023-01-15T10:00:00Z' or '2023-01-15T10:00:00.000Z'). |
| `parent_folder_id` | string | No | The ID of the parent folder to search within. Only folders directly inside this parent folder will be returned. You can find parent folder IDs by first searching for the parent folder by name. Supports folders in both My Drive and Shared Drives. |
| `name_not_contains` | string | No | A substring to exclude from folder names as a string. Folders with names containing this substring will not be returned. This search is case-insensitive. |
| `full_text_contains` | string | No | A string to search for within the folder's name or description (NOT the content of files inside the folder). This search is case-insensitive. Note: Google Drive's fullText search on folders only matches the folder's own metadata, not files contained within. |
| `full_text_not_contains` | string | No | A string to exclude from the folder's name or description (NOT the content of files inside the folder). This search is case-insensitive. Note: Google Drive's fullText search on folders only matches the folder's own metadata, not files contained within. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Generate File IDs

**Slug:** `GOOGLEDRIVE_GENERATE_IDS`

Generates a set of file IDs which can be provided in create or copy requests. Use when you need to pre-allocate IDs for new files or copies.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `type` | string | No | The type of items for which the IDs can be used. For example, 'files' or 'shortcuts'. |
| `count` | integer | No | The number of IDs to return. Value must be between 1 and 1000, inclusive. |
| `space` | string | No | The space in which the IDs can be used. Supported values are 'drive' and 'appDataFolder'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get about

**Slug:** `GOOGLEDRIVE_GET_ABOUT`

Tool to retrieve information about the user, the user's Drive, and system capabilities. Use when you need to check storage quotas, user details, or supported import/export formats.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | A comma-separated list of fields to include in the response. Use `*` to include all fields. Supported fields in Drive API v3: kind, user, storageQuota, importFormats, exportFormats, maxImportSizes, maxUploadSize, appInstalled, canCreateDrives, canCreateTeamDrives (deprecated), driveThemes, teamDriveThemes (deprecated), folderColorPalette. Note: rootFolderId was removed in v3 and is not supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get About (v2 API)

**Slug:** `GOOGLEDRIVE_GET_ABOUT_V2`

Tool to retrieve information about the current user and Drive API settings using the v2 API. Use when you need legacy v2 API compatibility or specific v2-only fields like rootFolderId and largestChangeId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. Use this to request only specific fields from the About resource. Example: 'user/displayName,quotaBytesTotal,quotaBytesUsed'. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `callback` | string | No | JSONP callback parameter. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `startChangeId` | string | No | Change ID to start counting from when calculating number of remaining change IDs. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `maxChangeIdCount` | string | No | Maximum number of remaining change IDs to count. |
| `includeSubscribed` | boolean | No | Whether to count changes outside the My Drive hierarchy. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the maxChangeIdCount. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get App

**Slug:** `GOOGLEDRIVE_GET_APP`

Tool to get information about a specific Drive app by ID. Use 'self' as the app ID to get information about the calling app.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `appId` | string | Yes | The ID of the app. Use 'self' to refer to the calling app. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Changes Start Page Token

**Slug:** `GOOGLEDRIVE_GET_CHANGES_START_PAGE_TOKEN`

Tool to get the starting pageToken for listing future changes in Google Drive. Use this when you need to track changes to files and folders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `driveId` | string | No | The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned. |
| `teamDriveId` | string | No | Deprecated: Use driveId instead. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to false. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Changes Start Page Token (v2)

**Slug:** `GOOGLEDRIVE_GET_CHANGES_START_PAGE_TOKEN_V2`

Tool to get the starting pageToken for listing future changes (v2 API). Use when tracking changes to files and folders in Google Drive using the v2 API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `driveId` | string | No | The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned. |
| `teamDriveId` | string | No | Deprecated: Use driveId instead. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Change (v2 - Deprecated)

**Slug:** `GOOGLEDRIVE_GET_CHANGE_V2`

Tool to get a specific change by ID from Google Drive v2 API. Deprecated: Use changes.getStartPageToken and changes.list to retrieve recent changes instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format. |
| `driveId` | string | No | The shared drive from which the change will be returned. |
| `callback` | string | No | JSONP |
| `changeId` | string | Yes | The ID of the change. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `teamDriveId` | string | No | Deprecated: Use `driveId` instead. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use `supportsAllDrives` instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Child Reference (v2)

**Slug:** `GOOGLEDRIVE_GET_CHILD_V2`

Tool to get a specific child reference for a folder using Drive API v2. Use when you need to verify a specific file exists as a child of a folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `childId` | string | Yes | The ID of the child. |
| `callback` | string | No | JSONP callback parameter. |
| `folderId` | string | Yes | The ID of the folder. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Comment

**Slug:** `GOOGLEDRIVE_GET_COMMENT`

Tool to get a comment by ID. Use when you need to retrieve a specific comment from a Google Drive file and have both the file ID and comment ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `commentId` | string | Yes | The ID of the comment. |
| `includeDeleted` | boolean | No | Whether to return deleted comments. Deleted comments will not include their original content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Shared Drive

**Slug:** `GOOGLEDRIVE_GET_DRIVE`

Tool to get a shared drive by ID. Use when you need to retrieve information about a specific shared drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The ID of the shared drive. |
| `use_domain_admin_access` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get File Metadata

**Slug:** `GOOGLEDRIVE_GET_FILE_METADATA`

Tool to get a file's metadata by ID. Use when you need to retrieve the metadata for a specific file in Google Drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Comma-separated list of fields to include in the response. Use this for partial responses to request only specific metadata fields. Common fields: id, name, mimeType, webViewLink, webContentLink, createdTime, modifiedTime, size, quotaBytesUsed, parents, owners, permissions. Use '*' to return all available fields. Note: The deprecated v2 field 'alternateLink' is automatically migrated to 'webViewLink'. Example: 'id,name,mimeType,webViewLink,createdTime,modifiedTime'. |
| `fileId` | string | Yes | The Google Drive file ID (an opaque alphanumeric string like '1a2b3c4d5e6f7g8h9i0j'), NOT a file name. If you only have a file name, use GOOGLEDRIVE_FIND_FILE or GOOGLEDRIVE_LIST_FILES to get the file ID first. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to true to ensure files in shared drives are accessible. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get File (v2 API)

**Slug:** `GOOGLEDRIVE_GET_FILE_V2`

Tool to get a file's metadata or content by ID from Google Drive API v2. Use when you need file metadata with alt=json, or file content with alt=media.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `xgafv` | string ("1" | "2") | No | V1 error format values. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID for the file in question. This is a required parameter and cannot be empty. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `projection` | string ("BASIC" | "FULL") | No | Projection parameter values (deprecated). |
| `revisionId` | string | No | Specifies the Revision ID that should be downloaded. Ignored unless alt=media is specified. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `acknowledgeAbuse` | boolean | No | Whether the user is acknowledging the risk of downloading known malware or other abusive files. |
| `updateViewedDate` | boolean | No | Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Parent Reference (v2)

**Slug:** `GOOGLEDRIVE_GET_PARENT_V2`

Tool to get a specific parent reference for a file using Drive API v2. Use when you need to retrieve information about a specific parent folder of a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `callback` | string | No | JSONP callback parameter. |
| `parentId` | string | Yes | The ID of the parent. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Permission

**Slug:** `GOOGLEDRIVE_GET_PERMISSION`

Gets a permission by ID. Use this tool to retrieve a specific permission for a file or shared drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Selector specifying which fields to include in a partial response. Use 'fields=*' to return all available fields for the permission resource. |
| `file_id` | string | Yes | The ID of the file. |
| `permission_id` | string | Yes | The numeric ID of the permission. Note: The 'me' alias is NOT supported by the Google Drive permissions API. You must provide an actual numeric permission ID (e.g., '12345678901234567890'). Use the LIST_PERMISSIONS action to get permission IDs for a file. |
| `supports_all_drives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `use_domain_admin_access` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Permission ID for Email

**Slug:** `GOOGLEDRIVE_GET_PERMISSION_ID_FOR_EMAIL`

Tool to get the permission ID for an email address using the Drive API v2. Use when you need to convert an email address to its corresponding permission ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `email` | string | Yes | The email address for which to return a permission ID |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `callback` | string | No | JSONP callback parameter. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Permission (v2 API)

**Slug:** `GOOGLEDRIVE_GET_PERMISSION_V2`

Tool to retrieve a permission by ID using the Drive API v2. Use when you need to get details about a specific permission on a file or shared drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID for the file or shared drive. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `callback` | string | No | JSONP callback parameter. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `permissionId` | string | Yes | The ID for the permission. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Property (v2)

**Slug:** `GOOGLEDRIVE_GET_PROPERTY_V2`

Tool to get a property by its key using Google Drive API v2. Use when you need to retrieve a specific custom property attached to a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `visibility` | string | No | The visibility of the property. Allowed values are PRIVATE (default) and PUBLIC. Private properties can only be retrieved using an authenticated request. |
| `propertyKey` | string | Yes | The key of the property. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Reply

**Slug:** `GOOGLEDRIVE_GET_REPLY`

Tool to get a specific reply to a comment on a file. Use when you need to retrieve the details of a particular reply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `replyId` | string | Yes | The ID of the reply. |
| `commentId` | string | Yes | The ID of the comment. |
| `includeDeleted` | boolean | No | Whether to return deleted replies. Deleted replies will not include their original content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Revision

**Slug:** `GOOGLEDRIVE_GET_REVISION`

Tool to get a specific revision's metadata by revision ID. Use when you need to retrieve information about a particular version of a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file. |
| `revision_id` | string | Yes | The ID of the revision. |
| `acknowledge_abuse` | boolean | No | Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when the alt parameter is set to media and the user is the owner of the file or an organizer of the shared drive in which the file resides. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Revision (v2)

**Slug:** `GOOGLEDRIVE_GET_REVISION_V2`

Tool to get a specific revision using Drive v2 API. Use when you need to retrieve detailed information about a particular file revision.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `revisionId` | string | Yes | The ID of the revision. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team Drive (Deprecated)

**Slug:** `GOOGLEDRIVE_GET_TEAM_DRIVE`

Tool to get metadata about a Team Drive by ID. Deprecated: Use the drives.get endpoint instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `teamDriveId` | string | Yes | The ID of the Team Drive |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Team Drive V2 (Deprecated)

**Slug:** `GOOGLEDRIVE_GET_TEAM_DRIVE_V2`

Tool to get a Team Drive using the deprecated v2 API endpoint. Deprecated: Use drives.get instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `xgafv` | string ("1" | "2") | No | V1 error format values. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `callback` | string | No | JSONP |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `teamDriveId` | string | Yes | The ID of the Team Drive |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete folder or file

**Slug:** `GOOGLEDRIVE_GOOGLE_DRIVE_DELETE_FOLDER_OR_FILE_ACTION`

Tool to delete a file or folder in Google Drive. Use when you need to permanently remove a specific file or folder using its ID. Note: This action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file or folder to delete. This is a required field. |
| `supportsAllDrives` | boolean | No | Whether the application supports both My Drives and shared drives. If false or unspecified, the file is attempted to be deleted from the user's My Drive. If true, the item will be deleted from shared drives as well if necessary. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Hide Shared Drive

**Slug:** `GOOGLEDRIVE_HIDE_DRIVE`

Tool to hide a shared drive from the default view. Use when you want to remove a shared drive from the user's main Google Drive interface without deleting it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | Yes | The ID of the shared drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert Child Into Folder (v2)

**Slug:** `GOOGLEDRIVE_INSERT_CHILD_V2`

Tool to insert a file into a folder using Drive API v2. Use when you need to add an existing file to a folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the child file to insert into the folder. |
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `callback` | string | No | JSONP callback parameter. |
| `folderId` | string | Yes | The ID of the folder. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `enforceSingleParent` | boolean | No | Deprecated: Adding files to multiple folders is no longer supported. Use shortcuts instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert Comment (v2)

**Slug:** `GOOGLEDRIVE_INSERT_COMMENT`

Tool to create a new comment on a Google Drive file using the v2 API. Use when you need to add feedback or notes to a specific file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `anchor` | string | No | A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies documentation. |
| `fileId` | string | Yes | The ID of the file. |
| `content` | string | Yes | The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content. |
| `context_type` | string | No | The MIME type of the context snippet. |
| `context_value` | string | No | Data representation of the segment of the file being commented on. In the case of a text file for example, this would be the actual text that the comment is about. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert File (v2)

**Slug:** `GOOGLEDRIVE_INSERT_FILE`

Tool to insert a new file with metadata in Google Drive using the v2 API. Use to create empty files or folders by specifying metadata like title, mimeType, and parent folders.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ocr` | boolean | No | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. |
| `title` | string | No | The title (name) of the file. If not specified, Google Drive will create the file with title 'Untitled'. |
| `pinned` | boolean | No | Whether to pin the head revision of the uploaded file. A file can have a maximum of 200 pinned revisions. |
| `convert` | boolean | No | Whether to convert this file to the corresponding Docs Editors format (e.g., convert .docx to Google Docs format). |
| `parents` | array | No | Collection of parent folders which contain this file. If not specified, the file will be placed directly in the user's My Drive folder. Provide as a list of objects with 'id' property. |
| `mimeType` | string | No | The MIME type of the file. Use 'application/vnd.google-apps.folder' for folders, 'application/vnd.google-apps.document' for Google Docs, etc. If not specified, Google Drive will infer from the file extension or use 'application/octet-stream'. |
| `visibility` | string ("DEFAULT" | "PRIVATE") | No | Visibility options for the file. |
| `description` | string | No | A short description of the file. |
| `ocrLanguage` | string | No | If ocr is true, hints at the language to use. Valid values are BCP 47 codes (e.g., 'en', 'es', 'fr'). |
| `useContentAsIndexableText` | boolean | No | Whether to use the content as indexable text for search. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert File Parent (v2)

**Slug:** `GOOGLEDRIVE_INSERT_PARENT_V2`

Tool to add a parent folder for a file using Google Drive API v2. Use when you need to add a file to an additional folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the parent folder to add. This is the folder that will become a parent of the file. |
| `fileId` | string | Yes | The ID of the file to add a parent folder to. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Default is false. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `enforceSingleParent` | boolean | No | Deprecated: Adding files to multiple folders is no longer supported. Use shortcuts instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert Permission (v2)

**Slug:** `GOOGLEDRIVE_INSERT_PERMISSION`

Tool to insert a permission for a file or shared drive using Drive API v2. Use when you need to grant access to a file or folder. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | The ID of the user this permission refers to. When making a drive.permissions.insert request, exactly one of the 'id' or 'value' fields must be specified unless the permission type is 'anyone', in which case both 'id' and 'value' are ignored. |
| `role` | string ("owner" | "organizer" | "fileOrganizer" | "writer" | "reader") | Yes | The primary role for this user. While new values may be supported in the future, the following are currently allowed: owner, organizer, fileOrganizer, writer, reader. |
| `type` | string ("user" | "group" | "domain" | "anyone") | Yes | The account type. When creating a permission, if type is 'user' or 'group', you must provide 'value' (email). When type is 'domain', you must provide 'value' (domain name). For 'anyone' type, both 'id' and 'value' are ignored. |
| `value` | string | No | The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a drive.permissions.insert request, exactly one of the 'id' or 'value' fields must be specified unless the permission type is 'anyone', in which case both 'id' and 'value' are ignored. |
| `fileId` | string | Yes | The ID for the file or shared drive. |
| `withLink` | boolean | No | Whether the link is required for this permission. |
| `emailMessage` | string | No | A plain text custom message to include in notification emails. |
| `additionalRoles` | array | No | Additional roles for this user. Only 'commenter' is currently allowed, though more may be supported in the future. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `moveToNewOwnersRoot` | boolean | No | This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to true, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to false, parents are not changed. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |
| `sendNotificationEmails` | boolean | No | Whether to send notification emails when sharing to users or groups. This parameter is ignored and an email is sent if the 'role' is 'owner'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert Property (v2 API)

**Slug:** `GOOGLEDRIVE_INSERT_PROPERTY_V2`

Tool to add a property to a file, or update it if it already exists (v2 API). Use when you need to attach custom key-value metadata to a Google Drive file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `visibility` | string ("PRIVATE" | "PUBLIC") | No | Property visibility values. |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `property_key` | string | Yes | The key of this property. |
| `property_value` | string | Yes | The value of this property. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Insert Team Drive (v2 API - Deprecated)

**Slug:** `GOOGLEDRIVE_INSERT_TEAM_DRIVE`

Tool to create a Team Drive using the v2 API. Deprecated: Use drives.insert instead. Use when you need to create a Team Drive with legacy v2 API compatibility.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `name` | string | Yes | The name of this Team Drive. This is a required field. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format options. |
| `themeId` | string | No | The ID of the theme from which the background image and color will be set. The set of possible teamDriveThemes can be retrieved from a drive.about.get response. When not specified on a drive.teamdrives.insert request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set colorRgb or backgroundImageFile. |
| `callback` | string | No | JSONP |
| `colorRgb` | string | No | The color of this Team Drive as an RGB hex string. It can only be set on a drive.teamdrives.update request that does not set themeId. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `requestId` | string | No | Optional. An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a Team Drive. If not provided, a UUID will be auto-generated. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same Team Drive. If the Team Drive already exists a 409 error will be returned. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `backgroundImageFile` | object | No | Background image file and cropping parameters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Access Proposals

**Slug:** `GOOGLEDRIVE_LIST_ACCESS_PROPOSALS`

Tool to list pending access proposals on a file. Use when you need to retrieve access proposals for a specific file. Note: Only approvers can list access proposals; non-approvers will receive a 403 error.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file to list access proposals for |
| `pageSize` | integer | No | The number of results per page |
| `pageToken` | string | No | The continuation token on the list of access requests |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Approvals

**Slug:** `GOOGLEDRIVE_LIST_APPROVALS`

Tool to list approvals on a file for workflow-based access control. Use when you need to retrieve all approvals associated with a specific file in Google Drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file to list approvals for |
| `pageSize` | integer | No | The maximum number of approvals to return per page |
| `pageToken` | string | No | A pagination token returned as 'nextPageToken' from a previous list approvals response. Must be an exact, unmodified token from a prior API call - do not construct, encode, or guess token values. Only provide this parameter when paginating through results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Changes

**Slug:** `GOOGLEDRIVE_LIST_CHANGES`

Tool to list the changes for a user or shared drive. Use when you need to track modifications to files and folders, such as creations, deletions, or permission changes. The pageToken is optional - if not provided, the current start page token will be automatically fetched to begin monitoring changes from now. Example usage (continuing with pageToken): ```json { "pageToken": "22633", "pageSize": 100, "includeRemoved": true } ``` Returns changes with timestamps, file IDs, and modification details. Save the `nextPageToken` from the response to continue paginating through changes, or save the `newStartPageToken` to monitor future changes efficiently.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `spaces` | string | No | A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'. |
| `driveId` | string | No | The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. When driveId is provided, supportsAllDrives is automatically set to true. |
| `pageSize` | integer | No | The maximum number of changes to return per page. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. Must be a valid token from a previous LIST_CHANGES response's 'nextPageToken' field or from the get_changes_start_page_token action. If not provided, the current start page token will be automatically fetched and used. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
| `includeRemoved` | boolean | No | Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. |
| `restrictToMyDrive` | boolean | No | Whether to restrict the results to changes inside the My Drive hierarchy. This omits changes to files such as those in the Application Data folder or shared files which have not been added to My Drive. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Must be true when driveId is specified (will be automatically set to true when driveId is provided). |
| `includeCorpusRemovals` | boolean | No | Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. Note: When set to true, includeRemoved must also be true (will be automatically set). |
| `includeItemsFromAllDrives` | boolean | No | Whether both My Drive and shared drive items should be included in results. Must be true when driveId is specified (will be automatically set to true when driveId is provided). |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Changes (v2 API)

**Slug:** `GOOGLEDRIVE_LIST_CHANGES_V2`

Tool to list the changes for a user or shared drive using the Google Drive v2 API. Use when you need to track modifications to files and folders using the older v2 API format, which includes additional metadata like largestChangeId not available in v3.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response enum. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `xgafv` | string ("1" | "2") | No | V1 error format enum. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `spaces` | string | No | A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'. |
| `driveId` | string | No | The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. |
| `callback` | string | No | JSONP callback parameter. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response or to the response from the getStartPageToken method. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `maxResults` | integer | No | Maximum number of changes to return. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `teamDriveId` | string | No | Deprecated: Use `driveId` instead. |
| `access_token` | string | No | OAuth access token. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
| `startChangeId` | string | No | Deprecated: Use `pageToken` instead. |
| `includeDeleted` | boolean | No | Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `includeSubscribed` | boolean | No | Whether to include changes outside the My Drive hierarchy in the result. When set to false, changes to files such as those in the Application Data folder or shared files which have not been added to My Drive will be omitted from the result. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use `supportsAllDrives` instead. |
| `includeCorpusRemovals` | boolean | No | Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. |
| `includeTeamDriveItems` | boolean | No | Deprecated: Use `includeItemsFromAllDrives` instead. |
| `includeItemsFromAllDrives` | boolean | No | Whether both My Drive and shared drive items should be included in results. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Folder Children (v2)

**Slug:** `GOOGLEDRIVE_LIST_CHILDREN_V2`

Tool to list a folder's children using Google Drive API v2. Use when you need to retrieve all files and folders within a specific folder.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query string for searching children. |
| `alt` | string ("json" | "media" | "proto") | No | Data format for response enum. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format enum. |
| `orderBy` | string | No | A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. |
| `callback` | string | No | JSONP callback parameter. |
| `folderId` | string | Yes | The ID of the folder. |
| `pageToken` | string | No | Page token for children. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `maxResults` | integer | No | Maximum number of children to return. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Comments

**Slug:** `GOOGLEDRIVE_LIST_COMMENTS`

Tool to list all comments for a file in Google Drive. Use when you need to retrieve comments associated with a specific file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | A comma-separated list of fields to include in the response. Use `*` to include all fields. |
| `fileId` | string | Yes | The ID of the file. |
| `pageSize` | integer | No | The maximum number of comments to return per page. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. |
| `includeDeleted` | boolean | No | Whether to include deleted comments. Deleted comments will not include their original content. |
| `startModifiedTime` | string | No | The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Comments (v2)

**Slug:** `GOOGLEDRIVE_LIST_DRIVE_COMMENTS`

Tool to list a file's comments using Drive API v2. Use when you need to retrieve all comments on a Google Drive file with v2 API compatibility.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `pageToken` | string | No | The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of 'nextPageToken' from the previous response. |
| `maxResults` | integer | No | The maximum number of discussions to include in the response, used for paging. |
| `updatedMin` | string | No | Only discussions that were updated after this timestamp will be returned. Formatted as an RFC 3339 timestamp. |
| `includeDeleted` | boolean | No | If set, all comments and replies, including deleted comments and replies (with content stripped) will be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Drive Replies

**Slug:** `GOOGLEDRIVE_LIST_DRIVE_REPLIES`

Tool to list all replies to a comment using Google Drive API v2. Use when you need to retrieve all replies for a specific comment on a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `commentId` | string | Yes | The ID of the comment. |
| `pageToken` | string | No | The continuation token, used to page through large result sets. To get the next page of results, set this parameter to the value of "nextPageToken" from the previous response. |
| `maxResults` | integer | No | The maximum number of replies to include in the response, used for paging. |
| `includeDeleted` | boolean | No | If set, all replies, including deleted replies (with content stripped) will be returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Shared Drives (v2)

**Slug:** `GOOGLEDRIVE_LIST_DRIVES_V2`

Tool to list the user's shared drives using the Drive API v2 endpoint. Use when you need to retrieve shared drives with v2-specific fields or parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query string for searching shared drives. |
| `pageToken` | string | No | Page token for shared drives. |
| `maxResults` | integer | No | Maximum number of shared drives to return per page. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then all shared drives of the domain in which the requester is an administrator are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List File Labels

**Slug:** `GOOGLEDRIVE_LIST_FILE_LABELS`

Tool to list the labels on a file. Use when you need to retrieve all labels associated with a specific file in Google Drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file. |
| `page_token` | string | No | Token to retrieve a specific page of results. |
| `max_results` | integer | No | The maximum number of labels to return per page. Default is 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List File Labels (v2)

**Slug:** `GOOGLEDRIVE_LIST_FILE_LABELS_V2`

Tool to list the labels on a file using the v2 API. Use when you need to retrieve all labels associated with a specific file in Google Drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response. |
| `maxResults` | integer | No | The maximum number of labels to return per page. When not set, defaults to 100. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Files and Folders

**Slug:** `GOOGLEDRIVE_LIST_FILES`

Tool to list a user's files and folders in Google Drive. Use this to search or browse for files and folders based on various criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | A query string for filtering the file results. Supports operators 'and', 'or', 'not'. VALID query terms: 'name' (contains, =, !=), 'fullText' (contains), 'mimeType' (contains, =, !=), 'modifiedTime' (<=, <, =, !=, >, >=), 'viewedByMeTime' (<=, <, =, !=, >, >=), 'trashed' (=, !=), 'starred' (=, !=), 'parents' (in), 'owners' (in), 'writers' (in), 'readers' (in), 'sharedWithMe' (=, !=), 'createdTime' (<=, <, =, !=, >, >=), 'properties' (has), 'appProperties' (has), 'visibility' (=, !=), 'shortcutDetails.targetId' (=, !=). IMPORTANT: 'id' is NOT a valid query term - you cannot search by file ID using this parameter. To get a specific file by ID, use the 'Get File Metadata' action instead. LENGTH LIMITS: Very long queries (especially with many parent folder IDs or fullText clauses) may exceed Google's URL size limits and result in errors. If searching across many folders (e.g., 100+ parent IDs), consider splitting into multiple smaller queries. Example: "name contains 'important' and mimeType = 'application/vnd.google-apps.folder'". |
| `fields` | string | No | Selector specifying which file fields to include in the response. Provide a comma-separated list of file field names (e.g., 'id,name,mimeType,webViewLink'). The action will automatically format this into the proper API format 'files(field1,field2,...)'. Common file fields include: id, name, description, mimeType, webViewLink, webContentLink, size, createdTime, modifiedTime, parents, owners, permissions. To also include the pagination token, add 'nextPageToken' to the list. NOTE: Google Drive API v2 field names are automatically converted to v3 equivalents (e.g., alternateLink→webViewLink, downloadUrl→webContentLink, title→name, createdDate→createdTime, modifiedDate→modifiedTime). |
| `spaces` | string | No | A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'. 'drive' represents files in My Drive and shared drives, while 'appDataFolder' represents the application's private data folder. |
| `corpora` | string | No | Specifies the bodies of items (files/documents) to which the query applies. Supported values are 'user', 'domain', 'drive', and 'allDrives'. It's generally more efficient to use 'user' or 'drive' instead of 'allDrives'. Defaults to 'user'. |
| `driveId` | string | No | The ID of the shared drive to search. This is used when `corpora` is set to 'drive'. |
| `orderBy` | string | No | A comma-separated list of sort keys. Valid keys are: 'createdTime', 'folder', 'modifiedByMeTime', 'modifiedTime', 'name', 'name_natural', 'quotaBytesUsed', 'recency', 'sharedWithMeTime', 'starred', 'viewedByMeTime'. IMPORTANT: Use 'quotaBytesUsed' to sort by file size (do NOT use 'size' - it is not a valid key). Each key sorts in ascending order by default, but can be reversed with the 'desc' modifier (e.g., 'modifiedTime desc'). |
| `folderId` | string | No | ID of a specific folder to list files from. This is a convenience parameter that automatically adds "'folder_id' in parents" to the query. Cannot be used together with a custom 'q' parameter. |
| `pageSize` | integer | No | The maximum number of files to return per page. The value must be between 1 and 1000, inclusive. Defaults to 100. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This MUST be set to the value of 'nextPageToken' from the previous response. Do not manually construct or modify pageToken values as they are opaque tokens generated by the API. If the token is rejected, pagination should be restarted from the first page. |
| `includeLabels` | string | No | A comma-separated list of label IDs to include in the `labelInfo` part of the response for each file. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to false. If true, then `includeItemsFromAllDrives` can be used to extend the search to all drives. |
| `includeItemsFromAllDrives` | boolean | No | Whether to include items from both My Drive and shared drives. This is relevant when `corpora` is 'user' or 'domain'. Defaults to false. |
| `includePermissionsForView` | string | No | Include additional permissions for a specific view. The only valid value is 'published', which includes permissions for files with published content. Omit this parameter if you don't need published view permissions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List File Parents (v2)

**Slug:** `GOOGLEDRIVE_LIST_PARENTS_V2`

Tool to list a file's parents using Google Drive API v2. Use when you need to retrieve all parent folders for a specific file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Permissions

**Slug:** `GOOGLEDRIVE_LIST_PERMISSIONS`

Tool to list a file's permissions. Use when you need to retrieve all permissions associated with a specific file or shared drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file or shared drive. Must be a non-empty string. |
| `pageSize` | integer | No | The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a shared drive, the entire list will be returned. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Default: false |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then theRequester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Permissions (v2 API)

**Slug:** `GOOGLEDRIVE_LIST_PERMISSIONS_V2`

Tool to list a file's or shared drive's permissions using the Google Drive v2 API. Use when you need to retrieve all permissions with v2 API format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response enum. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID for the file or shared drive. Must be a non-empty string. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format enum. |
| `callback` | string | No | JSONP callback parameter. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `maxResults` | integer | No | The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a shared drive, the entire list will be returned. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use 'supportsAllDrives' instead. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Properties (v2 API)

**Slug:** `GOOGLEDRIVE_LIST_PROPERTIES_V2`

Tool to list a file's properties in Google Drive API v2. Use when you need to retrieve custom properties (key-value pairs) attached to a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. This is a required parameter and cannot be empty. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Replies to Comment

**Slug:** `GOOGLEDRIVE_LIST_REPLIES_TO_COMMENT`

Tool to list replies to a comment in Google Drive. Use this when you need to retrieve all replies associated with a specific comment on a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Selector specifying which fields to include in a partial response. Use '*' for all fields or e.g. 'replies(id,content),nextPageToken' |
| `file_id` | string | Yes | The ID of the file. |
| `page_size` | integer | No | The maximum number of replies to return per page. |
| `comment_id` | string | Yes | The ID of the comment. |
| `page_token` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. |
| `include_deleted` | boolean | No | Whether to include deleted replies. Deleted replies will not include their original content. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List File Revisions

**Slug:** `GOOGLEDRIVE_LIST_REVISIONS`

Tool to list a file's revisions. Use when you need to retrieve the revision history of a specific file in Google Drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file. |
| `pageSize` | integer | No | The maximum number of revisions to return per page. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List File Revisions (v2 API)

**Slug:** `GOOGLEDRIVE_LIST_REVISIONS_V2`

Tool to list a file's revisions using Google Drive API v2. Use when you need to retrieve the revision history of a specific file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `pageToken` | string | No | Page token for revisions. To get the next page of results, set this parameter to the value of 'nextPageToken' from the previous response. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `maxResults` | integer | No | Maximum number of revisions to return. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Shared Drives

**Slug:** `GOOGLEDRIVE_LIST_SHARED_DRIVES`

Tool to list the user's shared drives. Use when you need to get a list of all shared drives accessible to the authenticated user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query string for searching shared drives using Google Drive query syntax (e.g., "name contains 'ProjectX'" or "createdTime > '2023-01-01T00:00:00'"). Query format: query_term operator values. Common query terms: name, createdTime, memberCount, organizerCount, hidden. Common operators: contains, =, >, <, >=, !=. String values must be enclosed in single quotes. Special characters (apostrophes, backslashes) must be escaped. Multiple terms can be combined with 'and'/'or' operators and parentheses for grouping. |
| `pageSize` | integer | No | Maximum number of shared drives to return per page. |
| `pageToken` | string | No | Page token for shared drives. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator. If set to true, then all shared drives of the domain in which the requester is an administrator are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Team Drives (Deprecated)

**Slug:** `GOOGLEDRIVE_LIST_TEAM_DRIVES`

Tool to list Team Drives (deprecated, use List Shared Drives instead). Use when you need to retrieve Team Drives using the legacy endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query string for searching Team Drives. |
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. |
| `xgafv` | string ("1" | "2") | No | V1 error format values. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `callback` | string | No | JSONP callback. |
| `pageSize` | integer | No | Maximum number of Team Drives to return per page. |
| `pageToken` | string | No | Page token for Team Drives. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then all Team Drives of the domain in which the requester is an administrator are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Team Drives v2 (Deprecated)

**Slug:** `GOOGLEDRIVE_LIST_TEAM_DRIVES_V2`

Tool to list Team Drives using the deprecated Drive API v2 endpoint. Deprecated: Use drives.list instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Query string for searching Team Drives. |
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback. |
| `pageToken` | string | No | Page token for Team Drives. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `maxResults` | integer | No | Maximum number of Team Drives to return. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then all Team Drives of the domain in which the requester is an administrator are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move File

**Slug:** `GOOGLEDRIVE_MOVE_FILE`

Tool to move a file from one folder to another in Google Drive. Use when you need to reorganize files by changing their parent folder(s).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file to move. Must be a non-empty string. |
| `add_parents` | string | No | The ID of the single destination folder (e.g., '1FmTIJYwTENUDXOKyNJp7OmcRBvP_6DmT'). Must be a valid Google Drive folder ID consisting of alphanumeric characters, hyphens, and underscores. Folder names are not accepted. |
| `ocr_language` | string | No | A language hint for OCR processing during image import (ISO 639-1 code). |
| `include_labels` | string | No | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
| `remove_parents` | string | No | A comma-separated list of parent folder IDs to remove the file from. Use this to specify the source folder. |
| `supports_all_drives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Set to true if moving files to or from a shared drive. |
| `keep_revision_forever` | boolean | No | Whether to set the 'keepForever' field in the new head revision. This is only applicable to files with binary content in Google Drive. |
| `include_permissions_for_view` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |
| `use_content_as_indexable_text` | boolean | No | Whether to use the uploaded content as indexable text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Export or download a file

**Slug:** `GOOGLEDRIVE_PARSE_FILE`

DEPRECATED: Exports Google Workspace files (max 10MB) to a specified format using `mime_type`, or downloads other file types; use `GOOGLEDRIVE_DOWNLOAD_FILE` instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The unique ID of the file stored in Google Drive that you want to export or download. |
| `mime_type` | string ("application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.oasis.opendocument.text" | "application/rtf" | "application/pdf" | "text/plain" | "application/zip" | "application/epub+zip" | "text/markdown" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.oasis.opendocument.spreadsheet" | "text/csv" | "text/tab-separated-values" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.presentation" | "image/jpeg" | "image/png" | "image/svg+xml" | "application/vnd.google-apps.script+json" | "video/mp4") | No | Target MIME type for exporting Google Workspace files only. Supported exports by source type: Google Docs -> DOCX, ODT, RTF, PDF, TXT, ZIP (HTML), EPUB, MD; Google Sheets -> XLSX, ODS, PDF, ZIP (HTML), CSV, TSV; Google Slides -> PPTX, ODP, PDF, TXT, JPG, PNG, SVG; Google Drawings -> PDF, JPG, PNG, SVG; Apps Script -> JSON. If omitted, a default format is used: Docs->PDF, Sheets->XLSX, Slides->PDF, Drawings->PDF. For non-Workspace files (PDFs, images, text files, etc.), this parameter is ignored and the file is downloaded in its native format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch Comment

**Slug:** `GOOGLEDRIVE_PATCH_COMMENT`

Tool to update an existing comment using PATCH method (Drive API v2). Use when you need to partially update comment properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `xgafv` | string ("1" | "2") | No | V1 error format. |
| `anchor` | string | No | A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies documentation. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `content` | string | No | The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content. |
| `callback` | string | No | JSONP |
| `commentId` | string | Yes | The ID of the comment. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. "media", "multipart"). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. "raw", "multipart"). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch Permission

**Slug:** `GOOGLEDRIVE_PATCH_PERMISSION`

Tool to update a permission using patch semantics. Use when you need to modify specific fields of an existing permission without affecting other fields. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("owner" | "organizer" | "fileOrganizer" | "writer" | "reader") | No | Permission roles that can be granted in Google Drive. |
| `file_id` | string | Yes | The ID for the file or shared drive. |
| `with_link` | boolean | No | Whether the link is required for this permission. Set to true for 'anyone with the link' access (not publicly discoverable), or false for publicly discoverable access. |
| `permission_id` | string | Yes | The ID for the permission. Use 'anyone' for public link permissions, or specific permission IDs for user/group/domain permissions. You can get permission IDs by calling GOOGLEDRIVE_LIST_PERMISSIONS. |
| `expiration_date` | string | No | The time at which this permission will expire (RFC 3339 date-time). Can only be set on user and group permissions. The date must be in the future and cannot be more than a year in the future. |
| `additional_roles` | array | No | Additional roles for this user. Only 'commenter' is currently allowed. |
| `remove_expiration` | boolean | No | Whether to remove the expiration date. Set to true to make the permission permanent. |
| `transfer_ownership` | boolean | No | Whether changing a role to 'owner' downgrades the current owners to writers. Does nothing if the specified role is not 'owner'. Required as an acknowledgement when transferring ownership. |
| `supports_all_drives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `use_domain_admin_access` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch Property (v2 API)

**Slug:** `GOOGLEDRIVE_PATCH_PROPERTY_V2`

Tool to update a property on a file using PATCH semantics (v2 API). Use when you need to partially update custom key-value metadata attached to a Google Drive file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `value` | string | No | The value of this property. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `visibility` | string ("PRIVATE" | "PUBLIC") | No | Property visibility values. |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `propertyKey` | string | Yes | The key of the property to update. |
| `access_token` | string | No | OAuth access token. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch Reply (v2)

**Slug:** `GOOGLEDRIVE_PATCH_REPLY_V2`

Tool to update an existing reply to a comment using Google Drive API v2. Use when you need to modify the content or action of a reply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `verb` | string ("resolve" | "reopen") | No | The action this reply performed to the parent comment. Possible values are: 'resolve' - To resolve a comment, 'reopen' - To reopen (un-resolve) a comment. |
| `fileId` | string | Yes | The ID of the file. |
| `content` | string | No | The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen). |
| `replyId` | string | Yes | The ID of the reply. |
| `commentId` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Resumable Upload

**Slug:** `GOOGLEDRIVE_RESUMABLE_UPLOAD`

Tool to start and complete a Google Drive resumable upload session. Use when uploading large files that require resumable, chunked uploads.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | No | Optional file ID if updating an existing file instead of creating a new one. |
| `metadata` | object | No | JSON metadata for the Drive File resource (e.g., {'name': 'photo.jpg', 'parents': ['folderId']}). |
| `chunkSize` | integer | No | Chunk size in bytes; must be a multiple of 256 KB. |
| `queryParams` | object | No | Optional Drive query parameters. |
| `file_to_upload` | object | Yes | File to upload. Provide a FileUploadable object with 'name' (destination filename), 'mimetype' (content type), and 's3key' (internal storage key). The s3key must reference a file already in internal S3/R2 storage, typically from a previous action that returns a FileDownloadable (e.g., downloading a Gmail attachment or Google Drive file). The s3key format is: '{client_id}/{app}/{action}/response/{hash}'. Alternatively, you can pass 'file_path' with an S3 URL (e.g., 's3://bucket/path/to/file') and optionally 'file_name' for the destination filename. Local file paths and URLs are not accepted. |
| `folder_to_upload_to` | string | No | Optional folder ID where NEW files should be uploaded. Only used during file creation, not updates. Will be added to metadata.parents. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Stop Channel (v2)

**Slug:** `GOOGLEDRIVE_STOP_CHANNEL_V2`

Tool to stop watching resources through a channel using the v2 API. Use when you need to stop receiving notifications for a previously established watch channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | A UUID or similar unique string that identifies this channel. |
| `kind` | string | No | Identifies this as a notification channel used to watch for changes to a resource, which is api#channel. |
| `type` | string | No | The type of delivery mechanism used for this channel. Valid values are 'web_hook' or 'webhook'. |
| `token` | string | No | An arbitrary string delivered to the target address with each notification delivered over this channel. |
| `params` | object | No | Additional parameters controlling delivery channel behavior. |
| `address` | string | No | The address where notifications are delivered for this channel. |
| `payload` | boolean | No | A Boolean value to indicate whether payload is wanted. |
| `expiration` | string | No | Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. |
| `resourceId` | string | Yes | An opaque ID that identifies the resource being watched on this channel. Stable across different API versions. |
| `resourceUri` | string | No | A version-specific identifier for the watched resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Stop Watch Channel

**Slug:** `GOOGLEDRIVE_STOP_WATCH_CHANNEL`

Tool to stop watching resources through a specified channel. Use this when you want to stop receiving notifications for a previously established watch.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The ID of the channel to stop. |
| `kind` | string | No | Identifies this as a notification channel used to watch for changes to a resource. |
| `token` | string | No | An arbitrary string delivered to the target address with each notification delivered over this channel. |
| `params` | object | No | Additional parameters controlling delivery channel behavior. |
| `address` | string | No | The address where notifications are delivered for this channel. |
| `payload` | boolean | No | A Boolean value to indicate whether payload is wanted. |
| `expiration` | string | No | Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. |
| `resourceId` | string | Yes | The ID of the resource being watched. |
| `channelType` | string ("web_hook" | "webhook") | No | The type of delivery mechanism used for this channel. |
| `resourceUri` | string | No | A version-specific identifier for the watched resource. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Touch file (v2 API)

**Slug:** `GOOGLEDRIVE_TOUCH_FILE_V2`

Tool to set a file's updated time to the current server time using the v2 API. Use when you need to update file timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file to update. This action sets the file's updated time to the current server time. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Trash File

**Slug:** `GOOGLEDRIVE_TRASH_FILE`

Tool to move a file or folder to trash (soft delete). Use when you need to delete a file but want to allow recovery via UNTRASH_FILE. This action is distinct from permanent deletion and provides a safer cleanup workflow.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Comma-separated list of fields to include in the response. Use to limit the amount of data returned. If omitted, returns basic file metadata. |
| `file_id` | string | Yes | The ID of the file to trash. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to true. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Trash file (v2)

**Slug:** `GOOGLEDRIVE_TRASH_FILE_V2`

Tool to move a file to the trash using Google Drive v2 API. The currently authenticated user must own the file or be at least a fileOrganizer on the parent for shared drive files.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file to trash. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use `supportsAllDrives` instead. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only `published` is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unhide Shared Drive

**Slug:** `GOOGLEDRIVE_UNHIDE_DRIVE`

Tool to unhide a shared drive. Use when you need to restore a shared drive to the default view.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `driveId` | string | Yes | The ID of the shared drive. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Untrash File

**Slug:** `GOOGLEDRIVE_UNTRASH_FILE`

Tool to restore a file from the trash. Use when you need to recover a deleted file. This action updates the file's metadata to set the 'trashed' property to false.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file to untrash. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | array | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Comment

**Slug:** `GOOGLEDRIVE_UPDATE_COMMENT`

Tool to update an existing comment on a Google Drive file. Use when you need to change the content of a comment. NOTE: The 'resolved' field is read-only in the Google Drive API. To resolve or reopen a comment, use CREATE_REPLY with action='resolve' or action='reopen'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Selector specifying which fields to include in a partial response. The API documentation states this is required. If not specified by the user, this action defaults to '*' to retrieve all fields, ensuring the API requirement is met. Example: 'id,content,resolved'. |
| `content` | string | No | The plain text content of the comment. This field is used to update the comment's text. If not provided, the existing content will be retained unless 'resolved' is being updated. |
| `file_id` | string | Yes | The ID of the file. |
| `resolved` | boolean | No | NOTE: The 'resolved' field is READ-ONLY in the Google Drive API. To resolve or reopen a comment, use the CREATE_REPLY action with action='resolve' or action='reopen'. This parameter is kept for backwards compatibility but will be silently ignored by the API. |
| `comment_id` | string | Yes | The ID of the comment to update. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Comment (v2 API)

**Slug:** `GOOGLEDRIVE_UPDATE_COMMENT_V2`

Tool to update an existing comment on a Google Drive file using the v2 API. Use when you need to modify comment content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `anchor` | string | No | A region of the document represented as a JSON string. For details on defining anchor properties, refer to Add comments and replies documentation. |
| `content` | string | Yes | The plain text content used to create this comment. This is not HTML safe and should only be used as a starting point to make edits to a comment's content. |
| `file_id` | string | Yes | The ID of the file. |
| `comment_id` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Shared Drive

**Slug:** `GOOGLEDRIVE_UPDATE_DRIVE`

Tool to update the metadata for a shared drive. Use when you need to modify properties like the name, theme, background image, or restrictions of a shared drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the shared drive. |
| `hidden` | boolean | No | Whether the shared drive is hidden from the default view. |
| `driveId` | string | Yes | The ID of the shared drive to update. |
| `themeId` | string | No | The ID of a theme to apply to the shared drive. Cannot be set if colorRgb or backgroundImageFile are set. |
| `colorRgb` | string | No | The color of this shared drive as an RGB hex string (e.g., "#FF0000"). Cannot be set if themeId is set. |
| `restrictions` | object | No | A set of restrictions to apply to the shared drive. |
| `backgroundImageFile` | object | No | An image file and cropping parameters for the shared drive's background. Cannot be set if themeId is set. |
| `useDomainAdminAccess` | boolean | No | If set to true, the request is issued as a domain administrator. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Shared Drive (v2)

**Slug:** `GOOGLEDRIVE_UPDATE_DRIVE_V2`

Tool to update the metadata for a shared drive using Google Drive API v2. Use when you need to modify a shared drive's name, color, theme, background image, or restrictions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `name` | string | No | The name of this shared drive. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `hidden` | boolean | No | Whether the shared drive is hidden from default view. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format. |
| `driveId` | string | Yes | The ID of the shared drive to update. |
| `themeId` | string | No | The ID of the theme from which the background image and color will be set. The set of possible driveThemes can be retrieved from a drive.about.get response. This is a write-only field; it can only be set on requests that don't set colorRgb or backgroundImageFile. |
| `callback` | string | No | JSONP callback parameter. |
| `colorRgb` | string | No | The color of this shared drive as an RGB hex string. It can only be set on a drive.drives.update request that does not set themeId. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `restrictions` | object | No | A set of restrictions that apply to this shared drive or items inside this shared drive. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `backgroundImageFile` | object | No | An image file and cropping parameters for the shared drive's background. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update File Metadata (PATCH v2)

**Slug:** `GOOGLEDRIVE_UPDATE_FILE_METADATA_PATCH`

Tool to update file metadata using the Drive API v2 PATCH method. Use when you need to modify file properties like title, description, or labels using patch semantics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ocr` | boolean | No | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. |
| `title` | string | No | The title of the file. Used to change the name of the file. |
| `fileId` | string | Yes | The ID of the file to update. |
| `labels` | object | No | A group of labels for the file. For example: {'starred': true, 'trashed': false, 'restricted': false, 'viewed': true}. |
| `pinned` | boolean | No | Whether to pin the new revision. A file can have a maximum of 200 pinned revisions. |
| `mimeType` | string | No | The MIME type of the file. |
| `addParents` | string | No | Comma-separated list of parent IDs to add. |
| `properties` | array | No | The list of properties. |
| `description` | string | No | A short description of the file. |
| `newRevision` | boolean | No | Whether a blob upload should create a new revision. If not set, a new revision is created. |
| `ocrLanguage` | string | No | If ocr is true, hints at the language to use. Valid values are BCP 47 codes. |
| `modifiedDate` | string | No | Last time this file was modified by anyone (RFC 3339 date-time). Requires setModifiedDate=true. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `indexableText` | object | No | Indexable text attributes for the file (can be used to improve fulltext queries). |
| `removeParents` | string | No | Comma-separated list of parent IDs to remove. |
| `setModifiedDate` | boolean | No | Whether to set the modified date using the value supplied in the request body. |
| `writersCanShare` | boolean | No | Whether writers can share the document with other users. |
| `updateViewedDate` | boolean | No | Whether to update the view date after successfully updating the file. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to true. |
| `timedTextLanguage` | string | No | The language of the timed text. |
| `timedTextTrackName` | string | No | The timed text track name. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |
| `useContentAsIndexableText` | boolean | No | Whether to use the content as indexable text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update File (Metadata)

**Slug:** `GOOGLEDRIVE_UPDATE_FILE_PUT`

Updates file metadata. Uses PATCH semantics (partial update) as per Google Drive API v3. Use this tool to modify attributes of an existing file like its name, description, or parent folders. Note: This action currently supports metadata updates only. File content updates require multipart/related upload and are not yet implemented.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the file. |
| `fileId` | string | Yes | The ID of the file to update. |
| `starred` | boolean | No | Whether the user has starred the file. |
| `mime_type` | string | No | The MIME type of the file. Google Drive will attempt to automatically detect an appropriate value from uploaded content if no value is provided. The value cannot be changed unless a new revision is uploaded. |
| `add_parents` | string | No | Comma-separated list of folder IDs (not folder names) to add as parents. Folder IDs are alphanumeric strings typically 20+ characters long (e.g., '1A2B3C4D5E6F7G8H9I0J'). Folder names will not work and will cause a 'Parent folder not found' error. |
| `description` | string | No | A short description of the file. |
| `ocr_language` | string | No | A language hint for OCR processing during image import (ISO 639-1 code). |
| `remove_parents` | string | No | Comma-separated list of folder IDs (not folder names) to remove as parents. Folder IDs are alphanumeric strings typically 20+ characters long (e.g., '1A2B3C4D5E6F7G8H9I0J'). Folder names will not work and will cause a 'Parent folder not found' error. |
| `writers_can_share` | boolean | No | Whether writers can share the document with other users. |
| `supports_all_drives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to true to ensure compatibility with shared drive files. |
| `keep_revision_forever` | boolean | No | Whether to set this revision of the file to be kept forever. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be kept forever. If the limit is reached, try deleting pinned revisions. |
| `use_domain_admin_access` | boolean | No | Whether the requesting application is using domain-wide delegation to access content belonging to a user in a different domain. This is only applicable to files with binary content in Google Drive. |
| `viewers_can_copy_content` | boolean | No | Whether viewers are prevented from copying content of the file. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update File Revision Metadata

**Slug:** `GOOGLEDRIVE_UPDATE_FILE_REVISION_METADATA`

Updates ONLY the metadata properties of a specific file revision (keepForever, published, publishAuto, publishedOutsideDomain). IMPORTANT: This action does NOT update file content. To update file content, use EDIT_FILE or UPDATE_FILE_PUT instead. This action requires BOTH file_id AND revision_id parameters. Use LIST_REVISIONS to get available revision IDs for a file. Valid parameters: file_id (required), revision_id (required), keep_forever, published, publish_auto, published_outside_domain. Invalid parameters (use other actions): file_contents, mime_type, content, name - these are NOT supported by this action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | Required. The ID of the file whose revision metadata you want to update. Use LIST_FILES or FIND_FILE to get the file ID. |
| `published` | boolean | No | Whether this revision is published. This is only applicable to Docs Editors files. |
| `publishAuto` | boolean | No | Whether subsequent revisions will be automatically republished. This is only applicable to Docs Editors files. |
| `revision_id` | string | Yes | Required. The ID of the revision to update. Use LIST_REVISIONS to get available revision IDs for a file. |
| `keep_forever` | boolean | No | Whether to keep this revision forever, even if it is no longer the head revision. If not set, the revision will be automatically purged 30 days after newer content is uploaded. This can be set on a maximum of 200 revisions for a file. This field is only applicable to files with binary content in Drive. |
| `publishedOutsideDomain` | boolean | No | Whether this revision is published outside the domain. This is only applicable to Docs Editors files. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update File Content (v2)

**Slug:** `GOOGLEDRIVE_UPDATE_FILE_V2`

Tool to update file content in Google Drive using API v2. Use when you need to replace or update the contents of an existing file by uploading new content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ocr` | boolean | No | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. |
| `fileId` | string | Yes | The ID of the file to update. This is a required parameter and cannot be empty. |
| `pinned` | boolean | No | Whether to pin the head revision of the new copy. A file can have a maximum of 200 pinned revisions. |
| `uploadType` | string ("media" | "multipart" | "resumable") | Yes | Type of upload request: 'media' for simple media upload, 'multipart' for metadata and media upload, or 'resumable' for resumable upload. |
| `newRevision` | boolean | No | Whether to create a new revision of the file. If true, creates new revision; if false, replaces the blob data. |
| `ocrLanguage` | string | No | If ocr is true, hints at the language to use. Valid values are BCP 47 codes (e.g., 'en', 'es', 'fr'). |
| `file_content` | object | Yes | File content to upload. FileUploadable object where 'name' should be the destination filename (e.g., 'document.txt', 'report.pdf'). |
| `setModifiedDate` | boolean | No | Whether to set the modified date using the value supplied in the request body. Only applies when newRevision is true. |
| `updateViewedDate` | boolean | No | Whether to update the view date after successfully updating the file. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Defaults to true. |
| `timedTextLanguage` | string | No | The language of the timed text. |
| `timedTextTrackName` | string | No | The timed text track name. |
| `useContentAsIndexableText` | boolean | No | Whether to use the content as indexable text. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Permission

**Slug:** `GOOGLEDRIVE_UPDATE_PERMISSION`

Tool to update a permission with patch semantics. Use when you need to modify an existing permission for a file or shared drive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file or shared drive. |
| `permission` | object | Yes | The permission resource to update. Only 'role' and 'expirationTime' can be updated. |
| `permissionId` | string | Yes | The ID of the permission. For anyone-type permissions, use 'anyone' as the permission ID. |
| `removeExpiration` | boolean | No | Whether to remove the expiration date. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `transferOwnership` | boolean | No | Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect when set to true. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |
| `enforceExpansiveAccess` | boolean | No | Whether the request should enforce expansive access rules. This field is deprecated, it is recommended to use `permissionDetails` instead. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Permission (v2)

**Slug:** `GOOGLEDRIVE_UPDATE_PERMISSION_V2`

Tool to update a permission on a file or shared drive using Drive API v2. Use when you need to modify an existing permission's role, expiration, or other attributes. **Warning:** Concurrent permissions operations on the same file are not supported; only the last update is applied.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string ("owner" | "organizer" | "fileOrganizer" | "writer" | "reader") | No | Permission roles that can be granted in Google Drive. |
| `type` | string ("user" | "group" | "domain" | "anyone") | No | The account type for the permission. |
| `value` | string | No | The email address or domain name for the entity. This is used during inserts and is not populated in responses. When making a `drive.permissions.insert` request, exactly one of the `id` or `value` fields must be specified unless the permission type is `anyone`, in which case both `id` and `value` are ignored. |
| `fileId` | string | Yes | The ID for the file or shared drive. |
| `withLink` | boolean | No | Whether the link is required for this permission. |
| `permissionId` | string | Yes | The ID for the permission. |
| `expirationDate` | string | No | The time at which this permission will expire (RFC 3339 date-time). Expiration dates have the following restrictions: They can only be set on user and group permissions, the date must be in the future, the date cannot be more than a year in the future, the date can only be set on drive.permissions.update or drive.permissions.patch requests. |
| `additionalRoles` | array | No | Additional roles for this user. Only `commenter` is currently allowed, though more may be supported in the future. |
| `removeExpiration` | boolean | No | Whether to remove the expiration date. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `transferOwnership` | boolean | No | Whether changing a role to `owner` downgrades the current owners to writers. Does nothing if the specified role is not `owner`. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use `supportsAllDrives` instead. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Property (v2 API)

**Slug:** `GOOGLEDRIVE_UPDATE_PROPERTY_V2`

Tool to update a property on a file using Google Drive API v2. Use when you need to modify an existing custom property attached to a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID of the file. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `visibility` | string ("PRIVATE" | "PUBLIC") | No | Visibility options for the property. |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `propertyKey` | string | Yes | The key of the property. |
| `access_token` | string | No | OAuth access token. |
| `property_value` | string | No | The value of this property. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `property_visibility` | string ("PRIVATE" | "PUBLIC") | No | Visibility options for the property. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Reply

**Slug:** `GOOGLEDRIVE_UPDATE_REPLY`

Tool to update a reply to a comment on a Google Drive file. Use when you need to modify the content of an existing reply.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fields` | string | No | Selector specifying which fields to include in a partial response. If not provided, defaults to '*' to return all fields. |
| `content` | string | Yes | The new plain text content of the reply. |
| `file_id` | string | Yes | The ID of the file. |
| `reply_id` | string | Yes | The ID of the reply. |
| `comment_id` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Reply (v2)

**Slug:** `GOOGLEDRIVE_UPDATE_REPLY_V2`

Tool to update an existing reply using Google Drive API v2. Use when you need to modify the content or action of a reply to a comment on a file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `verb` | string | No | The action this reply performed to the parent comment. When creating a new reply this is the action to be perform to the parent comment. Possible values are: 'resolve' - To resolve a comment, 'reopen' - To reopen (un-resolve) a comment. |
| `fileId` | string | Yes | The ID of the file. |
| `content` | string | No | The plain text content used to create this reply. This is not HTML safe and should only be used as a starting point to make edits to a reply's content. This field is required on inserts if no verb is specified (resolve/reopen). |
| `replyId` | string | Yes | The ID of the reply. |
| `commentId` | string | Yes | The ID of the comment. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Revision (v2)

**Slug:** `GOOGLEDRIVE_UPDATE_REVISION_V2`

Tool to update a file's revision metadata using Drive API v2. Use when you need to pin a revision to prevent auto-purging or publish/unpublish Docs Editors revisions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID for the file. |
| `pinned` | boolean | No | Whether this revision is pinned to prevent automatic purging. If not set, the revision is automatically purged 30 days after newer content is uploaded. This field can only be modified on files with content stored in Drive, excluding Docs Editors files. Pinned revisions are stored indefinitely using additional storage quota, up to a maximum of 200 revisions. |
| `published` | boolean | No | Whether this revision is published. This is only populated and can only be modified for Docs Editors files. |
| `revisionId` | string | Yes | The ID for the revision. |
| `publishAuto` | boolean | No | Whether subsequent revisions will be automatically republished. This is only populated and can only be modified for Docs Editors files. |
| `publishedOutsideDomain` | boolean | No | Whether this revision is published outside the domain. This is only populated and can only be modified for Docs Editors files. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Team Drive (Deprecated)

**Slug:** `GOOGLEDRIVE_UPDATE_TEAM_DRIVE`

Tool to update a Team Drive's metadata. Deprecated: Use the drives.update endpoint instead. Use when you need to modify Team Drive properties.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of this Team Drive. |
| `themeId` | string | No | The ID of the theme from which the background image and color will be set. This is a write-only field; it can only be set on requests that don't set colorRgb or backgroundImageFile. |
| `colorRgb` | string | No | The color of this Team Drive as an RGB hex string. It can only be set on a drive.teamdrives.update request that does not set themeId. |
| `teamDriveId` | string | Yes | The ID of the Team Drive to update. |
| `restrictions` | object | No | A set of restrictions that apply to this Team Drive or items inside this Team Drive. |
| `backgroundImageFile` | object | No | An image file and cropping parameters from which a background image for this Team Drive is set. This is a write only field; it can only be set on drive.teamdrives.update requests that don't set themeId. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Team Drive (v2 API)

**Slug:** `GOOGLEDRIVE_UPDATE_TEAM_DRIVE_V2`

Tool to update a Team Drive's metadata using Google Drive API v2. Deprecated: Use drives.update instead. Use when you need to modify Team Drive properties via the v2 API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `name` | string | No | The name of this Team Drive. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format. |
| `themeId` | string | No | The ID of the theme from which the background image and color will be set. The set of possible teamDriveThemes can be retrieved from a drive.about.get response. When not specified on a drive.teamdrives.insert request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set colorRgb or backgroundImageFile. |
| `callback` | string | No | JSONP |
| `colorRgb` | string | No | The color of this Team Drive as an RGB hex string. It can only be set on a drive.teamdrives.update request that does not set themeId. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `teamDriveId` | string | Yes | The ID of the Team Drive |
| `access_token` | string | No | OAuth access token. |
| `restrictions` | object | No | A set of restrictions that apply to this Team Drive or items inside this Team Drive. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `backgroundImageFile` | object | No | An image file and cropping parameters for the Team Drive's background. |
| `useDomainAdminAccess` | boolean | No | Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File

**Slug:** `GOOGLEDRIVE_UPLOAD_FILE`

Uploads a file (max 5MB) to Google Drive, moving it to a specified folder if a valid folder ID is provided, otherwise uploads to root.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_to_upload` | object | Yes | File to upload to Google Drive (max 5MB). Provide an object with 'name' (filename), 'mimetype' (content type), and 's3key' (internal storage key). The s3key must reference a file already in internal S3/R2 storage, typically from a previous action that returns a FileDownloadable (e.g., downloading a Gmail attachment or Google Drive file). The s3key format is: '{client_id}/{app}/{action}/response/{hash}'. Alternatively, you can pass 'file_path' with an S3 URL (e.g., 's3://bucket/path/to/file') and optionally 'file_name' for the destination filename. |
| `folder_to_upload_to` | string | No | Optional ID of the target Google Drive folder; can be obtained using 'Find Folder' or similar actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File from URL to Drive

**Slug:** `GOOGLEDRIVE_UPLOAD_FROM_URL`

Tool to fetch a file from a provided URL server-side and upload it into Google Drive. Use when you need to reliably persist externally hosted files into Drive without client-side downloads or temporary storage.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the file in Google Drive, including extension (e.g., 'report.pdf', 'image.png'). |
| `mime_type` | string | No | Target MIME type for the file in Google Drive. If not specified, Drive auto-detects from content. Google Workspace MIME types (application/vnd.google-apps.*) trigger automatic conversion from compatible source formats: - application/vnd.google-apps.document (Google Docs): converts from Microsoft Word (.docx: application/vnd.openxmlformats-officedocument.wordprocessingml.document), OpenDocument Text (.odt: application/vnd.oasis.opendocument.text), HTML (text/html, application/xhtml+xml), RTF (application/rtf, text/rtf), plain text (text/plain), PDFs (application/pdf), and images (image/jpeg, image/png, image/gif, image/bmp) using OCR (Optical Character Recognition) to extract text - application/vnd.google-apps.spreadsheet (Google Sheets): converts from Microsoft Excel (.xlsx: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet), OpenDocument Spreadsheet (.ods: application/vnd.oasis.opendocument.spreadsheet), CSV (text/csv), TSV (text/tab-separated-values), plain text (text/plain) - application/vnd.google-apps.presentation (Google Slides): converts from Microsoft PowerPoint (.pptx: application/vnd.openxmlformats-officedocument.presentationml.presentation), OpenDocument Presentation (.odp: application/vnd.oasis.opendocument.presentation) Conversion requires the source content to be in a compatible format. Incompatible formats (e.g., JSON, video files) will cause upload errors. |
| `source_url` | string | Yes | URL of the file to download and upload to Google Drive. Must be a publicly accessible URL or include necessary authentication in source_headers. |
| `source_headers` | object | No | Optional HTTP headers to include when downloading from source_url. Use for authentication tokens, signed URLs, or CDN-specific headers. |
| `parent_folder_id` | string | No | ID of the parent folder in Google Drive. If not specified, the file will be uploaded to the root of My Drive. |
| `supports_all_drives` | boolean | No | Whether the request supports both My Drives and shared drives. Defaults to true for broader compatibility. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload File (Media Upload v2)

**Slug:** `GOOGLEDRIVE_UPLOAD_MEDIA_FILE`

Tool to upload a file to Google Drive using the v2 API simple media upload method. Use when uploading file content directly without multipart metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ocr` | boolean | No | Whether to attempt OCR on .jpg, .png, .gif, or .pdf uploads. |
| `pinned` | boolean | No | Whether to pin the head revision of the uploaded file. A file can have a maximum of 200 pinned revisions. |
| `convert` | boolean | No | Whether to convert this file to the corresponding Google Docs Editors format (e.g., convert .docx to Google Docs format). |
| `visibility` | string ("DEFAULT" | "PRIVATE") | No | Visibility options for the uploaded file. |
| `ocrLanguage` | string | No | If ocr is true, hints at the language to use. Valid values are BCP 47 codes (e.g., 'en', 'es', 'fr'). |
| `file_to_upload` | object | Yes | File to upload to Google Drive via media upload. Provide an object with 'name' (filename), 'mimetype' (content type), and 's3key' (internal storage key). The s3key must reference a file already in internal S3/R2 storage, typically from a previous action that returns a FileDownloadable (e.g., downloading a Gmail attachment or Google Drive file). The s3key format is: '{client_id}/{app}/{action}/response/{hash}'. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Upload/Update File Content

**Slug:** `GOOGLEDRIVE_UPLOAD_UPDATE_FILE`

Tool to update file content in Google Drive by uploading new binary content. Use when you need to replace the contents of an existing file with new file data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `fileId` | string | Yes | The ID of the file to update with new content. |
| `addParents` | string | No | Comma-separated list of parent folder IDs to add. |
| `uploadType` | string | No | The type of upload request. 'media' for simple upload (content only), 'multipart' for metadata + content, 'resumable' for large files. |
| `ocrLanguage` | string | No | Language hint for OCR processing (ISO 639-1 code, e.g., 'en'). |
| `removeParents` | string | No | Comma-separated list of parent folder IDs to remove. |
| `file_to_upload` | object | Yes | The file content to upload. FileUploadable object where 'name' is the filename with extension (e.g., 'document.pdf', 'image.jpg'). |
| `supportsAllDrives` | boolean | No | Whether the app supports both My Drives and shared drives. Defaults to true. |
| `keepRevisionForever` | boolean | No | Whether to set the 'keepForever' field in the new head revision. |
| `useContentAsIndexableText` | boolean | No | Whether to use the uploaded content as indexable text for search. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Watch Drive Changes

**Slug:** `GOOGLEDRIVE_WATCH_CHANGES`

Tool to subscribe to changes for a user or shared drive in Google Drive. Use when you need to monitor a Google Drive for modifications and receive notifications at a specified webhook URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | A unique string that identifies this channel. UUIDs are recommended. |
| `type` | string | Yes | The type of delivery mechanism for notifications. |
| `token` | string | No | An arbitrary string that will be delivered with each notification. Can be used for verification. |
| `params` | object | No | Optional parameters for the notification channel. Example: {"ttl": "3600"} for a 1-hour time-to-live (actual support depends on Google API). |
| `spaces` | string | No | A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'. |
| `address` | string | Yes | The URL where notifications are to be delivered. |
| `drive_id` | string | No | The shared drive from which changes will be returned. If specified, change IDs will be specific to the shared drive. |
| `page_size` | integer | No | The maximum number of changes to return per page. |
| `expiration` | integer | No | Timestamp in milliseconds since the epoch for when the channel should expire. If not set, channel may not expire or have a default expiration. |
| `page_token` | string | No | The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. |
| `include_labels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `include_removed` | boolean | No | Whether to include changes indicating that items have been removed from the list of changes (e.g., by deletion or loss of access). |
| `supports_all_drives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. Recommended to set to true if driveId is used or if interactions with shared drives are expected. |
| `restrict_to_my_drive` | boolean | No | Whether to restrict the results to changes inside the My Drive hierarchy. This omits changes to files like those in the Application Data folder or shared files not added to My Drive. |
| `include_corpus_removals` | boolean | No | Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes. |
| `include_permissions_for_view` | string | No | Specifies which additional view's permissions to include in the response. |
| `include_items_from_all_drives` | boolean | No | Whether both My Drive and shared drive items should be included in results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Watch Changes (v2)

**Slug:** `GOOGLEDRIVE_WATCH_CHANGES_V2`

Tool to subscribe to changes for a user using the Drive v2 API. Use when you need to monitor Google Drive changes and receive notifications at a webhook URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | A UUID or similar unique string that identifies this notification channel. |
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. |
| `type` | string | Yes | The type of delivery mechanism used for this channel. Valid values are 'web_hook' or 'webhook'. |
| `token` | string | No | An arbitrary string delivered to the target address with each notification delivered over this channel. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `params` | object | No | Additional parameters controlling delivery channel behavior. |
| `spaces` | string | No | A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format. |
| `address` | string | Yes | The address where notifications are delivered for this channel. |
| `driveId` | string | No | The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive. |
| `payload` | boolean | No | A Boolean value to indicate whether payload is wanted. |
| `callback` | string | No | JSONP callback. |
| `pageToken` | string | No | The token for continuing a previous list request on the next page. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `expiration` | string | No | Date and time of notification channel expiration, expressed as a Unix timestamp in milliseconds. |
| `maxResults` | integer | No | Maximum number of changes to return. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `teamDriveId` | string | No | Deprecated: Use driveId instead. |
| `access_token` | string | No | OAuth access token. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `startChangeId` | string | No | Deprecated: Use pageToken instead. |
| `includeDeleted` | boolean | No | Whether to include changes indicating that items have been removed from the list of changes. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `includeSubscribed` | boolean | No | Whether to include changes outside the My Drive hierarchy in the result. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use supportsAllDrives instead. |
| `includeCorpusRemovals` | boolean | No | Whether changes should include the file resource if the file is still accessible by the user at the time of the request. |
| `includeTeamDriveItems` | boolean | No | Deprecated: Use includeItemsFromAllDrives instead. |
| `includeItemsFromAllDrives` | boolean | No | Whether both My Drive and shared drive items should be included in results. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only 'published' is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Watch File for Changes

**Slug:** `GOOGLEDRIVE_WATCH_FILE`

Tool to subscribe to push notifications for changes to a specific file. Use when you need to monitor a file for modifications and receive real-time notifications at a webhook URL.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | A UUID or similar unique string that identifies this notification channel (max 64 characters). |
| `type` | string ("web_hook" | "webhook") | Yes | The type of delivery mechanism used for this channel. |
| `token` | string | No | An arbitrary string delivered to the target address with each notification for verification (max 256 characters). |
| `fileId` | string | Yes | The ID of the file to watch for changes. |
| `params` | object | No | Additional parameters controlling delivery channel behavior. |
| `address` | string | Yes | The HTTPS address where notifications are delivered for this channel. Must have a valid SSL certificate. |
| `payload` | boolean | No | Whether payload data should be included in notifications. |
| `expiration` | integer | No | Date and time of notification channel expiration as Unix timestamp in milliseconds. Default: 3600 seconds, max: 86400 seconds for files. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the labelInfo part of the response. |
| `acknowledgeAbuse` | boolean | No | Whether the user is acknowledging the risk of downloading known malware or other abusive files. Only applicable to file owner/organizer. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated. Use supportsAllDrives instead. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Watch File for Changes (v2)

**Slug:** `GOOGLEDRIVE_WATCH_FILE_V2`

Tool to subscribe to changes to a file using the Google Drive v2 API. Use when you need to watch for changes to a specific file and receive notifications at a webhook endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | A UUID or similar unique string that identifies this notification channel. |
| `alt` | string ("json" | "media" | "proto") | No | Data format for response. |
| `key` | string | No | API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token. |
| `type` | string ("web_hook" | "webhook") | Yes | The type of delivery mechanism used for this channel. Valid values are 'web_hook' or 'webhook'. |
| `token` | string | No | An arbitrary string delivered to the target address with each notification delivered over this channel. Optional. |
| `fields` | string | No | Selector specifying which fields to include in a partial response. |
| `fileId` | string | Yes | The ID for the file in question. This is a required parameter and cannot be empty. |
| `params` | object | No | Additional parameters controlling delivery channel behavior. Optional. |
| `$.xgafv` | string ("1" | "2") | No | V1 error format values. |
| `address` | string | Yes | The address where notifications are delivered for this channel. Must be a valid HTTPS URL. |
| `payload` | boolean | No | A Boolean value to indicate whether payload is wanted. Optional. |
| `callback` | string | No | JSONP callback function name. |
| `quotaUser` | string | No | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
| `expiration` | string | No | Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional. |
| `projection` | string ("BASIC" | "FULL") | No | Projection parameter values (deprecated). |
| `revisionId` | string | No | Specifies the Revision ID that should be downloaded. Ignored unless alt=media is specified. |
| `uploadType` | string | No | Legacy upload protocol for media (e.g. 'media', 'multipart'). |
| `oauth_token` | string | No | OAuth 2.0 token for the current user. |
| `prettyPrint` | boolean | No | Returns response with indentations and line breaks. |
| `access_token` | string | No | OAuth access token. |
| `includeLabels` | string | No | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
| `upload_protocol` | string | No | Upload protocol for media (e.g. 'raw', 'multipart'). |
| `acknowledgeAbuse` | boolean | No | Whether the user is acknowledging the risk of downloading known malware or other abusive files. |
| `updateViewedDate` | boolean | No | Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives` | boolean | No | Deprecated: Use `supportsAllDrives` instead. |
| `includePermissionsForView` | string | No | Specifies which additional view's permissions to include in the response. Only `published` is supported. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |


## Triggers

### Comment Added (Docs/Sheets/Slides)

**Slug:** `GOOGLEDRIVE_COMMENT_ADDED_TRIGGER`

**Type:** poll

Triggers when a new comment is added to Google Docs, Sheets, or Slides.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | No | If provided, monitor comments only for this specific file ID. If omitted, the trigger scans recent Docs/Sheets/Slides files for new comments. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `max_files` | integer | No | Maximum number of recent Docs/Sheets/Slides files to check in each poll when no file ID is specified. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `comment_id` | string | Yes | The ID of the comment |
| `comment_text` | string | No | The plain text content of the comment |
| `commenter` | object | No | Information about the commenter (displayName, permissionId, photoLink, me). |
| `created_time` | string | No | The time the comment was created (RFC3339) |
| `file_id` | string | Yes | The ID of the file on which the comment was added |

### File Created

**Slug:** `GOOGLEDRIVE_FILE_CREATED_TRIGGER`

**Type:** poll

Triggers when a new file is created/added in Google Drive.
    This trigger monitors files and fires when new files are detected.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `folder_id` | string | No | If provided, monitor only files within this folder (by folder ID). This will add the filter `'folder_id' in parents` to the query. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `max_results` | integer | No | Maximum number of files to check in each poll (1-1000) |
| `query` | string | No | Optional search query to filter files. Use Drive search syntax, e.g. name contains 'report', mimeType = 'application/pdf', or complex queries like name contains 'project' and mimeType != 'application/vnd.google-apps.folder'. Leave empty to monitor all files. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `creator` | object | No | Information about the file's creator (derived as first owner if available) |
| `event_type` | string | No | Type of event that occurred |
| `file` | object | Yes | The newly created Google Drive file |

### File Deleted or Trashed

**Slug:** `GOOGLEDRIVE_FILE_DELETED_OR_TRASHED_TRIGGER`

**Type:** poll

Triggers when a file is moved to trash or permanently deleted in Google Drive.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | The shared drive ID to monitor. If omitted, monitors My Drive. |
| `include_corpus_removals` | boolean | No | Include files that have been removed from the corpus (e.g., due to loss of access). |
| `include_items_from_all_drives` | boolean | No | Whether both My Drive and shared drive items should be included in results. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `page_size` | integer | No | Maximum number of changes to return per request page (1-1000). |
| `restrict_to_my_drive` | boolean | No | Whether to restrict results to changes inside the My Drive hierarchy. |
| `spaces` | string | No | Comma-separated list of spaces to query. Supported values: 'drive', 'appDataFolder'. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `deletion_timestamp` | string | Yes | Timestamp of the delete/trash event in RFC3339 format |
| `event_type` | string | No | Type of event that occurred (deleted or trashed) |
| `file_id` | string | Yes | ID of the file that was deleted or trashed |
| `name` | string | No | Name of the file. May be absent if the file was permanently deleted |

### File Shared (Permissions Added)

**Slug:** `GOOGLEDRIVE_FILE_SHARED_PERMISSIONS_ADDED`

**Type:** poll

Triggers when new sharing permissions are granted to a file or folder in Google Drive.

    This trigger monitors the Drive Changes API to detect files that changed and, for those files,
    compares their current permissions against previously seen permissions to identify newly
    added sharing entries.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | The shared drive ID to monitor. If omitted, monitors My Drive. |
| `file_id` | string | No | If provided, only monitor permission changes for this specific file or folder ID. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `page_size` | integer | No | Maximum number of changes to fetch per page when polling the Drive Changes API. |
| `supports_all_drives` | boolean | No | Whether to include both My Drive and shared drives when monitoring changes. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_type` | string | No | Type of event that occurred |
| `new_permissions` | array | No | List of newly detected permissions |

### File Updated

**Slug:** `GOOGLEDRIVE_FILE_UPDATED_TRIGGER`

**Type:** poll

Triggers when a file's metadata or content changes in Google Drive.
    Emits file ID, modification timestamp, and editor info.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `drive_id` | string | No | The shared drive ID to monitor. If not provided, monitors My Drive. |
| `include_items_from_all_drives` | boolean | No | Whether both My Drive and shared drives items should be included in results. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `page_size` | integer | No | Maximum number of changes to fetch per page (1-1000) |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file_id` | string | Yes | The ID of the file that changed |
| `last_modifying_user` | object | No | Information about the last user who modified the file |
| `modified_time` | string | No | The last time the file was modified (RFC 3339 date-time) |

### Google Drive Changes

**Slug:** `GOOGLEDRIVE_GOOGLE_DRIVE_CHANGES`

**Type:** poll

Triggers when changes are detected in a Google Drive.

### New File Matching Query

**Slug:** `GOOGLEDRIVE_NEW_FILE_MATCHING_QUERY_TRIGGER`

**Type:** poll

Triggers when a new Google Drive file matches a provided query.

#### Configuration

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `corpora` | string | No | Bodies of items to which the query applies. Supported: 'user', 'domain', 'drive', 'allDrives'. |
| `driveId` | string | No | ID of the shared drive to search (use with corpora='drive'). |
| `includeItemsFromAllDrives` | boolean | No | Include items from both My Drive and shared drives. |
| `interval` | number | No | Periodic Interval to Check for Updates & Send a Trigger in Minutes |
| `max_results` | integer | No | Maximum number of files to check per poll (1-1000). |
| `query` | string | No | Drive query to filter files. Examples: name contains 'report', mimeType = 'application/pdf', (name contains 'Draft' and not trashed). |
| `spaces` | string | No | A comma-separated list of spaces to query within. Supported: 'drive', 'appDataFolder'. |
| `supportsAllDrives` | boolean | No | Whether the requesting application supports both My Drives and shared drives. |

#### Payload

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_type` | string | No | Type of event that occurred |
| `file` | object | Yes | The newly matched Drive file |
