SCIM and Genesys Cloud field mappings

Note: This article applies to Genesys Cloud SCIM (Identity Management).

This table shows the SCIM fields that Genesys Cloud SCIM (Identity Management) maps to Genesys Cloud fields. These SCIM fields are then mapped to fields in third-party applications. 

SCIM field Genesys Cloud field Notes
id UserProfile.Id
userName UserProfile.contactInfo.email_main.[0].value
state UserProfile.state true eq ‘active’ false eq ‘inactive’
displayName UserProfile.general.name.[0].value
title UserProfile.general.title.[0].value
scimEnterpriseUser.manager.value UserProfile.relationships.manager.[0].value Full URN: urn:ietf:params:scim:schemas:
extension:enterprise:2.0:
User:manager.value
scimEnterpriseUser.department UserProfile.general.department.[0].value Full URN: urn:ietf:params:scim:schemas:
extension:enterprise:2.0:
User:department
scimEnterpriseUser.division UserProfile.divisionId Full URN: urn:ietf:params:scim:schemas:
extension:enterprise:2.0:
User:division
emails[type eq "other"].value UserProfile.contactInfo.email_main.[0].value This field is the same as userName. This field is Read Only. 
Note: See Filter multi-valued attributes.
emails[type eq "work"].value UserProfile.contactInfo.email_work.[0].value Note: See Filter multi-valued attributes.
phoneNumbers[type eq "work<"].value UserProfile.contactInfo.[0].phone_work.[0].value.number Note: See Filter multi-valued attributes.
phoneNumbers[type eq "work2"].value UserProfile.contactInfo.[0].phone_work_2.[0].value.number Note: See Filter multi-valued attributes.
phoneNumbers[type eq "work3"].value UserProfile.contactInfo.[0].phone_work_3.[0].value.number Note: See Filter multi-valued attributes.
phoneNumbers[type eq "work4"].value UserProfile.contactInfo.[0].phone_work_4.[0].value.number Note: See Filter multi-valued attributes.
phoneNumbers[type eq "home"].value UserProfile.contactInfo.[0].phone_home.[0].value.number Note: See Filter multi-valued attributes.
phoneNumbers[type eq "other"].value UserProfile.contactInfo.[0].phone_other.[0].value.number Note: See Filter multi-valued attributes.
phoneNumbers[type eq "mobile"].value UserProfile.contactInfo.[0].phone_mobile.[0].value.number Note: See Filter multi-valued attributes.
meta.location {UserProfile self URL}
meta.version (ETag) UserProfile.version
meta.lastModified UserProfile.dateModified
externalId {external ID API}
roles.[].value {user roles API} Note: See Multi-valued attribute fields.
name.givenName Not currently supported by Genesys Cloud.
name.familyName Not currently supported by Genesys Cloud.
addresses[type eq "work"].postalCode Not currently supported by Genesys Cloud. 
addresses[type eq "other"].Formatted Not currently supported by Genesys Cloud.
addresses[type eq "work"].streetAddress Not currently supported by Genesys Cloud.
emails[type eq "{type}"].primary UserProfile.primaryContactInfo.email.[0].value.fieldPath

This field is set to boolean constant "true" in vendor mapping.

Note: See Filter multi-valued attributes.

phoneNumbers[type eq "{type}"].primary UserProfile.primaryContactInfo.voice.[0].value.fieldPath

This field designates the phone number associated with the field as the primary phone number on the user’s contact information. This field is set to the Boolean constant "true" in vendor mapping.

Note: See Filter multi-valued attributes.

groups UserProfile.groups[type eq official] + {groups where user is owner}
password User.profile Password cannot be returned but can be updated with PUT or PATCH. 
scimEnterpriseUser.employeeNumber UserProfile.hr.empId.[0].value Full URN: urn:ietf:params:scim:schemas:
extension:enterprise:2.0:
User:employeeNumber
scimUserExtensions.
routingSkills.[].name
{user routing skills API}

Full URN: urn:ietf:params:scim:schemas:
extension:genesys:purecloud:2.0:
User:routingSkills.[].name

Note: See Multi-valued attribute fields.

scimUserExtensions.
routingSkills.[].proficiency
{user routing skills API}

Full URN: urn:ietf:params:scim:schemas:
extension:genesys:purecloud:2.0:
User:routingSkills.[].proficiency

Note: See Multi-valued attribute fields.

scimUserExtensions.
routingLanguages.[].name
{user routing languages API}

Full URN: urn:ietf:params:scim:schemas:
extension:genesys:purecloud:2.0:
User:routingLanguages.[].name

Note: See Multi-valued attribute fields.

scimUserExtensions.
routingLanguages.[].proficiency
{user routing languages API}

Full URN: urn:ietf:params:scim:schemas:
extension:genesys:purecloud:2.0:
User:routingLanguages.[].proficiency

Note: See Multi-valued attribute fields.

Multi-valued attribute fields

The SCIM and Genesys Cloud field mappings table lists only the essential subattributes required for each mapping. While additional subattributes are available as defined in RFC 7643 Section 2.4, only the essential ones are listed in the table. For a comprehensive list of subattributes for any multi-valued attribute, refer to the SCIM specification.

The multi-valued attribute SCIM fields follow this format:

<attribute>.[].<subattribute>

Where <attribute> refers to the elements in the multi-valued attribute list and <subattribute> indicates the specific subattribute of each element that is required for mapping.

The generic JSON schema for this format is:

{
   "$schema": "http://json-schema.org/draft-04/schema#",
   "type": "object",
   "required": ["<attribute>"],
   "properties": {
     "attribute": {
       "type": "array",
       "items": [
         {
           "type": "object",
           "additionalProperties":true,
           "required": ["<sub_attribute>"],
           "properties": {
             "sub_attribute": {
               "type": "string"
             }
           }
        }
      ]
    }
  }
}

Use any of the online JSON Schema validators to validate the JSON schema for the multi-valued attributes references in the mapping in the table. For example, in the roles.[].value mapping, roles represents <attribute> and value represents <subattribute>.

 The JSON element for the roles.[].value mapping is therefore validated as follows:

 {
   "roles": [
     {
       "other": "this is allowed but doesn’t contribute to the roles mapping",
       "value": "Role1"
     },
     {
       "value": "Role2"
     }
   ]
 }

Filter multi-valued attributes

Some SCIM multi-valued attributes require mapping a specific list item to a Genesys Cloud field. In these cases, an additional subattribute is specified as a filter field for the list. This filter field becomes a mandatory subattribute for that element.

For example, in the phoneNumbers[type eq "home"].value field, phoneNumbers represent the <attribute>, value represents the <subattribute>, and type is the extra <subattribute> used for filtering. Unlike the standard mappings that do not need a filter, type subattribute is used to identify and bind to the correct phone number entry in the list. With the extra subattribute type, the JSON element used for the mapping is validated as follows:

 {
   "phoneNumbers": [
     {
       "type": "home",
       "value": "+13175551234"
     },
     {
       "type": "mobile",
       "value": "+13175554321" 
     }
   ]
 }