A Comparative Look at Flow Decision Elements in Salesforce

In this article, let’s focus on the decision elements and how they work in flow. I have done a comparison of two flow images on Twitter and LinkedIn and the post attracted a lot of attention. It turns out Zuckerberg had the right idea; people do like to compare two images and decide which one is hot and which one is not.
Decision Comparison

What you see in these pictures is two versions of the same use case. These flows capture the decision outcomes when an Opportunity Stage changes from Prospecting to Closed Won or to Closed Lost.
The design on the left side resembles the decisions in the process builder. You had to have separate choices for each criterion set on the process builder side. The decisions had two outcomes: one for when the decision criteria set is met and another one for all else.
The flow decisions are much more powerful. They can support many paths with different criteria conditions. As long as the criteria for these paths are mutually exclusive all paths can be combined into one decision in flow. The only time you would need separate decisions is when you have to evaluate all path outcomes again in another decision that follows.
When I opened up these two images for discussion, here are the comments I received:
- Although this was not the purpose of the exercise, both these flows should have been done as a fast field update. They don’t do anything other than update the field values on the opportunity that triggered the flow.
- Comparing the decision designs, the one on the right side took advantage of the powerful decision element in flow. We can define multiple outcomes tied to criteria, which will be evaluated from top to bottom.
- Please note that we add an outcome on top of the others in the decision element to filter out the records we don’t want to update. Please see the decision element outcome order design below. (I added an assignment and labeled it “Don’t Do Anything” in the image above just to show this path on the flow canvas. This is not necessary.)

- One discussion that emerged was whether we should have multiple update elements after the decision element or use a formula to determine the new value and feed that to one update element. The formula approach could eliminate the decision element. I don’t think using multiple update elements impacts performance negatively because they are tied to mutually exclusive conditional outcomes. They don’t ever execute together.
- One observation that was made is that formulas may impact performance negatively. The claim is that the formula value is calculated after every element in the flow. Excessive formula use could impact performance negatively according to the Flow product team.
What do you think?
Explore related content:

3 Comments