Rechtliches / AGB
Eine Frage zur Annahme von Geschäftsbedingungen, die eine Erklärung präsentiert und den Teilnehmer akzeptieren oder ablehnen lässt.

Typ-Bezeichner: legal
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
buttonText | string | Der anzuzeigende Rechtstext bzw. die Bedingungen. Das ist der Text der rechtlichen Vereinbarung, die der Teilnehmer akzeptiert. | Keiner |
Verhalten
- Zeigt den Rechtstext aus
buttonTextan. - Der Teilnehmer klickt auf „Ich akzeptiere" oder „Ich akzeptiere nicht".
- Typischerweise verwendet für Datenschutzerklärungen, Nutzungsbedingungen, Einwilligungsformulare und Auftragsverarbeitungsvereinbarungen.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer die Bedingungen akzeptieren, um fortzufahren. Das Ablehnen (Auswahl von „Ich akzeptiere nicht") zeigt bei einer Pflichtfrage einen Validierungsfehler.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Vergleiche bei equals gegen true (akzeptiert) oder false (abgelehnt).
Antwortformat
Die Antwort wird als boolean gespeichert (true für akzeptiert, false für abgelehnt, oder null, wenn unbeantwortet).
Bewertung im Quiz-Modus
Rechtliches ist ein bewertbarer Fragetyp:
- Wissensquiz: Setze
correctAnswersmit"true"oder"false". - Lead-Qualifizierung: Setze
choiceScoresmit den Schlüsseln"true"und"false". - Match-Quiz: Setze
choiceOutcomesals Zuordnung von Annahme/Ablehnung zu Endbildschirmen.
Der Rechtliches-Fragetyp ähnelt funktional Ja/Nein, ist aber speziell für AGB-Szenarien konzipiert. Die Oberfläche zeigt die Schaltflächen „Ich akzeptiere" / „Ich akzeptiere nicht" statt „Ja" / „Nein".
Zahlung
Erfasse Zahlungen von Teilnehmern als Teil des Formularablaufs über die Stripe-Integration. Unterstützt zwei Zahlungsmodi, konfigurierbare Währungen sowie feste oder variable Beträge.
Typ-Bezeichner: payment
Zahlungsmodi
| Modus | Pläne | Beschreibung |
|---|---|---|
platform | Alle Pläne | NueForm wickelt Zahlungen ab und überweist dir die Beträge. Gebühr von 2,9 % + 0,30 $ pro Transaktion. |
connect | Pro, Enterprise | Zahlungen gehen direkt an dein verbundenes Stripe-Konto. Keine NueForm-Gebühren. |
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
price | number | Fester Zahlungsbetrag in Haupteinheiten (z. B. 29.99). Leer lassen für variable Beträge. | Keiner |
currency | string | Währungscode (z. B. "USD", "EUR", "GBP"). | "usd" |
paymentMode | string | Zahlungsmodus: "platform" oder "connect". | "platform" |
paymentDescription | string | Beschreibung, die auf der Stripe-Abbuchung erscheint. | Keiner |
paymentButtonText | string | Eigener Text für die Bezahlen-Schaltfläche. | "Pay $X.XX" |
minAmount | number | Minimal erlaubter Betrag bei variablen Zahlungen (Haupteinheiten). | Keiner |
maxAmount | number | Maximal erlaubter Betrag bei variablen Zahlungen (Haupteinheiten). | Keiner |
stripeConnectionId | string | ID des zu verwendenden verbundenen Stripe-Kontos. | Keiner |
enableTracking | boolean | Kumulierte Zahlungssummen nachverfolgen. | false |
paymentAccountId | string | Konto-ID für das Zahlungs-Tracking. | Keiner |
accountTotalVariable | string | Variablenname zum Speichern der laufenden Kontosumme. | Keiner |
Verhalten
- Ist
pricegesetzt, sieht der Teilnehmer den festen Betrag und gibt seine Kartendaten an. - Ist
pricenicht gesetzt, gibt der Teilnehmer seinen eigenen Betrag ein (Variabel-/Spendenmodus). - Für die sichere Kartenerfassung wird das Stripe Payment Element gerendert.
- Nach erfolgreicher Zahlung springt das Formular automatisch zur nächsten Frage.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer die Zahlung abschließen, um fortzufahren.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als PaymentResult-Objekt gespeichert:
{
"paymentIntentId": "pi_abc123",
"amount": 2999,
"currency": "usd",
"status": "succeeded"
}
Eine Einrichtungsanleitung findest du im How-to Zahlungen erfassen.
Datum
Ein Datumswähler, mit dem Teilnehmer ein Datum auswählen können. Unterstützt konfigurierbare Datumsformate.

Typ-Bezeichner: date
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
dateFormat | string | Das Format, in dem das Datum angezeigt und geparst wird (z. B. "MM/DD/YYYY", "DD/MM/YYYY", "YYYY-MM-DD"). | Systemstandard |
Verhalten
- Zeigt eine Datumswähler-Oberfläche.
- Der Teilnehmer kann ein Datum manuell eintippen oder aus einem Kalender-Widget auswählen.
- Das Datum wird unabhängig vom Anzeigeformat im ISO-Format gespeichert.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer ein Datum auswählen.
| Regel | Beschreibung |
|---|---|
min | Frühestes erlaubtes Datum. |
max | Spätestes erlaubtes Datum. |
customMessage | Eigene Fehlermeldung für die Datumsvalidierung. |
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als string gespeichert (der Datumswert, typischerweise im ISO-Format oder im konfigurierten dateFormat).
Ranking
Präsentiere eine Liste von Elementen, die der Teilnehmer per Drag-and-drop in seine bevorzugte Reihenfolge bringt.

Typ-Bezeichner: ranking
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
choices | Choice[] | Array der zu sortierenden Elemente. Jedes hat eine id und ein label. | [] |
Verhalten
- Elemente werden in einer Liste angezeigt.
- Der Teilnehmer zieht Elemente, um sie umzusortieren.
- Ziehgriffe kennzeichnen ziehbare Elemente.
- Touch- und Mausinteraktion werden beide unterstützt.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer ein Ranking übermitteln.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als Array von Strings gespeichert (Auswahl-IDs in der vom Teilnehmer gewählten Reihenfolge).
Matrix
Ein rasterbasierter Fragetyp, bei dem Teilnehmer mehrere Elemente über mehrere Kategorien bewerten.

Typ-Bezeichner: matrix
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
rows | string[] | Array der Zeilenbeschriftungen (zu bewertende Elemente). | [] |
columns | string[] | Array der Spaltenbeschriftungen (Bewertungskategorien). | [] |
randomizeRows | boolean | Mischt die Reihenfolge der Zeilen. | false |
randomizeColumns | boolean | Mischt die Reihenfolge der Spalten. | false |
Verhalten
- Wird als Raster angezeigt, mit Zeilen links und Spalten oben.
- Der Teilnehmer wählt eine Option pro Zeile.
- Auf Mobilgeräten passt sich das Raster für bessere Bedienbarkeit einem gestapelten Format an.
Validierung
Ist required auf true gesetzt, muss der Teilnehmer für jede Zeile eine Option auswählen.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als object gespeichert, das Zeilenbeschriftungen den ausgewählten Spaltenbeschriftungen zuordnet:
{
"Quality": "Excellent",
"Speed": "Good",
"Support": "Average"
}
Kontaktinfo
Erfasse strukturierte Kontaktinformationen — Name, E-Mail-Adresse und Telefonnummer — in einer einzigen Frage.
Typ-Bezeichner: contact_info
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
defaultCountryCode | string | Standard-Ländercode für das Telefonfeld (z. B. "US", "GB"). | Keiner |
Verhalten
- Zeigt Felder für Vorname, Nachname, E-Mail und Telefonnummer.
- Das Telefonfeld enthält eine Ländervorwahl-Auswahl.
- Jedes Unterfeld kann einzeln als erforderlich oder optional festgelegt werden.
Validierung
Ist required auf true gesetzt, müssen alle sichtbaren Unterfelder ausgefüllt werden.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als object gespeichert:
{
"firstName": "Jane",
"lastName": "Smith",
"email": "jane@example.com",
"phone": "+14155551234"
}
Adresse
Erfasse eine vollständige Postadresse mit optionaler Autovervollständigung über Google Places.
Typ-Bezeichner: address
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
enableAddressAutocomplete | boolean | Aktiviert die Google-Places-Autovervollständigung für die Adresssuche. | false |
Verhalten
- Zeigt Felder für Straße, Stadt, Bundesland/Provinz, Postleitzahl und Land.
- Bei aktivierter Autovervollständigung zeigt das Tippen im Straßenfeld Adressvorschläge.
- Die Auswahl eines Vorschlags füllt alle Adressfelder automatisch aus.
Validierung
Ist required auf true gesetzt, müssen alle Adressfelder ausgefüllt werden.
Logiksprung-Operatoren
equals, not_equals, is_answered, is_not_answered
Antwortformat
Die Antwort wird als object gespeichert:
{
"street": "123 Main St",
"city": "San Francisco",
"state": "CA",
"postalCode": "94105",
"country": "US"
}
Data Node
Ein unsichtbarer Fragetyp, der während des Formularablaufs HTTP-API-Aufrufe ausführt. Data Nodes werden Teilnehmern nicht angezeigt — sie laufen automatisch und können Daten abrufen, Antworten validieren oder externe Aktionen auslösen.
Typ-Bezeichner: data_node
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
dataNodeUrl | string | Die aufzurufende URL. Unterstützt {variable}-Interpolation. | Keiner |
dataNodeMethod | string | HTTP-Methode: "GET", "POST", "PUT", "DELETE". | "GET" |
dataNodeHeaders | string | JSON-String der Request-Header. Unterstützt {variable}-Interpolation. | "{}" |
dataNodeBody | string | JSON-String des Request-Bodys. Unterstützt {variable}-Interpolation. | "" |
dataNodeResponseVariable | string | Variablenname zum Speichern der vollständigen JSON-Antwort. | Keiner |
dataNodeTimeout | number | Request-Timeout in Sekunden. | 10 |
dataNodeSilent | boolean | Fire-and-forget-Modus — es wird kein Ladebildschirm angezeigt. | false |
dataNodeDebug | boolean | Zeigt ein Debug-Panel mit Request-/Response-Details. | false |
dataNodeLoadingText | string | Eigener Ladetext, der während des Requests angezeigt wird. | "Loading..." |
dataNodeValidation | boolean | Als Validierungs-Gate für die vorherige Frage verwenden. | false |
Verhalten
- Wird automatisch ausgeführt, sobald er im Formularablauf erreicht wird.
- Alle
{variableName}-Tokens in URL, Headern und Body werden durch aktuelle Variablenwerte ersetzt. - Ist
dataNodeResponseVariablegesetzt, wird die vollständige JSON-Antwort als Formularvariable gespeichert. - Im Silent-Modus läuft der Request im Hintergrund ohne Ladeindikator.
- Im Validierungs-Gate-Modus blockiert ein fehlschlagender Request das Weiterkommen von der vorherigen Frage.
Anwendungsfälle
- Externe Daten abrufen: Produktdetails, Preise oder Nutzerprofile während des Formularablaufs nachschlagen.
- Antworten validieren: Eine E-Mail gegen deine Datenbank prüfen, einen Gutscheincode verifizieren oder eine Adresse validieren.
- Aktionen auslösen: Daten an einen Webhook senden, einen Datensatz in deinem CRM anlegen oder einen Workflow starten.
Data Nodes sind für Teilnehmer unsichtbar. Sie erscheinen im Builder und im Workflow-Editor, werden im Live-Formular aber übersprungen — nur der API-Aufruf wird ausgeführt. Beispiele findest du im How-to Data Nodes.
Composite
Bette ein wiederverwendbares, versioniertes Fragenbündel ein — einmal auf der Composites-Seite definiert und über Formulare hinweg geteilt. Teilnehmer sehen alle Felder des Composites auf einem Bildschirm und übermitteln sie gemeinsam. Siehe die Composites-Anleitung zum Erstellen, Bearbeiten, Veröffentlichen und Nachverfolgen von Einträgen.
Typ-Bezeichner: composite_ref
Eigenschaften
| Eigenschaft | Typ | Beschreibung | Standard |
|---|---|---|---|
compositeId | string | Das referenzierte Composite. Wird über die Auswahl im Fragepanel gesetzt. | — |
fields | FormQuestion[] | Abgeleitet — die veröffentlichten Unterfelder des Composites, beim Veröffentlichen des Formulars in den Formular-Snapshot eingefroren. Werden nie direkt an der Frage bearbeitet. | — |
Validierung
Erforderliche Unterfelder werden gemeinsam validiert, wenn der Teilnehmer den Bildschirm absendet.
Logiksprung-Operatoren
is_answered, is_not_answered an der Frage selbst. Einzelne Unterantworten können in jeder Bedingung über die Unterfeld-Adressierung (questionId.subFieldId) angesprochen werden — Unterfelder erscheinen in der Bedingungsfeld-Auswahl unter ihrer übergeordneten Frage.
Antwortformat
Ein object mit Unterfeld-IDs als Schlüssel:
{ "sub_first_name": "Ada", "sub_title": "Director", "sub_email": "ada@example.com" }
Die Übermittlung wird zusätzlich als Composite-Eintrag erfasst, sichtbar über alle Formulare hinweg in der Einträge-Ansicht des Composites.
Das Bearbeiten der Felder eines Composites ändert seine geteilte Arbeitskopie — jedes Formular, das es referenziert, übernimmt die Änderungen, nachdem das Composite veröffentlicht und das Formular erneut veröffentlicht wurde. Die „Entwurfsänderungen"-Plakette am Canvas-Badge veröffentlicht das Composite direkt an Ort und Stelle.
Gemeinsame erweiterte Funktionen
Rich Text in Titeln und Beschreibungen
Alle erweiterten Fragetypen unterstützen Rich Text in ihren Titel- und Beschreibungsfeldern. Rich Text wird über einen Tiptap-basierten Editor im Formular-Builder eingegeben und unterstützt:
- Fett, kursiv, Unterstreichung und
Durchstreichung - Links (mit den Attributen
href,target,rel) - Geordnete und ungeordnete Listen
- Inline-Code
- Tief- und Hochstellung
- Eigene Schriftfamilien und Farben über Inline-Styles
Der Rich Text wird als HTML gespeichert und vor dem Rendern mit DOMPurify und einer strikten Allowlist von Tags und Attributen bereinigt.
Variablenersetzung
Alle erweiterten Fragetypen unterstützen die {variableName}-Ersetzung in ihren Titel- und Beschreibungsfeldern. Siehe die Anleitung zu Variablen.
Medienanhänge
Alle erweiterten Fragetypen unterstützen Medienanhänge (Bild, Video, Icon, QR-Code) mit der vollen Bandbreite an Layout-Optionen. Siehe die Anleitung Formulare erstellen.