Flow decision elements have multiple ways to control when to run a particular path. I frequently have requirements which look like "when this application step is completed, move the Application to the next step". Now from what I can see, there are 2 different ways to do this.
Option 1: Use logic in the Decision Outcome like "Field__c IS CHANGED = TRUE"
Option 2: Update the "When to Execute Outcome" setting to "Only if the record that triggered the flow to run is updated to meet the condition requirements".
These 2 options do the same thing as far as I can tell, so is there a best practice about when to use the IS CHANGED operator vs. the "When to Execute Outcome" setting? Is one more stable/reliable/efficient than the other? Or are they completely interchangeable?
I've noticed that when using the IS CHANGED operator, Flow does not always run as predictably/reliably as I would like, especially if an external system/integration is updating the record. In some scenarios, maybe due to apex firing first and updating other fields, if an external system updates the record it sometimes doesn't see the field in question as having been "changed".