Passar para o conteúdo principal

Retenção – Salvar clientes antes que você os perca: aja a cada resposta insatisfeita por e-mail ou no HubSpot

Assim que um cliente deixa uma nota baixa na sua pesquisa do Survio, você recebe um e-mail com a resposta completa ou uma tarefa de ligação no contato dele no HubSpot, assim você pode agir antes que ele vá embora. Guia com n8n e fluxos prontos.

Escrito por Success Team Survio

Qual caso é para você?

Caso A – simples, para todos: receba toda resposta insatisfeita da pesquisa direto no seu e-mail.

Caso B – para equipes que usam um CRM: cada cliente insatisfeito gera automaticamente uma tarefa de ligação no HubSpot para sua equipe entrar em contato ainda no mesmo dia.

Quando um cliente está insatisfeito, as primeiras horas decidem se ele irá permanecer. Com essa configuração, toda avaliação baixa na sua pesquisa chega até você em segundos, com a resposta completa e o contato do cliente, pra você poder ligar ou responder enquanto ainda faz diferença.
​

Este é o e-mail que você recebe para cada resposta insatisfeita no Caso A:
​

Unhappy customer e-mail in Gmail with the whole response


​

E esta é a tarefa de ligação que sua equipe recebe no HubSpot no Caso B:
​

Call unhappy customer task on a HubSpot contact with the whole response

Como funciona. O Survio envia cada resposta concluída para uma URL de webhook. Uma ferramenta de automação (utilizamos n8n neste guia) recebe, verifica se o cliente está insatisfeito e, se sim, envia um e-mail pra você ou cria uma tarefa no HubSpot. Respostas satisfeitas são ignoradas.

Novo em webhooks no Survio? Comece em Webhooks: envie respostas para suas outras ferramentas em tempo real e depois volte aqui.
​

O que você vai construir

Nos dois casos, uma resposta insatisfeita significa nota 1 ou 2 de 5, ou as alternativas Pouco satisfeito ou Insatisfeito.

Visão geral

Caso A: um e-mail para você

Caso B: uma tarefa no HubSpot

Resultado

A resposta completa direto na sua caixa de entrada

Uma tarefa de ligação, para hoje, no contato do cliente no HubSpot, com a resposta completa

Ferramentas

Survio, n8n, Gmail

Survio, n8n, HubSpot

Melhor para

Quem prefere acompanhar clientes insatisfeitos pessoalmente

Uma equipe que acompanha clientes em um CRM

Antes de começar

  • Uma pesquisa do Survio em um plano pago. Webhooks não estão disponíveis no plano Free e cada plano tem um limite de webhooks por pesquisa (veja o artigo sobre webhooks).

  • Conta n8n, n8n Cloud ou self-hosted.

  • Caso A: uma conta Gmail para o alerta. Caso B: conta no HubSpot.

Neste guia, usamos uma pesquisa de satisfação simples: nota de estrelas, uma pergunta "No geral, qual seu nível de satisfação?", outra "Como você comprou com a gente desta vez?", campo para comentário e uma pergunta opcional de e-mail.
​

Passo 1 — Certifique-se de saber quem respondeu

Saber quem respondeu permite contato com o cliente, mas é opcional. Sem essa informação, no Caso A, você ainda recebe cada resposta insatisfeita, então pode ver o que aconteceu, só não saberá quem respondeu. O Caso B precisa do e-mail do cliente, pois o HubSpot adiciona a tarefa ao contato dele.

Respostas do Survio são anônimas, exceto quando você coleta um contato. Use um ou mais desses métodos:

  • Pergunta de e-mail opcional ao final da pesquisa, por exemplo "Deixe seu e-mail se quiser que a gente entre em contato." Use o tipo de pergunta Resposta por e-mail.

  • Parâmetros de URL com detalhes do seu cliente. Acesse Coletar respostas → Parâmetros de URL, crie parâmetros como email e order-id e insira os valores no link enviado a cada cliente, por exemplo no e-mail de confirmação do pedido. Os nomes dos parâmetros não podem conter underscores. Veja Parâmetros de URL.

  • Convite por e-mail do Survio. Envie a pesquisa por meio dos convites de e-mail do próprio Survio, assim cada resposta já vem com o endereço para o qual foi enviado. Veja Convite por e-mail.

E-mail answer question in the Survio survey editor
URL parameters email and order-id in Survio
Survey link with the email and order-id parameters


​

Passo 2 — Criar o webhook no n8n

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

  2. Defina Método HTTP para POST.

  3. Acesse a aba Production URL e copie o endereço.

  4. Clique em Publicar. A Production URL só aceita entregas depois que o fluxo é publicado.

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

Use a Production URL, não a Test URL. A Test URL só funciona enquanto o editor está esperando o evento de teste, então as entregas do Survio falham assim que você a fecha. O Survio tenta reenviar por cerca de um dia, e após cinco dias de falha seguidos desativa o webhook.

