I have normal Accounts & person Accounts in my SFDC org. I am writing a process for the Person Account by using the below mentioned formula:

IF( ( TEXT(  [Account].Sponsorship_Status__pc ) != null ) , 
IF( ( [Account].RecordType.DeveloperName == 'Person Acc Name' ), 
IF( TEXT( [Account].Sponsorship_Status__pc ) ==  'Sponsored' , 

The Process works fine when edit/save happens Person Accounts but when edit/save happens on an normal Account record i get the following error

The flow failed to access the value for myVariable_current.Sponsorship_Status__pc because it hasn't been set or assigned.


Just in case anyone else encounters this problem, which is simply infuriating, the only way I managed to resolve the issue was to create a Formula Field on the Account object which simply copies the value of the Contact field. That way the Process Builder criteria can run on the Account object itself without needing to access Contact.


I'm hoping because this was asked 7 months ago that you found the answer you needed elsewhere. But I'm writing an article on this now so found this unanswered question.

The answer lies in checking in the criteria diamond to ensure that this update can only happen if AccountID is not null.

See https://help.salesforce.com/apex/HTViewSolution?id=000212174&language=en_US

Let me know if that helps.


The error on accounts rather than person accounts is occurring because the fields with __pc are on the Contact record of the Person Account so when an update is applied to a normal Account record those fields are not available to edit.

Do you have Account and Person Account Record Types with the same developer name? As this would cause the failure as otherwise I would have expected the check on the Account Record Type to prevent the error occurring by excluding Account records.


To bring this up to date.

I was working with 5 multi-select picklist fields, 3 for the Account and 2 for the Person Account.

I had to set my Process Builder for Account to have a separate decision for each field with the criteria set to evaluate the IsPersonAccount AND the Field null value condition (false).

I could not run multiple Actions (Flows) off the same decision (an OR or multiple criteria). As if one of the flows failed (they would all run because of the OR decision) it stopped the process.

Conclusion If you are creating Decision for a Person Account field (__pc), you must also qualify that the IsPersonAccount = true to be able to evaluate the person account (__pc) field.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.