- Einleitung
- Erste Schritte
- Prozessmodellierung mit BPMN
- Grundlagen der Prozessmodellierung
- Öffnen der Modellierungsarbeitsfläche
- Modellierung Ihres Prozesses
- Ausrichten und Verbinden von BPMN-Elementen
- Autopilot for Maestro (Vorschau)
- Prozess-Repository
- Prozessmodellierung mit Fallverwaltung
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Austrittsregeln und Beendigung der frühen Phase
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Verwalten von Live-Fallinstanzen: Anhalten, migrieren und wiederholen
- Eingabe- und Ausgabevertrag für den Fall Manager
- Maestro-Komponentenwörterbuch für die Fallverwaltung
- Prozessmodellierung mit Flow
- Prozessimplementierung
- Debugging
- Simulieren
- Veröffentlichen und Aktualisieren von agentischen Prozessen
- Häufige Implementierungsszenarien
- Extraktieren und Validieren von Dokumenten
- Prozessabläufe
- Prozessüberwachung
- Prozessoptimierung
- Referenzinformationen
Wie Daten zwischen Knoten über Knotenausgaben und -variablen fließen, mit Scope-Regeln für Unterflows und Verzweigungen.
Dieser Leitfaden umfasst Folgendes:
Knoten im Flow teilen nicht automatisch Daten. Wenn ein Knoten eine Ausgabe erzeugt – wie eine HTTP-Antwort oder einen berechneten Wert – greifen nachgelagerte Knoten explizit über Ausdrücke auf diese Ausgabe zu. Mit Variablen und Datenflüssen verknüpfen Sie Daten zwischen Knoten und speichern Werte in Ihrem Prozess.
Es gibt zwei Möglichkeiten, wie Daten durch einen Prozess verschoben werden:
- Knotenausgabe – Jeder Knoten erzeugt eine Ausgabe, auf die nachgelagerte Knoten verweisen können
- Variablen – Variablen auf Prozessebene, die Sie definieren, um Werte zwischen Knoten zu speichern und zu übergeben
Die vollständige Syntax für Ausdrücke, Operatoren und das Schreiben von $vars -Referenzen finden Sie unter Ausdruckssyntax.
Wie es funktioniert
Knotenausgabe
Jeder Knoten, der Daten erzeugt, stellt diese über $vars.<nodeName>.output zur Verfügung. Der Knotenname wird basierend auf dem Knotentyp automatisch zugewiesen – z. B. heißt der erste HTTP-Anforderungsknoten httpRequest1, der zweite httpRequest2.
Sie können den Variablennamen eines Knotens im Eigenschaftenbereich sehen, wenn der Knoten ausgewählt ist.
// Access HTTP Request response
$vars.httpRequest1.output.body
$vars.httpRequest1.output.statusCode
// Access Script return value
$vars.script1.output
// Access a second HTTP Request
$vars.httpRequest2.output.body
// Access HTTP Request response
$vars.httpRequest1.output.body
$vars.httpRequest1.output.statusCode
// Access Script return value
$vars.script1.output
// Access a second HTTP Request
$vars.httpRequest2.output.body
Die Ausgabestruktur hängt vom Knotentyp ab. Auf der Referenzseite jedes Knotens finden Sie seine spezifische Ausgabeform.
Variablen
Variablen sind Werte auf Prozessebene, die für die Dauer einer einzelnen Ausführung bestehen bleiben. Sie definieren sie im Bereich Variablen.
Jede Variable hat:
- Name – wie Sie in Ausdrücken darauf verweisen (z. B.
$vars.orderTotal) - Typ – String, Zahl, Boolescher Wert, Objekt oder Array
Variablen auf Prozessebene sind immer bidirektional – jeder Knoten kann sie lesen oder schreiben. Es gibt keine Richtungseinstellung zum Konfigurieren. Ein schreibgeschützter oder schreibgeschützter Wert stammt aus einer Triggereingabe oder einer Ausgabevariablen, wie unten beschrieben.
Flow trennt diese drei Arten von Daten, wo Sie sie definieren:
| Art | Definiert in | Richtung | Referenzsyntax |
|---|---|---|---|
| Variable | Variablen-Panel | Bidirektional (Lesen und Schreiben) | $vars.<name> |
| Triggereingabe | Auf dem Triggerknoten | Schreibgeschützt | $vars.<triggerName>.output.<name> |
| Ausgabevariable | Auf einem Endknoten | Schreibgeschützt | $vars.<name> |
Wann Variablen im Vergleich zu Knotenausgaben verwendet werden sollten:
- Die Knotenausgabe passt zu Daten, die von einem Knoten zum nächsten wechseln. Dies ist das gängigste Muster.
- Variablen entsprechen Werten, die während des gesamten Prozesses zugänglich sein müssen.
- Eingaben und Ausgaben entsprechen Werten, die definieren, was der Prozess selbst erhält oder zurückgibt – siehe Trigger-Eingaben und Ausgabevariablen unten.
Klare Benennung von Variablen: Beschreibende Namen in Kleinbuchstaben mit Bindestrichen oder BinnenMajuskel – wie z. B. customerEmail, invoiceTotal, apiResponse – bleiben im Laufe der Zeit in den Ausführungsablaufverfolgungen lesbar. Namen und Abkürzungen, die aus einem einzigen Buchstaben bestehen, verlieren schnell an Bedeutung.
Trigger-Eingaben
Eingabevariablen werden nicht im Abschnitt Variablen definiert – sie werden direkt auf den Eingaben eines Triggerknotens hinzugefügt, wodurch sie schreibgeschützt sind. Wenn ein Trigger ausgelöst wird, sind seine Eingaben als $vars.<triggerName>.output.<inputName> verfügbar:
// Access an input defined on a Manual Trigger named "manualTrigger1"
$vars.manualTrigger1.output.userId
// Access an input defined on a Manual Trigger named "manualTrigger1"
$vars.manualTrigger1.output.userId
Dies gilt für alle Triggertypen. Wenn Ihr Prozess über mehrere Trigger verfügt, besitzt jeder Trigger seine eigenen Eingaben – nachgelagerte Knoten verweisen auf den spezifischen Trigger, der die Ausführung gestartet hat.
Ausgabevariablen
Ausgabevariablen stellen das Ergebnis des Prozesses dar. Sie fügen sie direkt auf einem Endknoten hinzu, nicht im Bereich Variablen, wodurch sie nur zum Schreiben verwendet werden.
// Access an output variable named "finalStatus"
$vars.finalStatus
// Access an output variable named "finalStatus"
$vars.finalStatus
Jede Ausgabevariable hat:
- Name – wie Sie in Ausdrücken darauf verweisen (z. B.
$vars.finalStatus) - Datentyp – String, Zahl, Boolescher Wert, Objekt oder Array
- Beschreibung – eine optionale Anmerkung dazu, was der Wert darstellt
- Standardwert – ein optionales Fallback, das verwendet wird, wenn die Variable nicht festgelegt wird
Der Wert einer Ausgabevariablen wird auf die gleiche Weise wie jede andere Variable festgelegt – im Abschnitt Variable aktualisieren eines Knotens oder als Rückgabewert eines Skriptknotens.
Variablendefinitionen
Variablendefinitionen sind live im Variablenbereich verfügbar. Jede Definition speichert den Variablennamen und -typ, damit während einer Ausführung konsistent auf den Wert verwiesen werden kann.
Aktualisierungen von Variablen
Variablen können durch die Knotenkonfiguration oder durch die Skriptknotenausgabe aktualisiert werden.
Von einem beliebigen Knoten – Abschnitt „Variable aktualisieren“.
Jeder Knoten verfügt über einen Abschnitt Variable aktualisieren im Eigenschaftenbereich. Der Abschnitt speichert ein beschreibbares Variablenziel – eine Prozessvariable oder eine Ausgabevariable – und den diesem zugewiesenen JavaScript-Ausdruck. Der Ausdruck wird ausgewertet, nachdem der Knoten abgeschlossen ist.
Von einem Skriptknoten – Rückgabewert
Der Rückgabewert eines Skriptknotens ist später als $vars.<scriptName>.output zugänglich. Der Skriptknoten verfügt außerdem über den gleichen Abschnitt Variable aktualisieren wie andere Knoten für direkte Variablenschreibungen:
// The return value becomes $vars.script1.output
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity
};
// The return value becomes $vars.script1.output
return {
orderTotal: $vars.httpRequest1.output.body.price * $vars.httpRequest1.output.body.quantity
};
Scope-Regeln
Ein Knoten kann auf die Ausgabe zugreifen von:
- Vorgelagerte Knoten im selben Scope – Knoten auf der gleichen Ebene wie zuvor ausgeführt
- Übergeordnete Containerknoten – Wenn sich der Knoten in einem Unterflow oder einer Schleife befindet, kann er auf den Scope des übergeordneten Elements zugreifen
Ein Knoten kann nicht auf die Ausgabe von:
- Knoten in einer anderen Verzweigung – Wenn eine Entscheidung oder ein Switch die Ausführung über einen anderen Pfad gesendet hat, ist die Ausgabe dieser Knoten nicht verfügbar
- Knoten, die nicht ausgeführt wurden – Die Ausgabe ist erst vorhanden, nachdem ein Knoten ausgeführt wurde
Unterflow-Scoping
Unterflows erstellen ihren eigenen Variablen-Scope. Knoten innerhalb eines Unterflows können auf Folgendes zugreifen:
- Andere Knoten innerhalb desselben Unterflows
- Der Scope des übergeordneten Prozesses
Variablen, die in einem Unterflow aktualisiert werden, erhalten einen Namespace, um Konflikte mit dem übergeordneten Prozess zu vermeiden. Zum Beispiel wird auf eine Variable counter innerhalb eines Unterflows mit dem Namen subflow1 als $vars.subflow1.counter von außerhalb des Unterflows verwiesen.
Der Rückgabewert des Unterflows ist für den übergeordneten Prozess als $vars.<subflowName>.output zugänglich.
Parallele Zweige
Parallele Zweige haben unabhängige Ausführungskontexte. Wenn eine Variable innerhalb einer Verzweigung verändert wird, wird diese Änderung nicht in einer anderen Verzweigung sichtbar. Ein Zusammenführungsknoten konsolidiert Ausgaben von parallelen Pfaden, wenn die Pfade erneut zusammengeführt werden müssen.
Muster
Erstellen dynamischer Strings
Vorlagenliterale in einem Skriptknoten kombinieren Variablen und statischen Text:
return `Hello ${firstName}, your order #${orderId} has shipped.`;
return `Hello ${firstName}, your order #${orderId} has shipped.`;
Summieren von Werten in einer Schleife
Ein Laufzeitmuster verwendet ein Array, das vor dem Schleifenknoten initialisiert und innerhalb des Schleifenkörpers angefügt wurde:
// Script node inside the Loop body
results.push(item.processedValue);
return results;
// Script node inside the Loop body
results.push(item.processedValue);
return results;
Halten von geheimen Werten aus Protokollen heraus
Geheime Variablenwerte werden in der Benutzeroberfläche maskiert, können aber in exportierten Ablaufverfolgungsdaten angezeigt werden. Ihre Protokollierung gefährdet die Daten gefährden.
Beispiel aus der Praxis
Ein Prozess, der einen Benutzer von einer API abruft und basierend auf seiner Rolle weiterleitet:
Schritt 1 – HTTP-Anforderung (httpRequest1): GET https://api.example.com/users/42
Schritt 2 – Skript (script1): Extrahieren Sie die Rolle des Benutzers
const user = $vars.httpRequest1.output.body;
return {
name: user.name,
role: user.role,
isAdmin: user.role === "admin"
};
const user = $vars.httpRequest1.output.body;
return {
name: user.name,
role: user.role,
isAdmin: user.role === "admin"
};
Schritt 3 – Entscheidung (decision1): Verzweigen nach Administratorstatus
Ausdruck: $vars.script1.output.isAdmin === true
- True → Administratorzugriff gewähren
- False → Standardzugriff gewähren
Zugehörige Seiten
- Ausdruckssyntax –
$vars-Graph, Operatoren, wo Sie Ausdrücke schreiben, häufige Fehler - Skriptknoten – Schreiben von JavaScript, Rückgabewerte,
$vars-Zugriff - Entscheidungsknoten – Verzweigung von Ausdrücken
- Der Canvas – Eigenschaftenbereich, Variablenbereich
- Dieser Leitfaden umfasst Folgendes:
- Wie es funktioniert
- Knotenausgabe
- Variablen
- Trigger-Eingaben
- Ausgabevariablen
- Variablendefinitionen
- Aktualisierungen von Variablen
- Scope-Regeln
- Unterflow-Scoping
- Parallele Zweige
- Muster
- Erstellen dynamischer Strings
- Summieren von Werten in einer Schleife
- Halten von geheimen Werten aus Protokollen heraus
- Beispiel aus der Praxis
- Zugehörige Seiten