Newer Version Available
CustomPermission
Represents a permission created to control access to a custom process
or app, such as sending email. This object is available in API version 31.0 and
later.
Supported Calls
describeLayout(), describeSObjects(), query(), retrieve()
Special Access Rules
As of Summer ’20 and later, only users who have one of these permissions can access this object:
- View Setup and Configuration
- Manage Session Permission Set Activations
- Assign Permission Sets
Fields
Usage
Use the CustomPermission object to determine users’ access to custom permissions.
For
example, to query all permission sets where the Button1 permission
is enabled:
1SELECT Id, DeveloperName,
2(select Id, Parent.Name, Parent.Profile.Name from SetupEntityAccessItems)
3FROM CustomPermission
4WHERE DeveloperName = 'Button1'To query all permission
sets and profiles with custom permissions:
1SELECT Assignee.Name, PermissionSet.Id,
2PermissionSet.Profile.Name,
3PermissionSet.isOwnedByProfile,
4PermissionSet.Label
5FROM PermissionSetAssignment
6WHERE PermissionSetId
7IN (SELECT ParentId
8 FROM SetupEntityAccess
9 WHERE SetupEntityType =
10'CustomPermission')To query for all SetupEntityAccess rows with custom permissions:
1SELECT Id,ParentId,Parent.Name, SetupEntityId
2FROM SetupEntityAccess
3WHERE SetupEntityType='CustomPermission'
4AND ParentId
5IN (SELECT Id
6 FROM PermissionSet
7 WHERE isOwnedByProfile = false)