Integrationen
Formularantworten an Google Sheets senden
YeetForm hat heute keine native Google-Sheets-Synchronisierung, aber Sie erreichen dasselbe Ergebnis - eine Tabellenzeile pro Antwort, automatisch angehängt - mit einem kleinen Google Apps Script und einem Webhook. Diese Seite zeigt das genaue Skript (etwa 15 Zeilen), wie Sie es als Web-App bereitstellen und wie Sie einen YeetForm-Webhook auf die entstehende URL richten. Es dauert ein paar Minuten und braucht keinen eigenen Server.
Einrichtung
Webhook-Integration hinzufügen
Google Sheets hat keine native YeetForm-Anbindung, daher ist die Brücke ein Webhook: Fügen Sie im Tab Integrationen des Formulars einen Webhooks-Endpunkt hinzu, der auf die URL einer Google-Apps-Script-Web-App zeigt.
Apps Script erstellen
Öffnen Sie in Ihrer Ziel-Tabelle Erweiterungen → Apps Script, fügen Sie das untenstehende Skript ein und stellen Sie es als Web-App bereit (Ausführen als: Ich, Zugriff: Jeder mit dem Link). Nutzen Sie die Bereitstellungs-URL als Ihren Webhook-Endpunkt.
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");
}Bereitstellen und URL holen
Die Bereitstellung erzeugt eine URL wie https://script.google.com/macros/s/.../exec - fügen Sie diese in das YeetForm-Webhook-Feld aus Schritt 1 ein.
Testantwort senden
Senden Sie das Formular ab (oder nutzen Sie den Testbutton der Webhook-Integration) und prüfen Sie, ob eine neue Zeile mit den Antworten in der richtigen Reihenfolge in der Tabelle erscheint.
Tabelle und Formular synchron halten
Wenn Sie später Formularfelder hinzufügen oder entfernen, aktualisieren Sie die Spaltenzuordnung des Skripts - es liest Antworten nach Feld-ID, nicht nach Position, verschiebt also bestehende Spalten nicht heimlich, aber ein neues Feld braucht eine neue Zeile im Skript.
Tipps
- →Nutzen Sie die response_id der Antwort als Dedupe-Schlüssel in der Tabelle (Zeile nicht anhängen, wenn eine Zeile mit dieser ID schon existiert), da eine wiederholte Webhook-Zustellung dieselbe Antwort erneut sendet.
- →Ordnen Sie Spalten über das fields-Array des Payloads zu (id zu label), statt Feld-IDs fest zu verdrahten, damit das Skript ein Umbenennen oder Neuordnen von Feldern übersteht.
- →Das ist ein Webhook-Rezept, keine native Integration - wenn das Apps-Script-Kontingent oder Ihr Konto Probleme macht, hören Zeilen still auf zu erscheinen; prüfen Sie den Zustellstatus im Tab Integrationen des Formulars statt nur die Tabelle zu beobachten.