- 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
- Entwerfen eines persistenten Fallentitätsschemas
- 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
- 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 auf der Registerkarte Variablen des Eigenschaftenbereichs.
Jede Variable hat:
- Name – wie Sie in Ausdrücken darauf verweisen (z. B.
$vars.orderTotal) - Typ – String, Zahl, Boolescher Wert, Objekt oder Array
- Richtung – Eingabe, Ausgabe oder bidirektional
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 eignen sich für Werte, die im gesamten Prozess zugänglich sein müssen, oder für Werte, die Eingaben und Ausgaben für den Prozess selbst definieren.
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 befinden sich im Besitz ihres Triggers, nicht des Prozesses. 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.
Variablendefinitionen
Variablendefinitionen sind auf der Registerkarte Variablen (Variables) des Eigenschaftenbereichs live zu finden. Jede Definition speichert den Variablennamen, den Typ und die Richtung, damit auf den Wert während einer Ausführung konsistent 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. Im Abschnitt werden ein beschreibbares Variablenziel (Ausgabe- oder bidirektionale Richtung) und der diesem zugewiesene JavaScript-Ausdruck gespeichert. 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 Eigenschaftenbereich der Arbeitsfläche – Registerkarte Variablen
- Dieser Leitfaden umfasst Folgendes:
- Wie es funktioniert
- Knotenausgabe
- Variablen
- Trigger-Eingaben
- 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