Skip to content
Comece com 100 créditos de verificação grátis
Qualisend
Todos os artigos
Guias / 30 de junho de 2026

Como verificar e-mails do Typeform sem plugin

8 minutes read

Qualisend team
Diagrama de fluxo da esquerda para a direita: uma resposta de e-mail do Typeform é enviada a um webhook serverless e, em seguida, à API de verificação da Qualisend, que retorna um veredito de entregável, arriscado ou não entregável.

O Typeform é ótimo para coletar endereços de e-mail e discretamente ruim para dizer quais deles são reais. Seu campo de e-mail verifica se o que a pessoa digitou parece um endereço — mas não consegue confirmar que a caixa de correio existe, que não é descartável ou que não vai gerar um hard bounce logo no seu primeiro follow-up. Este guia mostra duas maneiras práticas de verificar e-mails do Typeform com a Qualisend: em tempo real, com um webhook que dispara no momento em que uma resposta chega, e em massa, exportando as respostas para um CSV. Nenhuma delas precisa de um plugin nativo — ainda não existe um — apenas os webhooks integrados do Typeform ou o botão de exportação.

A resposta curta#

Escolha o caminho que corresponde a quando você precisa da resposta:

  • Tempo real — aponte um webhook do Typeform para uma pequena função serverless. A cada envio, o Typeform faz um POST da resposta para o seu endpoint; a função extrai o e-mail, chama a API da Qualisend e age conforme o veredito — marca o contato, encaminha para a lista certa ou segura o e-mail de boas-vindas para um endereço ruim.
  • Em massa — exporte suas respostas existentes para CSV, passe-as pela verificação em massa da Qualisend e suprima os endereços não entregáveis antes do próximo envio.

Por que o campo de e-mail do Typeform não basta#

O tipo de pergunta email do Typeform faz uma verificação de formato no navegador — garante que exista um @, um domínio e nenhum lixo óbvio. É a mesma classe de verificação que um regex faz, e falha pelos mesmos motivos: formato não é entregabilidade. jane@gmial.com passa na verificação de formato. throwaway@mailinator.com também, assim como um endereço de aparência real em um domínio que fechou no ano passado.

Nenhum deles é detectado até você enviar — e aí um endereço morto vira um hard bounce que corrói sua taxa de bounce e sua reputação de remetente. A verificação de verdade adiciona as camadas que o Typeform não tem: uma consulta de DNS/MX e uma sondagem SMTP da caixa de correio, além de sinalizadores para endereços descartáveis, de função (role) e catch-all. Se esse fluxo é novo para você, o que a verificação de e-mail realmente checa é a introdução.

Duas formas de verificar e-mails do Typeform#

A restrição importante primeiro: o Typeform não consegue bloquear um e-mail ruim no meio do formulário. Não há uma maneira suportada de chamar uma API externa entre as perguntas e impedir que um respondente termine, então a verificação em tempo real acontece logo após o envio, em um webhook — não como uma barreira inline. Isso molda os dois caminhos.

CaminhoQuando executaMelhor para
Webhook em tempo realInstantaneamente, a cada envioFunis ao vivo — marcar, encaminhar ou segurar o follow-up antes de enviá-lo
CSV em massaSob demanda, em lotesAcúmulos de respostas existentes e higienização periódica da lista

Caminho 1: tempo real com um webhook do Typeform#

O Typeform pode enviar cada resposta para uma URL que você controla. No painel Connect do formulário, adicione um webhook e aponte-o para o seu endpoint. Os webhooks são um recurso de plano pago no Typeform, então confira seu plano antes de construir. Quando uma resposta é enviada, o Typeform faz um POST de um payload JSON cujo array form_response.answers contém cada resposta — o endereço de e-mail fica na resposta do tipo email.

Seu endpoint é uma função serverless que guarda a chave da API e transforma o veredito em uma ação. O padrão é o mesmo do guia de verificação no cadastro: a chave fica no servidor, e você age com base no resultado. Aqui está ele como um Route Handler do Next.js (consulte a documentação para desenvolvedores para o caminho exato do endpoint e o formato da requisição):

// app/api/typeform-webhook/route.ts
import { NextResponse } from "next/server";

// Placeholder — confirm the real path in /developers.
const QUALISEND_ENDPOINT = "https://api.qualisend.com/v1/verify";

