Question
I'm getting an error message saying Name has already been taken (account sync) or Email has already been taken (contact or lead sync) when attempting to sync records from Salesforce to Zendesk. I've confirmed that the organization or user in Zendesk has the correct value to match based on the matching criteria within Admin Center. Why doesn't the integration find or update that record?
Answer
This error can appear for multiple reasons.
No Matching record could be found based on the Matching Criteria.
The default matching criteria rely on the name of the account in SFDC matching the name of the organization in Zendesk. This can be configured as documented here. If the integration does not find a matching record within Zendesk it will attempt to create a new record. The "name has already been taken" error could result if it failed to match but is attempting to create an organization whose name already exists within Zendesk.
To resolve this, you can adjust the object (either the organization in Zendesk or the Account in SFDC) to ensure the fields are set correctly to find a match. If you change data within Zendesk, you'll need to wait a minute or two before re-syncing the record from SFDC.
Another way to resolve this would be to adjust the matching criteria itself to rely on a field that's already set correctly.
Two records with the same information sync from Salesforce in a short amount of time.
This could also occur if a record were created or updated in Zendesk within a few minutes before the sync from Salesforce. If the search still needs to update its index with the object's current state, the integration will attempt to create something that already exists, leading to a collision.
To resolve this, wait a few minutes for search-indexing to take place and retry the failed syncs.
A previous sync is already matched to a Zendesk record.
When a record first syncs from Salesforce to Zendesk using matching criteria to identify if a matching record already exists, the existing record is updated. A new record is created if the integration doesn't find a matching record.
When a sync occurs, the integration saves a relationship between the source record in Salesforce and the target record in Zendesk. This relationship takes precedence over the matching criteria for future syncs. The benefit of this relationship is that it allows for a change to the matching field within Salesforce to update the existing organization within Zendesk.
To resolve this, synchronize accounts to organizations with matching criteria based on the Account Name in Salesforce being equal to the organization Name in Zendesk. This is the default setting.
For example, a new account is created in Salesforce with the name Spiffy Company and the organization ID: 0011H000024qFJdbic
. In Zendesk, there's already an organization named Spiffy Company Incorporated with the organization ID 12345. Since the name doesn't match the Spiffy Company account, the integration creates a new organization called Spiffy Company with an organization ID that would look different, for instance, 23456. It also stores a relationship between account 0011H000024qFJdbic
and the organization ID 23456.
A different Zendesk organization already uses the name you're trying to amend your Salesforce record to.
You can resolve this error by deleting one of the records in Zendesk. Delete either organization 1 or 2 and then re-synchronize the account from Salesforce. If the subsequent sync doesn't have a relationship, use the matching criteria to match with the original ID.