Salesforce Connector: Installation and Setup
The Salesforce and Engaging Networks connector is designed for advanced Salesforce users to set up. Whilst this page outlines the process for setting up integrations, it is advisable to consult all required stakeholders before beginning the setup and to have read the mapping, syncing, and campaign linking pages to ensure you understand the potential impact on both systems of enabling the connector.
1. Installing the app and authenticating your connection to Salesforce
The following outlines how to install the Salesforce Connector App for Engaging Networks. If you have added this to your Engaging Networks account, you will receive an access link to install this feature from your Account Representative or the Support Team. Once you’ve received the link, you’ll be ready to install the package.
| ![]() | ||
| ![]() | ||
| ![]() | ||
|
| ||
|
|
For Recurring Gifts: Install the NPSP Extension Package
If your organisation is using Salesforce’s NonProfit Success Pack and representing Recurring Gifts via the Recurring Donation object, then please install the following Engaging NPSP extension package.
| ![]() |
| |
2. Configure Contact Mapping
Once installed and connected, you can configure the contact mapping.
The only required fields to map are Email Address and Last Name. The Salesforce Contact ID, Engaging Networks Client ID, and Engaging Networks Supporter ID will automatically map and indicate the field names in both systems.
| ![]() | ||
|
| ||
|
By default, Address 1 is mapped to MailingStreet. If you use Address 1 and Address 2 fields, you shouuld map to engaging__EN_Address_1__c and engaging__EN_Address_1__c. | |||
| ![]() | ||
Creating missing fields, questions or opt-in for mapping
The following are the basic steps to take if you are unable to map a field, question or opt-in from Engaging Networks to Salesforce.
|
| ||
|
| ||
|
|
3. Set up Workflow Rules
To successfully sync Engaging Networks supporters and Salesforce contacts, two flow rules must be created in your Salesforce account.
To do this, you'll need to set up two separate Record-Triggered Flow automations using the Salesforce Flow Builder.
Accessing Flow Builder
| ![]() | ||||
|
| ||||
|
| ||||
| ![]() |
Rule 1: EN Push False
This Flow updates the “EN Last Modified Date” field on the Contact to tell Engaging Networks which Contacts have been updated since the last pull.
Configure Start:
| ![]() | ||
| ![]() | ||
| ![]() | ||
|
| ||
|
Engaging Networks generates the conditional block dynamically, based on the fields on the Contact Mapping rule. You can add fields to the ruleset if you have additional business rules that fall outside the set of fields that trigger a sync back to Engaging Networks. For complex sync setups with many fields, the generated formula may exceed Salesforce's character limit. In this case, you can use “Custom Condition Logic is Met” and add the individual fields one by one. | |||
| ![]() | ||
| ![]() | ||
Flow Builder:
|
| ||
Assignment:
| ![]() | ||
| ![]() | ||
| ![]() | ||
| |||
![]() | ![]() | ||
| ![]() | ||
Rule 2: "EN Push True"
During the supporter sync from Engaging Networks to Salesforce, we set the EN Push field to “TRUE”. This means these updates won’t trigger the EN Push False workflow rule, thus preventing an "echo” of immediately syncing the contacts back to EN. This rule sets the EN Push value to “FALSE” when it is set to “TRUE,” allowing contacts to requalify for the previous flow.
Configure Start:
| ![]() | ||
| ![]() | ||
| ![]() | ||
| ![]() | ||
| ![]() | ||
| ![]() | ||
Flow Builder:
|
| ||
|
| ||
| ![]() | ||
| ![]() | ||
| ![]() |
Confirm that the Rules are in place.
Once you've completed the setup of both rules:
Return to the Salesforce Workflow setup screen in Engaging Networks > Check.
I have created and activated both Workflow rules in this Salesforce account >
Continue
4. Set up Transaction Mapping
Once your contacts are syncing, the next step is to set up how Engaging Networks supporter actions are displayed in Salesforce.
| ![]() | ||
|
| ||
|
*Mapping rules can also be viewed and edited in Engaging Networks by selecting the pencil icon next to the relevant rule. | ||
| ![]() |
5. Sync Settings
The sync settings area in Engaging Networks offers configuration options for push and pull operations. Once you’ve enabled the required setting, click Save.
Contacts:
Setting | Description |
|---|---|
When contact data comes from Salesforce, if the field value is blank, then clear the field in Engaging Networks | If a contact's field is empty when pulled, the value is cleared on Engaging Networks for the supporter. When enabling this setting, one consideration is the impact on existing Engaging Networks contacts from new Salesforce Contacts. |
Respect “EN Account ID” on the Contact record | For most integrations, this will likely be unchecked, as its purpose is to help clients running multiple EN accounts consolidate them into a single Salesforce org. When Contacts are pulled, Engaging Networks will only pull Contacts whose engaging__Account_Id__c field matches the client ID. This has no relationship with the Account object or householding. |
Data Sync:
Setting | Description |
|---|---|
Sync Contact data to Salesforce | Start the job to push supporters as Contacts into Salesforce every twenty minutes. Upon enabling this sync method, an internal timestamp is configured to the current time. Only supporters who are modified after this time will qualify thereafter. If you turn off the sync, this timestamp will be cleared. On re-enabling, the timestamp will again use the current time. Disabling and re-enabling this setting can be helpful when importing large files into Engaging Networks that don’t need to be updated in Salesforce. |
Matching Rules:
Engaging Networks utilizes Salesforce’s Bulk API to upsert supporters as Contacts. If Matching Rules is enabled, when Engaging Network receives Duplicate errors returned on the batch being imported, a secondary job will run to try find suitable Contacts based on the following rules:
Rule | Description |
|---|---|
Fuzzy Matching |
If a suitable match is found, the ID will be copied to the Contact ID, and the supporter record will be eligible for re-push. |
Leverage Salesforce |
Utilises Salesforce’s native Matching and Deduplication functionality to identify the correct Contact. Engaging Networks initiates an API request to Salesforce, based on the Contact mapping field settings. Salesforce then responds with an API response based on the Matching and Deduplication rules configured in the respective Salesforce account. If an Email Address is matched, the supporter and contact are linked together using the top options determined by Salesforce’s priority score. |
Example of matching API request It’s important for the Salesforce administrator to configure the necessary rules for this functionality to operate accurately. Endpoint:
CODE
Body:
CODE
Response:
CODE
| |
Batchsize:
Setting | Description |
|---|---|
Batchsize | Define how many rows of data will be pushed per batch as Contacts. It is recommended to use the highest possible batch size to reduce queues when high-volume contact updates are being made. If the Batch Size is small and a large update is applied across many supporters, it may exceed Salesforce API limits. |
Sync Contact data from Salesforce | Start the job to pull Contacts from Salesforce every twenty minutes. By default, all modified Contacts will be pulled. Results of these jobs do not appear in the Connector logs; instead, they appear as CRM Data Import jobs in the Job Monitor. |
Exclude:
Setting | Description |
|---|---|
Exclude | There is an optional ‘Exclude’ filter if there is a requirement not have Engaging Networks pull all Contacts. |
Sync Transaction data to Salesforce | Enable the daily transaction sync to push supporter actions to Engaging Networks Staging Records. |
Sync Extended Supporter Details | No info |
Reflect the merges done in Salesforce | Engaging Networks will enable a job to review the ‘merge audit’ logs produced by Salesforce when contacts are manually merged within Salesforce. This 'merge mirror' job operates concurrently with the Contact 'pull' and 'push' jobs, but does not immediately synchronise changes made in Salesforce. While Salesforce supports merging 3 contacts at a time, the “Reflect merges done in Salesforce” setting only supports the merging of 2 contact records at a time. This feature won’t work if more than 2 contacts are merged at once in Salesforce. |
6. Additional setup items and considerations
To help manage the Engaging Networks <> Salesforce integration, the following should be actioned:
Set the SFDC Campaign ID as a Campaign Reference
| ![]() | ||
Receive Contacts and Transaction push notifications:
| ![]() | ||
Expose Contact ID under Lookup Supporters: This allows users to view and/or update the Contact Id that references the supporter to Salesforce. When using the search function, the Contact ID will also be displayed in the first column.
|
|
Export Contacts and Importing in Contact Id:
| ![]() |
| ![]() |
| ![]() |





























































