Salesforce Connector: Transaction mapping, campaign linking and default mapping rules
Outside of Contact syncing, another key process of this integration is how to represent supporters’ actions from Engaging Networks inside Salesforce. Engaging Network provides a collection of mappings for clients using the NonProfit Success Pack. Salesforce admins can also tweak or create custom mapping rules to meet business requirements.
For reference, JSON representations of the mappings are available in the Engaging Networks GitHub repository.
These template mappings are provided as a way to easily set up ‘Mapping Rules’ to the Engaging Networks Salesforce Connector App.
Understanding Mappings
Advocacy – Create Campaign Member (template)
Upon installing this mapping, a confirmation screen will appear. This Mapping Rule finds staging records whose Transaction Type is PET, ETT, CTT, or TWT and that don’t have an SFDC CampaignMemberId value. The expectation is that a page or email has been linked by Campaign Linking and that the Contact has not been added to the Campaign. This rule creates the CampaignMember from the SFDC Contact Id and SFDC Campaign Id values, off the staging record. | ![]() |
Advocacy – Update Existing Campaign Member (template)
This second Mapping Rule is designed to find staging records whose Transaction Type is PET, ETT, CTT, or TWT and that have an SFDC CampaignMemberId value. The SFDC CampaignMember ID is present on the staging record because a trigger installed with the package is in effect. If SFDC Campaign Id and SFDC Contact Id are populated, when the staging record is created, a trigger will go and check for an associated CampaignMember. If found, it will populate the SFDC CampaignMember ID. This then allows for this mapping rule to set the CampaignMember’s Status to Responded. | ![]() |
Campaign Linking
To roll up Advocacy or Email responses to Campaign Members, set the respective Salesforce Campaign when building pages and emails in Engaging Networks. The individual page or email can be linked to an existing Salesforce Campaign or created directly in Engaging Networks.
To enable Campaign References:
| ![]() | ||
| ![]() | ||
|
| ||
| ![]() | ||
|
|
SFDC CampaignMember Id
There is a preset trigger that looks up the CampaignMemberId based on whether the SFDC Campaign Id and SFDC Contact Id are populated during Engaging Networks Staging Record creation.
Default Mapping Rules
The following outlines all of the default mapping rules currently available.
Contact Top Up Mapping
Transaction Type | Description |
|---|---|
All | Find Staging objects with empty SFDC Contact IDs. Because the Contact Sync runs every twenty minutes, it is expected that all transactions written to the ENSR table will have a corresponding SFDC Contact ID. Most fundraising mappings rely on this Contact ID, for example, to attach a new Opportunity to the donor. If an ENSR arrives with no SFDC Contact ID, this mapping creates a simple contact (First Name, Last Name, and Email only) so the mappings can proceed. This new Contact should be picked up by the contact sync and filled in with the remaining supporter details (address, etc.) shortly after creation. (This previously ran on Fundraising transactions only, but has been generalized to all transactions with a 'Group by', ensuring the mapping avoids creating duplicate Contacts) |
Advocacy Mappings
Advocacy – Create Campaign Member (template)
PET, CTT, ETT, TWT | If an advocacy page is configured with an SFDC Campaign ID, this mapping rule adds participants to the Campaign. The Campaign Member status is set to Responded. This mapping runs only if the Contact is not a pre-existing Campaign member. Salesforce does not allow adding a Contact to a Campaign more than once. A trigger installed on the ENSR object checks whether a Campaign Member already exists for this Contact/Campaign combination when both the Campaign ID and Contact ID are populated during ENSR creation. If a match is found, the trigger writes the Campaign Member ID to the ENSR. This way, the “create” mapping avoids creating a duplicate Campaign Member by checking the SFDC CampaignMemberID field. If multiple unprocessed staging records exist for the same Contact ID - Campaign ID pair, this mapping rule performs a 'group by', ensuring the contact is added to the campaign only once. This can happen, for example, with ETT, where one action with 4 targets can result in 4 distinct staging record rows. |
Advocacy – Update Existing Campaign Member (template)
PET, CTT, ETT, TWT | This mapping is a companion to “Advocacy – Create Campaign Member” above. If a Campaign Member already exists, this mapping updates the Campaign Member's status to “responded”. If multiple unprocessed staging records exist for the same Contact ID - Campaign ID pair, this mapping rule performs a 'group by', ensuring the contact is added to the campaign only once. This can happen, for example, with ETT, where one action with 4 targets can result in 4 distinct staging record rows. |
Engagement Mappings
Engagement – Create Campaign Member (template)
SVY, EMS, UNS, ECF | If an engagement page is configured with SFDC Campaign ID, this mapping rule adds participants to the Campaign. The Campaign Member status is set to Responded |
Engagement – Update Existing Campaign Member (template)
SVY, EMS, UNS, ECF | This mapping is a companion to “Engagement – Create Campaign Member” above. If a Campaign Member already exists, this mapping updates the Campaign Member's status to “responded”. |
Email Open – Create Campaign Member (template)
EBC, MBC | If an outgoing email (broadcast or marketing automation) is configured with SFDC Campaign ID, this mapping rule adds email openers to the Campaign. The Campaign Member status is set to Responded. |
Email Open – Update Existing Campaign Member (template)
EBC, MBC | This mapping is a companion to “Email Open – Create Campaign Member” above. If a Campaign Member already exists, this mapping updates the Campaign Member's status to “responded”. |
Fundraising, In-Memory and Events Mappings
Fundraising Single – Opportunity (template)
FCS, FBS, FOC | The first of two mappings for processing one-time (single) donations, this mapping builds out an Opportunity for each successful fundraising transaction. By default, the mapping includes standard fields such as Amount and Close Date. It also writes the EN Tracking and Appeal Codes, enabling analysis through Salesforce reports. The gateway reference (EN Transaction ID field) preserves an audit trail between Salesforce Opportunities, Engaging Networks Transactions, and your payment gateway. The mapping relies on the following NPSP components. If any of these are not used in your Salesforce org, you will need to adjust the mapping rule accordingly: Opportunity Naming Rules are active Stage picklist has a value named “Posted” |
Fundraising Single – Payment (template)
FCS, FBS, FOC | The second of two mappings for processing one-time (single) donations, this mapping builds out a Payment object for each successful fundraising transaction. The mapping marks the payment as “paID”, records the Payment Method (Credit Card or ACH/EFT), and records the gateway reference as Check/Reference Number to preserve clear audit trails. If your Salesforce org uses NPSP's GAU Allocation object, you might need to write a third mapping rule for this purpose. If you are using NPSP Default Allocations, you can simply place a GAU Allocation on the Campaign that is referenced by the field. No mapping changes are needed. If you are not using Default Allocations, you can use the "direct my gift" tagged field (Transaction Data 20) as either a hidden field or as a picklist to hold the fund designation. You will need to build an additional mapping rule to handle the allocation and ensure it is properly chained into the Opportunity - Payment - Allocation chain (don't mark it as complete until all 3 elements have run). |
Fundraising Recurring - New RD for Imported Transactions
FCR, FBR, where Transaction Data 4 = .00 | When recurring transactions are migrated/imported into Engaging Networks, an initial $0.00 transaction is created to indicate that the gift has been imported. This mapping rule uses the data stored in these initial rows to create the Recurring Gift, which can be updated the next time the transaction processes. It functions very similarly to the Fundraising Recurring – New RD mapping rule (see below), but uses different criteria to find imported transactions. |
Fundraising Recurring – New RD (template)
FCR, FBR, where Transaction Data 11 is empty | The first of three mappings for processing a *new* Recurring Donation commitment. This mapping rule creates an NPSP Recurring Donation object with an open-ended status (no fixed end date) and a Monthly/Quarterly/Annual frequency. The gateway ID (Data 2) is stored in the Recurring Donation (EN Parent Transaction ID), as this “parent transaction ID” will be used to process all subsequent recurring charges. NPSP automatically creates a series of “pledged” Opportunities matching the anticipated payment schedule. The first of these “pledged” opportunities will be marked as “posted” in a subsequent mapping rule. The default mappings are configured to work with NPSP's Enhanced Recurring Donations model, with Future Pledged Opportunities configured to create at least 1 pledged Opportunity. If you have turned off Pledged Opportunities in NPSP settings, you will need to modify the "Fundraising Recurring - Opportunity" mapping to create a new Opportunity instead of looking up & updating an existing Opportunity. |
Fundraising Recurring – Lookup & Update RD – success (template)
FCR, FBR, where Transaction Data 11 is not empty | The first of three mappings for processing a *subsequent* recurring transaction. This mapping rule uses the “parent transaction ID” of the incoming transactional data (Transaction Data 11) to look up the Recurring Donation that was created when the commitment was first initiated. The parent is written to the SFDC Recurring Donation ID field. This mapping also updates the parent Recurring Donation with the latest “amount” and “day of month” configured in Engaging Networks to ensure NPSP and EN payment schedules remain in sync, and to ensure the RD status is set to "Active". |
Fundraising Recurring – Opportunity (template)
FCR, FBR | The second of three mappings for both *new* and *subsequent* recurring transactions. This mapping rule looks up a “pledged” Opportunity in the parent RD’s payment schedule, and updates the status from “pledged” to “posted”. It also updates the actual Close Date for the Opportunity (which may differ from the scheduled date, for example, if the card was declined at first but succeeded on a retry), the actual Amount processed, the tracking values/appeal codes, and the gateway ID for the transaction. For a pledged Opportunity to be identified and posted, the scheduled Close Date for the Opportunity must be on or before the actual processing date of the transaction. This is specified in the Matching Rule filter. |
Fundraising Recurring – Payment (template)
FCR, FBR | The third of three mappings for both *new* and *subsequent* recurring transactions. This mapping rule attaches a Payment to the Opportunity that was changed from “pledged” to “posted”. If the pledged Opportunity already had a Payment, the mapping updates that existing payment instead of creating a new one. The Payment is marked as “paid”, and both the Payment Method and Gateway ID are captured. |
Fundraising Recurring – Lookup & Update RD – change (template)
FCR, FBR, status = change/reject | Run when a recurring transaction record has a status of "change" or "reject", this mapping helps keep NPSP's Recurring Donations in sync with what is happening on the Engaging Networks side. This mapping: Updates an RD from "Active" to "Lapsed" if Engaging Networks has automatically suspended payments due to 3+ declines on the credit card. Updates an RD from "Active" to "Closed" if the Engaging Networks donation has been cancelled Updates an RD from "Active" to "Closed" if the Engaging Networks donation has been paused Updates the Day of Month and Amount if either of these has changed in Engaging Networks (e.g. if the donor upgrades their monthly gift) |
Fundraising Recurring - Card Update (template)
FRU | When a donor updates their payment card information in the Supporter Hub, or a user updates the donor's payment card information, the Parent Transaction ID for the recurring sequence changes. The FRU transaction allows us to look up the RD attached to the prior Parent Transaction ID (Transaction Data 11) and write the new Parent Transaction ID (Transaction Data 02) so future transactions can be properly matched to the correct parent RD. |
Fundraising In Memoriam (template)
FIM | When a tribute gift is processed in Engaging Networks, two transaction rows are generated. The first row is the financial detail (FCS/FBS), which is processed using the same mapping as non-tribute gifts, “Fundraising Single – Opportunity.” The second row is the In Memorium transaction (FIM). This mapping looks up the Opportunity created by the prior “Fundraising Single – Opportunity” rule and appends Tribute information to this Opportunity per the FIM transaction row. The sample mapping writes:
This mapping is a sample of processing tribute gifts. This rule will need to be customised for your situation, as the Tribute setup varies significantly between Engaging Networks configurations. For example, you likely offer Tribute Type = Memory as well, and you might offer the donor different options for sending an eCard, sending an email notification, or requesting that your organisation mail a letter on the donor’s behalf. You will need to update this mapping to reflect the options you expose to your donors, as well as the fields you have used to build your form. A common scenario is to use the “Reason for Gift” tagged field (Transaction Data 10) to indicate In Memory / In Honour selection, and the “Tribute Options” tagged field (Transaction Data 9) for the donor to select how they want a notification delivered to the honoree/designate. |
Event Purchase – Opportunity (template)
ECS, EBS, ECC | This mapping rule mirrors the “Fundraising Single – Opportunity” rule. See above. Note that the event mapping records the ticket purchaser (ECS/EBS/ECC) but not individual attendees (ETA). It captures “free” tickets as $0 opportunities. You will likely update this mapping rule to include a custom Record Type in your Salesforce org for ticket purchases. |
Event Purchase – Payment (template)
ECS, EBS, ECC | This mapping rule mirrors the “Fundraising Single – Payment” rule. See above. |
Refund Mappings
Refund – Opportunity (template)
RFD, EFD | This mapping creates a negative opportunity corresponding to a refund processed by Engaging Networks. It does not alter the original opportunity. |
Refund – Payment (template)
RFD, EFD | This mapping creates a negative payment corresponding to a refund processed by Engaging Networks. It does not alter the original payment. |
Peer-to-Peer Mapping Templates
The Peer-to-Peer specific mapping rules are designed to work with Salesforce's Campaign Hierarchy Structure and take advantage of summary functionality.
Each Campaign will summarise its members and opportunities, as well as the summary of each child campaign's totals.
Please note that the hierarchy limit in Salesforce is 5 levels. As templated, including Organizations and Teams, this hierarchy structure is 4 levels.
As with all Engaging Networks mappings, they can be customized to work with your Salesforce configuration.
If you are not using Organizations or Teams, excluding relevant templates from installation will not affect the other mapping templates.
Peer-to-Peer Site - Create Parent Campaign - PSTE (template)
PSTE | This mapping finds a Campaign record using the Page ID (EN Campaign ID), creates a new Campaign record if none is found, and updates the information. This Campaign represents the Site Donation Page and is the parent campaign for the hierarchy. |
Peer-to-Peer Site - Create Organization Page Campaign - PFOC (template)
PFOC | This mapping finds a Campaign record using the Page ID (EN Campaign ID), creates a new Campaign record if none is found, and updates the information. This Campaign represents the Organisation Donation page, which both the Team and Fundraiser Pages can be child pages of. |
Peer-to-Peer Site - Create Team Page Campaign - PFTC (template)
PFTC | This mapping finds a Campaign record using the Page ID (EN Campaign ID), creates a new Campaign record if none is found, and updates the information. This Campaign represents the Team Donation page, which Fundraiser Pages can be child pages of. |
Peer-to-Peer Site - Create Individual Page Campaign - PFRP (template)
PFRP | This mapping finds a Campaign record using the Page ID (EN Campaign ID), creates a new Campaign record if none is found, and updates the information. This Campaign represents the Fundraiser Donation page, and can be childed to any of the other Campaign types. |
Peer-to-Peer - Update Fundraiser's Team Campaign - Remove (PFTE) (template)
PFTE | This type represents the Engaging Networks action of removing a Fundraiser from a Team. This mapping finds a Campaign record using the Page ID (EN Campaign ID) and sets the Parent Campaign back to the Site-level campaign, removing it and all related opportunities from the hierarchy and placing them in a new place directly below the Site Campaign. |
Peer-to-Peer - Update Org Campaign of Fundraiser/Team - Remove (PFOE) (template)
PFOE | This type represents the Engaging Networks action of removing a Fundraiser or Team from an Organization. This mapping finds a Campaign record using the Page ID (EN Campaign ID) and sets the Parent Campaign back to the Site-level campaign, removing it and all related opportunities from the hierarchy and placing them in a new place directly below the Site Campaign. |
Peer-to-Peer - Update Org Campaign of Fundraiser/Team - Add (PFOA) (template)
PFOA | This type represents the Engaging Networks action of adding a Fundraiser or Team to an Organization. This mapping finds a Campaign record, using the Page ID (EN Campaign ID), and sets the Parent Campaign to the Organization campaign, moving it and all related opportunities to a new place in the hierarchy directly below the Organization Campaign. |
Peer-to-Peer - Update Fundraiser's Team Campaign - Add (PFTA) (template)
PFOA | This type represents the Engaging Networks action of adding a Fundraiser or Team to an Organisation. This mapping finds a Campaign record, using the Page ID (EN Campaign ID), and sets the Parent Campaign to the Organisation campaign, moving it and all related opportunities to a new place in the hierarchy directly below the Organisation Campaign. |
Peer-to-Peer - Update Campaign Page (TPPU, IPPU, OPPU) (template)
TPPU, IPPU, OPPU | This mapping updates existing campaign records (name, goal, etc.) to match Engaging Networks pages. If multiple changes occur in a single day, it will group changes and use the most recent record to update the campaign, ensuring all final updated data is included. |
Peer-to-Peer Single Donation - Opportunity (template)
PFCS, PFBS, PPAY, PACS | This mapping rule mirrors the Fundraising Single - Opportunity (see above). This mapping rule finds the appropriate campaign based on the Page the donation came through (Using the EN Campaign ID), rather than pulling in the Campaign ID set on a page. |
Peer-to-Peer Single Donation - Payment (template)
PFCS, PFBS, PPAY, PACS | This mapping rule mirrors the Fundraising Single - Payment (see above). |
Peer-to-Peer - Fundraising Recurring - New RD (template)
PFCR, PFBR | This mapping rule mirrors the Fundraising Recurring - Payment (see above). |
Peer-to-Peer - Fundraising Recurring - Opportunity (template)
PFCR, PFBR | This mapping rule mirrors the Fundraising Recurring - Opportunity (see above). |
Peer-to-Peer - Fundraising Recurring - Payment (template)
PFCR, PFBR | This mapping rule mirrors the Fundraising Recurring - Payment (see above). |
Peer-to-Peer - Fundraising In Memoriam (template)
PFIM | This mapping rule mirrors the Fundraising in Memoriam mapping. (see above). |
Peer-to-Peer - Refund - Create Reverse Opportunity (template)
PRFD | This mapping rule mirrors the Refund - Create Reverse Opportunity (see above). |
Peer-to-Peer - Refund - Create Reverse Payment (template)
PRFD | This mapping rule mirrors the Refund - Create Reverse Payment (see above). |








