0

I have to update a Contact lookup field (Current_PC__c) in Account object when a field (National_Member_Primary__c) in Contact object changes. I have created a process for this however it is not updating the fields, screenshots of the process are below. Can someone please help me with this on what I might be doing wrong, or if this is even possible?

  1. Process is on Contact object: enter image description here

  2. Criteria for the action group: when all of the below conditions are met. Contact.National_Primary_Contact__c (Boolean type field) is TRUE AND Contact.Organization_Name_Formula__c (Formula type field) IS NOT NULL Formula for Contact.Organization_Name_Formula__c is Account.Name

  3. Update Records: Current_PC__c (lookup field in Account) = Contact.Contact_Full_Name enter image description here

Edits made: I have made few changes to the step 3 and the record type to be updated looks like this now: Record type - [Contact].Organization Name.Account Manager.Account ID Record to be updated - Current_PC__c field reference Contact.ID enter image description here

2 Answers 2

1

It's important to make a distinction here between the Name and the Id of a record. These two values are not interchangeable. Any time you have a lookup field connecting one object to another, the value that goes in that lookup field must be an Id. Putting a non-Id value in a lookup field will cause an exception.

Similarly, if you want to check whether a lookup field is populated, you can just look at it directly by asking whether the field is null. You don't need to look at a Name-based formula field.

If you change your Process to exclusively use Id values, I think you're most of the way there. You'd change your second criterion to look for AccountId not equal to null, and your record update would populate the Contact Id in the field Current_PC__c (no need for a formula).

The other issue I see in the screenshots you posted is that you're trying to update related Accounts through a custom relationship Accounts__r, and that may not be what you want here. You can just update the Contact's Account through the standard Account relationship, unless your org is using an unusual Account structure or AccountContactRelation objects.

6
  • Thank you for responding David, I have now updated the process to update Contact ID by field reference in the Current_PC__c field. Also, when I select "Select a record related to the Contact" in update records criteria, I do not get any option of selecting the Account directly. I have edited my post above and have attached a screenshot of how this section looks like now. Account is chosen from Contact > Organization Name > Account Manager > Account ID, and it is still not working. Can you please suggest me what else I might be doing wrong?
    – abc
    May 22, 2018 at 1:09
  • Are you using the Nonprofit Success Pack, NGO Connect, or some other customization layer that does unusual things with Accounts? You should be able to select Account > (your field to update). Is Account renamed to Organization?
    – David Reed
    May 22, 2018 at 1:14
  • Yes, we are using Nonprofit Success Pack - however I was not sure if this would come in the way of updating Accounts directly. Could you please recommend some solution to overcome this? Would writing a flow to update the accounts and calling this flow from the process builder work? Thanks in advance.
    – abc
    May 22, 2018 at 1:19
  • NPSP isn't a problem, and you shouldn't need a Flow. I assume in NPSP you want to update the Household, not the Primary Affiliation? The field path may go by Household in NPSP Process Builder; I'm afraid I don't have an NPSP org handy to look.
    – David Reed
    May 22, 2018 at 1:42
  • Hey David, apologies for the confusion - we are using Enterprise Edition for our org and not NPSP and still cannot see that.
    – abc
    May 22, 2018 at 16:34
0

Your Update Action is updating [Contact].Accounts__r which usually represents a RELATED LIST of Accounts as indicated by the S for plural. Since you have a Contact lookup field on your account object, I'm assuming that it is labeled as 'Accounts' (Accounts__r).

Contact has a direct out-of-the-box relationship with account or [Contact].Account, I would double check that you are updating the right record(s) - it looks like right now you are actually updating the Contacts Related Account list, rather than the parent account of the contact which would be represented by [Contact].Account

1
  • Thank you for responding Morgan, I have edited the process and Account is now chosen from Contact > Organization Name > Account Manager > Account ID, however it is still not working. Can you please suggest me what else I might be doing wrong?
    – abc
    May 22, 2018 at 1:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .