Integrações

Envie respostas de formulário para o Google Sheets

Hoje não existe sincronização nativa com o Google Sheets no YeetForm, mas você consegue o mesmo resultado, uma linha de planilha por resposta, adicionada automaticamente, com um pequeno Google Apps Script e um webhook. Esta página mostra o script exato (cerca de 15 linhas), como implantá-lo como um app web, e como apontar um webhook do YeetForm para a URL resultante. Leva alguns minutos e não precisa de servidor próprio.

Configuração

1.

Adicione uma integração de webhook

O Google Sheets não tem conector nativo com o YeetForm, então a ponte é um webhook: na aba Integrações do formulário, adicione um endpoint de Webhooks apontando para a URL de um app web do Google Apps Script.

2.

Crie o Apps Script

Na sua planilha de destino, abra Extensions → Apps Script, cole o script abaixo, e implante como um app web (Execute as: Me, Who has access: Anyone with the link). Use a URL da implantação como o endpoint do seu webhook.

function doPost(e) {
  var payload = JSON.parse(e.postData.contents);
  if (payload.event !== "response.created") return ContentService.createTextOutput("ignored");

  var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  var labels = {};
  (payload.fields || []).forEach(function (f) { labels[f.id] = f.label; });

  var row = [payload.response_id, payload.submitted_at];
  Object.keys(payload.answers).forEach(function (id) {
    row.push(labels[id] || id, payload.answers[id]);
  });

  sheet.appendRow(row);
  return ContentService.createTextOutput("ok");
}
3.

Implante e pegue a URL

Implantar cria uma URL como https://script.google.com/macros/s/.../exec - cole isso no campo de webhook do YeetForm do passo 1.

4.

Envie uma resposta de teste

Envie o formulário (ou use o botão de teste na integração de webhook) e confirme que uma nova linha aparece na planilha com as respostas na ordem certa.

5.

Mantenha a planilha e o formulário sincronizados

Se você adicionar ou remover campos do formulário depois, atualize o mapeamento de colunas do script, ele lê as respostas pelo id do campo, não pela posição, então não vai desalinhar silenciosamente as colunas existentes, mas um campo novo precisa de uma linha nova no script.

Dicas

  • →Use o response_id da resposta como chave de deduplicação na planilha (pule adicionar uma linha se já existir uma com esse id), já que um envio de webhook reenviado manda a mesma resposta de novo.
  • →Mapeie as colunas a partir do array fields do payload (id para label) em vez de fixar ids de campo, assim o script sobrevive a você renomear ou reordenar campos.
  • →Essa é uma receita baseada em webhook, não uma integração nativa - se a cota do Apps Script ou sua conta tiver problemas, as linhas param de aparecer silenciosamente; confira a aba Integrações do formulário para o status de entrega em vez de só observar a planilha.

Monte seu formulário com IA em segundos

Comece grátis

Perguntas frequentes

Existe uma integração nativa com o Google Sheets?+
Não - o YeetForm não sincroniza direto com o Sheets. Esta página mostra uma receita de webhook para Apps Script que chega no mesmo resultado: uma linha por resposta, adicionada automaticamente.
Isso funciona com o recurso 'destino no Sheets' do Google Forms?+
Não, esse recurso é específico do Google Forms. Essa receita usa um app web do Google Apps Script como seu próprio endpoint, disparado pelo webhook do YeetForm, independente do Google Forms.
E se eu adicionar um campo novo ao meu formulário depois?+
O script mapeia respostas pelo id e pelo rótulo do campo, então continua funcionando, mas um campo totalmente novo precisa de uma linha adicionada ao script (ou um pequeno ajuste) para aparecer como sua própria coluna - veja as dicas acima.
Isso tenta de novo se o script falhar?+
Sim - no fundo é um envio de webhook normal, então uma resposta com falha do Apps Script é reenviada até 3 vezes como qualquer outro webhook.