Salesforce: Configuring user and organization syncing in Salesforce

Updated: July 17th, 2014 (for package 4.0)

You can configure a one-way sync from Salesforce to Zendesk. You can sync Contacts/Leads to users and you can sync Accounts and to organizations. You can filter the Contacts/Leads and Accounts that are synced into Zendesk.

Note: This is an advanced feature. New Salesforce installations or smaller Salesforce organizations with clean data can go ahead and give it a try. However, for more complex Salesforce organizations, contact your Zendesk account manager to determine whether this feature is right for you and to get implementation assistance.
Note: You must have installed the Zendesk for Salesforce app from the Salesforce App Exchange before you configure user and organization syncing.

To read about other Zendesk for Salesforce features, see Choosing Zendesk for Salesforce features.

Understanding limitations of sync

The sync functionality for users and organizations is very powerful. But there are limitations to this feature that you should understand before you decide if sync is right for you.
  • The integration matches Contacts/Leads to users one-for-one based on email address, and expects all Contacts/Leads to have a unique email address. So if you have multiple Contacts/Leads that share the same email address, you might not want to set up the user sync. 

    Likewise, the integration matches Accounts to organizations one-for-one, based on name, and expects all Accounts to have a unique name. So if you have Accounts with duplicate names, you might not want to set up the organization sync.

  • The user sync does not support Person Accounts; these are treated as organizations in Zendesk rather than users. The organization sync does not support Parent Accounts, so all Accounts will be treated as organizations in Zendesk.

Again, this is an advanced feature so you might want to contact your Zendesk account manger to get help with the implementation.

Preparing for the sync process (Group and Professional editions only)

If you are using the Group or Professional edition, you need to complete this procedure before you can start the synchronization process.

Important: You must add all of the following package fields for the sync process to work. Do not omit any of the items in the steps below.
To prepare for the sync
  1. Add all of the following Zendesk package fields to the page layouts for admins on Account:
    • createdUpdatedFlag
    • Domain_Mapping
    • Last Sync Date
    • Last Sync Status
    • Notes
    • Tags
    • Zendesk_oldTags
    • Zendesk_OutofSync
    • Zendesk_Organization
    • Zendesk_Organization_Id
    • Zendesk_Result
  2. Add all of the following Zendesk package fields to the page layouts for admins on Contact:
    • isCreatedUpdatedFlag
    • Last Sync Date
    • Last Sync Status
    • Notes
    • Tags
    • Zendesk_oldTags
    • Zendesk_OutofSync
    • Zendesk_Result
    • Zendesk_User_Id
  3. Add all of the following Zendesk package fields to the page layouts for admins on Lead:
    • isCreatedUpdatedFlag
    • Last Sync Date
    • Last Sync Status
    • Notes
    • Organization
    • Tags
    • Zendesk_oldTags
    • Zendesk_OutofSync
    • Zendesk_Result
    • Zendesk_User_Id

(Optional) Setting a logging level

You can determine if and when you'd like to collect a log. Logs are saved in a custom object included in the package called Integration Logs.

To set the logging level
  1. In Salesforce, click the Zendesk tab in the Zendesk for Salesforce app.
  2. In the Logging level section, select a Logging level from the drop-down:
    • None does not create a log
    • Error creates a log when errors occur only
    • Debug always creates a log
  3. Click Save Logging Level.

Configuring Salesforce Account to Zendesk organization mapping

This feature automatically creates and updates Zendesk organizations immediately after Accounts are created or updated in Salesforce. This is a one-way sync of data; changes applied in Zendesk are not reflected in Salesforce.

