- Command to push/pull records from Salesforce
- Custom Object Information
- Prepare Resonance CDP
- Create a Salesforce CRM account if you don’t have one already.
- Your Mautic instance has to run on
https://.Salesforce will not allow you to create an App with a
Configure the Mautic Salesforce plugin #
Authorize App #
There is official documentation about how to get the Consumer Key and Consumer Secret although it doesn’t seem to be updated.
Follow these steps to get the Salesforce Consumer credentials
- Click on Setup (top right corner)
- Scroll down to Build in bottom left corner
- Scroll down to Connected Apps
- Click New
- Create a new app like this:FieldValueConnected App NameResonanceAPI NameResonanceContact Emailyour Salesforce account emailDescriptionIntegration with MauticEnable OAuth Settings
<ticked>Callback URL https://example.com/plugins/integrations/authcallback/SalesforceSelected OAuth ScopesAccess and manage your data (api), _Perform requests on your behalf at any time (refresh_token, offlineaccess)Make sure the Selected OAuth Scopes are Access and manage your data (api) and Perform requests on your behalf at any time (refresh_token, offline_access).
- Copy the Consumer Key and Secret.
- Insert the credentials from the Salesforce App into the Resonance Salesforce plugin and Authorize App.Consumer ID is the Consumer Key
- Configure the field mapping.
Enabled features #
- You can pull leads and/or push leads from and to the integration.
- Push leads is done through a Form action or a Campaign action.
- Pull leads is done through command line and it can be setup as a cron job.
Feature specific settings #
- Sandbox – when using a sandbox account to test, Resonance will use the test URL for the API provided by Salesforce.
- Updating of a Contact’s Owner can be be enabled by turning on Update Contact Owner. This is not enabled by default. In order for a Contact in Resonance to match a User in Salesforce the email addresses in the two systems must be identical.
- If Update blank values is checked
- When pulling contacts from Salesfoce: it will check for fields mapped fields in Resonance and it will update these fields with Salesforce data regardless of the arrow direction set in the configuration.
- When pushing data to Salesforce it will check for blank mapped fields in Salesforce and it will update these with Resonance CDP’s data regardless of the directions of the arrows setup in the configuration.
- Select the objects you wish to pull or push records from.
- You can push Resonance Contacts to the Lead and Contact object in Salesforce.
- You can push activities (Contact’s timeline records) to a custom object in Salesforce.
- Pulling records will be done from Leads and/or Contacts objects into Contacts in Mautic and Accounts from Salesforce will be pulled into Resonance Companies.
Command to push/pull records from Salesforce #
To push or pull records from Salesforce you need to run the Mautic integration commands:
Pull records from the Leads object in Salesforce #
php bin/console mautic:integration:synccontacts --integration=Salesforce
mautic:integration:fetchleads is a alias of this command.
Push activities to the Salesforce custom object described below #
php bin/console mautic:integration:pushactivity --integration=Salesforce
mautic:integration:pushleadactivity is a alias of this command.
Both commands take these parameters:
Usage: mautic:integration:pushactivity [options] mautic:integration:synccontacts [options] Options: -i, --integration=INTEGRATION Integration name. Integration must be enabled and authorised. -d, --start-date=START-DATE Set start date for updated values. -t, --end-date=END-DATE Set end date for updated values. -a, --time-interval[=TIME-INTERVAL] Send time interval to check updates on Salesforce, it should be a correct php formatted time interval in the past eg:(-10 minutes)
--time-interval This parameter is used to setup the amount of time we want to pull records from. Possible entries: “-10 days”, “-1 day”, “-10 minutes”, “-1 minute”. Maximum time interval “-29 days”.
Setting up Resonance Custom Object in Salesforce #
To be able to push Contact timeline activities to the Salesforce integration you need to setup a Custom Object in Salesforce, as described below.
We will describe the name of the fields and object that result after completing the process of creating the Custom Object.
In this example, Salesforce has given the Custom Object a namespace name of
mautic__. (Note: there are two underscores with no space between).
Use the text in bold when creating your custom fields.
Custom Object Information #
|Custom Object name||(namespace)resonance_timeline|
|Namespace Prefix||resonance(no underscores)|
Custom Fields & Relationships #
API names of fields:
ReferenceIdmust be set as a unique field in Salesforce to prevent duplicating activity entries
|Field Label||API Name||Data Type||Indexed|
|Description||(namespace)Description\__c||Long Text Area(131072)||.|
|MauticLead||(namespace)MauticLead\__c||Number(18, 0) (External ID)||.|
When enabling the activity object, you need to tick the Activity checkbox in the Resonance plugin configuration and also specify the namespace prefix if it’s available in Salesforce
You can filter what contact timeline activities to push to your custom object in Salesforce using the Events to include in the activity sync selector. If this is left blank all activity types will be pushed to your activity object in Salesforce.
Salesforce Campaigns and Resonance #
Resonance can communicate with Salesforce campaigns through trigger actions in Resonance Campaigns and Forms, and through Resonance Segments.
In Resonance Campaigns #
In a campaign you can Push contacts to Salesforce integration, to a specific campaign. From the configuration window you can select the campaign and the status you wish your campaign members to have when inserted to the Salesforce campaign.
Follow similar procedure for a Form action to push to Salesforce integration.
In Resonance Segments #
You can create a Resonance Segments composed of Contacts that are in a Salesforce campaign. To do this create a segment filter Integration Campaign Member option, then in the filter properties select the name of the campaign you wish to get campaign members from.
Syncing Salesforce Email Opt Out with Resonance Do Not Contact #
Prepare Salesforce #
In Salesforce, make sure the Email Opt Out field is visible to edit and that field history tracking has been set for the Email Opt Out field.
1-Under the Setup menu, go to Build -> Customize then do the following for each of Lead and Contact’s layouts
2- Add the Email Opt Out field
3- Continue by going to the customise fields
4-Select the Email Opt Out field and edit the field level security option
5- Check to see if the field is visible at all levels. If not, select it and save.
6- Setup Field History by going to Setup->Customize->Leads->Fields menu (and also the Contacts fields menu) and Set History Tracking on the Email Opt Out fields
Prepare Resonance CDP #
- In Resonance CDP’s configuration for the Salesforce integration, on the Features tab, check the box to
Use latest updated Do Not Contact record
- Map the Salesforce
Email Opt Outfield to Mautic’s
Do Not Contact by emailfield
- Now the Do Not Contact status will update to the integration