23 September 2013

Master Record Types with Permission Sets

I had an interesting question come up the other day about permission sets and record types.

The customer wanted to remove all record type assignments from their user's profiles and configure record type assignments on two different permission sets. Unfortunately, that's not possible since, unlike other settings on permission sets, record types have a default setting and the profile is the only place where we can set that default. In addition, the 'Master' or 'null' record type simply means we won't set any record type when a record is created or edited.

For example, if I have a profile called 'Account Only' with the Master record type defaulted:

and I assign it to John Doe user with no permission sets:

when I Login-As John Doe and create a new Account, the Master record type (null) is automatically selected and I do not get a jump screen where I can choose a different record type:

I log out from John Doe and create a permission set with one of five record types selected:

and another permission set with the rest of the record types selected:

Now when I assign the single record type permission set to the John Doe user:

and login as John Doe to create a new Account record, I still skip the jump screen and the one custom record type (note Master is ignored in the single record type case) is added to the newly created record:

I log out from John Doe user and change his permission set assignment to grant access to the remaining record types:

Now when I log in as John Doe user, I get the jump screen and can select from a list of different custom record types:

This behavior is unlike any other setting that we've migrated to permission sets from profile in that it has a default that remains on the profile and it's possible to have that default set to a 'null' value called Master.

As a guideline for using the Master and default record types with permission sets, if I have:
  1. Only Master [default on profile and no permission sets] - the user will skip the jump screen and the Master (null) record type will automatically be set on the newly created record
  2. Master defaulted on the profile + only 1 custom record type on a permission set - the user will skip the jump screen and the custom record type will automatically be set on the newly created record
  3. Master defaulted on the profile + > 1 custom record type on one or more permission sets -  the user will get the jump screen every time in order to choose which custom record type they want to assign to the record they are creating


  1. What would be the method for setting a default record type when that profile has access to more than one record type? Basically, it's possible in the personal settings, but those are not easily updateable by the admin (have to log in as each user). In the instance of having two different case types, L1 and L2, you would want the L1 team to have their record type default to the L1 type, but still have the ability to transfer to L2 as well as still see the L2 case. Are they basically stuck having to go through the jump screen?

    1. Hi Patrick, not entirely sure what you're trying to accomplish in this use case. You can have only one default which is the exclusive domain of the profile. Permission sets are only designed to layer non-default record types for a given user. Can you tell me more about your use case? Thanks!

    2. Apologies--I missed this response. We have a team that only ever originates one kind of record type for an object. They are a Level 1 team that is on the phone and need to quickly just click "new" and not have to choose from the dropdown--because 100% of the time they will be choosing Record Type A. They never create records of type B. However, they need to be able to convert Type A into Type B and also still be engaged with that record to close it out. So they need access to both record types at the profile level, but want the default when creating to bypass the jump screen and always be Record Type A.

      Now, they can set this under My Personal Information-->Record Type Selection (or in the new interface My Settings-->Display & Layout-->Set Default Record Types). They will essentially bypass the jump screen while still having permissions to both record types. However, the only way to do this is to have the users go in and set that setting on their own (or login as each of them and do it for them--with a few hundred users, that won't fly). From what I've seen there's no way to mass set that personal setting, nor is there a corresponding profile or permission set level permission that allows this function.

    3. Hi Patrick,

      Unfortunately, the default behavior has been that way since a couple years before my time. AFAIK, there's no way to change the behavior in a programmatic fashion.


Note: Only a member of this blog may post a comment.