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 determines whether to create a new record or update an existing record in Zendesk Support. 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 and Support records are linked. This means that subsequent updates to the record in Salesforce don't use matching criteria but instead update the linked record in Support.
If more than one matching result is found, the sync cannot determine which record needs to be updated. Because this is a background process, the ongoing sync won't update records and logs an unsuccessful sync event.
If a Salesforce user updates a mapped field indirectly through a Salesforce flow, sales process, or Apex trigger, the field may not sync to Zendesk if the user who triggered the indirect update does not have edit permission to the mapped field.
A sync is triggered to Zendesk when records are created or updated to a mapped field using the Salesforce API.
Because 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 a one-for-one sync that uses account name to organization name for matching records by default. However, not all Salesforce implementations adhere to this rule. If you have duplicate account names, you can change this to another unique account field. This might not be a suitable feature if you don't have unique account fields.
This data sync has the following limitations:
- 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 Person accounts are imported as Zendesk Organizations. If you'd prefer a Salesforce Person account to be added as a Zendesk user, you can perform abulk import of usersor use theCreate user APIwith Salesforce-specific information.
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 whether this feature suits your needs.
This data sync has the following limitations:
- For security reasons, data sync will not sync a Salesforce contact to a Zendesk user if the Zendesk user is an agent or admin.
- 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.
Setting up a data sync
Setting up a data sync requires several tasks in Salesforce and Zendesk Admin Center.
To set up data sync for your integration
- Set up the Zendesk for Salesforce integration。
- ConfigureSalesforce API settings and permissions for syncing.
- In Admin Center, configure sync settings forSalesforce accounts to Zendesk organizationsandSalesforce 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 SalesforceSetuppage, selectAdministration>Users>Profiles。
- SelectSystem Administratoror the authenticated user's profile.
- ClickSystem Permissionsand select theAPI enabledcheckbox.
To set streaming API channel permissions
- On the SalesforceSetuppage, selectAdministration>Users>Profiles。
- Select the user profile of the admin setting up the integration.
- ClickObject Settings>Streaming Channels, and underObject Permissions, select theReadcheckbox.
To set PushTopic permissions
- On the SalesforceSetuppage in the left sidebar, selectAdministration>Users>Profiles。
- Select the user profile of the admin setting up the integration.
- ClickObject Settings>Push Topic, and clickEdit。
- UnderObject Permissions, select theReadcheckbox, and clickSave。
To enable Streaming API
- On the SalesforceSetuppage in the left sidebar, selectPlatform tools>User Interface>User Interface。
- UnderSetup, select theEnable Streaming APIcheckbox.
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.
To configure Salesforce accounts to Zendesk organization sync
- InAdmin Center, clickApps and integrationsin the sidebar, then selectIntegrations > Integrations。
- InSalesforce, clickConfigure。
- Click theData syncside tab, and inAccounts to Organizations sync, clickConfigure。
- Select theEnable syncingcheckbox, and configure the settings for which accounts and account fields are synced to Zendesk.
- InSync filtering, configure conditional filters to define which Salesforce accounts are synced to Zendesk. For more information, seeUnderstanding sync filtering。
- InMatching criteria, set the criteria for matching Salesforce accounts to Zendesk organizations. For more information, seeUnderstanding matching criteria。
- InField mapping, map which Salesforce account fields you want to populate with the Zendesk organization field. For more information, seeUnderstanding field mapping。
- InSynced organization mapping, you can choose to map the Zendesk organization to a Salesforce account. Select any standard or custom Salesforce account field. This one-way sync is useful for displaying a Zendesk user linked to a Salesforce account.Note:The Salesforce integration only writes the Zendesk ID into the synced organization mapping field on the first successful sync. Any existing data in that field will be overwritten. Subsequent syncs do not populate this field within Salesforce.
- InZendesk external ID选中复选框,如果你想要外部IDto populate the Zendesk organization external ID field. This can only be set 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 clickSave。
- ClickSaveto 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
- InAdmin Center, clickApps and integrationsin the sidebar, then selectIntegrations > Integrations。
- InSalesforce, clickConfigure。
- Click theData Syncside tab, and inContacts/Leads to User sync, clickConfigure。
- Select theEnable syncingcheckbox, and configure the settings for which contacts or leads and associated fields are synced to Zendesk.
- InSync Type, select if you want Zendesk users to be created based on Salesforce contacts or leads. Note that you can only select one.
- InSync Filtering, configure conditional filters to choose which Salesforce contacts or leads accounts are synced to Zendesk. For more information, seeUnderstanding sync filtering。
- InMatching criteria,set the criteria for matching Salesforce contacts or leads to Zendesk users. For more information, seeUnderstanding matching criteria。
- InField mapping, map which Salesforce contact or lead fields you want to populate with Zendesk organization field. For more information, seeUnderstanding field mapping。
- InSynced user mapping, you can choose to map the Zendesk user to a Salesforce contact or lead. Select any standard or custom Salesforce contact or lead field. This one-way sync is useful for displaying a Zendesk user linked to a Salesforce contact or lead.Note:The Salesforce integration only writes the Zendesk user ID into the mapped contact/lead field on the first successful sync. Any existing data in that field will be overwritten. Subsequent syncs do not populate this field within Salesforce.
- InZendesk external ID选中复选框,如果你想要外部IDto populate the Zendesk user external ID field. This can only be set to the Salesforce Contact 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 clickSave。
- InGeneral options, select theSend welcome emailcheckbox to send a welcome email to new users in Support. For more information, seeCustomizing the welcome email and the account verification email。
- ClickSaveto save your configuration. Confirmation of saved settings is displayed.
Understanding sync filtering
In theData Sync>Sync Filteringsection, you can filter 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 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 conditions in this section must be met to include the Salesforce record in the sync.
Sync filtering has the following 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 the sync filter, the value must be the API name of the picklist options.
- TheAccount Record Typefield in Salesforce is not supported.
- 当一个复选框类型字段作为条件,enter atrueorfalsevalue.
The following Salesforce fields are not supported for filtering:
- Formula field
- Lookup field
- Long text area field
Understanding matching criteria
In theData sync>Matching criteriasection, 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 criterion is supported.
- 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 records and logs an unsuccessful sync event.
Understanding field mapping
The field mapping sections enable Salesforce fields to be mapped to Zendesk fields. Every Salesforce account, contact, or lead field should be mapped to a standard or custom Zendesk field. Mapped fields are updated during the sync.
The Salesforce data is the "source of truth" for mapped fields. If a mapped Zendesk field contains data upon sync, it is overwritten with the Salesforce data. If you don't want to overwrite data in Zendesk, don't map the field. TheTags,Email, andPhonefields are exceptions. These fields areappendedwith Salesforce values upon sync. Salesforce email addresses added to Zendesk during sync are added as secondary addresses.
When a multi-picklist Salesforce field is selected for mapping, aMapped valueslink is displayed. The link opens a window to map multiple Salesforce fields to Zendesk fields.
In this instance, avoid mapping multiple Salesforce fields to a single field in Zendesk. Otherwise, only the last Salesforce field mapped will be synced.
The following Salesforce fields are not supported for mapping:
- Text area (long)
- Text area (rich)
- Text area (encrypted)
- 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
Salesforce accounts to Zendesk organizations field mapping
InData Sync>Accounts to Organizations sync, theField mappingsection maps the 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 toAccount 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 field types can be mapped to Zendesk field types.
Salesforce field type | Text | 下拉 |
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
InData Sync>Contacts/Leads to users sync, theField mappingsection maps Salesforce contact or lead fields you want to populate with Zendesk user 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 toEmail 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 field types can be mapped to Zendesk field types.
Salesforce field type | Text | 下拉 |
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:
- Ensure you have the correctSalesforce API settingsrequirements for the integration.
- Confirm you have only connected one Salesforce account to one Zendesk account.
- Sync filter: Confirm you aren't using unsupported Saleforce fields such as Formula Field and Lookup field.
- Sync filter: Confirm you're using the correct syntax in the sync filter values. These are case-sensitive and must exactly match the Salesforce field value. If you're using a Salesforce picklist field for filtering, the value is the API name.
- Sync field mapping: Check the field mapping includesName to Name。这是强制性的,因为组织不可能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.
- If you haveValidate user phone numbersenabled on theEnd users page in Admin Center, Zendesk verifies that all phone numbers synced from Salesforce use a validinternational E.164 format。To avoid phone number validation errors in Zendesk Support, format phone numbers using the E.164 format in Salesforce, which includes the plus sign (+). For more information, seeWhy do phone numbers synced from Salesforce lose their country code?
73 Comments
HeyOWilliam Grote
In terms of tickets synced to SFDC to create Cases and the setting mentioned above for "create requester if no match" - that's an all-or-nothingforany ticket sent to salesforceits requester will try to create a contact/lead if no match is found.
That having been said, itispossible to be a bit more selective about which tickets get sent over to SFDC by modifying thetrigger used to send those- by adding conditions to the trigger to only send certain types of tickets, this may be a way to tackle this.
I've also seen customers handle this on the SFDC side with some custom logic therein. They wanted to send over all their tickets, but only create the contact when certain things were true. They basically handled the contact-creation via a custom flow/workflow process, executing based on certain conditions related to case-fields. I'm afraid I'm not sufficiently well-versed in SFDC to give more specifics than that, but I know it's possible.
As for the error message you're seeing, that sounds like a good reason tocontact our support team directlyso they can take a closer look.
We have made an important enhancement to the Salesforce Integration Contact sync feature, forsyncing to multiple organization memberships.
We now support the ability to sync both primary and secondary relationships to Zendesk organization memberships. In Salesforce you can have a Contact belong to multiple accounts (a primary account and multiple secondary accounts). These relationships can now both be reflected in Zendesk as Organization memberships.
We are rolling this out gradually over the next few weeks. If you are interested, please reach out to Zendesk Support to get access.
Hi,
THis article needs to be validated.
The menu items in Salesforce have changed and it is difficult to follow the setup
HeyO Yoram,
I'd be happy to flag this article for checking by our documentation team, but I'd like to be sure we tackle the known issues as soon as possible. Was there a specific menu item that's called out which you know has changed? Thanks!
Hi Dwight,
In `general, all of the articles related to the integration should be validated, this is not the only article relating to SFDC that needs to be fixed.
For example, in this article,
"https://support.zendesk.com/hc/en-us/articles/4408828539290?page=2#:~:text=Under%20Object%20Permissions%2C%20select%20the%20Read%20checkbox%2C%20and%20click%20Save."
This is now under "Administrative Permissions"
THis is also wrong:
https://support.zendesk.com/hc/en-us/articles/4408828539290?page=2#:~:text=Under%20Object%20Permissions%2C%20select%20the%20Read%20checkbox%2C%20and%20click%20Save。and it is under "Standard Object Permissions"
Basically, SFDC changed the naming of their categories.
I remember having some issues also with the other related SFDC integration articles, so I suggest validating them all.
Thanks
Yoram
Will the new Zendesk Lookup fields be available for mapping with Salesforce in the near future?
heyOElisabeth Cleveland
I don't know for certain, but I doubt that Zendesk lookup fields will be made available to map (in the near or long-term), as the records they're looking up wouldn't have the same values as the records from Salesforce (the fields themselves would store a relationship with a Zendesk record-id that wouldn't be known in Salesforce).
If that's a feature that would be of major use to you, I recommend posting that request in ourProduct Feedback forumso that other users could vote in support of it
Dwight Bussman
How to mapping the Salesforce field with custom ZD field?
I've create field "Employee" on Salesforce And "No of employee" on ZD.
but I can't see the custom field ZD to map with.
Kittipoom Wongfu
If you created "No. of employee" field as aUserfield in Zendesk, I would expect it to show up there. You may have to refresh the Admin Center page before it will appear. If you're still having difficulties, pleasecontact our support teamto look into that more closely.
In the Organizations Sync filtering settings, I am only able to add 3 different "Meet ANY of the following conditions: " . I can't find anywhere that this is a default limitation. If possible, I would like to add a bunch more of those "meet any" conditions to our integration settings. Any idea how I can realise this? Thanks.
Dwight Bussmanhoping you might have an answer/solution to this? :)
heyORobbin Daniels- you're correct that this is a limitation. I will reach out to our documentation team to make that clear.
The reason for this decision came up a few years ago when our team was designing the sync which is built using Salesforce PushTopics. The filter conditions and the fields being synced make up the PushTopic query.There is currently a limitation of 1300 characters for the entire PushTopic queryIf one attempts to map sufficiently many fields that would exceed the query length limit, the page will throw an error because the PushTopic cannot be saved. Our team opted to avoid this by placing a firm limit on the number of conditions in favor of having more flexibility in the number of fields that could be mapped.
While I realize this isn't the answer you're looking for, hopefully it at least gives some context as to why that limit exists.
By way of a workaround, I've seen customers create a custom checkbox field called "sync this record" - and have a workflow process (now flow) that sets the field to true/false depending on a more complex set of conditions. They then leveraged the single checkbox condition within their sync settings. Perhaps something similar could work for you.
Hello,
I followed the instructions above, yet on Salesforce on ZenDesk_Ticket_View_Account all accounts are blank. Sync, matching, mapping are all in, but still not a single account in SF shows a single ticket.
Can anyone advise?
HeyOGeorgina Tsioutsiouli
It sounds like you're asking aboutthe Ticket View feature which is documented here。This feature is configured in a separate area than the Data Sync feature on which you've commented. I recommend checking your Ticket View settings to confirm that they're matching based on the field you'd expect.
Here's how they're set by default:
Note that this relies on the Zendesk Organization name matching the SFDC Account name. If that's not the case for your instance you'll want to change it to a more suitable field. If things are currently set to a field-value for which you'd expect to see results, I recommendcontacting supportto look into that more closely.
HeyOKevin O'Brien
This can happen if the Contact syncsbeforethe corresponding Account has synced. I suspect if you were to sync an Account (to ensure it had successfully synced at least once), andthensync one of its Contacts, that relationship should be maintained within Zendesk.
If you're seeing examples where thisstillfails to put the Zendesk User into the corresponding Organization, pleasecontact supportso that we can take a closer look.
I'm also going to reach out to our team to add some documentation around this "order-of-operations" requirement.
Hey Dwight thanks for the speedy response.
This makes sense, but further to order of operations challenges here:
I have organization sync on BUT I added all the organizations in manually via csv.
This is because Zendesk only syncs account when it's changed. In my case my filter is when an account becomes a Customer it syncs to Zendesk.
But all my relevant current accounts for Zendesk in Salesforce are already marked as Customer, and for reasons that I can't affect our sales team, I can't change those accounts from
This was how I interpreted the salesforce sync documentation as the correct way to do things here, not sure how else I could/should've done this.
Seems like a bit of a chicken/egg situation but lemme know any additional ideas you have.
I'd recommend looking into a workflow like thishttps://support.zendesk.com/hc/en-us/articles/4408834863386which would allow you to "update" many account records at once without needing to make a change that should have any significant workflow impact. I'd recommend testing with a small subset of Accounts to insure that this works as you'd expect before running it on a large batch. Once those have successfully synced, subsequent updates to contacts within those accounts should place the users in Zendesk into the correct organization.
Ok thanks Dwight I'll give it a shot.
Hey there, we're trying to import salesforce 'person accounts' in zendesk. However, we want them to be imported as users, not as organizations. Is there a way to achieve this ? Thank you for your help
Max Brillanceau- Our integration treats Person Accounts the same as other Accounts which means they would be synced into Organizations. If you'd like to bring them over as users, I recommend looking into ourBulk User Import feature, or consider usingour REST API endpointswith some custom SFDC logic.
HiDwight Bussman。Hope you are doing alright!? In our "Accounts to Organizations sync" we have 3 "Meet ANY of the following conditions"based on "Account type" . F.e.
Still accounts with these account type are being created in Zendesk. No none of the 3 meet any conditions seems to do anything. The field in SF is a picklist and the name matches the SF API name.....any idea what might be wrong OR what we can do to exclude these account types from being created?
这听起来像是是行为不端。在奥德r to have our team take a closer look at your specific configuration/logs, please contact support as documented inhttps://support.zendesk.com/hc/en-us/articles/4408843597850
Is there a way that I could sync Accounts only toexistingZendesk organizations? It looks like that is an option for leads/contacts but not accounts. If not, do you know of any workarounds I could use to make sure it only syncs to an existing Organization?
Great article! Question for the Zendesk team...
我们最近Zendesk集成到Salesforc亚博egive our Sales team expanded visibility into the day-to-day operations. We noticed that within Salesforce at this time, we are able to see public comment communication but are unable to see side conversation communication within Salesforce.
Is it possible to have visibility into side conversations in Salesforce? If not, is this something that is on the roadmap?
Thank you so much!
Can you confirm or clarify more on your question that you could sync Accounts only toexistingZendesk organizations? Because with the integration you can only configure Accounts to Organizations sync under Data sync.
Per this guide -Configuring Salesforce accounts to Zendesk Organizations sync。
Hi Lindsay, currently side conversations in Salesforce is not yet supported with the integration. Though,Ticket ViewandTicket Syncare supported if these can help for now with your workflow. We recommend postingproduct feedback所以你可以与其他用户参与imilar needs and conversations with a high level of engagement ultimately get flagged for product managers to review when they go through roadmap planning.
Thanks for the response Jupete.
I must have been mistaken because I don't see the option now, but I was under the impression that when syncingContacts/Leads to Usersthat there was an option to only sync toexistingUsers. I was asking if there was a way to do that for theAccounts to Organizations syncin that it would only sync to existing Organizations and not create new ones.
Do you know if there is anyway to setup the integration so that Organizations would only be updated and not created?
If not, then could it be possible to allow for the external_id field to be set within the field mapping? I'm assuming it's not allowed to be set there because it can potentially be set later in the configuration to the salesforce account id. But it would be nice to be able to set it if that option is not selected.
According to the doc,Configuring data sync from Salesforce to Zendesk:
When there is an update on the Salesforce side, Zendesk Orgs in Support are automatically created and updated when Salesforce accounts are created or modified. Are you not seeing an update to your Orgs or it creating duplicate Orgs when there is an update to your Salesforce?
However, maybe this guide can help with your setup:
How do I sync many Accounts, Contact or Leads at once with the Salesforce integration?
Best,
No the integration is working as described, no issues there. My ask is if there is a way, or maybe this is a feature request, that we could setup the integration so that it is update only. I have another integration to Zendesk that is responsible for creating new organizations, I'd like this integration to only update existing organizations.
heyO Kevin,
There is not currently a way to configure this directly (nor any workaround to get there that I've seen), but that's definitely a feature request I've heard before. I recommend posting that intohttps://support.zendesk.com/hc/en-us/community/topics/1260801308170-Feedback-Platform-Apps-Integrationsas a piece of feedback for the team to review!
How do I associate a contact that is sync'd from SFDC to Zendesk if the contact does not have an email address, but the contact record in SFDC is mapped to an Organization?
Pleasesign into leave a comment.