Whenever we come across a requirement that is not met by standard Salesforce functionality, the next instinct should be to scour the Appexchange for an already existing solution. With thousands of apps on it, The Appexchange is most likely to have a perfect answer to your problem. Here is my take on one of my favorite Appexchange apps called ‘The Permissioner’. First introduced by Arkus Inc in 2012, The Permissioner is a free app. The product tagline of ‘permission sets made easy’ is the perfect description of the role that the app plays in the Salesforce world.
Before we take a deep-dive into this app, we need to know two key things. One is profile and another one is permission sets.
- Profile:- A prerequisite for understanding profiles is the knowledge of Salesforce licenses types. Salesforce has two types of licenses namely user license and feature license.
- User license – determines the baseline of features that a user can access. Every user can have only one user license. The user license determines the profile access as well as feature license access for the user.
- Feature license – adds extra privileges for the user license. A user can have one or more feature licenses.
Each user in Salesforce Org is assigned one profile. The kind of profile selected for the user shows what access he has to the org, what information is displayed to him regarding objects and fields, etc. There are two types of profiles – standard profile and custom profile. Standard profiles are included in Salesforce and cannot be customized. But Custom profiles can be fully customized and can even be deleted.
There is one more terminology we need to know – Roles. Role is one of the ways to control access to records in your organization. Profile determines what actions a user can perform for the record. That is view, delete etc. For a user, it is mandatory to have a profile but not a role.
- Permission Sets: – Permission Sets introduced in Winter 12 takes profiles one step ahead.
What are Permission Sets?
Let’s define permission set as a group of permissions that can be added on. For instance, if a profile has a permission, permission set cannot remove it but can add on more permissions to it. Hence, it is constructive in nature and not destructive. For example, you need one user of a profile to delete Leads, whereas other users with the same profile should not be able to delete Leads. We can assign a simple permission set which does the job of deleting Leads and then assign the Permission Set to the required User. By doing this we are saving the hassle of creating another profile for that particular user.
Traditional Way of Creating Permsission Sets:-
Step 1: We can create a permission set by going to Setup and by typing “permission sets” in the Quick search box.
Step 2: Once the permission set is created, you will have to go to each user and then assign the permission set.
Step 3: Once you select the required user and then click “Edit Assignments” under “Permission Set Assignments”, you get the below screen.
It is easy to do this way. But imagine if you have 1000 users in your organisation. Going to each user’s page and assigning the permission set would be a daunting and time-consuming task.
To combat this we have an app called The Permissioner in the Appexchange. Once you install this app, rest of the tasks are easy for administrators. The Permissioner has its own custom application and tab and it has three sub tabs called Assign, Revoke and Instructions. The administrator can go through the instructions to see how this app works.
Assign Tab: – In this tab, you have two search options.
Step 1: You can search for the created permission sets in your org. You have filters where you can filter by Individual Permissions, Permission Sets and Objects and fields or all of them.
Step 2: Once you choose the permission set, you can search for the users to assign the same to them. You have filters here too to search for users. You can search by last name, first name, title etc.
Step 3: Now the actual use of this app comes into picture. Once you have selected the users, you can assign the permission set to the selected users in one shot, by clicking the Assign tab underneath.
Revoke Tab: – This tab is exactly similar to the Assign Tab but it does the opposite job, that is – Revoke Permission Set.
Step 1: You have filters to search for the permission set. If a permission set has been assigned to a user, only then it shows up. The permission set shows up along with the number of users assigned to it.
Step 2: Once you highlight the permission set, the assigned users will automatically pop up below.
Step 3: You can highlight the users and click the Revoke tab if you want to remove the permission set from those users.
Step 4: A detailed email will also be automatically sent to the administrator after revoking access.
Use Case Scenario:-
- In my org, I went to The Permissioner app. As you can see, it has a tab “The Permissioner” and 3 Sub tabs. “Assign”, “Revoke” and “Instructions”.
- When I click the Search bar under “Search for Permission Sets”, you will get a list of permission sets. Filters can also be chosen if required. I have chosen the permission set called “Modify All Data”
- After clicking “Modify All Data”, I clicked the “Search” bar under “Assign to users”. All I did was just click the users I want to select and then clicked the tab “Assign”.
- The required status is shown. If the permission set is not assigned to the user, the reason will be displayed as below. An email will also be sent to the respective ID. You can view the audit trail and the link will be mentioned.
- In case you want to disable the Permission Set, go to the “Revoke” tab and click on “Search” under the column “Search for Permission Sets”. The name of the Permission set, number of users assigned, description and User licence will be mentioned. In my case, I selected “Modify All Data” and the “Assigned Users” popped up automatically. The name, user licence, user name, role are mentioned. I just selected the user and clicked “Revoke” tab.
- The status will be shown again
As you can see, this is the basic functionality of the app. It saves a lot of time and is best used if you have hundreds to thousands of users in your organization. One limitation of this app is that once a permission set is chosen, only up to 1000 users can be selected. Another limitation is that, although it can select permission sets and assign to multiple users, it cannot create a permission set.
Do you have an experience with The Permissioner that you’d like to share? Please drop a comment below and tell us.