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.
- Calling one process from another process
Make your business processes more granular by complementing a process with a subprocess in your case life cycle. As a result, you avoid creating long and complex case types and deliver an application that is easier to maintain and edit if your business requirements change. Additionally, you save time because you reuse assets across your application.
- Adding additional configuration to a subprocess
Provide access to relevant resources, such as properties or rules, that are outside your current case type by changing the scope of a subprocess in the case type. As a result, you ensure that users can access information that is necessary to successfully resolve their business processes even if the resolution requires data from another case.
- Running multiple instances of different subprocesses with a Split Join shape
Divide your independent business requirements into multiple processes by calling two or more subprocesses that later rejoin the parent process. As a result, you develop a granular and flexible application that you can conveniently adjust to your changing business requirements instead of creating long and complicated case types.
- 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.