Startseite Prozess-Engine
🔄

Prozess-Engine

Colin Portisch Aleksandra Mijalcic
Von Colin Portisch und Aleksandra Mijalcic
4 Artikel

Prozess-Engine: Datenübernahme von Formularfeldern

In diesem Artikel erfahren Sie, wie Sie mittels der Prozess-Engine, Daten aus einem ausgefüllten Formular / Dokument automatisch in ein nachfolgendes Dokument übertragen können. Mögliche Anwendungsfälle Diese ist zum Beispiel in folgenden Szenarien sinnvoll: Wenn Sie komplexe Freigabeprozesse abbilden möchten, bei denen der erste Empfänger die Felder nachfolgender Empfänger nicht sehen soll – etwa weil es sich um vertrauliche Prüfkriterien handelt. Wenn nachfolgende Empfänger noch nicht zum Zeitpunkt des Dokumentenversands bekannt sind, sondern erst durch den ersten Empfänger angegeben werden. Wenn ein automatisch erstelltes Dokument – zum Beispiel ein Vertrag – Daten aus einem vorangegangenen Formular übernehmen soll Das Fallbeispiel Der in diesem Artikel beschriebene Anwendungsfall ist der folgende: Eine Person füllt einen Urlaubsantrag aus. Alle eingesammelten Daten werden in ein zweites Dokument übertragen, in dem der Genehmiger anschließend seine Prüffelder ausfüllt. In diesem Beispiel ist der Genehmiger immer die gleiche Person und kann somit fest definiert werden. 💡 Mehrere Empfänger bzw. ein Genehmiger lässt sich natürlich auch in einen Standard-Workflow integrieren. Die Prozess-Engine kommt hier nur zum Einsatz, damit der Antragsteller die Prüffelder nicht einsehen kann. Sobald das Formular abgeschickt wird, erstellt die Prozess-Engine automatisch ein neues Dokument, basierend auf einem Template. Alle relevanten Daten aus dem Formular werden direkt in dieses Dokument übertragen. Der Genehmiger erhält das Dokument per E-Mail, sieht die bereits ausgefüllten Daten und muss nun seine Prüffelder ausfüllen. Voraussetzungen & wichtige Regeln 1) Rechte Damit Sie Prozesse zuverlässig anlegen/konfigurieren können, brauchen Sie ausreichende Rechte im Workspace (in der Praxis: Workspace-Inhaber). 2) Slugs sind die „Schlüssel“ für die Datenübernahme Die Datenübernahme passiert über den technischen Namen (Slug) eines Feldes. Diese Slugs müssen im Formular und im Template identisch sein, sonst werden Werte nicht übernommen. 3) Editierbare Felder einstellen Wenn übernommene Felder im Folge-Dokument nicht editierbar sein sollen, dann legen Sie diese Felder im Template ohne Empfänger-Zuweisung an (keinem Teilnehmer zugewiesen). Zusätzliche Felder, die im Folge-Dokument ausgefüllt werden sollen (z. B. „Freigabe erteilt“), weisen Sie einem Teilnehmer zu. Schritt-für-Schritt Anleitung Schritt 1: Formular erstellen Erstellen Sie ein Formular mit allen notwendigen Feldern Ändern Sie den Namen des Empfängers z.B in "Antragsteller" Vergeben Sie passende Slugbezeichnungen 💡 Hinweise zur Vergabe von Slugs: Slugs werden automatisch generiert, können aber angepasst werden. Verwenden Sie für Slugs ausschließlich Kleinbuchstaben und Unterstriche. Umlaute und Sonderzeichen können zu Fehlern führen. Schritt 2: Template erstellen Ziel: Das Template enthält alle Felder, die der Antragsteller ausfüllen soll (mit exakt den gleichen Slugs) inklusive der Prüffelder des Genehmigers. Erstellen Sie auf Basis des Formulars ein Template Hier erfahren Sie, wie Formularfelder schnell und einfach in Templates kopiert werden können Entfernen Sie die Empfänger-Zuweisung der Felder 💡 Damit der Empfänger die übernommenen Angaben nicht ändern kann, darf im Template kein Empfänger für die jeweiligen Felder zugewiesen sein. Der Zugewiesen-Status kann durch Öffnen des Dropdowns und Maus-Hover über das Icon auf der linken Seite neben dem Empfängernamen entfernt werden. Schritt 3: Umsetzung des Prozesses Der Prozess soll so konfiguriert werden, dass nach Abschluss des Urlaubsantrags ein Dokument auf Basis des Templates mit den Prüffeldern erstellt wird. Der Startpunkt des Prozesses ist somit der Abschluss des Formulars Urlaubsantrag. Erstellen Sie im Prozess-Tab in Paperless einen neuen Prozess über den Button + Prozess erstellen mit dem Trigger Bei Abschluss eines bestimmten Formulars. Wählen Sie anschließend Ihr Formular aus. Schritt 4: Node „Dokument hinzufügen“ konfigurieren Da nach Abschluss des Formulars das Dokument mit den Prüffeldern verwendet werden soll. Wird im nächsten Prozess-Schritt das Dokument hinzugefügt. Klicken Sie auf das + unterhalb des Startpunkts, anschließend öffnet sich ein Fenster mit möglichen Prozessschritten. Wählen Sie hier Dokument hinzufügen aus. Konfiguration der einzelnen Dokumentenfelder 1. Template: Ihr zuvor erstelltes Template 2. Workspace: Workspace in dem das Template liegt 3. Nutzer : Name, welcher als Absender des Dokuments verwendet wird 4. Direkt versenden: Auf Aktiv stellen 💡 Dieser Prozess-Use-Case funktioniert nur korrekt, wenn das Dokument direkt versendet wird. Hintergrund: Wenn „Direkt versenden“ deaktiviert ist, landet das Dokument in den Entwürfen – in dieser Konstellation funktioniert die Datenübernahme nicht. 5. Name des Dokuments: Bestimmen Sie einen Dokumenten-Namen z.B Prüfung Urlaubsantrag Dokumentennamen können auch dynamisch generiert werden. nodes.start.blocks.vorname.value + " " + nodes.start.blocks.nachname.value + " Urlaubsantrag" Dokumentenname: Max Mustermann Urlaubsantrag In diesem Beispiel würde der Vorname und Name des Ausfüllenden in den Dokumentennamen übernommen werden. 6. Empfänger: Hier definieren Sie, wer das Dokument erhalten soll. In unserem Beispiel ist der Empfänger immer dieselbe Person, weswegen wir seine E-Mail direkt im Template hinzufügen können. Wenn der Empfänger stets dieselbe Person ist, kann dieser im Template bereits im Voraus festgelegt werden. Öffnen Sie dazu das jeweilige Template im Editor und klicken Sie auf „Empfänger“. Aktivieren Sie anschließend die Option „Vorbelegen“. Daraufhin können Sie den Namen sowie die E-Mail-Adresse der entsprechenden Person hinterlegen. Zusätzlich besteht im Bereich „Angepasste E-Mail“ die Möglichkeit, eine individuelle Nachricht für diesen Empfänger zu definieren. Alternativ können auch dynamische Empfänger hinzugefügt werden, die zum Beispiel aus Angaben innerhalb des Formulars stammen. Hier kommen Sie zum Help-Center Artikel zu dynamischen Empfängern Die Punkte 7. Platzhalter und 8. Blöcke werden für diesen Anwendungsfall nicht benötigt. 9. Daten übernehmen: Hier findet die eigentliche Magie statt: Die Übertragung der Inhalte. Damit die Datenübernahme funktioniert, müssen die Slugs der Felder, wie Sie bereits wissen im Formular und im Template identisch sein. Sie haben drei Möglichkeiten, die Übernahme zu steuern: Option A: Alle passenden Felder übernehmen Dies ist die einfachste Methode. Alle Felder mit identischem Slug werden automatisch befüllt. [   {     submission_id: nodes.start.submission.id,     slugs: { all: true }   } ] 💡Hinweis: Dieser Code ist bereits beispielhaft im Prozess hinterlegt. Um ihn verwenden zu können, müssen Sie die Code Zeilen "auskommentieren" - sprich die Slash-Zeichen entfernen. Option B: Alle Felder übernehmen - außer spezifische Ausnahmen Nutzen Sie diesen Code, wenn fast alles übernommen werden soll, außer z.B sensible Daten wie interne Notizen. [   {     submission_id: nodes.start.submission.id,     slugs: { except: ['interne_notiz', 'gehalt'] }   } ] Option C: Nur explizit genannte Felder übernehmen Wenn sie nur einzelne ausgewählte Daten übernehmen möchten können Sie den folgenden Code verwenden. [   {     submission_id: nodes.start.submission.id,     slugs: { only: ['vorname', 'nachname', 'abteilung'] }   } ] Häufige Fehler & Troubleshooting 1) „Teilnehmer wurde angelegt, aber Felder wurden nicht übernommen“ Fast immer: Slug im Formular ≠ Slug im Template (Tippfehler, andere Benennung, Groß-/Kleinschreibung). 09-input-blocks Fix: Slugs abgleichen und neu testen. 2) „Im Code ist alles grün / Kommentar – ich bekomme Fehler“ Im Code-Editor sind Zeilen mit // Kommentare. Kommentare werden nicht ausgeführt. Sobald Sie aber „Pseudo-Code“ als echten Code einfügen, gibt es Fehler. 3) Prozess lässt sich nicht sauber anlegen / Trigger-Auswahl fehlt / UI wirkt „kaputt“ Das kann an fehlenden Workspace-Rechten liegen. Stellen Sie sicher, dass Sie die nötige Rolle (praktisch: Workspace-Inhaber/Owner) haben. 4) Dokument wird erstellt, aber bleibt Entwurf und Prozess wirkt „unvollständig“ Prüfe im Node: Direkt versenden muss aktiv sein

