Requested restricted caller access (RCA)
-
- UpdatedJan 30, 2025
- 3 minutes to read
- Yokohama
- Building applications
You can use a requested RCA to grant store apps access to protected resources in the ServiceNow AI Platform without the need to wait for the next family release. If you have the system admin or application admin role, you can review requested RCAs and approve and deny them.
- Real RCA: sys_scope==target_scope
- Requested RCA: sys_scope!=target_scope
Example of how a store app accesses a table
Let's say that a store app called HR Integrations Framework wants to access an HR Core Case table. The table is in the business rule called Find Case in the Integration Service table.
- sys_scope = HR Integrations Framework
- target = HR Core Case
- status = Allowed
- target_scope = Human Resource: Core
- source = Find Case
App development example for developers
When you are developing an application, real RCAs are generated with the status of Requested when the target has a caller restriction. If the target has caller tracking, the status becomes Allowed. The developer can review and finalize all the real RCA records that are required for the application to work. For example, those RCAs with a status of Allowed.
A developer can click the Generate RCA Privileges in Current App in the related links to generate requested RCAs that are packaged in the current application. Requested RCAs are synchronized with real RCAs, which means that if a real RCA is updated or deleted, a requested RCA is updated or deleted too.
Now, the HR Integration Framework application can be packaged and installed on a customer instance.
App installation example for administrators
When you are installing an app on a customer's instance, real RCAs are generated in the target application. A real RCA would have the Human Resource: Core with a status of Requested. This process is done asynchronously in a scheduled job, where some lag time can occur.

Store App backward compatibility
When upgrading to Rome, you can configure a one-time fix script to move RCAs in the source scope to the target scope. In Rome, if the target app already has the necessary RCA records, no RCA records are generated for the RCAs that are packaged by the source app.