The Zendesk for Salesforce integration provides one-way data sync from Salesforce to Zendesk Support. This article describes how to set up two types of data sync:
- Salesforce accounts to Zendesk organizations — Zendesk organizations in Support are automatically created and updated when Salesforce Accounts are created or modified.
- Salesforce Contacts or Leads to Zendesk users — Zendesk users in Support are automatically created and updated when Salesforce Contacts or Leads are created or modified.
Related articles:
Understanding the data sync process
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.
When a Salesforce record is created or changed, the syncing process attempts to establish whether a new record in Support should be created, or if an existing record should be updated. This is done by comparing field values based on the defined criteria.
Once a successful match of existing records has been made, or a new record has been created in Support, the Salesforce record and the Support record are linked. This means that subsequent updates to the record in Salesforce doesn't use matching criteria, but instead updates the linked record in Support.
If more than one matching result is found, the sync is unable to determine which record needs to be updated. Because this is a background process, the ongoing sync won't update any of the records, and logs an unsuccessful sync event.
A sync is triggered to Zendesk when records are created or updated to a mapped field, either in bulk or via the Salesforce API.
Since data syncing is one-way, any changes applied in Zendesk are not reflected in Salesforce.
Salesforce Accounts to Zendesk Organizations sync
The Salesforce Account to Zendesk organization sync is one-for-one sync, and by default uses account name to organization name for matching records. However, not all Salesforce implementations adhere to this rule. So if you have duplicate account names, you can change this to another account field that is unique. This might not be the suitable feature if you don’t have unique account fields.
This data sync has the following limitations:
- The integration does not support Salesforce Person accounts. All accounts are treated as organizations in Zendesk.
- Data sync consumes Salesforce streaming API governor limits. For example, if you have a large amount of data to be synced, this exceeds the governor limit and data may not sync.
Salesforce Contacts or Leads to Zendesk users sync
The sync from Salesforce Contacts or Leads to Zendesk users is one-for-one, based on unique email addresses. However, not all Salesforce implementations adhere to these rules, so consider if this feature is suitable for your needs.
This data sync feature has the following limitations:
- The integration does not support Salesforce Person accounts. All accounts are treated as organizations in Zendesk
- Data sync consumes Salesforce streaming API governor limits. For example, if you have a large amount of data to be synced, this exceeds the governor limit and data may not sync
If you have multiple Salesforce contacts with the same email address which belong to different Accounts and you want to sync to a user in Zendesk, use the multiple organizations feature in Support. For more information, see Using the multiple organizations feature in the Salesforce integration.
Setting up a data sync
Setting up a data sync requires performing several tasks in Salesforce and the Zendesk Admin Center.
To set up data sync for your integration
- Set up the Zendesk for Salesforce integration.
- Configure Salesforce API settings and permissions for syncing.
- In Admin Center, configure sync settings for Salesforce Accounts to Zendesk organizations and / or Salesforce Contacts or Leads to Zendesk users.
Configuring your Salesforce API settings and permissions
Before setting up a data sync, some Salesforce APIs settings and permissions must be enabled for data sync to be successful. The information in the following procedures is described for the Salesforce Lightning edition.
To enable the Salesforce API
- On the Salesforce Setup page, select Administration > Users > Profiles.
- Select System Administrator or the authenticated user's profile.
- Click System Permissions and select the API enabled checkbox.
To set streaming API channel permissions
- On the Salesforce Setup page, select Administration > Users > Profile.
- Select the Standard User profile.
- Click Object Settings > Streaming Channels, and under Object Permissions, select the Read checkbox.
To set Push Topic permissions
- On the Salesforce Setup page in the left sidebar, select Administration > Users > Profile.
- Select the Standard User profile.
- Click Object Settings > Push Topic, and click Edit.
- Under Object Permissions, select the Read checkbox, and click Save.
To enable Streaming API
- On the Salesforce Setup page in the left sidebar, select Platform tools > User Interface > User Interface.
- Under Setup, select the Enable Streaming API checkbox.
Configuring Salesforce Accounts to Zendesk Organizations sync
The following procedure explains setting up a sync so Zendesk organizations in Support are automatically created and updated when Salesforce accounts are created or modified.
Important: This is an advanced feature. Once data is synced from Salesforce to Zendesk, it is not reversible. We highly recommend that you test this feature first.
To configure Salesforce accounts to Zendesk organization sync
- In Admin Center, select Integrations in the left navigation pane.
- In Salesforce, click Configure.
- Click the Data Sync side tab, and in Accounts to Organizations sync, click Configure.
- Select the Enable syncing checkbox, and configure the settings for which Accounts and Account fields are synced to Zendesk.
- In Sync Filtering, configure conditional filters to define which Salesforce Accounts are synced to Zendesk. For more information, see Understanding sync filtering.
- In Matching criteria, set the criteria for matching Salesforce accounts to Zendesk organizations. For more information, see Understanding matching criteria.
- In Field mapping, map which Salesforce account fields you want to populate with the Zendesk organization field. For more information, see Understanding field mapping.
- In Synced Organization ID Mapping, you can choose to map the Zendesk organization ID to a Salesforce Account. Select from any standard and custom Salesforce Account field. This is a one-way sync useful for displaying which Zendesk organization is linked to a Salesforce Account. Once the ID has been synced between two records it cannot be changed and editing or deleting the ID in the Salesforce field will not change or remove the link.
Note: If you change the mapped field, it will only be used for syncing after the change. Any previously updated syncs will not be updated to sync the ID to the new field. - In Zendesk external ID, select the checkbox if you want the external ID to populate the Zendesk organization external ID field. By default, this is mapped to the Salesforce Account ID.
Note: Any existing external ID values are overridden and cannot be reverted. This may impact other applications that rely on this field. This change is only applied when you click Save.
- Click Save to save your configuration. Confirmation of saved settings is displayed.
Configuring Salesforce Contacts or Leads to Zendesk users sync
The following procedure explains configuring a sync so Zendesk users in Support are automatically created and updated when Salesforce Contacts or Leads are created or modified.
To configure Salesforce Contacts or Leads to Zendesk user sync settings
- In Admin Center, select the Integrations icon (
) in the left navigation pane.
- In Salesforce, click Configure.
- Click the Data Sync side tab, and in Contacts / Leads to User sync, click Configure.
- Select the Enable syncing checkbox, and configure the settings for which Contacts or Leads and associated fields are synced to Zendesk.
- In Sync Type, select if you want Zendesk users to be created based on Salesforce Contacts or Leads. Note that you can only select one.
- In Sync Filtering, configure conditional filters to choose which Salesforce Contacts or Leads accounts are synced to Zendesk. For more information, see Understanding sync filtering.
- In Matching criteria, set the criteria for matching Salesforce Contacts or Leads to Zendesk users. For more information, see Understanding matching criteria.
- In Field mapping, map which Salesforce Contact or Lead fields you want to populate with Zendesk organization field. For more information, see Understanding field mapping.
- In Synced Contact/Lead ID Mapping, you can choose to map the Zendesk user ID to a Salesforce Contact/Lead. Select from any standard and custom Salesforce Contact/Lead field. This is a one-way sync useful for displaying which Zendesk user is linked to a Salesforce Contact. Once the ID has been synced between two records it cannot be changed and editing or deleting the ID in the Salesforce field will not change or remove the link.
Note: If you change the mapped field, it will only be used for syncing after the change. Any previously updated syncs will not be updated to sync the ID to the new field. - In Zendesk external ID, select the checkbox if you want the external ID to populate the Zendesk organization external ID field. By default, this is mapped to the Salesforce Account ID.
Note: Any existing external ID values are overridden and cannot be reverted. This may impact other applications that rely on this field. This change is only applied when you click Save.
- In General options, select the Send welcome email checkbox to send a welcome email to new users in Support. For more information, see Customizing the welcome email and the account verification email.
- Click Save to save your configuration. Confirmation of saved settings is displayed.
Understanding sync filtering
In the Data Sync > Sync Filtering section, you can apply a filter to choose which Salesforce accounts are synced to Zendesk, or choose which Salesforce Contacts or Leads accounts are synced to Zendesk. You can control the sync by building conditional statements. If no filters are set, all accounts are in scope for syncing.
To create a sync filter condition, specify the field, the operator, and the value:
- Meet ALL of the following conditions: All of the conditions added to this section must be met to include the Salesforce record in the sync.
- Meet ANY of the following conditions: One or more of the conditions in this section must be met to include the Salesforce record in the sync.
Note the sync filter values has the following syntax rules:
- All values are case sensitive
- Multiple values in a condition can be separated by a comma, with no spaces
- When using a Salesforce picklist field in sync filter, the value must be the API name of the pick list options
- When a checkbox type field is used as a condition, enter a value of "true'" or "false"
The following Salesforce fields are not supported for filtering:
- Formula field
- Lookup field
- Long text area field
Understanding matching criteria
In the Data sync > Matching criteria section, the criteria is set for matching Salesforce Accounts to Zendesk organizations, or Salesforce Contacts or Leads to Zendesk users. When a record in Salesforce is created or changed, the syncing process checks whether a new organization or user record in Support should be created, or an existing organization or user record should be updated. This is done by comparing the values set in the matching criteria that you set. When a match is found, the corresponding fields are updated according to your field mapping settings.
The options in the Zendesk field drop-down vary according to the type of field you select in the Salesforce drop-down. Standard and custom fields are supported for matching.
Note:
- Only one matching criteria is supported. Adding multiple matching criteria will be available in the future.
- If more than one matching result is found, the sync won't be successful since it can't determine which record needs to be updated. In this case, ongoing sync won't update any records, and logs an unsuccessful sync event.
Understanding field mapping
The field mapping sections enable Salesforce fields to be mapped to Zendesk fields. You can map to standard and custom Zendesk fields. The mapped fields are updated during the sync.
The following Salesforce fields are not supported for mapping:
- Long text area field
- Lookup field — Salesforce lookup fields cannot be mapped to Zendesk because the lookup fields values are stored in a related Salesforce object
- Record type ID
- Number field
Salesforce Accounts to Zendesk organizations field mapping
In Data Sync > Accounts to Organizations sync, the Field mapping section maps Salesforce account fields you want to populate with Zendesk organization fields. This controls which field in the Salesforce account record is synced as its related organization name. By default, this is set to Account Name to Organization Name.
The drop-down options in the Zendesk field vary according to the type of field you select in the Salesforce drop-down. The following table shows which Salesforce fields types can be mapped to Zendesk field types.
Salesforce field type | Text |
Drop-down |
Decimal |
Checkbox |
Date | Numeric |
ID | ✓ | |||||
String | ✓ | |||||
Phone | ✓ | |||||
Picklist | ✓ | ✓ | ||||
Currency | ✓ | ✓ | ||||
Boolean | ✓ | ✓ | ||||
Checkbox | ✓ | |||||
Date/Time | ✓ | ✓ | ||||
Number | ✓ | ✓ | ||||
Double | ✓ | ✓ | ||||
Date | ✓ | ✓ | ||||
Multi picklist |
✓ | |||||
✓ |
Salesforce Contacts or Leads to Zendesk users field mapping
In Data Sync > Accounts to Organizations sync, the Field mapping section maps Salesforce Contact or Lead fields you want to populate with Zendesk organization fields. This identifies which field in the Salesforce Contact or Lead account record is synced as its related user. By default, field mapping is set to Email to Email.
The drop-down options in the Zendesk field vary according to the type of field you select in the Salesforce drop-down. The following table shows which Salesforce fields types can be mapped to Zendesk field types.
Salesforce field type | Text |
Drop-down |
Decimal |
Checkbox |
Date | Numeric |
ID | ✓ | |||||
String | ✓ | |||||
Phone | ✓ | |||||
Picklist | ✓ | ✓ | ||||
Currency | ✓ | ✓ | ||||
Boolean | ✓ | ✓ | ||||
Checkbox | ✓ | |||||
Date/Time | ✓ | ✓ | ||||
Number | ✓ | ✓ | ||||
Double | ✓ | ✓ | ||||
Date | ✓ | ✓ | ||||
Multi picklist |
✓ | |||||
✓ |
Checking your data sync setup
Use the following checklist to help check your data sync is setup correctly:
- Check you have the right Salesforce API settings requirements when setting up the integration.
- Sync filter: Confirm you are not using any unsupported Saleforce fields such as Formula Field and Lookup field.
- Sync filter : Confirm you are using the correct syntax in the sync filter values. These are case sensitive and must exactly match the Salesforce field value. If you are using a Salesforce picklist field for filtering, the value is the API name.
- Sync field mapping: Check the field mapping includes Name to Name. This is mandatory because organizations can't be created in Zendesk without a name.
- When testing the sync, did you make updates to the Salesforce fields that are mapped to Zendesk? Sync is only triggered when a mapped field is updated.
69 Comments
The documentation here says "Once a successful match of existing records has been made, or a new record has been created in Support, the Salesforce record and the Support record are linked. This means that subsequent updates to the record in Salesforce doesn't use matching criteria, but instead updates the linked record in Support."
Where is that link stored, and how can it be cleared in the event that the data sync duplicates an organization?
Jim Tigwell the link is stored in our middleware, if you need links to be cleared (depending on the reason), we will have to clear them manually. In your example mentioned, Zendesk enforces uniqueness on Organisation Names so that shouldn't happen. If it does, let us know.
Hello,
We currently use the data sync to sync Salesforce accounts to Zendesk Organizations. In the field mapping we need to add a new text field from Salesforce Accounts to sync with Tags in Organizations. If the Organization record in Zendesk has some existing tags already, could you confirm if syncing a Salesforce field to the Zendesk Tags will update them with a new tag (this is what we want to achieve) or override the existing tags?
Nevena Imetska It'll update the existing tags and add the one from the field. We've been testing the same thing.
Anika Rani The duplicates were created as a result of name mismatches. The data has been cleaned up, but there's no method apparent to sever the connection between accounts and organizations, a connection which appears to persist even after the deletion of the duplicate organization. I've updated my open support request (5654916) with the information you've provided.
Can you explain the trigger process that initiates an update (or Sync) of Salesforce account information to Zendesk when a field is changed in Salesforce. I've updated Salesforce records via a script that takes advantage of Salesforce's API and those updates do not trigger a sync from Salesforce to Zendesk. I attempted this because I sync a formula field that determines our clients' account status using specific conditions, I assume that because the field is a formula field, it doesn't trigger an update when the clients' status changes.
Sam Cloutier
The formula fields will not trigger a sync but there is a guide on how to initiate a sync using a formula field using the Salesforce Process Builder here.
Hope this helps.
Hello,
Not sure if any of you're experiencing the same problem as me related to syncing contacts from Salesforce to users in Zendesk?
I've not managed to find a way of filtering so that ONLY contacts that have a relation with an active account (salesforce) organization (in Zendesk) are synced. I do not wish to sync contacts that are prospects. Does anyone know a way to get around this issue?
I cannot use customer number, neither have a condition looking at accounts in order to say that the contacts can be selected or not.
Don't know if this makes any sense to you...
Thanks!
Hi Emelie,
We added a checkbox "Zendesk Contact" to the contact record in both Salesforce and Zendesk and used that as the sync filtering in the data sync configuration. We then went through the contacts and selected the ones we wanted to sync. Our contacts do not change a lot over time, so we are able to manage it.
Hope this helps!
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.
I'm trying to do a batch sync of all the SalesForce accounts over to Zendesk at once for just certain fields, but this sounds like it would only sync new ones or updated ones. Is there a way to kickstart the process with a batch sync and then let this run to pick up any new ones?
Hi Melody Quinn,
Thank you, that was a really smart idea. I think that will also solve the problem of actually having a real update related to the contacts in order to have a sync.I have a question also, do you ever delete users from Zendesk after syncing contacts from Salesforce? How do you manage that?
@Dylan, I thinkt hat Melody's idea of solution also can work in your scenario. Non-updates will not trigger the sync, for instance, updating a field with a none-value. However, you should be able to do as Melody mentioned, to add a checkbox and then tick the box with a batch sync (via script?) perharps. I've myself not come that far yet.
//Emelie
Hello,
1. Is there a place where sync issues could be monitored? I've noticed that contacts created yesterday have not been synced but today's contacts go through ok and we have not done any changes to the configs. What might be the cause?
2. We have both Accounts and Contacts sync from Salesforce to Zendesk Organizations and Users accordingly. Unfortunately very often our contacts do not get related to the synced organization in Zendesk. Users are getting synced but not related to any organization. How do you set the config to specify the correct organization during a contact syns?
Thanks,
Nevena
Dylan Douglas On the account in SF, we have created a "Zendesk Account" field and use that for both the Sync filtering AND field mapping. As soon as the checkbox is checked in Salesforce, it will establish the sync and create the organization in ZD.
We did the same concept for Contact to Users. "Zendesk Contact" is both a sync filter and a field mapping.
We used the data import wizard in SF thinking we could use this to update the Zendesk Account checkboxes on all of the accounts would establish the sync. Sadly, it did not. We had to manually edit the account and select that checkbox and save the record to establish the initial sync. Not sure how many accounts you have, but we only had about 500 accounts, so manually updating SF was quicker than trying to track down a more efficient way.
Emelie Stjernquist I hope this works for you too. So far, we have not needed to delete users from Zendesk. Occasionally we have to assign it to the right organization, but that doesn't happen very often.
Nevena Imetska
1. We signed up for the Salesforce Integration Log EAP. This is somewhat useful, but will not notify you when the sync is broken. We also experienced our sync stopped working without warning. As of a few weeks ago, there are no notifications when the sync is broken. I have made a point to check it each morning, it's not ideal, but it only takes a few seconds.
2. We use "Domains" on the organization record to help associate a user's email address to the correct organization. When Joesmith@xyz.com submits a ticket and he is not synced from Salesforce but his company XYZ is, he will be associated to the XYZ organization because we populated "xyz.com" in the "Domains". "Domains" is also one of the field mappings.
Hope this helps!
Melody Quinn thank you for the detail. Looks like I'm going to be editing a bunch of accounts ;)
Hi Melody Quinn Dylan Douglas and Nevena Imetska
I'm surprised that the SFDC data import wizard didn't update the Checkbox field you had created. Is that only for a boolean field type?
As for the logging, we are working on a way to more proactively notify you. I know it's not ideal checking them retrospectively everyday. The logs are still in development so you can expect to see continued updates, with the next update being a date/time filter in the next couple of weeks.. If you have any more feedback on logs please let me know.
We are also working on a way to support an initial bulk import into Zendesk as well.
Anika Rani
The wizard updated the checkbox in SF, but it didn't create the initial sync to ZD. All of the fields we had mapped to ZD were previously populated, so when we only selected the checkbox with the wizard.
I went back to the log file and filtered for our failed accounts to org sync (something I have not done before), and while this has nothing to do with the initial sync, just wanted to say the error message is very helpful as it directs you to exactly what the problem is. Thanks to the product team for the great design!
This seems silly, but what's the value for the checkbox in the "Meet ALL of the following conditions"? It says Boolean in the chart, but in the filtering it's expecting me to put in a string for the value. Is that "T", "true", "TRUE", "True", etc.?
This is what we have
Hi,
Is there a way to Sync Salesforce Cases to Zendesk Ticket?
Thanks
Varun
Varun Emany you can sync Zendesk Tickets to Salesforce Cases (in one direction), but not from Salesforce to Zendesk. Whats your use case? Are you moving from Salesforce to Zendesk? If so, there are other ways to import data for that purpose.
Thanks Anika Rani
We want to push Salesforce cases realtime to create a ticket on Zendesk in our org. I guess we need to do custom implementation.
Hi,
Is there any documentation for the direction of the sync?
A few questions before I proceed:
This syncing as I've witnessed is pretty weak. You are probably better off performing a manual import of accounts and contacts exported from Salesforce. I experience a number of issues and have yet to receive a helpful response from Support.
1) There is no way to perform a bulk sync. When you enable account/org and contact/user sync from SF to ZD, only new accounts or contacts in SF will be sync'd to Zendesk or, when an existing account or contact in SF is updated will it sync to Zendesk for the first time. Also, the update must be to a mapped field in SF. If you have 4k Accounts and or 8k Contacts in SF like myself, this method is useless.
2) When a newly created account with subsequent contacts is created in Salesforce, a new Org and a new User is created in Zendesk but they do not become associated with each other. The new user's Organization remains blank and the new Organization is reflected with zero users.
2b) If you return to Salesforce and update a mapped field for the user, the update may sync to Zendesk and the user in Zendesk may magically become associated with the applicable Organization.
2 of 5 stars, would not recommend
Darius Dixon the data syncing of Accounts, Contacts/ Leads is one way, from Salesforce to Zendesk (this article). The syncing to ticket data is from Zendesk to Salesforce, in this article.
Is there something more you were looking for?
Allen Lai
1. Use our sidebar app, to display the plan (or status) of a customer against a ticket. This is just a read-only view. You can also display any other relevant customer information here from any custom or standard Salesforce object.
2. Sync the Plan Type to the Zendesk User (as per #2). Any changes to the Plan Type made in Salesforce will update Zendesk. If a customer is deleted in Salesforce, this won't be reflected in Zendesk as the sync doesn't support destructive changes for entire record deletion.
Hi Anika,
No, that's what I was wanting to know, thank you!
JC Hall
I will follow up on the tickets you have created to help resolve your issues/ questions.
1) While bulk sync isn't yet available, the new integration does support batch changes to Salesforce records. Steps here for updating multiple accounts, contacts, leads for syncing. Does this help you?
2) If a Contact belongs to an Account in Salesforce, and you have Account Sync enabled, Orgs and Users should be associated with each other in Zendesk. We will have to look at why this isn't happening for you, its certainly not expected behaviour. Also, if the domain of the Org and User match, then Zendesk by default associates the two (this is native Zendesk behaviour, not specific to the integration).
Hello,
We just setup the integration. Seems to be working ok except one SFDC field is not coming over. It is a picklist field in SFDC called Type and we have a text field in Zendesk that we have mapped it to. The data is not coming over. Any ideas?
Thanks
Hey All,
We associate Salesforce contacts to Salesforce accounts via a relationship, this means that there are no fields on the Salesforce account to map over to Zendesk. Is there a proper to sync this data over, or a work around?
Thanks,
Jason
HeyO Jason Fouchier
I'm not sure I follow the question, but would love to look into this for you. I'm going to raise a ticket on your behalf so we can chat more directly. I'll reach out to you therein shortly. If you're comfortable, I'll post back to this thread with a recap if it's something that feels relevant to a broader audience.
Please sign in to leave a comment.