Salesforce Critical Update with Use of IsChanged on Relational Fields Results in Process Builder Errors
Last updated 2020-09-14 ·Reference W-5844024 ·Reported By 8 users
After enabling the Salesforce critical update Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas processes using IsChanged in relation to calculation on relational fields will return errors and block the process from running. User may encounter Internal Server Error or unsupported feature message.
1. Create a custom field on Lead with Data Type=Text
2. Create a custom lookup field on Lead that looks up to Contact object
3. Create a Process Builder on the Leads object to run when a record changes
4. Start the Process when a record is created or edited
5. Create a criteria node that executes the actions when the formula evaluates to True (birthdate is a standard field) Use below logic:
AND(NOT(ISBLANK([Lead].ContactLookupField ) ),ISCHANGED([Lead].ContactLookupField .Birthdate ) )
6. Add an Immediate Action that will update the Lead record that started your process. No criteria, just update the records. Set the field to your newly created Lead Text field, enter Type as “Formula”, then the Value as TEXT(PRIORVALUE([Lead].ContactLookupField.Birthdate))
7. Activate the Process!
8. Create a Lead record and associate a Contact record in your newly created custom lookup field.
9. From Setup, activate the Critical Update 'Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas'
10. Go back to the Lead record and simply edit and save the record (no changes necessary)
Current recommendation is to not use IsChanged with relational fields in processes.
ISCHANGED on relational operators has never been properly supported in Process Builder, although the behavior did change with the Critical Update ( Check for Null Record Variables or Null Values of Lookup Relationship Fields in Process and Flow Formulas ). With the fix for the Critical Update, the error message now indicates that this is unsupported (instead of an internal server error).
Is it Fixed?
Any unreleased services, features, statuses, or dates referenced in this or other public statements are not currently available and may not be delivered on time or at all. Customers who purchase our services should make their purchase decisions based upon features that are currently available.