Google Cloud
Cloud Service account keyCall Google Cloud APIs — Cloud Storage, Compute, BigQuery — from any Windmill script, flow or app with a service account.
Set up in 3 steps
Create a service account and a key
In the Google Cloud console, open IAM & Admin, then Service Accounts. Create one, grant it the roles your scripts need, then add a key and download the JSON.
Add the resource in Windmill
Open Resources, add a resource of type gcloud, and paste the JSON — its fields map one to one.
Run your first script
Fork any script below and read 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.
Big Query Insert Rows
Create Bucket
Get Bucket
Get Object
List Buckets
Logging Write Log
Search Objects
Upload Object
Write Log
Bigquery Insert Rows
Get Object
List Buckets
Search Objects
Get Bucket Metadata
Upload An Object
Switch Instance Boot Status
Run Query
Create Bucket
Create Scheduled Query
Resource type
gcloud — the shape of the credential every script on this page expects.
| Field | Type | Required | What it is |
|---|---|---|---|
| auth_provider_x509_cert_url | string | Yes | |
| auth_uri | string | Yes | |
| client_email | string | Yes | |
| client_id | string | Yes | |
| client_x509_cert_url | string | Yes | |
| private_key | string | Yes | |
| private_key_id | string | Yes | |
| project_id | string | Yes | |
| token_uri | string | Yes | |
| type | string | Yes |
All resource types
Questions
What is gcloud_storage for?
It pairs a bucket name with the same service account key, so a script that only ever works in one bucket does not repeat it. The credential inside is identical.
Which roles should I grant?
Only what the scripts call. A service account key does not expire, so its blast radius is whatever you granted it, indefinitely.
Are my credentials stored on the hub?
Never. They live only in your own Windmill workspace, encrypted at rest.