To enable and configure Account and organization mapping
  1. In Salesforce, click the Zendesk tab in the Zendesk for Salesforce app.
  2. In the Organization and Account Mapping section, under Enable Automatic Updates, ensure that Yes is selected.
  3. (Salesforce Enterprise edition only) In the Organization syncing - Account options section, under Set sync filters, do the following:
    • Beside Sync these record types (this option appears if you are using record types), use the arrows to select the record types you want to sync. Use the arrows on the far right if you'd like to change the default record type by moving it to the top of the list.

      The top-most record type in the right pane is used as the default for new Accounts created from Zendesk during bulk sync.

    • Beside Filter by account field, select any field on Account from the drop-down, then use the arrows to select the field values you want to sync. Note: Sync filtering is supported for pick-lists only.

      Use the arrows on the far right if you'd like to change the default value by moving it to the top of the list. The top-most field value in the right pane is used as the default for new Accounts created from Zendesk during bulk sync.

  4. In the Organization syncing - Account options section, under Map Zendesk organizations and Salesforce Accounts, do the following:
    • Under Zendesk tags, use the arrows to indicate which Salesforce Account fields you want to add as tags to a Zendesk organization.

      These tags will be added to, and not override, tags added directly in Zendesk.

    • (Optional) Select the Salesforce Account fields you want to map to the Domain Names field and to the Notes field on a Zendesk organization profile.

      Mapping a field to domain names enables user mapping for organizations in Zendesk. User mapping automatically adds users to an organization based on their email domain when they are created in your Zendesk. If you want to enable user mapping, you must first set up a field on Account with the organization email domain(s) (separated by a space). 

  5. In the Organization syncing - Account options section, under Account field mappings, do the following:
    • Select a Salesforce field and select the Zendesk custom organization field you want to map it to, then click Add mapping.

      Mapping the fields means that they update during the bulk sync and the ongoing sync.

      The options in the Zendesk field drop-down will vary according to the type of field you select in the Salesforce field drop-down; only fields of the same type will be available. For a complete list, see Allowed field types for Zendesk field mapping.

      Note: If you want to map a Salesforce picklist field value to a Zendesk drop-down field value, the picklist name must exactly match the tag for the drop-down value you are mapping to. Remember, Zendesk tag values cannot contain spaces.
    • Add mappings for other Salesforce and Zendesk custom org fields as needed, then click Save all when you are finished.

  6. In the Organization syncing - Account options section, click Save.

Allowed field types for Zendesk field mapping

The following table shows the supported Salesforce field types and the corresponding allowed Zendesk field types.

Supported Salesforce field typeDrop-downTextMulti-line textNumericDecimalCheckboxDate
Auto Number   X X        
Checkbox           X  
Currency         X    
Date             X
Date/Time   X X       X
Email   X          
Geolocation       X X    
Number       X (if no decimal is present) X    
Percent         X    
Phone   X X        
Picklist X            
Text   X X        
Text Area   X X        
Text Area (Long)   X X        
Text Area (Rich)   X X        
Text Area (Encrypted)   X X        
URL   X X        

Configuring Salesforce Contact/Lead to Zendesk user mapping

This feature automatically creates and updates Zendesk users immediately after Leads or Contacts are created or updated in Salesforce. This is a one-way sync of data; changes applied in Zendesk are not reflected in Salesforce.

