Passar para o conteúdo principal

Crescimento – Cada lead vai direto para seu CRM: envie solicitações de demo do Survio para uma planilha ou para o HubSpot

Transforme um formulário do Survio em um fluxo automático de geração de leads: toda solicitação de demonstração vira uma linha em uma Google Sheet com notificação por e-mail, ou cria automaticamente um contato no HubSpot.

Escrito por Success Team Survio

Qual cenário combina com você?

Cenário A – prático para todos: cada solicitação de demo vira uma nova linha em uma Google Sheet que você usa como CRM, e você recebe um e-mail automaticamente.

Cenário B – para times que já usam um CRM: cada solicitação de demo vira um novo lead no HubSpot, pronto pro seu time de vendas agir.

Um visitante preenche seu formulário de solicitação de demo e em poucos segundos o lead já aparece no seu CRM. Se for uma pequena empresa, uma nova linha é criada na planilha de leads e um e-mail chega para você responder. Para equipes de vendas, o contato já entra no HubSpot. Assim, você responde para o lead enquanto ele ainda está navegando no seu site.
​

Este é o e-mail padrão que você recebe para cada nova solicitação de demo no Cenário A:
​

New demo request e-mail in Gmail


​

E este é o novo contato criado no HubSpot no Cenário B:
​

HubSpot contact created from a demo request: lifecycle stage Lead and the request in Message

Como funciona. O Survio envia cada resposta finalizada para uma URL via Webhook. Uma ferramenta de automação (n8n, neste guia) recebe e insere o lead onde você trabalha. O Survio envia, o n8n automatiza o resto.

Nunca usou Webhooks no Survio? Confira primeiro Webhooks: envie respostas para suas outras ferramentas em tempo real e depois retorne aqui.
​

O que você vai criar

Os dois cenários começam igual: um formulário simples de solicitação de demo no seu site, enviado via Webhook para o n8n.

Visão geral

Cenário A: planilha como CRM

Cenário B: HubSpot

Resultado

Cada solicitação vira uma linha no Google Sheets com coluna de status, além de e-mail automático para você

Cada solicitação cria um novo contato no CRM HubSpot, já pronto para abordagem comercial

Ferramentas

Survio, n8n, Google Sheets, Gmail

Survio, n8n, HubSpot

Melhor para

Pequenas empresas que cuidam do relacionamento com leads de forma direta

Equipes de vendas que já usam o HubSpot

Antes de começar

  • Uma pesquisa Survio em um plano pago. O recurso de Webhooks não está disponível no plano Free, e cada plano limita a quantidade de Webhooks por pesquisa (veja este artigo sobre Webhooks).

  • Conta no n8n, seja Cloud ou instalada por conta própria.

  • Cenário A: conta Google para Google Sheets e Gmail. Cenário B: conta no HubSpot.

Neste passo a passo, usamos um formulário curto: nome, e-mail corporativo (pergunta de e-mail), empresa, tamanho do time (pergunta de escolha) e um campo opcional "O que você gostaria de ver na demo?". O seu formulário pode ser diferente; você irá mapear as perguntas conforme seu caso.
​

Passo 1 — Coloque o formulário no seu site

  1. Abra a pesquisa, vá em Coletar respostas e clique em Na web.

  2. Selecione Janela pop-up e defina quando ela vai aparecer. Para formulários curtos, ative Ocultar a Página de início para que as pessoas comecem direto pela primeira Pergunta.

  3. Clique em Incorporar no site e cole o código no seu site.

Pop-up window settings for the survey in Survio
Embed code for the pop-up window

Outras opções, como botão ou widget na lateral, estão em Como incorporar uma pesquisa no seu site.
​

Passo 2 — Só para o cenário A: prepare a planilha de leads

  1. Crie uma nova Google Sheet e renomeie a primeira aba para leads.

  2. Na linha um, coloque os nomes das colunas: ID da resposta, Recebido, Nome, E-mail, Empresa, Tamanho da equipe, O que querem ver, Status e Idioma.

  3. Selecione as células da coluna Status abaixo do cabeçalho, vá em Inserir → Lista suspensa, adicione as opções Novo, Contactado e Feito (use Adicionar outra resposta) e clique em Feito.

