A subprocess, also called a subflow, is a flow that is called by another flow. You can create a subprocess by adding a step to a process in the life cycle of a case or by adding specific shapes to a flow diagram. Subprocesses modularize the events in the life cycle of a case.
By default, the calling flow waits for the subprocess to finish running before it moves to the next shape in the sequence. You can run a subprocess in parallel with the calling flow, or split it into one or more individual flows that later rejoin. Each subprocess has a context, which might not be the same as the calling flow.
- Changing the context of a subprocess
You can change the scope of a subprocess that you call from a flow. By running a subprocess in the context of a specific class or case, you can use properties, rules, and other functionality in your application that you cannot access from the parent flow.
- Calling one process from another process
You can add a subprocess to a process in a stage to call an existing flow in your application. By using subprocesses, you can compartmentalize functionality and simplify the presentation of a process in a case type.
- Running multiple instances of the same subprocess with a Split for Each shape
Speed up case resolution by creating multiple instances of one subprocess that users can work on simultaneously and that later rejoin the parent process. Consequently, you provide tools for users to work in parallel and remove the risk of blocking users during case processing.