Supabase é uma poderosa plataforma open-source de backend-as-a-service que oferece aos desenvolvedores um conjunto de ferramentas para construir, escalar e gerenciar aplicações modernas. O Supabase oferece um banco de dados PostgreSQL totalmente gerenciado, autenticação robusta, APIs RESTful e GraphQL instantâneas, subscriptions em tempo real, file storage e edge functions — tudo acessível por uma interface unificada e amigável ao desenvolvedor. Sua natureza open-source e compatibilidade com frameworks populares o tornam uma alternativa convincente ao Firebase, com o benefício adicional da flexibilidade e transparência do SQL.
Por que Supabase?
- APIs instantâneas: Cada tabela e view no seu banco de dados fica imediatamente disponível via endpoints REST e GraphQL, facilitando a construção de aplicações orientadas a dados sem escrever código de backend customizado.
- Dados em tempo real: O Supabase habilita subscriptions em tempo real, permitindo que seus apps reajam instantaneamente a mudanças no banco de dados.
- Autenticação e autorização: Gestão de usuários integrada com suporte a e-mail, OAuth, SSO e mais, além de row-level security para controle de acesso granular.
- Storage: Faça upload, sirva e gerencie arquivos com segurança com storage integrado que se conecta de forma fluida ao seu banco de dados.
- Edge Functions: Implante funções serverless perto dos seus usuários para lógica customizada de baixa latência.
Usando o Supabase no Zoen
A integração Supabase do Zoen torna simples conectar seus fluxos agentic aos seus projetos Supabase. Com apenas alguns campos de configuração — Project ID, nome da Table e Service Role Secret — você pode interagir com segurança com o banco de dados diretamente a partir dos seus blocos Zoen. A integração abstrai a complexidade das chamadas de API, permitindo que você foque em construir lógica e automações.
Principais benefícios de usar o Supabase no Zoen:
- Operações de banco no-code/low-code: Consultar, inserir, atualizar e excluir linhas nas suas tables do Supabase sem escrever SQL ou código de backend.
- Consultas flexíveis: Usar a sintaxe de filtros PostgREST para consultas avançadas, incluindo filtragem, ordenação e limitação de resultados.
- Integração fluida: Conectar facilmente o Supabase a outras ferramentas e serviços no seu fluxo de trabalho, habilitando automações poderosas como sincronização de dados, disparo de notificações ou enriquecimento de registros.
- Seguro e escalável: Todas as operações usam seu Supabase Service Role Secret, garantindo acesso seguro aos seus dados com a escalabilidade de uma plataforma cloud gerenciada.
Seja construindo ferramentas internas, automatizando processos de negócio ou alimentando aplicações de produção, o Supabase no Zoen oferece uma forma rápida, confiável e amigável ao desenvolvedor de gerenciar seus dados e lógica de backend — sem necessidade de gerenciar infraestrutura. Basta configurar seu bloco, selecionar a operação necessária e deixar o Zoen cuidar do resto.
Integrate Supabase into the workflow. Supports database operations (query, insert, update, delete, upsert), full-text search, RPC functions, Edge Function invocation, row counting, vector search, and complete storage management (upload, download, list, move, copy, delete files and buckets).
Query data from a Supabase table
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to query |
schema | string | No | Database schema to query from (default: public). Use this to access tables in other schemas. |
select | string | No | Columns to return (comma-separated). Defaults to * (all columns) |
filter | string | No | PostgREST filter (e.g., "id=eq.123") |
orderBy | string | No | Column to order by (add DESC for descending) |
limit | number | No | Maximum number of rows to return |
offset | number | No | Number of rows to skip (for pagination) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of records returned from the query |
Insert data into a Supabase table
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to insert data into |
schema | string | No | Database schema to insert into (default: public). Use this to access tables in other schemas. |
data | array | Yes | The data to insert (array of objects or a single object) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of inserted records |
Get a single row from a Supabase table based on filter criteria
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to query |
schema | string | No | Database schema to query from (default: public). Use this to access tables in other schemas. |
select | string | No | Columns to return (comma-separated). Defaults to * (all columns) |
filter | string | Yes | PostgREST filter to find the specific row (e.g., "id=eq.123") |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array containing the row data if found, empty array if not found |
Update rows in a Supabase table based on filter criteria
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to update |
schema | string | No | Database schema to update in (default: public). Use this to access tables in other schemas. |
filter | string | Yes | PostgREST filter to identify rows to update (e.g., "id=eq.123") |
data | object | Yes | Data to update in the matching rows |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of updated records |
Delete rows from a Supabase table based on filter criteria
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to delete from |
schema | string | No | Database schema to delete from (default: public). Use this to access tables in other schemas. |
filter | string | Yes | PostgREST filter to identify rows to delete (e.g., "id=eq.123") |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of deleted records |
Insert or update data in a Supabase table (upsert operation)
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to upsert data into |
schema | string | No | Database schema to upsert into (default: public). Use this to access tables in other schemas. |
data | array | Yes | The data to upsert (insert or update) - array of objects or a single object |
onConflict | string | No | Comma-separated column(s) with a unique or primary key constraint to resolve conflicts on (e.g., "email"). Defaults to the primary key. |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of upserted records |
Count rows in a Supabase table
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to count rows from |
schema | string | No | Database schema to count from (default: public). Use this to access tables in other schemas. |
filter | string | No | PostgREST filter (e.g., "status=eq.active") |
countType | string | No | Count type: exact, planned, or estimated (default: exact) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
count | number | Number of rows matching the filter |
Perform full-text search on a Supabase table
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
table | string | Yes | The name of the Supabase table to search |
schema | string | No | Database schema to search in (default: public). Use this to access tables in other schemas. |
column | string | Yes | The column to search in |
query | string | Yes | The search query |
searchType | string | No | Search type: plain, phrase, or websearch (default: websearch) |
language | string | No | Language for text search configuration (default: english) |
limit | number | No | Maximum number of rows to return |
offset | number | No | Number of rows to skip (for pagination) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of records matching the search query |
Perform similarity search using pgvector in a Supabase table
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
functionName | string | Yes | The name of the PostgreSQL function that performs vector search (e.g., match_documents) |
queryEmbedding | array | Yes | The query vector/embedding to search for similar items |
matchThreshold | number | No | Minimum similarity threshold (0-1), typically 0.7-0.9 |
matchCount | number | No | Maximum number of results to return (default: 10) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of records with similarity scores from the vector search. Each record includes a similarity field (0-1) indicating how similar it is to the query vector. |
Call a PostgreSQL function in Supabase
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
functionName | string | Yes | The name of the PostgreSQL function to call |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | json | Result returned from the function |
Invoke a Supabase Edge Function over HTTP
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
functionName | string | Yes | The name of the Edge Function to invoke (e.g., "hello-world") |
method | string | No | HTTP method to use: GET, POST, PUT, PATCH, or DELETE (default: POST) |
body | json | No | Request payload to send to the function as a JSON object (ignored for GET) |
headers | json | No | Additional request headers as a JSON object of header name to value |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | json | Response body returned by the Edge Function |
Introspect Supabase database schema from its OpenAPI spec to get table and column structures (best-effort primary/foreign key detection)
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
schema | string | No | Database schema to introspect (defaults to all user schemas, commonly "public") |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
tables | array | Array of table schemas with columns, keys, and indexes |
↳ name | string | Table name |
↳ schema | string | Database schema name |
↳ columns | array | Array of column definitions |
↳ name | string | Column name |
↳ type | string | Column data type |
↳ nullable | boolean | Whether the column allows null values — a NOT NULL column that has a default value is misreported as nullable, since the OpenAPI spec this is derived from omits it from the required list in that case |
↳ default | string | Default value for the column |
↳ isPrimaryKey | boolean | Best-effort guess based on the column being named "id" (not authoritative) |
↳ isForeignKey | boolean | True only if the column has a "references table.column" SQL comment; most databases will show false even for real foreign keys |
↳ references | object | Foreign key reference details, when detected via SQL comment |
↳ table | string | Referenced table name |
↳ column | string | Referenced column name |
↳ primaryKey | array | Array of primary key column names |
↳ foreignKeys | array | Array of foreign key relationships |
↳ column | string | Local column name |
↳ referencesTable | string | Referenced table name |
↳ referencesColumn | string | Referenced column name |
↳ indexes | array | Always empty — index definitions are not exposed by the OpenAPI spec this tool reads |
↳ name | string | Index name |
↳ columns | array | Columns included in the index |
↳ unique | boolean | Whether the index enforces uniqueness |
schemas | array | List of schemas found in the database |
Upload a file to a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
fileName | string | Yes | The name of the file (e.g., "document.pdf", "image.jpg") |
path | string | No | Optional folder path (e.g., "folder/subfolder/") |
fileData | json | Yes | File to upload - UserFile object (basic mode) or string content (advanced mode: base64 or plain text). Supports data URLs. |
contentType | string | No | MIME type of the file (e.g., "image/jpeg", "text/plain") |
cacheControl | string | No | Cache-Control header value in seconds for the stored object (e.g., "3600"; default: "3600") |
upsert | boolean | No | If true, overwrites existing file (default: false) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Upload result including file path, bucket, and public URL |
↳ Id | string | Unique identifier for the uploaded file |
↳ Key | string | Full object key including bucket name |
↳ path | string | Path to the uploaded file within the bucket |
↳ bucket | string | Name of the bucket the file was uploaded to |
↳ publicUrl | string | Public URL for the uploaded file |
Download a file from a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
path | string | Yes | The path to the file to download (e.g., "folder/file.jpg") |
fileName | string | No | Optional filename override |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
file | file | Downloaded file stored in execution files |
List files in a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
path | string | No | The folder path to list files from (default: root) |
limit | number | No | Maximum number of files to return (default: 100) |
offset | number | No | Number of files to skip (for pagination) |
sortBy | string | No | Column to sort by: name, created_at, updated_at, last_accessed_at (default: name) |
sortOrder | string | No | Sort order: asc or desc (default: asc) |
search | string | No | Search term to filter files by name |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of file objects with metadata |
↳ id | string | Unique file identifier |
↳ name | string | File name |
↳ bucket_id | string | Bucket identifier the file belongs to |
↳ owner | string | Owner identifier |
↳ created_at | string | File creation timestamp |
↳ updated_at | string | Last update timestamp |
↳ last_accessed_at | string | Last access timestamp |
↳ metadata | object | File metadata including size and MIME type |
↳ size | number | File size in bytes |
↳ mimetype | string | MIME type of the file |
↳ cacheControl | string | Cache control header value |
↳ lastModified | string | Last modified timestamp |
↳ eTag | string | Entity tag for caching |
Delete files from a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
paths | array | Yes | Array of file paths to delete (e.g., ["folder/file1.jpg", "folder/file2.jpg"]) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of deleted file objects |
↳ name | string | Name of the deleted file |
↳ bucket_id | string | Bucket identifier |
↳ owner | string | Owner identifier |
↳ id | string | Unique file identifier |
↳ updated_at | string | Last update timestamp |
↳ created_at | string | File creation timestamp |
↳ last_accessed_at | string | Last access timestamp |
Move a file within a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
fromPath | string | Yes | The current path of the file (e.g., "folder/old.jpg") |
toPath | string | Yes | The new path for the file (e.g., "newfolder/new.jpg") |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Move operation result |
↳ message | string | Operation status message |
↳ Id | string | Identifier of the destination object |
↳ Key | string | Full object key of the destination |
Copy a file within a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
fromPath | string | Yes | The path of the source file (e.g., "folder/source.jpg") |
toPath | string | Yes | The path for the copied file (e.g., "folder/copy.jpg") |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Copy operation result with the destination object key |
↳ Key | string | Full object key of the copied file |
↳ Id | string | Identifier of the copied object |
Create a new storage bucket in Supabase
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the bucket to create |
isPublic | boolean | No | Whether the bucket should be publicly accessible (default: false) |
fileSizeLimit | number | No | Maximum file size in bytes (optional) |
allowedMimeTypes | array | No | Array of allowed MIME types (e.g., ["image/png", "image/jpeg"]) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Created bucket result (name) |
↳ name | string | Created bucket name |
Update the configuration of an existing Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the bucket to update |
isPublic | boolean | No | Whether the bucket should be publicly accessible (leave unset to keep the current value) |
fileSizeLimit | number | No | Maximum file size in bytes (leave unset to keep the current value) |
allowedMimeTypes | array | No | Array of allowed MIME types (e.g., ["image/png", "image/jpeg"]) — leave unset to keep the current value |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Update operation result |
↳ message | string | Operation status message |
Delete all objects inside a Supabase storage bucket without deleting the bucket itself
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the bucket to empty |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Empty bucket operation result |
↳ message | string | Operation status message |
List all storage buckets in Supabase
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | array | Array of bucket objects |
↳ id | string | Unique bucket identifier |
↳ name | string | Bucket name |
↳ owner | string | Owner identifier |
↳ public | boolean | Whether the bucket is publicly accessible |
↳ created_at | string | Bucket creation timestamp |
↳ updated_at | string | Last update timestamp |
↳ file_size_limit | number | Maximum file size allowed in bytes |
↳ allowed_mime_types | array | List of allowed MIME types for uploads |
Delete a storage bucket in Supabase
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the bucket to delete |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
results | object | Delete operation result |
↳ message | string | Operation status message |
Get the public URL for a file in a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
path | string | Yes | The path to the file (e.g., "folder/file.jpg") |
download | boolean | No | If true, forces download instead of inline display (default: false) |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
publicUrl | string | The public URL to access the file |
Create a temporary signed URL for a file in a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
path | string | Yes | The path to the file (e.g., "folder/file.jpg") |
expiresIn | number | Yes | Number of seconds until the URL expires (e.g., 3600 for 1 hour) |
download | boolean | No | If true, forces download instead of inline display (default: false) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
signedUrl | string | The temporary signed URL to access the file |
Create a temporary signed URL a client can use to upload directly to a Supabase storage bucket
| Parameter | Type | Required | Description |
|---|
projectId | string | Yes | Your Supabase project ID (e.g., jdrkgepadsdopsntdlom) |
bucket | string | Yes | The name of the storage bucket |
path | string | Yes | The destination path for the uploaded file (e.g., "folder/file.jpg") |
upsert | boolean | No | If true, allows overwriting an existing file at this path (default: false) |
apiKey | string | Yes | Your Supabase service role secret key |
| Parameter | Type | Description |
|---|
message | string | Operation status message |
signedUrl | string | The temporary signed URL a client can PUT the file to |
path | string | The destination object path |
token | string | The upload token embedded in the signed URL |