Catching All Unconnected Outcomes

Last Updated: 08/12/2016 Introduced in Verision: 2.0

The Catch Outcome component listens to unconnected flow outcomes and provides a universal mechanism for handling them.

To add the component to a flow, in the Flow Designer’s Components panel, under the category Flow Management, drag a Catch Outcome component to the workspace.

Example

The path of our example flow passes through three approval forms, each called Fake Approval Form. Each form has two possible outcomes Approve and Reject. If any form returns a Reject outcome, our flow will send a rejection email in the step Send Rejection Email.

firstFlow

 

Our example will simplify the design of our flow by replacing the three Reject paths leading to Send Rejection Email with one Catch Outcome component.

Begin by deleting the three Reject outcome paths.
deleteRejectPathes
 

Deleting these paths creates validation errors in all of our steps – indicated by a red alert icon. The Flow Designer is telling us that these steps have unconnected outcomes (or in the case of Send Rejection Email, an unsupplied input). Until these deficiencies are handled, none of our steps will be able to run properly.

flowWithValidationIssues

 

Resolve the absence of our missing Reject paths by dragging the Catch Outcome component from the Toolbox panel, under the category Flow Management, to our workspace.

In practice, we might use multiple Catch Outcome steps to handle multiple outcomes. To tell Catch Outcome 1 which kind of outcomes it should handle, go to the Properties panel and, under the section Catch Outcome, change its Outcome Type to SpecifiedPaths.
 
Next, in the field OnlyPathsNamed, define the specific path(s) to catch as “Reject.”
 
To follow best practice, also change Catch Outcome 1’s display name to “Catch Reject Paths.”
 setUpForCatchOutcomes
 
 
Now that our Catch Reject Paths is configured, we’ll connect it to Send Rejection Email via the outcome path Complete. This completes our flow.
 completedFlow
 

When we run our flow in the debugger, we’re presented with the first of our approval forms. When we click the button Reject

debugClickReject

 

The unconnected Reject outcome is caught by Catch Reject Paths, which directs our flow to Send Rejection Email and the End Step.

debugResult

 

 

Additional Resources