Print this page

Process Builder cannot access Contact fields on a Person Account record when making a spanning reference from another object

Knowledge Article Number 000232840
Description Process Builder cannot access Contact fields on a Person Account record when making a spanning reference from another object.


Example Scenario:

0. In an Org with Person Accounts enabled

1. Create a custom object (testObject), with a Lookup to Account

2. On Contact Object, create a custom field (testField)

3. Create a Process on 'testObject', with criteria looking at testField on the related Account (e.g. [testObject__c].Account.testField__c Equals 'A Value'). Add any action to this Process and Activate.

4. Create a record in 'testObject', and choose a Person Account in the Account Lookup.

Result: The Process fails with an error - "The flow failed to access the value for myVariable_current.Account__r.testField__pc because it hasn't been set or assigned.


NOTE: This behavior is the same when the Process is on a Standard or Custom object (e.g. 'testObject' above could be a standard object like 'Case', and the results would be the same)
Resolution This is currently a known/expected limitation of using Flow/Processes in conjunction with Person Accounts.

Workarounds:

a) If possible, define 'testField' as an Account field rather than a Contact field. Processes can make spanning reference to the Account fields on a Person Account.

b) Alternately, create a Formula Field on the Object the Process is on (e.g. testObject) to pull the value from the related Person Account (e.g. following the example above we'd create a formula on 'testObject' with syntax Account__r.PersonContact.testField__c). Then set the Process criteria to refer to this new field.

 




promote demote