Zuletzt am 03. Juni aktualisiert

Prozess-Engine: Bedingte Logik und Verzweigungen

In diesem Artikel erfahren Sie, wie Sie die Prozess-Engine nutzen können, um Workflows basierend auf Eingaben in Formularen oder Dokumenten in verschiedene Richtungen zu lenken. So können Sie automatisierte Aktionen – wie den Versand einer E-Mail oder eines Dokuments – gezielt an die Eingabe Ihrer Empfänger anpassen. Fallbeispiel Stellen Sie sich folgendes folgendes Szenario vor: Ein Nutzer füllt ein Mitgliedsformular einer Wohngenossenschaft aus und gibt an, ob er schon Angehörige als Mitglied in der Genossenschaft hat. Wir gehen davon aus, dass die Wohngenossenschaft Neuanmeldungen ablehnt, wenn der Anfragende keine Angehörige in der Wohngenossenschaft hat. Je nach Auswahl soll der Prozess automatisch: bei der Auswahl Ja ein Dokument (wie zum Beispiel ein Vertrag) an den Ausfüllenden gesendet werden bei der Auswahl Nein eine Ablehnungs-E-Mail versendet werden Visuelle Darstellung des Prozesses In der Prozess-Engine wird dies mithilfe eines Bedingungs-Knotens (Condition Node) umgesetzt. Dieser wird direkt nach dem Startformular in den Workflow eingefügt und prüft die Eingabe des Nutzers – je nach Ergebnis verzweigt der Prozess automatisch in die entsprechende Richtung. Startpunkt: Formular "Bedingung" wurde abgeschlossen. Bedingung: Prüfung der Eingabe. Ausgänge: Der Prozess verzweigt sich in die Pfade "Hat Angehörige" oder "Hat keine Angehörige". Schritt-für-Schritt Anleitung Schritt 1: Formular korrekt vorbereiten Damit die Bedingung funktioniert, muss das Formular sauber vorbereitet sein. Erstellen Sie im Formular ein Feld, z. B.: Feldtyp: Radio-Button oder Dropdown Label: „Sind Angehörige von Ihnen Mitglied in der Wohngenossenschaft?“ Slug (technischer Name): angehoerige Optionen: „Ja“ → Slug: angehoerige_ja „Nein“ → Slug: angehoerige_nein Schritt 2: Prozess erstellen Prozess anlegen Der Prozess soll so konfiguriert werden, dass je nach Auswahl im Formular entweder eine E-Mail mit der Absage oder ein Folge-Dokument versendet werden sollen. Der Startpunkt des Prozesses ist somit der Abschluss des Formulars. Umsetzung der Bedingung Klicken Sie auf das + unterhalb des Startpunkts, anschließend öffnet sich ein Fenster mit möglichen Prozessschritten. Wählen Sie hier unter Ablauf die Bedingung aus. Der Bedingungs-Knoten wertet die Formulareingabe des Nutzers aus und entscheidet, welcher Pfad im Workflow als nächstes ausgeführt wird. Legen Sie im Bedingungs-Knoten zwei Ausgänge an: Hat Angehörige Hat keine Angehörige Der Code-Baustein Für die Konfiguration der Ausgänge wir der folgende Java-Script-Code verwendet: if (nodes.start.blocks.angehoerige.options.angehoerige_ja.selected) {   ['Hat Angehoerige'] } else {   ['Hat keine Angehoerige'] } Erklärung des Codes nodes.start: Greift auf das Formular des Startpunkt-Knotens mit dem Slug start zu. .blocks.angehoerige: Spricht das spezifische Feld (Radio-Button oder Checkbox) mit dem Slug angehoerige an. .options.angehoerige_ja.selected: Prüft, ob die Option mit dem Slug angehoerige_ja ausgewählt wurde. Wenn true → Rückgabe ['Hat Angehörige'] Wenn false → Rückgabe ['Hat keine Angehörige'] Wichtige Hinweise für die Konfiguration Übereinstimmung der Namen: Die Ausgänge, die Sie im Code zurückgeben(z.B. Hat Angehörige), müssen exakt so in der Nutzeroberfläche des Knotens angelegt sein Keine Umlaute bei Slugs: Verwenden Sie bei den Slugs keine Umlaute (nutzen Sie ae statt ä), um Fehler in der Verarbeitung zu vermeiden. Weiterführende Möglichkeiten Dieses Beispiel fokussiert sich auf die Logik der Bedingung. Sie können den Prozess nach der Verzweigung beliebig weiterführen. Im beschriebenen Beispiel würde hier das Anlegen der E-Mail Node sowie der Dokumenten Node folgen. Lernen Sie hier, wie Sie mit der E-Mail Node arbeiten. Lerne Sie hier, wie Sie mit der Dokumenten Node arbeiten. Möchten Sie mehr über komplexe Bedingungen erfahren oder benötigen Sie Hilfe bei der Einrichtung eines Prozesses? Kontaktieren Sie unser Support-Team oder schauen Sie in unsere weiteren Help-Center Artikel

