Skip to Content

UserTaskInstance

Laufzeitdaten · Antwort von userTasks.query · Engine 20.10.0-insiders.11

Eine konkrete User Task in einer Prozessinstanz. userTasks.query liefert sie innerhalb von UserTaskList.userTasks.

userTasks.query → UserTaskList.userTasks[] → UserTaskInstance → UserTaskConfig.formFields

JSON Schema herunterladen

SHA-256: 40d6a648e6777885… Schema öffnen · Beispiel öffnen

JSON Schema

Engine 20.10.0-insiders.11 · UserTaskInstance

Datei wird geladen …

JSON-Datei öffnen

Wofür brauche ich diesen Typ?

Lies userTaskConfig.formFields für die Aufgabenoberfläche und übergib flowNodeInstanceId an finishUserTask. flowNodeId bezeichnet dagegen den Knoten im BPMN-Modell. User Task abfragen und abschließen.

Die Seite beschreibt das JSON der Engine. Der TypeScript Client wandelt Zeitstempel wie startedAt in Date um. Optionale JSON-Felder können fehlen oder null sein; der statische SDK-Typ bildet nicht jede Laufzeitvariante ab.

Die wichtigen Felder

  • flowNodeInstanceId · string · erforderlich
    Kennung dieser konkreten Task-Ausführung. Als erstes Argument an finishUserTask übergeben.

  • flowNodeId · string · erforderlich
    ID des User-Task-Knotens im BPMN-Modell. Mehrere Ausführungen dieses Knotens haben unterschiedliche flowNodeInstanceId-Werte.

  • flowNodeType · bpmn:UserTask · erforderlich
    BPMN-Typ des ausgeführten Knotens. Der User-Task-Client filtert Abfragen auf diesen Typ.

  • state · FlowNodeInstanceState · erforderlich
    Ausführungszustand. Eine wartende Aufgabe hat den Wert suspended.

  • processInstanceId · string · erforderlich
    ID der Prozessinstanz, zu der diese Aufgabe gehört. Zum Filtern von userTasks.query verwendbar.

  • userTaskConfig · UserTaskConfig · erforderlich
    Nach Auswertung der Flow-Node-Ausdrücke gültige Konfiguration. Für die aktuelle Aufgabenoberfläche verwenden.

  • userTaskConfigModel · UserTaskConfigModel · erforderlich
    Konfiguration in der Form, in der sie am BPMN-Knoten modelliert wurde. Ausdrücke können hier noch unausgewertet sein.

  • actualOwnerId · string | null · optional
    ID des Benutzers, der die Aufgabe reserviert hat. Fehlt vor einer Reservierung.

  • assignedUserIds · array | null · optional
    Optional zugewiesene Benutzer-IDs der Aufgabe.

  • finishedByUserId · string | null · optional
    ID des Benutzers, der die Aufgabe abgeschlossen hat. Bei einer wartenden Aufgabe nicht vorhanden.

