Represents a Lightning page. A Lightning page is a customizable page composed of regions containing Lightning components.
Includes access to the associated FlexiPage object in the Metadata API. Available from API version 31.0 or later.
Lightning pages are used in several places.
In the Salesforce mobile app, a Lightning page is the home page for an app that appears in the navigation menu.
In Lightning Experience, Lightning pages can be used:
To customize the layout of record pages, the Salesforce Home page, and the Email Application pane in the Outlook and Gmail integrations.
As the home page for an app.
As the utility bar for a Lightning app.
These pages are known as FlexiPages in the API, but are referred to as Lightning pages in the rest of the Salesforce documentation and UI.
Note
In API version 49.0 and later, arrays in a FlexiPage are represented as valueList. Each array element is represented as valueListItem, and the element name is represented as value. In API version 48.0 and earlier, arrays are represented as value and array elements are formatted as a comma-separated list. Any FlexiPage retrieved using API version 49.0 or later uses valueList to represent component property array values, regardless of which API version was used to create the FlexiPage.
Description: The page description. This field can be useful to describe the reason for creating the page or its intended use.
DeveloperName
Type: string
Required: No
Properties: Filter, Group, Sort
Description: The API name of the Lightning page.
Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.
Note
EntityDefinitionId
Type: string
Required: No
Properties: Filter, Group, Nillable, Sort
Introduced: API version 39.0
Description: The name of the standard object or ID of the custom object that the Lightning page is associated with. For Lightning pages of type AppPage or HomePage, this field is null.
FullName
Type: string
Required: No
Properties: Create, Group, Nillable
Introduced: API version 31.0
Description: The full name of the associated FlexiPage object in Metadata API.
Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.
Description: Indicates the manageable state of the specified component that is contained in a package:
beta
deleted
deprecated
deprecatedEditable
installed
installedEditable
released
unmanaged
This field is available in API version 38.0 and later.
Possible values:
beta — beta
deleted — deleted
deprecated — deprecated
deprecatedEditable — deprecatedEditable
installed — installed
installedEditable — installedEditable
released — released
unmanaged — unmanaged
MasterLabel
Type: string
Required: No
Properties: Filter, Group, Sort
Description: The page’s label.
Metadata
Type: complexvalue
Required: No
Properties: Create, Nillable, Update
Introduced: API version 31.0
Description: Lightning page metadata.
Query this field only if the query result contains no more than one record. Otherwise, an error is returned. If more than one record exists, use multiple queries to retrieve the records. This limit protects performance.
NamespacePrefix
Type: string
Required: No
Properties: Filter, Group, Nillable, Sort
Description: The namespace of the package of which the FlexiPage is a part.
Description: Required. The type of the Lightning page. In API versions 32.0 through 36.0, this field can only have a value of AppPage.
Possible values:
AppPage — App Page — A Lightning page that is used as the home page for a custom app.
ObjectPage — Object Page
RecordPage — Record Page — A Lightning page used to override an object record page in Lightning Experience. This value is available in API version 37.0 and later.
HomePage — Home Page — A Lightning page that is used to override the Home page in Lightning Experience. This value is available in API version 37.0 and later.
ForecastingPage — Forecasting Page — A Lightning page that is used to override the default forecasts page in Lightning Experience. This value is available in API version 57.0 and later.
MailAppAppPage — Email Application Pane — An email application pane used to override the default layout in the Outlook and Gmail integrations. This value is available in API version 38.0 and later.
CommAppPage — Communities App Page — A Lightning page that is used to represent a custom page, as created in the Experience Builder. This value is available in API version 37.0 and later.
CommForgotPasswordPage — Communities Forgot Password Page — A Lightning page that’s used to override a forgot-password page, as created in Experience Builder. This value is available in API version 39.0 and later.
CommLoginPage — Communities Login Page — A Lightning page that’s used to override the login page, as created in Experience Builder. This value is available in API version 39.0 and later.
CommObjectPage — Communities Object Page — A Lightning page used to override an object page, as created in Experience Builder. This value is available in API version 38.0 and later.
CommQuickActionCreatePage — Communities Quick Action Create Page — A Lightning page used to override the create record page, as created in Experience Builder. This value is available in API version 38.0 and later.
CommRecordPage — Communities Record Page — A Lightning page used to override a record page, as created in the Experience Builder. This value is available in API version 38.0 and later.
CommRelatedListPage — Communities Related List Page — A Lightning page used to override a related list page, as created in the Experience Builder. This value is available in API version 38.0 and later.
CommSearchResultPage — Communities Search Result Page — A Lightning page used to override the search result page, as created in Experience Builder. This value is available in API version 38.0 and later.
CommGlobalSearchResultPage — Communities Global Search Result Page
CommSelfRegisterPage — Communities Self-Register Page — A Lightning page used to override the self-registration page, as created in Experience Builder. This value is available in API version 39.0 and later.
CommThemeLayoutPage — Communities Theme Layout Page — A Lightning page used to override a theme layout page, as created in the Experience Builder. This value is available in API version 38.0 and later.
UtilityBar — Utility Bar — A Lightning page used as the utility bar in Lightning Experience apps. This value is available in API version 38.0 and later.
RecordPreview — Record Preview — A Lightning page used to override standard lookup previews when hovering over previewable records in Lightning Experience. This value is available in API version 45.0 and later.
EmbeddedServicePage — Embedded Service Page
CommCheckoutPage — Communities Checkout Page — A Lightning page that is used to create a B2B Commerce checkout, as created in the Experience Builder. This value is available in API version 46.0 and later.
CommOrderConfirmationPage — Communities Order Confirmation Page
CommFlowPage — Communities Flow Page — An out-of-the-box flow page, as created in Experience Builder. This value is available in API version 45.0 and later.
EmailTemplatePage — Email Template Page — A page that contains the builder markup for your email template. When you edit an email template in the builder, the FlexiPage object remembers where you put the components. Because they include builder markup, you can’t retrieve or deploy FlexiPages when type is EmailTemplatePage or EmailContentPage.
ApplicationLayout — Application Layout
CommNoSearchResultsPage — Communities No Search Results Page — An Experience Builder site page for B2B searches that return no results. The URL for this page is no-results/:term. The page starts out empty. You can add any component to it that accepts parameters to achieve the desired “no results” experience. For example, you can place an HTML Editor component or CMS components for recommendations, banners, help, and support. This value is available in API version 48.0 and later.
CommContractDetailViewPage — Communities Contract Detail View Page — This value is available in API version 64.0 and later.
EmailContentPage — Email Content Page — A page that contains the builder markup for your email content. When you edit email content in the builder, the FlexiPage object remembers where you put the components. Because they include builder markup, you can’t retrieve or deploy FlexiPages when type is EmailContentPage.
ServiceDocument — Service Document
LandingPage — Landing Page
CdpRecordPage — CDP Record Page — A Lightning page that is used to override a CDPNearCoreObject record page in Lightning Experience. This value is available in API version 54.0 and later for orgs that have enabled.
SlackAppHome — Slack App Home
SlackMessage — Slack Message
SlackModal — Slack Modal
SlackNotification — Slack Notification
EasyHomePage — Easy Home Page
CardPage — Card Page
VoiceExtension — Voice Extension — A Lightning page used to customize user interfaces and agent actions in the Omni-Channel widget for Service Cloud Voice. This value is available in API version 57.0 and later.
ConfiguratorAppPage — Configurator App Page
OmniSupervisorPage — Omni Supervisor Page
MobileAppPage — Mobile App Page
CCShellPage — CC Shell Page
QuickAction — Quick Action Page — A Lightning page used to customize the fields and layout for a quick action. This value is available as a Beta in API version 68.0 and later.
CommOrderComfirmationPage — CommOrderComfirmationPage — A Lightning page that is used to create a B2B Commerce order confirmation page in checkout, as created in the Experience Builder. This value is available in API version 46.0 and later.
OmniSupervisorPageType— — OmniSupervisorPageType— — `A Lightning page used to customize the user interface on the Omni-Channel Supervisor page. This value is available in API version 60.0 and later.
Sample Code
This code sample creates a Lightning page with a single Recent Items component, that shows recently used Accounts and MyCustomObject__cs
1ComponentInstance recentItems = new ComponentInstance();2 recentItems.setComponentName("flexipage:recentItems");3 ComponentInstanceProperty cip = new ComponentInstanceProperty();4 cip.setName("entityNames");5 cip.setValue("Account,MyCustomObject__c");6 recentItems.setComponentInstanceProperties(new ComponentInstanceProperty[]{cip});78FlexiPageRegion mainRegion = new FlexiPageRegion();9mainRegion.setName("main");10mainRegion.setType(FlexiPageRegionType.Region)11mainRegion.setComponentInstances(new ComponentInstance[] { recentItems });1213FlexiPageMetadata fpMetadata = new FlexiPageMetadata();14fpMetadata.setFlexiPageRegions(new FlexiPageRegion[]{mainRegion});15fpMetadata.setMasterLabel("My FlexiPage");16fpMetadata.setDescription("A FlexiPage with a recent items component");17fpMetadata.setType(FlexiPageType.AppPage);1819FlexiPage flexiPage = new FlexiPage();20flexiPage.setFullName("MyFlexiPageDevName");21flexiPage.setMetadata(fpMetadata);2223// Create24SaveResult saveResult = soapConnection.create(new SObject[] { flexiPage });