Passo 3 — Conectar a pesquisa no Survio

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

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

  3. Cole a Production URL do n8n em Webhook URL e clique em Salvar webhook. O webhook já é ativado imediatamente.

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


​

Passo 4 — Envie uma resposta de teste e encontre os ids das perguntas

  1. Abra a pesquisa pelo link normal e envie uma resposta completa com nota baixa. O Survio só envia respostas completas, então vá até o fim.

  2. No n8n, abra a guia Execuções. A entrega chega em poucos segundos.

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

  4. Anote os ids da pergunta de avaliação, de satisfação e de e-mail. Você pode clicar em Fixar para continuar construindo usando essa resposta.

Executions tab in n8n with successful runs
Webhook node output in n8n: body, data, answers

Origem do e-mail do cliente. data.email só é preenchido se a pesquisa for enviada por convites do Survio. O e-mail da pergunta chega dentro da resposta dessa pergunta, e o de parâmetro de URL aparece em data.parameters. Os fluxos prontos checam todos os três.

Caso A — Receber um e-mail para cada resposta insatisfeita

Dois passos seguem o webhook: Insatisfeito? só deixa passar respostas insatisfeitas, e Reencaminhar resposta manda por e-mail.

Insatisfeito?

  1. Adicione um nó If após o Webhook e renomeie para Insatisfeito?.

  2. Inclua três condições e combine por OU, assim qualquer uma já basta:

Valor

Condição

Comparar com

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

Número: menor ou igual a

2

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

Texto: igual a

Pouco satisfeito

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

Texto: igual a

Insatisfeito

Substitua os ids 90403153 (avaliação) e 90403151 (satisfação) pelos seus. A parte ?? 99 faz uma resposta sem avaliação ser considerada satisfeita.

If node Unhappy? with three conditions combined with OR

Os textos das respostas devem coincidir exatamente. Digite exatamente como aparece na sua pesquisa. Se sua pesquisa tiver mais de um idioma, a resposta chega na língua do respondente – confira uma resposta teste de cada e acrescente também esses textos.

Reencaminhar resposta

  1. Adicione um nó Gmail à saída true do Insatisfeito?, renomeie para Reencaminhar resposta e selecione Mensagem e Enviar.

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

  3. No Assunto use Cliente insatisfeito: {{ $json.body.data.answers.find(a => a.question.id === 90403153)?.answer ?? "?" }}/5.

  4. Defina o Tipo de e-mail como HTML. Em Mensagem, coloque toda a resposta. O fluxo pronto abaixo já monta a mensagem listando todas as perguntas e respostas, mais horário, pedido e contato.

  5. Em Opções, desative Adicionar referência ao n8n.

Gmail node Forward the response with To, Subject and Message

Deixe a saída "false" vazia: respostas satisfeitas terminam ali. Clique em Publicar novamente; alterações feitas só entram em vigor após republicar.

n8n workflow: Survio Webhook, Unhappy?, Forward the response


​

Caso B — Criar uma tarefa de ligação no HubSpot

Aqui, a resposta insatisfeita vira uma tarefa de ligar para o cliente hoje mesmo, já vinculada ao contato do HubSpot, com toda resposta na tarefa. O HubSpot precisa do e-mail do cliente para encontrar o contato, então esse caso funciona melhor com convites de e-mail ou parâmetro email na URL (veja Passo 1).
​

Comece com o mesmo Insatisfeito? do Caso A, depois adicione três etapas na saída true.
​

Preparar tarefa

Adicione um nó Editar campos (Set) chamado Preparar tarefa com estes campos Texto. Substitua os ids das perguntas e Europe/Prague pelo seu fuso horário.

Nome do campo

Valor

E-mail

{{ $json.body.data.email || $json.body.data.parameters?.email || $json.body.data.answers.find(a => a.question.id === 90403187)?.answer || "" }}

Assunto

Ligar para cliente insatisfeito: {{ $json.body.data.answers.find(a => a.question.id === 90403153)?.answer }}/5, pedido {{ $json.body.data.parameters?.['order-id'] }}

Corpo

A nota, satisfação, canal, comentário, pedido e hora, todos separados por <br>, para cada um ficar em uma linha no HubSpot (veja o fluxo pronto)

Encontrar ou criar contato

Adicione um nó HubSpot chamado Encontrar ou criar contato, escolha o recurso Contato e operação Criar ou atualizar, conecte com seu HubSpot e preencha Email com {{ $json['E-mail'] }}. Se já existir, localiza; senão, cria um novo contato.
​

Criar tarefa de ligação

  1. Adicione outro nó HubSpot chamado Criar tarefa de ligação e escolha recurso Engajamento, operação Criar e tipo Tarefa.

  2. Defina Data de vencimento como {{ $now.endOf('day').toISO() }}, assim a tarefa vence hoje.

  3. No Corpo, utilize {{ $('Preparar tarefa').item.json.Corpo }}, marque Tipo do objeto como Contato, Status como Não iniciado, e Assunto com {{ $('Preparar tarefa').item.json.Assunto }}.

  4. Em Propriedades de engajamento → Associações, preencha IDs do contato com {{ $json.vid }}. Se quiser, informe o ID do proprietário (quem irá ligar); caso contrário, a tarefa fica sem responsável e você atribui no HubSpot.

