You’ve built your objects and fields. The data model is solid. But right now, every user sees every field on every record — in the same order, with the same layout. That’s rarely what you want.
A sales rep creating an Opportunity doesn’t need to see the same fields as a support agent creating a Case. A “New Business” opportunity might need different fields than a “Renewal.” This is where page layouts and record types come in. Together, they let you tailor the user experience per profile and per business process — without writing a single line of code.
What Are Page Layouts?
A page layout controls the arrangement and visibility of fields, buttons, links, related lists, and custom components on a record’s detail and edit pages.
Think of it as the blueprint for a record page. It determines:
- Which fields appear on the page
- The order and grouping of those fields (organized into sections)
- Which fields are required or read-only (at the layout level — separate from field-level security)
- Which buttons and links appear in the action bar
- Which related lists appear at the bottom (and in what order)
- Which quick actions are available on the record
- Custom components like Visualforce pages or Canvas apps embedded in the layout
What Page Layouts Do NOT Control
- Field-level security — Whether a user can see or edit a field is controlled by profiles and permission sets, not page layouts. A field can be on the layout but hidden from a user if their profile restricts it.
- Record access — Page layouts don’t control who can view or edit a record. That’s sharing rules, roles, and OWD.
- Automation behavior — Validation rules, Flows, and triggers fire regardless of page layout configuration.
The Default Page Layout
Every object comes with a default page layout that includes all fields. When you create a new field, it’s automatically added to the default layout (if you selected page layouts during field creation). Most orgs start customizing by cloning the default and removing unnecessary fields.
How to Create Page Layouts
Step-by-Step
- Setup → Object Manager → Select your object
- Click “Page Layouts” in the left sidebar
- Click “New”
- Optionally select an existing layout to clone (recommended — faster than starting from scratch)
- Enter a Page Layout Name (e.g., “Account - Sales Team Layout”)
- Click “Save”
You’re now in the Page Layout Editor — a drag-and-drop interface.
The Page Layout Editor
The editor has two main areas:
Top palette — A toolbar containing all available elements:
- Fields — Every field on the object, organized alphabetically. Drag them onto the layout.
- Buttons — Standard and custom buttons
- Links — Custom links
- Related Lists — All related lists for the object
- Quick Actions — Actions available for the record
- Expanded Lookups — Mini page layouts for lookup fields
- Canvas Apps — Embedded canvas app components
- Visualforce Pages — Embedded Visualforce components
- Blank Spaces and Separators — For layout formatting
Bottom canvas — The actual layout. This is what the user will see.
Building the Layout
Sections: Layouts are organized into sections — collapsible groups of fields with a header.
- Drag a “Section” element from the palette onto the canvas
- Give it a name (e.g., “Financial Details,” “Contact Information”)
- Choose a column layout: 1-column or 2-column
- Drag fields into the section
Field Properties (within the layout):
- Click the wrench icon on any field to set:
- Required — Force the field to be filled in on this layout (this is layout-level required, separate from field-definition-level required)
- Read-Only — Make the field visible but not editable on this layout
- These settings only apply to this specific page layout
Related Lists:
- Scroll to the bottom of the canvas to see related lists
- Drag related lists from the palette to add them
- Click the wrench icon on a related list to customize which columns appear
- Reorder related lists by dragging them up/down
Buttons:
- The layout controls which standard buttons appear (Edit, Delete, Clone, etc.)
- Click the wrench icon on the button section to add/remove buttons
- Custom buttons appear here once created
Save and Assign
Click “Save” when done. The layout is now created but won’t affect users until it’s assigned to a profile (or mapped via record types).
Best Practices for Page Layouts
-
Put the most important fields at the top. Users shouldn’t have to scroll to find the fields they use most.
-
Use sections to group related fields. “Address Information,” “Financial Details,” “System Information” — clear section names help users find what they need.
-
Hide fields that aren’t relevant. Don’t show every field to every user. A layout with 50 visible fields feels overwhelming. Aim for 15-25 visible fields per layout.
-
Make critical fields required at the layout level. If your sales process requires a “Source” field on Opportunities, make it required on the sales team’s layout — even if the field itself isn’t globally required.
-
Customize related lists. The default related list shows 5-6 columns. Pare it down to 3-4 useful columns. No one needs CreatedDate on every related list.
-
Use read-only strategically. Fields like “Created By” or “Last Modified Date” should be read-only on most layouts. Fields that are set by automation (like a formula-calculated rating) should also be read-only.
-
Create separate layouts per persona. “Account - Sales Layout,” “Account - Support Layout,” “Account - Finance Layout” — each tailored to what that team needs.
What Are Record Types?
A record type is a way to offer different business processes, picklist values, and page layouts for the same object based on the type of record being created.
The Problem They Solve
Consider the Opportunity object. Your company might have:
- New Business opportunities — long sales cycle, need fields like “Competitor,” “Discovery Notes,” “RFP Due Date”
- Renewal opportunities — shorter cycle, need fields like “Existing Contract,” “Renewal Discount,” “Customer Health Score”
- Upsell opportunities — need fields like “Current Products,” “Upsell Reason”
These are all Opportunities, but the business process is different for each. Without record types, you’d have one Opportunity page with every field for every type — cluttered and confusing.
With record types, you can:
- Show different page layouts for each type
- Offer different picklist values for each type (e.g., different Stage values for New Business vs. Renewal)
- Assign different business processes (e.g., different Sales Processes with different Stage sequences)
How Record Types Work
When a user creates a new record, they’re prompted to select a record type (if more than one is available to them). Based on their selection:
- The appropriate page layout is displayed
- The appropriate picklist values are shown
- The record’s
RecordTypeIdfield is set
The record type is stored on the record itself, so it can be changed later (which can trigger a layout change).
How to Create Record Types
Step-by-Step
-
Setup → Object Manager → Select your object
-
Click “Record Types” in the left sidebar
-
Click “New”
-
Fill in:
- Existing Record Type — Optionally clone from an existing record type (inherits picklist value assignments)
- Record Type Label — e.g., “New Business”
- Record Type Name — API name (auto-generated, e.g.,
New_Business) - Active — Check to make it immediately available
- Description — What this record type represents
- Enable for Profiles — Select which profiles should have access to this record type. You can also set it as the default record type for each profile.
-
Click “Next”
-
Assign a page layout for each profile that has access to this record type
-
Click “Save”
After Creation: Configure Picklist Values
Once the record type exists:
- Go to Object Manager → Your Object → Record Types → Click the record type name
- Scroll down to see all picklist fields on the object
- Click “Edit” next to any picklist field
- Select which values should be available for this record type
- Save
Example: For a “Renewal” Opportunity record type, you might only show stages: “Renewal Pending,” “Negotiation,” “Closed Won,” “Closed Lost” — hiding the discovery and qualification stages that only apply to new business.
Business Process Records (Sales, Support, Lead)
Some standard objects have a special concept called Business Processes that work alongside record types:
- Sales Process (Opportunity) — Defines which Stage values are available
- Support Process (Case) — Defines which Status values are available
- Lead Process (Lead) — Defines which Status values are available
These are configured separately:
- Setup → Sales Processes / Support Processes / Lead Processes (Quick Find)
- Create a new process, selecting which picklist values to include
- Assign the process to a record type
The business process controls the Stage/Status picklist specifically, while the record type controls all other picklist values on the object.
How to Map Page Layouts to Record Types
This is where it all comes together. The mapping determines: for a given profile and record type, which page layout is displayed?
The Page Layout Assignment Matrix
- Setup → Object Manager → Select your object
- Click “Page Layouts” in the left sidebar
- Click “Page Layout Assignment”
- Click “Edit Assignment”
You’ll see a matrix (grid):
- Rows = Profiles
- Columns = Record Types
- Cells = The assigned page layout
To change an assignment:
- Click on the cell at the intersection of the desired profile and record type
- Select the page layout from the dropdown at the top
- The cell updates to show the new assignment
- Click “Save”
Example Assignment Matrix
| Profile | New Business | Renewal | Upsell |
|---|---|---|---|
| Sales Rep | Opp - Sales Layout | Opp - Renewal Layout | Opp - Upsell Layout |
| Sales Manager | Opp - Manager Layout | Opp - Manager Layout | Opp - Manager Layout |
| Support Agent | Opp - Read Only Layout | Opp - Read Only Layout | Opp - Read Only Layout |
| System Admin | Opp - Admin Layout | Opp - Admin Layout | Opp - Admin Layout |
In this example:
- Sales reps see different layouts depending on the Opportunity type
- Sales managers see the same layout regardless of type (they need all fields)
- Support agents see a read-only layout (they reference Opportunities but don’t edit them)
Assignment Rules
- Every profile-record type combination must have a page layout assigned
- If a profile doesn’t have access to a record type, the cell shows ”—” and can’t be changed
- The “Master” record type is the default — it’s used when no specific record type is selected
- New profiles default to the “Master” record type’s layout assignment
What Happens When a User Changes the Record Type?
If a user changes a record’s record type (e.g., from “New Business” to “Renewal”):
- The page layout changes immediately based on the new mapping
- Picklist values update to show only those enabled for the new record type
- Fields that exist on the old layout but not the new one retain their data — the values aren’t deleted, they’re just not displayed
- Required fields on the new layout that were previously blank may cause issues when the user tries to save
Section Notes
-
Page layouts are per-profile, not per-user. If you need different layouts for users within the same profile, you’ll need separate profiles or (better) use Lightning App Builder pages with component visibility rules — a more modern approach we’ll cover later.
-
Record types add complexity. Don’t create them unless you have genuinely different business processes. If the only difference is “some users see fewer fields,” that’s a page layout problem, not a record type problem.
-
Page layouts vs. Lightning Record Pages. Page layouts control the detail/edit view and related lists. Lightning Record Pages (configured in Lightning App Builder, covered in Section 7) control the overall page composition — which components appear, sidebar layout, tabs, etc. They work together, not as replacements.
-
Field-level security always wins. If a field is on the page layout but the user’s profile restricts it via field-level security, the field is hidden. Page layouts can only show what FLS allows.
-
Picklist value filtering via record types is powerful but fragile. If you add a new picklist value globally, you need to explicitly enable it on each record type where it should appear. Forgotten record types = users who can’t see the new value.
-
The “Master” record type is a fallback, not a real record type. If your object has record types, always assign users to a specific one. Records assigned to “Master” can behave unexpectedly.
Project: Create Record Types and Page Layouts and Map Them
The Scenario
Building on the Project and Deliverable objects from the previous section, the consultancy has two types of projects:
- Client Projects — External work for clients, with budget tracking and a client Account reference
- Internal Projects — Internal initiatives (e.g., tool development, process improvement) with no client and no budget
Your Tasks
1. Create two Record Types on the Project object:
-
“Client Project” record type
- All fields visible
- Status picklist values: Not Started, In Progress, On Hold, Completed
-
“Internal Project” record type
- Hide:
Client__c(Account lookup),Budget__c - Status picklist values: Not Started, In Progress, Completed (no “On Hold” or “Cancelled”)
- Hide:
2. Create two Page Layouts:
-
“Project - Client Layout”
- Section 1: “Project Details” — Project_Name, Client, Project_Manager, Status
- Section 2: “Timeline” — Start_Date, End_Date
- Section 3: “Financials” — Budget
- Related List: Deliverables (columns: Name, Deliverable_Name, Due_Date, Status, Completion_Percentage)
-
“Project - Internal Layout”
- Section 1: “Project Details” — Project_Name, Project_Manager, Status
- Section 2: “Timeline” — Start_Date, End_Date
- (No Financials section)
- Related List: Deliverables (same columns)
3. Map the layouts:
| Profile | Client Project | Internal Project |
|---|---|---|
| System Administrator | Project - Client Layout | Project - Internal Layout |
| Standard User | Project - Client Layout | Project - Internal Layout |
4. Test it:
- Create a new Project and verify you’re prompted to select “Client Project” or “Internal Project”
- Create one of each type and verify the correct layout appears
- Change a Client Project’s record type to Internal and observe what happens to the Budget and Client fields
Next up: Quick Actions, Buttons, and Links — adding interactivity to your page layouts and making common tasks one-click for your users.
This is Part 5 of the Salesforce series. Next: Quick Actions, Buttons, and Links — how to create them, the difference between object-specific and global actions, and how to wire them into your page layouts.