Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
Full Custom Permissions entry
How-to guide

How to set up Custom Permissions in Salesforce

Custom Permissions are admin-defined permission flags that you can grant via Profiles or Permission Sets and check in Apex / Validation Rules / Flow / Visualforce. They let you build feature gates without inventing custom "is enabled" checkbox fields per user.

By Dipojjal Chakrabarti · Editor, Salesforce DictionaryLast updated Apr 20, 2026

Custom Permissions are admin-defined permission flags that you can grant via Profiles or Permission Sets and check in Apex / Validation Rules / Flow / Visualforce. They let you build feature gates without inventing custom "is enabled" checkbox fields per user.

  1. Open Setup → Custom Permissions

    Setup gear → Quick Find: Custom Permissions → Custom Permissions.

  2. Click New

    Top-right.

  3. Set Label, Name, Description

    Label is the admin-facing name; Name is the API used in code.

  4. Tick Protected Component if applicable

    Same as Custom Labels — ISV protection toggle.

  5. Save

    Permission is created. By itself it does nothing — it has to be granted.

  6. Open a Profile or Permission Set → Custom Permissions section → Add

    Grant the permission to the right population.

  7. Reference from code or admin tools

    Apex: FeatureManagement.checkPermission('MyPermission'). Validation Rule: $Permission.MyPermission. Flow: $Permission.MyPermission. Visualforce: $Permission.MyPermission.

Key options
Required Custom Permissionsremember

Custom Permissions can require other Custom Permissions — a dependency tree. Useful for tiered features ("Advanced" requires "Basic").

Granted via Profile or Permission Setremember

Either path works; modern best practice is Permission Set.

Reference syntaxremember

Apex (FeatureManagement.checkPermission), Validation Rules ($Permission.X), Flow ($Permission.X), Visualforce ($Permission.X).

Gotchas
  • Custom Permissions are a flag, not a value. They're true or false per user — no parameters. For configurable values per user, use Custom Settings instead.
  • Granting a Custom Permission via Profile is the same as via Permission Set — but modern best practice is to use Permission Sets so granting is composable.
  • Permission Sets that include Custom Permissions but reference renamed permissions break at runtime. The renamed permission resolves to null — check the Permission Set after a rename to confirm references.

See the full Custom Permissions entry

Custom Permissions includes the definition, worked example, deep dive, related terms, and a quiz.