---
schema_version: "1"
id: 4a5f5ed6223fcb093af8c40e075df1aff0b1f355a73becd6d6cbcd44371ca26f
title: Custom Permissions
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/custom_perms_overview.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.custom_perms_overview.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 75504e69127c4e2067b1e4748650968442c7eb2ae5c10c1b50dd368157e37f4f
description: Use custom permissions to give users access to custom processes or apps.
products:
  - Security
  - Salesforce Platform
release: "264"
---
# Custom Permissions

Use custom permissions to give users access to custom processes or apps.

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition">
      <colgroup>
        <col>
      </colgroup>
      <tbody>
        <tr class="">
          <td class="slds-cell-wrap" style="vertical-align:top;">Available in: both Salesforce Classic
            and Lightning Experience</td>

        </tr>
        <tr class="">
          <td class="slds-cell-wrap" style="vertical-align:top;">
            <p>Available in: <strong>Group</strong>, <strong>Professional</strong>, <strong>Enterprise</strong>,
              <strong>Performance</strong>, <strong>Unlimited</strong>, and <strong>Developer</strong> Editions
            </p>
            <p style="margin-bottom:0;">In Group and
              Professional Edition organizations, you can’t create or edit custom permissions, but
              you can install them as part of a managed package.</p>
          </td>

        </tr>
      </tbody>
    </table>

In Salesforce, many features require access checks that specify which users can access certain functions. Permission set and profile settings include built-in access settings for many entities, like objects, fields, tabs, and Visualforce pages. However, permission sets and profiles don’t include access for some custom processes and apps. For example, in a time-off manager app, users might need to submit time-off requests, but only a small set of users approves time-off requests. You can use custom permissions for these types of controls.

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 settings. For example, you can define access checks in Apex that make a button on a Visualforce page available only if a user has the appropriate custom permission.

You can query custom permissions in these ways.

- To determine which users have access to a specific custom permission, use Apex and do something like the following.
    
    ```java
    Boolean hasCustomPermission = FeatureManagement.checkPermission('your_custom_permission_api_name');
    ```
- To determine what custom permissions users have when they authenticate in a connected app, reference the user's Identity URL, which Salesforce provides along with the access token for the connected app.

- **[Create Custom Permissions](https://help.salesforce.com/s/articleView?id=platform.custom_perms_create.htm&release=264.0.0&type=5)**  
    Create custom permissions to give users access to custom processes or apps.
- **[Add or Remove Required Custom Permissions](https://help.salesforce.com/s/articleView?id=platform.custom_perms_required_perms.htm&release=264.0.0&type=5)**  
    A required custom permission is a custom permission that must be enabled when the parent custom permission is enabled. For example, you could have a custom permission “Approve Time-Off Requests” and specify that it requires the custom permission “Submit Time-Off Requests.”

#### See Also

- [Enable Custom Permissions in Permission Sets](https://help.salesforce.com/s/articleView?id=platform.perm_sets_custom_perms.htm&release=264.0.0&type=5 "Custom permissions give you a way to provide access to custom processes or apps. After you’ve created a custom permission and associated it with a process or app, you can enable the permission in permission sets.")
- [Enable Custom Permissions in Profiles](https://help.salesforce.com/s/articleView?id=platform.users_profiles_custom_perms.htm&release=264.0.0&type=5 "Custom permissions give you a way to provide access to custom processes or apps. After you’ve created a custom permission and associated it with a process or app, you can enable the permission in profiles.")
- [Identity URLs](https://help.salesforce.com/s/articleView?id=xcloud.remoteaccess_using_openid.htm&type=5&language=en_US)