Stratus Hub

View Original

Salesforce 101: Understanding Workflow Rule Evaluation

I don't know about you, but when I first started to learn Salesforce I found the different Salesforce Workflow Evaluation Criteria kind of confusing. The explanation Salesforce provided in the Help section didn't really alleviate my confusion. So I took to the web to get clarification from sources outside of Salesforce. I was disappointed how long I had to search to find something that was helpful. It ultimately took multiple resources to get a clear explanation. I thought I would use my struggle as an excuse to write a simplified explanation of the three evaluation criteria options and a basic real-world use case for each.

So let's get started shall we? When selecting a Workflow Rule Evaluation Criteria you have 3 options to choose from:

Evaluate the rule when a record is:
1) Created
2) Created, and every time it's edited
3) Created, and any time it's edited to subsequently meet criteria

Each of these evaluation criteria will determine when a workflow rule should be triggered.

Option 1: Created
This option is pretty self-explanatory. The workflow rule would only be triggered when record is first created. 

This would be great for when a lead is first converted to an opportunity and you want to notify the Sales Manager of the rep who created the opportunity.
 

Option 2: Created, and every time it's edited
This option seems self-explanatory but can be a little confusing. Under this option a record would be evaluated when first created and every time the record is edited. The confusion often occurs with the "every time it's edited" part. This means the workflow rule will fire every time the record is edited even though the record may have already met the workflow criteria when first created or in a previous edit. 

For example, your Sales Director wants to be notified of Opportunities whose value is > $50,000. If the Opportunity has an initial value of $60,000 when created, the rule would fire and because the workflow criteria is met, an alert is sent to the Director. Now, if in a week, the Status of the Opportunity is changed from "Prospecting" to "Proposal Sent", because the record changed, the rule is re-evaluated, and because the value is still $60,000 the rule criteria is met and another alert is sent to the Director. Obviously we don't want to keep sending alerts to the Director since he has already been notified, so this wouldn't be a good choice.

A better use case for this evaluation would be if the Sales Director wants to know if the Opportunity value has changed. This way, if a workflow rule is setup to test if the Opportunity value has changed, the evaluation rule would run the workflow rule every time the record changes. But the rule would only send out an alert to the Director when the workflow rule evaluates "True" i.e. the opportunity value has changed. 

Workflow Edit Page


Option 3: Created, and any time it's edited to subsequently meet criteria
This final option means that when a new record is created, or if an existing record is changed from not meeting the rule criteria to meeting the criteria, the workflow rule with fire. 

So let's borrow our example from option #2 where the Director wants to be notified when an Opportunity value is > $50,000. Using this criteria, the rule would fire when the Opportunity is created with a value $60,000 and the Director would get an email notifying him of this Opportunity. Now if the record is changed from a value of $60,000 to $75,000 the rule does not fire again because it has already met the criteria at its initial creation. Now if the reverse happened, and the value went from $60,000 to $40,000 nothing would happen since the record doesn't meet the criteria for the rule. But, if in another subsequent change, the value increased to $55,000 the criteria would again be met, and since the record didn't previously meet the criteria during the last change, the rule would again fire and the Director would receive a new alert.

 

In summary, for field updates option 2 is most often used, because you're typically making sure some value is populated and you want to check every time the record is edited. Nearly every other situation most often uses option 3.

So that's it! Not too bad right? If you're still having trouble or have other questions related to Salesforce please leave a comment below and we'll answer asap.


Want to become a Salesforce Wizard?

Join our newsletter and we'll send out periodic articles, and how-tos to help you master your Salesforce instance. (Not to worry your email is safe with us.)

See this content in the original post

Know someone else who might benefit from knowing what we know? Please share us with your friends.