Salesforce Roles and Profiles (Feat. Permission Sets)

Share this article...

Profiles, roles and permission sets work together to determine what Salesforce users can see and do inside Salesforce. I remember security & access was one of the toughest topics on the Salesforce Admin certification exam. There is no way around these concepts, as they are foundational to how Salesforce records are visible and editable. So, what are the differences between Salesforce Roles and Profiles?

While I was attempting to wrap my head around the differences between Salesforce roles and profiles, there was a simple mantra that I said to myself over and over again, and then took into the exam with me: “Roles see, profiles do”.

“MulesoftComposer”

That is an oversimplification but it is the best way to start learning about profiles vs. roles in Salesforce. In this post, I will dive into the differences between the two concepts. Come with me as I take you on a journey into how Salesforce permissions work.

What is a Salesforce Profile?

Profiles control what users can do in your Salesforce org. This can be referred to as CRED:

  • C = create
  • R = read
  • E = edit
  • D = delete

You may want some users in your org to read and edit Leads, but not delete them. CRED enables you to mix and match what a specific user can do with each object.

See how this looks on a profile’s settings (found under the ‘Object Permissions’ section):

In addition to objects, profiles also control:

Each Salesforce user in your org has a profile. Profiles are designed to group users into functions, for example, ‘Sales’, ‘Support’ etc.

The most important profile in the org is ‘System Administrator’. Users in this profile have absolute access to do anything. In addition to CRED, they will have ‘View all’ and ‘Modify all’ selected for each object.

They will also have ultimate permissions, namely ‘Modify all data’, ‘Customize application’ that you would not want to give to any other users! (found under the ‘Administrative Permissions’ section).

What is a Salesforce Role? – and the Role Hierarchy

Let’s switch to thinking about roles, which control what users can see in your Salesforce org.

Roles are designed to increase data visibility, to open up access to Salesforce records. You will have a baseline visibility set for each object in your org, known as the ‘org wide default’ (organizational wide default, OWD). Examples of this could be:

  • Opportunities are set to ‘Private’, which means that users can only see the opportunities they own.
  • Accounts are set to ‘Public Read/Write’, so that any user can help to update account information.

You should know that there are defaults that are already set. I’m not going to dive into details on OWD right now, but I want you to remember the golden rule…

Golden rule: the ‘org wide default’ should be set to the most restrictive level. Salesforce permissions work by opening up access, not by locking them down. So, start with the strictest in mind.

There are two ways to increase data visibility via roles, essentially superseding (pushing past) the OWD:

Salesforce Roles and Profiles

There’s some confusion when a Salesforce org is using both profiles and roles. They are designed to be used together – it is not an ‘either/or’ decision.

It may help to think in different shapes. Profiles are like circles, whereas roles are arranged into a hierarchy (when using the Role Hierarchy):

Profiles are like circles of users that share the same function, eg. ‘Marketing’, ‘System Admin’, ‘Sales’, ‘Support’. Roles are how users relate to each other in a hierarchy, eg. the ‘VP of Sales’ is above the Sales Managers in the role hierarchy:

Note: Sharing Rules are used to extend the Role Hierarchy, so that you are not restricted to the strict top-down sharing as laid out in the hierarchy – in other words, Sharing Rules can enable you to open up record visibility horizontally across the hierarchy.

Differences Between Profiles and Roles

 ProfileRole
Determines what users can...Do - create, read, edit, deleteSee - record visibility
Required for each user? X - it’s optional
Imagine in the shape of:Circles, grouping users with similar functions. Hierarchy, that splits users with more authority from those with less.
Controls access to:Objects, field-level security (which fields are visible or editable), page layouts, record types, apps, tabs.Records, folders.

What About Permission Sets? (Permission Sets vs. Profiles)

Once you have got to grips with profiles and roles, you have mastered a core Salesforce Admin concept that will serve you well. What about permission sets, then? Not another Salesforce data access concept! Fear not, I will explain the differences between profiles and permission sets quickly, and painlessly.

Permission sets could be considered add-ons for profiles. They offer flexibility in how you add certain permissions (objects, field-level security, page layouts, record types, apps, tabs) to certain users – almost like you are tagging an individual user. In order to grant a very specific ability to a user, you obviously don’t want to create a whole new profile just for that one difference between their abilities and the rest of their team’s!

Let’s take an example:

There is a sales team, who have the profile ‘Sales User’. Only Carole should be able to change the team’s email templates, so the Admin has created a Permission Set called ‘Modify Email Templates’ which she has added to Carole’s user record.

Permission sets are visible from the related list on the user’s record:

Permission sets can simply be added and removed, from ‘Available Permission Sets’ to ‘Enabled Permission Sets’ – as shown below:

You should also be aware of Permission Set Groups. These were new in the Spring ‘20 release, created to revolutionize how Admins can organize org permissions, allowing Permission Sets to be grouped together and assigned to users. Read more about Permission Set Groups.

Summary

Profiles, roles and Permission sets work together to determine what Salesforce users can see and do inside Salesforce. These concepts are foundational to how Salesforce records are visible and editable, and is absolutely essential knowledge in order to become a Salesforce Admin.

Now you know the differences between a Salesforce Role and Profile, plus how Permission sets come into the picture. There’s some confusion when a Salesforce org is using both profiles and roles. They are designed to be used together – it is not an ‘either/or’ decision.

Just remember the simple mantra: “Roles see, profiles do” if you’re ever in doubt.

29 thoughts on “Salesforce Roles and Profiles (Feat. Permission Sets)

  1. Superb article on Roles and Profiles… I would like to refer it to all my friends whenever in doubt about this topic…!

  2. Very well explained. Also very clear that permission sets open permissions for specific users, not being possible to apply them to roles or profiles.

  3. Shreenivas Adapur

    Reply

    Great article Sam.!!

    One question: If OWD for an object is Public Read Only, and for a Manager’s profile(Ben as Manager) in Role Hierarchy does NOT have ‘Read’ permission on that object. User Sam is record owner of that object.
    What action manager Ben can take on the user Sam’s records of that object.? nothing or only read access or read & write?

  4. This is really helpful. I’ve been struggling to conceptualize where FLS fits into the security and sharing model, and this explanation makes it clear. Thank you!

  5. This is a great article! I never knew how to explain this to other teams in our organization. I’ll simply share this article with them 🙂

    Thank you!

  6. This is literally the only question I ask an admin during an interview and it is amazing how many certified admins can not effectively explain the difference.

  7. Thank you Lucy. This is the best article I have read on Salesforce Roles and Permissions. This helps immensely to a newbie like me.

  8. Hi,

    1) I have a profile similar to system admin, however I do not want the user to create/edit (should only view) roles, profiles and permission sets. Which permission would be useful to restrict this

    2) I have a profile similar to system admin, however I do not want the user to create/edit (should only view) roles, profiles and permission sets. Should also be not able to create object/ fields. Which permission would be useful to restrict this

    2) User should only have access to Object Manager, but should not have permission to create roles, profiles, permission sets etc. Which permission should be granted

    3) User should only have “View” access to Object Manager. Should not be able to create objects, fields etc – Can we do this ?

    1. Hey Amit! You should check out Strongpoint – their solution gives you several tools for managing access control in your Org on an ongoing basis. You can easily identify and consolidate similar profiles to cleanup and prevent unauthorized access or build intelligent policies to alert you when things change. You can even review access by Object or conduct detailed reviews of access and permissions by User. Check it out here: https://www.strongpoint.io/salesforce-access-management

  9. Absolutely great article thank you one question how in real life A group of Salesforce Administrators coherently work in a large organization to setup, maintain and secure the company’s org account without overriding each other and properly auditing the work?

Add Comment