HubSpot node Create call task: type Task, due date, subject, body and associations

Clique em Publicar novamente.

n8n workflow: Survio Webhook, Unhappy?, Prepare task, Find or create contact, Create call task

O contato pode ser ligado automaticamente a uma empresa. Se o HubSpot encontrar uma empresa com o mesmo domínio do e-mail, vincula o contato automaticamente, e o contato pode assumir o proprietário dessa empresa. A tarefa vai para o ID do proprietário informado, se preenchido.

Obtenha o fluxo pronto

Ao invés de construir o Passo 2 e seu caso manualmente, use nosso fluxo pronto. Baixe o arquivo do seu caso nos anexos no fim deste artigo: survio-unhappy-responses-to-gmail.json para o Caso A, ou survio-unhappy-responses-to-hubspot-tasks.json para o Caso B. Depois:

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

  2. Abra Insatisfeito? e troque os ids das perguntas pelos seus.

  3. Caso A: abra Reencaminhar resposta, conecte seu Gmail, coloque seu endereço no campo Para e ajuste ids e fuso na mensagem.

  4. Caso B: abra Preparar tarefa e troque os ids e o fuso. Depois conecte o HubSpot em Encontrar ou criar contato e em Criar tarefa de ligação e, se quiser, informe o ID do responsável por ligações.

  5. Abra Survio Webhook, copie a Production URL para o Survio (Passo 3) e clique em Publicar.

n8n workflow menu with Import and From file


​

Teste de ponta a ponta

  1. Envie uma resposta com nota 2. No Caso A, o e-mail chega em segundos; no Caso B, a tarefa aparece no contato do HubSpot.

  2. Envie uma resposta com nota 5 e Muito satisfeito. Nada acontece.

  3. Veja a aba Execuções no n8n: aparecem as duas entregas; a satisfeita para no Insatisfeito?.

Solução de problemas

Sintoma

Causa

Como resolver

Nada chega no n8n

A Test URL está cadastrada no Survio, ou o fluxo não está publicado

Cole a Production URL no Survio e clique em Publicar

O Survio não aceita a URL do webhook do n8n self-hosted

O n8n está mostrando um endereço interno em vez do público

Ajuste o WEBHOOK_URL do n8n para o endereço https público e copie a URL novamente

"Listen for test event" não mostra nada, mesmo enviando a pesquisa

O Survio envia para a Production URL; o teste fica aguardando a Test URL

Veja na aba Execuções

Sua última alteração não tem efeito

O fluxo está publicado, mas a alteração não (o botão Publicar fica marcado)

Clique em Publicar novamente

Toda resposta envia e-mail

O nó Gmail está na saída falsa, ou as condições estão combinadas com E

Conecte o Gmail na saída true e use OU nas condições

Uma nota baixa não envia e-mail

Id da pergunta errado ou texto diferente do esperado

Verifique os ids e textos numa resposta teste em Execuções

O contato do e-mail fica "não informado"

A pesquisa não foi enviada por convite do Survio, o link não tinha email e o cliente pulou a pergunta de e-mail

Envie a pesquisa por convite do Survio, inclua parâmetros na URL ou garanta que a pergunta de e-mail apareça

Falha ao encontrar/criar contato no Caso B

A resposta não tem e-mail; o HubSpot não consegue encontrar/criar contato

Envie por convite do Survio ou use links com parâmetro email

A tarefa no HubSpot aparece toda em uma única linha

O corpo usa apenas quebras de linha simples

Separe as linhas com <br>

O Survio desativou o webhook

A URL do webhook falhou por 5 dias consecutivos

Corrija o problema e ative o webhook novamente no Survio

Fique por dentro

  • O Survio só envia respostas concluídas, uma mensagem por resposta, em alguns segundos. Pesquisas abandonadas no meio não são enviadas.

  • Nada é enviado retroativamente: respostas de antes do webhook ou enquanto ele estava pausado não são entregues.

  • Uma entrega com falha é tentada até 8 vezes ao longo de cerca de 27 horas, cada tentativa espera até 30 segundos por uma resposta.

  • Após 5 dias seguidos de falha, o Survio desativa o webhook e você precisa reativar.

  • Pausar um webhook mantém o slot; excluir é permanente.

  • O Survio não mantém histórico de entregas no app. A guia Execuções no n8n é o seu log.

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

Prefere que a gente configure por você? Na página de Webhooks do Survio, clique em Obter configuração de especialista, conte o que deseja e nossa equipe monta, testa e entrega o webhook funcionando para você.

Respondeu à sua pergunta?