Skip to Content
Concepts & ReferenceCore ConceptsControl Flow

Control Flow

Control flow is the order half of a process: which step is up right now, and which step gets control when it finishes. The data half - what each step reads and writes - is Parameters and Return Values.

A process definition draws the possible order. A running instance walks exactly one path through it, and always knows where it stands.

One step is up at a time

An instance holds a pointer to the step that is currently up. What happens next depends on the kind of step:

  • An automatic step - a calculation, a document, an integration call, a branch - runs the moment it is up, and control moves on. Nobody sees it unless they look at the history.
  • A human step becomes a task in the assignee’s list and the run stands still there until it is submitted. Who gets that task is decided by Roles, Users, Authorizations.

This is why a process can sit untouched for days without anything being wrong: it is not stuck, it is waiting on a person.

Finishing a step picks the next one

A step does not just end - it ends with an outcome, and the outcome decides which outgoing path is taken. A review that ends approved and one that ends declined leave the same step through different edges.

Outcomes route; return values carry data. A step can produce both, and they are configured separately. See Branching & Merging for the branch types (XOR, AND) and the two ways paths join back together.

More than one path at once

An AND branch puts several steps up at the same time, and the run advances on each path independently - two tasks can be waiting on two different people while a third path runs automatically. A merge decides when the paths come back together: after the first arrives, or after all of them.

A step can also hand work to a whole other process:

When a step fails

An unhandled failure stops the run and the instance ends in Error. Give a step an error path and control flows down that path instead, so the process can retry, notify, or close the case cleanly. See Error Handling.

Seeing the flow

The Process Instance View shows the path a run has taken: the graph carries the state of each step as a colour, and the execution history lists them in the order they actually ran.

Last updated on