Supabase + Verboo: Mensagem WhatsApp em Cada INSERT do Banco
Voltar para o Blog
Artigo

Supabase + Verboo: Mensagem WhatsApp em Cada INSERT do Banco

Mafra
12/05/2026
6 min de leitura

Um usuário acabou de criar a conta no seu SaaS. O registro entrou no Supabase. A mensagem de boas-vindas no WhatsApp chegou 4 horas depois, quando ele já tinha desistido. Esse delay mata onboarding. Veja como eliminar ele com um webhook direto do banco para o WhatsApp.

Por Que Eventos de Banco Deveriam Chegar ao WhatsApp Imediatamente?

Supabase processa eventos de banco em milissegundos. WhatsApp tem 98% de taxa de abertura em 3 minutos. A combinação deveria ser poderosa: qualquer INSERT, UPDATE ou DELETE dispara uma mensagem contextualizada para o usuário certo, no canal que ele realmente abre.

O problema é que a maioria dos devs que tenta montar isso enfrenta uma sequência de decisões de infra que não estava no ticket original. O que começou como "quero mandar um bem-vindo no WhatsApp" vira um sistema de filas distribuídas em 3 dias de trabalho.

Dado-chave: WhatsApp tem 3,3 bilhões de usuários ativos mensais (Meta, 2026). Taxa de abertura de 98% em até 3 minutos. Email: 20-25%.

O Que Acontece Quando Você Tenta Fazer Isso Na Mão?

A rota manual começa bem: você vai na documentação de Database Webhooks do Supabase, configura um hook para INSERT na tabela users, aponta para um endpoint HTTP. Parece simples.

Aí começa o efeito cascata:

  • O endpoint precisa responder em menos de 5 segundos (limite do pg_net extension)
  • A lógica de IA e personalização da mensagem demora mais que isso
  • Você coloca uma fila (Redis, SQS, Bull) para processar em background
  • Precisa de um worker para consumir a fila e chamar a WhatsApp Cloud API
  • A WhatsApp Cloud API exige template aprovado pela Meta para mensagem inicial fora de janela de conversa
  • O template demora dias para aprovar
  • E o histórico de conversa quando o usuário responder? Outro banco, outro serviço

Você foi montar uma mensagem de boas-vindas e acabou com um sistema de filas distribuídas. Existe uma rota mais curta.

A Arquitetura Direta: Supabase → Verboo

A Verboo expõe uma API REST que aceita eventos externos e aciona o Assistente configurado no WhatsApp. Você não precisa lidar com filas, templates da Meta ou histórico de conversa: tudo isso já está na plataforma. O fluxo fica assim:

  1. INSERT na tabela users no Supabase
  2. Database Webhook dispara POST para o endpoint da Verboo
  3. Verboo processa a payload, identifica o número e envia a mensagem via WhatsApp em menos de 500ms
  4. O Assistente mantém o histórico da conversa automaticamente para respostas subsequentes

Passo 1: Criar o Assistente na Verboo

Acesse verboo.ai/lab, clique em Novo Assistente e configure:

  • Instrução: a persona do Assistente (ex: "Você é o assistente de onboarding. Quando receber um novo usuário, envie boas-vindas personalizadas e pergunte qual é o principal objetivo deles com o produto.")
  • Gatilho: selecione API Externa e copie o endpoint e o token gerados
  • O número de WhatsApp conectado à sua conta Verboo é usado automaticamente

Passo 2: Configurar o Database Webhook no Supabase

No painel do Supabase, vá em Database → Webhooks → Create a new hook. Configure:

Table:    users
Events:   INSERT
Method:   POST
URL:      https://api.verboo.ai/v1/trigger/{seu-assistente-id}
Headers:
  Authorization: Bearer {seu-token-verboo}
  Content-Type: application/json

O Supabase envia o payload completo do novo registro. A Verboo extrai o número de telefone e dispara a mensagem.

