3

Make sure that your workflow rules aren’t set up to create recursive loops. For example, if a field update for Rule1 triggers Rule2, and a field update for Rule2 triggers Rule1, the recursive triggers may cause your organization to exceed its limit for workflow time triggers per hour. The key to understanding this is that Rule1 and Rule2 must both be ...


3

While discussing about workflow rules, I think it is also better to discuss about process builder and compare it. Here is my testing on both workflow and process: (having re-evaluate workflow and re-evaluate enabled in process) In a new dev org, have 3 picklist fields with options: pl1 - 1op1,1op2,1op3 pl2 - 2op1,2op2,2op3 pl3 - 3op1,3op2,3op3 Implement ...


3

Use field "HasOpportunityLineItem" on opportunity in your workflow. This field indicates is there any child product is added or not. The field HasOpportunityLineItem is a standard field, not visible in the UI which is automatically calculated by Salesforce. As the documentation states: Read-only field that indicates whether the opportunity has associated ...


3

The system is that "clever." It reevaluates the rules only for records that were changed (like a Set<Id>). There wouldn't be any point in checking the rules again if the records haven't changed. However, note that the checkbox doesn't go through the entire save process again; it simply reevaluates the rules and applies any further updates, and only ...


2

No. If you need this level of complexity, you'll want to write a trigger, instead. The reason why is that you need to be able to "see" the old and new values at the same time, and email alerts can't see the old values. This would actually be pretty simple as a trigger.


1

Open the Developer Console, change the default Log Levels (Debug > Change Log Levels... > Add/Change > Workflow=FINEST), then perform an operation (insert/update/whatever). You'll see a new log, that will contain lines like this: 15:36:02.2 (398764976)|WF_RULE_EVAL_BEGIN|Workflow 15:36:02.2 (398983642)|WF_CRITERIA_BEGIN|[Client: demo 0011T00002Pndvj]|...


1

The [ObjectName] syntax applies for Process builder formulas and according to the tags on your question, you are trying to build a workflow rule. Assuming that the workflow rule is being executed from ServiceAppointment object, then you can reference the merged fields directly in the formula like this: AND( NOT(ISBLANK(WorkTypeId)), CONTAINS( "Easy|...


1

Given that Workflow or Process Builder don't trigger on Delete DML (yet) - see Idea and vote it up then ... Option 1 Write an AfterDelete Trigger on the object that uses a future or queueable apex class to make the callout The async class can do the callout synchronously and manage the response directly Option 2 Write an AfterDelete Trigger on the Event ...


1

This is not possible. Formula fields have no stored value - their values are calculated at the time of accessing the data. There is no change event to which you can react for formula fields. You'd need to build your automation to react to changes to the fields that themselves drive the value of your formula field. You could potentially implement "ignoring ...


1

I recommend removing the LastModifiedDate and LastModifiedById conditions within your Workflow rule criteria. Also, the LastModifiedById should be compared with an ID field i.e. a Salesforce Id of the User record for the MY SFDC USER ID user, instead of comparing it with the name of the user. Remove these from your rule criteria and the workflow should ...


1

You can create multiple email alerts based on your workflow rule. For new owner (queue or a person) For Client Previous Owner This will separate it out and help in the reduction and better diagnosis of any failure. The real trick is notifying the previous owner on the record as he/she(userId) is no longer present on the record to send an email to. To get ...


1

From your above comments, if you just want to update a field with errors and not throw errors, then you will need to use CASE function in your workflow instead of IF. IF function should be used to determine if expressions are true or false. Returns a given value if true and another value if false. Your formula should be CASE(OR(ISBLANK(Name), LEN(...


1

Change they type to whenever created or edited Use the ownerid part in the criteria. If you want to exclude insert add !isNew() to the criteria


Only top voted, non community-wiki answers of a minimum length are eligible