Sua planilha agora é seu mini CRM. Novos leads entram como Novo. Quando conversar ou responder alguém, mude para Contactado, e use Feito quando finalizar ou perder o negócio. Filtre por Status para ver quem ainda precisa de resposta.

Passo 3 — Crie o webhook no n8n

  1. No n8n, crie um novo fluxo de trabalho e adicione o nó Webhook como gatilho.

  2. Ajuste o Método HTTP para POST.

  3. Vá para a aba URL de produção e copie o endereço.

  4. Clique em Publicar. Só a URL de produção aceita requisições após a publicação do fluxo.

n8n Webhook node with HTTP Method POST and the Production URL tab
Published button in the n8n editor

Use sempre a URL de produção, não a de teste. A URL de teste só funciona com o editor aberto e esperando evento – se você fechar, o envio do Survio falha. O Survio tenta de novo por cerca de um dia, e depois de 5 dias desativa o Webhook.

Passo 4 — Conecte a pesquisa ao Survio

  1. Abra sua pesquisa e vá em Coletar respostas.

  2. Na barra à esquerda, em Automatizações & Integrações, selecione Webhooks e clique em + Adicionar um webhook.

  3. Cole a URL de produção do n8n no campo URL do Webhook e clique em Salvar webhook. O Webhook fica ativo imediatamente.

Add a webhook dialog in Survio with the n8n Production URL filled in
Saved webhook in Survio, switched on


​

Passo 5 — Faça um teste e pegue os ids das suas perguntas

  1. Preencha e envie seu formulário normalmente. O Survio só dispara para respostas completas, então vá até o fim.

  2. No n8n, abra a aba Execuções. Os envios chegam em poucos segundos.

  3. Clique na execução e depois no nó Webhook. Expanda body, depois data e answers. Cada resposta mostra o question.id, o label e a answer.

  4. Anote o id de cada pergunta. Você pode clicar em Fixar para continuar editando o fluxo sem precisar reenviar o formulário.

Webhook node output in n8n with a demo request

Sempre busque as respostas pelo id da pergunta. As respostas chegam em uma lista. Se você adicionar uma pergunta depois, a ordem muda, mas o id nunca muda.

O e-mail do lead está dentro das respostas. Não use data.email: ele geralmente fica vazio se o e-mail for resposta de uma pergunta. Pegue da resposta correspondente.

Cenário A — Planilha como CRM e e-mail

O fluxo tem três etapas após o Webhook: Preparar lead monta os dados, Salvar lead na planilha adiciona a linha, e Enviar e-mail sobre o novo lead te notifica.
​

Preparar lead

  1. Adicione o nó Editar campos (Set) depois do Webhook e renomeie para Preparar lead.

  2. Em Campos a definir, adicione um campo para cada coluna da planilha, mantendo tipo String. O nome do campo precisa ser idêntico ao do cabeçalho; use a expressão sugerida para preencher.

  3. Troque os ids das perguntas (90403243, etc) pelos seus e Europe/Prague pelo seu fuso horário.

Nome do campo

Valor

ID da resposta

{{ $json.body.data.responseId }}

Recebido

{{ DateTime.fromISO($json.body.data.submitted).setZone('Europe/Prague').toFormat('yyyy-MM-dd HH:mm') }}

Nome

{{ $json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "" }}

E-mail

{{ $json.body.data.answers.find(a => a.question.id === 90403263)?.answer ?? "" }}

Empresa

{{ $json.body.data.answers.find(a => a.question.id === 90403245)?.answer ?? "" }}

Tamanho da equipe

{{ $json.body.data.answers.find(a => a.question.id === 90403247)?.answer?.labels?.[0] ?? "" }}

O que querem ver

{{ $json.body.data.answers.find(a => a.question.id === 90403244)?.answer ?? "" }}

Status

Novo (texto simples, não expressão)

Idioma

{{ $json.body.data.langCode }}

Prepare lead node in n8n with Fields to Set

Salvar lead na planilha

  1. Adicione o nó Google Sheets depois de Preparar lead, renomeie para Salvar lead na planilha e escolha Adicionar ou atualizar linha.

  2. Conecte sua conta Google, depois selecione sua planilha em Documento e a aba leads em Planilha.

  3. Coloque Modo de mapeamento de colunas como Mapear automaticamente e Coluna para correspondência como ID da resposta.

  4. Em Opções, adicione Formato de célula e selecione Deixar n8n formatar – assim previne que o Google Sheets interprete respostas como 2-10 como datas.

