SCIM and Genesys Cloud field mappings
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: Note: See Multi-valued attribute fields. |
scimUserExtensions. routingSkills.[].proficiency |
{user routing skills API} |
Full URN: urn:ietf:params:scim:schemas: Note: See Multi-valued attribute fields. |
scimUserExtensions. routingLanguages.[].name |
{user routing languages API} |
Full URN: urn:ietf:params:scim:schemas: Note: See Multi-valued attribute fields. |
scimUserExtensions. routingLanguages.[].proficiency |
{user routing languages API} |
Full URN: urn:ietf:params:scim:schemas: 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" } ] }