Recent searches


No recent searches

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



Posted Mar 22, 2022

Hello all,

I have been trying to find more information for something I thought would be more common, but I didn't manage to find a satisfactory answer, therefore I am posting here.

We have been trying to pull data from our Okta profile users into Zendesk. More specifically, we are trying to pull information about the user office location into Zendesk so that we may report on which office locations tickets are raised from.

At this point we have synced the user office location from our on-prem Active Directory into Okta into a custom attribute, and this custom Okta attribute is already mapped into the Zendesk Okta app. So far so good.

My actual question is how to display this custom attribute information into Zendesk itself. Ideally, we would like to "attach" this custom attribute information into a User field. This user field can then be part of the Zendesk profile of each user, and then we should be able to somehow link it via triggers into a ticket field.

Moreover, this custom user field should be automatically updated based on the information that the source (profile master) provides. So for example if a user's location changes from "Amsterdam" to "Berlin" in Active Directory, this change will be pushed to Okta (this does happen already) and then Okta will push this change into Zendesk. Therefore the Zendesk user profile will always be kept up to date with the latest information for each user.

 

I haven't managed to find any concrete information on how to populate ANY Zendesk user field from information that is being pushed by a directory integration (be it Okta, on-prem AD, Azure AD, etc.). And to keep that information up to date without bulk importing users all the time. Am I missing something?

 

The closest information I could find about my issue was described in the following Zendesk community conversation, but then it mostly focuses on how to link a user field with a ticket field:
https://support.zendesk.com/hc/en-us/community/posts/4409222749978-Link-user-field-with-ticket-field

 

Bottom line, we would like to have a Zendesk user field being automatically populated (and updated) from an AD/Okta attribute.

Will appreciate any input on this!


1

8

8 comments

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!

1


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.

0


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.

0


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.

0


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

1


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.

0


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

0


Thanks for sharing your solution, Andrew, and welcome to the community!

0


Please sign in to leave a comment.

Didn't find what you're looking for?

New post