A record type in Salesforce lets a single object support multiple business processes — each record type can have its own picklist values, page layouts, sales/support/lead processes, and assignments by profile. Record types are the standard way to make one Account object behave like an “Enterprise Account” and a “Small Business Account,” or one Case object handle “Tech Support” and “Billing Inquiry” with different fields, statuses, and screens.
What a record type controls
When you create a record type on an object, it owns four things:
| Thing controlled | What changes |
|---|---|
| Available picklist values | Per picklist, you choose which values are available for this record type — a subset of the master picklist values. |
| Page layout assignment | Per profile, you choose which page layout shows when a user opens a record of this record type. |
| Business process | For Lead (Lead Process), Opportunity (Sales Process), Case (Support Process), and Solution (Solution Process), the record type is tied to a stage/status process that defines which values the master status picklist exposes. |
| Profile access | Each profile can have access to zero, one, or many record types — and one as default for create. |
What record types don’t control directly:
- Object permissions (CRUD) — that’s the profile/permission set.
- Field-level security — also profile/permission set.
- Validation rules — those apply across all record types unless you filter by
RecordTypeIdin the rule formula. - Triggers and flows — they fire regardless of record type unless your code checks.
When record types are the right tool
Use record types when:
- Different business processes need different picklist values (e.g., “Industry” for B2B vs B2C accounts).
- Different teams need different page layouts on the same object (e.g., Support sees ticket fields; Sales sees revenue fields).
- The object goes through different lifecycle stages depending on the scenario (Lead → MQL → SQL for inbound vs Lead → Qualified → Hot for outbound).
- You want to report by record type to slice data (“opportunities by record type”).
Don’t use record types just to hide fields — that’s FLS or page layout. Don’t use record types as a substitute for sharing — that’s OWD and sharing rules.
A concrete example
Imagine an Opportunity object supporting two distinct sales motions:
| Record Type | Stages (Sales Process) | Page Layout | Required fields |
|---|---|---|---|
| New Business | Prospecting → Qualification → Proposal → Negotiation → Closed Won/Lost | ”New Biz Opp Layout” | Industry, Lead Source, Champion |
| Renewal | Renewal Forecast → Renewal Negotiation → Renewed / Churned | ”Renewal Layout” | Original Contract Date, Renewal Owner, ARR Change |
A New Business deal does not need a Renewal Owner; a Renewal does not need a Champion. The same Opportunity object handles both, and reports can filter or group by record type to show each pipeline separately.
Profile access to record types
Profiles control which record types a user can create and which is their default:
- A profile with access to only one record type doesn’t see the picker on New — Salesforce skips the prompt.
- A profile with access to multiple record types sees the picker, with the profile’s default pre-selected.
- A profile with access to zero record types can still open existing records (their access is governed by sharing/OWD, not record type), but cannot create new ones unless granted at least one.
You can also assign record types via permission sets — modern best practice when only some users of a profile need extra record types.
Common follow-up: which picklists do not support record types?
Most picklists support record-type filtering, but a few don’t:
- Standard picklists that are tied to business processes — Lead Status, Opportunity Stage, Case Status, Solution Status — these are controlled through the business process linked to the record type, not via record-type picklist filtering directly.
- Multi-select picklists: limited support; record-type filtering on multi-selects works but with quirks.
- Standard “system” picklists like
Statuson Task have their own behavior.
In an interview, the safe answer is: “Most picklists support record-type filtering. The status/stage picklists tied to business processes (Lead Status, Opportunity Stage, Case Status, Solution Status) are filtered by the business process assigned to the record type rather than per-picklist.”
Limits and considerations
| Concern | Detail |
|---|---|
| Max record types per object | 200 (current published limit — confirm in Salesforce docs for your release) |
| Record types and license | All editions that support custom objects also support record types |
| RecordTypeId field | Every object with record types exposes a system field RecordTypeId you can filter in SOQL, reports, validation rules, and flows |
| Inactive record types | You can deactivate a record type — existing records keep their reference, but new records can’t be created with it |
| Deletion | Inactive record types can be deleted once no records reference them |
| Bulk record type updates | Updating a record’s RecordTypeId is allowed; the new record type’s picklist filtering and process apply going forward |
Real scenario
“Sales and Support both want to use the Account object, but Sales wants ‘Customer Tier’ as a picklist showing only Bronze/Silver/Gold/Platinum, while Support wants the same picklist to show only ‘Active’, ‘At Risk’, ‘Churned’. How?”
Two record types on Account:
- Sales Account record type — Customer Tier picklist shows Bronze/Silver/Gold/Platinum.
- Support Account record type — Customer Tier picklist shows Active / At Risk / Churned.
The master picklist on Customer Tier contains all values; each record type filters the master to show only the relevant subset. Page layouts differ too: Sales sees revenue and pipeline; Support sees SLA and case-volume metrics. Profile assignments give Sales access to the Sales record type and Support access to the Support record type, with each as the default for create.
Verified against: Salesforce Help — Record Types and Considerations for Record Types. Last reviewed 2026-05-17.