With release 1.36 a new mechanism for dealing with duplicates detected by Salesforce was introduced.
For managing duplicates in the donation process, RaiseNow leverages the tools provided by the standard Salesforce API. The behaviour of the API is very similar to what you see in Salesforce when entering new contact information.
You will need to configure at least one contact duplicate and one contact matching rule to enable this within Salesforce. Please note the following:
- On "Create" your duplicate rule must be configured to "Alert" on detection of an existing contact.
- RaiseNow sets the standard Salesforce Contact.Email field. RaiseNow does not set Contact.npe01__HomeEmail__c. If your matching rules rely on this field (NPSP contact matching rule does this), you will probably not get matches.
When one or more duplicates have been reported by Salesforce, RaiseNow will select the best match as reported by Salesforce and update that contact according to the data received with the donation. There are two exceptions to this behaviour:
- RaiseNow will not update a boolean field from true to false. For example, if a donor in Salesforce has a newsletter subscription (Contact.RaiseNow__Newsletter_Permission_Given__c: true) when the donor submits a donation without checking the newsletter checkbox, RaiseNow will not update the above field to false.
- RaiseNow will not update fields that are defined as protected. You can configure protected fields in self-onboarding in the Salesforce configuration step. If a field is defined as protected, RaiseNow will omit such fields when updating the contact.
If RaiseNow omits an update due to the field being defined as protected, a platform event will be triggered in Salesforce.
"RaiseNow__Report_Message__c": "These fields were not updated as they have been configured as protected.",
Please note: Salesforce will only provide field comparison values for fields defined in your matching rules. Hence, RaiseNow can only report on fields that are defined in your matching rules.
You can leverage this event to implement your own back-office process for a semi-automated review of the fields omitted in the update. See Use Salesforce Flow with Enhanced Duplicate Management for an example.