Page layouts got us far. They control which fields appear, in what order, and whether they’re required or read-only. But they have limits. You can’t put a chart next to a field. You can’t show a section only when a certain condition is met. You can’t have different field arrangements for different users on the same record type without creating separate page layouts and profiles.
The Lightning App Builder is Salesforce’s visual, drag-and-drop tool for designing full page experiences in Lightning Experience. It goes beyond page layouts — it controls the entire page composition: which components appear, where they’re positioned, and when they’re visible.
What Is the Lightning App Builder?
The Lightning App Builder is a point-and-click page designer that lets you create three types of pages:
1. Record Pages
Custom layouts for viewing and editing individual records (e.g., a custom Account record page). This is the most common use case and what we’ll focus on.
2. App Pages
Standalone pages within a Lightning app — dashboards, landing pages, or custom utility pages. These aren’t tied to a specific record.
3. Home Pages
Custom home page experiences that users see when they log in or navigate to the Home tab.
What You Can Do With It
- Arrange standard and custom components in flexible layouts (columns, tabs, accordions)
- Add related lists, charts, reports, rich text, images, and custom Lightning components
- Set conditional visibility — show or hide components based on field values, user permissions, device type, or form factor
- Use Dynamic Forms to break free from page layout field arrangements
- Use Dynamic Actions to control which actions appear based on record data
- Create multiple page variations and assign them to different apps, record types, or profiles
The Difference Between a Page Layout and a Lightning Record Page
This distinction confuses almost everyone at first. Here’s the clean separation:
Page Layouts Control:
- Which fields appear on the record detail/edit view
- The order and grouping of fields (sections)
- Which fields are required or read-only (at the layout level)
- Which related lists appear at the bottom
- Which quick actions appear in the action bar
- Which buttons and links are available
Lightning Record Pages Control:
- The overall page structure — how many columns, where components sit
- Which components appear on the page (charts, related lists, custom components, rich text, etc.)
- Conditional visibility of components
- Tab and accordion organization of page sections
- The record detail component itself (which renders the page layout inside it)
How They Work Together
A Lightning Record Page contains a Record Detail component. This component renders the page layout assigned to the user’s profile and record type. So:
- The Lightning Record Page is the outer container — the page structure
- The Page Layout controls what’s inside the Record Detail component — the field arrangement
You need both. The Lightning Record Page doesn’t replace the page layout; it wraps it.
Exception: When you enable Dynamic Forms (covered below), you can pull individual fields OUT of the page layout and place them directly on the Lightning Record Page as components. This is where the two concepts merge.
How to Create a Lightning App Builder Record Page
Step-by-Step
-
Setup → Quick Find → “Lightning App Builder”
-
Click “New”
-
Select “Record Page” → “Next”
-
Enter:
- Label — e.g., “Project Record Page”
- Object — Select the object (e.g., Project__c)
-
Click “Next”
-
Choose a page template — this sets the column structure:
- Header and One Region — Simple single-column
- Header and Two Equal Regions — Two-column layout
- Header and Left Sidebar — Main content with a narrow left panel
- Header and Right Sidebar — Main content with a narrow right panel
- Header, Left Sidebar, and Right Sidebar — Three-column layout
- Header and Three Regions — Three equal columns
The Header and Right Sidebar template is the most common — it mirrors the standard Salesforce record page layout.
-
Click “Finish”
You’re now in the Lightning App Builder editor.
The Lightning App Builder Editor
The editor has three panels:
Left Panel — Components
A searchable list of all available components, organized by category:
- Standard — Salesforce-provided components
- Custom — Components built by developers in your org or from AppExchange packages
- Fields — Individual fields (when Dynamic Forms is enabled)
Center Panel — Canvas
The visual representation of your page. Drag components from the left panel onto the canvas. Components snap into regions defined by your template.
Right Panel — Properties
When you select a component on the canvas, its configuration options appear here. Each component has different properties.
The Different Components You Can Use
Standard Components (Most Important Ones)
Record Detail The most critical component. It renders the page layout — all the fields, sections, related lists, and actions defined in the page layout editor. Every record page should have this (unless you’re using Dynamic Forms to place fields individually).
Related Lists Displays related lists for the record. You can use:
- Related Lists - Single — One specific related list (e.g., just Contacts)
- Related List - Quick Links — Compact clickable links to each related list
- You can place multiple Related Lists - Single components to arrange them in different areas of the page
Highlights Panel Displays the compact layout fields at the top of the record page (the key fields shown in the header area). This is the standard header you see on every record page.
Tabs Creates a tabbed interface where each tab contains one or more components. Extremely useful for organizing dense pages.
Properties:
- Add/remove/rename tabs
- Each tab is a container — drag components into each tab
- One tab can hold multiple components
Accordion Similar to tabs but as collapsible sections. Each section expands/collapses independently.
Rich Text Static text, formatted with a WYSIWYG editor. Useful for instructions, notes, or disclaimers on a record page. Supports basic HTML formatting, links, and images.
Report Chart Embeds a chart from a Salesforce report. The chart can be filtered to the current record using a filter field.
Properties:
- Select a report
- Select a chart from that report
- Optionally filter by a field that matches the current record’s ID
Chatter / Activity
- Chatter — The Chatter feed for the record
- Activities — The timeline of Tasks, Events, Emails, and Calls related to the record
Path Displays a visual path for the record’s stage or status progression (e.g., Opportunity stages). Requires a Path to be configured (Setup → Path Settings).
Related Record Displays fields from a related record inline. For example, on a Contact record page, you can show the parent Account’s key fields without navigating away.
Flow Embeds a Screen Flow directly on the record page. The Flow runs in the context of the current record.
Custom Components
Any Lightning Web Component (LWC) or Aura Component that’s been built and deployed to your org appears in the Custom section. AppExchange packages also add components here.
Custom components are where the Lightning App Builder really shines — developers can build purpose-specific components (a project timeline, a Kanban board, a customer health score widget) and admins can drag them onto pages without touching code.
How to Use Conditional Visibility (Component Visibility Rules)
This is one of the most powerful features of the Lightning App Builder. You can make any component show or hide based on conditions — without creating multiple page layouts or record types.
Setting Up Visibility Rules
- Click on a component in the canvas
- In the right panel, scroll to “Set Component Visibility”
- Click “Add Filter”
- Choose a filter type:
Field-Based Filters:
- Select a field on the current record
- Choose an operator (equals, not equal to, contains, is blank, etc.)
- Enter a value
- Example: Show a “Renewal Information” component only when
Type = "Renewal"
Permission-Based Filters:
- Show/hide based on a custom permission
- Example: Show an “Admin Tools” component only for users with the “Admin_Dashboard_Access” custom permission
Device-Based Filters:
- Show/hide based on form factor (Desktop, Phone, Tablet)
- Example: Show a simplified component on Phone, full component on Desktop
Advanced Filters:
- Combine multiple filters with AND or OR logic
- Example: Show component when
Status = "Active"ANDAmount > 10000
- Set filter logic — “All filters must be true” (AND) or “Any filter can be true” (OR), or custom logic (e.g.,
1 AND (2 OR 3))
Visibility Rules Use Cases
Show a warning banner when an Account is past due:
- Component: Rich Text with warning message
- Filter:
Days_Past_Due__c> 0
Show a VIP section for high-value customers:
- Component: A custom LWC showing VIP benefits
- Filter:
Annual_Revenue>= 1000000
Show different related lists for different record types:
- Component: Related List - Single (Deliverables)
- Filter:
RecordType.Name= “Client Project”
This last example is a game-changer — instead of creating separate page layouts per record type just to show different related lists, you use ONE Lightning Record Page with conditional visibility on the related list components.
Show admin-only tools:
- Component: Flow (admin utility Flow)
- Filter: Custom Permission = “Org_Admin_Tools”
What Are Dynamic Forms?
Dynamic Forms let you pull individual fields and sections out of the page layout and place them directly as components on the Lightning Record Page.
Before Dynamic Forms
- Fields are arranged in the page layout editor
- The entire page layout renders as a single block inside the Record Detail component
- To show different fields to different users, you need separate page layouts assigned to separate profiles
With Dynamic Forms
- Individual fields become draggable components in the Lightning App Builder
- You can arrange fields in any layout — across columns, inside tabs, in accordions
- Each field (or group of fields) can have its own visibility rules
- One page replaces what previously required multiple page layouts + record types + profile assignments
How to Enable Dynamic Forms
- In the Lightning App Builder, click on the Record Detail component
- In the right panel, you’ll see “Upgrade to Dynamic Forms” (or similar prompt)
- Click “Upgrade”
- Salesforce migrates your page layout fields into individual Field components on the canvas
- You can now rearrange, add visibility rules to individual fields, and organize freely
Or manually:
- Remove the Record Detail component
- From the left panel, go to the “Fields” category
- Drag individual fields onto the canvas
- Group them in “Field Section” components for visual organization
Dynamic Forms Limitations
- Available only on custom objects and a growing list of standard objects (Account, Contact, Case, Lead, Opportunity, and others — Salesforce adds more each release)
- Not available on all standard objects yet (check Salesforce release notes for the latest)
- Some features still require a page layout: related lists, mobile layout, quick action layout
- Page layouts are still needed as a fallback for contexts where Dynamic Forms isn’t supported (e.g., some mobile views)
When and Why to Use Dynamic Forms Over Page Layout Record Type Assignments
Use Dynamic Forms when:
-
Different users need to see different fields on the same record type. Instead of creating “Account - Sales Layout,” “Account - Support Layout,” and “Account - Finance Layout” plus mapping them to profiles, create ONE Dynamic Forms page with visibility rules per field section.
-
You want field visibility based on record data, not user profile. “Show the Discount fields only when Amount > $50,000” — this is impossible with page layouts alone.
-
You want a more flexible visual layout. Page layouts are limited to 1-column or 2-column sections in a linear stack. Dynamic Forms lets you put fields inside tabs, across multiple columns, or in any arrangement the page template supports.
-
You want to reduce page layout sprawl. Orgs with 20+ page layouts per object are hard to maintain. Dynamic Forms can often replace 5-10 page layouts with a single record page.
Stick with page layouts when:
- The object doesn’t support Dynamic Forms yet
- Your layout is straightforward and doesn’t need conditional fields
- You need to support Salesforce Classic (Dynamic Forms is Lightning only)
- Mobile-specific layouts are critical (page layouts still drive some mobile views)
What Are Dynamic Actions?
Dynamic Actions do for the action bar what Dynamic Forms does for fields — they let you control which quick actions appear based on record data and user criteria, directly in the Lightning App Builder.
Before Dynamic Actions
- Actions in the action bar are controlled by the page layout
- To show different actions for different record types, you assign different page layouts
- No way to conditionally show/hide an action based on a field value
With Dynamic Actions
- Actions are managed in the Lightning App Builder, not the page layout
- Each action can have visibility rules (same as component visibility)
- Show “Submit for Approval” only when Status = “Draft”
- Show “Escalate” only when Priority = “Critical”
- Show “Close Project” only when all Deliverables are complete
How to Enable Dynamic Actions
- In the Lightning App Builder, click the Highlights Panel component
- In the right panel, look for “Enable Dynamic Actions” toggle
- Turn it on
- The actions section moves from page layout control to App Builder control
- Click “Add Action” to add actions
- Click on any action to set visibility rules
Dynamic Actions Limitations
- Available on a growing list of standard and custom objects (similar rollout to Dynamic Forms)
- Standard actions (Edit, Delete, Clone) are always available — you can hide them with visibility rules
- Actions still need to be created first (as quick actions on the object) — Dynamic Actions controls where and when they appear, not what they do
How to Activate and Assign a Lightning Record Page
Building the page is only half the job. You need to activate it so users actually see it.
Activation Options
Click “Activation” (top-right of the App Builder editor). You’ll see three assignment options:
1. Org Default
Makes this page the default for all users across all apps for this object.
- Click “Assign as Org Default”
- Optionally assign by Record Type — different default pages for different record types
- This is the broadest assignment — it affects everyone
2. App Default
Makes this page the default for a specific Lightning app (e.g., Sales app, Service app).
- Click “Assign as App Default”
- Select the app(s)
- Optionally assign by Record Type
- This overrides the Org Default for users in that app
3. App, Record Type, and Profile
The most granular assignment. Assign based on a combination of:
-
App — Which Lightning app the user is in
-
Record Type — Which record type the record has
-
Profile — Which profile the user has
-
Click “Assign as App, Record Type, and Profile”
-
Build assignment rules with the matrix
Assignment Priority
When multiple pages could apply, Salesforce uses this priority:
- App + Record Type + Profile (most specific — wins)
- App + Record Type
- App Default
- Org Default (least specific — fallback)
Save vs. Activate
- Save — Saves your work but doesn’t affect users
- Activate — Makes the page live for the assigned users
- You can save a page, test it by assigning it only to your profile, then roll it out to everyone
Section Notes
-
Start simple. Don’t rebuild every record page on day one. Start with one high-value object (like Opportunity) where users complain about the current layout. Build a better page, get feedback, iterate.
-
Tabs are your best friend. Dense record pages with 50+ fields become manageable when organized into tabs: “Details,” “Financial,” “Related,” “Activity.” Users only see what’s relevant to their current task.
-
Conditional visibility reduces clutter dramatically. Instead of showing every field to every user, show fields that are relevant to the current record state. A “Closed” Opportunity doesn’t need to show prospecting fields.
-
Dynamic Forms doesn’t mean “stop using page layouts.” Page layouts still control the mobile experience, some API behaviors, and serve as the fallback. Think of Dynamic Forms as an enhancement layer, not a replacement.
-
Test on multiple devices. The Lightning App Builder has a device preview (phone/tablet/desktop toggle at the top). Use it. A page that looks great on desktop might be unusable on a phone.
-
Version control is limited. The App Builder doesn’t have built-in version history. Before making major changes to a live page, clone it first. If the new version has issues, you can revert by activating the clone.
-
Performance matters. Every component on a page is a resource load. A page with 15 components, 3 embedded report charts, and 2 Flows will be noticeably slower than a clean page with 5-6 components. Only add what users actually need.
Project: Create a Lightning Record Page with Dynamic Actions and Dynamic Forms
The Scenario
The Project object’s current record page uses a standard page layout. The team wants a more dynamic experience.
Your Tasks
1. Create a new Lightning Record Page for the Project object:
- Template: Header and Right Sidebar
- Label: “Project Dynamic Record Page”
2. Set up the main region with Dynamic Forms:
- Enable Dynamic Forms (upgrade from Record Detail)
- Organize fields into tabs:
Tab 1: “Overview”
- Field Section: “Project Details” — Project Name, Project Manager, Status, Start Date, End Date
- Field Section: “Client Information” — Client (Account lookup), Budget
- Visibility Rule: Only show “Client Information” when Record Type = “Client Project”
Tab 2: “Deliverables”
- Related List - Single: Deliverables
- Flow: “Add Quick Deliverable” (if you have a Screen Flow for this)
Tab 3: “Activity”
- Activities component (timeline)
- Chatter component
3. Set up the sidebar:
- Highlights Panel (with Dynamic Actions enabled)
- Path component (if you’ve set up a Path for Project Status)
- Rich Text: Project guidelines or instructions
4. Configure Dynamic Actions:
- “Update Status” — Always visible
- “Add Deliverable” — Always visible
- “Close Project” (create this action if needed) — Visible only when
Status = "In Progress"AND all Deliverables are complete (if you can express this condition) - “Reopen Project” — Visible only when
Status = "Completed"
5. Activate the page:
- Assign as Org Default for the Project object
- If you have multiple record types, assign by record type:
- Client Project → This new dynamic page
- Internal Project → This new dynamic page (same page, different visibility rules handle the differences)
6. Test:
- Open a Client Project — verify “Client Information” section is visible
- Open an Internal Project — verify “Client Information” section is hidden
- Check the action bar — verify “Close Project” only appears on In Progress projects
- Switch to mobile preview — verify the page is usable on phone form factor
- Ask a colleague to view the page from a different profile — verify their experience is correct
Next up: Apps and Tabs — how to organize your Salesforce experience into purpose-built applications with custom navigation.
This is Part 8 of the Salesforce series. Next: Apps and Tabs — creating Lightning apps and custom tabs to organize your org’s navigation.