To enable and configure Contact / Lead and user mapping
  1. In Salesforce, click the Zendesk tab in the Zendesk for Salesforce app, if you are not already there.
  2. In the User and Contact / Lead Mapping section, under Enable Automatic Updates, ensure that Yes is selected.
  3. (Salesforce Enterprise edition only) In the User syncing - Contact options section, under Set sync filters - Contact, do the following:
    • Beside Sync these record types (this option appears if you are using record types), use the arrows to select the record types you want to sync. Use the arrows on the far right if you'd like to change the default record type by moving it to the top of the list.

      The top-most record type in the right pane is used as the default for new Contacts created from Zendesk during bulk sync.

    • Beside Filter by account field, select any field on Contact from the drop-down, then use the arrows to select the field values you want to sync. Note: Sync filtering is supported for pick-lists only.

      Use the arrows on the far right if you'd like to change the default value by moving it to the top of the list. The top-most field value in the right pane is used as the default for new Contact created from Zendesk during bulk sync.

  4. In the User syncing - Contact options section, under Map Zendesk users and Salesforce Contacts, do the following:
    • Under Zendesk tags, use the arrows to indicate which Salesforce Contact fields you want to add as tags to a Zendesk user.

      These tags will be added to, and not override, tags added directly in Zendesk.

    • (Optional) Select the Salesforce Contact fields you want to map to the Details field and to the Notes field on a Zendesk user profile.

      Mapping a field to domain names enables user mapping for organizations in Zendesk. User mapping automatically adds users to an organization based on their email domain when they are created in your Zendesk. If you want to enable user mapping, you must first set up a field on Account with the organization email domain(s) (separated by a space). 

  5. In the User syncing - Contact options section, under Contact field mappings, do the following:
    • Select a Salesforce field and select the Zendesk custom user field you want to map it to, then click Add mapping.

      Mapping the fields means that they update during the bulk sync and the ongoing sync.

      The options in the Zendesk field drop-down will vary according to the type of field you select in the Salesforce field drop-down; only fields of the same type will be available. For a complete list, see Allowed field types for Zendesk field mapping.

      Note: If you want to map a Salesforce picklist field value to a Zendesk drop-down field value, the picklist name must exactly match the tag for the drop-down value you are mapping to. Remember, Zendesk tag values cannot contain spaces.
    • Add mappings for other Salesforce and Zendesk custom user fields as needed, then click Save all when you are finished.
  6. In the User syncing - Contact options section, click Save.

    Your Contact options are configured. Now you are ready to configure the Lead options for user syncing.

  7. In the User syncing - Lead options section, Set sync filters (Salesforce Enterprise edition only), Map Zendesk users and Salesforce Leads, and set Lead field mappings, then click Save.

Synchronizing Accounts with organizations and Contacts / Leads with users

To keep your Zendesk organizations and users in sync with your Salesforce Users and Contacts / Leads, you need to perform an initial sync to ensure both systems match.

The sync process between Zendesk and Salesforce uses the following rules:

  1. Find matches in Salesforce and Zendesk.
    • Use name to find matching Accounts and organizations
    • Use email address to find matching Contacts/Leads and users
  2. Create a new organization or user in Zendesk if no match is found for a Salesforce Account or Contact/Lead.
  3. Create a new Account or Contact/Lead in Salesforce if no match is found for a Zendesk organization or user.

This sync process executes according to the mappings you created earlier in the setup process.

If you need to cancel the ongoing sync for Contacts/Leads and users, in Salesforce, select Setup > Administration Setup > Monitoring > Scheduled Jobs, then delete the scheduled job for "Sync contacts, leads with Zendesk Users." To cancel the sync for Accounts and organizations, in Salesforce, click the Stop Sync button on the Account Sync Status page.

Important: You must complete the organizations sync before you begin the users sync. Be sure to complete all steps in the process. The sync process creates a scheduled job that runs every 2-3 hours until the sync completes. The organization sync is limited to 20,000 Accounts. During the users sync, if you have more than 10,000 Contacts, the sync will continue to run until the sync is complete.

If you are using a Salesforce sandbox account, be sure to change your email settings before you start the sync process so that you will receive the sync email.

To change your email setting to receive the sync email confirmation in a Salesforce sandbox account:
  • Go to Setup > Email Administration >Deliverability, then change the setting from System email only to All email.
To start the sync in Salesforce
  1. In Salesforce, click the Zendesk tab in the Zendesk for Salesforce app.
  2. (Optional) In the Organization and User Synchronization section, under Zendesk Organizations and Salesforce Accounts, deselect Create Zendesk organizations as Accounts if you do not want to create new Accounts in Salesforce for Zendesk organizations.

    When you deselect this option, the sync is one way: Salesforce Accounts are created as new organizations in Zendesk, but Zendesk organizations are not created as new Accounts in Salesforce.

  3. Under Zendesk Organizations and Salesforce Accounts, click Sync to start the one-time sync between organizations and Accounts.

    The Account Sync Status page appears. The sync will perform some batch jobs in the background. You can continue to use Salesforce during this time.

    Check the Account Sync Status page to confirm when the organization and Accounts sync finishes.

    Note: Do not click Sync Users and Contacts / Leads until you complete the sync process for organizations and Accounts in the next section.
