Salesforce Custom Permissions

Author

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

  • Validation Rules
  • Apex
  • Lightning
  • Components
  • 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
    Enter a Label & Name
  4.  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