Access Google Drive via the Google Drive API with managed OAuth authentication. Search files, manage permissions, organize folders, upload and download, and handle sharing changes.
This skill uses ClawLink for hosted connection flows and credentials so you do not need to configure Google Drive API access yourself.
Step 1: InstallStep 2: Pair AccountStep 3: Connect Google Drive
_App-specific connection GIF coming soon_Run the install command in OpenClawSign in and approve the deviceOpen the dashboard and connect Google Drive
text
┌─────────────────┐ ┌──────────────┐ ┌──────────────────┐
│ OpenClaw │────▶│ ClawLink │────▶│ Google Drive │
│ (User Chat) │ │ (OAuth) │ │ (Drive API) │
└─────────────────┘ └──────────────┘ └──────────────────┘
│ │ │
│ 1. Install Plugin │ │
│ 2. Pair Device │ │
│ 3. Connect Drive │ │
│ │ 4. Secure Token │
│ │ 5. Proxy Requests │
│ │ │
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ SKILL │ │ Dashboard│ │ Google │
│ File │ │ Auth │ │ Drive │
└──────────┘ └──────────┘ └──────────┘
Install the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.
bash
openclaw plugins install clawhub:clawlink-plugin
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
Then tell the user: "OpenClaw has been restarted. Send /new as a standalone message to start a fresh chat, then ask for Google Drive again."
bash
# Find a file by name
clawlink_call_tool --tool "googledrive_find_file" --params '{"query": "report.xlsx"}'
# Get file metadata
clawlink_call_tool --tool "googledrive_get_file_metadata" --params '{"file_id": "YOUR_FILE_ID"}'
# List permissions
clawlink_call_tool --tool "googledrive_list_permissions" --params '{"file_id": "YOUR_FILE_ID"}'
All Google Drive tool calls are authenticated automatically by ClawLink using the user's connected Google account.
No API key is required in chat. ClawLink stores the OAuth token securely and injects it into every Google Drive API request on the user's behalf.
clawlink_begin_pairing if it is not configured yet.clawlink_list_integrations to verify the connection is active.bash
clawlink_list_integrations
Response: Returns all connected integrations. Look for google-drive in the list.
bash
clawlink_list_tools --integration google-drive
Response: Returns the live tool catalog for Google Drive.
If Google Drive tools are missing or the connection shows an error:
clawlink_list_integrations to verifyclawlink_list_tools --integration google-driveToolDescriptionModegoogledrive_find_fileSearch files by name, MIME type, date, query string, and moreReadgoogledrive_find_folderFind a folder by name and optional parent folderReadgoogledrive_list_children_v2List immediate children of a folderReadgoogledrive_get_file_metadataGet file metadata (MIME type, parents, trashed status)Readgoogledrive_list_shared_drivesList all accessible shared drivesReadgoogledrive_get_driveGet a specific shared drive's metadataReadgoogledrive_get_aboutGet user info, storage quota, and Drive capabilitiesRead
ToolDescriptionModegoogledrive_create_fileCreate an empty file or folder (content added separately)Writegoogledrive_create_file_from_textCreate a file from text content (up to 10MB) with optional format conversionWritegoogledrive_create_folderCreate a new folder (parent must already exist)Writegoogledrive_upload_fileUpload a binary file up to 5MB to a folderWritegoogledrive_upload_from_urlFetch a file from a URL and upload to Drive server-sideWritegoogledrive_resumable_uploadStart and complete a resumable upload session for large filesWritegoogledrive_upload_update_fileReplace contents of an existing fileWritegoogledrive_edit_fileOverwrite binary file content (not for Google Workspace files)Write
ToolDescriptionModegoogledrive_download_fileDownload a file by ID, optionally export Google Workspace filesReadgoogledrive_download_file_operationDownload via long-running operation (for Google Vids, large files)Readgoogledrive_export_google_workspace_fileExport a Google Doc/Sheet/Slide to a specified MIME typeRead
ToolDescriptionModegoogledrive_move_fileMove a file between folders (supply both add_parents and remove_parents)Writegoogledrive_copy_file_advancedCopy a file with advanced options (labels, visibility, metadata)Writegoogledrive_add_parentAdd a parent folder to a fileWritegoogledrive_delete_parentRemove a file from a folderWritegoogledrive_insert_childAdd an existing file to a folderWritegoogledrive_delete_childRemove a file from a specific folderWritegoogledrive_create_shortcut_to_fileCreate a shortcut to an existing Drive itemWrite
ToolDescriptionModegoogledrive_update_file_metadata_patchUpdate file metadata (name, description, labels) using PATCHWritegoogledrive_update_file_putUpdate file metadata using PUT semantics (partial update)Writegoogledrive_add_propertyAdd or update a custom key-value property on a fileWritegoogledrive_patch_propertyPartially update a file propertyWritegoogledrive_update_file_propertyUpdate an existing file propertyWritegoogledrive_get_file_propertyGet a specific custom property from a fileReadgoogledrive_list_file_propertiesList all custom properties on a fileReadgoogledrive_delete_propertyDelete a property from a fileWritegoogledrive_modify_file_labelsAdd, update, or remove labels on a fileWritegoogledrive_list_file_labelsList labels applied to a fileRead
ToolDescriptionModegoogledrive_create_permissionShare a file or folder with users, groups, domains, or publiclyWritegoogledrive_update_permissionUpdate an existing permissionWritegoogledrive_patch_permissionPartially update a permissionWritegoogledrive_delete_permissionRevoke access from a file (including link-sharing)Writegoogledrive_list_permissionsList all permissions on a file or shared driveReadgoogledrive_get_permissionGet a specific permission by IDReadgoogledrive_get_permission_id_for_emailConvert an email address to a permission IDReadgoogledrive_list_access_proposalsList pending access proposals on a fileReadgoogledrive_list_approvalsList approval workflow approvals on a fileRead
ToolDescriptionModegoogledrive_create_commentCreate a comment on a fileWritegoogledrive_list_commentsList all comments on a fileReadgoogledrive_get_commentGet a specific comment by IDReadgoogledrive_update_commentUpdate a comment's contentWritegoogledrive_delete_commentPermanently delete a comment thread and all repliesWritegoogledrive_create_replyReply to an existing commentWritegoogledrive_list_repliesList replies to a commentReadgoogledrive_get_replyGet a specific replyReadgoogledrive_update_replyUpdate a replyWritegoogledrive_delete_replyDelete a specific replyWrite
ToolDescriptionModegoogledrive_create_driveCreate a new shared driveWritegoogledrive_update_driveUpdate shared drive metadata (name, theme, restrictions)Writegoogledrive_delete_drivePermanently delete a shared driveWritegoogledrive_hide_driveHide a shared drive from the default viewWritegoogledrive_unhide_driveRestore a shared drive to the default viewWrite
ToolDescriptionModegoogledrive_list_revisionsList a file's revision metadataReadgoogledrive_get_revisionGet a specific revision's metadataReadgoogledrive_update_file_revision_metadataUpdate revision metadata (keepForever, published)Writegoogledrive_delete_revisionPermanently delete a file revisionWrite
ToolDescriptionModegoogledrive_trash_fileMove a file to trash (soft delete, recoverable)Writegoogledrive_untrash_fileRestore a file from trashWritegoogledrive_google_drive_delete_folder_or_file_actionPermanently delete a file or folderWritegoogledrive_empty_trashPermanently delete ALL trashed files (irreversible)Write
ToolDescriptionModegoogledrive_get_changes_start_page_tokenGet the starting token for listing future changesReadgoogledrive_list_changesList file changes since a page tokenReadgoogledrive_watch_changesSubscribe to push notifications for Drive changesWritegoogledrive_watch_fileSubscribe to push notifications for a specific fileWritegoogledrive_stop_watch_channelStop an active watch channelWrite
ToolDescriptionModegoogledrive_generate_idsPre-allocate file IDs for new files or copiesReadgoogledrive_get_appGet information about a Drive app by IDReadgoogledrive_get_childVerify a specific child exists in a folderReadgoogledrive_get_parentGet a specific parent reference for a fileRead
bash
clawlink_call_tool --tool "googledrive_find_file" \
--params '{
"query": "name contains '\''report'\''"
}'
bash
clawlink_call_tool --tool "googledrive_create_folder" \
--params '{
"name": "Project Files",
"parent_folder_id": "YOUR_FOLDER_ID"
}'
bash
clawlink_call_tool --tool "googledrive_create_permission" \
--params '{
"file_id": "YOUR_FILE_ID",
"type": "user",
"email": "colleague@example.com",
"role": "writer",
"pending_owner": false
}'
bash
clawlink_call_tool --tool "googledrive_move_file" \
--params '{
"file_id": "YOUR_FILE_ID",
"add_parents": ["DESTINATION_FOLDER_ID"],
"remove_parents": ["SOURCE_FOLDER_ID"]
}'
bash
clawlink_call_tool --tool "googledrive_download_file" \
--params '{
"file_id": "YOUR_SHEET_ID",
"mime_type": "text/csv"
}'
bash
clawlink_call_tool --tool "googledrive_trash_file" \
--params '{
"file_id": "YOUR_FILE_ID"
}'
clawlink_list_integrations to confirm Google Drive is connected.clawlink_list_tools --integration google-drive to see the live catalog.clawlink_search_tools with a short query and integration google-drive.text
┌─────────────────────────────────────────────────────────────┐
│ READ OPERATIONS (Safe) │
│ find → list → get → describe → call │
│ │
│ Example: Find file → Get metadata → Show results │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ WRITE OPERATIONS (Require Confirmation) │
│ describe → preview → confirm → call │
│ │
│ Example: Describe tool → Preview changes → User approves │
│ → Execute update │
└─────────────────────────────────────────────────────────────┘
clawlink_describe_tool first.whenToUse, askBefore, safeDefaults, examples, and followups to shape the call.clawlink_preview_tool first.clawlink_call_tool. Pass confirmation only after the preview matches the user's intent.storageQuota in get_about reflects My Drive only, not shared drives.Status / ErrorMeaningTool not foundThe tool name does not exist in the current catalog. Verify with clawlink_list_tools --integration google-drive.Missing connectionGoogle Drive is not connected. Direct the user to https://claw-link.dev/dashboard?add=google-drive.RESOURCE_NOT_FOUNDFile or folder does not exist. Check the file_id or path.PERMISSION_DENIEDNo access to the file. Check sharing permissions.INVALID_ARGUMENTInvalid parameter or missing required field. Review the tool schema with clawlink_describe_tool.Write rejectedUser did not confirm a write action. Always confirm before executing writes.
Check that the ClawLink plugin is installed: bash
openclaw plugins list
If the plugin is installed but tools are missing, tell the user to send /new as a standalone message to reload the catalog.
If a fresh chat does not help, run: bash
openclaw config set tools.alsoAllow '["clawlink-plugin"]' --strict-json
openclaw gateway restart
After restart, tell the user to send /new again and retry.
google-drive.clawlink_describe_tool to verify parameter names and types before calling.clawlink_preview_tool first.Powered by ClawLink — an integration hub for OpenClaw
