Salesforce Connector – Transaction Mapping

Outside of Contact syncing, another key process of this integration is how to represent supporters’ actions from Engaging Networks inside Salesforce.

Engaging Networks is initially providing a collection of mappings focused for clients using the NonProfit Success Pack.

For reference, JSON representations of the mappings can be found at the Engaging Networks GitHub repository : https://github.com/EngagingNetworks/salesforce-connector-mappings

These template mappings are provided as a way to easily set up ‘Mapping Rules’ to the Engaging Networks Salesforce Connector App.

However, Salesforce admins will be happy to know that a lot of flexibility is on offer to either tweak or create custom mapping rules to match business requirements.

Using Transaction Mapping

On first access of the Transaction Mapping interface, you will be met with a number of Mappings whose status is ‘Install’.

On hitting ‘Install’, Engaging Networks will use Salesforce’s REST APIs to push the respective template to the connected org.

After going through the install process for a mapping, if you head to Salesforce within the Engaging Networks Connector App and look under the Mapping Rules navigation – you will see that the ‘rule’ is now present:

If you click on the down arrow and select Edit (for any mapping), the screen that follows is the actual configuration for this mapping.

It is important to understand that the Transaction Mapping screen in Engaging Networks provides a ‘slimmed down’ interface to Mapping Rules set in Salesforce.

The Engaging Networks Connector App in Salesforce does the work of reading the Mappings Rules and processing the staging objects each day.

Through Engaging Networks, users can only alter the primary mapping fields which transfer information from the staging record to the respective object. Altering advanced mapping behaviour, like the query rules or matching rules – must be done inside of Salesforce. In fact you can edit and manage the entirety of the mappings from Mapping Rules.

If an admin deletes a Mappings Rules from Salesforce, Engaging Networks’ reference to that Mapping Rules will be deleted as well. When you load the Transaction Mappings screen, Engaging Networks is actually calling and listing the Mapping Rules held inside Salesforce.

Once the processing job is scheduled, the Engaging Networks Connector App will process ‘Active’ mappings, in priority order.

Fundamentally, Mapping Rules tells how data on the staging objects should be referenced in Salesforce.

To explain this process further, we will take a look at the first two mappings.

Advocacy – Create Campaign Member (template)

On installation of this mapping, a screen will show confirmation that it has been installed.

What this particular Mapping Rule does is find staging records, whose Transaction Type is PET, ETT, CTT or TWT which don’t have a SFDC CampaignMember Id value present.

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 which do have a SFDC CampaignMember Id value present.

There reason why SFDC CampaignMember Id would be present on the staging record is due to a trigger, installed with the package.

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 SFDC CampaignMember Id.

This then allows for this mapping rule to set the CampaignMember’s Status to Responded.