Usamos cookies da Meta, do Google, do Reddit, da OpenAI e da Whop para medir como as pessoas chegam ao Chat33 e mostrar anúncios relevantes. Nada é carregado até você escolher. Política de Privacidade
Quando alguém comenta uma palavra-chave ou manda uma DM, o Chat33 pede o e-mail na conversa. Todo e-mail coletado é enviado em JSON para uma URL de webhook em segundos, e a sua ferramenta de automação coloca onde você quiser: uma linha do Google Sheets, o Airtable, o Notion, o Slack ou o seu CRM.
Disponível em todos os planos, inclusive no Free. Proprietários e administradores do espaço de trabalho podem conectar.
O que acontece
Três coisas. Não é preciso nenhum app do Chat33 na sua ferramenta de automação: é um webhook comum.
Uma conta do Instagram ou do Facebook conectada
Uma conta profissional do Instagram (comercial ou de criador) ou uma Página do Facebook, conectada no Chat33 em Canais.
Uma automação com a etapa Coletar e-mail
A etapa pede o e-mail numa DM e espera até 24 horas pela resposta. Funciona com gatilhos de palavra-chave em DM no Instagram e no Facebook e com gatilhos de comentário no Instagram. Pedir depois de um comentário no Facebook ainda não está disponível.
Uma ferramenta que receba webhook
Zapier (o Webhooks by Zapier exige um plano pago do Zapier), Make, n8n ou o seu próprio servidor. O endereço precisa ser público e começar com https://. No Chat33, proprietários e administradores do espaço de trabalho podem configurar o webhook.
Deixe a sua ferramenta de automação e o Chat33 abertos em duas abas. Você copia uma URL de um para o outro.
Crie uma nova automação que comece com um webhook e copie a URL que ele fornece.
No Chat33, vá em Configurações, Chaves de API e encontre o cartão Webhook de mensagens. Cole a URL no campo de endereço.
Em Enviar, marque Novos leads. Desmarque Novas DMs se você quer só os leads; senão, toda DM que as pessoas enviam vai para a mesma URL. Deixe Todas as contas deste espaço de trabalho selecionado ou escolha as contas cujos leads você quer. Clique em Salvar.
Clique em Enviar lead de teste. O Chat33 envia um lead inventado (Ana Lopez, ana@example.com) com "test": true, e o cartão mostra o status HTTP com que a sua ferramenta respondeu. No Zapier, clique em Test trigger; no Make, espere o módulo dizer que determinou a estrutura dos dados; no n8n, ative a escuta de evento de teste no nó antes de enviar.
Adicione a próxima etapa e mapeie nela os campos do lead. Para o Google Sheets: no Zapier use Create Spreadsheet Row, no Make Add a Row, no n8n o nó Google Sheets com Append Row. Coloque data.email, data.name, data.username, data.flow.name e data.capturedAt em colunas próprias, ou o que você precisar. Ignore ou filtre as requisições em que test é true.
Publique o Zap, ative o cenário ou o workflow do n8n e ative a sua automação do Chat33. Teste a automação a partir de uma segunda conta do Instagram. O cartão Zapier, Make, n8n, Google Sheets em Configurações, Integrações mostra quantos leads foram enviados, estão aguardando ou falharam, e o Registro de entregas lista os últimos 50.
Um POST por lead, com corpo em JSON. Esta é uma requisição real de Enviar lead de teste, palavra por palavra.
content-type: application/json
user-agent: Chat33-Webhooks/1.0
x-chat33-event: lead.captured
x-chat33-signature: t=1793009626,v1=0decb33a96de935324152cb242ec33c3c45849853d59e1ff330b20cb89ded992{
"event": "lead.captured",
"id": "evt_lead_test_1793009626943",
"createdAt": "2026-10-26T10:13:46.944Z",
"data": {
"version": 1,
"captureKey": "test_1793009626943",
"email": "ana@example.com",
"name": "Ana Lopez",
"firstName": "Ana",
"lastName": "Lopez",
"username": "ana.lopez",
"platform": "instagram",
"platformId": "test_platform_id",
"contactId": "test_contact",
"channel": {
"id": "test_channel",
"name": "Test account"
},
"flow": {
"id": "test_flow",
"name": "Test flow"
},
"keyword": "guide",
"postId": null,
"postUrl": null,
"tags": [],
"question": "What is your email?",
"capturedAt": "2026-10-26T10:13:46.943Z",
"firstSeenAt": "2026-10-26T10:13:46.943Z"
},
"test": true
}Aninhados em data, exceto os quatro primeiros. Campos só são adicionados, nunca renomeados ou removidos, e data.version informa o formato.
O Chat33 nunca envia e-mails aos seus leads. O que acontece depois depende da automação que você criar.
Toda requisição é assinada com o segredo de assinatura do seu webhook, exibido no cartão Webhook de mensagens em Configurações, Chaves de API. Ferramentas no-code podem pular esta etapa e manter a URL do webhook privada. No seu próprio servidor, confira a assinatura antes de confiar no corpo.
X-Chat33-Event
lead.captured para um lead, message.received para uma DM.
X-Chat33-Signature
Parece com t=1793009626,v1=0decb33a..., em que t é o horário Unix em segundos e v1 é o HMAC-SHA256 do timestamp, um ponto e o corpo bruto da requisição, com o segredo de assinatura inteiro (whsec_...) como chave. Cada tentativa é assinada de novo com um timestamp novo.
User-Agent
Chat33-Webhooks/1.0, com Content-Type application/json.
Um novo segredo
Remover o webhook e salvá-lo de novo gera um novo segredo. Atualize o seu servidor quando isso acontecer.
const crypto = require("crypto");
const express = require("express");
// Settings, API Keys, Message webhook, Signing secret (whsec_...)
const SECRET = process.env.CHAT33_WEBHOOK_SECRET;
function verifyChat33(rawBody, header, toleranceSeconds = 300) {
const parts = {};
for (const piece of String(header || "").split(",")) {
const i = piece.indexOf("=");
if (i > 0) parts[piece.slice(0, i)] = piece.slice(i + 1);
}
if (!parts.t || !parts.v1) return false;
if (Math.abs(Date.now() / 1000 - Number(parts.t)) > toleranceSeconds) return false;
const expected = crypto
.createHmac("sha256", SECRET)
.update(`${parts.t}.${rawBody}`)
.digest("hex");
const a = Buffer.from(expected, "hex");
const b = Buffer.from(parts.v1, "hex");
return a.length === b.length && crypto.timingSafeEqual(a, b);
}
const app = express();
// The raw body: the signature covers the exact bytes Chat33 sent.
app.post("/chat33-webhook", express.raw({ type: "application/json" }), (req, res) => {
const rawBody = req.body.toString("utf8");
if (!verifyChat33(rawBody, req.get("X-Chat33-Signature"))) return res.sendStatus(401);
const event = JSON.parse(rawBody);
if (event.event === "lead.captured" && !event.test) {
// Save event.data.email, skip event.id values you already have.
}
res.sendStatus(200);
});
app.listen(3000);O que o Chat33 faz com cada lead e o que o seu endpoint deve responder.
Responda com um 2xx em até 10 segundos
Qualquer status 2xx conta como entregue. Qualquer outra coisa, um timeout depois de 10 segundos ou um erro de rede conta como falha. Redirecionamentos não são seguidos, então salve o endereço final.
Leads com falha são tentados de novo
Um lead com falha é tentado de novo depois de cerca de 1 minuto, 5 minutos, 30 minutos, 2 horas e 12 horas. Depois disso ele aparece como Com falha, e Reenviar falhas no cartão o envia outra vez. Uma resposta 429 significa esperar: o Chat33 tenta de novo um minuto depois sem gastar uma tentativa.
Leads de teste são enviados uma vez
Enviar lead de teste faz uma tentativa, não é repetido e não aparece no registro de entregas. Ele é enviado mesmo quando Novos leads não está marcado, então marque essa opção antes de contar com leads reais.
O mesmo webhook pode enviar DMs
Com Novas DMs marcado, a mesma URL também recebe message.received para cada DM que as pessoas enviam às suas contas conectadas, para que o seu próprio bot possa respondê-las. A referência da API descreve esse evento e os endpoints de webhook.
Contatos que você já tem
Enviar leads existentes
Os leads coletados antes de ativar Novos leads não são enviados sozinhos. Clique em Enviar leads existentes no cartão Zapier, Make, n8n, Google Sheets em Configurações, Integrações e eles saem nos próximos minutos, com os mesmos ids de antes, para que a sua ferramenta ignore os que já tem.
O Chat33 guarda todos os leads, então basta corrigir o webhook. Nada precisa ser coletado de novo.
Confira o cartão Webhook de mensagens
A URL precisa estar salva e Novos leads marcado. O cartão mostra a última entrega com o status HTTP ou o erro. Use Enviar lead de teste para ver a resposta na hora.
O Zapier diz que o app precisa de upgrade
O Webhooks by Zapier não está no plano grátis do Zapier. Faça upgrade ou use o Make ou o n8n, que recebem webhooks nos planos grátis.
Sua ferramenta responde com erro
Uma resposta 4xx ou 5xx é uma falha e o lead é tentado de novo. No n8n, a Test URL só funciona enquanto você está ouvindo um evento de teste: use a Production URL com o workflow ativo. No Make, o cenário precisa estar ativado.
O endereço não foi aceito
O Chat33 só envia para endereços https:// públicos. Um n8n auto-hospedado em localhost ou numa rede privada não consegue receber leads. Remova qualquer coisa depois de um # na URL.
Os leads estão no Chat33, mas não na sua ferramenta
Abra o Registro de entregas no cartão Zapier, Make, n8n, Google Sheets. Cada lead mostra o status e o motivo. Leads de contas que o webhook não cobre são ignorados, e leads coletados antes de você ativar Novos leads precisam de Enviar leads existentes.
Ninguém recebeu o pedido de e-mail
Confira a automação. Ela precisa estar ativa e, quando começa por um comentário no Instagram, a etapa Coletar e-mail deve vir antes da primeira DM. Pedir depois de um comentário no Facebook ainda não está disponível.

Crie uma conta grátis, conecte o Instagram, adicione uma etapa Coletar e-mail e cole a URL do seu webhook.