Zum Hauptinhalt springen

Wachstum – Jeder Lead landet direkt in Ihrem CRM: Leiten Sie Survio-Demoanfragen in eine Tabelle oder zu HubSpot weiter

Machen Sie aus einem Survio-Formular eine Lead-Pipeline: Jede Demoanfrage wird zu einer neuen Zeile in Google Sheets mit einer E-Mail-Benachrichtigung an Sie oder zu einem neuen Kontakt in HubSpot. Anleitung mit n8n und sofort einsetzbaren Workflows.

Verfasst von Success Team Survio

Welches Szenario passt zu Ihnen?

Fall A – unkompliziert, für alle: Jede Demoanfrage landet in einer Google-Tabelle, die Sie als CRM nutzen, und Sie erhalten eine E-Mail-Benachrichtigung.

Fall B – für Teams mit CRM: Jede Demoanfrage wird als Lead direkt in HubSpot angelegt – bereit für Ihr Vertriebsteam.

Ein Besucher füllt Ihr Demoanfrage-Formular aus, und wenige Sekunden später ist der Lead in Ihrem CRM. Ein kleines Unternehmen erhält eine neue Zeile in seiner Lead-Tabelle und eine E-Mail, auf die es antworten kann; ein Vertriebsteam bekommt einen neuen Kontakt in HubSpot. So treten Sie mit dem Lead in Kontakt, solange dieser noch auf Ihrer Webseite ist.
​

So sieht die E-Mail-Benachrichtigung zu jeder neuen Demoanfrage in Fall A aus:
​

New demo request e-mail in Gmail


​

Und so sieht der neue Kontakt in HubSpot im Fall B aus:
​

HubSpot contact created from a demo request: lifecycle stage Lead and the request in Message

Wie funktioniert das? Survio sendet jede abgeschlossene Antwort an eine Webhook-URL. Ein Automatisierungstool (wir nutzen n8n in dieser Anleitung) empfängt sie und schreibt den Lead dorthin, wo Sie arbeiten. Survio übernimmt den Versand, n8n macht den Rest.

Neu bei Webhooks in Survio? Beginnen Sie mit Webhooks: Antworten in Echtzeit an Ihre anderen Tools senden und kommen Sie dann hierher zurück.
​

Das bauen Sie

Beide Szenarien starten identisch: Ein kurzes Demoanfrage-Formular auf Ihrer Webseite, das per Webhook an n8n gesendet wird.

Auf einen Blick

Fall A: Eine Tabelle als Ihr CRM

Fall B: HubSpot

Ergebnis

Jede Anfrage ist eine neue Zeile in Google Sheets mit einer Statusspalte und Sie bekommen eine E-Mail-Benachrichtigung

Jede Anfrage ist ein neuer Kontakt im HubSpot CRM, bereit für Ihr Vertriebsteam

Tools

Survio, n8n, Google Sheets, Gmail

Survio, n8n, HubSpot

Optimal für

Ein kleines Unternehmen, das seine Leads selbst verfolgt

Ein Vertriebsteam, das bereits mit HubSpot arbeitet

Bevor Sie starten

  • Eine Survio-Umfrage in einem kostenpflichtigen Plan. Webhooks stehen im Free-Plan nicht zur Verfügung und jeder Plan erlaubt eine bestimmte Anzahl von Webhooks pro Umfrage (siehe den Webhooks-Artikel).

  • Ein n8n-Konto, n8n Cloud oder Self-hosted.

  • Fall A: Ein Google-Konto für Google Sheets und Gmail. Fall B: Ein HubSpot-Konto.

In dieser Anleitung verwenden wir ein kurzes Demoanfrage-Formular: Name, geschäftliche E-Mail (eine E-Mail-Frage), Unternehmen, Teamgröße (eine Auswahlfrage) und optional „Was möchten Sie in der Demo sehen?“. Ihr Formular kann anders aussehen; Sie ordnen in Fall A oder Fall B Ihre eigenen Fragen zu.
​

