I have a managed package with permission sets included. I also use custom setting objects.

Permission sets userPermissions have to be set to allow CRUD on Custom Setting but this can not be included in a (managed) package.

So I decided to update the permission sets in a post install script but we are not allowed to update Permission Set from a managed packaged (https://developer.salesforce.com/docs/atlas.en-us.packagingGuide.meta/packagingGuide/packaging_perm_sets_profile_setttings.htm)

First error: Update failed. First exception on row 0 with id 0PS0Y000001Ozy8WAC; first error: CANNOT_MODIFY_MANAGED_OBJECT, Cannot modify managed object: entity=CustomPermissionSet, component=0PS0Y000001Ozy8, state=MANAGED_INSTALLED: []

Do you have any idea/workaround for this ? It is not possible for us to migrate every custom setting as custom object.

1 Answer 1


You can create a new permission set through Metadata API and add the required permission for the custom setting. After adding all the permissions you can add that permission set to the user.

You can also use a Permission Set Group to make it more convenient for the end-users.

  • What is we want to remove permissions? After we realize we have been given too much access. What is the best plan for removing permissions? Apr 1, 2022 at 13:46

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .