Central de Ajuda Como integrar com Supabase

Como integrar com Supabase

Nível: Avançado
Tempo de leitura: 7 min
Plano necessário: Todos os planos


O que o agente pode fazer com Supabase

Com o conector ativo, o agente acessa diretamente o banco de dados do seu projeto Supabase. Você escolhe quais operações liberar na hora de conectar:

  • Consultar registros: buscar com filtros, ordenação e limite de linhas
  • Buscar por ID: retornar um registro específico pelo campo id
  • Criar registros: inserir novos dados em uma tabela
  • Atualizar registros: editar campos de um registro existente
  • Remover registros: deletar um registro pelo ID

Cada operação pode ser habilitada ou desabilitada individualmente. Você também pode restringir quais tabelas o agente pode tocar.


Casos de uso

Consulta de pedidos O cliente informa o número do pedido no chat e o agente busca o status diretamente na tabela pedidos do banco, sem precisar de webhook ou API intermediária.

Atualização de endereço O agente coleta o novo endereço via conversa e atualiza o registro do cliente na tabela usuarios em tempo real.

Criação de ticket de suporte Quando um cliente relata um problema, o agente abre um registro na tabela tickets com o motivo, prioridade e dados de contato.

Consulta de estoque O agente verifica a quantidade disponível de um produto na tabela produtos antes de confirmar um pedido.

Lead direto no CRM Ao qualificar um lead, o agente insere o contato com os dados coletados na tabela leads do seu banco.


Como conectar

Passo 1: Obtenha as credenciais do projeto

No Supabase Dashboard:

  1. Selecione o projeto
  2. Acesse Project Settings → API
  3. Copie a Project URL (ex: https://abcdefgh.supabase.co)
  4. Copie a anon public key (começa com eyJ...)
  5. Copie a service_role secret key — é essa que o agente vai usar. Não compartilhe essa chave em outros lugares

Passo 2: Conecte na Wevi

  1. No painel da Wevi, acesse Conectores → Supabase
  2. Clique em "Conectar"
  3. Preencha:
    • Nome da conexão: um apelido para identificar o banco (ex: "Banco produção")
    • Project URL: a URL do passo anterior
    • Anon Key: a chave pública do passo anterior
    • Service Role Key: a chave secreta do passo anterior
  4. Selecione as operações permitidas — libere apenas o que o agente realmente precisa
  5. Opcionalmente, informe as Tabelas permitidas (ex: pedidos, clientes). Vazio = todas as tabelas
  6. Clique em "Conectar banco"

A service_role key é criptografada e nunca fica visível após salvar.

Passo 3: Vincule ao agente

  1. Acesse o agente no painel
  2. Vá na aba Inteligência, seção Conectores
  3. Marque a conexão Supabase que você criou

Configurando o comportamento no prompt

O agente precisa saber quando e como usar o banco. Descreva no system prompt o esquema das tabelas relevantes e os cenários de uso.

Exemplo: consulta de pedido

CONSULTA DE PEDIDOS
Quando o cliente perguntar sobre um pedido, siga estes passos:
1. Peça o número do pedido (campo 'id' na tabela 'pedidos')
2. Busque o registro usando a ferramenta Supabase
3. Retorne o status, data de entrega estimada e código de rastreio

Campos da tabela 'pedidos':
- id: string
- cliente_nome: string
- status: string (pendente, em_transporte, entregue, cancelado)
- data_estimada: string (data no formato YYYY-MM-DD)
- codigo_rastreio: string (pode ser null)

Exemplo: abertura de ticket

ABERTURA DE TICKET
Quando o cliente relatar um problema:
1. Colete: nome, e-mail, descrição do problema e nível de urgência (baixo, médio, alto)
2. Insira um registro na tabela 'tickets' com os campos:
   - cliente_nome, cliente_email, descricao, urgencia, status: 'aberto'
3. Confirme ao cliente que o ticket foi criado e informe o ID gerado

Exemplo: verificação de estoque

ESTOQUE
A tabela 'produtos' tem os campos: id, nome, sku, estoque_disponivel (integer).
Antes de confirmar qualquer pedido, consulte o estoque do produto.
Se estoque_disponivel for 0, informe que o item está indisponível e ofereça alternativas.

Segurança

A service_role key dá acesso total ao banco. Para limitar o risco:

  • Use o campo Tabelas permitidas para restringir o acesso apenas às tabelas que o agente precisa
  • Habilite apenas as operações necessárias (evite deletar se o agente não precisar disso)
  • Considere criar um schema separado (ex: wevi) com tabelas específicas para o agente operar, e no Supabase restrinja a service_role desse schema via RLS ou roles customizadas
  • Revise o log de chamadas no painel da Wevi periodicamente para auditar o que o agente está acessando

Limite de linhas: por segurança, consultas retornam no máximo 200 registros por chamada. Se precisar de mais, use filtros para paginar.


Editar permissões depois

Para mudar as operações ou tabelas permitidas sem reconfigurar do zero:

  1. Acesse Conectores → Supabase
  2. Clique no ícone de lápis ao lado da conexão
  3. Ajuste as operações e tabelas
  4. Deixe o campo Service Role Key em branco para manter a chave atual
  5. Salve

Boas práticas

Documente o esquema no prompt O agente funciona melhor quando você descreve os nomes exatos das tabelas e campos. Inclua os tipos e os valores possíveis de campos de status ou categoria.

Comece com query e get_by_id Habilite operações de escrita (insert, update, delete) só depois de validar o comportamento em modo leitura.

Use tabelas dedicadas quando possível Se o banco tem dados sensíveis, crie tabelas intermediárias específicas para o agente (ex: leads_wevi, tickets_wevi) em vez de dar acesso à tabela principal de clientes.

Teste em ambiente de staging Conecte primeiro a um projeto Supabase de homologação. Só migre para produção depois de validar cada operação no chat.


Próximos passos