Process flows

Process flow tools manage process flow definitions, run and monitor their executions, and act on pending user tasks.

Required role: process-flows.

If your user account does not have this role, every tool in this group fails immediately with an access denied error. Contact an administrator to request the role, or see Access control for more information on how roles are enforced. Running flows and user tasks also follow the role-based access of process flows.

Available tools

Parameters are shown with their type and a short description. UUIDs are always strings.

Process flow definitions

Tool Description Parameters

list_processflows

List process flow definitions. The graph, testdata, and interface of a flow are never included in the list. Use get_processflow to read them. Without field selection, each entry contains id, name, description, package, and updatedAt.

listOptions (object, optional). Fields: name, package, createdBy, changedBy, description, archived, allowPublicRun, createdAt, updatedAt.

get_processflow

Return a process flow by its ID, including its full graph definition, interface, and test data. The response has the form { data, validation }. validation reports graph validation errors found in the stored definition.

id (string): ID of the process flow.

save_processflow

Create or update a process flow. Include id to update an existing flow. The fields that you send are merged with the stored flow. Omit id to create a new flow, in which case name is required. The response has the form { data, validation }.

processFlow (object): The process flow object.

delete_processflow

Delete a process flow by its ID. The deletion fails with a conflict error if the flow has running executions.

id (string): ID of the process flow.

Executions

Tool Description Parameters

run_processflow

Run a process flow, which starts a new execution. The response contains the executionId.

id (string): ID of the process flow.

body (object, optional): The start data passed to the flow.

stop_processflow_execution

Force-stop a running execution.

id (string): ID of the process flow.

executionId (string): ID of the execution.

list_processflow_executions

List process flow executions. Supports paging and filtering by process flow, trigger, date range, and status.

page (number, optional): The page to return. Default: 1.

pageSize (number, optional): The number of executions per page. Default: 50.

filters (object, optional):

  • processFlowIds (string[]): IDs of the process flows.

  • date (object): from and to for the start time of the execution. You can set one or both.

  • trigger (object): app (string[]) for the triggering apps and people (string[]) for the triggering users.

  • status (string[]): Execution statuses.

get_processflow_execution

Return an execution, including its graph, timeline events, and status.

processFlowId (string): ID of the process flow.

executionId (string): ID of the execution.

For the meaning of each execution status, see Execution and node statuses.

User tasks

list_assigned_processflow_user_tasks returns the user tasks assigned to you. Administrators see every user task.

Tool Description Parameters

list_assigned_processflow_user_tasks

List the user tasks assigned to you across all executions. Supports filtering by date range and status.

dateFrom (string, optional): Returns tasks changed on or after this date.

dateTo (string, optional): Returns tasks changed on or before this date.

status (string[], optional): User task statuses.

get_processflow_user_task

Return a user task.

processFlowId (string): ID of the process flow.

executionId (string): ID of the execution.

activityExecutionId (string): ID of the user task activity in the execution.

continue_processflow_user_task

Complete a pending user task and resume the execution.

processFlowId (string): ID of the process flow.

executionId (string): ID of the execution.

activityExecutionId (string): ID of the user task activity in the execution.

userTaskId (string): ID of the user task.

payload (object): The decision. payload.approverDecision must be the value of one of the actions configured for the task, otherwise the call fails and the error lists the allowed values.

Gateway conditions

For the conditions of exclusive and inclusive gateways, save_processflow treats the expression of each condition as the source of truth. On save, it rebuilds the condition builder data from the expression, so the condition opens correctly in the condition builder of the Cockpit. The builder has no raw expression mode, so isExpression is always set to false.

An expression is rebuilt only if it uses the same form that the condition builder produces. If an expression does not match that form, the condition keeps its existing builder data, and the Cockpit does not show the new expression in the condition builder.

The expression has the form {= <clause> }. You can join clauses with && (and) or || (or). Grouping clauses in parentheses is not supported. An operand is one of the following:

  • A binding to the interface data, for example, ${InterfaceData>/order/amount}

  • A binding to a task output, for example, ${Outputs>/approval/approved}

  • A string in single quotes, for example, 'EUR'

  • A number, for example, 100 or -2.5

  • true or false

The following clause forms are supported:

Clause Condition builder label Type

a === b

is equal to

Any

a !== b

is not equal to

Any

a < b, a <= b, a > b, a >= b

is lower than, is lower or equal to, is greater than, is greater or equal to

Number

(typeof a !== 'undefined')

exists

Any

(typeof a === 'undefined')

does not exist

Any

(!!a)

is true

Boolean

(!a)

is false

Boolean

a.includes(b), !(a.includes(b))

contains, does not contain

String

a.startsWith(b), !(a.startsWith(b))

starts with, does not start with

String

a.endsWith(b), !(a.endsWith(b))

ends with, does not end with

String

Example: {= ${InterfaceData>/amount} > 1000 && ${InterfaceData>/currency} === 'EUR' }