Einreichungen
Zuletzt aktualisiert 25 May 2026

Jede Formular-Einreichung wird gespeichert: die Antworten, wer eingereicht hat, wann und welchen Datensatz (falls vorhanden) sie angelegt oder aktualisiert hat. Das Auslesen dieser Einreichungen geschieht an zwei Stellen, dem Einreichungs-Bildschirm für die menschliche Sicht und Flexie Scripting für die Workflow-Sicht, mit einer einzigen Syntax-Eigenheit (Klammer-Notation für Schlüssel mit Leerzeichen).
Wo Einreichungen gespeichert werden
Es gibt zwei Speicherbereiche, je einen pro grundlegender Ausprägung:
| Ausprägung | Gespeichert in | Ansehen unter |
|---|---|---|
| Extern (öffentlich) | Tabelle für externe Einreichungen | /forms/external/submissions/{formId} |
| Intern (an Entität gebunden) | Tabelle für interne Einreichungen | /forms/internal/submissions/{formId} (und /forms/internal/submissions/{formId}/{entityId} für einen einzelnen Datensatz) |
| Intern (virtuell) | Tabelle für interne Einreichungen | /forms/internal/submissions/{formId} |
Öffnen Sie die Ansichtsseite des Formulars (/forms/view/{id}); von dort führt ein Link zu seinen Einreichungen.
Was für jede Einreichung gespeichert wird
Jede Einreichungszeile enthält:
- Das Formular, zu dem sie gehört.
- Die eingereichten Werte, den Wert jedes Felds, abgelegt unter dem
keydes Felds, als JSON. - Die Anhänge, Datei-Metadaten und die gespeicherte Download-URL für jede hochgeladene Datei.
- Den Kontext der einreichenden Person, wer eingereicht hat (der Nutzer bei internen Formularen; die IP und der User Agent bei externen Formularen).
- Den exakten Zeitstempel.
Externe Einreichungen enthalten zusätzlich eine Geo-Anreicherung aus der IP-Adresse: das Land, die Region, die Stadt sowie ISP / Organisation des Besuchers, sodass Sie ohne zusätzliche Einrichtung sehen, woher Ihre Leads kommen.
Einreichungen ansehen
Von der Formularseite aus
Öffnen Sie das Formular (/forms/view/{id}) und folgen Sie dem Link Einreichungen in der Seitenleiste. Sie sehen eine paginierte Liste mit einer Zeile pro Einreichung, die die nützlichsten Übersichtsfelder sowie das Einreichungsdatum zeigt.
Klicken Sie auf eine beliebige Zeile, um die vollständigen eingereichten Werte, Anhänge und Metadaten zu sehen.
Vom Profil eines Datensatzes aus (an Entität gebundene interne Formulare)
Wenn Sie das Profil eines Kontakts, Deals oder Tickets öffnen, sehen Sie die Einreichungen für diesen Datensatz unter dem Abschnitt jedes Formulars. Dasselbe Formular auf einem anderen Datensatz zeigt nur die Einreichungen dieses Datensatzes.
Die URL lautet /forms/internal/submissions/{formId}/{entityId}, nützlich als Deep Link.
Suchen, Filtern, Exportieren
Die Einreichungsliste unterstützt dieselben Steuerelemente wie andere Datensatzlisten in Flexie: Filtern nach Zeitraum, nach eingereichten Feldwerten, Sortieren nach Einreichungszeitpunkt und Export nach CSV, wenn Sie die Daten außerhalb von Flexie benötigen.
Löschen und erneutes Einreichen
Sie können eine einzelne Einreichung aus ihrer Detailansicht löschen. Das Löschen ist endgültig, es gibt kein Rückgängigmachen. Jeder Workflow, der bereits auf dieser Einreichung gelaufen ist, hat seine Wirkung bereits entfaltet; das Löschen der Zeile entfernt nur den Nachweis der Einreichung, nicht die Nebeneffekte (angelegte Datensätze, gesendete Nachrichten).
Es gibt keine Aktion „erneut einreichen". Wenn Sie den Workflow gegen die Daten einer gespeicherten Einreichung erneut ausführen müssen, ist das einfachste Muster, die gespeicherten Felder der Einreichung nachzuschlagen und Ihren Workflow manuell auszulösen.
Eine Einreichung in einem Skript auslesen
Die Feldwerte der Einreichung werden Ihren Workflow-Schritten über den Namespace __data bereitgestellt. Der genaue Pfad hängt von der Ausprägung ab:
| Formular-Ausprägung | Feld xyz auslesen als |
|---|---|
| Extern (öffentlich) | {{ __data.form_submission.xyz }} |
| Intern, an Entität gebunden | {{ __data.internal_form_submission.data.xyz }} |
| Intern, virtuell | {{ __data.internal_form_submission.data.xyz }} |
Beachten Sie die zwei Unterschiede:
- Den Wurzel-Schlüssel: extern verwendet
form_submission; beide internen Ausprägungen verwendeninternal_form_submission. - Extern legt die Felder direkt unter der Wurzel ab; intern verschachtelt sie unter einem
data-Unterschlüssel neben den Metadaten (__submitted_from_user_id).
Das erwischt jeden einmal. Wenn Ihr Token leer zurückkommt, ist dies die erste Stelle, die Sie prüfen sollten.
Klammer-Notation für Schlüssel mit Leerzeichen
Der Schlüssel eines Felds stammt standardmäßig aus seinem Label. Ein Feld mit dem Label „First Name" hat also wahrscheinlich den Schlüssel First Name, mit einem Leerzeichen und Großbuchstaben.
Ein Leerzeichen in einem Schlüssel bedeutet, dass Sie den Punkt-Zugriff nicht verwenden können, denn __data.form_submission.First Name wird von der Scripting-Engine als Eigenschaft namens First interpretiert, gefolgt von einem separaten Wort Name, das das Feld nicht ausliest.
Verwenden Sie die Klammer-Notation mit dem exakten Schlüssel in Anführungszeichen:
{# External public form #}
{{ __data.form_submission['First Name'] }}
{# Internal form #}
{{ __data.internal_form_submission.data['First Name'] }}
Dieselbe Regel gilt für jeden Schlüssel mit einem Bindestrich, mit gemischten Unterstrichen und Leerzeichen oder mit einem beliebigen nicht-alphanumerischen Zeichen.
Die gute Gewohnheit ist es, die Klammer-Notation für jeden Zugriff auf ein Formularfeld zu verwenden. Sie funktioniert immer, sie ist explizit und sie macht das Skript zukunftssicher, falls jemand ein Feld umbenennt und versehentlich ein Leerzeichen in den Schlüssel bringt.
Ein durchgespieltes Beispiel, externe Einreichung
Ein Formular hat drei Felder: First Name, Email, Notes. Ein Besucher reicht ein:
First Name = John
Email = john@example.com
Notes = Please call me back.
Ihr Workflow-Schritt liest sie so aus:
Hello {{ __data.form_submission['First Name'] }},
We've received your message:
"{{ __data.form_submission.Notes }}"
We'll reply to {{ __data.form_submission.Email }} shortly.
Zwei davon nutzen die Klammer-Notation; Notes und Email brauchen sie streng genommen nicht (keine Leerzeichen im Schlüssel), aber die konsistente Verwendung ist sicherer.
Ein durchgespieltes Beispiel, an Entität gebundene interne Einreichung
Dieselben Felder, eingereicht von einem Teammitglied auf dem Profil eines Kontakts:
Hi {{ first_name }}, {# the contact's own first_name #}
{{ __data.internal_form_submission.__submitted_from_user_full_name }} just left
a note about you on {{ date(__data.internal_form_submission.date_added, "M j, Y") }}:
"{{ __data.internal_form_submission.data['Notes'] }}"
Beachten Sie: Der first_name des Kontakts liegt auf der obersten Ebene (es ist der aktuelle Datensatz); der Name der einreichenden Person kommt aus den __submitted_from_user_*-Metadaten der Einreichung.
Angehängte Dateien auslesen
Anhänge werden nicht als skalare Werte bereitgestellt; sie liegen in einem separaten Anhang-Slot auf der Einreichung. Um in einem Schritt eine Liste der hochgeladenen Dateien zu erhalten (zum Beispiel, um sie in einer E-Mail weiterzuleiten):
{# External form #}
{% set files = __data.form_submission.attachments | default([]) %}
{% for f in files %}
{{ f.originalName }} ({{ f.size }} bytes)
{% endfor %}
Die genaue Form von
attachmentsist eine Liste von Objekten, die jeweils die gespeicherte URL, den ursprünglichen Dateinamen, den Typ und die Größe enthalten. Wenn Sie Anhänge an ein anderes System weiterleiten müssen, ist die gespeicherte URL der zu verwendende Wert.
Gegen fehlende Werte absichern
Eine einreichende Person kann optionale Felder leer lassen, oder ein Feld kann zwischen Einreichungen aus dem Formular entfernt werden. Sichern Sie immer ab:
{{ __data.form_submission['Notes'] | default("(no notes provided)") }}
{% if __data.form_submission['Email'] is defined and __data.form_submission['Email'] %}
Send to {{ __data.form_submission['Email'] }}
{% endif %}
Datenschutz und Aufbewahrung
Einreichungen können personenbezogene Daten enthalten (Namen, E-Mails, manchmal weit mehr). Zwei Dinge, die Sie beachten sollten:
- Standard-Grundlage: Jedes externe Formular muss eine Rechtsgrundlage für die Verarbeitung angeben (siehe Öffentliche Formulare: DSGVO und Rechtsgrundlage). Diese Grundlage wird mit jeder Einreichung festgehalten.
- Aufbewahrung: Es gibt keine automatische Löschung. Bauen Sie einen geplanten Workflow, falls Ihre Aufbewahrungsrichtlinie das Löschen alter Einreichungen verlangt, zum Beispiel einen monatlichen Lauf, der externe Einreichungen löscht, die in einem geschlossenen Formular älter als zwei Jahre sind.
Nächste Schritte
- Formulare in Workflows: die vollständige Referenz zu Listener und Aktion, mit dem Response-Muster.
- Öffentliche Formulare / Interne Formulare: die ausprägungsspezifischen Leitfäden.