9.2 Dynamic Actions & Page Interaction Patterns
Key Takeaways
Dynamic Actions decouple action buttons (Standard, Custom, and Quick Actions) from monolithic Page Layouts, allowing administrators to manage and configure actions directly within Lightning App Builder.
Action visibility rules can be applied to individual buttons in the Highlights Panel or custom page regions based on record field values, user attributes (
$User), and custom permissions ($Permission).Enabling Dynamic Actions on a Highlights Panel creates an independent action configuration for that Lightning page, overriding the action list defined on the underlying object page layout.
Generally available Dynamic Actions configure the Highlights Panel. For guided controls inside a tab, use supported Flow/components; Dynamic Actions Bar is a separate, restricted pilot.
Dynamic Actions reduce cognitive clutter by presenting users with only the buttons relevant to the current record state, role, and operational context.
9.2 Dynamic Actions & Page Interaction Patterns
In standard Salesforce deployments, action buttons—such as Edit, Delete, Clone, Log a Call, and custom Quick Actions—are configured within the "Salesforce Mobile and Lightning Experience Actions" section of a traditional Page Layout. This legacy structure suffers from the exact same architectural limitation as legacy field layouts: the configured action list is static by record status; permissions still govern availability, regardless of the record's current lifecycle stage or the user's immediate role.
Under this static model, an Opportunity in the "Closed Won" stage displays the exact same "Submit for Approval" and "Change Stage" buttons as an Opportunity in "Qualification". A tier-1 customer service agent sees the "Escalate to Tier 3" and "Issue Executive Credit" buttons even when company policy strictly forbids them from using those functions. To hide inappropriate buttons, organizations historically created duplicate page layouts, introducing immense maintenance overhead.
Dynamic Actions resolves this challenge. By moving action management directly into Lightning App Builder, App Builders can configure, reorder, and conditionally display individual action buttons on the Highlights Panel and throughout custom page regions.
Dynamic Actions Architecture & Placement
Use generally available Highlights Panel actions first. The additional Actions Bar surface below is a separate pilot and must not be assumed available:
1. The Highlights Panel Component
The Highlights Panel sits at the top of most standard Lightning record pages. When an administrator clicks the Highlights Panel in Lightning App Builder, a toggle option labeled Enable Dynamic Actions appears in the properties pane:
- Toggling this setting on decouples the Highlights Panel from the legacy Page Layout's action list.
- Administrators can migrate existing actions from the Page Layout or build a clean action list from scratch.
- Each action in the list becomes an independently configurable entity with its own label, icon, and visibility logic.
2. Custom Page Regions (Dynamic Actions Bar Pilot)
Dynamic Actions is not restricted to the top Highlights Panel. The Dynamic Actions Bar is a pilot, available to selected customers by agreement. It supports global actions on Lightning Experience desktop record and app pages; it is not a generally available container for arbitrary object-specific quick actions:
- Place a Dynamic Actions Bar inside a "Billing & Invoicing" sub-tab containing only "Generate Invoice" and "Process Payment" actions.
- Place a Dynamic Actions Bar inside a "Technical Support" accordion pane containing "Escalate Case" and "Request Diagnostics".
- This contextual placement prevents users from having to scroll back to the top of long record pages to trigger workflows related to specific sub-tabs.
[Legacy Action Architecture]
Page Layout: Salesforce Mobile & Lightning Actions Section
└── Static list: [Edit] [Delete] [Clone] [Submit for Approval] [Discount Override] [Close Case]
└── Layout list is static by record status; permissions still affect available actions.
[Dynamic Actions Architecture]
Highlights Panel (Dynamic Actions Enabled)
├── [Edit] (Always visible)
├── [Submit for Approval] (Visible ONLY if Status = 'Draft' AND Amount > $50,000)
└── [Discount Override] (Visible ONLY if $Permission.Can_Override_Discounts = TRUE)
Custom Sub-Tab: "Logistics & Shipping"
└── Dynamic Actions Bar Component
├── [Generate Bill of Lading] (Visible if Order_Status = 'Approved')
└── [Schedule Freight Pickup] (Visible if Ready_for_Dispatch = TRUE)
Action Visibility Rules & Filter Criteria
Similar to Dynamic Forms, Dynamic Actions allows administrators to establish fine-grained conditional visibility filters on every individual action button. An action only renders in the user interface when all filter conditions evaluate to TRUE.
Filter Contexts
- Record Field Filters: Base action visibility on the record's current state:
- Show Submit for Approval only when
Approval_Status__c = 'Pending Submission'. - Show Reopen Case only when
IsClosed = TRUE. - Show Generate Contract only when
StageName = 'Negotiation/Review'andAmount > 0.
- Show Submit for Approval only when
- User Context Filters (
$User): Base action visibility on the current user's profile, role, or department:- Show Delete Account only when
$User.Profile.Name = 'System Administrator'. - Show Assign Territory only when
$User.Department = 'Sales Operations'.
- Show Delete Account only when
- Permission Context Filters (
$Permission): Base action visibility on Custom Permissions assigned via Permission Sets:- Show Override Credit Limit only when
$Permission.Credit_Override_Authorized = TRUE. - Show VIP Customer Escalation only when
$Permission.Tier_3_Agent = TRUE.
- Show Override Credit Limit only when
- Device Form Factor: Control whether an action appears on Desktop, Phone, or both.
Tip
The Power of State-Aware Action Lifecycles: Instead of showing all possible lifecycle actions simultaneously, configure actions to appear sequentially. For example, on a custom Onboarding record: Step 1 shows only "Complete Background Check". Once completed, that button disappears and "Issue Equipment" appears. Once equipment is issued, "Finalize Orientation" appears. This guides users through complex processes without procedural documentation.
Button Display Mechanics & Overflow Menus
In the desktop Highlights Panel, screen real estate determines how many action buttons render as visible buttons versus collapsing into the dropdown menu:
- Administrators can configure the Number of Visible Actions (typically between 3 and 5 actions on standard desktop screens).
- The first 3 to 5 actions configured in the Dynamic Actions list render as direct buttons on the Highlights Panel.
- Any additional actions beyond that threshold automatically collapse into the Overflow Menu (the right-hand dropdown arrow
▾). - Administrators can drag and reorder actions in Lightning App Builder to ensure high-frequency actions occupy the direct button slots while secondary actions reside in the overflow menu.
Page Layout Actions vs. Lightning App Builder Dynamic Actions
| Feature | Traditional Page Layout Actions | Dynamic Actions in Lightning App Builder |
|---|---|---|
| Management Location | Setup > Object Manager > Page Layouts | Setup > Lightning App Builder |
| Conditional Visibility | Not supported (static display) | Supported per action button |
| Filter Criteria | None (all or nothing per layout) | Record fields, $User, $Permission, Device |
| Placement Flexibility | Strictly top header and mobile bottom bar | Highlights Panel; use supported embedded controls elsewhere (Actions Bar is pilot) |
| Configuration Scope | Tied to Page Layout metadata | Tied to specific Lightning Record Page |
| Administrative Overhead | High; requires multiple layouts to vary buttons | Low; single page handles all button permutations |
Exam Traps and Best Practices
- Trap: The Disappearing Action Dilemma. When an administrator enables Dynamic Actions on an existing Highlights Panel for the first time, selecting "Start from Scratch" clears all existing actions! Users will immediately report that standard actions like "Edit" and "Delete" have vanished. Always choose Migrate from Page Layout during the initial enablement to copy established actions before pruning.
- Trap: Action Visibility Is Not Security. Hiding the "Delete" action button on the Highlights Panel using a conditional visibility rule prevents the user from clicking Delete in that record's header. However, if that user possesses Delete CRED permission on the object, they can still delete the record via List Views, Mass Delete tools, Developer Console, or the REST/SOAP API. Always enforce data security at the object/field level rather than relying on action visibility.
- Trap: Overlooking Dynamic Actions on Mobile. Dynamic Actions on mobile must be enabled in Setup (
Salesforce Mobile App Setup > Dynamic Actions on Mobile). Furthermore, when configuring actions in App Builder, verify whether actions are set for Desktop, Phone, or both. - Best Practice: Decouple Action Entitlement with Custom Permissions. Avoid filtering action buttons by
$User.Profile.Name. Profiles change frequently during organizational restructurings. Utilizing$Permission.Custom_Permission_Nameallows administrators to grant or revoke button visibility dynamically across users simply by assigning or removing a Permission Set.
Official Source Check
Checked October 19, 2026: Standard components and Dynamic Actions Bar pilot.
An App Builder is designing a Case record page for a tier-3 technical support team. Management mandates that the 'Escalate to Engineering' quick action must be visible only when the Case Priority is 'High', the Case Status is not 'Closed', and the logged-in user possesses the 'Tier_3_Support_Specialist' custom permission. How should this requirement be implemented?
Create three distinct Case page layouts assigned to different profiles based on case priority.
Build a validation rule that prevents users without the custom permission from saving escalations.
Dynamic Actions visibility filters cannot evaluate custom permissions, so the quick action must be wrapped in a Screen Flow that calls Apex to check the Tier_3_Support_Specialist permission for each user.
Configure Dynamic Actions on the Highlights Panel and add visibility filters evaluating Priority, Status, and $Permission.Tier_3_Support_Specialist.
An administrator enables Dynamic Actions on the Opportunity Highlights Panel for the first time and saves the page without migrating actions from the existing page layout. Immediately after activation, sales representatives report that standard buttons such as 'Edit', 'Delete', and their custom 'Create Quote' quick action are completely missing from the record header. What explains this behavior?
Enabling Dynamic Actions replaces the page layout action configuration with an empty action list that must be explicitly populated.
The sales representatives lost Object CRED permissions to the Opportunity object during the activation.
Dynamic Actions require an active Approval Process to display standard buttons in Lightning Experience.
Enabling Dynamic Actions permanently deleted the actions from the underlying page layout metadata, so the Create Quote quick action must be recreated from scratch before it can be re-added to the panel.
A Case page needs refund operations inside a Billing & Refunds tab. The org has no pilot access. Which supported declarative design can provide guided refund controls in that tab?
A Mobile-Only Actions Panel defined in the Salesforce mobile navigation menu, which mirrors the refund quick actions onto every record page tab automatically.
An embedded Screen Flow in the Billing & Refunds tab, with supported buttons/choices invoking the required refund operations.
A Screen Flow embedded in the utility bar that queries the active tab.
A Global Action menu restricted by profile login IP ranges.
Sections you finish are checked off in the contents.