Salesforce: Configuring user and organization syncing in Salesforce Follow

team professional enterprise plans

Updated: July 13, 2016 (for package 4.7.1)

You can configure a one-way, ongoing 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: You must have installed the Zendesk for Salesforce app from the Salesforce App Exchange before you configure user and organization syncing.
Important: This is an advanced feature. New Salesforce installations and 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.

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 to use it.
  • 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 manager 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
    • 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
    • Notes
    • Organization
    • Tags
    • Zendesk_oldTags
    • Zendesk_OutofSync
    • Zendesk_Result
    • Zendesk_User_Id

If you do not add these fields to the layout before you set up the sync, you'll see a section called Objects and field permissions in the settings page listing all the missing field permissions. You'll need to add the fields to your layout to resolve the missing permissions.

(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. Locate the Logging level section.

  3. 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
  4. Select an option for Weeks to retain logs.
  5. Click Save Logging Level.
Note: You should not use the option to export debug data to a CSV file unless you are working with Zendesk Support.

Configuring ongoing syncing to Zendesk organizations and users

You can configure an ongoing sync that automatically creates and updates Zendesk organizations immediately after accounts are created or updated in Salesforce. Likewise, you can configure an ongoing sync that automatically creates and updates Zendesk users immediately after contacts or leads are created or updated in Salesforce.

This is a one-way sync of data; changes applied in Zendesk are not reflected in Salesforce.

Note: Ongoing sync is an advanced feature. New Salesforce installations and 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. If you set up the ongoing sync, you can consider performing an initial bulk sync (see Performing a bulk sync). The bulk sync option is also an advanced feature.

Enabling and configuring the sync requires updating a number of settings on the User and Organization Sync Settings page.

Begin by opening the User and Organization Sync Settings page and verifying the general settings.

To access the Sync Settings page and begin updating
  1. In Salesforce, click the Zendesk tab in the Zendesk for Salesforce app.
  2. In the User and Organization Sync Settings section, click Go to Mappings. The Sync Settings page opens.
  3. Use the Sync Pairing drop-down menu to select Accounts - Organizations, if it is not already selected.
  4. In the General Options section, use the Enable Updates drop-down menu to select Yes, if it is not already selected.

Next, you need to set the sync filters and select the record types and field values you want to use.

To update the sync filters

  1. On the Sync Settings page, locate the Filters section:

  2. Using the Filter by Picklist Field drop-down menu, select a field to filter the sync by that field. A picklist with available field values appears below the menu.
  3. (Salesforce Enterprise edition only) Use the picklist to select the record type(s) you want to sync, by clicking the field(s) in the left pane and using the arrows to move it to the right pane. This option only appears if you use record types.
  4. Use the arrows on the far right to change the order of the record types. The top-most record type in the right pane is used as the default for new accounts created from Zendesk during the bulk sync.
  5. Click Save.

Now you need to map the Zendesk fields to the Salesforce fields you want to populate them.

To map Zendesk fields to Salesforce fields

  1. On the Sync Settings page, locate the Tag Mapping section:

  2. (Optional) Use the Zendesk Domain Names drop-down menu to select the Salesforce fields you want to map to the Domain Names field, then use the Notes drop-down menu to select the Notes field on a Zendesk organization profile.
  3. Use the Zendesk Tags picklist to select the available Salesforce fields to use as tags in your Zendesk, by clicking the field(s) in the left pane and using the arrows to move it to the right pane.The selected Salesforce field values are added as tags in your Zendesk.

    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).

  4. Click Save.

Finally, configure any custom field mappings and assign picklist values, if needed.

To configure custom mappings and assign picklist values

  1. On the Sync Settings page, locate the Field Mapping section:

  2. Use the Salesforce Field drop-down menu to select a Salesforce field, and to display a new drop-down list of available Zendesk fields.
  3. Use the Zendesk Fields drop-down to select a Zendesk custom organization field, then click Add.

    Mapping these fields means that they update during the ongoing sync and the bulk sync. The options in the Zendesk Field drop-down vary according to the type of field you select in the Salesforce Field drop-down; only fields of the same type will be available (see Allowed field types for Zendesk field mapping).

  4. If you mapped a Salesforce picklist field to a Zendesk drop-down field, click Map beside each one, then select a drop-down value for each picklist value and click Add.

You can also configure an ongoing sync for Contacts to users, and for Leads to users.

To configure a sync for Contacts to users, or for Leads to users

  1. At the top of the User and Organization Sync Settings page, use the Sync Pairing drop-down menu to select Contacts - Users, or Leads - Users.
  2. In the General Options section, use the Enable Updates drop-down menu to select Yes, if it is not already selected.
  3. Update the Filters, Tag Mapping, and Field Mapping sections as described above.

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 type Drop-down Text Multi-line text Numeric Decimal Checkbox Date
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        
Have more questions? Submit a request

