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:
- Launch Subprocess starts one alongside and keeps going.
- Launch Subprocess (Sync) and Await Subprocess wait for its result.
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.
Related
- Process Instance Lifecycle - the arc of a whole run, from start to a final state.
- Branching & Merging - how paths split and join.
- Tasks, Processes, Process Instances - the three levels the flow lives in.