Erste Schritte mit Workflow
Verfügbar in allen Tarifen
Mit Workflow kannst du Formulardaten schnell validieren und an deine Drittanbieterdienste senden. In Kombination mit Formshield und automatischen Wiederholungsversuchen bietet Workflow eine leicht wartbare Lösung für die Zustellung spamfreier Daten, indem es einfacher wird, sicherzustellen, dass die Formulardaten bei der Übermittlung korrekt sind.
Workflow bietet eine Reihe von Funktionen, darunter:
- Formularaktionen für beliebte Dienste
- Einen einfachen visuellen Workflow-Builder
- Automatisches Mapping von Formularfeldern zu Drittanbieter-Integrationen
- Garantierte Zustellung an Drittanbieter-Integrationen über automatische Wiederholungsversuche
Standardmäßig ist Workflow in deinem Formular-Dashboard aktiviert. Wenn du den Workflow-Bereich des Formular-Dashboards aufrufst, findest du eine grundlegende Workflow-Konfiguration vor. Zu Beginn gibt es einen Validation-Knoten für ein E-Mail-Feld und einen Actions-Knoten für E-Mail-Benachrichtigungen.

Validierungsregeln hinzufügen
Neue Validierungsregeln können erstellt werden, indem du im Bereich Validation von Workflow auf den Link +Add new klickst. Validierungsregeln können erstellt werden für:
- Text
- Number
- URL
- DateTime
- File
Felder sollten nur dann zur Validierung in Workflow hinzugefügt werden, wenn ein entsprechendes input-Tag in deinem Formularcode existiert. Der für die Validierungsregel angegebene Feldname muss mit dem name-Attribut des input-Tags in deinem Formularcode übereinstimmen. Jedes Feld hat verschiedene Attribute, die das Validierungsverhalten steuern. Eine vollständige Liste der Validierungsattribute findest du hier.
Wenn die Daten die Validierungsregeln nicht erfüllen, wird dem Nutzer ein Validierungsfehler angezeigt, oder – bei der Übermittlung per AJAX – wird eine Validierungsfehler-Antwort gesendet. Weitere Informationen zu Validierungsfehlern findest du hier.
Neue Aktionen hinzufügen
Sobald Übermittlungsdaten erfolgreich validiert wurden, werden sie an Actions weitergereicht. Aktionen sind Verhaltensweisen, die durch eine erfolgreiche Formularübermittlung ausgelöst werden. Deine definierten Aktionen werden parallel ausgeführt – alle Aktionen erfolgen gleichzeitig, nicht nacheinander.
Hinweis: Das Stripe-Plugin ist eine Ausnahme von der oben genannten Regel. Stripe ist ein synchrones Plugin, das heißt, es läuft vor der Übermittlung, sodass Nutzer etwaige Fehler sehen können, etwa eine abgelehnte Karte.
Um neue Aktionen zu erstellen, klicke im Bereich Actions von Workflow auf den Link +Add new. Neben der Erstellung einer Aktion zum Senden von Übermittlungen an eine E-Mail-Adresse können über den Bereich Actions von Workflows eine Reihe von Drittanbieter-Integrationen eingesetzt werden. Diese Drittanbieter-Tools reichen von CRM-Systemen und Helpdesk-Diensten bis hin zu Datenbanken und Repositories.

