Synchronize data between Campaign and your CRM data-synchronization
Data synchronization between ÃÛ¶¹ÊÓƵ Campaign and your CRM is managed by the CRM Connector workflow activity.
For example, to import the Microsoft Dynamics data into ÃÛ¶¹ÊÓƵ Campaign, create the following type of workflow:
This workflow imports the contacts via Microsoft Dynamics, synchronizes them with the existing ÃÛ¶¹ÊÓƵ Campaign data, deletes duplicate contacts, and updates the ÃÛ¶¹ÊÓƵ Campaign database.
The CRM Connector activity needs to be configured to synchronize data.
With this activity you can:
- Import from the CRM - Learn more
- Export to CRM - Learn more
- Import objects deleted in the CRM - Learn more
- Delete objects in the CRM - Learn more
Select the external account that matches the CRM that you want to configure synchronization with, then select the object to synchronize: accounts, opportunities, leads, contacts, etc.
The configuration of this activity depends on the process to be carried out. Various configurations are detailed below.
Import from the CRM importing-from-the-crm
To import data via the CRM in ÃÛ¶¹ÊÓƵ Campaign, you need to create the following type of workflow:
-
Select an Import from the CRM operation.
-
In the Remote object drop-down list, select the object to import. This object match with one of the tables created in ÃÛ¶¹ÊÓƵ Campaign during connector configuration.
-
In the Remote fields section, enter the fields to be imported.
To add a field, click the Add button in the toolbar, then click the Edit expression icon.
If necessary, change the data format using the drop-down list of the Conversion columns. Possible conversion types are detailed in this section.
note caution CAUTION The identifier of the record in the CRM is mandatory for linking objects in CRM and in ÃÛ¶¹ÊÓƵ Campaign. It is added automatically when the box is approved. The last modification date on the CRM side is also mandatory for incremental data imports. -
You can filter the data to be imported based on your needs. To do this, click the Edit the filter… link.
In the following example, ÃÛ¶¹ÊÓƵ Campaign will only import contacts for which some activity has been recorded since Nov 1st 2021.
note caution CAUTION The limitations related to data filtering modes are detailed in this section. -
Select the Use automatic index… option to automatically manage incremental object synchronization between your CRM and ÃÛ¶¹ÊÓƵ Campaign, depending on the date and their last modification.
For more on this, refer to this section.
Manage variables variable-management
Activate the Automatic index option to collect only objects modified since the last import.
The date of the last synchronization is stored in an option specified in the configuration window, by default: LASTIMPORT_<%=instance.internalName%>_<%=activityName%>.
yyyy/MM/dd hh:mm:ss
.You can specify the remote CRM field to be taken into account to identify the most recent changes.
By default, the following fields are used (in the specified order):
- For Microsoft Dynamics: modifiedon,
- For Salesforce.com: LastModifiedDate, SystemModstamp.
Activating the Automatic index option generates three variables that can be used in the synchronization workflow via a JavaScript code type activity. These activities are:
-
vars.crmOptionName: name of the option that contains the last import date.
-
vars.crmStartImport: start date (included) of the last data import.
-
vars.crmEndDate: end date (excluded) of the last data import.
note note NOTE These dates are displayed in the following format: yyyy/MM/dd hh:mm:ss
.
Filter data filtering-data
To ensure efficient operation with the various CRMs, filters need to be created using the following rules:
- Each filtering level may only use one type of operator.
- The AND NOT operator is not supported.
- Comparisons may only concern null values (‘is empty’/‘is not empty’ type) or numbers. This means that the value (right-hand column) is assessed and the result of this assessment must be a number. JOIN type comparisons are therefore not supported.
- The value contained in the right-hand column is assessed in JavaScript.
- JOIN comparisons are not supported.
- The expression in the left-hand column must be a field. It cannot be a combination of several expressions, a number, etc.
Order by order-by
In Microsoft Dynamics and Salesforce.com, you can sort the remote fields to be imported in ascending or descending order.
To do this, click the Order by link and add the columns to the list.
The order of the columns in the list is the sorting order:
Record identification record-identification
Rather than import elements included (and possibly filtered) in your CRM, you can use a population calculated beforehand in the workflow.
To do this, select the Use the population calculated upstream option and specify the field that contains the remote identifier.
Then select the fields of the inbound population that you want to import, as shown below:
Export to the CRM exporting-to-the-crm
Export ÃÛ¶¹ÊÓƵ Campaign data into your CRM to copy its entire contents to your CRM database.
To export data to your CRM, create the following type of workflow:
-
Select an Export to CRM operation.
-
Go to the Remote object drop-down list and select the object to export. This object matches with one of the tables created in ÃÛ¶¹ÊÓƵ Campaign during connector configuration.
note caution CAUTION The export function of the CRM Connector activity can insert or update fields on your CRM. To enable field updates in the CRM, specify the primary key of the remote table. If the key is missing, data will be inserted, instead of being updated. -
If you need to perform faster exports, check the Export in Batches option.
-
In the Mapping section, click New to specify the fields to be exported and their mapping in your CRM.
To add a field, click the Add button in the toolbar, then click the Edit expression icon.
note note NOTE If no match is defined for a field, the values cannot be updated: they are inserted directly into your CRM. If necessary, change the data format using the drop-down list of the Conversion columns. Possible conversion types are detailed in this section.
note note NOTE The list of records to be exported and the result of the export are saved in a temporary file that remains accessible until the workflow is finished or re-started. This enables you to start the process safely in case of errors.
Additional configurations additional-configurations
Data format data-format
You can convert data format on the fly when importing them to or from your CRM.
To do this, select the conversion to be applied in the matching column.
The Default mode applies automatic data conversion, which in most cases equals a copy/paste of the data. However, time zone management is applied.
Other possible conversions are:
- Date only: deletes Date + Time type fields.
- Without time offset: cancels the time zone management applied in the default mode.
- Copy/Paste: uses raw data such as strings (no conversion).
Error processing error-processing
Within the framework of data imports or exports, you can apply a specific process to errors and rejects. To do this, select the Keep the rejections in a file and Process errors options in the Behavior tab.
These options add the related output transitions.
Then insert the relevant activities to process data. For example, add a Wait activity and schedule retries for errors.
The Reject output transition lets you access the output schema that contains the specific columns relevant to error messages and codes. For Salesforce.com, this column is errorSymbol (error symbol, different from the error code), errorMessage (description of the error context).
Import objects deleted in the CRM importing-objects-deleted-in-the-crm
You can import objects deleted in your CRM into ÃÛ¶¹ÊÓƵ Campaign.
-
Select an Import objects deleted in the CRM operation.
-
Go to the Remote object drop-down list and select the object concerned by the process. This object matches with one of the tables created in ÃÛ¶¹ÊÓƵ Campaign during connector configuration.
-
Specify the deletion period to be taken into account in the Start date and the End date fields (dates are included).
note caution CAUTION The deletion period must coincide with your CRM specific limitations. For example for Salesforce.com, elements deleted over 30 days ago cannot be recovered.
Delete objects in the CRM deleting-objects-in-the-crm
To delete objects on your CRM, specify the primary key of the remote elements to be deleted.
The Behavior tab lets you enable the processing of rejects. This option generates a second output transition for the CRM connector activity. For more on this, refer to Error processing.