Webhooks
Ein Webhook sendet jede neue Antwort eines Formulars an eine Adresse Ihrer Wahl, etwa an eine Fachanwendung oder ein Automatisierungswerkzeug.
Den Webhook einrichten
- Öffnen Sie das Studio des Formulars, Reiter Automatisierungen.
- Geben Sie im Block Webhook die URL ein, die die Aufrufe empfängt
(öffentliche
https://-Adresse). - Geben Sie ein HMAC-Geheimnis ein, eine lange Zufallszeichenfolge, die Sie auch auf Ihrer Seite aufbewahren.
- Speichern Sie und prüfen Sie, dass die Automatisierung aktiviert ist.
Wann der Aufruf erfolgt
Der Aufruf erfolgt bei jeder neuen Antwort, unabhängig von ihrer Herkunft: öffentlicher Link, eingebettete Seite, mobile App, API oder gemeinsame Sitzung. Er läuft im Hintergrund: Das Absenden des Formulars wartet nicht auf Ihren Server.
Was Ihr Server erhält
Eine POST-Anfrage mit dem Typ application/json:
{
"submission_id": 1234,
"form_slug": "baustellenkontrolle",
"data": { "...": "die Antworten, Frage für Frage" },
"date_submitted": "2026-10-16T08:42:11+00:00"
}
Der Header X-Formsbuilder-Signature enthält sha256= und danach die
HMAC-SHA256-Signatur des unveränderten Inhalts, berechnet mit Ihrem Geheimnis.
Die Signatur prüfen
import hashlib, hmac
def signatur_gueltig(inhalt: bytes, header: str, geheimnis: str) -> bool:
erwartet = "sha256=" + hmac.new(geheimnis.encode(), inhalt, hashlib.sha256).hexdigest()
return hmac.compare_digest(erwartet, header)
Berechnen Sie die Signatur über den exakt empfangenen Inhalt, vor jeder JSON-Umwandlung.
Fehler und Wiederholungen
Ihr Server muss innert 10 Sekunden antworten. Bei einem Netzwerkfehler oder einer 5xx-Antwort wird der Aufruf bis zu dreimal im Abstand von einer Minute wiederholt; eine 4xx-Antwort wird nicht wiederholt. Interne Adressen (privates Netz, localhost) werden abgelehnt.