Zuletzt am 03. Juni aktualisiert

Prozess Engine: Dynamische Empfänger

In diesem Artikel lernen Sie, wie Sie in der Prozess-Engine Empfänger für E-Mails und Dokumente dynamisch aus vorherigen Dokumenten / Formularen übernehmen können. Mögliche Anwendungsfälle Stellen Sie sich folgenden Prozess vor: Eine Person (Antragsteller) füllt ein Formular aus und gibt seinen direkten Vorgesetzten an Der Antragsteller erhält automatisch eine individuelle Abschluss-Mail Der im Formular angegebene Vorgesetzte erhält das Folgedokument zur Sigantur In den folgenden Schritten zeigen wir Ihnen, wie Sie sowohl den Antragsteller dynamisch setzen können als auch den im Formular angegebenen Vorgesetzten. 💡 Dynamische Inhalte werden mittels JavaScript definiert. Diese Möglichkeit lässt sich mit einem Klick auf das Code-Zeichen </> aktivieren. Variante 1: Mail an den Antragsteller senden Empfänger-E-Mail konfigurieren Verwenden Sie den folgenden Code, um auf die E-Mail Adresse des Antragstellers zuzugreifen: nodes.start.participants["Antragsteller"].email Erklärung des Codes nodes.start – greift auf das Startformular des Prozesses zu .participants["Antragsteller"] – spricht den Teilnehmer mit diesem Namen an. "Antragsteller" ist die Rollenbezeichnung des Empfängers in den Formular-Einstellungen. .email – gibt die E-Mail-Adresse dieses Empfängers zurück 💡Enthält der Empfängername ein Leerzeichen (wie „Primärer Ausfüller") muss zwingend die oben genannte Schreibweise mit ["..."] verwendet werden. Bei Namen ohne Leerzeichen (z. B. Antragsteller) funktioniert auch die Punkt-Notation: nodes.start.participants.antragsteller.email Anschließend können Sie Betreff und Nachrichtentext frei gestalten. Variante 2: E-Mail Adresse aus einem Formularfeld übernehmen Wenn das Dokument an eine Person gesendet werden soll, deren Daten im Formular eingetragen wurden, definieren Sie die Teilnehmer über ein JavaScript-Objekt im Dokument hinzufügen-Node. Voraussetzung: Felder im Formular anlegen Erstellen Sie im Formular zwei Texteingabe-Felder für den Namen des Empfängers und die E-Mail Adresse des Empfängers. Code-Beispiel: Im Dokument hinzufügen-Node finden Sie unter Empfänger bereits einen Beispiel Code, den Sie wie folgt anpassen müssen, um den Empfänger "Vorgesetzter" im Dokuments mit den Daten aus dem Formular zu befüllen: const participants = {   Vorgesetzter: {     name: nodes.start.blocks.empfaenger_name.value,     email: nodes.start.blocks.empfaenger_email.value,     receive_submission_completed_mail: false,     dispatch_strategy: "email"   } } participants; Erklärung der Parameter: Vorgesetzter: Der Name der Rolle, die im Template hinterlegt ist. name / email: Hier greifen wir mit nodes.start.blocks.[slug].value auf die Eingaben aus dem vorherigen Formular zu. dispatch_strategy: Legt fest, dass das Dokument per E-Mail versendet wird.

Zuletzt am 28. Mai aktualisiert

Prozess Engine: E-Mail Node

Die E-Mail Node ermöglicht es Ihnen, innerhalb eines automatisierten Prozesses E-Mails zu versenden – ohne manuellen Aufwand und vollständig integriert in den Prozessablauf. Die E-Mail Node wird im Flow-Editor wie jeder andere Schritt platziert und löst den E-Mail-Versand genau dann aus, wenn der Prozess diesen Punkt erreicht. Konfiguration der E-Mail-Node 💡Einige Felder können statisch oder dynamisch gesetzt werden. Dynamische Inhalte werden mittels JavaScript definiert. Diese Möglichkeit lässt sich mit einem Klick auf das Code-Zeichen </> aktivieren. 1. Name: Name der Node 2. Absender Name (Von): Absender Name der Person, von der die Mail versandt wird. 3. Antwort-Email (Reply-To): Antwort E-Mailadresse, an die Antworten auf die Mail gesendet werden 4. Empfänger-Email (An): Der Empfänger kann statisch oder dynamisch gesetzt werden. Verschiedene Optionen dynamische Empfänger zu hinterlegen z.B. aus vorher ausgefüllten Formularen / Dokumenten finden Sie in dem folgendem Artikel: 03 Prozess Engine: Dynamische Empfänger 5. Betreff: Kann ebenfalls statisch oder dynamisch gesetzt werden. Über die Variable nodes.start.blocks greifen Sie auf die Blöcke vorheriger Nodes zu. Wenn der Empfänger beispielsweise vorher ein Formular ausgefüllt hat, wo er seinen Namen angegeben hat, könnte der JavaScript Code um den Betreff "Wichtige Information für [Name]" folgendermaßen aussehen: "Wichtige Information für " + nodes.start.blocks.name.value nodes.start.blocks.name: Spricht das spezifische Feld (in diesem Fall ein Textblock) mit dem Slug name an. Nachricht: Kann statisch oder dynamisch gesetzt werden. Ähnlich wie bei dem Betreff können hier individuelle Nachrichten erstellt werden, die auf Informationen aus vorherigen Dokumenten oder Formularen basieren. nodes.start.blocks.name: Spricht das spezifische Feld (in diesem Fall ein Textblock) mit dem Slug name an. nodes.start.tokens.beruf: Spricht einen spezifischen Platzhalter mit dem Slug beruf an. nodes.start.participants["Antragsteller"].email: Spricht die E-Mailadresse des Empfängers mit der Rollenbezeichnung "Antragsteller" an. Anhänge: Hier können Anhänge, die der Mail hinzugefügt werden, definiert werden. Code-Beispiele befinden sich im Code-Editor und können mit true oder false aktiviert oder deaktiviert werden. Hier lassen sich beispielsweise Dokumente ohne Audit Trails versenden oder in einem Dokument hochgeladene Dateien separat in der E-Mail anhängen.

Zuletzt am 28. Mai aktualisiert