Save lead to sheet node: Append or Update Row, Map Automatically, Column to match on Response ID

Por que separar o passo Preparar lead? Se você alterar a planilha ou aba no nó do Google Sheets, o n8n zera o mapeamento de colunas na configuração. Com os campos já preparados, nada se perde.

Enviar e-mail sobre o novo lead

  1. Inclua o nó Gmail após Salvar lead na planilha, renomeie para Enviar e-mail sobre o novo lead e escolha Mensagem e Enviar.

  2. Conecte sua conta Gmail e coloque seu e-mail em Para.

  3. Configure o Assunto como Nova solicitação de demo: {{ $('Preparar lead').item.json.Nome }} ({{ $('Preparar lead').item.json.Empresa }}).

  4. Escolha o Tipo de e-mail como HTML e escreva a mensagem com os dados do lead, usando por exemplo {{ $('Preparar lead').item.json['E-mail'] }} para o e-mail.

  5. Em Opções, adicione Responder para com {{ $('Preparar lead').item.json['E-mail'] }}. Assim, ao responder, o contato vai direto para o lead. Desative Adicionar atribuição do n8n.

Gmail node E-mail the new lead with To, Subject, Message and Send Replies To

Clique em Publicar novamente. Qualquer alteração feita só fica ativa após nova publicação.

n8n workflow: Survio Webhook, Prepare lead, Save lead to sheet, E-mail the new lead

Faça outro envio de teste. Uma nova linha aparece com status Novo na sua planilha e o e-mail também chega para você.

The leads tab in Google Sheets with a Status dropdown


​

Cenário B — Cada solicitação de demo vira lead no HubSpot

Neste caso, o lead cai direto como contato no HubSpot com estágio de lead, facilitando para seu time agir rápido. O fluxo possui dois passos depois do Webhook: Preparar lead e Criar ou atualizar contato.

Preparar lead

Adicione o nó Editar campos (Set) após o Webhook, renomeie para Preparar lead e inclua os campos String abaixo, ajustando os ids conforme seu formulário.

Nome do campo

Valor

E-mail

{{ $json.body.data.answers.find(a => a.question.id === 90403263)?.answer ?? "" }}

Primeiro nome

{{ ($json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "").trim().split(" ")[0] }}

Sobrenome

{{ ($json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "").trim().split(" ").slice(1).join(" ") }}

Empresa

{{ $json.body.data.answers.find(a => a.question.id === 90403245)?.answer ?? "" }}

Mensagem

Solicitação de demo pelo Survio. Tamanho da equipe: {{ $json.body.data.answers.find(a => a.question.id === 90403247)?.answer?.labels?.[0] }}. Quer ver: {{ $json.body.data.answers.find(a => a.question.id === 90403244)?.answer }}

Os campos Primeiro nome e Sobrenome dividem a resposta do campo único "Seu nome". Se seu formulário separa nome e sobrenome, basta usar os ids correspondentes.
​

Criar ou atualizar contato

  1. Inclua o nó HubSpot depois de Preparar lead, renomeie para Criar ou atualizar contato, selecione Contato e escolha Criar ou atualizar.

  2. Conecte sua conta do HubSpot.

  3. Ligue o E-mail a {{ $json['E-mail'] }}. O HubSpot identifica contatos pelo e-mail: se houver repetido, ele atualiza, não duplica.

  4. Em Propriedades do contato, clique em Adicionar propriedade e inclua Primeiro nome, Sobrenome, Nome da empresa e Mensagem usando os dados do passo Preparar lead, além de definir o Estágio do ciclo de vida como Lead.

HubSpot node Create or update contact with Email, contact properties and Lifecycle Stage Lead

Clique em Publicar de novo.

n8n workflow: Survio Webhook, Prepare lead, Create or update contact

O contato pode ser vinculado automaticamente a uma empresa. Se o HubSpot encontrar empresa com domínio igual ao do e-mail, o contato já entra associado. Assim ele pode assumir o responsável da conta – vale testar para garantir.

Baixe o fluxo pronto

