Create a lookup table for a custom property, required by SCIM API

Hello and thanks for reading.

I’m developing a SCIM API for our external application. When creating a user in our application, we require a RegionId.

However, this ID is specific to our application. The Okta user will have a region assigned, but it will be the region’s name, so it’ll need to be mapped to its ID before being sent in SCIM requests.

  1. Is there a way to store these mappings within Okta and perform a lookup when sending the requests?

  2. If so, is it possible to automate this list using an API endpoint? We have an endpoint that surfaces all region names and IDs. Optimally we could call this regularly, or with each request, to make sure the mappings are up-to-date.

An example of what I’m trying to achieve:

  1. User is created in Okta with a region of “Eastern”

  2. “Eastern” region name is replaced with its corresponding ID, either by using a static lookup table, or by calling an API and evaluating the response body.

  3. The SCIM “Create User” request is sent to our external application, including the RegionId.


If there are only a few values, then maybe you can try using Okta expression language to check the Okta user profile attribute and then assign a different value for the application profile attribute. However, if there are a lot of values then it could add a lot of delay.

Wouldn’t it be a better idea to add code on the SCIM server side to translate the region name you get from Okta to its ID format?