Issue symptoms
I enabled accounts to organization data sync from Salesforce to Zendesk but it doesn't sync. How do I resolve this?
Explanation and example
The Zendesk external ID is a system field that is unique across all organizations for a Zendesk account. If an external ID already exists, an attempt to create an organization with the same ID fails. This conflict occurs when a Salesforce legacy integration set the organization's external ID.
Below is an example scenario of how this issue occurs:
- An admin uses the legacy Salesforce integration to sync their account with Zendesk. The integration creates an organization named Spiffy Corp with a unique external ID.
- The legacy integration sync is removed and replaced with the new Salesforce integration
- In Salesforce, an admin changes the account name to Spiffy Corp, Inc
- Since the new integration didn't sync this account, it looks for a match based on criteria. It usually checks the account name against an organization name.
- Because an organization named Spiffy Corp, Inc doesn't exist in Zendesk, the integration attempts to create a new organization with the same external ID
- The sync attempt fails as the Spiffy Corp organization already uses that external ID
To confirm the sync failure is due to this conflict
- In Admin Center, go to Apps and integrations > Integrations > Integrations
- Click Salesforce and go to Configure > Data Sync > Accounts to Organizations sync > Matching criteria. This is commonly associated with name matching but, can also apply to other criteria.
- In the Salesforce account's URL, find and copy the account ID after
/Account/ - Enter the URL format below to see if there are any organizations in Zendesk that uses that external ID. Use your subdomain and replace
{YOUR_ACCOUNT_ID}with the ID you copied in step 3https://yoursubdomain.zendesk.com/agent/search/1?type=ticket&q=type%3Aorganization%20external_id%3A{YOUR_ACCOUNT_ID}
- Compare the matched criterion, such as the name, to the matched SFDC field under Matching criteria.
Resolution steps
Below are a possible solutions to this issue:
- Turn off the Populate Zendesk organization external ID to stop attempts from Salesforce to sync account IDs into the Zendesk external ID.
If the ID present in Zendesk is required, create a custom organization field and sync the account ID to a field in the standard field mappings instead - Remove the
external_idvalue from existing organizations. You can removeexternal_idthrough the Organizations API or with bulk import. - Correct the account names so that the account syncs successfully with the organization that matches the external ID. Once an account is successfully matched to an organization, subsequent changes to the account updates the organization's name, instead of creating a new one.