Integrationsanleitung

Formgong + n8n: Einsendungen mit dem Webhook-Node empfangen

Der Webhook-Node von n8n macht aus jeder Formgong-Einsendung einen Workflow-Lauf. Das klappt in n8n Cloud und auf Ihrem eigenen Server, solange Formgong ihn über öffentliches HTTPS erreicht.

Kurz gesagt: Fügen Sie einen Webhook-Node hinzu: HTTP Method POST, Respond auf Immediately. Tragen Sie die Test URL in Formgong ein, klicken Sie auf Listen for test event und senden Sie eine Einsendung. Stimmen die Daten, ersetzen Sie die URL in Formgong durch die Production URL und veröffentlichen den Workflow. Felder lesen Sie aus $json.body.submission.fields.

Bevor Sie starten

  • n8n Cloud: bezahlte Tarife ab 20 € im Monat bei jährlicher Zahlung, mit Testphase. n8n gibt Frankfurt als Speicherort für Cloud-Daten an.
  • Selbst gehostet: Die Community Edition ist kostenlos. Formgong sendet nur an HTTPS auf Port 443 und einen öffentlichen Host. http://localhost:5678 oder eine LAN-Adresse lehnt Formgong ab. Stellen Sie n8n hinter einen Reverse Proxy mit TLS-Zertifikat und setzen Sie WEBHOOK_URL auf diese öffentliche Adresse.
  • Formgong: ein Webhook pro Formular im Free-Tarif, fünf in Pro und Business. Der Wechsel von Test- zu Produktions-URL nutzt denselben Platz.

Die Oberfläche von n8n ist englisch, deshalb stehen die Feldnamen unten auf Englisch.

Schritt für Schritt

  1. Legen Sie einen Workflow an und fügen Sie den Trigger Webhook hinzu.
  2. Setzen Sie HTTP Method auf POST. Wählen Sie einen sprechenden Path, etwa formgong-kontakt.
  3. Lassen Sie Authentication auf None. Formgong kann weder Basic-Auth noch eigene Header oder JWT senden. Prüfen Sie stattdessen die Signatur (siehe unten). Auch die IP-Allowlist passt nicht: Formgong sendet aus dem Cloudflare-Netz, nicht von festen Adressen.
  4. Setzen Sie Respond auf Immediately. Formgong wartet nur 10 Sekunden auf eine Antwort.
  5. Kopieren Sie die Test URL. Öffnen Sie in Formgong Formulareinstellungen → Webhook, fügen Sie sie ein und klicken Sie auf „Webhook hinzufügen“.
  6. Klicken Sie in n8n auf Listen for test event und senden Sie eine echte Einsendung von Ihrer Website.
  7. Fügen Sie die nächsten Nodes hinzu und ordnen Sie die Felder zu. Läuft alles, entfernen Sie die Test-URL in Formgong und tragen die Production URL ein.
  8. Veröffentlichen Sie den Workflow. Produktive Läufe sehen Sie unter Executions, nicht auf der Arbeitsfläche.

Was der Webhook-Node ausgibt

Der Node liefert headers, params, query und body. Das JSON von Formgong steht in body.

body
{
  "event": "submission.created",
  "form": {
    "id": "6f1c2a9e-4b7d-4e0a-9c3f-2d8b5e7a1f40",
    "name": "Kontakt"
  },
  "submission": {
    "id": "b3e04c51-8a2f-4d6e-9f17-0c5a3b8d2e96",
    "created_at": "2026-10-03T09:15:00.000Z",
    "page_url": "https://example.com/contact",
    "fields": {
      "name": "Jonas Weber",
      "email": "jonas@example.com",
      "phone": "+4915112345678",
      "message": "Bitte ein Angebot für 20 Stück",
      "utm_source": "google"
    },
    "is_spam": false
  }
}

Header-Namen kommen kleingeschrieben an, zum Beispiel $json.headers["x-signature"] und $json.headers["x-formgong-event"].

Feldzuordnung

Sie brauchenn8n-Ausdruck
Ein Formularfeld{{ $json.body.submission.fields.email }}
Formularname{{ $json.body.form.name }}
Seiten-URL{{ $json.body.submission.page_url }}
Ereignistyp{{ $json.body.event }}
Eindeutige ID{{ $json.body.submission.id }}

