Qual é o seu caso?
Caso A – para todos, de forma simples: um gráfico das suas respostas que se atualiza com cada nova resposta.
Caso B – para equipes que comparam grupos: uma tabela dinâmica que você pode filtrar por canal, idioma ou qualquer outra coluna.
Cada resposta que sua pesquisa coleta vira uma nova linha em uma planilha do Google no momento em que é enviada. Crie um gráfico ou uma tabela dinâmica sobre ela uma vez, e seu relatório se mantém sempre atualizado: sem exportar, sem copiar, sem esperar alguém preparar os números.
Este é o relatório que você recebe no Caso A, um gráfico atualizado a cada nova resposta:
E esta é a tabela dinâmica do Caso B, filtrada por canal com um segmentador:
Como funciona. O Survio envia cada resposta concluída para uma URL de webhook. Uma ferramenta de automação (usamos o n8n neste guia) recebe e grava uma linha na sua planilha. O Survio faz o envio, o n8n faz o registro, e a planilha faz a geração do relatório.
Novo em webhooks no Survio? Comece por Webhooks: envie respostas para suas outras ferramentas em tempo real e depois volte aqui.
O que você vai criar
Os dois relatórios são alimentados pelo mesmo setup: cada resposta concluída vira uma linha na aba chamada responses.
Resumo | Caso A: um gráfico | Caso B: relatório por segmento |
Resultado | Um gráfico de como as respostas estão distribuídas, atualizado com cada nova resposta | Uma tabela dinâmica que você pode filtrar por canal, idioma ou qualquer outra coluna |
Ferramentas | Survio, n8n, Google Sheets | Survio, n8n, Google Sheets (tabela dinâmica e segmentador) |
Ideal para | Uma pequena empresa que quer um gráfico simples que esteja sempre atualizado | Uma equipe que compara grupos, por exemplo clientes online e na loja física |
Antes de começar
Uma pesquisa Survio em um plano pago. Webhooks não estão disponíveis no plano Free, e cada plano permite um número definido de webhooks por pesquisa (veja o artigo sobre webhooks).
Uma conta n8n – na nuvem ou auto-hospedada.
Uma conta Google para o Google Sheets.
Neste guia usamos uma pesquisa curta de satisfação do cliente: classificação por estrelas, uma pergunta "No geral, quão satisfeito você está?", uma "Como você comprou desta vez?", comentário aberto e uma pergunta de e-mail opcional. A sua pesquisa pode ser diferente; você vai mapear suas próprias perguntas no Passo 5.
Passo 1 — Prepare a planilha
Crie uma nova planilha do Google e renomeie a primeira aba para
responses.Na linha 1, digite os cabeçalhos das colunas. Usamos
Response ID,Submitted,Rating (1-5),Satisfaction,Channel,What could we do better,E-mail,Order ID,LanguageeSource.
Mantenha Response ID como a primeira coluna. É o identificador exclusivo do Survio para cada resposta. O n8n usa isso para atualizar a linha existente em vez de adicionar uma duplicada quando ocorre uma nova tentativa de entrega.
Passo 2 — Crie o webhook no n8n
No n8n, crie um novo fluxo de trabalho e adicione o nó Webhook como gatilho.
Defina HTTP Method como POST.
Vá para a aba Production URL e copie o endereço.
Clique em Publish. A Production URL só aceita entregas após a publicação do fluxo.
Use a Production URL, nunca a Test URL. A Test URL só funciona enquanto o editor está aguardando um evento de teste, então as entregas do Survio falham assim que você fecha o editor. O Survio tenta novamente a entrega por cerca de um dia, e depois de 5 dias de falha ele desativa o webhook.
Passo 3 — Conecte a pesquisa no Survio
Abra sua pesquisa e vá em Coletar respostas.
Na barra lateral à esquerda, em Automatizações & Integrações, selecione Webhooks e clique em + Adicionar um webhook.
Cole a Production URL do n8n no campo Webhook URL e clique em Salvar webhook. O webhook é ativado imediatamente.
Passo 4 — Envie uma resposta de teste e encontre os ids das suas perguntas
Abra sua pesquisa pelo link normal e envie uma resposta completa. O Survio só envia respostas completas, então finalize até o fim.
No n8n, abra a aba Executions. A entrega chega em alguns segundos.
Abra a execução e clique no nó Webhook. Expanda
body, depoisdatae entãoanswers. Cada resposta mostra seuquestion.id, olabelda pergunta e aanswer.Anote o id de cada pergunta que você quer inserir como coluna. Você também pode clicar em Pin para continuar usando essa resposta sem ter que enviar outra vez a pesquisa.
Sempre capture respostas pelo id da pergunta. As respostas chegam em uma lista. Se você adicionar uma pergunta depois, as posições mudam e suas colunas podem preencher com as respostas erradas. O id da pergunta nunca muda.
Procurando pelo e-mail do respondente? Não use data.email: ele fica vazio se o e-mail vier de uma pergunta ou de um parâmetro na URL. Pegue o e-mail da resposta da pergunta de e-mail, ou de data.parameters.
Passo 5 — Transforme cada resposta em uma linha
Use dois nós: Prepare row para extrair as respostas e Save response to sheet para gravar tudo na planilha.
Prepare row
Adicione um nó Edit Fields (Set) após o nó Webhook e renomeie para
Prepare row.Em Fields to Set, coloque um campo para cada coluna e mantenha como String. O nome do campo deve ser igual ao cabeçalho da coluna; o valor é a expressão abaixo.
Substitua os ids das perguntas pelos ids que você anotou no Passo 4, e ajuste Europe/Prague para seu fuso horário.
Nome do campo | Valor |
Response ID |
|
Submitted |
|
Rating (1-5) |
|
Satisfaction |
|
Channel |
|
What could we do better |
|
| |
Order ID |
|
Language |
|
Source |
|
Save response to sheet
Adicione um nó Google Sheets após o Prepare row, renomeie para
Save response to sheete escolha a operação Append or Update Row.Conecte sua conta Google, depois selecione sua planilha em Document (da lista ou colando o ID em By ID) e a aba
responsesem Sheet.Defina Mapping Column Mode como Map Automatically e Column to match on como Response ID.
Por que preparar a linha separadamente? Quando você escolhe outra planilha ou aba no nó Google Sheets, o n8n apaga o mapeamento das colunas. Com as expressões em Prepare row, nada é perdido: o Google Sheets só conecta nome do campo com cabeçalho da coluna.
Clique em Publish novamente. Alterações feitas após publicar só entram em vigor quando você publica de novo.
Alguns detalhes sobre essas expressões:
Perguntas de escolha chegam como
{ ids, labels, value }.labels[0]é o texto selecionado. Para múltipla escolha, uselabels.join(', ')para colocar todas as opções selecionadas em uma célula só.valuearmazena o texto escrito em "Outro".Os horários chegam em UTC. A expressão Submitted converte para seu fuso horário, e o Google Sheets reconhece a coluna como data/hora para você ordenar e agrupar.
Parâmetros de URL com hífen no nome, como
order-id, precisam usar a formaparameters['order-id']. O Survio não aceita underscore em nomes de parâmetros.O título da pesquisa não vai nos dados enviados pelo Survio. Se várias pesquisas escrevem na mesma planilha, adicione uma coluna Pesquisa à planilha e um campo Survey ao Prepare row com o nome da pesquisa.
Envie outra resposta. Uma nova linha aparece na planilha em segundos.
Caso A — Gere um gráfico das respostas
Adicione uma aba chamada
report.Digite
Satisfactionem A1 eResponsesem B1. Em A2 até A6, coloque as opções exatamente como estão na sua pesquisa.Em B2, insira
=COUNTIF(responses!D:D,A2)e copie até B6.Selecione de A1 a B6 e escolha Inserir → Gráfico. O Google Sheets sugere um gráfico de colunas. Para mudar o título, vá em Personalizar → Títulos de gráfico e eixo.
Cada nova resposta adiciona uma linha a responses, e as contagens e o gráfico são atualizados automaticamente, igual ao exemplo no topo do artigo.
Caso B — Compare grupos com uma tabela dinâmica
Na aba
responses, selecione a tabela e use Inserir → Tabela dinâmica, depois Nova planilha.Em Linhas, adicione Satisfaction. Em Valores, coloque Response ID e mude Resumir por de SOMA para CONT.VALORES (COUNTA).
Escolha Dados → Adicionar segmentador e selecione a coluna Channel. Selecione os valores e confirme em OK. O resultado será parecido com a tabela dinâmica mostrada no início deste artigo.
Você pode segmentar por qualquer coluna: Channel (pergunta sua), Language (idioma em que o respondente respondeu na pesquisa), Source (como a resposta foi enviada, por exemplo link direto ou convite por e-mail) ou Order ID.
Uma seleção de segmentador não fica salva para a próxima visita. Quando abrir o arquivo novamente, o segmentador mostra todos os valores. Para manter uma seleção, salve como padrão no menu do segmentador.
Baixe o fluxo de trabalho pronto
Em vez de criar os Passos 2 e 5 manualmente, comece com nosso fluxo pronto. Baixe o arquivo survio-responses-to-google-sheets.json nos anexos no fim deste artigo, depois:
No n8n, crie um fluxo de trabalho vazio. Abra o menu (três pontos) ao lado do nome do fluxo e escolha Importar, depois De arquivo. Selecione o arquivo baixado.
Abra Prepare row e altere os ids das perguntas e o fuso horário conforme necessário.
Abra Save response to sheet. Ele exibe um símbolo de alerta vermelho até você configurar. Conecte sua conta Google, escolha a planilha e a aba
responses. O n8n muda Mapping Column Mode para Map Each Column Manually: volte para Map Automatically e defina Column to match on como Response ID.Abra Survio Webhook, copie a Production URL para o Survio (Passo 3) e clique em Publish.
Teste o processo do início ao fim
Envie uma resposta pelo link da pesquisa. Uma linha aparece na aba
responsesem segundos.Confira se o Response ID foi preenchido. É isso que evita duplicidade.
Veja a aba Executions no n8n. Todas as entregas e dados aparecem lá.
Solução de problemas
Sintoma | Causa | Correção |
Nada chega no n8n | A Test URL está no Survio ou o fluxo não foi publicado | Copie a Production URL no Survio e clique em Publish |
O Survio não salva a URL do webhook de um n8n auto-hospedado | O n8n mostra um endereço interno em vez do público | Defina o parâmetro |
"Listen for test event" não mostra nada mesmo após enviar a pesquisa | O Survio envia para a Production URL; o modo ouvir monitora a Test URL | Consulte a aba Executions |
Sua última alteração não teve efeito | O fluxo foi publicado, mas a alteração ainda não (Publish mostra um ponto) | Clique em Publish novamente |
A mesma resposta aparece duas vezes | A operação está definida como Append Row, ou nenhuma coluna de correspondência | Use Append or Update Row e corresponda pela Response ID |
Uma coluna fica vazia e surge uma coluna extra no fim da planilha | O nome do campo no Prepare row não corresponde exatamente ao cabeçalho | Renomeie o campo no Prepare row igual ao cabeçalho e apague a coluna extra |
Uma célula mostra [object Object] | Uma resposta de escolha foi mapeada sem | Use |
Colunas mostram respostas erradas após editar a pesquisa | Respostas mapeadas pela posição na lista | Mapeie pelo |
Coluna E-mail fica vazia | Mapeou a partir de | Pegue o e-mail da resposta da pergunta ou de um parâmetro da URL |
Respostas de antes do setup estão ausentes | Webhooks só enviam respostas enviadas após sua criação | Exporte as respostas antigas do Survio e cole manualmente |
O Survio desativou o webhook | A URL do webhook falhou por 5 dias seguidos | Corrija o problema e ative o webhook de novo no Survio |
Informações importantes
O Survio envia apenas respostas concluídas, uma mensagem por resposta, em segundos.
Nada é enviado retroativamente: nem respostas de antes da criação do webhook, nem durante pausas.
Uma entrega com falha é reenviada até 8 vezes em cerca de 27 horas, e cada tentativa espera até 30 segundos. Usar Response ID torna tentativas repetidas inofensivas.
Se falhar por 5 dias seguidos, o Survio desativa o webhook e será necessário ativar novamente.
Pausar mantém o slot do webhook, excluir remove de vez.
O Survio não mantém registro de entregas na aplicação. Use a aba Executions do n8n como log.
Enviar respostas por webhook não consome respostas a mais do seu plano.
Prefere que a gente configure para você? Na página de Webhooks do Survio, clique em Obter configuração com especialista, explique o que gostaria de fazer e nossa equipe monta, testa e entrega um webhook funcionando para você.
