Salesforce Record Types let one object behave in different ways for different kinds of records. In our page layouts and Lightning record pages guide, you saw that layouts can be assigned by record type. Now it is time to learn what record types are, when they help, and when they only add clutter.
In this post, you will learn what a record type controls, how users get access to it, and how it links to page layouts and picklist values. Then you will split the Course object into Classroom and Online courses step by step. This is one of the most asked admin interview topics, so take your time.
What are Salesforce Record Types?
A record type is a label you attach to a record that changes how Salesforce treats it. Each record type can have its own page layout, its own set of picklist values and, for some standard objects, its own business process.
Here is a simple way to picture it. Think of a restaurant menu. The kitchen and the food are the same, but the breakfast menu and the dinner menu show different dishes. Record types work like those menus. The object and its fields stay the same, but each record type shows users a different set of choices.
So one Course object can hold both classroom and online courses. However, each kind can show different fields and different picklist options.
Why Salesforce Record Types Matter
Many businesses handle one kind of thing in a few different ways. Without record types, admins often create separate objects for each variation. That doubles the work for reports, automation and security.
Here are some real situations where record types help.
- Classroom courses need a room number, while online courses need a meeting link.
- Online courses offer only Beginner and Intermediate levels, but classroom courses also offer Advanced.
- A company sells both new products and renewals, with different sales stages for each.
- Support handles both complaints and general questions, each with its own Case process.
In each case, the data belongs on one object. Record types simply give each variation its own look and options.
How Salesforce Record Types Work
When a user creates a record, Salesforce checks which record types that user can use. If the user has more than one, Salesforce asks them to pick one. Then the record type decides the page layout and the picklist values the user sees.

Access to record types comes from profiles and permission sets, which you learned about in our profiles and permission sets guide. Each profile also has a default record type. That default is pre-selected when the user creates a new record.
What Salesforce Record Types Control
A record type controls three main things. The table below explains each one.
| What it controls | What it means | Course example |
|---|---|---|
| Page layout | Which layout users see for this kind of record | Online courses show a Meeting Link field |
| Picklist values | Which values appear in each picklist | Online courses hide the Advanced level |
| Business process | Stages or statuses for some standard objects | Opportunity sales stages for renewals |
Business processes
Four standard objects need a business process before you can create record types. These are Opportunity (Sales Process), Case (Support Process), Lead (Lead Process) and Solution (Solution Process). A business process picks which values of the main status picklist are available.
The Master record type
Every object has a hidden Master record type. Records created before you add any record types belong to it. When you build a new record type, you usually copy picklist values from Master and then remove the ones you do not need.
Record type names in formulas
Each record type has a label, like “Online Course”, and an API name, like Online_Course. In formulas and validation rules, you use RecordType.DeveloperName to check the API name. This keeps rules working even if someone renames the label.
Salesforce Record Types vs Separate Objects
When records differ a little, beginners sometimes build a new object for each kind. The table below shows why record types are usually the better choice.
| Feature | Record types on one object | Separate objects |
|---|---|---|
| Reports across all kinds | One simple report | Needs joined reports or custom work |
| Different fields per kind | Yes, through page layouts | Yes |
| Different picklist values | Yes | Yes |
| Shared automation and rules | Written once | Written for each object |
| Best when | Records are the same thing with small differences | Records are truly different things |
So use record types when the records are basically the same thing, like two kinds of courses. Use separate objects when the data is truly different, like Courses and Teachers.

Hands-on Example: Classroom and Online Courses
Let’s split the Course object into two record types at Bright Path Tutors. Online courses will hide the Advanced level and use their own page layout.
Step 1: Create the record types
- Go to Setup, then Object Manager, then Course, then Record Types. Click New.
- Fill in the values from the table below and tick Active.
- Tick Make Available for the System Administrator profile, then click Next.
- Pick “Apply one layout to all profiles”, choose Course Layout and click Save.
| Field | Record type 1 | Record type 2 |
|---|---|---|
| Existing Record Type | Master | Master |
| Record Type Label | Classroom Course | Online Course |
| Record Type Name | Classroom_Course | Online_Course |
| Active | Ticked | Ticked |
Step 2: Change picklist values for online courses
- Open the Online Course record type.
- In the Picklists Available for Editing section, click Edit next to Level.
- Move Advanced from Selected Values to Available Values, then click Save.
Now users creating an online course can only pick Beginner or Intermediate. Classroom courses still show all three levels, because we did not change that record type.
Step 3: Give online courses their own layout
- Go to Page Layouts, then clone Course Layout as “Course Layout – Online”.
- Click Page Layout Assignment, then Edit Assignment.
- Click the Online Course column for System Administrator, pick the new layout and click Save.
Step 4: Use the record type in a rule
You can also use record types inside validation rules. This rule makes Start Date required for online courses only.
AND(
RecordType.DeveloperName = "Online_Course",
ISBLANK(Start_Date__c)
)
Developers can read the record type too. This SOQL query lists every course with its record type label.
SELECT Name, RecordType.Name
FROM Course__c
ORDER BY RecordType.Name
The result looks like this in the Developer Console.
Name RecordType.Name
Basic Maths Classroom Course
Spoken English Online Course
Common Mistakes with Salesforce Record Types
- Using record types only to change layouts. If the only difference is a few fields, Dynamic Forms visibility rules may be simpler.
- Forgetting profile access. A new record type is useless until profiles or permission sets can use it.
- Checking the label in formulas. Labels change. Use RecordType.DeveloperName instead.
- Creating too many record types. Ten record types with tiny differences become hard to manage. Merge similar ones.
- Not planning existing records. Old records stay on Master until you update them, which can confuse reports.
Best Practices for Salesforce Record Types
- Start with the business process. Ask how the work truly differs before you build anything.
- Name record types clearly. Labels like “Online Course” are easy for users to pick on the create screen.
- Set sensible defaults per profile. Users who mostly create one kind should get it pre-selected.
- Keep picklist values in sync. When you add a value to Master, decide right away which record types need it.
- Document each record type. A short description helps future admins understand why it exists.
Practice Task
Create a third record type called “Workshop” with its own layout. Remove the Intermediate and Advanced levels from it.
Hint: follow the same steps as Online Course, then edit the Level picklist for Workshop.
Salesforce Record Types FAQ
Can a user change the record type of an existing record?
Yes, if they have access to more than one record type. They click Change Record Type on the record. However, picklist values that are not allowed in the new record type may need updating.
Do Salesforce Record Types control security?
No. Record types change layouts and picklist values, not access. So if some users must not see certain records, use OWD and sharing rules instead, as explained in our sharing rules guide.
When should I use Dynamic Forms instead of record types?
Use Dynamic Forms when only a few fields change based on a value. On the other hand, use record types when picklist values, layouts and processes all differ. In short, record types are for different kinds of work, not just different fields, and that simple test settles most design debates.
Official Resources
- Record Types (Salesforce Help)
- Lightning Experience Customization (Trailhead)
- Data Modeling module (Trailhead)
Quick Recap
- Salesforce Record Types let one object show different layouts and picklist values.
- Profiles and permission sets decide who can use each record type.
- Opportunity, Case, Lead and Solution need a business process first.
- Use RecordType.DeveloperName in formulas, not the label.
- Prefer record types over separate objects when records are mostly the same.
What’s Next?
Your Course data now has structure. Next, let’s turn it into answers. Read Salesforce Reports and Dashboards for Beginners to build your first report and chart.


