Custom permissions let you define your own permissions for use in Salesforce. In Salesforce access is defined in many ways more generally in terms of profile, role, sharing roles, permission sets, etc for different entities like Objects, fields, tabs, vf pages, Records.
But for Custom processes and apps access cannot be defined by permission sets and profiles.
Custom permissions let you define access checks that can be assigned to users via permission sets or profiles, similar to how you assign user permissions and other access permissions.
Custom permissions can be used in
1. Validation Rules
3. Lightning Components
4. In formula fields(Automations like Workflow, Processbuilder, Flows field)
Points to Remember
- Enable Custom Permissions in Profiles
- Enable Custom Permissions in Permission Set
- Define dependencies between your Custom Permissions
- Assign Custom Permission to users
Creating Custom Permissions
1. Go to Setup
2. Quick find to filter to Custom Permission
3. Click New
4. Enter a Label & Name
5. Click Save
Enable Custom permissions at profile
1. Go to Profiles
2. Go to Enable Custom permissions
HOW to Query Custom Permissions in Apex
Use the CustomPermission object to determine users’ access to custom permissions.
Select Id, DeveloperName from CustomPermission where DeveloperName=’Demo permission’
Where to Use Custom Permissions
Let’s imagine a scenario where you want to control your Lightning component visibility if user have specific permission set.
Steps to Achieve:
1. Create a custom Permission (named as Demo Permission)
2. Add that custom Permission to permission set
3. Assign that permission to set to user
4. In Lightning Component visibility Filter go to
Permissions—> custom Permission—–> Demo Permission