O Webflow entrega um formulário em todo site, mas ele vai armazenar tranquilamente
asdf@asdf, uma caixa de entrada descartável ou um @gmial.com digitado às pressas
bem ao lado dos seus leads reais — e cada um desses endereços gera um hard bounce no
instante em que o seu ESP tenta enviar para ele. Para verificar e-mails de
formulários do Webflow, você direciona o envio para uma checagem de verificação
antes que ele chegue ao seu CRM: seja em tempo real, no exato momento em que alguém
clica em enviar, seja em lote, mais tarde. Este guia cobre os dois caminhos, com
código funcional para o caminho em tempo real e uma observação honesta sobre onde o
seu plano do Webflow impõe limites.
A resposta curta#
Não existe hoje um app da Qualisend para instalar no Webflow — os conectores nativos de plataforma estão sendo reconstruídos — então os dois padrões contornam isso. Tempo real: envie cada submissão para uma pequena função no lado do servidor (via um webhook de formulário do Webflow, ou por uma etapa "monitorar envios de formulário" do Make/Zapier), faça essa função chamar a API de verificação e aja com base no veredicto antes de sincronizar o lead adiante. Em massa: exporte os envios de formulário do Webflow para CSV e passe-os por um job de verificação em massa. O tempo real impede, de saída, que endereços ruins entrem na sua lista; o modo em massa é como você limpa o que já está lá.
Por que verificar e-mails de formulários do Webflow na captura#
Um endereço morto detectado no formulário do Webflow é um bounce que nunca acontece. O
mesmo endereço descoberto três envios depois já custou tentativas de entrega, prejudicou
sua taxa de bounce e empurrou sua reputação de
remetente na direção errada. Verificar na captura é prevenção; limpar uma lista é
faxina — e a prevenção sai mais barato em todos os eixos. Isso também evita os problemas
mais silenciosos, que nunca geram bounce mas ainda assim prejudicam: um
endereço de função como info@, que nenhuma
pessoa específica lê, ou uma caixa descartável que infla sua contagem de assinantes e
sua fatura sem jamais abrir nada.
Se você quer entender a mecânica por baixo — sintaxe, MX e a sondagem SMTP da caixa postal — como funciona a verificação de e-mail percorre o pipeline de onde cada veredicto sai.
Caminho 1: verificação em tempo real com um webhook#
Tempo real significa que a checagem roda entre o envio do formulário do Webflow e a sincronização com o seu ESP ou CRM. Três peças móveis fazem isso funcionar:
- Tirar o envio de dentro do Webflow. O Webflow pode fazer um POST de cada envio
de formulário para uma URL que você controla. Em um plano Site pago, você pode
registrar um webhook
form_submission(Configurações do site → Integrações, ou pela Data API do Webflow), que dispara sem perturbar os envios que o Webflow guarda para você. Alternativa no-code: conecte o Make ou o Zapier, use o gatilho "novo envio de formulário" do Webflow e adicione uma etapa de Webhooks que faz o POST para a sua função. De qualquer forma, o destino é um pequeno endpoint que você controla — nunca a API de verificação diretamente, porque isso enviaria a sua chave para um lugar onde você não a quer. - Uma função no lado do servidor que guarda a chave de API, chama o endpoint de verificação e transforma a resposta em uma decisão.
- A sua lógica de sincronização, que só empurra o lead para o seu CRM depois que o veredicto é aprovado.
A função de verificação#
Aqui está a peça do meio como uma função serverless — o formato funciona no Vercel,
Netlify, Cloudflare Workers ou em qualquer host que lhe dê um handler HTTP. Ela lê o
e-mail do payload do webhook, chama a API e decide. O caminho do endpoint e o payload
abaixo são placeholders — confira a referência da API para a requisição
exata — e a chave com escopo (YOUR_API_KEY) permanece no lado do servidor, em uma
variável de ambiente, nunca no código de página do Webflow:
// api/webflow-verify.js — Webflow (or Make/Zapier) POSTs form submissions here
export default async function handler(req, res) {
// Webflow's form_submission webhook nests the fields under `data`;
// a Make/Zapier Webhooks step can forward the same shape.
const fields = req.body?.data ?? req.body ?? {};
const email = fields.email ?? fields.Email;
if (!email) return res.status(400).json({ error: "no email field" });
let verdict = { status: "unknown" }; // default if the API can't be reached
try {
const r = await fetch("https://api.qualisend.com/v1/verify", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.QUALISEND_API_KEY}`, // your scoped key
"Content-Type": "application/json",
},
body: JSON.stringify({ email }),
signal: AbortSignal.timeout(4000), // don't let a slow probe stall the webhook
});
if (r.ok) verdict = (await r.json()).result; // { status, reason, score, sub_flags }
} catch {
// timeout or network error — fall through as "unknown" and sync anyway
}
// Act on the verdict BEFORE the lead reaches your ESP/CRM.
if (verdict.status === "undeliverable" || verdict.sub_flags?.disposable) {
return res.status(200).json({ synced: false, status: verdict.status });
}
await syncToCrm(email, fields, verdict); // your existing ESP/CRM call
return res.status(200).json({ synced: true, status: verdict.status });
}
A resposta lhe dá um status (deliverable, risky, undeliverable ou unknown),
um código de reason, um score de 0 a 100 e sub_flags para disposable, role,
free e catch_all. Isso é tudo o que você precisa para rotear o lead. A mecânica
serverless — guardar a chave, aplicar timeout e fazer fail-open — é a mesma abordada
em profundidade em
verifique o e-mail no cadastro com uma função serverless,
e a versão específica para Node da chamada de API está em
valide um endereço de e-mail em Node.js.
Agindo com base no veredicto#
O sentido de fazer isso antes da sincronização é que você passa a tomar uma decisão de roteamento em vez de deixar tudo passar:
| Veredicto | O que fazer antes de sincronizar |
|---|---|
undeliverable | Não sincronize. Vai gerar hard bounce — mantenha totalmente fora da lista. |
flag disposable | Pule ou marque com tag, dependendo de quão rigoroso é o seu produto — veja endereços de função, descartáveis e gratuitos. |
risky / catch_all | Sincronize, mas marque com tag para poder enviar para o segmento catch-all com cuidado. |
unknown | Sincronize. A infraestrutura não respondeu — nunca perca um lead real por uma falha transitória. |
deliverable | Sincronize. Este é o caminho limpo. |
Onde o seu plano do Webflow importa#
Seja honesto consigo mesmo sobre qual mecanismo você realmente pode usar, porque isso depende do seu plano:
- Webhooks nativos de
form_submissione a adição de código personalizado a um site exigem um plano Site pago do Webflow. No plano gratuito você não terá acesso a webhooks nem a embeds personalizados, e os envios de formulário são limitados. - A substituição da ação do formulário (apontar a URL de action do formulário diretamente para o seu endpoint) funciona sem webhooks, mas contorna o próprio armazenamento de envios do Webflow e as notificações por e-mail — você assume o controle de todo o envio.
- Make ou Zapier contornam a questão do plano do lado do Webflow, mas adicionam uma etapa que você vai pagar do lado deles, além de latência. Para a maioria das equipes, o webhook nativo é a rota em tempo real mais limpa depois que você está em um plano pago.
Na dúvida, comece com aquele a que você já tem acesso. A função do meio não se importa com como o envio chega até ela.
Caminho 2: verifique em massa os envios exportados#
Se o tempo real é mais encanamento do que você quer agora, ou você já tem uma pilha de envios coletados antes de configurar qualquer coisa disso, verifique em massa:
- Abra o painel Forms do seu site nas configurações do Webflow e exporte os envios para CSV (exportar envios é um recurso de plano pago).
- Faça o upload desse CSV em um job de verificação em massa na Qualisend. Cada linha
volta com o mesmo
status,reason,scoreesub_flagsda API em tempo real. - Mantenha as linhas
deliverable, descarte ou coloque em quarentena asundeliverableedisposable, e decida caso a caso sobreriskyecatch_all. - Importe a lista limpa para o seu ESP.
Este é o ciclo comum de higiene de lista, e como limpar uma lista de e-mails explica como ler as flags e o que fazer com cada grupo. O modo em massa também é a ferramenta certa para uma auditoria pontual de tudo o que o Webflow já coletou — não há motivo para deixar endereços comprovadamente mortos parados no seu CRM.
Qual caminho você deve escolher?#
| Situação | Melhor caminho |
|---|---|
| Novos envios, contínuos, quer eles limpos já na porta | Webhook em tempo real (Caminho 1) |
| Um acúmulo já parado no Webflow ou no seu CRM | CSV em massa (Caminho 2) |
| Plano gratuito do Webflow, sem acesso a webhook ou código personalizado | CSV em massa, ou encaminhe pelo Make/Zapier |
| Você quer tanto prevenção quanto uma rede de segurança periódica | Tempo real para novos leads, em massa de forma agendada |
A maioria das equipes acaba rodando os dois: tempo real para manter a lista limpa daqui para frente, e uma passada em massa de vez em quando para capturar endereços que ficaram obsoletos desde que se cadastraram.
E quanto a um app nativo do Webflow?#
Não existe um agora. As integrações nativas de plataforma da Qualisend estão sendo reconstruídas, então não saia procurando um app, plugin ou conector da Qualisend no marketplace do Webflow — nenhum existe ainda, e uma integração nativa com o Webflow está no roadmap, e não disponível hoje. Até que ela chegue, o padrão de webhook mais função descrito acima é a abordagem em tempo real com suporte, e a verificação em massa por CSV cobre todo o resto. Nenhum dos dois depende da integração.
Perguntas frequentes#
Posso chamar a API da Qualisend diretamente de um formulário do Webflow?#
Não — e você não vai querer isso. Chamar a API a partir do código de página do Webflow
(JavaScript personalizado em um embed) exporia a sua chave de API para qualquer pessoa
que visse o código-fonte. Mantenha a chave no lado do servidor apontando o formulário,
um webhook form_submission ou uma etapa do Make/Zapier para uma função que você
controla, e deixe que ela chame a API. A função é a única coisa que enxerga a chave.
Preciso de um plano pago do Webflow para verificar envios de formulário?#
Para o caminho em tempo real, na prática sim: webhooks nativos de formulário e código personalizado exigem, ambos, um plano Site pago, e as exportações de envios também são um recurso pago. No plano gratuito, suas melhores opções são encaminhar os envios pelo Make ou Zapier, ou coletá-los e verificar em massa uma exportação em CSV assim que você fizer o upgrade. Confira a lista de recursos do seu plano atual do Webflow antes de construir, já que os mecanismos disponíveis variam conforme o nível.
Verificar vai deixar meu formulário do Webflow mais lento?#
Isso não toca na experiência do visitante. O Webflow exibe o estado de sucesso assim que o envio é aceito; a sua verificação roda depois, no handler do webhook, fora do caminho principal. Mesmo nas configurações diretas em tempo real, o timeout de 4 segundos e o comportamento de fail-open acima limitam o pior cenário — o lead nunca fica refém de um servidor de e-mail lento.
Como verifico os envios do Webflow que já coletei?#
Exporte-os. Abra o painel Forms nas configurações do seu site no Webflow, baixe os envios como CSV e passe esse arquivo por um job de verificação em massa. Você vai receber um veredicto por linha que pode filtrar antes de reimportar os endereços limpos para o seu ESP — o mesmo ciclo descrito em como limpar uma lista de e-mails.
Pronto para manter endereços ruins fora dos seus leads do Webflow? Teste qualquer
endereço de graça com o verificador de endereço único, pegue o
endpoint /verify e as chaves com escopo na referência da API, e comece
no plano gratuito com 100 créditos para conectar o webhook de ponta a ponta.