Supabase
Consultar e alterar dados em um projeto Supabase.
O que faz
Integre o Supabase ao fluxo. Permite operações no banco de dados (consultar, inserir, atualizar, excluir e upsert), busca por texto completo, funções RPC, chamada de Edge Functions, contagem de linhas, busca vetorial e gestão completa do armazenamento (enviar, baixar, listar, mover, copiar e excluir arquivos e buckets).
Quando usar: Use quando o seu fluxo precisar consultar e alterar dados em um projeto Supabase.
Exemplo de situação: Localizar um cadastro e aproveitar seus dados nas etapas seguintes.
Antes de começar
Conexão necessária: Credencial protegida.
Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
Passo a passo
- Adicione Supabase ao desenho a partir da aba Blocos e ligue a entrada dele à etapa anterior.
- Escolha uma conexão ou credencial já cadastrada no workspace. Nunca cole senhas ou chaves em campos de texto comuns.
- Escolha a operação. O painel mostra só os campos que essa operação usa.
- Preencha os campos obrigatórios. Para usar um dado de uma etapa anterior, digite < e escolha o bloco e o campo.
- Clique em Executar com dados de teste e confira, no terminal, o que entrou e o que saiu do bloco.
- Só publique depois de conferir o resultado da execução de teste.
Operações
| Operação | O que faz |
|---|---|
| Obter várias linhas | Obtém várias linhas com o bloco Supabase. |
| Obter uma linha | Obtém uma linha com o bloco Supabase. |
| Criar uma linha | Cria uma linha com o bloco Supabase. |
| Atualizar uma linha | Atualiza uma linha com o bloco Supabase. |
| Excluir uma linha | Exclui uma linha com o bloco Supabase. |
| Inserir ou atualizar uma linha (upsert) | Insere ou atualizar uma linha (upsert) com o bloco Supabase. |
| Contar linhas | Conta linhas com o bloco Supabase. |
| Buscar por texto completo | Busca por texto completo com o bloco Supabase. |
| Buscar por similaridade (vetorial) | Busca por similaridade (vetorial) com o bloco Supabase. |
| Chamar função RPC | Chama função RPC com o bloco Supabase. |
| Chamar Edge Function | Chama Edge Function com o bloco Supabase. |
| Inspecionar esquema | Inspeciona esquema com o bloco Supabase. |
| Armazenamento: enviar arquivo | Executa a operação “Armazenamento: enviar arquivo” com o bloco Supabase. |
| Armazenamento: baixar arquivo | Executa a operação “Armazenamento: baixar arquivo” com o bloco Supabase. |
| Armazenamento: listar arquivos | Executa a operação “Armazenamento: listar arquivos” com o bloco Supabase. |
| Armazenamento: excluir arquivos | Executa a operação “Armazenamento: excluir arquivos” com o bloco Supabase. |
| Armazenamento: mover arquivo | Executa a operação “Armazenamento: mover arquivo” com o bloco Supabase. |
| Armazenamento: copiar arquivo | Executa a operação “Armazenamento: copiar arquivo” com o bloco Supabase. |
| Armazenamento: obter URL pública | Executa a operação “Armazenamento: obter URL pública” com o bloco Supabase. |
| Armazenamento: criar URL assinada | Executa a operação “Armazenamento: criar URL assinada” com o bloco Supabase. |
| Armazenamento: criar URL assinada de envio | Executa a operação “Armazenamento: criar URL assinada de envio” com o bloco Supabase. |
| Armazenamento: criar bucket | Executa a operação “Armazenamento: criar bucket” com o bloco Supabase. |
| Armazenamento: atualizar bucket | Executa a operação “Armazenamento: atualizar bucket” com o bloco Supabase. |
| Armazenamento: esvaziar bucket | Executa a operação “Armazenamento: esvaziar bucket” com o bloco Supabase. |
| Armazenamento: listar buckets | Executa a operação “Armazenamento: listar buckets” com o bloco Supabase. |
| Armazenamento: excluir bucket | Executa a operação “Armazenamento: excluir bucket” com o bloco Supabase. |
Campos
Operação
Escolhe qual ação este bloco executará.
- Opções:
- Obter várias linhas · Obter uma linha · Criar uma linha · Atualizar uma linha · Excluir uma linha · Inserir ou atualizar uma linha (upsert) · Contar linhas · Buscar por texto completo · Buscar por similaridade (vetorial) · Chamar função RPC · Chamar Edge Function · Inspecionar esquema · Armazenamento: enviar arquivo · Armazenamento: baixar arquivo · Armazenamento: listar arquivos · Armazenamento: excluir arquivos · Armazenamento: mover arquivo · Armazenamento: copiar arquivo · Armazenamento: obter URL pública · Armazenamento: criar URL assinada · Armazenamento: criar URL assinada de envio · Armazenamento: criar bucket · Armazenamento: atualizar bucket · Armazenamento: esvaziar bucket · Armazenamento: listar buckets · Armazenamento: excluir bucket
- Padrão:
- Obter várias linhas
ID do projeto
ObrigatórioDado protegidoID do seu projeto no Supabase (ex.: jdrkgepadsdopsntdlom).
- Padrão:
- Segredo protegido
Tabela
Obrigatório conforme a operaçãoNome da tabela.
- Aparece em:
- Obter várias linhas, Obter uma linha, Criar uma linha, Atualizar uma linha, Excluir uma linha, Inserir ou atualizar uma linha (upsert), Contar linhas, Buscar por texto completo
- Exemplo:
- Nome da tabela
Esquema
Esquema do banco do Supabase em que fica a tabela; o padrão é public, e na inspeção do esquema, deixar vazio mostra todos os esquemas do usuário.
- Aparece em:
- Obter várias linhas, Obter uma linha, Criar uma linha, Atualizar uma linha, Excluir uma linha, Inserir ou atualizar uma linha (upsert), Contar linhas, Buscar por texto completo
- Exemplo:
- public (padrão)
Colunas a retornar
Colunas que devem vir no resultado, separadas por vírgula (ex.: id,nome,email); use * para trazer todas.
- Aparece em:
- Obter várias linhas, Obter uma linha
- Exemplo:
- * (todas as colunas) ou id,name,email
Chave secreta (service role)
ObrigatórioDado protegidoChave secreta service role do seu projeto no Supabase.
- Padrão:
- Segredo protegido
Dados
Obrigatório conforme a operaçãoInforma dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Criar uma linha
- Exemplo:
- { "chave": "valor" }
Em caso de conflito (coluna)
Em campos adicionaisColuna usada para saber se o registro já existe no upsert: se houver um com o mesmo valor, ele é atualizado em vez de duplicado (ex.: email); o padrão é a chave primária.
- Aparece em:
- Inserir ou atualizar uma linha (upsert)
- Exemplo:
- email (padrão: chave primária)
Filtro (sintaxe PostgREST)
Obrigatório conforme a operaçãoDefine a consulta ou o filtro aplicado aos dados.
- Aparece em:
- Obter uma linha
- Exemplo:
- status = 'ativo'
Ordenar por
Coluna pela qual as linhas serão ordenadas; acrescente DESC depois do nome para ordem decrescente (ex.: criado_em DESC para as mais recentes primeiro).
- Aparece em:
- Obter várias linhas
- Exemplo:
- nome_da_coluna (adicione DESC para ordem decrescente)
Limite
Define um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Obter várias linhas
- Exemplo:
- 10
Posição inicial
Define um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Obter várias linhas
- Exemplo:
- 0
Nome da função
Obrigatório conforme a operaçãoDefine o nome ou título usado para identificar o recurso.
- Aparece em:
- Buscar por similaridade (vetorial)
- Exemplo:
- Exemplo de atendimento
Embedding da consulta
Obrigatório conforme a operaçãoDefine a consulta ou o filtro aplicado aos dados.
- Aparece em:
- Buscar por similaridade (vetorial)
- Exemplo:
- SELECT * FROM clientes WHERE status = 'ativo'
Similaridade mínima
Similaridade mínima, de 0 a 1, para um registro entrar no resultado da busca vetorial; quanto maior o valor, mais parecido o registro precisa ser (ex.: 0.78).
- Aparece em:
- Buscar por similaridade (vetorial)
- Exemplo:
- 0.78
Quantidade de resultados
Define um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Buscar por similaridade (vetorial)
- Exemplo:
- 10
Parâmetros (JSON)
Informa dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Chamar função RPC
- Exemplo:
- { "chave": "valor" }
Método HTTP
Escolhe o método HTTP da requisição, como GET, POST, PUT ou DELETE.
- Aparece em:
- Chamar Edge Function
- Opções:
- POST · GET · PUT · PATCH · DELETE
- Padrão:
- POST
Corpo da requisição (JSON)
Informa o conteúdo de texto que será enviado ou processado.
- Aparece em:
- Chamar Edge Function
- Exemplo:
- Olá! Sua solicitação foi processada com sucesso.
Cabeçalhos (JSON)
Em campos adicionaisInforma dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Chamar Edge Function
- Exemplo:
- { "chave": "valor" }
Coluna da busca
Obrigatório conforme a operaçãoColuna de texto da tabela em que a busca por texto completo será feita (ex.: descricao).
- Aparece em:
- Buscar por texto completo
- Exemplo:
- conteudo
Consulta de busca
Obrigatório conforme a operaçãoInforma a consulta usada para localizar ou transformar dados.
- Aparece em:
- Buscar por texto completo
- Exemplo:
- SELECT * FROM clientes WHERE status = 'ativo'
Tipo de busca
Define a consulta ou o filtro aplicado aos dados.
- Aparece em:
- Buscar por texto completo
- Opções:
- Websearch (linguagem natural) · Simples · Frase
- Padrão:
- Websearch (linguagem natural)
Idioma
Idioma usado para interpretar as palavras na busca por texto completo, com o nome da configuração do PostgreSQL (ex.: portuguese).
- Aparece em:
- Buscar por texto completo
- Exemplo:
- pt-BR
Tipo de contagem
Define um valor numérico, quantidade ou limite da operação.
- Aparece em:
- Contar linhas
- Opções:
- Exata · Planejada · Estimada
- Padrão:
- Exata
Nome do bucket
Obrigatório conforme a operaçãoNome do bucket do Supabase Storage em que a operação atua, que funciona como a pasta principal dos arquivos (ex.: comprovantes).
- Aparece em:
- Armazenamento: enviar arquivo, Armazenamento: baixar arquivo, Armazenamento: listar arquivos, Armazenamento: excluir arquivos, Armazenamento: mover arquivo, Armazenamento: copiar arquivo, Armazenamento: criar bucket, Armazenamento: atualizar bucket, Armazenamento: esvaziar bucket, Armazenamento: excluir bucket, Armazenamento: obter URL pública, Armazenamento: criar URL assinada, Armazenamento: criar URL assinada de envio
- Exemplo:
- meu-bucket
Nome do arquivo
Obrigatório conforme a operaçãoInforma ou seleciona o arquivo usado nesta operação.
- Aparece em:
- Armazenamento: enviar arquivo
- Exemplo:
- Exemplo de atendimento
Caminho da pasta (opcional)
Caminho dentro do bucket, sem barra no início: a pasta onde o arquivo será enviado ou que será listada, ou o arquivo a baixar ou para o qual gerar um link (ex.: clientes/2025/contrato.pdf).
- Aparece em:
- Armazenamento: enviar arquivo
- Exemplo:
- /documentos/exemplo.pdf
Arquivo
Obrigatório conforme a operaçãoEnvie o arquivo para o armazenamento.
- Aparece em:
- Armazenamento: enviar arquivo
- Exemplo:
- (selecione um arquivo de teste)
Conteúdo do arquivo
Obrigatório conforme a operaçãoEm campos adicionaisReferência a um arquivo de um bloco anterior.
- Aparece em:
- Armazenamento: enviar arquivo
- Exemplo:
- Olá! Sua solicitação foi processada com sucesso.
Tipo de conteúdo (MIME)
Informa o conteúdo de texto que será enviado ou processado.
- Aparece em:
- Armazenamento: enviar arquivo
- Exemplo:
- Olá! Sua solicitação foi processada com sucesso.
Controle de cache (segundos)
Em campos adicionaisPor quantos segundos navegadores e CDN podem guardar o arquivo em cache (ex.: 3600 para uma hora).
- Aparece em:
- Armazenamento: enviar arquivo
- Exemplo:
- 3600
Sobrescrever se já existir (upsert)
Define se este comportamento fica ativado ou desativado.
- Aparece em:
- Armazenamento: enviar arquivo
- Opções:
- Falso · Verdadeiro
- Padrão:
- Falso
Ordenar por
Escolhe uma das opções aceitas por este campo.
- Aparece em:
- Armazenamento: listar arquivos
- Opções:
- Nome · Criado em · Atualizado em · Último acesso em
- Padrão:
- Nome
Ordem
Escolhe uma das opções aceitas por este campo.
- Aparece em:
- Armazenamento: listar arquivos
- Opções:
- Crescente · Decrescente
- Padrão:
- Crescente
Termo de busca
Define a consulta ou o filtro aplicado aos dados.
- Aparece em:
- Armazenamento: listar arquivos
- Exemplo:
- termo de busca
Caminhos dos arquivos (lista JSON)
Obrigatório conforme a operaçãoInforma dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Armazenamento: excluir arquivos
- Exemplo:
- /documentos/exemplo.pdf
Caminho de origem
Obrigatório conforme a operaçãoCaminho atual do arquivo dentro do bucket, que será movido ou copiado (ex.: pendentes/nota.pdf).
- Aparece em:
- Armazenamento: mover arquivo
- Exemplo:
- cliente@exemplo.com
Caminho de destino
Obrigatório conforme a operaçãoNovo caminho, já com o nome do arquivo, para onde ele vai ser movido ou copiado dentro do bucket (ex.: processados/nota.pdf).
- Aparece em:
- Armazenamento: mover arquivo
- Exemplo:
- /documentos/exemplo.pdf
Forçar download
Define se este comportamento fica ativado ou desativado.
- Aparece em:
- Armazenamento: obter URL pública
- Opções:
- Falso · Verdadeiro
- Padrão:
- Falso
Expira em (segundos)
Obrigatório conforme a operaçãoPor quantos segundos o link assinado continua funcionando (ex.: 3600 para uma hora ou 86400 para um dia).
- Aparece em:
- Armazenamento: criar URL assinada
- Exemplo:
- 3600
Bucket público
Define se este comportamento fica ativado ou desativado.
- Aparece em:
- Armazenamento: criar bucket
- Opções:
- Não (privado) · Sim (público)
- Padrão:
- Não (privado)
Bucket público
Define a data, o horário ou a programação usada pela operação.
- Aparece em:
- Armazenamento: atualizar bucket
- Opções:
- Manter o atual · Não (privado) · Sim (público)
- Exemplo:
- Manter o atual
Tamanho máximo do arquivo (bytes)
Em campos adicionaisInforma ou seleciona o arquivo usado nesta operação.
- Aparece em:
- Armazenamento: criar bucket, Armazenamento: atualizar bucket
- Exemplo:
- 10
Tipos MIME permitidos (lista JSON)
Em campos adicionaisInforma dados estruturados ou código no formato exigido pelo campo.
- Aparece em:
- Armazenamento: criar bucket, Armazenamento: atualizar bucket
- Exemplo:
- { "chave": "valor" }
Saídas
Para usar um resultado deste bloco em uma etapa seguinte, digite < no campo e escolha o bloco e o campo. A referência tem o formato <supabase.message>: antes do ponto vai o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
| Referência | Tipo | O que contém |
|---|---|---|
<supabase.message> | string | Mensagem de sucesso ou de erro que descreve o resultado da operação. |
<supabase.results> | json | Registros do banco de dados, objetos do armazenamento ou resultados da operação, conforme o tipo de operação. |
<supabase.count> | number | Número de linhas, nas operações de contagem. |
<supabase.file> | file | Arquivo baixado, guardado nos arquivos da execução. |
<supabase.publicUrl> | string | URL pública do arquivo no armazenamento. |
<supabase.signedUrl> | string | URL assinada temporária do arquivo no armazenamento (para baixar ou enviar). |
<supabase.token> | string | Token de envio incluído na URL assinada de envio. |
<supabase.path> | string | Caminho de destino do objeto na URL assinada de envio. |
<supabase.tables> | json | Lista de esquemas de tabelas da operação de inspeção. |
<supabase.schemas> | json | Lista de nomes de esquemas encontrados no banco de dados. |
Exemplo de uso
Objetivo: Localizar um cadastro e aproveitar seus dados nas etapas seguintes.
- Operação
- Obter várias linhas
- Tabela
- Nome da tabela
- Esquema
- public (padrão)
- Colunas a retornar
- * (todas as colunas) ou id,name,email
- Ordenar por
- nome_da_coluna (adicione DESC para ordem decrescente)
- Limite
- 10
Os valores são ilustrativos. Teste primeiro com dados fictícios ou de homologação.
Erros comuns e como resolver
- O bloco não executa
- Confira se existe um caminho de setas que parte do gatilho (ou do Início) até este bloco. Blocos soltos no desenho são ignorados.
- Aparece “Validação do fluxo” no terminal
- Há campo obrigatório vazio. Clique no aviso, abra o bloco indicado e preencha o campo marcado.
- Um campo chega vazio na etapa seguinte
- Confira se a referência aponta para um bloco que já executou e para um campo que existe, como <supabase.message>. O nome antes do ponto é o nome do bloco no seu fluxo, em minúsculas, sem espaços e sem acentos.
- O campo que eu procuro não aparece
- Os campos mudam conforme a operação escolhida. Escolha a operação primeiro; campos menos usados ficam em “Mostrar campos adicionais”.
- Credencial ausente ou recusada
- Escolha uma conexão válida do workspace. Se a senha ou a chave mudou no serviço, atualize a conexão cadastrada em vez de colar o segredo no bloco.
- Não foi possível conectar ao banco
- Confira endereço, porta, nome do banco e usuário da conexão, e se o banco aceita conexões vindas da plataforma (firewall e lista de IPs liberados).
- O serviço recusou a chamada ou devolveu erro
- Leia a mensagem no terminal: ela traz o motivo informado pelo serviço. Confira IDs, limites de uso e permissões, e teste antes com um recurso de homologação.
Blocos relacionados
- Amazon DynamoDBConsultar, inserir, varrer, atualizar e excluir itens em tabelas do Amazon DynamoDB.
- Amazon RDSConsultar e alterar bancos Amazon RDS compatíveis por meio da Data API.
- ClickHouseConsultar e alterar dados em um banco ClickHouse.
- DatabricksExecutar consultas SQL e administrar trabalhos no Databricks.
- ElasticsearchPesquisar, indexar e administrar dados no Elasticsearch.
- Google AppSheetConsultar, adicionar, editar e excluir linhas de uma tabela do Google AppSheet.