To navigate in Lightning Experience, Experience Builder sites, or the Salesforce mobile app, define a PageReference object. The pageReference type generates a unique URL format and defines attributes that apply to all pages of that type. For Experience Builder sites, depending on the page type, the pageReference property requirements can differ between LWR sites and Aura sites.
PageReference objects are supported on a limited basis for Experience Builder sites, as noted for each type.
Note
App Type
A standard or custom app available from the App Launcher in an org. Use this pageReference type to create custom navigation components that take users to a specific app or page within the app. Connected apps aren’t supported.
If you’re navigating users to a different app using a pageRef, the app opens in the same window by default. To open a link in a new tab, see the navigation service documentation.
Note
Type
1standard__app;
Experience: Lightning Experience
Type Attributes
Property
Type
Description
Required?
appTarget
String
App that you’re navigating to. Pass either the appId or appDeveloperName to the appTarget. The appId is the DurableId field on the AppDefinition sObject. The appDeveloperName value is formed by concatenating the app’s namespace with the developer name. To find the app’s developer name, navigate to the App Manager in Setup and look in the Developer Name column. For standard apps, the namespace is standard__. For custom apps, it’s c__. For managed packages, it’s the namespace registered for the package.
Yes
pageRef
PageReference
Identifies a specific location in the app you’re navigating to. Pass in the pageRef and applicable attributes for that pageRef type.
You can pass any key and value in the state object. The key must include a namespace, and the value must be a string. If you don’t have a registered namespace, add the default namespace of c__.
URL Format
1/cmp/{componentName}?c__myAttr=attrValue
Login Page Type
An authentication for an Experience Builder site.
Type
1comm__loginPage;
Experience: Experience Builder sites
Type Attributes
Property
Type
Description
Required
actionName
String
A login-related action to be performed. Possible values are login or logout.
Yes
You can only navigate to comm__namedPages when you’re calling navigate from: Login, Check Password, Forgot Password, Login Error, and Register. Other page references don’t work from these pages.
A standard page in an Experience Builder site with a unique name. If an error occurs, the error view loads and the URL isn’t updated.
Type
1comm__namedPage;
Experience:
: Experience Builder sites
Type Attributes
Property
Type
Description
Required?
name
String
The unique name of the Experience Builder site page. The value for name is the API Name value for a supported page. The API Name field can only be defined when a new page is being created, and must be unique. If the API Name isn’t defined upon page creation, it’s automatically generated. The value of home is reserved for the landing page of any Experience Builder site in your org. Supported pages are Home, Account Management, Contact Support, Error, Login, My Account, Top Articles, Topic Catalog, and custom pages.
A page that interacts with a standard or custom object in the org and supports standard actions for that object.
The standard__objectPage type replaces the force:navigateToObjectHome and the force:navigateToList events.
Note
Type
1standard__objectPage;
Experience: Lightning Experience, Experience Builder sites, Salesforce Mobile App
Type Attributes
Property
Type
Description
Required?
actionName
String
The action name to invoke. Valid values include home, list, and new. In Experience Builder sites, list and home are the same.
Yes
objectApiName
String
The API name of the standard or custom object. For custom objects that are part of a managed package, prefix the custom object with ns__.
Yes
State
Property
Type
Description
Supported Actions
Required?
filterName
String
ID or developer name of the object page. Default is Recent.
list
No
defaultFieldValues
String
List of key-value pairs for the default field values that you’re passing. This list is generated by the lightning:pageReferenceUtils component. See lightning:pageReferenceUtils for details.
new
No
nooverride
String
To use a standard action, assign this property any value, such as 1. To use an override action, don’t include this property at all.
home, list, new
No
Standard Object Example
1// Opens the case home page.2{3 "type": "standard__objectPage",4 "attributes": {5 "objectApiName": "Case",6 "actionName": "home"7}8}
Navigate to a Specific List View Example
1// Navigates to account list with the filter set to RecentlyViewedAccounts.2{3 "type": "standard__objectPage",4 "attributes": {5 "objectApiName": "ns__Widget__c",6 "actionName": "list"7},8 "state": {9 "filterName": "RecentlyViewedAccounts"10}11}
Navigate to a Record Create Page with Default Field Values
1// Navigates to a new account object using these default field values.2//{3// Name: "Salesforce, #1=CRM",4// OwnerId: "005XXXXXXXXXXXXXXX",5// AccountNumber: "ACXXXX",6// NumberOfEmployees: 35000,7// CustomCheckbox__c: true8//}9{10 type: "standard__objectPage",11 attributes: {12 objectApiName: "Account",13 actionName: "new"14},15 state: {16 defaultFieldValues = "AccountNumber=ACXXXX,CustomCheckbox__c=true,Name=Salesforce%2C%20%231%3DCRM,NumberOfEmployees=35000,OwnerId=005XXXXXXXXXXXXXXX",17 nooverride: "1"18}19}
A page that runs an active screen or autolaunched flow.
Type
1standard__flow;
Experience: Lightning Experience
Type Attributes
Property
Type
Description
Required?
devName
String
The flow name (flowNameor namespace__flowName).
Yes
retURL
String
The relative URL to redirect users to when the flow finishes.
No
Example
You can pass input variable values to the flow in the state object. The key must be prefixed by flow__. Record variables, Apex-Defined variables, and collection variables are not supported.
An external URL. Navigate to web pages using the lightning:navigate component with the standard__webPage page type instead of using force:navigateToURL. In Aura sites, certain internal Salesforce URLs have site-specific processing. For example, /apex/ URLs are translated to /sfdcpage/. The Visualforce page is embedded within the site in an iFrame, which is the same behavior as with force:navigateToURL. Use window.open if you want to go straight to the URL, such as opening /apex/ directly in a new tab.
On orgs running API version 68 or later with Lightning Web Security for Aura enabled, opening a same-origin Salesforce URL in a new tab using window.open() with _blank results in a LockerSecurityError.
Important
For same-origin downloads and navigation, use this programmatic anchor click.
1const a = document.createElement('a');2a.href = url; // /apex/... clears the href denylist3a.target = '_blank'; // or omit for same-tab4a.rel = 'noopener noreferrer';5a.click(); // keep it detached; do NOT append to body/head
Type
1standard__webPage;
Experience: Lightning Experience, Salesforce Mobile App