As described in the article Configuring Data Sync from Salesforce to Zendesk:
A data sync is triggered when a mapped field is updated in an existing Salesforce record, or a new record is created. Any unmapped fields that are updated do not trigger the sync.
The legacy integration did not fire when records were created or updated either in bulk or using the Salesforce API. This meant that a bulk-sync was sometimes required to update Zendesk for any records created/updated in this fashion.
The new Salesforce integration does not have this limitation. Bulk updates/API updates trigger a sync over to Zendesk, provided one of the mapped fields is changed. The following workflow outlines how to accomplish a bulk-sync-like function by updating many records in SFDC via the API.
For information on how to check your current rate-limit usage, see How can I check my Streaming API limits and usage?.
Although the following example deals specifically with account-syncing, a similar method can sync Contacts or Leads. Find below a walk-through of how to do this using two built-in SFDC tools:
- Create a custom checkbox organization field in Zendesk called Sync with Zendesk.
- Create a checkbox account field in Salesforce called Sync with Zendesk with a default value of False.
- Map the two fields to each other in the Admin Center:
- Create a report in SFDC that includes two pieces of information:
- SFDC account ID
- The Sync with Zendesk account-field from step 2
- Export the detail rows of the report from step 4 as a CSV.
- In the spreadsheet editor of your choice, update the Sync with Zendesk column of the CSV file to be True.
- Import the updated CSV back into SFDC (using a tool such as Dataloader) to update all of the accounts.
(be sure you use the BATCH API and not the Bulk API for this Upsert/Update)
- After updating the SFDC records, allow some time to ensure that the background jobs have time to complete. This timeframe varies depending on the number of records to be synced. For a few hundred records, this might only take a few minutes. For tens of thousands of records, it might take thirty minutes to an hour.
- Once all of your records synced, remove the mapping from step 3 and delete the fields created in steps 1 and 2. Alternately, you can leave them in place for later in case you need to manually trigger a sync in the future.