Set-up a Salesforce Sync Profile

Overview

Enabling Salesforce synchronization entails a number of steps, namely:

  1. Set-up a connection profile - This allows BillingPlatform to connect to the remote Salesforce system.
  2. Create a sync job - This creates the actual job and entity/field mapping that will push/pull data between the two systems. This will require a connection profile to be able to know what Salesforce system it will connect to.

This section will describe the steps needed to complete the processes above.

Procedures

Step 1: Set up a Connection profile.

Go to Setup > Data Management > Salesforce Data Sync and then click the Connections tab. This will display the existing connection profiles if any such as the screenshot below.

Click the New Connection button to create a new profile or click an existing profile is you just need to update it. The data entry page is then displayed such as the one below:

Fill in the details as appropriate using the reference table below for more details on the fields:

Field Definition
Field Description
Connection Type Indicates the type of connection. Test is normally used when the sync is still being tested and then set to Production when the sync is ready to go live.
Name Unique name of the connection profile.
Username Salesforce username to be used to log into the remote Salesforce instance.
Password Salesforce password of the username to be used to log into the remote Salesforce instance.
Public Key Public key to be used from the OAuth-enabled settings in Salesforce. Refer to the API documentation of Salesforce in order to generate this.
Secret Secret key to be used from the OAuth-enabled settings in Salesforce. This goes hand in hand with the Public Key value and is obtain from the Salesforce instance.

Click Test Connection to try and connect to the Salesforce instance. A pop-up containing the status of the connection test will be displayed. If the test is not successful, it will display the error encountered by the platform when trying to connect to the Salesforce instance such as the example below:

Click Save to finish setting up the new connection (or updating an existing connection).

Step 2: Create a Sync Job.

Go to Setup > Data Management > Salesforce Data Sync and then click the Sync Jobs tab. This will display the existing connection profiles if any such as the screenshot below.

Click the New Job button to create a new sync job, or click an existing job to view/udpate its details. The data entry page is displayed such as the one below:

Fill in the details of the object to object mapping by entering the appropriate data. Refer to the field definition below for more details on what information is needed in each field.

Field Definition
Field Description
Connection Select the connection profile that will be used for the job.
Job Name Unique name of the job. It is recommended to be descriptive and short when putting together the name of the job. 
Batch Size Indicates the number of records to pull or to push to/from Salesforce. Maximum data push and pull for Salesforce is typically 25 due to application limitations so records are synced in batches.
Job Status Indicates the status of the job whether it is ACTIVE and will perform the sync or INACTIVE where the sync will not be done. 
Migration Direction

Indicates the direction of the job sync. It can either be:

  • from Salesforce to BillingPlatform
  • from BillingPlatform to Salesforce 
Type

Indicates the type of sync that will be done. Available options are:

  • UPSERT - Requires an external key to determine if the data will update an existing record in the destination system or if a new one will be created.
  • CREATE - Data will always be created in the destination system. This assumes that the record does not exist in the destination system. Otherwise, the sync will fail.
  • UPDATE - Data will always be updated in the destination system. This assumes that the record exists in the destination system. Otherwise, the sync will fail.
Salesforce Object  Indicate the object in Salesforce where the data will be coming from (or pushed if it is a BillingPlatform to Salesforce sync).
BillingPlatform Object Indicate the entity in the platform where the data will be come from (or pushed if it is a Salesforce to BillingPlatform sync). 
Upsert Fields

Applicable when the sync type is UPSERT. Otherwise, this section is hidden. This table allows for the mapping to the destination system's external fields. If the field value(s) is(are) not existing in the destination system, the record will be created. Otherwise, the existing record will be updated.

Column Description
Salesforce Field in the Salesforce object where the data will be taken/pushed.
BillingPlatform Field in the BillingPlatform entity where the data will be taken/pushed.
Constant Field String constant if the field value is not expected to change whenever the sync job executes.
Field Mapping

Add the field mappings between the source system and destination system relative to the object/entity to be synced.

Column Description
Salesforce Field in the Salesforce object where the data will be taken/pushed.
BillingPlatform Field in the BillingPlatform entity where the data will be taken/pushed.
Constant Field String constant if the field value is not expected to change whenever the sync job executes.
Source Filter

Allows the definition of field value filters on the source system. For example, only certain values in the ACCOUNT.AccountType field need to be synced c/o this job. The filter for the field can be added in this table.

Column Description
Source Field Field that will be used for the filter. This can either display the Salesforce object's fields or the BillingPlatform entity field depending on the Migration Direction value.
Operation Comparison operator.
Value String literal that the field value will be compared to.
Criteria Join Similar to the other criteria filters in the platform, this allows for the use of logical operators and groupings after entering the various field criteria. For example:
1 AND (2 OR 3)
Run Cycle Indicates the interval when the sync job is executed.
Date Start On If the job is expected to start on a specific schedule (e.g. to run every midnight, enter the date and 00:00:00).

After completing the sync job details, it can be immediately tested using the Test Sync button. It will display a pop-up with the result of the test. If it fails, it will display the error encountered similar to the Test Connection feature of the Connection Profile.

Click Save when you are happy with the sync job. If the Job Status is set to ACTIVE, it will execute on the date and time indicated in the Date Start On field and will run in regular intervals depending on the frequency selected in the Run Cycle field.

Step 3. Validate the sync activities

The Salesforce Data Sync feature synchronizes objects on a per-record basis. In order to confirm that the synchronization is happening correctly, verify that the synced records after the sync job runs are the same or are as expected based on the sync job configuration and mapping between Salesforce and BillingPlatform.

Related Topics

Have more questions? Submit a request

Comments

Powered by Zendesk