# How to connect Google Drive to Muse

```json
{
  "title": "How to connect Google Drive to Muse",
  "toolkit": "Google Drive",
  "toolkit_slug": "googledrive",
  "framework": "Muse",
  "framework_slug": "muse",
  "url": "https://composio.dev/toolkits/googledrive/framework/muse",
  "markdown_url": "https://composio.dev/toolkits/googledrive/framework/muse.md",
  "updated_at": "2026-10-04T16:36:15.709Z"
}
```

## Introduction

Muse is Meta's AI assistant. It can connect to outside tools through custom connectors, which use the Model Context Protocol (MCP).
This guide explains how to connect Google Drive to Muse using Composio Connect, which handles OAuth, token refresh, and reliability so you do not have to. You add Composio as a custom connector once, then ask Muse to work with Google Drive in plain language.

## Also integrate Google Drive with

- [Claude Code](https://composio.dev/toolkits/googledrive/framework/claude-code)
- [Cursor](https://composio.dev/toolkits/googledrive/framework/cursor)
- [ChatGPT](https://composio.dev/toolkits/googledrive/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/googledrive/framework/claude-cowork)
- [Antigravity](https://composio.dev/toolkits/googledrive/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/googledrive/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/googledrive/framework/claude-agents-sdk)
- [Grok Bot](https://composio.dev/toolkits/googledrive/framework/grok-bot)
- [Codex](https://composio.dev/toolkits/googledrive/framework/codex)
- [Grok Build](https://composio.dev/toolkits/googledrive/framework/grok-build)
- [VS Code](https://composio.dev/toolkits/googledrive/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/googledrive/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/googledrive/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/googledrive/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/googledrive/framework/atomic-agent)
- [Google ADK](https://composio.dev/toolkits/googledrive/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/googledrive/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/googledrive/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/googledrive/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/googledrive/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/googledrive/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/googledrive/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/googledrive/framework/autogen)

## TL;DR

- Cross-app workflows across 1,500+ apps from a single plugin layer.
- On-demand tool loading so Muse only loads the tools needed for the current task.
- Programmatic tool calling through a remote workbench for complex, multi-step workflows.
- Multi-account support so users can connect and switch between multiple accounts for the same app.
- Shared account access so teams or agents can work through common business accounts and service connections.
- Managed authentication with OAuth handling, credential storage, and token refresh managed by Composio.
- Safer credential handling so app credentials stay outside the model context and tool responses.
- User-level account isolation so actions run against the correct connected account instead of mixing user access.

## Connect Google Drive to Muse

### Connecting Google Drive to Muse
You add Composio to Muse once as a custom connector, then connect Google Drive from the chat.

## What is the Google Drive MCP server, and what's possible with it?

The Google Drive MCP server is an implementation of the Model Context Protocol that connects your AI agent and assistants like Claude, Cursor, etc directly to your Google Drive account. It provides structured and secure access to your files, folders, shared drives, comments, permissions, and revisions, so your agent can find, create, download, organize, and share Drive content on your behalf.
- File and folder discovery: Instruct your agent to find files and folders, inspect their details, or review recent changes across your Drive.
- Content creation and retrieval: Have your agent create files and folders, download stored files, export Google Workspace documents, or read selected spreadsheet ranges.
- Sharing and access control: Let the agent grant or remove access, review current permissions, and check pending access proposals for files and shared drives.
- Comments and collaboration: Direct your agent to list, create, reply to, or delete comments while reviewing approvals and applied file labels.
- Shared drive and version management: Have your agent create, find, hide, or delete shared drives, inspect file revisions, and download stored revision content.

## Supported Tools

| Tool slug | Name | Description |
|---|---|---|
| `GOOGLEDRIVE_ADD_PARENT` | Insert File 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. |
| `GOOGLEDRIVE_ADD_PROPERTY` | Insert Property (v2 API) | 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. |
| `GOOGLEDRIVE_COPY_FILE_ADVANCED` | Copy file with advanced options | 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. |
| `GOOGLEDRIVE_CREATE_COMMENT` | Create Comment | Tool to create a comment on a file in Google Drive. Returns a nested `data` object; extract `data.id` for the resulting comment identifier. Omit `anchor` and `quoted_file_content_*` for general file-level comments. |
| `GOOGLEDRIVE_CREATE_DRIVE` | Create Shared Drive | Tool to create a new shared drive. Use when you need to programmatically create a new shared drive for collaboration or storage. |
| `GOOGLEDRIVE_CREATE_FILE` | Create File or Folder | Creates a new file or folder in Google Drive. Supports both metadata-only creation (for folders and empty documents) and file upload with content. When file_to_upload is provided, uploads the actual file bytes; otherwise creates an empty file. Native Google file types (Docs, Sheets, Forms, etc.) and folders are created as empty shells when no content is provided; content must be added manually afterward. Newly created files are private by default — set sharing permissions afterward for collaboration. For shared-drive folders, use this tool with the target folder ID in `parents` rather than GOOGLEDRIVE_CREATE_FOLDER. |
| `GOOGLEDRIVE_CREATE_FILE_FROM_TEXT` | Create a 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. Returns flat metadata fields (`id`, `mimeType`, `name`) at the top level — not nested under a `file` object. Created files are private by default; use a sharing tool afterward for collaborative access. Rapid successive calls may trigger `403 rateLimitExceeded` or `429 userRateLimitExceeded`; apply exponential backoff between retries. Does not support shared-drive targets in all cases. |
| `GOOGLEDRIVE_CREATE_FOLDER` | Create a 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. Google Drive permits duplicate folder names, so always store and reuse the folder ID returned by this action rather than relying on names for future lookups. |
| `GOOGLEDRIVE_CREATE_PERMISSION` | 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. |
| `GOOGLEDRIVE_CREATE_REPLY` | 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. |
| `GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE` | Create Shortcut to File/Folder | 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. The shortcut receives its own distinct file ID (capture from response). No parent folder parameter exists; use GOOGLEDRIVE_MOVE_FILE after creation to place the shortcut in the desired location. |
| `GOOGLEDRIVE_DELETE_CHILD` | 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. |
| `GOOGLEDRIVE_DELETE_COMMENT` | Delete Comment | Permanently deletes a comment thread (and all its replies) from a Google Drive file — this action is irreversible. To remove only a single reply within a thread, use GOOGLEDRIVE_DELETE_REPLY instead. Verify the exact comment content and comment_id before calling. |
| `GOOGLEDRIVE_DELETE_DRIVE` | Delete Shared Drive | Tool to permanently delete a shared drive. Use when you need to remove a shared drive and its contents (if specified). |
| `GOOGLEDRIVE_DELETE_PARENT` | 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. |
| `GOOGLEDRIVE_DELETE_PERMISSION` | Delete Permission | Deletes a permission from a file by permission ID. Deletion is irreversible — confirm the target user, group, or permission type before executing. IMPORTANT: You must first call GOOGLEDRIVE_LIST_PERMISSIONS to get valid permission IDs. To fully revoke public access, the type='anyone' (link-sharing) permission must be explicitly deleted; revoking other permissions leaves the file publicly accessible via link. Use when you need to revoke access for a specific user or group from a file. |
| `GOOGLEDRIVE_DELETE_PROPERTY` | Delete Property (v2 API) | 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. |
| `GOOGLEDRIVE_DELETE_REPLY` | Delete Reply | Tool to delete a specific reply by reply ID. Deletion is irreversible; obtain explicit user confirmation before calling. Removes only the targeted reply, not the full comment thread — use GOOGLEDRIVE_DELETE_COMMENT to remove the entire thread. |
| `GOOGLEDRIVE_DELETE_REVISION` | 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. |
| `GOOGLEDRIVE_DOWNLOAD_FILE` | Download a file from Google Drive | 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"} |
| `GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION` | Download file via 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. Returns a response containing `downloaded_file_content.s3url` — a short-lived S3 URL; fetch the actual file bytes from that URL promptly after the call. |
| `GOOGLEDRIVE_EDIT_FILE` | 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. Preserves the original file_id (unlike GOOGLEDRIVE_UPLOAD_FILE which creates a new ID). |
| `GOOGLEDRIVE_EMPTY_TRASH` | Empty Trash | Tool to permanently and irreversibly delete ALL trashed files in the user's Google Drive or a specified shared drive. Recovery is impossible after execution — no Drive tool can restore items once trash is emptied. Affects every item in trash across the entire account or shared drive, not just files from the current workflow. Always obtain explicit user confirmation and clarify that recovery is impossible before executing. Provide driveId to target a specific shared drive's trash; omit to empty the user's root trash. |
| `GOOGLEDRIVE_EXPORT_GOOGLE_WORKSPACE_FILE` | 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. |
| `GOOGLEDRIVE_FIND_FILE` | 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" |
| `GOOGLEDRIVE_FIND_FOLDER` | 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. |
| `GOOGLEDRIVE_GENERATE_IDS` | Generate File 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. |
| `GOOGLEDRIVE_GET_ABOUT` | 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. Note: storageQuota reflects My Drive (personal) storage only — it does not cover shared drives; use GOOGLEDRIVE_LIST_SHARED_DRIVES and GOOGLEDRIVE_GET_DRIVE for shared drive quotas. A successful response confirms base Drive read access only; write access and shared drive access must be verified separately. |
| `GOOGLEDRIVE_GET_APP` | 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. |
| `GOOGLEDRIVE_GET_CHANGES_START_PAGE_TOKEN` | Get Changes Start Page Token | Tool to get the starting pageToken for listing future changes in Google Drive. Returns only a token — pass it to GOOGLEDRIVE_LIST_CHANGES to retrieve actual changes. Persist this token; losing it requires a full rescan. The token is forward-looking: GOOGLEDRIVE_LIST_CHANGES may return no results if no changes have occurred since issuance. For simple recent-file lookups, prefer GOOGLEDRIVE_FIND_FILE; use this tool only for incremental change-feed workflows. |
| `GOOGLEDRIVE_GET_CHILD` | Get Child Reference (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. |
| `GOOGLEDRIVE_GET_COMMENT` | 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. |
| `GOOGLEDRIVE_GET_DRIVE` | Get Shared Drive | Tool to get a shared drive by ID. Use when you need to retrieve information about a specific shared drive. To discover drive_ids, use GOOGLEDRIVE_LIST_SHARED_DRIVES first; GOOGLEDRIVE_GET_ABOUT reflects overall user storage, not individual shared drive details. Permission changes may have a brief propagation delay before appearing in results. |
| `GOOGLEDRIVE_GET_FILE_METADATA` | Get File Metadata | Tool to get a file's metadata by ID. Use to verify `mimeType`, `parents`, and `trashed` status before destructive operations (delete/move/export), or to confirm `mimeType='application/vnd.google-apps.document'` before calling GOOGLEDOCS_* tools (non-native files require GOOGLEDRIVE_DOWNLOAD_FILE). Only returns metadata visible to the connected account; public access requires GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE. High-frequency calls risk `403 rateLimitExceeded`; apply exponential backoff. |
| `GOOGLEDRIVE_GET_FILE_PROPERTY` | 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. |
| `GOOGLEDRIVE_GET_PARENT` | Get Parent Reference (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. |
| `GOOGLEDRIVE_GET_PERMISSION` | Get Permission | Gets a permission by ID. Use this tool to retrieve a specific permission for a file or shared drive. Newly created or updated permissions on shared drives may have a brief propagation delay before appearing. |
| `GOOGLEDRIVE_GET_PERMISSION_ID_FOR_EMAIL` | 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. |
| `GOOGLEDRIVE_GET_REPLY` | 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. |
| `GOOGLEDRIVE_GET_REVISION` | Get Revision | Tool to get a specific revision's metadata (name, modifiedTime, keepForever, etc.) by revision ID. Returns metadata only — not file content. Use a separate download tool to retrieve file content or restore a revision. |
| `GOOGLEDRIVE_GOOGLE_DRIVE_DELETE_FOLDER_OR_FILE_ACTION` | Delete folder or file | 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. Deleting a folder permanently removes all nested files and subfolders. |
| `GOOGLEDRIVE_HIDE_DRIVE` | Hide Shared 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. |
| `GOOGLEDRIVE_INSERT_CHILD` | Insert Child Into Folder (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. |
| `GOOGLEDRIVE_LIST_ACCESS_PROPOSALS` | 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. |
| `GOOGLEDRIVE_LIST_APPROVALS` | 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. |
| `GOOGLEDRIVE_LIST_CHANGES` | List Changes | Tool to list the changes for a user or shared drive. Use when a full incremental change feed is needed (for simple recent-file lookups, prefer GOOGLEDRIVE_FIND_FILE instead). Tracks modifications such as creations, deletions, or permission changes. The pageToken is optional - if not provided, the current start page token will be automatically fetched; an empty result is valid if no recent activity has occurred. Example usage: ```json { "pageToken": "22633", "pageSize": 100, "includeRemoved": true } ``` Returns changes with timestamps, file IDs, and modification details. Paginate by following `nextPageToken` until it is absent — stopping early will silently omit changes. Save `newStartPageToken` to monitor future changes efficiently. |
| `GOOGLEDRIVE_LIST_CHILDREN_V2` | List Folder 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. |
| `GOOGLEDRIVE_LIST_COMMENTS` | List Comments | Tool to list all comments for a file in Google Drive. Results are paginated; iterate using nextPageToken until absent to retrieve all comments. Filtering by author, content, or other criteria must be done client-side. Use commentId, createdTime, and author from results to uniquely identify comments before acting on them. |
| `GOOGLEDRIVE_LIST_FILE_LABELS` | List File Labels | Tool to list the labels already applied to a file in Google Drive. An empty labels array is a valid response indicating no labels are applied, not an error. This tool shows only applied labels; label_id and field_id values required by other Drive label tools must be obtained from admin configuration. |
| `GOOGLEDRIVE_LIST_FILE_PROPERTIES` | List Properties (v2 API) | 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. |
| `GOOGLEDRIVE_LIST_PERMISSIONS` | 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. |
| `GOOGLEDRIVE_LIST_REPLIES` | 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. |
| `GOOGLEDRIVE_LIST_REVISIONS` | List File Revisions | Tool to list a file's revision metadata (not content) in Google Drive. Drive may prune old revisions, so history may be incomplete for frequently edited files. Filter client-side for specific revisionIds; do not assume the last entry is the active version. |
| `GOOGLEDRIVE_LIST_SHARED_DRIVES` | 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. Results may differ from the web UI due to admin policies; listing a drive does not guarantee access to its contents. Paginated calls may trigger 403 rateLimitExceeded or 429 tooManyRequests; apply exponential backoff when iterating many pages. |
| `GOOGLEDRIVE_MODIFY_FILE_LABELS` | Modify File 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. |
| `GOOGLEDRIVE_MOVE_FILE` | Move File | Tool to move a file from one folder to another in Google Drive. To truly move (not just copy the parent), always provide both `add_parents` (destination folder ID) and `remove_parents` (source folder ID); omitting `remove_parents` leaves the file in multiple folders. Useful for reorganizing files, including newly created Google Docs/Sheets that default to Drive root. |
| `GOOGLEDRIVE_PATCH_PERMISSION` | 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. |
| `GOOGLEDRIVE_PATCH_PROPERTY` | Patch Property (v2 API) | 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. |
| `GOOGLEDRIVE_RESUMABLE_UPLOAD` | Resumable Upload | Tool to start and complete a Google Drive resumable upload session. Use for files larger than ~5 MB to avoid timeouts or size-limit failures. HTTP 308 means continue the session from the correct byte offset; HTTP 410 means the session expired and a full restart with a new session is required. |
| `GOOGLEDRIVE_STOP_WATCH_CHANNEL` | 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. Both `id` and `resourceId` must be saved from the original watch response — they cannot be retrieved after the fact. |
| `GOOGLEDRIVE_TRASH_FILE` | 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. |
| `GOOGLEDRIVE_UNHIDE_DRIVE` | Unhide Shared Drive | Tool to unhide a shared drive. Use when you need to restore a shared drive to the default view. |
| `GOOGLEDRIVE_UNTRASH_FILE` | 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. Only works while the file remains in trash — recovery is impossible after trash is emptied via GOOGLEDRIVE_EMPTY_TRASH or auto-purged by policy. |
| `GOOGLEDRIVE_UPDATE_COMMENT` | 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'. |
| `GOOGLEDRIVE_UPDATE_DRIVE` | Update Shared 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. |
| `GOOGLEDRIVE_UPDATE_FILE_METADATA_PATCH` | Update File Metadata (PATCH v2) | 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. |
| `GOOGLEDRIVE_UPDATE_FILE_PROPERTY` | Update Property (v2 API) | 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. |
| `GOOGLEDRIVE_UPDATE_FILE_PUT` | Update File (Metadata) | Updates file metadata. Uses PATCH semantics (partial update) as per Google Drive API v3 — only explicitly provided fields are updated, so omit fields you do not intend to overwrite. Use this tool to modify attributes of an existing file like its name, description, or parent folders. To move a file, supply add_parents and remove_parents together; omitting remove_parents creates multiple parents, omitting add_parents can orphan the file. Bulk updates may trigger 429 Too Many Requests; apply exponential backoff. Note: supports metadata updates only; file content updates are not yet implemented. |
| `GOOGLEDRIVE_UPDATE_FILE_REVISION_METADATA` | 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. |
| `GOOGLEDRIVE_UPDATE_PERMISSION` | 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. Inherited or domain-managed permissions may not be editable; verify editability with GOOGLEDRIVE_LIST_PERMISSIONS before updating. |
| `GOOGLEDRIVE_UPDATE_REPLY` | 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. |
| `GOOGLEDRIVE_UPLOAD_FILE` | Upload File | Uploads a file (max 5MB) to Google Drive, placing it in the specified folder or root if no valid folder ID is provided. Always creates a new file (never updates existing); use GOOGLEDRIVE_EDIT_FILE to update with a stable file_id. Uploaded files are private by default; configure sharing via GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE. |
| `GOOGLEDRIVE_UPLOAD_FROM_URL` | Upload File from URL to Drive | 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. |
| `GOOGLEDRIVE_UPLOAD_UPDATE_FILE` | Upload/Update File Content | 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. |
| `GOOGLEDRIVE_WATCH_CHANGES` | Watch Drive 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. Notifications may be batched rather than per-change; design handlers to be idempotent and fetch all changes since the last known page_token on each notification. |
| `GOOGLEDRIVE_WATCH_FILE` | Watch File for Changes | 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. |

## Supported Triggers

| Trigger slug | Name | Description |
|---|---|---|
| `GOOGLEDRIVE_COMMENT_ADDED_TRIGGER` | Comment Added (Docs/Sheets/Slides) | Triggers when a new comment is added to Google Docs, Sheets, or Slides. |
| `GOOGLEDRIVE_FILE_CREATED_TRIGGER` | File Created | Triggers when a new file is created in Google Drive. |
| `GOOGLEDRIVE_FILE_DELETED_OR_TRASHED_TRIGGER` | File Deleted or Trashed | Triggers when a file is moved to trash or permanently deleted in Drive. |
| `GOOGLEDRIVE_FILE_SHARED_PERMISSIONS_ADDED` | File Shared (Permissions Added) | Triggers when new sharing permissions are granted to a file or folder. Uses Drive's `changes.list` endpoint with inline `permissions` in the `fields` mask so each change carries the file's current permission set provider-atomically. We diff that against `seen_permission_keys` to identify newly added grants. Drive page tokens are the primary cursor; if Drive rejects a stored token, the trigger raises `PollingTriggerError` without clearing state rather than silently re-baselining and dropping events. Limitation: truly ephemeral permissions (added and revoked between two polls without any other file modification in between) are not detected. Drive Activity API would catch those but requires an additional OAuth scope and a different payload contract. |
| `GOOGLEDRIVE_FILE_UPDATED_TRIGGER` | File Updated | Triggers when a file's metadata or content changes in Google Drive. |
| `GOOGLEDRIVE_GOOGLE_DRIVE_CHANGES` | Google Drive Changes | Triggers when changes are detected in a Google Drive. |
| `GOOGLEDRIVE_NEW_FILE_MATCHING_QUERY_TRIGGER` | New File Matching Query | Triggers when a new Google Drive file matches a provided query. This is the legacy query-centric trigger: it preserves Drive API query config such as ``corpora`` / ``driveId`` aliases and emits the historical ``file_matching_query`` event type. ``FileCreatedTrigger`` covers the broader "new file" case and emits ``file_created``. |

## Troubleshooting

### 1. Why doesn't Muse show a button to add my API key?

Muse shows the button only when you ask it to open the secure credentials store.
- Start a new chat.
- Send the message from step 1 exactly as written.
- If Muse asks for the key in the chat, do not paste it. Ask Muse to open the secure credentials store.

### 2. Why does the Composio connection fail after I add my API key?

The key or the connector settings are not correct.
- Copy the full key from the Composio dashboard. It starts with ck_.
- Make sure the URL is https://connect.composio.dev/mcp and the header is x-consumer-api-key.
- Remove the Composio connector in Muse settings, then do steps 1 to 3 again.

### 3. Why doesn't Muse use the Composio tools for Google Drive?

Muse may not pick the Composio connector for the request.
- Ask Muse to list its Composio tools.
- Name Composio and Google Drive in your request, for example: Use Composio to connect to Google Drive.
- If it still does not work, start a new chat and try again.

### 4. Why does Muse ask me to connect Google Drive again?

Your Google Drive connection expired or was removed.
- Open the link Muse gives you and sign in to Google Drive again.
- Check that the Google Drive connection shows as ACTIVE in the Composio dashboard.

### 5. What do I do if I pasted my API key into the chat?

Treat the key as exposed.
- Create a new API key in the Composio dashboard and delete the old one.
- Add the new key in Muse's secure credentials store, not in the chat.

## Creating MCP Server - Stand-alone vs Composio SDK

Once connected, Muse can access the Google Drive MCP server through Composio to run the actions you authorize, using plain language in the chat.

## Complete Code

None listed.

## Conclusion

### Way Forward
Now that Google Drive is connected, extend your setup by connecting the other apps you already use every day, so Muse can run true cross-app workflows end to end.
- Connect Calendar to turn threads into scheduled meetings automatically.
- Connect Slack or Teams to post summaries, approvals, and alerts where your team works.
- Connect Notion, Linear, Jira, or Asana to convert requests into tickets, tasks, and docs.
- Connect Drive, Dropbox, or OneDrive to fetch, file, and share attachments without manual steps.
Start with one workflow you do repeatedly, then keep adding apps as you find new handoffs. With everything behind a single connection, Muse can coordinate multiple tools safely and reliably in one conversation.

## How to build Google Drive MCP Agent with another framework

- [Claude Code](https://composio.dev/toolkits/googledrive/framework/claude-code)
- [Cursor](https://composio.dev/toolkits/googledrive/framework/cursor)
- [ChatGPT](https://composio.dev/toolkits/googledrive/framework/chatgpt)
- [Claude Cowork](https://composio.dev/toolkits/googledrive/framework/claude-cowork)
- [Antigravity](https://composio.dev/toolkits/googledrive/framework/antigravity)
- [OpenAI Agents SDK](https://composio.dev/toolkits/googledrive/framework/open-ai-agents-sdk)
- [Claude Agent SDK](https://composio.dev/toolkits/googledrive/framework/claude-agents-sdk)
- [Grok Bot](https://composio.dev/toolkits/googledrive/framework/grok-bot)
- [Codex](https://composio.dev/toolkits/googledrive/framework/codex)
- [Grok Build](https://composio.dev/toolkits/googledrive/framework/grok-build)
- [VS Code](https://composio.dev/toolkits/googledrive/framework/vscode)
- [OpenCode](https://composio.dev/toolkits/googledrive/framework/opencode)
- [OpenClaw](https://composio.dev/toolkits/googledrive/framework/openclaw)
- [Hermes](https://composio.dev/toolkits/googledrive/framework/hermes-agent)
- [Atomic Agent](https://composio.dev/toolkits/googledrive/framework/atomic-agent)
- [Google ADK](https://composio.dev/toolkits/googledrive/framework/google-adk)
- [LangChain](https://composio.dev/toolkits/googledrive/framework/langchain)
- [Vercel AI SDK](https://composio.dev/toolkits/googledrive/framework/ai-sdk)
- [Mastra AI](https://composio.dev/toolkits/googledrive/framework/mastra-ai)
- [LlamaIndex](https://composio.dev/toolkits/googledrive/framework/llama-index)
- [CrewAI](https://composio.dev/toolkits/googledrive/framework/crew-ai)
- [Pydantic AI](https://composio.dev/toolkits/googledrive/framework/pydantic-ai)
- [AutoGen](https://composio.dev/toolkits/googledrive/framework/autogen)

## Related Toolkits

- [Google Docs](https://composio.dev/toolkits/googledocs) - Google Docs is a cloud-based word processor that enables document creation and real-time collaboration. Its seamless sharing and version history make team editing and content management a breeze.
- [Google Super](https://composio.dev/toolkits/googlesuper) - Google Super is an all-in-one suite combining Gmail, Drive, Calendar, Sheets, Analytics, and more. It gives you a unified platform to manage your digital life, boosting productivity and organization.
- [ActiveMerge](https://composio.dev/toolkits/active_merge) - ActiveMerge is a document automation platform for generating documents, images, merged files, and e-signature workflows. It helps teams turn templates and stored files into finished, shareable documents faster.
- [Affinda](https://composio.dev/toolkits/affinda) - Affinda is an AI-powered document processing platform that automates data extraction from resumes, invoices, and more. It streamlines document-heavy workflows by turning files into structured, actionable data.
- [Agility cms](https://composio.dev/toolkits/agility_cms) - Agility CMS is a headless content management system for building and managing digital experiences across platforms. It lets teams update content quickly and deliver omnichannel experiences with ease.
- [Airparser](https://composio.dev/toolkits/airparser) - Airparser is an AI-powered parser for extracting structured data from emails, documents, PDFs, and files. It turns messy inbound content into clean fields your apps and workflows can use.
- [Algodocs](https://composio.dev/toolkits/algodocs) - Algodocs is an AI-powered platform that automates data extraction from business documents. It delivers fast, secure, and accurate processing without templates or manual training.
- [Api2pdf](https://composio.dev/toolkits/api2pdf) - Api2Pdf is a REST API for generating PDFs from HTML, URLs, and documents using powerful engines like wkhtmltopdf and Headless Chrome. It streamlines document conversion and automation for developers and businesses.
- [Archive.org](https://composio.dev/toolkits/archive_org) - Archive.org is the Internet Archive's digital library of websites, books, audio, video, and images. Use it to preserve, explore, and access historical web captures and public-domain media.
- [Aryn](https://composio.dev/toolkits/aryn) - Aryn is an AI-powered platform for parsing, extracting, and analyzing data from unstructured documents. Use it to automate document processing and unlock actionable insights from your files.
- [Boldsign](https://composio.dev/toolkits/boldsign) - Boldsign is a digital eSignature platform for sending, signing, and tracking documents online. Organizations use it to automate agreements and manage legally binding workflows efficiently.
- [Boloforms](https://composio.dev/toolkits/boloforms) - BoloForms is an eSignature platform built for small businesses, offering unlimited signatures, templates, and forms. It simplifies digital document signing and team collaboration at a predictable, fixed price.
- [Box](https://composio.dev/toolkits/box) - Box is a cloud content management and file sharing platform for businesses. It helps teams securely store, organize, and collaborate on files from anywhere.
- [Carbone](https://composio.dev/toolkits/carbone) - Carbone is a blazing-fast report generator that turns JSON data into PDFs, Word docs, spreadsheets, and more using flexible templates. It lets you automate document creation at scale with minimal code.
- [Castingwords](https://composio.dev/toolkits/castingwords) - CastingWords is a transcription service specializing in human-powered, accurate transcripts via a simple API. Get seamless audio-to-text conversion for interviews, meetings, podcasts, and more.
- [CertSeal](https://composio.dev/toolkits/cert_seal) - CertSeal is an API platform for issuing and managing verifiable digital certificates. Use it to automate trusted certificate workflows for recipients, batches, designs, and webhooks.
- [Cloudconvert](https://composio.dev/toolkits/cloudconvert) - CloudConvert is a powerful file conversion service supporting over 200 file formats. It streamlines converting, compressing, and managing documents, media, and more, all in one place.
- [Cloudlayer](https://composio.dev/toolkits/cloudlayer) - Cloudlayer is a document and asset generation service for creating PDFs and images via API or SDKs. It lets you automate high-quality doc creation, saving dev time and reducing manual work.
- [CloudPDF](https://composio.dev/toolkits/cloud_pdf) - CloudPDF is an API platform for creating, uploading, managing, and sharing PDF documents. Use it to build secure PDF workflows with webhooks, share links, and access control.
- [Cloudpress](https://composio.dev/toolkits/cloudpress) - Cloudpress is a content export tool for Google Docs and Notion. It automates publishing to your favorite Content Management Systems.

## Frequently Asked Questions

### Does Muse support MCP?

Yes. Muse supports custom connectors that use the Model Context Protocol (MCP). Composio connects as one custom connector over remote streamable HTTP at https://connect.composio.dev/mcp, and gives Muse access to Google Drive and 1,500+ other apps.

### Where do I get the API key for the Composio connector?

Copy it from the Composio dashboard. It starts with ck_. Enter it only in Muse's secure credentials store, never in the chat.

### Can I connect more than one Google Drive account to Muse?

Yes. Composio supports multiple connected accounts for the same app. Give each Google Drive connection a name, such as work or personal, and tell Muse which one to use.

### How safe is my Google Drive data with Composio?

Tokens, keys, and configuration are encrypted at rest and in transit. Your Composio API key stays in Muse's secure credentials store, not in the chat or the model context. Composio is SOC 2 Type 2 compliant.

---
[See all toolkits](https://composio.dev/toolkits) · [Composio docs](https://docs.composio.dev/llms.txt)