Schritt 1 — Formular auf Ihrer Webseite einbinden

  1. Öffnen Sie Ihre Umfrage, gehen Sie zu Antwortensammlung und wählen Sie Im Web.

  2. Wählen Sie Pop-Up Fenster und bestimmen Sie, wann es erscheint. Für ein kurzes Formular schalten Sie Einführungsseite verstecken ein, sodass Besucher mit der ersten Frage starten.

  3. Klicken Sie auf In Webseite einbinden und fügen Sie den Code in Ihre Webseite ein.

Pop-up window settings for the survey in Survio
Embed code for the pop-up window

Weitere Optionen wie ein Button oder ein Seitenleisten-Widget finden Sie in Umfrage auf Ihrer Webseite einbinden.
​

Schritt 2 — Nur Fall A: Leads-Tabelle vorbereiten

  1. Erstellen Sie ein neues Google Sheet und benennen Sie das erste Tab in leads um.

  2. Geben Sie in Zeile 1 die Spaltenüberschriften ein: Response ID, Received, Name, E-mail, Company, Team size, What they want to see, Status und Language.

  3. Markieren Sie die Zellen in der Status-Spalte unter der Überschrift, wählen Sie Einfügen → Dropdown, fügen Sie die Optionen Neu, Kontaktiert und Erledigt hinzu (über Weiteres Element hinzufügen), und klicken Sie auf Fertig.

Ihre Tabelle ist jetzt ein simples CRM. Neue Leads erscheinen als Neu. Wenn Sie jemanden kontaktieren, wechseln Sie zu Kontaktiert und zu Erledigt, wenn das Geschäft abgeschlossen oder verloren ist. Filtern Sie die Status-Spalte, um offene Leads zu erkennen.

Schritt 3 — Webhook in n8n erstellen

  1. Erstellen Sie in n8n einen neuen Workflow und fügen Sie einen Webhook-Knoten als Auslöser hinzu.

  2. Stellen Sie HTTP-Methode auf POST.

  3. Wechseln Sie zum Tab Production URL und kopieren Sie die Adresse.

  4. Klicken Sie auf Veröffentlichen. Die Production URL akzeptiert erst ab Veröffentlichung.

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

Nutzen Sie die Production URL, nicht die Test-URL. Die Test-URL nimmt nur entgegen, solange der Editor auf ein Testereignis wartet. Sonst schlägt die Übermittlung fehl. Survio versucht es etwa einen Tag lang weiter, nach 5 Tagen deaktiviert Survio den Webhook.

Schritt 4 — Umfrage in Survio verbinden

  1. Öffnen Sie Ihre Umfrage und gehen Sie zu Antwortensammlung.

  2. Wählen Sie links unter Automationen & Integrationen Webhooks und klicken Sie auf + Webhook hinzufügen.

  3. Fügen Sie die n8n Production URL bei Webhook URL ein und klicken Sie auf Webhook speichern. Der Webhook ist sofort aktiv.

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


​

Schritt 5 — Testanfrage abschicken und Frage-IDs notieren

  1. Füllen Sie Ihr Formular vollständig aus und senden Sie es ab. Survio überträgt nur abgeschlossene Antworten.

  2. Öffnen Sie in n8n den Ausführungen-Tab. Die Testübermittlung erscheint nach wenigen Sekunden.

  3. Öffnen Sie die Ausführung, wählen Sie den Webhook-Knoten und öffnen Sie body, dann data, danach answers. Jede Antwort zeigt question.id, das label und die answer.

  4. Schreiben Sie sich die Frage-ID jeder Frage auf. Sie können Anpinnen, um mit dieser Antwort weiterzuarbeiten.

Webhook node output in n8n with a demo request

Wählen Sie immer über die Frage-ID zu. Antworten kommen als Liste. Fügen Sie später eine Frage hinzu, verschieben sich Positionen, aber die IDs bleiben gleich.

Die Lead-E-Mail ist in den Antworten. Verwenden Sie nicht data.email: Das bleibt leer, wenn die E-Mail über eine E-Mail-Frage kommt. Nehmen Sie die E-Mail-Antwort Ihrer Frage.

Fall A — Eine Tabelle als Ihr CRM plus eine E-Mail

Der Workflow hat nach dem Webhook drei Schritte: Lead vorbereiten extrahiert die Antworten, Lead in Tabelle speichern fügt die Zeile hinzu und Neuen Lead mailen benachrichtigt Sie per E-Mail.
​