Weitere Felder und geerbte FlowNodeInstance-Felder anzeigen

  • flowNodeName · string | null · optional
    Anzeigename des BPMN-Knotens, falls im Modell vorhanden.

  • flowNodeLane · string | null · optional
    Lane des BPMN-Knotens. Sie kann zugleich ein benötigter IAM-Claim für den Zugriff auf die Aufgabe sein.

  • eventType · string | null · optional
    Ereignisart eines Event-Knotens. Bei einer User Task normalerweise nicht vorhanden.

  • previousFlowNodeInstanceId · string | null · optional
    ID der unmittelbar vorher ausgeführten Flow-Node-Instanz, sofern vorhanden.

  • parentProcessInstanceId · string | null · optional
    ID der übergeordneten Prozessinstanz bei einem Subprozess; kann null sein.

  • processDefinitionId · string · erforderlich
    ID der deployten Prozessdefinition, zu der diese Aufgabe gehört.

  • processModelId · string · erforderlich
    ID des ausgeführten Prozessmodells.

  • embeddedProcessModelId · string | null · optional
    ID des eingebetteten Prozessmodells bei einem Subprozess, falls vorhanden.

  • processModelName · string | null · optional
    Anzeigename des Prozessmodells, falls verfügbar.

  • correlationId · string · erforderlich
    Korrelations-ID, über die zusammengehörige Prozessinstanzen verbunden sind.

  • startToken · object · erforderlich
    Prozessdaten beim Eintritt in die Aufgabe. Die Fachfelder bestimmt das Prozessmodell.

  • endToken · object | null · optional
    Prozessdaten nach Ausführung der Aufgabe; bei wartenden Aufgaben normalerweise nicht vorhanden.

  • ownerId · string · erforderlich
    ID des Besitzers der Flow-Node-Instanz. Nicht mit actualOwnerId der Reservierung verwechseln.

  • error · object | null · optional
    Fehlerdaten bei einer fehlgeschlagenen Ausführung; im Erfolgsfall möglicherweise null.

  • startedAt · string | null · optional
    Startzeit als ISO-Zeitstring im JSON. Der TypeScript Client wandelt diesen Wert in Date um.

  • finishedAt · string | null · optional
    Abschlusszeit als ISO-Zeitstring im JSON. Der TypeScript Client wandelt diesen Wert in Date um.

  • triggeredByFlowNodeInstance · object | null · optional
    Auslösende Flow-Node-Instanz, falls die Aufgabe durch eine andere Instanz gestartet wurde.

  • multiInstanceMetadataId · string | null · optional
    Kennung der Metadaten einer Mehrfachausführung, falls zutreffend.

  • multiInstanceStartToken · object | array | null · optional
    Startdaten einer Mehrfachausführung; Objekt oder Liste von Objekten.

  • multiInstanceEndToken · object | array | null · optional
    Ergebnisdaten einer Mehrfachausführung; Objekt oder Liste von Objekten.

Verschachtelte Typen

FlowNodeInstanceState kann running, suspended, finished, terminated, error oder canceled sein.

UserTaskConfig

Ausgewertete Konfiguration der aktuellen User Task.

  • assignedUserIds · array · optional
    Nach Auswertung ermittelte Benutzer-IDs für die Aufgabe.

  • formFields · array · erforderlich
    Felder, die für diese Aufgabe angezeigt oder verarbeitet werden können.

  • customForm · string · optional
    Kennung oder Konfiguration eines eigenen Formulars, falls modelliert.

  • description · string · optional
    Beschreibung der Aufgabe für die Anzeige.

  • finishedMessage · string · optional
    Text, der nach Abschluss der Aufgabe angezeigt werden kann.

UserTaskConfigModel

Am BPMN-Knoten modellierte Konfiguration vor Auswertung der Ausdrücke.

  • assignedUserIds · string · optional
    Modellierter Ausdruck für Benutzer-IDs; anders als in UserTaskConfig noch kein Array.

  • formFields · array · erforderlich
    Im Modell definierte Formularfelder.

  • customForm · string · optional
    Im Modell angegebene Formular-Konfiguration.

  • description · string · optional
    Im Modell angegebene Aufgabenbeschreibung.

  • finishedMessage · string · optional
    Im Modell angegebener Abschlusstext.

UserTaskFormField

Ein Eingabefeld der User Task.

  • id · string · erforderlich
    Feld-ID. Unter diesem Schlüssel wird der ausgefüllte Wert im UserTaskResult gesendet.

  • type · string · erforderlich
    Formulartyp, zum Beispiel boolean, text, number, date oder enum. Eigene Typnamen sind möglich.

  • label · string · erforderlich
    Sichtbare Beschriftung des Feldes.

  • defaultValue · beliebig · optional
    Vorbelegter Feldwert. Sein konkreter Typ hängt vom Formularfeld ab.

  • customForm · string · optional
    Zusätzliche Formular-Konfiguration als Text.

  • parsedCustomForm · object · optional
    Als JSON gelesene Formular-Konfiguration, sofern customForm gültiges JSON enthält.

  • enumValues · array · optional
    Auswahlwerte für ein enum-Feld.