Passo 3: Normalizar o Telefone com Edge Function

Se a sua tabela users armazena o telefone em formato diferente do E.164, use uma Supabase Edge Function como intermediário:

// supabase/functions/notify-verboo/index.ts
import { serve } from "https://deno.land/std@0.168.0/http/server.ts"

serve(async (req) => {
  const { record } = await req.json()

  // Normalizar para E.164
  const digits = record.phone.replace(/\D/g, '')
  const e164 = digits.startsWith('55') ? `+${digits}` : `+55${digits}`

  const res = await fetch(
    `https://api.verboo.ai/v1/trigger/${Deno.env.get('VERBOO_ASSISTANT_ID')}`,
    {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${Deno.env.get('VERBOO_TOKEN')}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        phone: e164,
        name: record.full_name,
        email: record.email
      })
    }
  )

  // Responde em menos de 200ms, bem abaixo do limite de 5s do pg_net
  return new Response(JSON.stringify({ ok: res.ok }), { status: 200 })
})

Esse handler responde em menos de 200ms, bem abaixo do limite de 5 segundos do pg_net. A Verboo processa o WhatsApp de forma assíncrona, sem bloquear o webhook.

Passo 4: Testar com INSERT Real

-- No SQL Editor do Supabase
INSERT INTO users (full_name, email, phone, created_at)
VALUES ('João Teste', 'joao@exemplo.com', '11999887766', NOW());

Em até 2 segundos, o número recebe a mensagem no WhatsApp. E quando o João responder, o Assistente já sabe quem ele é: nome, email e contexto da conversa ficam salvos automaticamente na Verboo.

Outros Eventos do Supabase Para Conectar ao WhatsApp

Evento Supabase Mensagem Verboo Impacto Típico
INSERT em orders Confirmação de pedido CSAT +40%
UPDATE status = 'shipped' Código de rastreio Tickets de suporte -60%
INSERT em subscriptions Onboarding conversacional Churn semana 1 -35%
UPDATE em trial_expires_at Lembrete de conversão Trial-to-paid +28%
INSERT em support_tickets Confirmação + tempo estimado Reabertura de ticket -45%

Latência Real: O Que Esperar em Produção

A Verboo processa mensagens em menos de 500ms desde a requisição até a entrega na API do WhatsApp. Em produção, com mais de 27 milhões de mensagens enviadas por mais de 390 empresas, o P95 se mantém abaixo de 800ms mesmo em horários de pico.

O tempo total percebido pelo usuário (do INSERT ao WhatsApp tocar) fica entre 1,5 e 3 segundos: 200ms para o webhook do Supabase disparar, 300ms para a Edge Function responder e 500ms para a Verboo processar e entregar à Meta.

Benchmark: Arquitetura DIY com Redis e worker próprio: 8 a 45 segundos. Supabase direto para Verboo: 1,5 a 3 segundos. A diferença é o que separa "chegou" de "chegou tarde".

Por Que Não Usar n8n ou Make.com Aqui?

n8n e Make.com funcionam para conectar Supabase e WhatsApp, mas adicionam um nó a mais na cadeia: seu banco avisa o n8n, o n8n chama a API de WhatsApp, a API entrega. Cada salto adiciona latência e um ponto de falha potencial.

Mais importante: n8n e Make.com conectam ao WhatsApp via APIs não-oficiais ou templates rígidos. A Verboo usa WhatsApp Cloud API oficial com canal verificado, o que significa que o Assistente pode manter conversas contínuas, entender contexto e responder perguntas. Para notificações simples, qualquer abordagem funciona. Para onboarding conversacional onde o usuário pode responder e o Assistente reage com memória, a Verboo é o caminho direto.

Cole esse código numa conta Verboo e seu Assistente já roda no WhatsApp. Crie sua conta grátis (login Google em 10s, sem cartão).

Gostou deste artigo?
Compartilhe conhecimento com sua rede.
Leia também

Artigos relacionados