This synchronization process is defined in the pipeline batch xDB Contacts to Salesforce Sync Pipeline Batch.
The contact synchronization process involves the following steps:
- Read contacts from xDB.
- Loop through the contacts from xDB. For each contact:
- Get the Salesforce contact that corresponds to the xDB contact if one exists, otherwise create a new Salesforce contact.
- Apply value mappings by reading values from the xDB contact and writing those values to the work queue entry.
- Read Salesforce contacts from work queue.
- Loop through the contacts from the work queue. For each contact:
- Add the contact to a batch that can be submitted to Salesforce.
Submit the batch to Salesforce.
Loop through Salesforce contacts that were created. For each Salesforce contact:
Get the xDB contact.
Set the Salesforce contact id on the xDB contact.
Writing data back to the xDB contact is needed so that the Salesforce contact id is set on the xDB contact. This facilitates future synchronization.