Question
The legacy Salesforce integration included a sync-many function. How can I do something similar using the new Salesforce integration?
Answer
A data sync triggers when a mapped field is updated in a Salesforce record, or if a new record is created. Updated unmapped fields do not trigger the sync. See this article for more information: Configuring Data Sync from Salesforce to Zendesk.
The legacy integration did not fire when records were created or updated, either in batches or using the Salesforce API. A manual batch-sync was required to update Zendesk for any records created or updated in this fashion.
The new Salesforce integration does not have this limitation. Batch updates and API updates trigger a sync over to Zendesk, provided one of the mapped fields is changed. Follow this workflow to accomplish a batch-sync function, which updates many records in SFDC via the API.
For information on how to check your current rate-limit usage, see the following article: 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. While this explanation includes the creation of a new custom field within Salesforce, a checkbox field is not required for this method. The only requirement is that a non-formula field is present in SFDC and mapped within Admin Center, which can be modified in batches to trigger the streaming API event on which the sync is based.
Here are steps to sync many records using two built-in SFDC tools:
-
Create a custom checkbox organization field in Zendesk called Sync with Salesforce.
- 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: https://yoursubdomain.zendesk.com/admin/platform/integrations/salesforce/accounts_organizations
- 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 the opposite of whatever it was before. If it was false, then set to true or the opposite.
- Import the updated CSV back into SFDC, using a tool such as Dataloader, to update all the accounts.
Use the BATCH API and not the Bulk API for this Upsert or Update.
- After updating the SFDC records, allow some time for the background jobs 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 records synced, remove the mapping from step 3 and delete the fields created in steps 1 and 2. Alternately, leave them in place to manually trigger a sync in the future.
20 comments
Brendan Dodgson
I'm also finding that the bulk sync process is not working. Were you able to resolve this for the customer above @...?
0
Dwight Bussman
Hi @...,
When we reached out, Jonny had already resolved this issue, saying that they got the sync to work by creating a "sync with salesforce" and "sync with zendesk" flag. I'm not sure whether that means a checkbox field, but it sounds similar to the steps described above.
There are a few different reasons that the bulk-sync process above might fail. As such, I'll look to see if you've already got a ticket open with our Support team and reach out therein if so, or create one if not.
0
Kevin Lewis
Is this still the best method to perform a bulk sync of organizations to ZD? It seems silly that this would be the case since you all talked about including a bulk sync to match parity of the old installation a few years ago.
0
Ekaterina Sumolaynina
Hi @...,
Unfortunately, yes - at this moment there's no native function that would allow you to bulk sync the Salesforce accounts with ZD organizations, so this is considered to be the best workaround. I'd recommend following our release notes page in case if there's any updates regrading SFDC integration functionality.
0
Ad Astra Support
@... THANK YOU so much for this article! This has saved us so much manual work and wasted time! You are a life saver!
0
Dwight Bussman
@... - Glad to hear! :) Always nice to hear when these little tip articles are useful.
0
Dave Jensen
My organization is experiencing issues with data syncing from SFDC>ZD. What would negatively occur if we did not remove the mapping in Step 3 (as instructed to do in Step 9)? I'm wondering if leaving that mapping in place is causing our issues
0
Dwight Bussman
heyO Dave Jensen
There shouldn't be any impact to leaving that checkbox field mapped: it's just another way to trigger the sync. If you're having issues, I recommend contacting support to dig into your issues more closely, as I doubt they're related to that field.
0
Kevin Lewis
The mapping worked for us at the time of setting up the sync, but it has not continued dynamically. I sent in a ticket about a week ago, but I am still waiting to hear back. I hope we can figure out why the updates made in Salesforce going forward are not updating the Organizational fields in ZD.
0
Dwight Bussman
HeyO Kevin Lewis
Sorry to hear that your syncing isn't working at the moment. I'm going to see about the ticket you've already opened. Someone should be contacting you shortly therein.
0
Sachin Sharma
Can I sync Zendesk with Salesforce person account?
0
Dwight Bussman
I believe Person Accounts can be synced into Organizations in Zendesk (similar to standard Accounts), but would recommend testing this to confirm that it works as you'd expect.
0
Bree Lewis
I've also followed the steps and created a field in both Salesforce and Zendesk and the sync doesn't work with existing organizations.
0
Dwight Bussman
HeyO Bree Lewis
Sorry to hear you're having difficulties. Please contact our support team to look into this more closely
0
Laura Mirto
Hello,
We currently use this mapping feature to import customer information into Zendesk from Salesforce. One of the options we use is to map with the customers' domain. Most of our customers use a ".com" in their domains, but when they use something else like ".at" it doesn't map. Is there a way to fix this issue?
Thanks,
Laura M
0
Dwight Bussman
HeyO Laura Mirto
When you say "doesn't map" - do you mean that it doesn't sync over from Zendesk to Salesforce? Or that it gets added to the organization but that fails to pull users into the org as you'd expect?
In either case, that sounds like something for which I'd recommend contacting support to take a closer look.
0
Laura Mirto
Hi Dwight,
It did not sync over at all.
Kind regards,
Laura Mirto
0
Dwight Bussman
0
Jason Wong
Will this scenario work for cases when the Account was not initially sync'd but a mapped field in the criteria is changed? I have a situation where an Account was manually created, updated via upload but now a mapped field was updated but the update was not pushed to Zendesk. By doing this forced batch sync will that link the two records back together?
0
Dwight Bussman
HeyO Jason Wong
I recommend checking the integration logs at the time of the update to see if it attempted to sync. It's possible the sync of that record failed for some other reason. If that was more than 7 days ago, you could try to make an update to that same field within the Account in Salesforce manually to trigger another sync. If that is successful, the batch process could be used to “nudge” many Accounts. to sync.
For questions about a specific sync, I recommend contacting our support team so we can take a closer look at logs for your specific Zendesk.
0