Supabase integration
In short
List projects, read their status and run SQL on their databases. Connect it on the Integrations page; your app then calls Supabase through Sapilon without ever holding a Supabase credential.
Lets your app list the Supabase projects in your organisations, read their status and Edge Functions, and run SQL against a project’s database through the Management API.
Connecting
On the Integrations page choose Connect on Supabase and fill in:
- Personal access token — supabase.com/dashboard/account/tokens → Generate new token.
Sapilon checks the key with the provider before it saves it, and stores it encrypted; it is never shown again.
- This token reaches every project in your organisations, and SQL runs with full rights: connect a dedicated account for anything long-lived.
- To use one Supabase database as your app’s own data, use its connection string as a project secret instead.
What your app can do
Only these requests are available; anything else is refused.
GET /v1/organizationsGET /v1/projectsGET /v1/projects/*GET /v1/projects/*/functionsPOST /v1/projects/*/database/queryPOST /v1/projects/*/database/query/read-only
How the agent uses it
Use integrations.request('supabase', …); paths are relative to https://api.supabase.com.
GET /v1/organizations,GET /v1/projects,GET /v1/projects/{ref}—statusisACTIVE_HEALTHYwhen it is up.GET /v1/projects/{ref}/functions— Edge Functions.POST /v1/projects/{ref}/database/query/read-only— prefer this for reading. Example:{ method: 'POST', path: '/v1/projects/abcd1234/database/query/read-only', body: { query: 'select count(*) from orders' } }. Answers the rows as JSON.POST /v1/projects/{ref}/database/query— any SQL, with full rights. Only for statements the user asked for.
Creating, pausing or deleting projects is not allowed.
More from Supabase: https://supabase.com/docs/reference/api/introduction