Mattering Automations Supabase integration
Connect Supabase to Mattering Automations: organizations, projects, SQL and migrations, preview branches, Edge Functions, secrets, and project config as workflow steps, authenticated with a Supabase personal access token.
The Mattering Automations Supabase integration adds the Supabase Management API to your automation canvas: list organizations and projects, create, pause, restart, and delete projects, run SQL and apply migrations against a project database, drive preview branches, manage Edge Functions, secrets, and API keys, read and update project config, and pull security advisors, performance advisors, logs, and usage counts.
Scope matters here, so it is stated up front. This integration covers the Management API at api.supabase.com, which is the administration surface for your organizations and projects. It does not cover the per-project Data API (PostgREST), Auth, Storage objects, or Realtime, because each of those lives on your project's own host and uses a per-project key, while a connector holds one credential per workspace. Table data is still reachable through the SQL nodes, which is covered below.
Setup takes a few minutes: create a personal access token in your Supabase account settings, attach it as a credential in Mattering, and run the List Organizations node to confirm it works. This guide walks through each step and ends with the full node reference.
Before you start
- A Supabase account with access to the organizations and projects you want to automate.
- A Mattering workspace with access to the Automations app.
- Membership of the Supabase organization you are targeting, with a role that permits the actions your workflow will take. A personal access token carries your own permissions and nothing more.
- For a project's ref, the 20 character project identifier from the dashboard URL. Most nodes need it, and Supabase: List Projects returns it for every project you can reach.
Create a Supabase personal access token
Mattering authenticates to the Supabase Management API with a personal access token, sent as a bearer credential. You create it once from your Supabase account settings, not from an individual project.
Connect Supabase to Mattering
Verify it works
After connecting, open any automation canvas and check the palette: a Supabase section should list the query and action nodes. Drop Supabase: List Organizations onto the canvas, leave the config empty, and run a test step. It is a safe read that takes no arguments, so a successful response returns every organization your token can see and confirms the credential works.
Next, add Supabase: List Projects and run it. The response gives you each project's ref, region, status, and Postgres version. Copy a ref, because almost every other node needs it.
To confirm database access, add Supabase: Run Read-Only SQL Query, set the ref, and run a harmless statement such as select now(). It executes as the read-only Postgres role, so it cannot change anything. If you would rather not touch SQL yet, Supabase: Get Project Health with the same ref reports per service status instead.
Node reference
69 nodes, generated from the connector itself so this reference always matches what ships.
Read and query nodes 42
Supabase: Diff Branch
supabase_diff_branch
[Beta] Diff a preview branch against its parent. Returns SQL text, not JSON, so the body arrives under data.raw_body.
Supabase: Generate TypeScript Types
supabase_generate_typescript_types
Generate TypeScript type definitions for the project's schema. Returns the .ts source as a string.
Supabase: Get API Usage Counts
supabase_get_usage_api_counts
Get request counts per service (auth, realtime, rest, storage) bucketed over an interval.
Supabase: Get Auth Config
supabase_get_auth_config
Get the project's GoTrue auth settings: site URL, redirect allow list, token expiry, provider toggles.
Supabase: Get Branch Config
supabase_get_branch_config
Get a branch's database connection config: Postgres version, host, port, and (when the token is allowed to see them) credentials.
Supabase: Get Branch by Name
supabase_get_branch
Get one preview branch on a project by its branch name.
Supabase: Get Connection Pooler Config
supabase_get_pooler_config
Get the project's Supavisor pooler config, including the pooled connection strings.
Supabase: Get Database Context
supabase_get_database_context
Get database metadata for the project: databases, schemas, and tables. Useful as agent grounding before writing SQL.
Supabase: Get Edge Function
supabase_get_function
Get one Edge Function's metadata by slug.
Supabase: Get Edge Function Body
supabase_get_function_body
Retrieve an Edge Function's deployed source. Non-JSON bodies arrive under data.raw_body.
Supabase: Get Network Restrictions
supabase_get_network_restrictions
[Beta] Get the project's allowed database CIDR ranges (IPv4 and IPv6) and whether they are applied.
Supabase: Get Organization
supabase_get_organization
Get one organization: name, plan, opt-in tags, and allowed release channels.
Supabase: Get Performance Advisors
supabase_get_performance_advisors
Run Supabase's performance lints: unindexed foreign keys, unused indexes, duplicate indexes, RLS init-plan issues.
Supabase: Get PostgREST Config
supabase_get_postgrest_config
Get the project's PostgREST (Data API) config: exposed schemas, max rows, pool settings.
Supabase: Get PostgREST OpenAPI Spec
supabase_get_postgrest_openapi
Get the PostgREST-generated OpenAPI document describing the project's Data API (tables, views, RPC functions).
Supabase: Get Postgres Config
supabase_get_postgres_config
Get the project's tunable Postgres parameters (work_mem, max_connections, statement_timeout, logging).
Supabase: Get Profile
supabase_get_profile
Get the Supabase user profile that owns the personal access token.
Supabase: Get Project
supabase_get_project
Get one project: name, org, region, status, and database host/version.
Supabase: Get Project Health
supabase_get_project_health
Health check per service (auth, db, pooler, realtime, rest, storage). Returns healthy/status per requested service.
Supabase: Get Realtime Config
supabase_get_realtime_config
Get the project's Realtime limits: concurrent users, events/second, payload size, presence.
Supabase: Get SQL Snippet
supabase_get_snippet
Get one saved SQL Editor snippet, including its SQL content.
Supabase: Get SSL Enforcement
supabase_get_ssl_enforcement
[Beta] Get whether the project requires SSL for database connections.
Supabase: Get Security Advisors
supabase_get_security_advisors
Run Supabase's security lints on the project: exposed auth tables, RLS disabled or missing policies, security-definer views.
Supabase: Get Storage Config
supabase_get_storage_config
Get the project's Storage config: file size limit and feature toggles (image transformation, S3 protocol).
Supabase: Get Upgrade Eligibility
supabase_get_upgrade_eligibility
[Beta] Check whether the project can be upgraded, with target versions, duration estimate, and blocking validation errors.
Supabase: Get Upgrade Status
supabase_get_upgrade_status
[Beta] Get the latest status of a project's Postgres upgrade.
Supabase: List API Keys
supabase_list_api_keys
List the project's API keys (legacy anon/service_role plus the newer publishable/secret keys). Set reveal to true to return the key values. Treat the output as a secret.
Supabase: List Available Regions
supabase_list_available_regions
[Beta] List the regions a new project can be created in for an organization, with Supabase's recommended smart group.
Supabase: List Backups
supabase_list_backups
List available database backups plus the project's PITR/WAL-G settings.
Supabase: List Branches
supabase_list_branches
List all preview branches on a project, with migration status and git branch links.
Supabase: List Edge Functions
supabase_list_functions
List the project's Edge Functions with slug, status, and version.
Supabase: List Migrations
supabase_list_migrations
List the migration versions applied to the project database.
Supabase: List Organization Members
supabase_list_organization_members
List the members of an organization with their role and MFA status.
Supabase: List Organization Projects
supabase_list_organization_projects
List an organization's projects with pagination, search, sorting, and status filtering. Includes preview-branch projects (is_branch = true).
Supabase: List Organizations
supabase_list_organizations
List every Supabase organization the personal access token can see. Takes no parameters, so this is the connector's auth probe. run it first to confirm the token works.
Supabase: List Projects
supabase_list_projects
List every project the token can reach, across all organizations, with region, status, and Postgres version.
Supabase: List Restore Versions
supabase_list_restore_versions
List the Postgres versions a paused/restorable project can be restored onto.
Supabase: List SQL Snippets
supabase_list_snippets
List the saved SQL Editor snippets visible to the token's user, optionally scoped to one project.
Supabase: List Secrets
supabase_list_secrets
List the project's Edge Function secrets (environment variables) and their values.
Supabase: List Storage Buckets
supabase_list_storage_buckets
List the project's Storage buckets and whether each is public. Object-level operations live on the per-project Storage API, which this connector does not cover.
Supabase: Query Logs
supabase_get_logs
Query the project's logs (edge, Postgres, auth, functions) with a SQL statement over the log tables, optionally windowed by ISO timestamps.
Supabase: Run Read-Only SQL Query
supabase_run_readonly_query
[Beta] Run SQL as the supabase_read_only_user role. The safe way to read project data from an automation. Writes are rejected by the database, not by us.
Action nodes 27
Supabase: Apply Migration
supabase_apply_migration
Apply a database migration and record it in the migration history. Schema changes take effect immediately on the target project.
Supabase: Apply Network Restrictions
supabase_apply_network_restrictions
[Beta] Replace the project's database allow list. This REPLACES the existing CIDRs. Omitting your own range locks you out of the database.
Supabase: Create API Key
supabase_create_api_key
Create a new publishable or secret API key for a project.
Supabase: Create Branch
supabase_create_branch
Create a preview branch on a project. A branch provisions its own Postgres instance, so it is billable on paid plans.
Supabase: Create Edge Function
supabase_create_function
Create an Edge Function from inline source (the JSON body variant of the create endpoint). The function goes live once deployed.
Supabase: Create Project
supabase_create_project
Create a new Supabase project in an organization. Billable on paid plans. A new project on a Pro org starts accruing compute charges.
Supabase: Create Secrets
supabase_create_secrets
Bulk-create or overwrite Edge Function secrets. An existing secret with the same name is replaced.
Supabase: Delete API Key
supabase_delete_api_key
DESTRUCTIVE: permanently revokes an API key. Every client still presenting it starts getting 401s immediately.
Supabase: Delete Branch
supabase_delete_branch
DESTRUCTIVE: deletes a preview branch and the branch database behind it. Any data written only on the branch is lost.
Supabase: Delete Edge Function
supabase_delete_function
DESTRUCTIVE: permanently removes an Edge Function and its deployed source. Callers of its URL start getting 404s.
Supabase: Delete Project
supabase_delete_project
DESTRUCTIVE: permanently deletes the project and its database. The data is not recoverable through the API; take a backup first.
Supabase: Delete Secrets
supabase_delete_secrets
DESTRUCTIVE: permanently removes the named Edge Function secrets. Functions reading them start failing on the next invocation.
Supabase: Enable Database Webhooks
supabase_enable_database_webhooks
[Beta] Enable Database Webhooks (the supabase_functions schema) on the project.
Supabase: Merge Branch
supabase_merge_branch
Merge a preview branch's migrations into its parent project. This applies schema changes to production. Review the diff first.
Supabase: Pause Project
supabase_pause_project
Pause a project. The database goes offline and every API/Data endpoint for it stops answering until it is restored from the dashboard. Disruptive, but reversible.
Supabase: Push Branch
supabase_push_branch
Push pending migrations to a preview branch. Returns the workflow run id to poll.
Supabase: Reset Branch
supabase_reset_branch
DESTRUCTIVE: wipes the preview branch database and re-runs its migrations from scratch. All data on the branch is discarded.
Supabase: Restart Project
supabase_restart_project
Restart a project's services. Causes a short outage while it comes back up.
Supabase: Run SQL Query
supabase_run_query
[Beta] Run arbitrary SQL against the project database with full privileges. DESTRUCTIVE: the statement is whatever you send, so DROP/DELETE/TRUNCATE run for real and are not reversible. Prefer Supabase: Run Read-Only SQL Query for reads.
Supabase: Update Auth Config
supabase_update_auth_config
Update the project's auth settings. The endpoint accepts ~200 documented fields, so this node takes the JSON body directly.
Supabase: Update Branch Config
supabase_update_branch_config
Update a preview branch: rename it, relink its git branch, or change its persistence/review flags.
Supabase: Update Database Password
supabase_update_database_password
Rotate the project's Postgres password. Every client using the old connection string breaks until it is updated.
Supabase: Update PostgREST Config
supabase_update_postgrest_config
Update the Data API config. Changing db_schema changes which schemas are publicly exposed through PostgREST. Review carefully.
Supabase: Update Postgres Config
supabase_update_postgres_config
Update tunable Postgres parameters. Some parameters require a database restart, which briefly interrupts connections.
Supabase: Update Project
supabase_update_project
Rename a project. The Management API exposes only `name` on this endpoint.
Supabase: Update SSL Enforcement
supabase_update_ssl_enforcement
[Beta] Turn database SSL enforcement on or off. Turning it ON breaks any client connecting without SSL.
Supabase: Update Storage Config
supabase_update_storage_config
Update the project's Storage config (file size limit, feature toggles).
Using the integration
On the automation canvas
Supabase nodes chain with every other node: a failing health check can open an assigned task in Mattering Productivity, an advisor finding can be summarized by an AI step before anyone reads it, and a merged preview branch can post to a channel in the same flow.
From AI assistants over MCP
Every node speaks MCP, the open protocol for connecting AI assistants to tools. Claude, ChatGPT, and Matter can inspect projects, read schemas, query data, and manage branches and functions through the same nodes your workflows use.
Reaching table data without the Data API
Use [[Supabase: Get Database Context]] to list schemas and tables, then [[Supabase: Run Read-Only SQL Query]] for reads and [[Supabase: Run SQL Query]] for writes. If a flow genuinely needs PostgREST request semantics, [[Supabase: List API Keys]] with reveal set to true returns the project key and the platform's HTTP Request node can call your project host directly.
Working with preview branches
[[Supabase: Create Branch]] provisions a branch database, [[Supabase: Push Branch]] applies pending migrations and returns a workflow run id to poll, [[Supabase: Diff Branch]] returns the SQL difference against the parent, and [[Supabase: Merge Branch]] applies those migrations to the parent project. Review the diff before the merge: it changes the parent.
Handling the destructive nodes
Seven nodes are marked destructive in the palette: [[Supabase: Delete Project]], [[Supabase: Delete Branch]], [[Supabase: Reset Branch]], [[Supabase: Delete Secrets]], [[Supabase: Delete API Key]], [[Supabase: Delete Edge Function]], and [[Supabase: Run SQL Query]]. Keep them out of agent-triggered paths unless a human step approves the run, and prefer the read-only query node whenever a workflow only needs to read.
Troubleshooting
Every node returns 401 Unauthorized
List Organizations works, but a project node returns 403 or not found
A node fails because the project ref looks wrong
You expected a Data API or Storage object call and there is no node for it
Create Project or a branch node returns a plan, quota, or entitlement error
Run SQL Query did something you did not intend
A node output contains keys, secrets, or a password
A response arrives under data.raw_body instead of parsed JSON
Applying network restrictions locked you out of the database
Related
The Supabase MCP
What connecting Supabase unlocks for AI agents and automations, with common uses and FAQs.
More guides
All Automations documentation
Every integration guide, plus how connectors, credentials, and workflows fit together.
Supabase is a trademark of its respective owner. Mattering uses platform names to identify the services these integrations connect to; no endorsement or affiliation is implied.