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
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.
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");
}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.
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.
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.