Query a Supabase project from any Windmill script, flow or app — through the REST API with a project key, or straight over the Postgres protocol.
Set up in 3 steps
Copy the project URL and key
In Supabase, open Project Settings then API. Take the project URL and one of the keys shown there.
Add the resource in Windmill
Open Resources, add a resource of type supabase, and fill url and key.
Run your first script
Fork any script below. To query tables directly instead, add a postgresql resource — Supabase exposes the standard Postgres protocol.
Scripts
Building blocks, if none of the projects above fit. Fork one, run it, or call it as a step inside your own flow.
Authenticate with email and password
Upsert data
Delete data
Update data
Fetch data
preview supabase event
Insert data
Updates project's supavisor config
Updates project's storage config
Updates project's postgrest config
Updates project's Postgres config
Updates a project's auth config
Updates a SSO provider by its UUID
Update database branch config
Update a function
Revokes project claim token
Returns project's readonly mode status
Retrieve a function body
Retrieve a function
Restores the given project
Restores a PITR backup for a database
Resets a database branch
Removes project addon
Removes a third-party auth integration
Removes a SSO provider by its UUID
Pushes a database branch
Pauses the given project
Merges a database branch
Lists project addons
Lists available restore versions for the given project
Flows
Multi-step workflows that already wire Supabase to something else.
Resource types
The credential shapes the scripts on this page expect — pick the one your script asks for.
supabase
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| key | string | No | The unique Supabase Key which is supplied when you create a new project in your project dashboard. |
| url | string | No | The unique Supabase URL which is supplied when you create a new project in your project dashboard. |
supabase access token
View raw schema →| Field | Type | Required | What it is |
|---|---|---|---|
| accessToken | string | Yes | Found at https://supabase.com/dashboard/account/tokens |
Questions
Which key should I use?
The public key is bound by your row level security policies; the secret one bypasses them all. A resource is never sent to a script's caller, so the secret key is safe here — but it means your policies stop protecting you, so use the public key when they are what you rely on.
REST API or Postgres?
Use this resource for the REST and storage APIs. For plain SQL, add a postgresql resource against the same project — Windmill runs SQL natively and can trigger runs on INSERT, UPDATE or DELETE.
Do I need an external database at all?
Not always. Windmill data tables are managed relational storage, scoped to a workspace, with no connection string to configure or hand out. Reach for Supabase when it is already your database, or when something outside Windmill has to read it too.
Is my key stored on the hub?
Never. It lives only in your own Windmill workspace, encrypted at rest.