Lead vorbereiten

  1. Fügen Sie nach dem Webhook-Knoten einen Felder bearbeiten (Set)-Knoten hinzu und nennen Sie ihn Lead vorbereiten.

  2. Unter Zu setzende Felder fügen Sie je ein Feld für jede Spalte an, bleiben beim Typ String. Der Feldname muss exakt zur Spaltenüberschrift passen; Wert nach folgendem Muster.

  3. Ersetzen Sie die Frage-IDs (z. B. 90403243) durch Ihre notierten IDs, und passen Sie bei Bedarf die Zeitzone an.

Feldname

Wert

Response ID

{{ $json.body.data.responseId }}

Received

{{ DateTime.fromISO($json.body.data.submitted).setZone('Europe/Prague').toFormat('yyyy-MM-dd HH:mm') }}

Name

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

E-mail

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

Company

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

Team size

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

What they want to see

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

Status

Neu (Klartext, kein Ausdruck)

Language

{{ $json.body.data.langCode }}

Prepare lead node in n8n with Fields to Set

Lead in Tabelle speichern

  1. Fügen Sie nach Lead vorbereiten einen Google Sheets-Knoten hinzu, benennen Sie ihn zu Lead in Tabelle speichern und wählen Sie die Operation Zeile hinzufügen oder aktualisieren.

  2. Verbinden Sie Ihr Google-Konto, wählen Sie unter Dokument Ihre Tabelle, beim Tab leads.

  3. Stellen Sie Mapping Column Mode auf Automatisch Zuordnen und wählen Sie Zu vergleichende Spalte Response ID.

  4. Stellen Sie bei Optionen Zellenformat auf „von n8n formatieren lassen“, damit Google Sheets die Inhalte korrekt übernimmt.

Save lead to sheet node: Append or Update Row, Map Automatically, Column to match on Response ID

Warum ein separater Schritt „Lead vorbereiten“? Wenn Sie ein anderes Spreadsheet oder Tab in Google Sheets wählen, löscht n8n die Spaltenzuordnung. Mit Ausdrücken im Schritt Lead vorbereiten bleibt alles erhalten.

Neuen Lead mailen

  1. Fügen Sie nach Lead in Tabelle speichern einen Gmail-Knoten hinzu, benennen Sie ihn zu Neuen Lead mailen und wählen Sie Nachricht und Senden.

  2. Verbinden Sie Ihr Gmail-Konto, tragen Sie Ihre eigene Adresse bei An ein.

  3. Setzen Sie als Betreff Neue Demoanfrage: {{ $('Prepare lead').item.json.Name }} ({{ $('Prepare lead').item.json.Company }}).

  4. Setzen Sie E-Mail-Typ auf HTML und schreiben Sie in Nachricht Details wie {{ $('Prepare lead').item.json['E-mail'] }} für die E-Mail-Adresse des Leads.

  5. Fügen Sie bei Optionen Antworten senden an mit {{ $('Prepare lead').item.json['E-mail'] }} hinzu, damit Antwort direkt an den Lead geht. Schalten Sie n8n Attribution anhängen aus.

Gmail node E-mail the new lead with To, Subject, Message and Send Replies To

Klicken Sie erneut auf Veröffentlichen. Erst dann gehen Änderungen live.

n8n workflow: Survio Webhook, Prepare lead, Save lead to sheet, E-mail the new lead

Senden Sie eine weitere Anfrage. Eine neue Zeile mit Status Neu erscheint in Ihrer Tabelle und Sie bekommen die Lead-Mail.

The leads tab in Google Sheets with a Status dropdown


​

Fall B — Jede Demoanfrage ins HubSpot CRM senden

Hier gelangt der Lead direkt ins HubSpot CRM als Kontakt mit dem Lifecycle-Status Lead, sodass Ihr Vertriebsteam ihn dort übernehmen kann. Der Workflow besteht nach dem Webhook aus: Lead vorbereiten und Kontakt erstellen oder aktualisieren.

Lead vorbereiten

Fügen Sie nach dem Webhook einen Felder bearbeiten (Set)-Knoten hinzu, nennen Sie ihn Lead vorbereiten und legen Sie diese String-Felder an. ID der Fragen ersetzen.

