Skip to main content

Customer access attributes and custom user attributes overview

Tag conversations with customer access attributes and define user entitlements with custom user attributes. Attribute-based access control (ABAC) policies compare the two to decide who can access conversation data.

Customer access attributes

A customer access attribute is a field on a conversation that identifies a customer-defined access segment, such as a legal entity or client category. A conversation can have more than one customer access attribute. Each attribute represents a separate access control dimension, for example LegalEntity and ClientCategory.

  • Each customer access attribute has a single value.
  • The value is a text string. The default maximum length is 36 characters, and the absolute limit is 100 characters.
  • Customer access attributes are saved as conversation-level metadata. They are available to ABAC policy evaluation, search restriction, and API enforcement.
  • To add, edit, or remove customer access attribute values on a conversation, you need the Conversation > Access Attributes – Edit permission.
  • To view the values, you need the Conversation > Access Attributes – View permission.
Note: Assigning a customer access attribute to a conversation does not grant or restrict access by itself. Access depends on the roles, divisions, and ABAC policies configured in your organization.

Conversations without a customer access attribute

If a conversation has no customer access attribute, existing role-based and division-based permissions continue to apply. Any ABAC policy that applies to the requested resource is also evaluated. Policies can explicitly allow or deny access when a customer access attribute value is null or empty.

Conversations that existed before you started using customer access attributes are treated as having empty values. If you want those conversations to remain accessible after you create a policy, write the policy to allow empty values.

Reporting and analytics

For native Genesys Cloud reporting, analytics, and search experiences, customer access attribute values support the access control and search restriction behavior. Because the values are part of the conversation metadata, other services that process conversation data might make them available. Whether those services filter or enforce access using the values depends on how each service is implemented.

Custom user attributes

A is a field that you define on user profiles to record a user’s entitlements. For example, a LegalEntity attribute might list the legal entities a user is allowed to work with.

To create custom user attributes and assign values to users through the API, performing the following steps:

  1. Create custom attributes for user profiles by using the . 
  2. Assign specific values to users by using the .
  3. Use the attributes in ABAC policies for supported policy targets. The policy compares the user’s values with the conversation’s customer access attributes to allow or deny access.

To define and assign custom user attributes to users, you must have the following permissions:

  • Users > Custom Attributes Schema – Add
  • Users > Custom Attributes Schema – Edit
  • Users > Custom Attributes Schema – Delete
  • Users > Custom Attributes Schema – View
  • Directory > User – Edit

Administrators can manage only the users and configurations within their authorized scope.

If you save an ABAC policy that references a custom user attribute that is not defined or is specified incorrectly, Genesys Cloud returns an error that describes the problem.

How policies compare the two

An ABAC policy compares a user’s custom user attribute values with a conversation’s customer access attribute values. The following examples are illustrative.

Policy conditionUser’s attribute valuesConversation’s Customer Access AttributeResult
The user’s values contain at least one value that matches the conversationSwissBanking, GermanWealthGermanWealthAllow
The user’s values contain at least one value that matches the conversationSwissBanking, GermanWealthSwissRetailNo match, so this policy does not allow access
Legal entity matches and client category matchesLegalEntity = 001, ClientCategory = WealthLegalEntity = 001, ClientCategory = WealthAllow
Legal entity matches and client category matchesLegalEntity = 001, ClientCategory = WealthLegalEntity = 001, ClientCategory = RetailThe client category does not match, so this policy does not allow access
Policies can combine conditions with AND and OR logic. Search restriction is different. It uses exact matching and does not evaluate these policy expressions. For more information, see .

Non-user clients

OAuth clients that use the client credentials grant do not carry a user or custom user attributes. If an ABAC policy that references user attributes applies to an OAuth client, the unavailable attributes are evaluated as empty values. You can exclude OAuth clients from the policy and govern them with a separate client-specific policy or with their existing roles and divisions.