How to Access Inaccessible Profiles in Salesforce
The request was simple; remove a record type that was defaulted for all profiles. Yet for some reason, no matter what I did, there were profiles that still had the record type set as default. And what was worse, those profiles weren’t coming up in the profiles list.
The two profiles? Package License Manager and External Who
These profiles are utilized for specific functions in Salesforce and aren’t editable (in the conventional way) by Sys Admins. And often times when a record type is created, it is often made available to all profiles and users miss the fact that there are additional profiles in that list that aren’t ‘normal’.
There is a way to fix this though.
Before you endeavor down this road, one thing you MUST ensure is that the Enable Enhanced Profile User Interface is disabled (unchecked). You can do this via Setup | Customize | User Interface.
Once done, you’re ready for this little hack.
First you’ll need the profile name and ID. For this example we’ll use the profile name “External Who” and ID “ABCDE” to make it easier to understand.
Next, you’ll want to view the settings and configurations of a standard user profile, such as System Administrator. When you select the profile to view it’s configurations (I used the Sys Admin profile), don’t click edit, instead scroll down to the record type section and click on ‘edit’ next to the targeted object name.
In the edit screen, you’ll see the available record types for the object on the left, and the accessible record types for the profile on the right. Below is the default record type setting. However, you aren’t changing any of these, instead let’s review the link in the address bar.
https://cs300.salesforce.com/setup/ui/profilerecordtypeedit.jsp?id=00e30000000bqhS&tid=Opportunity&pn=System%2BAdministrator&retURL=%2F00e3000bqhS
What you need to do is replace the ID and profile name in the link with the ID and profile name of the inaccessible profile. Based on the details we captured in the first step, and the example link above, our new link should look like this:
https://cs300.salesforce.com/setup/ui/profilerecordtypeedit.jsp?id=ABCDE&tid=Opportunity&pn=External%2BWho&retURL=%2F00e3000bqhS
Be sure to only replace the appropriate characters.
NOTE: If your profile name has more words in the name that what is provided in the link, simply add “%2B” instead of the space… so “Package License Manager” would be “Package%2BLicense%2BManager”
Once this is done, hit enter.
The page will reload and it’ll look as though nothing has changed, however you now have access to change the available record types and default record type for that inaccessible profile.
Simply make your changes (change the default record type) and click save. You’ll be returned to the original profile’s config page as if nothing happened, but something did happen… you accessed and updated an inaccessible profile.