Feldname

Wert

E-mail

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

Vorname

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

Nachname

{{ ($json.body.data.answers.find(a => a.question.id === 90403243)?.answer ?? "").trim().split(" ").slice(1).join(" ") }}

Company

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

Nachricht

Demoanfrage von Survio. Teamgröße: {{ $json.body.data.answers.find(a => a.question.id === 90403247)?.answer?.labels?.[0] }}. Möchte sehen: {{ $json.body.data.answers.find(a => a.question.id === 90403244)?.answer }}

Vorname und Nachname werden aus einer einzigen „Ihr Name“-Frage aufgeteilt. Wenn Ihr Formular getrennte Felder hat, wählen Sie jeweils die passende Frage-ID.
​

Kontakt erstellen oder aktualisieren

  1. Fügen Sie nach Lead vorbereiten einen HubSpot-Knoten hinzu, nennen Sie ihn Kontakt erstellen oder aktualisieren und wählen Sie als Ressource Kontakt und die Aktion Erstellen oder aktualisieren.

  2. Verbinden Sie Ihr HubSpot-Konto.

  3. Setzen Sie E-mail auf {{ $json['E-mail'] }}. HubSpot nutzt die E-Mail, um einen bestehenden Kontakt zu finden und bei Bedarf zu aktualisieren.

  4. Fügen Sie unter Kontakt-Eigenschaften per Eigenschaft hinzufügen Vorname, Nachname, Firmenname und Nachricht mit den jeweiligen Feldern aus Lead vorbereiten hinzu und setzen Sie Lifecycle Stage Name oder ID auf Lead.

HubSpot node Create or update contact with Email, contact properties and Lifecycle Stage Lead

Klicken Sie wieder auf Veröffentlichen.

n8n workflow: Survio Webhook, Prepare lead, Create or update contact

Der Kontakt kann automatisch einem Unternehmen zugeordnet werden. Findet HubSpot ein Unternehmen mit derselben E-Mail-Domain, wird der Kontakt verknüpft und kann dessen Eigentümer übernehmen. Prüfen Sie dies mit einer Testanfrage.

Workflow direkt übernehmen

Sie möchten Schritt 3 und Ihr Szenario nicht komplett von Hand anlegen? Laden Sie den Workflow als Datei für Ihr Szenario am Ende dieses Artikels herunter: survio-demo-requests-to-sheet-and-gmail.json für Fall A, survio-demo-requests-to-hubspot.json für Fall B. Dann:

  1. Erstellen Sie in n8n einen leeren Workflow. Öffnen Sie das Menü (drei Punkte) neben dem Workflownamen und wählen Sie Importieren → Aus Datei, dann wählen Sie die heruntergeladene Datei.

  2. Öffnen Sie Lead vorbereiten und ersetzen Sie die Frage-IDs mit Ihren eigenen, in Fall A auch die Zeitzone.

  3. Fall A: Öffnen Sie Lead in Tabelle speichern. Wenn die Einrichtung fehlt, erscheint ein rotes Warnsymbol. Verbinden Sie Ihr Google-Konto, wählen Sie die Tabelle und das leads-Tab aus. n8n schaltet das Mapping meist auf „Manuell“: Also zurück auf „Automatisch Zuordnen“ setzen und als Vergleichsspalte Response ID angeben. Dann Neuen Lead mailen öffnen, Gmail-Konto verbinden und Ihre Adresse bei An eintragen.

  4. Fall B: Öffnen Sie Kontakt erstellen oder aktualisieren und verbinden Sie Ihr HubSpot-Konto.

  5. Öffnen Sie Survio Webhook, kopieren Sie die Production URL in Survio (siehe Schritt 4) und klicken Sie auf Veröffentlichen.

n8n workflow menu with Import and From file

End-to-End-Test

  1. Öffnen Sie Ihre Webseite, füllen Sie das Pop-Up-Formular aus und senden Sie ab.

  2. Fall A: Prüfen Sie, ob im Tab leads eine neue Zeile mit Status Neu erscheint und Sie die E-Mail erhalten. Antworten Sie darauf und prüfen Sie, ob die Antwort beim Lead ankommt.

  3. Fall B: Prüfen Sie in HubSpot, dass der Kontakt mit Lifecycle Stage Lead und Ihrer Demoanfrage als Nachricht vorhanden ist.

  4. Schauen Sie in n8n unter Ausführungen – jede Übermittlung und ihre Daten sind dort gelistet.

