---
schema_version: "1"
id: f87a748ef7bda475afdfd04cc63dc06c8dcb20f6100a9595d0f29339b3233ebe
title: Set Apex Class Access from Permission Sets
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/perm_sets_setting_apex_access.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.perm_sets_setting_apex_access.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: 4025cc477a094e5bc8e91e656fa79a49f6c2dbe375cd3365e3ed3880e9ed41be
description: You can specify which methods in a top-level Apex class are executable for a permission set.
products:
  - Salesforce Platform
release: "264"
---
# Set Apex Class Access from Permission Sets

You can specify which methods in a top-level Apex class are executable for a permission set.

### 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: Salesforce Classic and Lightning Experience</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">Available in: <strong>Performance</strong>, <strong>Unlimited</strong>, <strong>Developer</strong>, <strong>Enterprise</strong>, and <strong>Database.com</strong> Editions</td></tr></tbody></table>

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small permission">
        <colgroup>
          <col style="width:50%">
          <col style="width:50%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="colgroup" class="slds-cell-wrap" colspan="2" style="text-align:center;vertical-align:top;" id="d11515e75">User Permissions Needed</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="User Permissions Needed" class="slds-cell-wrap" style="vertical-align:top;" headers="d11515e75 ">To edit Apex class access settings:</td>

            <td class="slds-cell-wrap" style="vertical-align:top;" headers="d11515e75 ">Manage Profiles and Permission Sets</td>

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

These settings only apply to Apex class methods, such as Web service methods, or any method used in a custom Visualforce controller or controller extension applied to a Visualforce page. Triggers always fire on trigger events (such as `insert` or `update`), regardless of permission settings.

1. From Setup, enter Permission Sets in the Quick Find box, then select **Permission Sets**.
2. Select a permission set.
3. Click **Apex Class Access**.
4. Click **Edit**.
5. Select the Apex classes that you want to enable from the Available Apex Classes list and click **Add**, or select the Apex classes that you want to disable from the Enabled Apex Classes list and click **Remove**.
6. Click **Save**.

#### See Also

- [Set Apex Class Access from the Class List Page](https://help.salesforce.com/s/articleView?id=platform.code_apex_access_via_list.htm&release=264.0.0&type=5 "Limit which users can execute methods in a particular top-level Apex class based on their profiles.")
- [Set Apex Class Access from the Class Detail Page](https://help.salesforce.com/s/articleView?id=platform.code_apex_access_via_detail.htm&release=264.0.0&type=5 "Limit which users can execute methods in a particular top-level Apex class based on their profiles.")
- [Set Apex Class Access from Profiles](https://help.salesforce.com/s/articleView?id=platform.users_profiles_apex_access.htm&release=264.0.0&type=5 "Specify which methods in a top-level Apex class are executable for a profile.")