NueForm

Webhook-Ereignisse

Referenz aller NueForm-Webhook-Ereignistypen — wann sie feuern, welche Zustellgarantien gelten und welche Ereignisse geplant sind.

NueForm sendet Webhook-Benachrichtigungen für bestimmte Ereignisse in deinem Konto. Jede Webhook-Anfrage enthält ein event-Feld in der JSON-Payload, das angibt, was passiert ist.

Aktuelle Ereignisse

form.submitted

Feuert, wenn eine befragte Person eine vollständige Antwort auf eines deiner Formulare übermittelt.

EigenschaftWert
Ereignisnameform.submitted
AuslöserEine befragte Person füllt ein Formular aus und schickt es ab
PayloadFormulardetails, Response-ID, Antworten mit Zeitstempeln
Inkrementelle FormulareFeuert nur, wenn die Response als complete markiert ist

Das ist das zentrale Webhook-Ereignis in NueForm. Es feuert sowohl bei Standard-Formularen (einmalige Übermittlung) als auch bei Formularen mit inkrementeller Übermittlung — aber nur, wenn die Response den Status „vollständig" erreicht.

Wann es feuert:

  • Bei einem Standard-Formular: unmittelbar nachdem die befragte Person auf „Absenden" klickt und die Response gespeichert wurde.
  • Bei einem inkrementellen Formular: erst wenn die finale Übermittlung mit complete: true gesendet wird. Zwischenspeicherungen lösen dieses Ereignis nicht aus.
  • Bei Formularen im Quiz-Modus (Wissensquiz, Lead-Qualifizierung, Match-Quiz): Die Payload enthält neben den Antworten auch die Quiz-Auswertung.

Wann es NICHT feuert:

  • Bei Teilübermittlungen inkrementeller Formulare (wenn complete nicht true ist).
  • Bei Änderungen an bestehenden Responses (Responses sind nach der Übermittlung unveränderlich).
  • Bei Formularentwürfen oder Vorschauen.
  • Bei Testübermittlungen aus der Vorschau des Formular-Builders.

Das vollständige Payload-Schema findest du unter Payloads.

Geplante zukünftige Ereignisse

Die folgenden Ereignisse sind für kommende Releases geplant. Sie sind noch nicht verfügbar, werden hier aber dokumentiert, damit du deine Integration von Anfang an zukunftskompatibel gestalten kannst.

Die unten aufgeführten zukünftigen Ereignisse können sich noch ändern. Sieh im Changelog nach, wann neue Ereignisse verfügbar werden.

form.partial

Wird feuern, wenn bei einem Formular mit aktivierter inkrementeller Übermittlung eine Teilantwort gespeichert wird. Damit kannst du Formularabbrüche nachverfolgen und Befragte kontaktieren, die angefangen, aber nicht abgeschlossen haben.

EigenschaftGeplanter Wert
Ereignisnameform.partial
AuslöserEine Teilantwort wird erstellt oder aktualisiert (nur inkrementelle Formulare)
PayloadGleiche Struktur wie form.submitted, mit completedAt als null

form.completed

Wird feuern, wenn eine inkrementelle Response von „teilweise" zu „vollständig" wechselt. Der Unterschied zu form.submitted: Dieses Ereignis zeigt explizit an, dass eine zuvor unvollständige Response finalisiert wurde.

EigenschaftGeplanter Wert
Ereignisnameform.completed
AuslöserEine Teilantwort wird als vollständig markiert
PayloadGleiche Struktur wie form.submitted, inklusive aller gesammelten Antworten

form.published

Wird feuern, wenn ein Formular veröffentlicht oder erneut veröffentlicht wird.

EigenschaftGeplanter Wert
Ereignisnameform.published
AuslöserEin Formular wird über das Dashboard oder die API veröffentlicht
PayloadFormular-ID, Titel, Slug, Versionsnummer, Veröffentlichungszeitstempel

form.unpublished

Wird feuern, wenn die Veröffentlichung eines Formulars zurückgezogen wird (Formular geht offline).

EigenschaftGeplanter Wert
Ereignisnameform.unpublished
AuslöserDie Veröffentlichung eines Formulars wird über das Dashboard oder die API zurückgezogen
PayloadFormular-ID, Titel, Slug, Zeitstempel der Zurückziehung

Zustellgarantien

Zu verstehen, wie NueForm Webhook-Ereignisse zustellt, ist wichtig für zuverlässige Integrationen.

At-Most-Once-Zustellung

NueForm bietet derzeit At-most-once-Zustellsemantik. Jedes Ereignis wird genau einmal gesendet und bei Fehlschlag nicht wiederholt. Das bedeutet:

  • Dein Endpunkt kann gelegentlich Ereignisse verpassen, wenn er vorübergehend nicht erreichbar ist.
  • Du erhältst von NueForms Zustellsystem niemals doppelte Ereignisse für dieselbe Übermittlung.
  • Deine Integration sollte verpasste Ereignisse tolerieren können.

Keine automatischen Wiederholungen

Ist dein Endpunkt nicht erreichbar, liefert er einen Fehlerstatuscode oder antwortet er nicht innerhalb des 5-Sekunden-Timeouts, wird die Webhook-Zustellung stillschweigend verworfen. NueForm stellt fehlgeschlagene Zustellungen weder in eine Warteschlange noch wiederholt es sie.

Da es keine automatischen Wiederholungen gibt, empfehlen wir dringend, Webhooks durch regelmäßiges Polling der Responses-API zu ergänzen, um Ereignisse aufzufangen, die dein Endpunkt verpasst haben könnte.

Reihenfolge

Webhook-Ereignisse werden in der Reihenfolge ihres Auftretens versendet. Da sie aber parallel an mehrere URLs gehen und Netzwerkbedingungen schwanken, ist die Zustellreihenfolge nicht garantiert. Wenn deine Anwendung eine strikte Reihenfolge braucht, sortiere die Ereignisse nach Empfang anhand des submittedAt-Zeitstempels in der Payload.

Timeout

NueForm wartet bis zu 5 Sekunden auf die Antwort deines Endpunkts. Antwortet er nicht innerhalb dieses Fensters, wird die Anfrage abgebrochen. Dein Endpunkt sollte so schnell wie möglich mit einem 2xx-Statuscode antworten und aufwendige Verarbeitung in einen Hintergrund-Job auslagern.

Idempotenz

NueForm sendet zwar konzeptbedingt keine doppelten Ereignisse, aber Netzwerkbedingungen (etwa TCP-Neuübertragungen) könnten theoretisch dazu führen, dass dein Endpunkt dieselbe Payload mehrfach erhält. Nutze das responseId-Feld der Payload als Idempotenzschlüssel, um sicher zu deduplizieren.

Best Practices

  1. Antworte schnell. Gib sofort 200 OK zurück und verarbeite die Webhook-Daten asynchron. NueForm hat ein Timeout von 5 Sekunden.

  2. Prüfe Signaturen. Validiere immer den X-NueForm-Signature-Header, bevor du der Payload vertraust. Siehe Verifizierung.

  3. Nutze Idempotenzschlüssel. Speichere verarbeitete responseId-Werte und überspringe Duplikate.

  4. Gleiche regelmäßig ab. Ergänze Echtzeit-Webhooks durch geplantes Polling der Responses-API, um verpasste Ereignisse aufzufangen.

  5. Überwache deinen Endpunkt. Verfolge Antwortzeiten und Fehlerraten deines Webhook-Endpunkts. Wenn dein Endpunkt regelmäßig ausfällt, ziehe eine Queue (z. B. SQS, Redis) zwischen Webhook-Empfänger und Verarbeitungslogik in Betracht.

Nächste Schritte

  • Payloads --- Das vollständige JSON-Payload-Schema
  • Verifizierung --- Signaturprüfung implementieren
  • Testen --- Webhook-Zustellung lokal testen
Zuletzt aktualisiert: 20. Juli 2026