Set up custom attributes in Okta

Map extra user attributes from Okta to Perk over SCIM, so profile data stays in sync automatically and you avoid duplicating it by hand.

Use this guide to map extra user attributes from Okta to Perk. Mapping attributes keeps profile data in sync automatically, so you avoid duplicating it by hand.

For the full attribute schema, see the SCIM user model reference.

Note: This is an advanced guide. Before you continue, complete the basic Okta SCIM configuration.

Prerequisites

Before you start, make sure you have:

📘

Note

While the Okta app is named TravelPerk, it is used to provision users to Perk.

Add custom attributes

To add custom attributes, follow these steps:

  1. As an Okta administrator, go to Applications > Applications > TravelPerk.
  2. Select the Provisioning tab.
  3. At the bottom of the To App section, find the list of attributes and mappings.
  4. Select Go to Profile Editor.
  5. Select Add Attribute.
  6. Use the Supported attributes table below to enter the correct values. Only required fields are shown — fields such as Description are optional.
The Okta provisioning attributes list showing the default Perk attributes: Username, Given Name, Family Name, and Honorific Prefix. The Okta Add Attribute form, where you enter the display name, variable name, external name, and external namespace.

Once you've created the attributes you want to sync, map them to their Okta source:

  1. Select Mappings.
  2. Select Okta user to Perk.
  3. Use the drop-down boxes on the left to choose which Okta attribute maps to each Perk attribute.
  4. Select Save.
📘

Note

You can leave some attributes unmapped. If you do, Okta prompts you to enter their value by hand when you assign the Perk app to a user.

Supported attributes

Perk supports the following attributes in its SCIM API. All data types are string unless noted.

Attribute / display nameNotesExternal nameVariable nameExternal namespace
Middle namename.middleNamemiddleNameurn:ietf:params:scim:schemas:core:2.0:User
Titletitletitleurn:ietf:params:scim:schemas:core:2.0:User
PhonephoneNumbers.^[type=='work'].valuephoneurn:ietf:params:scim:schemas:core:2.0:User
Preferred languageSee the supported locale values.preferredLanguagepreferredLanguageurn:ietf:params:scim:schemas:core:2.0:User
LocaleDefaults to en for British English. See the supported locale values.localelocaleurn:ietf:params:scim:schemas:core:2.0:User
Cost objectIf a cost object with the given name isn't found, Perk creates it.costCentercostCenterurn:ietf:params:scim:schemas:extension:enterprise:2.0:User
Employee numberemployeeNumberemployeeNumberurn:ietf:params:scim:schemas:extension:enterprise:2.0:User
Emergency contact nameemergencyContact.nameemergencyContactNameurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
Emergency contact phoneemergencyContact.phoneemergencyContactPhoneurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
Travel policyThe name of the travel policy. It must already exist in Perk. See Define your travel policy.travelPolicytravelPolicyurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
Date of birthThe user's date of birth, in YYYY-MM-DD format.dateOfBirthdateOfBirthurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
GenderMust be M, F, or empty.gendergenderurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
CompanyMust match the name of an existing company in Perk exactly. If the company doesn't exist, create it first.companycompanyurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
Line manager email addressThe email address of the user's line manager used to sign into the Perk platform. Use this field to assign a line manager by their email address. If you use it together with the manager field, lineManagerEmail takes priority. This field helps with systems that can't reference another object directly, such as Okta.lineManagerEmaillineManagerEmailurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
Unique IDThe unique code or identifier for each employee, such as an employee number.uniqueIduniqueIdurn:ietf:params:scim:schemas:extension:travelperk:2.0:User
Expense policy IDpolicyIdpolicyIdurn:ietf:params:scim:schemas:extension:expense:2.0:User
Creditorcreditorcreditorurn:ietf:params:scim:schemas:extension:expense:2.0:User
Legal entity IDCompany IDlegalEntityIdlegalEntityIdurn:ietf:params:scim:schemas:extension:expense:2.0:User
Approval thresholdLimit up to which the user can approve.approvalThresholdapprovalThresholdurn:ietf:params:scim:schemas:extension:expense:2.0:User
Ignore manager in requestsUse to indicate that the SCIM API should ignore the manager attribute in the request.
Allows Okta to sync user data without accidentally overwriting the manager/line-manager relationship managed elsewhere.
ignoreManagerInRequestsignoreManagerInRequestsurn:ietf:params:scim:schemas:extension:expense:2.0:User

Map Okta fields to Perk

You control the Okta fields that map to the Perk attributes. The screenshot below shows an example configuration that you can adapt to your needs.

An example Okta attribute mapping screen with sample Okta-to-Perk field mappings.

Next steps