---
sourceDocument: Brazil Customer Service Management
sourceDocumentLink: https://www.servicenow.com/docs/r/customer-service-management

 Release :

    - brazil

ft:locale :

    - en-US

ft:publication_title :

    - Brazil Customer Service Management

ft:clusterId :

    - csm

bundleId :

    - csm

workflow :

    - Customer and Industry


---

# Granular roles and entities in the responsibility framework

# Granular roles and entities for responsibility framework {#ariaid-title1}

Release version: Brazil  
Updated September 10, 2026  
![](https://www.servicenow.com/docs/portal-asset/ico-clock) 3 minutes to read  
Starting with the Yokohama release, module-level granular roles simplify defining and configuring the responsibility framework. The base system uses these roles in its table-level access control lists (ACLs) for the supported
entities, so you can avoid creating custom table-level ACLs.

## Granular roles for access through entities {#granular-roles-and-supported-entities-CAM__section_ycb_1hh_jkc}

The granular roles provide Create, Read, and Update (CRU) access across entities, based on the access permissions defined for each responsibility within the declarative responsibility framework.  
Note:  
You don't assign granular roles to users directly. Instead, you assign a functional role that's enabled for the responsibility framework, and that role contains the granular roles, so users inherit them through role containment. On its own, a granular role has no effect.
{#granular-roles-and-supported-entities-CAM__table_tyr_bhb_d2c__entry__2}

| Granular roles | Description |
|-|-|
| sn_customerservice.cust_data_resp_granular | Provides granular access to customer-related foundational entities (including accounts, contacts, consumers, and households) through the responsibility framework. |
| sn_billing_account.resp_granular | Provides granular access to billing accounts and related entities through the responsibility framework. |
| sn_customerservice.case_mgmt_resp_granular | Provides granular access to case and related entities through the responsibility framework. |
| sn_install_base.resp_granular | Provides granular access to installed base items, sold products, and related entities through the responsibility framework. |
| sn_customerservice.contract_entitlement_resp_granular | Provides granular access to contracts, entitlements, and related entities through the responsibility framework. |
[ ]

{#granular-roles-and-supported-entities-CAM__table_tyr_bhb_d2c}

## Granular roles and supported entities {#granular-roles-and-supported-entities-CAM__section_yc1_dhh_jkc}

Granular roles are designed based on feature sets and can be used to provide access to supported tables or entities though the responsibility framework.
{#granular-roles-and-supported-entities-CAM__table_mc1_d4v_c2c__entry__3}

| Feature Set | Granular Role | Supported Tables/Entities |
|-|-|-|
| Customer Data | sn_customerservice.cust_data_resp_granular | * Account \[customer_account\] * Account Team Member \[sn_customerservice_team_member\]  * Account Address \[account_address_relationship\] * Account Relationship \[account_relationship\]  * Contact Relationship \[sn_customerservice_contact_relationship\] * Contact \[customer_contact\] * Consumer \[csm_consumer\] * Consumer Profile Location \[sn_csm_consumer_profile_location\] * Escalation \[sn_customerservice_escalation\] * Location \[cmn_location\] * Asset Contact \[sn_customerservice_m2m_asset_contact\] {#granular-roles-and-supported-entities-CAM__ul_g3c_54v_c2c} |
| Billing Account | sn_billing_account.resp_granular | * Location \[cmn_location\] * Schedule \[cmn_schedule\] * Schedule Entry \[cmn_schedule_span\] * Billing Account \[sn_billing_account_billing_account\] * Billing Account Address \[sn_billing_account_address\] * Billing Account Payment Profile \[sn_billing_account_payment_profile\] * Billing Account Related Party \[sn_billing_account_related_party\] {#granular-roles-and-supported-entities-CAM__ul_mmf_1qg_jkc} |
| Case Management | sn_customerservice.case_mgmt_resp_granular | * Case \[sn_customerservice_case\] * Task \[sn_customerservice_task \] * Task service-level agreement (SLA) \[task_sla \] * Escalation \[sn_customerservice_escalation\] * Work Order \[wm_order\] {#granular-roles-and-supported-entities-CAM__ul_h5r_dpv_c2c} |
| Install Base Management | sn_install_base.resp_granular | * Installed Product \[sn_install_base_m2m_installed_product\] * Affected Install Base \[sn_install_base_m2m_affected_install_base\] * Install Base Item \[sn_install_base_item\] * Sold Product Covered \[sn_install_base_m2m_contract_sold_product\] * Sold Product \[sn_install_base_sold_product\] * Install Base Related Party \[sn_install_base_related_party\] * Sold Product Related Party \[sn_install_base_sold_product_related_party\] * Asset Contact \[sn_customerservice_m2m_asset_contact\] * Asset \[alm_asset\] {#granular-roles-and-supported-entities-CAM__ul_wnk_lpv_c2c} |
| Contracts and Entitlements | sn_customerservice.contract_entitlement_resp_granular | * Contract \[ast_contract\] * Entitlement \[service_entitlement\] {#granular-roles-and-supported-entities-CAM__ul_xx2_3pv_c2c} |
[ ]

{#granular-roles-and-supported-entities-CAM__table_mc1_d4v_c2c} Note:  
The granular roles include table-level ACLs in the base system. They don't include field-level ACLs. To provide access to specific fields, create field-level ACLs separately on the required roles. {#granular-roles-and-supported-entities-CAM__table_pgp_kqv_c2c__entry__2}

| System Roles | Granular Roles |
|-|-|
| sn_customerservice.relationship_contributor | * sn_customerservice.cust_data_resp_granular * sn_install_base.resp_granular * sn_customerservice.case_mgmt_resp_granular {#granular-roles-and-supported-entities-CAM__ul_tns_4qv_c2c} |
| sn_customerservice.relationship_agent | * sn_customerservice.cust_data_resp_granular * sn_install_base.resp_granular * sn_customerservice.case_mgmt_resp_granular * sn_customerservice.contract_entitlement_resp_granular {#granular-roles-and-supported-entities-CAM__ul_jn4_rqv_c2c} |
[Table 1. System roles containing related granular roles]

{#granular-roles-and-supported-entities-CAM__table_pgp_kqv_c2c}

## How granular roles, functional roles, and query rules interact {#granular-roles-and-supported-entities-CAM__section_granular_roles_query_rules}

In the responsibility framework, functional roles, granular roles, and query rules each control access in a different way:

Functional role
:   The role assigned to the user. The responsibility framework uses it as the role condition on responsibility access configurations and on query rules. For example, `sn_customerservice.relationship_agent`.

Granular role
:   The role inherited through the functional role that contains it. The base system uses it as the role condition on the table-level ACLs for a supported entity, such as `sn_customerservice.case_mgmt_resp_granular`. On its own, a granular role has no effect.

Query rule
:   A performance mechanism that a functional role activates. A query rule narrows the set of records the platform evaluates ACLs against, so the platform doesn't evaluate ACLs against every record in a large table. For
    more information on query rules, see [CSM Query Rules](https://www.servicenow.com/docs/aolW6WUCh0GwvcFsyXGAEw "Query rules are used to filter the records in CSM related tables that are accessible by users with CSM roles. These filters, which are applied in query business rules and READ ACLs on CSM related tables, are stored in a metadata table.").

The ACLs make the access decision. Table-level ACLs use the granular role as the role condition. Record-level ACLs also use the granular role and call the responsibility framework to check whether the user's relationship and responsibility grant access to a specific record.

For a user to see relationship-based records in a list or in the CSM workspace, all of the following must be in place:

* A responsibility access configuration and a responsibility definition.
* An account team member record that links the user to the account.
* The functional role that activates the query rule, such as `sn_customerservice.relationship_agent`, or a custom query rule scoped to the user's functional role.

{#granular-roles-and-supported-entities-CAM__ul_granular_query_rules_prereqs}  
Note:  
If the user doesn't hold the functional role that activates the query rule, the platform may skip the query rule and the list returns no records. To give a custom role visibility to a relationship-based list, create a query rule scoped to that role.

