For the Lead, Contact, and Account entities, it's possible to define a specific synchronization configuration. On the Configuration page on the right, the following context bar appears:
Lead salesforce configuration
Click on the Lead option in the menu on the right.
To update the configuration settings for Leads from Salesforce, click on the link Update the complete list of fields from Salesforce. The page reloads as follows on the Import tab:
For the Lead entity, it is advisable to create a dedicated database. The key field should be the Username, so that it appears in the list among the selectable target databases:
Always set the destination database on the platform with the key field
Username
case sensitive by selecting, in the section Primary key and index management the option Consider case sensitivity for primary key field values.Import/update leads
The import/update of Leads can be automatic and/or manual.
- The automatic import is a periodic operation, executed every set number of hours (e.g., 24), for which the date and time of the next execution can be defined:
- The manual import is an on-demand operation, which can be executed on the Synchronization status page, accessible from the context bar present at the top right
- or by following the path in the menu
Management > Salesforce > Synchronization status
On this page, to execute the import of the Leads, simply click on the Import now button:
Recipients can also be synchronized during the import of a Salesforce campaign (see the section dedicated to campaign synchronization).
Lead configuration options
Options can be configured, such as:
- sending a welcome message to newly imported Leads
The welcome message is sent only to contacts that are imported and added for the first time on the platform with status Subscribed.
- not updating Leads already present in the database
- When this option is active, during import, the platform “considers” only the contacts that are not yet present in the database (already present contacts are thus ignored).
- Unsubscribing all the Leads that have been removed in Salesforce
Import filter
Enabling and defining an import filter, with one or more conditions, allows the inclusion or exclusion of contacts from the import/update operations, based on Salesforce fields:
You can set the filter so that all conditions or at least one condition are considered:
Conditions are added by clicking the Add condition button, and all fields present in Salesforce are displayed, along with logical operators:
With the Count button you can check how many Salesforce contacts meet the set filter at the time of the click.
Example of an import filter.
This filter imports only contacts that have an email and/or a source categorization for lead different from other
.
If the import filter is modified after the entities have been imported, the contacts already present on the platform will not be removed/excluded.
Return on Salesforce of import errors
This feature allows you to update on custom fields of Salesforce entities the status of the last synchronization
As reported in the Platform-SalesforceConnector_prerequisites manual, on your Salesforce installation, it is necessary to create the fields needed - for the Lead entity - to accommodate the information exported by the connector:
Mapping of Salesforce fields to platform fields
In Salesforce, there are fields managed - of different types - that allow you to collect personal and profiling information on Leads. Similarly, the platform also allows you to manage and configure a list of fields - also of different types.
The different types of fields in Salesforce are:
- String
- Textarea
- Url
- Phone
- Boolean
- Integer
- Double
- Percent
- Currency
- Number
- Date
- DateTime
- Picklist
- Multi Picklist
The different types of fields on the platform are:
- Text (string)
- Multiline text (string)
- Yes/no (boolean)
- Number (integer or decimal)
- Date (date or date and time)
- List of values (enum)
- Multi-value list of values (enum multivalue)
Below is an example of default configuration
With the Add an association button, it is possible to map other fields between Salesforce and the platform:
For each field type in Salesforce (e.g., string), the system only proposes fields whose data type is convertible on the platform (e.g., text).
For conversions from Picklist
fields (Salesforce) to Value List type fields (platform), it is necessary to define a transcoding table. Each value of the Salesforce field can be associated with a value of the platform field. For values not associated in the table, the default value is used:
For convenience, a summary table is provided below illustrating the field associations between Salesforce and the platform for the import task:
Export of leads
In the Export tab, it is possible to activate the Enable export option:
This feature allows you to export fields (e.g., with statistical data) from the platform to Salesforce.
The export can be automatic:
and/or manual by following the path
Management > Salesforce > Sync status:
Options
In the Options section, you can configure an export filter that will narrow down the selection of information to export.
To apply it, activate the Enable export filter option.
You will be shown the Edit filter button which allows you to create the conditions to apply to your database.
Once its configuration is complete, click on Apply changes to save your preferences.
At this point, the filter will be applied to subsequent exports.
By clicking on the Count filter contacts button, you can find out how many contacts will be selected in the next export.
The filter cannot change the selection of the database and the type of entity (Account/Contacts/Leads) configured in the settings. Furthermore, by default, all contacts are selected regardless of their status.
The field mapping occurs similarly to what was illustrated for the import task:
It's not possible to map the same Salesforce field both during the import and export phases.
As an example, below is a sample type of fields that can be mapped for data export from the platform to Salesforce:
For convenience, below is a summary table that illustrates the field associations of Salesforce and the platform for the export task:
Salesforce contacts configuration
The same considerations apply as those included for Leads.
Salesforce accounts configuration
The same considerations apply as those included for Leads.
Post-submission events
When a contact unsubscribes, on the platform their status changes from "Subscribed" to "Unsubscribed," but this information is not reported back to Salesforce during daily synchronizations, which could lead to unintentional reactivation of the contact.
One way to keep Salesforce updated on the subscription status of contacts is to create a custom field ad hoc on Salesforce contacts (entity Lead / Account / Contact) and subsequently set its value during unsubscription from the newsletter.
Follow these steps:
- Create a checkbox field on Salesforce on the entity (Lead, Account, Contact) you are configuring (e.g., newsletter_subscribe) and activate it for all contacts you want to import onto the platform.
- Activate the option Unsubscribe contacts if they are not present in the CRM or excluded by the import filter
- Add the condition from the Add Condition button (e.g.: Salesforce Field: newsletter_subscribe, Operator "Equals"; Value: "True")
- Activate the option Enable import filter, with the action “Exclude” and the condition “At least one condition is true”
Example:
- To insert the action Edit a field on Salesforce, access the unsubscribe flow page of the database (remember that unsubscription always depends on the database where the contacts are located; in the case of the example above, we applied the exclusion filter to the Salesforce Contacts entity, whose destination Database is Salesforce Contacts):
Contacts > Database > Salesforce Contacts > Contact Flows > Unsubscription - Click on the unsubscription flow from the style edit pencil
- Entering the single flow, from the Result Tab, go to the form page edit view and click on the Confirm edit button
- On the page that opens, choose the action Edit a field on Salesforce
- On the screen that will open, enter:
- In the Entity field: the type of contact on Salesforce, in our example Lead;
- In the Field: the ID name that you can retrieve from the field on Salesforce (in our example newsletter_subscribe__c);
- In the Value field: the value to assign to the field, in our case “false” (the values for boolean fields are: “true” / “false”).
The non-reimportation logic is therefore the responsibility of the Administrator, who will have to insert a specific import filter for that field in the synchronization configuration. In the example, contacts with the field “newsletter_subscribe=true” on Salesforce are initially imported onto the platform. But if a contact receives the newsletter and clicks the unsubscribe button, this causes the unsubscription from the platform and at the same time the update of the field “newsletter_subscribe=false” on Salesforce.
During the next synchronization, the contact is no longer reimported onto the platform because it is excluded by the import filter, which no longer finds the condition “newsletter_subscribe=true”.
If the contact has meanwhile become active again, they are unsubscribed during synchronization by the action of the option Unsubscribe contacts if they are not present in the CRM or excluded by the import filter, ensuring that unsubscribed contacts do not become subscribed again daily.