To complete the sync in Salesforce
  1. In Salesforce, click the Zendesk tab in the Zendesk for Salesforce app, if you are not already there.
    Note: Check the Account Sync Status page to confirm the organization and Accounts sync is complete.
  2. Under Zendesk users and Salesforce Contacts/Leads, choose Create Contacts or Create Leads, depending on whether you want the sync to create Leads or Contacts for any Zendesk users that are not in Salesforce.

  3. Under Zendesk users and Salesforce Contacts/Leads, click Sync to perform the one-time sync for users and Contacts/Leads.

    The Contacts/Leads Sync Status page appears. The sync will perform some batch jobs in the background. You can continue to use Salesforce during this time.

    Check the Contacts/Leads Sync Status page to confirm when the users and Contacts/Leads sync finishes.

Have more questions? Submit a request

Comments

  • Avatar
    Bradlee

    I'm getting an error that says: "There was a problem connecting with Zendesk. Please contact your Zendesk Administrator." It emails me this error every few hours or less and the title of the email is either "Error syncing Accounts and Organizations" or "Error syncing Contacts/Leads and users." Any ideas about how to correct this error?

  • Avatar
    Erin Boyle

    Hi Bradlee,

    Can you enter your credentials in the "Authentication" section again and click "Test" this time instead of save?  Do you get an error message?  My guess is your credentials are incorrect, or you're using http:// instead of https:// (or vice versa), and that you have ongoing syncing turned on for contacts.  Every time a contact is being updated in Salesforce the integration is trying to update Zendesk and failing because of a credentials (or link) issue.

    If that doesn't resolve the error, please log a ticket so we can look into this for you in more detail!

    Best,

    Erin 

  • Avatar
    Daniel Apone

    I'm confused by sentence:

    "This feature automatically creates and updates Zendesk users immediately after Leads or Contacts are created or updated in Salesforce. This is a one-way sync of data; changes applied in Zendesk are reflected in Salesforce."

    Is it really a "one-way" sync of data? The description clearly lists TWO different directions of data syncing:

    1. creates and updates Zendesk users immediately after Leads or Contacts are created or updated in Salesforce
    2. changes applied in Zendesk are reflected in Salesforce

    Isn't that a two-way sync? Are there some typos here or am I missing something?

     

    Dan

     

  • Avatar
    Jennifer Rowe

    Dan, oops! Sorry for the confusion. That should say "changes applied in Zendesk as NOT reflected in Salesforce." Thanks for catching that.

  • Avatar
    Tyler Hall

    "Important: If you have not already done so, we recommend that you deselect the option to send a welcome email to new users before you start the synchronization process. To do so, select Settings > End-users."

    Is that referring to a setting within Zendesk--specifically the checkbox in at the bottom of this screenshot?: http://cl.ly/image/1s2Z0Z0q2X0m

    If so, that is under *Settings > Customers *in the new Zendesk. 

  • Avatar
    Tyler Hall

    Sorry, the screenshot I included didn't include the checkbox I was referring to. My link should be be http://cl.ly/image/2I342E3u3x00

  • Avatar
    Tyler Hall

    If we do not want to create Contacts or Leads in Salesforce for users that are already in Zendesk, am I right that we'd just skip over the final ("To complete the sync in Salesforce") section? Thanks!

  • Avatar
    Bill Davis

    Is there a way to control which records are synced between the two systems?  For example, we have over 250,000 accounts in Salesforce and only about 3,000 of them are active customers and we only populate active customers into our Zendesk instance.  We are currently manually adding the records to Zendesk when the 'Account Type' field  in Salesforce is set to 'Customer'.  That triggers a workflow email to notify our admin team to add the record into Zendesk, which keeps ZD clean and prospect free.

     

    The same goes for Contacts, we use the 'Profile' field to control what users are created in ZD

     

    We would not want to add all records to Zendesk.

     

    If you have any ideas on this or feedback it would be fantastic as we have been anticipating this feature release for a while and it looks great.

    Also - is this feature only available with Lotus or is it available in Classic as well?

  • Avatar
    Erin Boyle

    Hi Tyler,

    You are absolutely correct - we will update the documentation to reflect the difference between Classic and New Zendesk.

    On the syncing piece - yes, if you don't want to get everything synced up between the two, you can just turn on the ongoing sync.  That means your contacts will incrementally get added into Zendesk, but no Zendesk users will be added to Salesforce.

    Best,

    Erin 

  • Avatar
    Erin Boyle

    Hi Bill,

    Unfortunately right now we don't give you any filtering controls over what gets synced over to Zendesk.  That being said, your use case makes a ton of sense - I can certainly see why you wouldn't want all leads and contacts in Zendesk as users.  I've heard a lot of requests to have more flexibility and control around the syncing process, but it was important for us to start with a fairly basic sync process.

    Let me check with my developer on one thing - you might be able to create a custom trigger to "control" when our trigger fires (which sends data into Zendesk), but I'm not positive.  I'll keep you updated.

    Best,

    Erin 

  • Avatar
    Jennifer Rowe

    Tyler,

    Nice catch on the UI change in new Zendesk. Thanks for pointing that out! I made the update.

  • Avatar
    Max Müller

    I'm getting an Email iwth  "Error syncing Accounts and organizations, Error Details : Attempt to de-reference a null object 0 out of 1000 records synchronized successfully." when starting the Sync-Process in Salesforce. Configuration attached as an image file. Did I something wrong?

     

  • Avatar
    Erin Boyle

    Hi Max,

    We've started to see this error crop up with several accounts over the past few days and are looking into the cause.  You did not configure the integration incorrectly, but right now we don't know why the error is occurring.  I'll try to keep you updated here, or if you'd prefer you're welcome to open a new ticket with support@zendesk.com.

    Best,

    Erin 

  • Avatar
    Rafael Moreira Pitoni

    Hi.

    I'm getting the very same message. Appreciate if you keep us updated here.

    Regards,

    Rafael

  • Avatar
    Erin Boyle

    Hi all,

    Have an update on the "Attempt to de-reference a null object" issue:

    We have finally been able to reliably reproduce this issue. Although I don't have a permanent bug fix available yet, we believe the error is occurring when you have empty organizations (with no users) in Zendesk.  We will be working on fixing this bug in the integration - in the meantime, if you need to get your Accounts synced, you could either delete these "empty" organizations, or add users to them as a workaround. This would be a manual process, and I realize it is not ideal.

    I have also started a new page for FAQ's, common pitfalls setting up the integration, and known bugs / issues:  https://support.zendesk.com/entries/22786321

    Best,

    Erin

  • Avatar
    Max Müller

    "Attempt to de-reference a null object" issue:

    I have no oragnizations with 0 users in Zendesk. The error occurs anyway.

  • Avatar
    Erin Boyle

    Max - you are correct. We thought we'd narrowed it down earlier, but learned tonight that this one is still elusive. More to come.

  • Avatar
    Erin Boyle

    Hi all,

    Update for you on the "attempt to de-reference a null object" error message - we just pushed a patch for version 3.16 Wednesday evening to fix this issue.  If you have version 3.16.1, you already have the patch.  If not, I highly recommend you go to AppExchange and install the latest version, 3.17, which has a few other bug fixes packaged with it as well.

    Best,

    Erin 

  • Avatar
    Jay Lyerly

    How long should the sync in SalesForce take?  I started the process on Friday and on Monday still haven't received the email with the CSV link.  I thought that it must've failed silently, so I tried to start the process again, but I got a message that the sync is already in progress.  Three days seems like a _very long time_ to get an export.

     

    thanks,

    jay

  • Avatar
    Maria Frantz

    This note should be in HUGE letters in bright red and the very first step of the entire salesforce synchronization step!!!

    EXTREMELY IMPORTANT:

    If you have not already done so, deselect the option in Zendesk to send a welcome email to new users before you start the synchronization process. To do so, in Zendesk, click the Manage icon ( ) in the sidebar, then select Customers in the Settings section. (Zendesk Classic: Select Settings > End-users.)

     

    If you do not disable this setting, ALL of your Contacts in Salesforce will receive a "Welcome" email from your Zendesk when they are created as users.

     

  • Avatar
    Erin Boyle

    Hi Jay,

    The csv usually takes between 5 and 30 minutes, so it's definitely concerning that you haven't received it.  The system administrator who kicks off the sync should be the email address used to send out the CSV file.  I'll go ahead and create a ticket on your behalf so we can look into this!

    Best,

    Erin 

  • Avatar
    Erin Boyle

    @mfrantz - We're working on some updates to the documentation that will hopefully make this more clear.  We'll also be exploring some in-app messaging within Salesforce to highlight this.  Thanks for the feedback!

  • Avatar
    Leo Smigel

    Erin,

    We're in the same boat that Bill is in. Did you happen to figure out a temporary solution to prevent  Salesforce leads being created as Zendesk users? Thank you!

  • Avatar
    David Rose

    We're in the same situation as Bill too, so this is really the one thing holding us back from using your sync solution. A question. It's very easy for a new customer employee to create a ZD account - he just emails in a ticket, the system recognises his email domain and attaches him to the relevant company. However the sales team have no idea he exists, so as the sync is one way, is there anyway to report on ZD entries that don't have a matching SF record ?

  • Avatar
    Erin Boyle

    Hi all,

    Leo - right now there's really no way to stop the Leads from being synced, but I have taken this feedback and am planning to incorporate a setting that would allow you to exclude all Leads.  I'll update you all once this is available.

    David - right now, we have no way of storing a Salesforce ID in Zendesk.  That being said, we may be able to do this in the future, and will look into adding that feature when we're able.  For now, you may want to do a periodic bulk sync to grab the new items from Zendesk.

    Best,

    Erin 

  • Avatar
    David Rose

    Hi Erin, can you explain how a bulk sync will help ?

  • Avatar
    Erin Boyle

    Hi David,

    The initial bulk sync you perform is a two-way sync - it pulls in users from Zendesk as Contacts (or Leads, depending on your settings), and organizations as Accounts as well as creates Zendesk users and orgs from Salesforce data.  While we only tell you to perform this bulk sync once, before using the ongoing real-time sync, you can kick it off again at any time.

    Best,

    Erin 

  • Avatar
    Leo Smigel

    Erin,

    I'm noticing that the entire Zendesk name field seems to be mapped to the Salesforce lastname field. This causes us to manually update each record. Am I doing something wrong or is there any way to change this? Thank you!

  • Avatar
    David Rose

    Thanks Erin, that'll work nicely for us. Just need to wait now until we can filter contacts & accounts. This is especially of importance for us as many of our customer employ 'consultants'. The consultant will work with the company for a number of months before moving on. They tend to keep the same email address, so we'll have many John Smiths with the same email address in our database, all associated with different accounts. We use a custom field to show whether this John Smith is current or has left the company. Obviously ZD import would fall over if it tried to import many John Smiths with the same email address, but working for different companies.

  • Avatar
    Ryan Saul

    I just want to not that I definitely did not read the instructions clearly enough when attempting to do this. I did not do the leads and contacts part of the integration because I was fairly certain it would be a mess to cleanup if I messed something up. Turns out that I was right about this. We only synced accounts and orgs and now we are looking a lot of duplicate orgs in SalesForce.

    I personally would rather have a one-way sync from salesforce over to zendesk. I'm not sure what the value of going back the other way is, but I suppose there are many who use the integration differently than we do. As far as I can tell the integration works great if I disable this syncing function and just enter orgs manually (which at the moment is still pretty feasible).

    Anyway, I'm going to chalk our duplicate account debacle up to me not reading through instructions clearly enough. This is just a warning to anyone else out there looking to set this up, please do so with extreme caution!

Please sign in to leave a comment.