export async function POST(req: Request) {
  const payload = await req.json();

  // The email lives in the answer whose type is "email".
  const answers = payload.form_response?.answers ?? [];
  const email = answers.find((a) => a.type === "email")?.email;
  if (!email) return NextResponse.json({ ok: true }); // nothing to verify

  const res = await fetch(QUALISEND_ENDPOINT, {
    method: "POST",
    headers: {
      // Store YOUR_API_KEY server-side, never in the browser.
      Authorization: `Bearer ${process.env.QUALISEND_API_KEY!}`,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({ email }),
    signal: AbortSignal.timeout(4000),
  });

  if (!res.ok) return NextResponse.json({ ok: true, degraded: true }); // fail open
  const { result } = await res.json();

  // The submit already happened — route on the verdict instead of blocking.
  if (result.status === "undeliverable" || result.sub_flags?.disposable) {
    // Skip the welcome email, tag the contact for review, keep it off the main list.
  }

  return NextResponse.json({ ok: true, status: result.status });
}

Três coisas tornam isso robusto. Responda rápido: o Typeform espera um 2xx rapidamente, então mantenha o handler enxuto e retorne sem demora. Fail open: se a API der timeout ou erro, não perca o lead — aceite-o e recheque depois, e é por isso que o ramo !res.ok ainda retorna ok: true. E verifique a assinatura que o Typeform envia, para que um estranho não consiga fazer POST de respostas falsas no seu endpoint — o painel Connect fornece um segredo para isso.

Uma pegadinha no payload: se o seu formulário tem mais de uma pergunta de e-mail, ou você quer ser robusto a reordenações, faça a correspondência pelo field.ref da resposta em vez de pegar a primeira resposta com type === "email". Defina um ref estável na pergunta de e-mail no construtor do Typeform e leia a.field?.ref === "your_ref", para que o endereço certo seja sempre o que você verifica.

Depois disso, o veredito é apenas uma ramificação. Um resultado deliverable flui direto para o seu CRM ou ferramenta de e-mail; um undeliverable ou disposable é marcado, retido da sequência de boas-vindas ou colocado em uma fila de revisão — o que o seu processo exigir. O webhook é o encanamento; o roteamento é seu.

A lógica de verificação em si é agnóstica de linguagem; a mesma chamada funciona a partir de uma função em Python ou PHP, se essa for a sua stack. O código de endpoint no tutorial de Node.js ou no tutorial de Python se encaixa direto em um handler de webhook — apenas a análise do payload acima é específica do Typeform.

Caminho 2: verificação em massa de uma exportação CSV#

Se você já tem uma pilha de respostas, ou prefere limpar em uma agenda em vez de montar um webhook, vá em lotes. No Typeform, abra Results → Responses e baixe os dados como CSV (ou XLSX). Você vai obter uma linha por envio, com o e-mail em sua própria coluna.

Então:

  1. Faça o upload do CSV para a verificação em massa da Qualisend e deixe-a rodar o pipeline completo — MX, SMTP e os sinalizadores de descartável/função/catch-all — em cada linha.
  2. Baixe o arquivo anotado. Cada endereço volta com um status, um código de motivo e uma pontuação de 0 a 100.
  3. Suprima os não entregáveis na ferramenta de onde você realmente envia, e trate as linhas arriscadas com cuidado. A rotina de ponta a ponta, incluindo onde cada status se encaixa, está em como limpar uma lista de e-mails.

O modo em massa é a ferramenta certa para um acúmulo, mas é limpeza, não prevenção: um endereço que você captura aqui geralmente já está parado na sua lista há algum tempo. Combine uma passagem em massa periódica com o webhook em tempo real, para que novos endereços ruins sejam sinalizados no momento em que chegam.

Agindo com base no veredito#

Seja qual for o caminho que entrega o resultado, o formato é o mesmo — um status, um reason, um score e os sub-flags. Mapeie cada um para uma ação:

ResultadoO que fazer
deliverableAceite — adicione à sua lista e envie normalmente.
undeliverableSuprima. Não envie; verifique o reason para ver se é um domínio ruim ou uma caixa de correio morta.
sinalizador disposableRejeite ou marque, dependendo de quão rigoroso é o seu funil — veja endereços de função, descartáveis & gratuitos.
risky / catch-allAceite, mas segmente. Um domínio catch-all não consegue confirmar a caixa de correio individual, então envie com cautela.
unknownAceite e recheque depois — a infraestrutura não respondeu, então nunca descarte um lead real por causa disso.

Perguntas frequentes#

O Typeform consegue verificar endereços de e-mail sozinho?#

Apenas o formato. O tipo de pergunta email do Typeform confirma que um endereço está bem formado — tem um @ e um domínio —, mas não resolve registros MX nem sonda a caixa de correio, então um endereço com erro de digitação ou descartável que parece válido ainda passa. A verificação de verdade precisa das camadas de DNS e SMTP que um serviço como a Qualisend adiciona por cima.

Preciso de um plano pago do Typeform para verificar e-mails em tempo real?#

Para o caminho do webhook, sim — os webhooks de saída ficam no painel Connect do Typeform, disponível nos planos pagos, então confira seu plano antes de construir o endpoint. Se você está em um plano sem webhooks, use o caminho em massa: exporte as respostas para CSV e verifique em lotes, o que funciona em qualquer plano que permita baixar os resultados.

Consigo bloquear um e-mail ruim antes de o respondente terminar o formulário?#

Não de forma confiável. O Typeform não tem uma maneira suportada de chamar uma API externa no meio do formulário e impedir que alguém envie, então a verificação em tempo real acontece logo após o envio, no webhook. Na prática, isso não é problema: você verifica em segundos e age antes que o endereço receba qualquer mensagem — você segura o e-mail de boas-vindas, marca o contato ou o encaminha para revisão, em vez de bloquear o formulário em si.

Devo usar o webhook em tempo real ou a exportação em massa via CSV?#

Use o webhook quando o momento importa — você quer receber, encaminhar ou suprimir a cada resposta conforme elas chegam. Use o modo em massa quando estiver limpando um acúmulo ou fazendo higienização periódica. A maioria das equipes faz os dois: o webhook mantém os novos cadastros limpos, e uma passagem em massa ocasional captura tudo o que escapou ou envelheceu.


Pronto para configurar? Pegue uma chave com escopo e o formato exato da requisição em a documentação para desenvolvedores, teste um único endereço em o verificador de e-mail gratuito, ou comece com os 100 créditos gratuitos em todos os planos para testar o fluxo de ponta a ponta.

Your reputation, protected.

Clean your first list in minutes. 100 free credits, no card required.

Get started