---
schema_version: "1"
id: 1d475f5f4975f1c7a83e9121ecc1f7655f04bcbd10ecb0f1ec94b0f079abf2fc
title: PermissionSetGroup
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_permissionsetgroup.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_permissionsetgroup.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: c85bb06044c376b855128b0b1029fc67f6f46ea4f57e586f4570a5dc6c129a7e
description: Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based on job functions or tasks. Then, you can package the groups as needed.
---
# PermissionSetGroup

Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based on job functions or tasks. Then, you can package the groups as needed.

This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field.

## Declarative Metadata File Suffix and Directory Location

Permission set groups are stored in the permissionsetgroups directory. The file name matches the permission set API name and the extension is .permissionsetgroup. For example, a permission set group with the name Finance\_Mgmt\_PermSetGroup is stored in permissionsetgroups/Finance\_Mgmt\_PermSetGroup.permissionsetgroup.

## Version

Permission set groups are available in API version 45.0 and later.

## Special Access Rules

As of Summer ’20 and later, to view this type, users must have one of these permissions:

- View Setup and Configuration
- Manage Session Permission Set Activations
- Assign Permission Sets

To edit this type, users must have the Manage Profiles and Permission Sets permission.

## Fields

<table class="featureTable sort_table" summary="">



          <thead class="thead sorted" align="left">
            <tr>
              <th class="featureTableHeader  " id="d743952e131">Field</th>

              <th class="featureTableHeader  " id="d743952e134">Field Type</th>

              <th class="featureTableHeader  " id="d743952e137">Description</th>

            </tr>

          </thead>

          <tbody class="tbody">
            <tr>
              <td class="entry" headers="d743952e131" data-title="Field"><span class="keyword parmname">description</span></td>

              <td class="entry" headers="d743952e134" data-title="Field Type">string</td>

              <td class="entry" headers="d743952e137" data-title="Description">The permission set group description provided by the permission
                set group creator.</td>

            </tr>

            <tr>
              <td class="entry" headers="d743952e131" data-title="Field"><span class="keyword parmname">hasActivationRequired</span></td>

              <td class="entry" headers="d743952e134" data-title="Field Type">boolean</td>

              <td class="entry" headers="d743952e137" data-title="Description">Indicates whether the permission set group requires an associated
                active session (<samp class="codeph nolang">true</samp>) or not
                (<samp class="codeph nolang">false</samp>). The default value
                is <samp class="codeph nolang">false</samp>. This field is
                available in API version 53.0 and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d743952e131" data-title="Field"><span class="keyword parmname">label</span></td>

              <td class="entry" headers="d743952e134" data-title="Field Type">string</td>

              <td class="entry" headers="d743952e137" data-title="Description">Required. The permission set group label.</td>

            </tr>

            <tr>
              <td class="entry" headers="d743952e131" data-title="Field"><span class="keyword parmname">mutingPermissionSets</span></td>

              <td class="entry" headers="d743952e134" data-title="Field Type">string</td>

              <td class="entry" headers="d743952e137" data-title="Description">A permission set containing permissions to disable in the
                permission set group. This field is available in API version 46.0
                and later.</td>

            </tr>

            <tr>
              <td class="entry" headers="d743952e131" data-title="Field"><span class="keyword parmname">permissionSets</span></td>

              <td class="entry" headers="d743952e134" data-title="Field Type">string</td>

              <td class="entry" headers="d743952e137" data-title="Description">A permission set or permission sets included in the permission
                set group.</td>

            </tr>

            <tr>
              <td class="entry" headers="d743952e131" data-title="Field"><span class="keyword parmname">status</span></td>

              <td class="entry" headers="d743952e134" data-title="Field Type">string</td>

              <td class="entry" headers="d743952e137" data-title="Description">Indicates permission set group recalculation status. Valid values are:<ul class="ul bulletList">
                  <li class="li">
                    <samp class="codeph nolang">Updated</samp>—The
                    group is current.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Outdated</samp>—The
                    group requires recalculation.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Updating</samp>—The
                    group is in recalculation mode.
                  </li>

                  <li class="li">
                    <samp class="codeph nolang">Failed</samp>—The group
                    recalculation failed.
                  </li>

                </ul>
              </td>

            </tr>

          </tbody>

        </table>

## Declarative Metadata Sample Definition

When adding a permission set group, you can do something like this. Individual permissions are included in the permission set referenced, not in the permission set group.

<?xml version="1.0" encoding="UTF-8"?>
<PermissionSetGroup xmlns="http://soap.sforce.com/2006/04/metadata">
     <fullName\>Finance\_Mgmt\_PermSetGroup</fullName\>
     <description\>Finance\_Mgmt\_PermSetGroup desc</description\>
     <label\>Finance\_Mgmt\_PermSetGroup</label\>
     <permissionSets\>Billing\_PS</permissionSets\>
</PermissionSetGroup\>

The permission set Billing\_PS contains the individual permissions included in Finance\_Mgmt\_PermSetGroup.

<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
     <fullName\>Billing\_PS</fullName\>
     <description\>Billing\_PS</description\>
     <label\>Billing\_PS</label\>
     <hasActivationRequired\>false</hasActivationRequired\>
     <license\>Salesforce</license\>
     <userPermissions\>
          <enabled\>true</enabled\>
          <name\>ViewSetup</name\>
     </userPermissions\>
     <userPermissions\>
          <enabled\>true</enabled\>
          <name\>ViewRoles</name\>
     </userPermissions\>
     <userPermissions\>
          <enabled\>true</enabled\>
          <name\>EditBillingInfo</name\>
    </userPermissions\>
</PermissionSet\>

This example package.xml manifest retrieves the PermissionSetGroup metadata for an org. When you retrieve permission set groups, also retrieve the related components. For example, to retrieve PermissionSetGroup, you must also retrieve PermissionSet.

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
     <types\>
          <members\>Finance\_Mgmt\_PermSetGroup</members\>
          <name\>PermissionSetGroup</name\>
     </types\>
     <types\>
          <members\>Billing\_PS</members\>
          <name\>PermissionSet</name\>
     </types\>
     <version\>45.0</version\>
</Package\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm).