I knew that Permission set can be assigned to User record. But just want to know the possibility of assigning the Permission set to a Profile instead of user.

I saw some query related to this posted on 2013 Link, & Its mentioned in answer that saleforce will re-evaluate the current decision based on more requests for this. Anybody knew whether any change to this scenario or any comment on this.

  • 3
    Surely if the Permission Set was being assigned to a Profile then it would make more sense to actually just add those permissions within that Profile.
    – Dave Humm
    Jul 6 '16 at 8:48
  • 3
    @DaveHumm Not if for example the permission set was part of a managed package and it changed with each release of the managed package (as new fields and features are added).
    – Keith C
    Jul 6 '16 at 12:04
  • 3
    @KeithC - useful reminder as Managed Packages do mean there is quite a lot of additional permissions mangement to remember.
    – Dave Humm
    Jul 6 '16 at 12:36
  • 1
    @DaveHumm - yes it's true that the Permission set assigned to Profile looks more cleaner than individual user records. Jul 6 '16 at 21:33

We can not able to assign Permission set to Profile. We need to assign it to a User only.

A permission set is a collection of settings and permissions that give users access to various tools and functions. The settings and permissions in permission sets are also found in profiles, but permission sets extend users’ functional access without changing their profiles.

Users can have only one profile but, depending on the Salesforce edition, they can have multiple permission sets. You can assign permission sets to various types of users, regardless of their profiles.

Reference Link


AFAIK the platform has no direct support for this.

But you can write workflow logic or trigger code to add/delete the PermissionSetAssignment objects automatically based on attributes of the User including the Profile or custom fields that you add. The relevant part of the data model is included below (from the Profile and Permission Objects documentation).

Profile and Permission Objects

Obviously only worth doing if you have a lot of users whose setup you want to manage systematically.


When creating a permission set, you can opt to have it auto-assigned whenever another specific permission set is assigned. For instance, let's say you a Permission Set for a managed package, which you can't edit because it is controlled by the managed package. However, you also have custom fields that you want to make available to everyone who has the managed package permission set. When you create your own Permission Set, choose the associated managed package permission set in the License drop-down.

This doesn't solve the limitation of assigning by profile, but it can make it easier to keep managed and custom permission sets in sync for users.

Meanwhile, I will also try the workflow to assign based on user attributes.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.