I know that this questions goes against every single best practice in Salesforce but I'm working on a project where all users should see all records in the org.

I'm going to lock down objects and fields via profiles but does it make sense to not have a role hierarchy if every user should be able to see every record? The company's org chart does not need to be reflected in Salesforce.

3 Answers 3


does it make sense to not have a role hierarchy if every user should be able to see every record?

It typically depends on your Use Case. Role Hierarchy works in conjunction with Sharing Settings of your Org to allow access to data. If you really don't have a need of implementing a data sharing based on the hierarchy of the Users, you can skip setting the Role Hierarchy.

I have seen quite a few implementations where there were no Roles created/assigned to Users and the OWD was set to say Public Read Only. Or there were just one marker role created and assigned to all Users.


If every user see's everyone's record then also there are several use cases can be possible where Role Hierarchy might serve the purpose.

Here are few scenarios:

  • Role based reports where Supervisor wants to see how his subordinates are performing (like case closure in a week).

  • Queue based approval process, where when record is submitted for approval then anyone from the queue can approve the request. Here queues can be defined using Roles and Subordinates.

  • Working with External Communities.

There could be many. It truly depends on the business requirement and how you are designing the system.


Record deletion permissions rely on the role hierarchy. To delete a record owned by another user and you either need to be above them in the role hierarchy or have modify all permission. This is true even if you have edit permissions to the record.

If you need to allow some users to delete records without giving them modify all, then a role hierarchy can be helpful.

Another area role hierarchy is useful is in reporting. You can use role hierarchy to restrict the records shown in a report.

Finally, if you want to use forecasting, you need to implement a role hierarchy.

You must log in to answer this question.

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