Record Types are one of the most misunderstood and misused features of Salesforce. There are a lot of benefits of Record Types, but people also tend to make assumptions about what they can do, or get overexcited and try to use them for everything when they may not be necessary.
When you use Record Types correctly, you can improve data quality, reduce manual effort, streamline processes, and make things easier for end-users to focus on their real work.
A Tale of Two Castles
hidden everywhere. A new princess moved in to the castle, and was confused by all the Record Types – they were in the moat, on the drawbridge, in the east wing, the music room, and even in the great hall! The people who lived in the castle had always lived in that castle, and didn’t know any better, they thought everything needed a Record Type.
So the princess started asking questions to the people who lived there: Why do you have so many Record Types? What do you use them for? What makes these Record Types different from each other?
What the princess learned was not surprising. The residents of the castle didn’t always know why there were record types! Sometimes things were all the same. The princess made up her mind – to start a project to clean up all the record types. The residents of the castle realized that they did not always have to choose a record type when it was unnecessary, and that when they were needed, they could actually be very helpful…and everybody lived happily ever after.
Now, here’s what really happened…
When a new client brought me on board a few years ago, I was definitely shocked to see how many record types were in place in the org (this org hadn’t really had a dedicated admin before, so I wasn’t surprised it was a little messy). On one object in particular, they had four different record types. When I looked at each record type, I was confused that there was absolutely nothing different about each one. Since the whole purpose of record types is to make life easier for users, and improve data quality, I knew this was a place for a quick win that would be highly visible to the users.
I took a couple weeks spending time with the team who used that object, and I asked them a lot of questions. I observed them working, and how they used the object. I also enabled field history tracking to get documentation on what they were actually doing. In the end, I found that we were able to reduce the number of record types from four to three, and set default picklist values, and different page layouts. The end users were happy: their data quality improved, and the amount of manual labor was reduced…and everybody lived happily ever after!
When to Use Record Types
Record Types should be used for records that have the same concept, but need to be different in execution.
Let’s look at a non-Salesforce example, the category ‘Transportation.’ There are many types of transportation, for this example, let’s say our options are:
- Cars & Trucks
The only thing these things have in common is that they are modes of transportation – otherwise, there’s almost nothing similar about them. This is the logic you want to keep in mind when thinking about Record Types.
Here’s some examples of use cases for Record Types in Salesforce:
- Opportunities based on Revenue Type: New Business, Existing Business, Renewal Business
- Support Cases based on Issue: Enhancement, Bug
- Quote Type: Direct, Distributor, Reseller
- Product Trial: Paid Trial, Free Trial
- Leads: Customer Lead, Partner Lead
Each of these scenarios reflects our ‘transportation’ example above – they are the same in concept, but the execution and process of each will be different.
Creating Record Types
Once you have decided to implement Record Types, it’s time to think about what the differences of each type actually are. You may want to map this out in a format that makes sense to you.
Step 1: Document The Differences
List all the important fields that must be filled out on your records, and then document what the differences are for each planned record type.
Let’s use Support Cases as an example. My company wants to have four Record Types for Support Cases: Suggestion, Problem, Question, Other. Depending on the type, we need different picklist values, different default values, and different requirements on the page layout.
Step 2: Custom Fields
Create all the custom fields you will need, and add all the picklist values you plan on using in all of your Record Types.
Step 3: Object ‘Processes’
A note about Record Types on Cases, Leads, and Opportunities. These objects have an additional special requirement: you must create the corresponding “process” for each object. The process controls the main Status/Stage field for its object:
If you’re working with any other object, including custom objects, you can skip this step.
Step 4: Create Page Layouts
Now create your page layouts, one for each record type. Arrange the fields and make any requirements as needed.
Step 5: Create Record Types
Now you can create your Record Types. You will need to enter the details about this Record Type, and don’t forget to select the correct Process, if needed, from Step 2.
Make sure to add a description – this will help your users decide which Record Type to choose. Then, you’ll need to select the profiles that will be able to use this Record Type, and if this Record Type should be the default.
Then assign each Record Type to the correct page layout.
Repeat until each Record Type is created, and assigned to the correct page layout.
Step 6: Record Type Picklists
This is the fun part! Notice that we can click on the name of each Record Type, and you will see a list of all the picklist values on the object. This is where you’re going to choose which picklist values are available on each record type, and which one is the default.
Here’s our Suggestion record type, and all the picklists I can make selections for:
Notice the same Picklist, but two different record types. “Priority” has two different default values, and two different sets of options for the user, depending on the Record Type.
Step 7: Test It Out
Create some test records in each record type, and make adjustments as needed!
Record Type Considerations –
Bear these in mind before you build, and after you deploy record types.
- When adding picklist values in the future, you’ll need to remember to also add them to the proper Record Type (and process, if needed – refer back to Step 3).
- You cannot use Inline Editing on a list view when Record Types are present, unless that list view has a filter displaying only one Record Type.
- You may need to remind your users to filter on Record Type when creating reports.
- You cannot use Record Type to determine visibility – see the Salesforce idea here. When you assign a Record Type to a Profile, you’re really just giving the potential ability to create that record type.
- Put descriptions everywhere – If you have a Community and are asking Community Users to create a record with a record type, be aware they may be able to see the descriptions!
- When you assign a record type to a profile by default, you are assigning the record type that appears by default in the picklist, just like the default value of any other picklist.
This post has been an introduction to Record Types in Salesforce. The most important part of Record Types is deciding when and how to use them; you don’t want to be that person with four Record Types that all have the same picklists and page layouts! You also don’t want to be the person using 10 record types, when really, each should be a different custom object all together.
As long as you have a solid plan in place before you begin, you will have a successful Record Type implementation!