Um Test-Zustellungen zu überspringen, nutzen Sie in den Optionen des Webhook-Nodes Only Run If mit {{ $json.body.event === 'submission.created' }}. Nicht passende Requests bekommen trotzdem 200, also wiederholt Formgong sie nicht.

Optional: Signatur prüfen

Die Signatur ist ein HMAC-SHA256 des Roh-Bodys mit dem „Signatur-Secret“ aus dem Webhook-Tab von Formgong. n8n prüft sie ohne Code:

  1. Schalten Sie in den Optionen des Webhook-Nodes Raw Body ein. Der Body kommt dann als Binärdaten.
  2. Fügen Sie einen Crypto-Node hinzu: Aktion Hmac, Binary File an, die Binär-Property aus dem Webhook-Node, Typ SHA256, Kodierung HEX. Das Signatur-Secret gehört in das Feld Hmac Secret der Crypto-Zugangsdaten.
  3. Fügen Sie einen If-Node hinzu: sha256= plus das Crypto-Ergebnis muss {{ $('Webhook').item.json.headers['x-signature'] }} entsprechen.
  4. Im true-Zweig macht Extract from File (Extract From JSON) aus dem Roh-Body wieder Felder.
Signierten Request im Terminal senden
SECRET='<your signing secret>'
URL='<your webhook URL>'
BODY='{"event":"webhook.test","form":{"id":"x","name":"Test"},"submission":{"id":"test","created_at":"2026-10-03T09:15:00.000Z","page_url":null,"fields":{"message":"Formgong test"},"is_spam":false}}'
SIG=$(printf '%s' "$BODY" | openssl dgst -sha256 -hmac "$SECRET" | sed 's/^.* //')
curl -sS -X POST "$URL" \
  -H 'content-type: application/json' \
  -H 'x-formgong-event: webhook.test' \
  -H "x-signature: sha256=$SIG" \
  --data "$BODY"

Fehlerbehebung

  • 404 unter „Letzte Zustellungen“: Die Test URL funktioniert nur einmal und nur, solange n8n lauscht. Die Production URL funktioniert nur bei veröffentlichtem Workflow.
  • Formgong lehnt die URL ab: Sie muss mit https:// beginnen, Port 443 nutzen und auf einen öffentlichen Host zeigen.
  • Timeouts und Dubletten: Mit Respond = When Last Node Finishes kann ein langsamer Workflow 10 Sekunden überschreiten. Formgong wiederholt dann, und der Workflow läuft erneut. Antworten Sie sofort und prüfen Sie submission.id, bevor Sie Datensätze anlegen.
  • Status 3xx: Ein Proxy, der weiterleitet (http auf https oder fehlender Schrägstrich), gilt als Fehler. Tragen Sie die URL genau so ein, wie n8n sie zeigt.
  • Checkbox-Gruppe in einem Feld: Angehakte Boxen mit gleichem Namen kommen als ein Text an, zum Beispiel E-Mail, Telefon. Ein Array erhalten Sie mit {{ $json.body.submission.fields.contact.split(', ') }}.

Fragen und Antworten

Zählt jede Einsendung als n8n-Execution?

In n8n Cloud ja: ein produktiver Lauf pro Einsendung, egal wie viele Nodes. Die selbst gehostete Community Edition hat kein Execution-Kontingent.

n8n Cloud oder selbst hosten – was ist besser für die DSGVO?

Beides kann passen. n8n gibt Frankfurt als Speicherort für Cloud-Daten an. Selbst gehostet bleiben die Daten auf Ihrem Server. Formgong speichert Einsendungen in der EU.

Kann ich die Header-Authentifizierung des Webhook-Nodes nutzen?

Nein, Formgong setzt keine eigenen Header. Prüfen Sie den Header X-Signature; er belegt, dass der Request von Ihrem Formular kommt.

Kann n8n die Daten danach an ein CRM senden?

Ja, mit einem HTTP Request-Node und dem API-Schlüssel des CRM. Den Schlüssel speichern Sie als Zugangsdaten in n8n, nie im Website-Code.

Quellen

Geprüft am 03.10.2026 anhand offizieller Hilfeseiten und öffentlicher Seiten: n8n-Doku: Webhook node, n8n-Doku: Crypto node, n8n-Doku: HTTP Request node, n8n-Preise, Formgong-Webhook-Referenz.

← Formgong