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:
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:
- 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
- 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
- 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