List, upload, update, move, share and comment on Google Drive files from any Windmill script, flow or app.
Set up in 2 steps
Connect from the Resources page
Open Resources, click Add a resource/API and pick gdrive from the OAuth APIs list. Click Connect and sign in with the Google account that owns the files, then name the resource and save it.
Run your first script
Fork any script below and list a folder before writing anything.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Update File
Resolve Comment
Reply to Comment
Remove Permission
Move File
List Permissions
List Comments
Get Folder ID for Path
Delete Comment
Add Comment
Upload File
Share File
List Files
Get File Metadata
Create File From Text
Get new files
Delete Shared Drive
Update Shared Drive
Search Shared Drives
Move File to Trash
Get Shared Drive
Create Shared Drive
Create Folder
Copy File
Delete File
Download Files (Google Docs, Sheets, Slides)
Subscribe to Watch Changes
Get Changes
Download a file
Flows
Multi-step workflows that already wire Google Drive to something else.
Trigger flows from Google Drive
Google Drive is not only a destination. These inbound paths are supported today.
Drive changes (native Google trigger)
Add a Google trigger of type Drive on a script or flow and watch a file or the whole drive: Windmill subscribes to Google's push notifications and starts a run on every change. The notification says that something changed, not what, so start from the Google native trigger template script in the gworkspace integration: for a whole-drive watch it keeps a page token in state and returns the changes since the last run, and for a single file it returns the file's metadata and recent revisions. Set its resource path to your gdrive resource. The first whole-drive notification only stores the page token.
New files (scheduled poll)
The Get new files trigger script polls Drive and returns the files created since its last run. To run it, open a flow, add a trigger and choose Scheduled Poll, then pick the trigger script and an interval. Windmill puts the script first in the flow with a loop after it, so the steps you add run once per new item. The cursor is saved per flow: two flows polling the same source each get every item, and test runs keep a cursor of their own.
Resource type
The shape of the credential every script on this page expects.
gdrive
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| token | string | Yes |
Questions
What can Windmill do in my Drive?
Everything the connected account can. The connection asks for the full drive scope, so scripts can read, write and delete — grant it an account that only holds what you intend to automate.
Can I create the resource by hand instead of connecting?
Nothing stops you — the resource is a single token field. But Google's access tokens last about an hour and only the OAuth flow returns the refresh token that renews them, which is why this page has no CLI lane.
There is no Connect button on my instance
Self-hosted instances need a Google OAuth client configured once by an admin before the tile appears.