Fehlerbehebung

Symptom

Ursache

Lösung

Nichts kommt in n8n an

Die Test-URL ist in Survio oder der Workflow ist nicht veröffentlicht

Production URL in Survio eintragen und auf Veröffentlichen klicken

Survio nimmt keine Webhook-URL von selbstgehostetem n8n

n8n zeigt eine interne statt der öffentlichen Adresse

In n8n WEBHOOK_URL auf die öffentliche https-Adresse setzen und erneut kopieren

„Listen for test event“ zeigt nichts, obwohl das Formular abgesendet wurde

Survio sendet an die Production-URL, das Monitoring hört auf die Test-URL

Nutzen Sie stattdessen den Tab Ausführungen

Letzte Änderung hat keine Wirkung

Der Workflow ist veröffentlicht, aber die Änderung nicht (Button „Veröffentlichen“ markiert)

Erneut veröffentlichen

Eine Spalte bleibt leer und eine neue taucht ganz rechts in der Tabelle auf

Feldname in Lead vorbereiten stimmt nicht exakt mit der Spaltenüberschrift überein

Feldnamen anpassen und die überflüssige Spalte in Google Sheets löschen

Ein Lead erscheint doppelt

Operation auf „Zeile anhängen“ gesetzt oder keine Vergleichsspalte angegeben

„Zeile hinzufügen oder aktualisieren“ nutzen und auf Response ID abgleichen

Antwort geht an Sie statt an den Lead

„Antworten senden an“ ist im Gmail-Knoten nicht gesetzt

Im Optionsfeld mit der Lead-E-Mail-Adresse hinterlegen

Teamgröße erscheint als Datum

Google Sheets interpretiert 2-10 als Datum

In „Lead in Tabelle speichern“ das Zellenformat auf „n8n formatieren lassen“ stellen

E-Mail-Adresse fehlt

Aus data.email gelesen

E-Mail aus der expliziten E-Mail-Frage des Formulars nutzen

Kontakt erstellen oder aktualisieren schlägt fehl

E-Mail ist leer oder ungültig oder die HubSpot-Verbindung ist abgelaufen

E-Mail-Frage als Pflichtfeld definieren und HubSpot erneut verbinden

Survio hat den Webhook deaktiviert

Die Webhook URL war 5 Tage fehlerhaft

Ursache beheben und Webhook in Survio wieder einschalten

Wissenswertes

  • Survio sendet ausschließlich abgeschlossene Antworten – jede einzelne Antwort als eigene Nachricht, innerhalb von Sekunden. Ein zwischendurch geschlossenes Formular wird nicht gesendet.

  • Nichts wird nachträglich gesendet: Keine Antworten, die vor dem Webhook eingingen, und keine aus einer Zeit, in der der Webhook pausierte.

  • Eine fehlgeschlagene Übertragung wird bis zu 8-mal binnen etwa 27 Stunden erneut versucht, pro Versuch wird bis zu 30 Sekunden auf Antwort gewartet. Durch den Abgleich über Response ID entstehen keine doppelten Zeilen.

  • Bleibt die Übertragung 5 Tage in Folge fehlerhaft, schaltet Survio den Webhook ab. Sie müssen ihn dann von Hand reaktivieren.

  • Das Pausieren bewahrt den Webhookplatz – beim Löschen ist er endgültig weg.

  • Survio speichert im Tool selbst keine Übertragungshistorie. Das Protokoll finden Sie im Tab Ausführungen von n8n.

  • Das Senden der Antworten an Webhooks verbraucht kein zusätzliches Antwortkontingent Ihres Plans.

Möchten Sie, dass wir alles einrichten? Klicken Sie auf der Webhooks-Seite in Survio auf Experteneinstellung anfordern, teilen Sie uns mit, was passieren soll, unser Team kümmert sich um Aufbau, Test und eine funktionierende Übergabe des Webhooks.

Hat dies deine Frage beantwortet?