Se preferir, pule o passo a passo manual e baixe o fluxo já montado. No anexo do artigo você encontra: survio-demo-requests-to-sheet-and-gmail.json para Cenário A, ou survio-demo-requests-to-hubspot.json para Cenário B. Depois é só:

  1. No n8n, crie um fluxo em branco. Abra o menu (três pontinhos) ao lado do nome do fluxo, escolha Importar e depois De arquivo. Selecione o arquivo baixado.

  2. Abra Preparar lead e troque os ids das perguntas, e em Cenário A, troque também Europe/Prague pelo seu fuso horário.

  3. Cenário A: abra Salvar lead na planilha. Um alerta vermelho aparece até configurar. Conecte sua conta Google, escolha a planilha e a aba leads. O n8n geralmente muda para “Mapear cada coluna manualmente”: troque para Mapear automaticamente e selecione ID da resposta como coluna de correspondência. Em seguida, abra Enviar e-mail sobre o novo lead, conecte o Gmail e coloque seu endereço em Para.

  4. Cenário B: abra Criar ou atualizar contato e conecte a conta do HubSpot.

  5. Abra Webhook do Survio, copie a URL de produção no Survio (Passo 4) e clique em Publicar.

n8n workflow menu with Import and From file

Testando tudo

  1. Abra seu site, preencha e envie o formulário pop-up.

  2. Cenário A: veja se a linha com status Novo aparece na aba leads e se o e-mail chega. Responda e confirme que o destinatário é o lead.

  3. Cenário B: confira no HubSpot se o contato novo está lá com estágio Lead e a mensagem da solicitação de demo.

  4. Veja o histórico em Execuções no n8n. Todas as informações ficam lá.

Dúvidas comuns e soluções

Sintoma

Motivo

Como resolver

Nada aparece no n8n

A URL de teste está no Survio, ou o fluxo não foi publicado

Coloque a URL de produção no Survio e clique em Publicar

O Survio não aceita a URL do Webhook do n8n instalado por você

O n8n mostra um endereço local ao invés do público

Configure o WEBHOOK_URL do n8n como seu endereço https público e copie a URL novamente

"Ouvir evento de teste" não recebe nada

O Survio envia para a URL de produção; o ouvir escuta a URL de teste

Olhe as Execuções

Mudanças não têm efeito

O fluxo está publicado, mas a nova alteração não está (o botão Publicar mostra um ponto)

Clique em Publicar de novo

Coluna vazia e coluna nova criada no fim da planilha

Nome do campo em Preparar lead diferente do cabeçalho

Renomeie igual ao cabeçalho e apague a coluna extra

O mesmo lead aparece duplicado

Operação definida como Adicionar linha, ou sem setar coluna de correspondência

Use Adicionar ou atualizar linha e combine com ID da resposta

Sua resposta vai para você e não para o lead

Responder para não foi configurado no Gmail

Adicione o e-mail do lead em Responder para, nas Opções

Tamanho da equipe aparece como data

Google Sheets interpreta 2-10 como data

No Salvar lead na planilha, selecione Deixar o n8n formatar

O e-mail não aparece

Leitura do data.email

Leia do campo pergunta de e-mail

Falha ao criar ou atualizar contato

E-mail vazio ou inválido, ou conexão do HubSpot expirou

Deixe a pergunta de e-mail obrigatória e reconecte HubSpot no nó

Webhook foi desativado pelo Survio

URL falhou 5 dias seguidos

Corrija o problema e reative o Webhook no Survio

Fique por dentro

  • O Survio só envia respostas completas, uma mensagem por vez, com entrega super rápida. Se o formulário for fechado no meio, nada é enviado.

  • Nenhuma resposta antiga será enviada retroativamente: só respostas enviadas após o Webhook existir e ativo.

  • Falhas de entrega são reprocessadas até 8 vezes em cerca de 27 horas. Cada tentativa pode aguardar até 30 segundos. Usando o ID da resposta para combinar, você evita duplicidade numa reentrega.

  • 5 dias de falha contínua e o Survio desativa o Webhook, sendo necessário ativar de novo manualmente.

  • Pausar um Webhook mantém a vaga; excluir remove definitivamente.

  • O Survio não tem log de entrega no app; seu histórico é via Execuções no n8n.

  • Enviar respostas para Webhooks não consome respostas do seu plano.

Quer que a gente configure pra você? Na tela de Webhooks do Survio, clique em Obter configuração de especialista, explique o que precisa e nosso time entrega o Webhook funcionando, testado e pronto pra usar.

Respondeu à sua pergunta?