Automatically populate (and keep updated) Zendesk User Field from directory attribute (AD/Okta/etc.)


  • Sam

    Hi Lefteris Apostolakis! Okta has a Zendesk integration which does this. We use it in our environment to push data, and it pretty much works as expected. You can find it at Zendesk | Okta.

    Hope this helps!

  • Sam

    Hi Lefteris Apostolakis!

    If you are using the Okta Zendesk integration already, you will want to follow the instructions located in the SAML guide for managing the Schema.

    That document is light on details, though. Here is what you would want to do:

    Edit: Prior to completing these steps, the information you want to push from Okta to Zendesk must already exist in the Okta user profile, located under Okta Admin -> Directory -> Profile Editor).

    1. Log into Okta
    2. Go to Okta Admin
    3. From Okta Admin, go to Applications -> Applications
    4. In the Applications list, click on your Zendesk connector
    5. On the Zendesk connector setup page, select Provisioning
    6. On Provisioning, under Settings, select To App (should load by default - the icons to the right will show Okta on the left and Zendesk on the right)
    7. At the bottom of the Provisioning page, under Attribute Mappings, select Go to Profile Editor
    8. In the Profile Editor page, click on Add Attribute to view your custom Zendesk fields which have not already been added to Okta
    9. On the Pick Schema Attributes page, select whichever attribute(s) you would like to map between Okta and Zendesk, and select Save (if you have recently updated your Zendesk user fields and you do not see them here, click Refresh Attribute List)
    10. On the Profile Editor page, under Attributes, select Mappings
    11. In the Zendesk User Profile Mappings pop-open window, select Okta User to Zendesk User Profile (the view should update to show Okta values on the left, and Zendesk values on the right - make)
    12. In the Zendesk User Profile Mappings pop-open window, locate the Zendesk fields you would like Okta to sync to Zendesk. On the left side under Okta User User Profile (or similar), you should see "Choose an attribute or enter an expression"
    13. In the Choose an attribute or enter an expression field matching the Zendesk field you want to update, select the record in Okta you want to push to Zendesk
    14. (Optional) At the bottom of the User Profile Mappings window, enter a user name to see what data Okta would push to Zendesk
    15. Repeat 12-13 for any additional mappings you would like to sync from Okta to Zendesk
    16. Select Save Mappings at the bottom of the window
    17. Go back to your Zendesk connector in Okta (steps 3-5)
    18. Underneath Zendesk Attribute Mappings, select Force Sync to immediately sync Okta to Zendesk
  • Lefteris Apostolakis

    Thanks for the information Sam! I will definitely give it a try but I would still like to find a solution outside of this app because we will also be moving away from Okta soon, therefore I am curious to see if there is a more "manual" way to get a custom user field populated and regularly updated from any directory integration, not just Okta.

  • Sam

    Lefteris Apostolakis if you want to do something completely custom, I'd recommend making use of the Users API and writing a script that pushes the changes from your source of record to Zendesk.

    In the end, it really depends on what your team ends up using to provision the accounts. It's possible whatever service you have next will also have an integration with Zendesk. For example, AzureAD also has a Zendesk connector.

    There are also 3rd-party middleware tools such as Zapier which can connect to multiple systems, but those will come at some cost.

  • Lefteris Apostolakis

    I just found some time to check on that Zendesk integration you posted, and I just realised that this is THE Zendesk app that you can add in Okta and it's the one we use already. I am aware that the Zendesk Okta integration and it pushes data, but it doesn't put the data we want; only the built-in data it has (name, email address and some other basic fields that it needs to link tickets to users). We want to be able to pull data from AD/Okta user profiles into a Zendesk customer user field. And hopefully that data can be any AD string attribute that we are pulling from AD/Okta.

  • Lefteris Apostolakis

    Thanks for the instructions Sam. This is something that we have done already in Okta. In theory, we are already mapping the custom attributes we want from Okta into Zendesk. The issue is that there is no obvious way to display this custom attribute information inside Zendesk. If you try to create a new user field for example, you are only given a list of the default Zendesk field types to choose from (e.g. string, multi-select, drop-down).

    I would expect to also have the option to select a source originating from the custom attribute I am already syncing through Okta (or any IDP for that matter). I mean, this functionality already exists for some of the default user fields Zendesk is using, like user First/Last Name, email address, etc. I am baffled at the fact that I don't seem to have to option to easily display any custom attribute information I am syncing to a custom user field.

  • Andrew Turpin

    So turns out this is totally doable...

    1. Set up your Zendesk app in Okta with provisioning enabled using Zendesk JSON Web token SSO
    2.  Create the needed User Field in Zendesk (people -> User Field)  
    3. In Okta go to the Zendesk app on the provisioning tab, click on the "Go to Profile Editor"
    4. In Profile Editor click +Add Attribute, refresh  Attributes list, and then select the new User fields
    5. In the Profile Editor click Mappings and set the needed attributes in "Okta User to Zendesk"
    6. Profit
  • Dave Dyson
    Thanks for sharing your solution, Andrew, and welcome to the community!

Please sign in to leave a comment.

Powered by Zendesk