Creating a different flow path for message action errors

We’ve all heard the proverb Homo proponit, sed Deus disponit; better known as Man proposes, but God disposes. There is a modern adaptation of the saying as well. Citizen developer proposes, but microservice disposes.

If a call to an external service throws an error, we can configure the flow to take a different path. We can also show a custom message to our app users. (If we do not have a different path/custom message, no worries; the flow does not terminate, but moves on to the next element, with a red system alert banner.)

We can create a different flow path for service failures by selecting the Use this outcome for faults option when we are creating an outcome for the message element.

Say, we have a flow like this:

We want the flow to go to the If errors step if the message action does not work.

Here is how we do this:

  1. Drag an outcome from Super important message to If errors. This opens a configuration panel on the right.
  2. Scroll down the panel to the Utilities option.
  3. Click Use this Outcome for Faults.

    This creates an outcome called Fault.

    Now, if the message action throws an error, the flow follows the FAULT path. Along with the system alert banner, the flow shows the contents of the step element: