NPSP stands for Nonprofit Success Pack, which is a set of managed packages developed by Salesforce.org to help nonprofits and educational institutions better manage their operations and relationships with their constituents. It is built on top of the Salesforce platform and provides a range of tools and functionality to help organizations manage fundraising, donor management, program management, and volunteer management.

 

The Nonprofit Success Pack is designed to be flexible and customizable, so that organizations can tailor it to meet their specific needs. It is also free to use for eligible organizations, and can be downloaded and installed from the Salesforce AppExchange. The NPSP has become a popular solution for nonprofits and educational institutions, and has helped many organizations streamline their operations and improve their impact.


Issue: In NPSP, associated households may be orphaned when contacts merged


Learn more: 'Household Account' name changes to 'Anonymous Household' (salesforce.com)


Recommended Salesforce solution to work around this issue is to use NPSP merge Find and Merge Duplicate Contacts (salesforce.com) 


Solution


Replace standard Salesforce merge with the contactsMerge using Supervisr's API Integration. You may find reference implementation of it at the link below (based on the official open-source NPSP mergeContacts method).


Follow these steps,


First, open Developer Console in your Salesforce sandbox environment and add 2 APEX classes from DataGroomr GitHub.


Developer Console > File > New > Apex Class. Name it DG_Contact_Merger_NPSP and paste content from DG_Contact_Merger_NPSP.apxc file from code-samples. This file is adapted implementation of NPSP sources.


Developer Console > File > New > Apex Class. Name it ContactMergerPoint and paste content from ContactMergerPoint.apxc file from code-samples. This file exposes mergeContacts url to be used by DataGroomr.



Alternatively, you may use Salesforce CLI to deploy these files. You will then need to deploy these changes to your Salesforce production organization through a changeset. 


Second, navigate back to DataGroomr to configure API Endpoint for merge contacts

In DataGroomr, navigate to Supervisr > API Integration. Click Add Endpoint button, select Handler.


Within the Add Endpoint configuration, add the below details:


Endpoint Url: https://{ORG_DOMAIN}.my.salesforce.com/services/apexrest/mergeContacts/mergeContacts

Events: Merge

Datasets: your Contact dataset(s)


Tip: For Sandbox, the URL format is slightly different,
https://{ORG_DOMAIN}--{SANDBOX_NAME}.my.salesforce.com/services/apexrest/mergeContacts/mergeContacts



Switch to the Test tab and check that integration is working. Hit Save.