Sobald eine Aktion aktiviert ist, kannst du ihre Einstellungen ändern, indem du in der rechten Ecke des Action-Knotens auf … klickst und Settings auswählst. Du kannst eine Aktion auch von deinem Workflow trennen, indem du auf das Disconnect-Symbol klickst. Um eine Aktion verbunden zu halten, sie aber an der Ausführung ihrer Funktionen zu hindern, schalte die Option Enabled in den Action-Einstellungen aus.
Validierungsregeln
Unten findest du zwei Tabellen. Die erste Tabelle definiert und beschreibt die verschiedenen Validierungsfeldtypen. Die zweite Tabelle definiert die verschiedenen Validierungsattribute, die für deine Felder verfügbar sind. Diese Tabelle liefert außerdem Informationen zu den akzeptierten Werten, den unterstützten Feldtypen und eine Beschreibung jedes Attributs.
Zusätzlich zu den expliziten Validierungsregeln, die du über die Workflow-Oberfläche hinzufügen kannst, werden implizite Validierungen automatisch hinzugefügt, wenn eine Aktion sie erfordert. Implizite Validierungen sind am „Used by”-Symbol in der Feldliste zu erkennen. Diese impliziten Validierungen können nicht entfernt, aber bearbeitet werden, um sie strenger zu machen, als von der zugehörigen Aktion gefordert. Wenn du zum Beispiel die E-Mail-Aktion hinzufügst, fügst du auch eine implizite E-Mail-Validierung hinzu. Damit wird sichergestellt, dass das E-Mail-Feld – sofern es in der Übermittlung enthalten ist – eine gültige E-Mail-Adresse ist. Die E-Mail-Validierung zeigt das „Used by”-Label an, um anzuzeigen, dass die E-Mail-Aktion diese Validierung hinzugefügt hat.
Validierungsfeldtypen
| Typ | Beschreibung |
|---|---|
| datetime-local | Ein Steuerelement zur Eingabe von Datum und Uhrzeit ohne Zeitzone. Öffnet in unterstützenden Browsern bei Aktivierung eine Datumsauswahl oder numerische Räder für Datums- und Zeitkomponenten. Siehe MDN Web Docs. |
| Ein Feld zum Bearbeiten einer E-Mail-Adresse. Sieht aus wie ein Texteingabefeld, hat aber Validierungsparameter und in unterstützenden Browsern und Geräten mit dynamischen Tastaturen eine passende Tastatur. | |
| file | Ein Steuerelement, mit dem der Nutzer eine Datei auswählen kann. Verwende das accept-Attribut, um die Dateitypen zu definieren, die das Steuerelement auswählen kann. |
| number | Ein Steuerelement zur Eingabe einer Zahl. Zeigt einen Spinner an und fügt eine Standardvalidierung hinzu. Zeigt auf manchen Geräten mit dynamischen Tastaturen ein numerisches Tastenfeld an. |
| tel | Ein Steuerelement zur Eingabe einer Telefonnummer. Zeigt auf manchen Geräten mit dynamischen Tastaturen ein Telefon-Tastenfeld an. |
| text | Der Standardwert. Ein einzeiliges Textfeld. Zeilenumbrüche werden automatisch aus dem Eingabewert entfernt. |
| url | Ein Feld zur Eingabe einer URL. Sieht aus wie ein Texteingabefeld, hat aber Validierungsparameter und in unterstützenden Browsern und Geräten mit dynamischen Tastaturen eine passende Tastatur. |
Validierungsattribute
| Validierungsattribut | Werte | Unterstützte Typen | Beschreibung |
|---|---|---|---|
| Required | Boolean | all | Gibt an, ob das Feld erforderlich ist. Für alle Feldtypen verfügbar. |
| Minimum value | Number or string | datetime-local, number | Gibt den Mindestwert an. Kann mit den Typen Number, DateTime oder File verwendet werden. |
| Maximum value | Number or string | datetime-local, number | Gibt den Höchstwert an. Kann mit den Typen Number oder DateTime verwendet werden. |
| Minimum length | Number | text, url, tel, email | Gibt den Mindestwert an. Kann mit den Typen Text oder URL verwendet werden. |
| Maximum length | Number | text, url, tel, email | Gibt den Höchstwert an. Kann mit den Typen Text oder URL verwendet werden. |
| Accept file types | String list | File | Gibt gültige Datei-Inhaltstypen an. Der Wert sollte eine Zeichenkettenliste mit gültigen MIME-Typen sein. Beachte, dass du den type-Schlüssel in deinem Formular als file setzen solltest. Andernfalls wird diese Regel nicht angewendet. |
Validierungsfehler
Wenn ein Nutzer eine Formularübermittlung vornimmt, die nicht einer in Workflow definierten Validierungsregel entspricht, wird eine Validierungsfehler-Antwort gesendet. Der Nutzer wird möglicherweise auf eine Validierungsfehlerseite weitergeleitet, die weitere Informationen über den Fehler liefert (es sei denn, das Formular wird per JavaScript mit AJAX übermittelt – in diesem Fall befindet sich der Fehler im Response-Body).
Die folgenden Fehlercodes können im errors-Array des state-Objekts erscheinen:
| Code | Field Error | Beschreibung |
|---|---|---|
| INACTIVE | Das Formular wurde deaktiviert | |
| BLOCKED | Das Formular wurde blockiert | |
| EMPTY | Es wurden keine Daten übermittelt | |
| PROJECT_NOT_FOUND | Zum Übermitteln des Formulars wurde ein ungültiger Projektschlüssel verwendet | |
| FORM_NOT_FOUND | Zum Übermitteln des Formulars wurde eine ungültige Formular-hashid verwendet | |
| NO_FILE_UPLOADS | Datei-Uploads werden für dieses Formular nicht unterstützt | |
| TOO_MANY_FILES | Das Formular wurde mit zu vielen Dateianhängen übermittelt | |
| FILES_TOO_BIG | Eine oder mehrere hochgeladene Dateien überschritten die maximale Dateigröße | |
| REQUIRED_FIELD_MISSING | ✓ | Ein Feld ist erforderlich, aber es wurde kein Wert angegeben |
| REQUIRED_FIELD_EMPTY | ✓ | Ein Feld ist erforderlich, aber es wurde eine leere oder leere Zeichenkette angegeben |
| TYPE_EMAIL | ✓ | Ein Feld sollte eine E-Mail enthalten |
| TYPE_NUMERIC | ✓ | Ein Feld sollte eine Zahl enthalten |
| TYPE_TEXT | ✓ | Ein Feld sollte Text enthalten |
| STRIPE_CLIENT_ERROR | ✓ | Stripe-Schlüssel fehlt |
| STRIPE_SCA_ERROR | ✓ | Stripe-SCA-Fehler. Siehe Details |