Google Drive (OAuth) node reference - all 47 operations, the credential it needs, and a worked example.
Google Drive with a connected Google account. Files (list, search, get, download, upload, replace contents, rename, copy, move, trash, restore), sharing and permissions, comments and replies, version history, shared drives, change tracking and storage quota.
Credential: Google account - see Credentials.
Each operation below lists the scope it needs. Scopes are ticked as a scope preset when you connect the Google account, then consented to on Google's screen — note Google treats both Drive scopes as RESTRICTED, so a production app needs verification. Unlike Calendar, the two presets are NOT nested: 22 of the 47 operations run on read-only and the other 25 need full access. If a run fails with a permission error, the node names the missing scope in the error - grant it and re-run; you do not need to rebuild the workflow.
| Operation | What it does | Scope |
|---|
listFiles | List files | Google Drive (read-only) — drive.readonly |
searchFiles | Search files by text | Google Drive (read-only) — drive.readonly |
getFile | Get file metadata | Google Drive (read-only) — drive.readonly |
downloadFile | Download file contents | Google Drive (read-only) — drive.readonly |
exportGoogleDoc | Export a Google Doc/Sheet/Slide | Google Drive (read-only) — drive.readonly |
generateFileIds | Generate file IDs | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
uploadFile | Upload a file | Google Drive (full access) — drive |
updateFileContent | Replace a file's contents | Google Drive (full access) — drive |
updateFile | Update file details (rename, describe, star) | Google Drive (full access) — drive |
createFolder | Create folder | Google Drive (full access) — drive |
copyFile | Copy file | Google Drive (full access) — drive |
moveFile | Move file to another folder | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
deleteFile | Move file to trash | Google Drive (full access) — drive |
untrashFile | Restore file from trash | Google Drive (full access) — drive |
emptyTrash | Empty trash | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
shareFile | Share file | Google Drive (full access) — drive |
listPermissions | List who a file is shared with | Google Drive (read-only) — drive.readonly |
getPermission | Get one sharing permission | Google Drive (read-only) — drive.readonly |
updatePermission | Change someone's access | Google Drive (full access) — drive |
unshareFile | Revoke access | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
listAccessProposals | List pending access requests | Google Drive (full access) — drive |
getAccessProposal | Get one access request | Google Drive (full access) — drive |
resolveAccessProposal | Approve or deny an access request | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
createComment | Add a comment | Google Drive (full access) — drive |
listComments | List comments | Google Drive (read-only) — drive.readonly |
getComment | Get a comment | Google Drive (read-only) — drive.readonly |
updateComment | Edit a comment | Google Drive (full access) — drive |
deleteComment | Delete a comment | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
createReply | Reply to a comment (or resolve it) | Google Drive (full access) — drive |
listReplies | List replies | Google Drive (read-only) — drive.readonly |
getReply | Get a reply | Google Drive (read-only) — drive.readonly |
updateReply | Edit a reply | Google Drive (full access) — drive |
deleteReply | Delete a reply | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
listRevisions | List versions | Google Drive (read-only) — drive.readonly |
getRevision | Get version details | Google Drive (read-only) — drive.readonly |
downloadRevision | Download an old version | Google Drive (read-only) — drive.readonly |
updateRevision | Keep a version forever / publish it | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
listSharedDrives | List shared drives | Google Drive (read-only) — drive.readonly |
getSharedDrive | Get shared drive | Google Drive (read-only) — drive.readonly |
createSharedDrive | Create shared drive | Google Drive (full access) — drive |
updateSharedDrive | Update shared drive | Google Drive (full access) — drive |
hideSharedDrive | Hide shared drive | Google Drive (full access) — drive |
unhideSharedDrive | Unhide shared drive | Google Drive (full access) — drive |
deleteSharedDrive | Delete shared drive | Google Drive (full access) — drive |
| Operation | What it does | Scope |
|---|
getChangesStartToken | Get a change-tracking start token | Google Drive (read-only) — drive.readonly |
listChanges | List changes since a token | Google Drive (read-only) — drive.readonly |
| Operation | What it does | Scope |
|---|
getStorageQuota | Get storage quota and account info | Google Drive (read-only) — drive.readonly |
Share a generated file with the client who requested it
An earlier node produced a file in Drive (an upload, a copy, or an export). This node grants the requester read access and returns a link you can paste straight into the reply. Google's own notification emails are suppressed, so the workflow controls the messaging.
Set Operation to shareFile, then fill in:
| Field | Value | Notes |
|---|
fileId | {{upload.fileId}} | From the upstream Drive node |
shareType | user | One of user, group, domain, anyone |
email | {{trigger.requester.email}} | Required for user and group shares |
role | reader | One of reader, commenter, writer, fileOrganizer, organizer, owner. The last two only apply on a shared drive; owner also requires transferOwnership |
sendNotificationEmail | unchecked | Off by default, so Google stays quiet and the workflow owns the messaging |
Sets {{shared.webViewLink}} (the open-in-Drive URL), {{shared.permissionId}} and {{shared.fileId}}. An email node then sends {{shared.webViewLink}}. To see everyone a file is already shared with, run listPermissions on the same file id and read {{shared.permissions}}.