With any automated process that contain approvals sometimes they can be conditionally needed to speed things up. For example, in a sales type use case let's say a Rep is allowed to give a 10% discount on any deal without approval needed. Approval then is only needed if the Rep goes rouge and gives 25%. Let’s say whenever the discount is greater than 25% then the Boss's Boss needs to get involved. This type of process is really common and creatively configuring your workflow can make something like this error free.
In the picture below I am using a "Run if true" action and renamed it "Need Approval?". If you look at the configuration on the right its looking at a "OppNeedsApproval" variable and only proceeding with the actions in the box if the logic equals true or Yes in this case.
"Run if true" is great to use in this case because it is simply looking at that variable and only using this configured approval process conditionally. Let’s say now I applied a 25% discount and now my boss's boss needs to get involved. How would this be configured?
There is always several ways to get to the finish line with any process. In this case a good way to do this would be using "Branch by stage" and "Run if true" actions.
Branch by stage allows you to simply have different stages of the workflow that can be conditionally enagaged.
Link to documentation: Branch by stage
In the image below you can see an example of this.
In the sample above Branch 1 would be the first approval & Branch 2 would be the second approval if the discount is greater than 25%. BUT... there is an issue with this sample. As configured... after the first approval happens in Branch 1 how is this evaluated again to reach Branch 2? Right now it will not work.
See Below...
By adding a Run if true with logic that evaluates the discount it will allow the "Change stage" action to be fired. In the menu bar to the right you can see change stage in this case has been configured to fire and push the workflow to Branch 2 which will allow the second approval to happen.
As mentioned earlier there are many ways to creatively get to the finish line here. The goal as always is to remove stop gaps where human interaction can get in the way of the finish line.