UserTaskEnumValue

  • id · string · erforderlich
    Technischer Wert der Auswahloption.

  • name · string · erforderlich
    Angezeigter Name der Auswahloption.

Ergebnis an die Engine senden

UserTaskResult: Ergebnis einer User Task. Jeder Schlüssel ist die ID eines Formularfeldes; der Wert gehört zum jeweiligen Prozessformular. Der Server prüft hier nur, ob ein Objekt übergeben wird. Prüfe Fachwerte passend zu den Feldern deines Prozessformulars in deiner Anwendung.

Schema für UserTaskResult öffnen · Beispiel öffnen

finishUserTask(flowNodeInstanceId, { freigabe: true }) sendet beispielsweise den Wert des Formularfelds freigabe.

Beispielantwort

Dieses Beispiel wurde aus den SDK-Typen und den API-Integrationstests abgeleitet und gegen das Schema geprüft. Es ist kein Mitschnitt einer laufenden Engine.

{ "flowNodeInstanceId": "8e3a9a85-5711-4fb9-869e-02d743fd2d7e", "flowNodeId": "UserTask_Freigabe", "flowNodeName": "Bestellung freigeben", "flowNodeType": "bpmn:UserTask", "state": "suspended", "processDefinitionId": "Bestellung_Definition", "processModelId": "Bestellung", "processInstanceId": "bcaa7c26-a62c-4442-91e7-09e36cb3055c", "correlationId": "54f83cf4-a92f-4c01-b657-e7eb190ce632", "startToken": { "bestellnummer": "B-1042" }, "ownerId": "user-123", "error": null, "startedAt": "2026-11-11T10:15:00.000Z", "userTaskConfig": { "description": "Prüfe die Bestellung und entscheide über die Freigabe.", "formFields": [ { "id": "freigabe", "type": "boolean", "label": "Freigeben?" } ] }, "userTaskConfigModel": { "description": "Prüfe die Bestellung und entscheide über die Freigabe.", "formFields": [ { "id": "freigabe", "type": "boolean", "label": "Freigeben?" } ] } }

Vollständiges Schema

Das versionierte JSON Schema kannst du oben kopieren oder herunterladen. Das Manifest enthält den SHA-256-Hash für Agenten.

Vollständiges JSON Schema auf dieser Seite anzeigen