Comments

  • 0

    Has there been any movement on the syncing of formula fields to zendesk tags

  • 0

    Hi, Im having problems with deleting the logs (they are taking up almost 90% of storage)

    I tried:
    <Zendesk\_\_ZendeskLog\_\_c> tmpList = [SELECT Id FROM Zendesk_ZendeskLog_c ORDER BY CreatedDate ASC LIMIT 10000];
    if (!tmpList.isEmpty()) delete tmpList;

    But I get the following error:
    Line: 1, Column: 0
    required (...)+ loop did not match anything at input '<'

    Any advice?

  • 0

    Can you try this instead?

    list<Zendesk__ZendeskLog__c> tmpList = [SELECT Id FROM Zendesk__ZendeskLog__c ORDER BY CreatedDate ASC LIMIT 10000];
    if (!tmpList.isEmpty())
    delete tmpList;
    
  • 0

    @erin Works perfectly. Thank you.

  • 0

    I don't want a new organization to be created in Zendesk for every new account created in SFDC. I only want an organization created when an opportunity for an account is closed/won. It doesn't look like the integration can be configured in such a way. Can someone confirm? If not, can someone also confirm whether this is on the roadmap?

  • 0

    When syncing a contact, I only want to sync contacts with a specific role. Is that possible? Also, I only want to sync contacts when an opportunity is set to closed/won. Is that also possible? Thanks!

  • 0

    Oh one more question:

    During the sync, we also want to pull in the support level associated with the product that was sold in the opportunity. Is that possible? The "support level" is a field within the product.

  • 0

    Hi Allen! At this time, the integration does not support Salesforce Opportunities. The sync tools only work on Accounts, Contacts, and Leads. Also, keep in mind that the ongoing sync is triggered by opening the record and clicking “save."

    To make this work, you could create fields on your Accounts and Contacts, then populate them with data from other places. For example, you could make an “opportunity status” field, which is updated when the Opportunity is closed or won. Then you could use that “opportunity status” field to filter your Account and Contact sync.

    For the contact role, as long as it is a compatible field on the Contact, you should be able to include it in your sync filter. The “filter by field” instructions are in the article above.

    For the “product support level,” you could create matching fields in Salesforce and Zendesk, then map them using the steps in the article above. Make sure they are compatible types - most likely, you’d have a Salesforce picklist mapping to a Zendesk dropdown.

    Basically, as long as you can get the data to a supported field on the Account and/or Contact, you can incorporate that data in the sync.

  • 0

    @Amy Dee: This is very helpful. Thanks for the detailed reply.

    Edited by Name
  • 0

    Hi,

    Is it possible to send data (tickets) from Zendesk to Salesforce, or can you only send from Salesforce to Zendesk? If not, how would I "Lookup" Salesforce Account data from Zendesk? It looks like I have set it up, as it says "Your Zendesk account is connected to your Salesforce organization and can retrieve user information" but I don't see Zendesk tickets in Salesforce. Do I need to be in the Enterprise trial for this?

    Any help or links to the correct help file would be appreciated. Lots of information so sorry if I missed something!

    Aron

  • 0

    Hi Aron,

    This particular article is only for syncing users and organizations from Salesforce to Zendesk. I think you'll want to read through these two options in Choosing Zendesk for Salesforce features instead to set up seeing tickets in Salesforce.

    Hope this helps!
    Erin

  • 0

    Has anyone found a standard solution for populating an "Email Domains" field in Salesforce (automatically) so that Zendesk can pick it up and automatically associated requestors with their organization? It's easy enough to create a custom field within the Contact object, but the challenge is rolling up these values to the Account object and de-duplicating the values.  Expected result would be something like this:

     

    Email Domains: example.com example.co.uk corp.example.com

     

    I realize this is a Salesforce question, but I'm hopeful that someone has solved for this particular Zendesk use case. 

  • 0

    Reply to my own question:

    We exported a CSV of: Account Name, Email Address

    We then did some offline processing to create a new CSV that only had 1 account per line and a comma-delimited list of email address domains as the second field.

    Example:

    Acme Inc.,"acme.com,acme.co.uk"

     

    Then we did a Bulk import for Organizations. We resigned ourselves to doing ongoing updates manually.

  • 0

    There is a broken image under Step 5 of "Configuring Ongoing Sync".

  • 0

    Should the Zendesk fields in Salesforce (eg. Zendsk_OutofSync) ever be manually modified? I had a case where the Account became out of sync with the Organization and needed to trigger a resync, so I checked the "Zendesk_OutofSync" field and that seemed to accomplish what I wanted. Now I'm unsure if there are side-effects of doing that. Is there a better way to trigger the resync of a single Account (and, if possible, the associated Contacts)?

  • 0

    Thanks for the heads-up on the image, Justin! I'll have our docs team look into it. I've also followed up to see if I can get an answer to your question here.

  • 0

    @Justin

    The sync fields can be manually modified but typically we recommend not doing so without guidance as it can cause mismatch issues or the syncs to fail entirely.

    That being said,  you can trigger a sync on any account/contact record by clicking "Edit" then "Save". This will cause the sync trigger to fire on that record, even if no edit was actually made.

    Keep in mind, you would have to do this on each record (account/contact) you wanted to trigger the sync on.

     

  • 0

    Hi there,


    Can you sync a custom object in SFDC to a user/contact in Zendesk.

    We are wanting to create a custom object inside of SFDC called 'platform users' that is seperate to the default object 'contacts'. We have 100s of users per account and do not want them all to live in the 'contact' object on salesforce

  • 0

    Hey Ben,

     

    You cannot sync a custom object from SF to Zendesk users using the standard integration. However, using the Force.com Toolkit: https://developer.zendesk.com/rest_api/docs/api-clients/forcecom you could create a custom sync function which could include that ability - but it would require all custom coding on your part!

     

  • 1

    Is it possible to sync based on another field BESIDES the email address? Say a custom object that contains the USER ID or some other created value? I have some "voice only" users that do not have an email address.

  • 0

    Hi Eddie -

    Unfortunately, user-contact syncing can only be configured using email as the key. I hope this clears up any confusion - sorry for the inconvenience.

     

  • 0

    I am currently working through the integration and get a message: 


    Attempt to de-reference a null object

    Error is in expression '{!ValidateSettings}' in page zendesk:zendeskorgtab: (Zendesk)

    An unexpected error has occurred. Your solution provider has been notified. (Zendesk)

    Do I need to uninstall and start again?

  • 0

    Hey @Webio Operations -

     

    I'm going to pull your question into a ticket so we can work on it together as there's a number of things that could be going on here. Keep an eye out for an email in the very near future.

  • 1

    I really would like to sync based on a custom field inside SFDC instead of Account Name.  Account Name gives me a zillion duplicates that I don't need.  I'm talking with Dan over there at Zendesk about this but thought I would post it here, too.  My other thought was to put our unique IDs into your Organization Name field.  But that still syncs with Account Name on the SFDC side.  I wish I could map your Organization Name field to another field in SFDC.  That would be perfect for us.  

    Another note, why are the most current posts on the very LAST page?  We are considering Zendesk Community and I would like to show the most recent posts FIRST instead of last.  Is that a setting I can configure?  The first post on this topic was from 2012!

  • 1

    @Jason,

     

    Very happy you brought this up. We're actually in the process of redesigning the way Sync works, and ability to select how records are matched is a main aspect of the change.

    I would love to share my plans and get feedback from your. Let me know if you will be open for a video call?

     

    P.S. Totally agree about last comment should be displayed first. I'll pass your feedback to the right team.

  • 0

    We wrote our own sync in the end as it was critical for us that it was 
    a. Two way - i.e a user that added themselves to ZD got pushed to SF so the sales team knew there was an additional contact.
    b. We had loads of Accounts and Contacts in SF that weren't relevant for ZD, so we had to add in some filtering i.e only sync if the Account has purchased product X.
    c. We use a custom field in ZD to store the SF unique ID, so if the SF account changes name or the contact does (they often get married) the sync still happens correctly.

    It maybe that the SF sync now does all of these, but at the time it didn't.

    Happy to talk/answer any questions.

  • 1

    @Yuri -

    I would also be interested in knowing about the plans regarding the redesigning of how the records (especially the organizations to accounts) are matched. The current setup of matching based on the account "name" is really a huge roadblock for us.

    Please let me know if there are anyways around this restriction, such that we can match them based on the Salesforce ID? Also, please let me know when can we expect a change in the way the records are matched.

    Thanks in advance.

  • 1

    @Ali

     

    We're currently working to completely redesign the way sync works. Instead of relying on org name to match account name, we are planning to allow up to free 3 matching criteria. These will be user configurable.

    There are many other enhancements to the sync mechanism included as well.

    I tentatively plan to start a closed beta early next year before releasing it publicly.

     

  • 0

    Hi,

    I want to sync Contacts but not Leads.

    In the "User and Organization Sync Settings", I want to choose "Enable Updates" = Yes for Contacts and "Enable Updates" = No for Leads.

    It seems that I need to choose the same setting for Leads and Contacts.

    Is it possible to choose "Yes" for Contacts and "No" for leads?

     

    Thanks

     

     

  • 0

    Hi Amarel! 

    At this time, it is not possible to choose "Yes" for Contacts and "No" for leads. However you should be able to filter the lead object as a workaround: 



Please sign in to leave a comment.

Powered by Zendesk