> For the complete documentation index, see [llms.txt](https://docs.work-relay.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.work-relay.com/automations/best-practices-screensteps/using-subprocesses-for-better-organization-and-re-usability.md).

# Using subprocesses for better organization and re-usability

When laying out a more complex process, it often makes sense to break the process up into multiple subprocesses so that:

1. Those processes can be used in multiple parent processes.
2. Your parent processes are organized in smaller chunks, which makes them easier to manage and maintain.

In this example, we have created a process based around the fulfillment of digital products sold in an Opportunity. Each product type has its own fulfillment process, which is called as a subprocess from the parent process.

![](/files/53a7b6495b1ebaf22bef19b660c6376086a96a37)

The parent process is called “Close Opportunity” and it contains 3 steps with subprocesses: “Website…”, “Photo Shoot”, and “SEA Campaign”. The advantage of using subprocesses here is that these are self-contained fulfillment processes that are associated with the specific type of product sold.

Also, by using conditional connectors, the actual subprocesses that run can be based on the products sold in an individual Opportunity, so a different mix of subprocesses can run in a parent process instance based on the composition of an Opportunity.

In Work-Relay, you can have the parent and subprocesses open in the same canvas. One of the subprocesses is shown below:

![](/files/ba26e340ef8348e2d216d69a7e55c1b61e5fa925)

And another one:

![](/files/f936b0188440872287760936f0a7295ded26fdb2)

So when setting up your processes, evaluate your overall process to see how you might be able to group a collection of steps into a subprocess.