{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://docs.processcube.io/contracts/engine/20.10.0-insiders.11/user-task-instance.schema.json", "title": "UserTaskInstance", "description": "Eine konkrete User Task in einer Prozessinstanz. userTasks.query liefert sie innerhalb von UserTaskList.userTasks.", "type": "object", "x-doc-use": "Lies userTaskConfig.formFields für die Aufgabenoberfläche und übergib flowNodeInstanceId an finishUserTask. flowNodeId bezeichnet dagegen den Knoten im BPMN-Modell.", "required": ["flowNodeInstanceId", "flowNodeId", "flowNodeType", "state", "processDefinitionId", "processModelId", "processInstanceId", "correlationId", "startToken", "ownerId", "userTaskConfig", "userTaskConfigModel"], "properties": { "flowNodeInstanceId": { "type": "string", "description": "Kennung dieser konkreten Task-Ausführung. Als erstes Argument an finishUserTask übergeben.", "x-doc-group": "wichtig" }, "flowNodeId": { "type": "string", "description": "ID des User-Task-Knotens im BPMN-Modell. Mehrere Ausführungen dieses Knotens haben unterschiedliche flowNodeInstanceId-Werte.", "x-doc-group": "wichtig" }, "flowNodeType": { "const": "bpmn:UserTask", "description": "BPMN-Typ des ausgeführten Knotens. Der User-Task-Client filtert Abfragen auf diesen Typ.", "x-doc-group": "wichtig" }, "state": { "$ref": "#/definitions/FlowNodeInstanceState", "description": "Ausführungszustand. Eine wartende Aufgabe hat den Wert suspended.", "x-doc-group": "wichtig" }, "processInstanceId": { "type": "string", "description": "ID der Prozessinstanz, zu der diese Aufgabe gehört. Zum Filtern von userTasks.query verwendbar.", "x-doc-group": "wichtig" }, "userTaskConfig": { "$ref": "#/definitions/UserTaskConfig", "description": "Nach Auswertung der Flow-Node-Ausdrücke gültige Konfiguration. Für die aktuelle Aufgabenoberfläche verwenden.", "x-doc-group": "wichtig" }, "userTaskConfigModel": { "$ref": "#/definitions/UserTaskConfigModel", "description": "Konfiguration in der Form, in der sie am BPMN-Knoten modelliert wurde. Ausdrücke können hier noch unausgewertet sein.", "x-doc-group": "wichtig" }, "actualOwnerId": { "type": ["string", "null"], "description": "ID des Benutzers, der die Aufgabe reserviert hat. Fehlt vor einer Reservierung.", "x-doc-group": "wichtig" }, "assignedUserIds": { "type": ["array", "null"], "items": { "type": "string" }, "description": "Optional zugewiesene Benutzer-IDs der Aufgabe.", "x-doc-group": "wichtig" }, "finishedByUserId": { "type": ["string", "null"], "description": "ID des Benutzers, der die Aufgabe abgeschlossen hat. Bei einer wartenden Aufgabe nicht vorhanden.", "x-doc-group": "wichtig" }, "flowNodeName": { "type": ["string", "null"], "description": "Anzeigename des BPMN-Knotens, falls im Modell vorhanden." }, "flowNodeLane": { "type": ["string", "null"], "description": "Lane des BPMN-Knotens. Sie kann zugleich ein benötigter IAM-Claim für den Zugriff auf die Aufgabe sein." }, "eventType": { "type": ["string", "null"], "description": "Ereignisart eines Event-Knotens. Bei einer User Task normalerweise nicht vorhanden." }, "previousFlowNodeInstanceId": { "type": ["string", "null"], "description": "ID der unmittelbar vorher ausgeführten Flow-Node-Instanz, sofern vorhanden." }, "parentProcessInstanceId": { "type": ["string", "null"], "description": "ID der übergeordneten Prozessinstanz bei einem Subprozess; kann null sein." }, "processDefinitionId": { "type": "string", "description": "ID der deployten Prozessdefinition, zu der diese Aufgabe gehört." }, "processModelId": { "type": "string", "description": "ID des ausgeführten Prozessmodells." }, "embeddedProcessModelId": { "type": ["string", "null"], "description": "ID des eingebetteten Prozessmodells bei einem Subprozess, falls vorhanden." }, "processModelName": { "type": ["string", "null"], "description": "Anzeigename des Prozessmodells, falls verfügbar." }, "correlationId": { "type": "string", "description": "Korrelations-ID, über die zusammengehörige Prozessinstanzen verbunden sind." }, "startToken": { "type": "object", "additionalProperties": true, "description": "Prozessdaten beim Eintritt in die Aufgabe. Die Fachfelder bestimmt das Prozessmodell." }, "endToken": { "type": ["object", "null"], "additionalProperties": true, "description": "Prozessdaten nach Ausführung der Aufgabe; bei wartenden Aufgaben normalerweise nicht vorhanden." }, "ownerId": { "type": "string", "description": "ID des Besitzers der Flow-Node-Instanz. Nicht mit actualOwnerId der Reservierung verwechseln." }, "error": { "type": ["object", "null"], "description": "Fehlerdaten bei einer fehlgeschlagenen Ausführung; im Erfolgsfall möglicherweise null." }, "startedAt": { "type": ["string", "null"], "format": "date-time", "description": "Startzeit als ISO-Zeitstring im JSON. Der TypeScript Client wandelt diesen Wert in Date um." }, "finishedAt": { "type": ["string", "null"], "format": "date-time", "description": "Abschlusszeit als ISO-Zeitstring im JSON. Der TypeScript Client wandelt diesen Wert in Date um." }, "triggeredByFlowNodeInstance": { "type": ["object", "null"], "additionalProperties": true, "description": "Auslösende Flow-Node-Instanz, falls die Aufgabe durch eine andere Instanz gestartet wurde." }, "multiInstanceMetadataId": { "type": ["string", "null"], "description": "Kennung der Metadaten einer Mehrfachausführung, falls zutreffend." }, "multiInstanceStartToken": { "type": ["object", "array", "null"], "description": "Startdaten einer Mehrfachausführung; Objekt oder Liste von Objekten." }, "multiInstanceEndToken": { "type": ["object", "array", "null"], "description": "Ergebnisdaten einer Mehrfachausführung; Objekt oder Liste von Objekten." } }, "definitions": { "FlowNodeInstanceState": { "type": "string", "enum": ["running", "suspended", "finished", "terminated", "error", "canceled"], "description": "Mögliche Ausführungszustände einer Flow-Node-Instanz." }, "UserTaskConfig": { "type": "object", "description": "Ausgewertete Konfiguration der aktuellen User Task.", "required": ["formFields"], "properties": { "assignedUserIds": { "type": "array", "items": { "type": "string" }, "description": "Nach Auswertung ermittelte Benutzer-IDs für die Aufgabe." }, "formFields": { "type": "array", "items": { "$ref": "#/definitions/UserTaskFormField" }, "description": "Felder, die für diese Aufgabe angezeigt oder verarbeitet werden können." }, "customForm": { "type": "string", "description": "Kennung oder Konfiguration eines eigenen Formulars, falls modelliert." }, "description": { "type": "string", "description": "Beschreibung der Aufgabe für die Anzeige." }, "finishedMessage": { "type": "string", "description": "Text, der nach Abschluss der Aufgabe angezeigt werden kann." } } }, "UserTaskConfigModel": { "type": "object", "description": "Am BPMN-Knoten modellierte Konfiguration vor Auswertung der Ausdrücke.", "required": ["formFields"], "properties": { "assignedUserIds": { "type": "string", "description": "Modellierter Ausdruck für Benutzer-IDs; anders als in UserTaskConfig noch kein Array." }, "formFields": { "type": "array", "items": { "$ref": "#/definitions/UserTaskFormField" }, "description": "Im Modell definierte Formularfelder." }, "customForm": { "type": "string", "description": "Im Modell angegebene Formular-Konfiguration." }, "description": { "type": "string", "description": "Im Modell angegebene Aufgabenbeschreibung." }, "finishedMessage": { "type": "string", "description": "Im Modell angegebener Abschlusstext." } } }, "UserTaskFormField": { "type": "object", "description": "Ein Eingabefeld der User Task.", "required": ["id", "type", "label"], "properties": { "id": { "type": "string", "description": "Feld-ID. Unter diesem Schlüssel wird der ausgefüllte Wert im UserTaskResult gesendet." }, "type": { "type": "string", "description": "Formulartyp, zum Beispiel boolean, text, number, date oder enum. Eigene Typnamen sind möglich." }, "label": { "type": "string", "description": "Sichtbare Beschriftung des Feldes." }, "defaultValue": { "description": "Vorbelegter Feldwert. Sein konkreter Typ hängt vom Formularfeld ab." }, "customForm": { "type": "string", "description": "Zusätzliche Formular-Konfiguration als Text." }, "parsedCustomForm": { "type": "object", "additionalProperties": true, "description": "Als JSON gelesene Formular-Konfiguration, sofern customForm gültiges JSON enthält." }, "enumValues": { "type": "array", "items": { "$ref": "#/definitions/UserTaskEnumValue" }, "description": "Auswahlwerte für ein enum-Feld." } } }, "UserTaskEnumValue": { "type": "object", "required": ["id", "name"], "properties": { "id": { "type": "string", "description": "Technischer Wert der Auswahloption." }, "name": { "type": "string", "description": "Angezeigter Name der Auswahloption." } } } } }