Chad,
If you want parallel execution, but some of the paths are conditional, then you should be using an Inclusive Gateway instead of a Parallel Gateway.
Parallel = AND (will always follow all outflow paths)
Inclusive = AND/OR (will follow all outflows with satisfied conditions)
Using the Inclusive Gateway, you would then add conditions where needed.
- If you have one path that will always run, then you would set it as the default outflow path of the Inclusive Gateway so it always executes.
- If you have more than one path that will always run
- Connect your conditional outflows to the Inclusive Gateway
- Connect a Parallel Gateway as the "default" outflow of the Inclusive Gateway
- Connect any non-conditional outflows to the Parallel gateway
- OR
- Put a Parallel before your Inclusive Gateway
- Connect any non-conditional outflows directly to the Parallel Gateway
- Connect the Inclusive Gateway to the Parallel Gateway
- Connect your Conditional outflows to the Inclusive Gateway
This documentation on Gateways provides some good explanations/examples.
UPDATE: To clarify, it seems that the "default" path on an Inclusive will only execute if none of the other conditions are met.