Newer Version Available

This content describes an older version of this product. View Latest

FlexiPage

Represents the metadata associated with a Lightning page. A Lightning page represents a customizable screen made up of regions containing Lightning components.

A Lightning page region can contain up to 25 components.

Note

This type extends the Metadata metadata type and inherits its fullName field.

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

Lightning pages are used in several places.
  • In the Salesforce 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 as the home page for an app, to customize the layout of record pages and the Home page, and as the utility bar for a Lightning app.

For more information on Lightning pages, see the Salesforce Help.

File Suffix and Directory Location

FlexiPage components have the suffix .flexipage and are stored in the flexipages folder.

Version

FlexiPage components are available in API version 29.0 and later.

Fields

Field Name Field Type Description
description string The optional description text of the Lightning page.
flexiPageRegions FlexiPageRegion[] Required. The list of regions of a page.
masterLabel string Required. The label for the Lightning page, which displays in Setup.
pageTemplate string Deprecated. Use this field in API versions 33.0 to 38.0 only. In later versions, use template.

Required. The template associated with the Lightning page.

parentFlexiPage string The name of the Lightning page that this page inherits behavior from.

This field is available in API version 37.0 or later.

platformActionList PlatformActionList The list of all actions, and their order, that display on the Lightning page. In the Salesforce app, the actions appear in the action bar.

This field is available in API version 34.0 and later.

quickActionList QuickActionList The list of quick actions associated with the Lightning page.
sobjectType string The object the Lightning page is associated with. For Lightning pages of type AppPage or HomePage, this field is null.

After the value of this field is set, it can’t be changed.

This field is available in API version 37.0 or later.

template FlexiPageTemplateInstance Required. The template associated with the Lightning page.

This field is available in API version 39.0 and later.

type FlexiPageType (enumeration of type string) Required. The type of a page. In API versions 32.0 through 36.0, this field can only have a value of AppPage.
Valid values are:
  • AppPage—A Lightning page that is used as the home page for a custom app.
  • CommAppPage—A Lightning page that is used to represent a custom page, as created in the Community Builder, in Communities. This value is available in API version 37.0 and later.
  • CommForgotPasswordPage—A Lightning page that’s used to override a forgot-password page, as created in Community Builder, in Communities. This value is available in API version 39.0 and later.
  • CommLoginPage—A Lightning page that’s used to override the login page, as created in Community Builder, in Communities. This value is available in API version 39.0 and later.
  • CommObjectPage—A Lightning page used to override an object page, as created in Community Builder, in Communities. This value is available in API version 38.0 and later.
  • CommQuickActionCreatePage—A Lightning page used to override the create record page, as created in Community Builder, in Communities. This value is available in API version 38.0 and later.
  • CommRecordPage—A Lightning page used to override a record page, as created in the Community Builder, in Communities. This value is available in API version 38.0 and later.
  • CommRelatedListPage—A Lightning page used to override a related list page, as created in the Community Builder, in Communities. This value is available in API version 38.0 and later.
  • CommSearchResultPage—A Lightning page used to override the search result page, as created in Community Builder, in Communities. This value is available in API version 38.0 and later.
  • CommSelfRegisterPage—A Lightning page used to override the self-registration page, as created in Community Builder, in Communities. This value is available in API version 39.0 and later.
  • CommThemeLayoutPage—A Lightning page used to override a theme layout page, as created in the Community Builder, in Communities. This value is available in API version 38.0 and later.
  • HomePage—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.
  • MailAppAppPage—An email application pane used to override the default layout for Lightning for Outlook. This value is available in API version 38.0 and later.
  • RecordPage—A Lightning page used to override an object record page in Lightning Experience. This value is available in API version 37.0 and later.
  • UtilityBar—A Lightning page used as the utility bar in Lightning Experience apps. This value is available in API version 38.0 and later.

This field is available in API version 32.0 and later.

FlexiPageRegion

FlexiPage Region represents the properties of a region of a page. A region can contain a record list component or a recent items component that can be scoped to a set of entities.

Field Name Field Type Description
appendable RegionFlagStatus (enumeration of type string) This field is reserved for future use.
Valid values are:
  • disabled
  • enabled

This field is available in API version 35.0 or later.

componentInstances ComponentInstance[] Properties and name of the component instance.
mode FlexiPageRegionMode (enumeration of type string) This field is reserved for future use.
Valid values are:
  • Append
  • Prepend
  • Replace

This field is available in API version 35.0 or later.

name string Required. Unique name of the FlexiPage region.
prependable RegionFlagStatus (enumeration of type string) This field is reserved for future use.
Valid values are:
  • disabled
  • enabled

This field is available in API version 35.0 or later.

replaceable RegionFlagStatus (enumeration of type string) This field is reserved for future use.
Valid values are:
  • disabled
  • enabled

This field is available in API version 35.0 or later.

type FlexiPageRegionType (enumeration of type string) Required. The type of FlexiPage region.
Valid values are:
  • Facet
  • Region

This field is available in API version 35.0 or later.

ComponentInstance

Instance of a component in a page, such as a filter list.

Field Name Field Type Description
componentInstanceProperties ComponentInstanceProperty[] The value of a single property in a component instance. A component instance can have no properties.
componentName string Required. The name of a single instance of a component.
visibilityRule UiFormulaRule A set of one or more filters that define the conditions under which the component displays on the page.

If the rule evaluates to true, the component displays on the page. If false, it doesn't display. If this field is null, the component displays by default.

This field is available in API version 41.0 and later.

ComponentInstanceProperty

Value of a single property in a component instance.

Field Name Field Type Description
name string Name of the property, unique within the component instance. For Lightning components, this value is the <aura:attribute> as defined in the .cmp file.
type ComponentInstancePropertyTypeEnum (enumeration of type string) If this field value is null, then the ComponentInstanceProperty values apply to the Lightning component. If this field value is decorator, then the ComponentInstanceProperty values apply to the component decorator for the Lightning component.

The component decorator is a wrapper around a Lightning component. The decorator can apply more capabilities to the component when it renders on a specific page in Lightning Experience. For example, you can configure a component decorator around a component on the Lightning Experience utility bar to set the component’s height or width when opened. The UtilityBar is the only page type that supports component decorators.

Valid values are:
  • decorator

This field is available in API version 38.0 or later.

value string Reference or value of the property.

When defining a Related List component, to use a parent record set the parentFieldApiName value to object.field_name. If you don’t want to use a parent record, set the value to object.Id.

When you give a standard label to a tab in a Tabs component—such as Activity, Collaborate, or Details—and when the name field is set to title, the value field uses a system-defined value instead of the label. Here are some examples of the system-defined values:
  • Standard.Tab.activity
  • Standard.Tab.collaborate
  • Standard.Tab.detail
  • Standard.Tab.feed
  • Standard.Tab.preview
  • Standard.Tab.relatedLists
For example, let’s say you have a Lightning page that contains a tab with the standard label “Activity”. If you query the definition that page, you see the system-defined name of the tab, not the label, in value.
1<componentInstances>
2  <componentInstanceProperties>
3    <name>title</name>
4    <value>Standard.Tab.activity</value>
5  </componentInstanceProperties>
6    <componentName>flexipage:tab</componentName>
7</componentInstances>

FlexiPageTemplateInstance

FlexiPageTemplateInstance represents an instance of a Lightning page template.

Field Name Field Type Description
name string Required. The name of a single instance of a template.
properties ComponentInstanceProperty[] The value of a single property in a template instance.

Valid only for CommThemeLayoutPage. Contains a name and value pair for each theme layout property associated with the page template. In Community Builder, the theme layout and its properties appear in the Theme area.

PlatformActionList

PlatformActionList represents the list of actions, and their order, that display on the Lightning page. Available in API version 34.0 and later.

Field Name Field Type Description
actionListContext PlatformActionListContext (enumeration of type string) Required. The context of the action list. Valid values are:
  • Assistant
  • BannerPhoto
  • Chatter
  • Dockable
  • FeedElement
  • FlexiPage
  • Global
  • ListView
  • ListViewDefinition
  • ListViewRecord
  • Lookup
  • MruList
  • MruRow
  • ObjectHomeChart
  • Photo
  • Record
  • RecordEdit
  • RelatedList
  • RelatedListRecord
platformActionListItems PlatformActionListItem[] The actions in the PlatformActionList.
relatedSourceEntity string When the ActionListContext is RelatedList or RelatedListRecord, this field represents the API name of the related list to which the action belongs.

PlatformActionListItem

PlatformActionListItem represents an action in the PlatformActionList. Available in API version 34.0 and later.

Field Name Field Type Description
actionName string The API name for the action in the list.
actionType PlatformActionType (enumeration of type string) The type of action. Valid values are:
  • ActionLink—An indicator on a feed element that targets an API, a web page, or a file, represented by a button in the Salesforce Chatter feed UI.
  • CustomButton—When clicked, opens a URL or a Visualforce page in a window or executes JavaScript.
  • InvocableAction
  • ProductivityAction—Productivity actions are predefined by Salesforce and are attached to a limited set of objects. You can’t edit or delete productivity actions.
  • QuickAction—A global or object-specific action.
  • StandardButton—A predefined Salesforce button such as New, Edit, and Delete.
sortOrder int The placement of the action in the list.
subtype string The subtype of the action. For quick actions, the subtype is QuickActionType. For custom buttons, the subtype is WebLinkTypeEnum. For action links, subtypes are Api, ApiAsync, Download, and Ui. Standard buttons and productivity actions have no subtype.

UiFormulaRule

A set of one or more filters that define the conditions under which a component displays on a Lightning page. For example, you could construct a filter that causes a rich text component on an opportunity page to display only when the Amount is greater than $1,000,000. Available in API version 41.0 and later.

Field Name Field Type Description
booleanFilter string Specifies advanced filter conditions.
criteria UiFormulaCriterion[] List of one or more filters that, when evaluated, determine component visibility.

UiFormulaCriterion

A single filter that when evaluated, helps define component visibility on a Lightning page. Available in API version 41.0 and later.

Field Name Field Type Description
leftValue string Required. The field upon which the filter should be based. For example, AMOUNT.
operator string Required. Defines the operator used to filter the data. Valid values are:
  • contains
  • equals
  • notEqual
  • greaterThan
  • greaterOrEqual
  • lessOrEqual
  • lessThan
rightValue string The value by which you want to evaluate the component’s visibility. For example, 1000000.

Declarative Metadata Sample Definition

Here’s a sample XML FlexiPage component definition for a travel app that tracks the user’s trips, expense reports, and other relevant data:

1<?xml version="1.0" encoding="UTF-8"?>
2<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
3   <description>Page to view recent trips</description>
4   <flexiPageRegions>
5      <componentInstances>
6         <componentInstanceProperties>
7            <name>entityName</name>
8            <value>Trips__c</value>
9         </componentInstanceProperties>
10         <componentInstanceProperties>
11            <name>filterName</name>
12            <value>My_Trips</value>
13         </componentInstanceProperties>
14         <componentName>flexipage:filterListCard</componentName>
15      </componentInstances>
16      <componentInstances>
17         <componentInstanceProperties>
18            <name>entityName</name>
19            <value>Expense_Report__c</value>
20         </componentInstanceProperties>
21         <componentInstanceProperties>
22            <name>filterName</name>
23            <value>My_Reports</value>
24         </componentInstanceProperties>
25         <componentName>flexipage:filterListCard</componentName>
26      </componentInstances>
27      <componentInstances>
28         <componentInstanceProperties>
29            <name>entityNames</name>
30            <value>["User","Trips__c","Expense__c","Receipt__c"]</value>
31         </componentInstanceProperties>
32         <componentName>flexipage:recentItems</componentName>
33      </componentInstances>
34      <name>main</name>
35   </flexiPageRegions>
36   <masterLabel>My Travel, Inc.</masterLabel>
37   <quickActionList>
38      <quickActionListItems>
39         <quickActionName>customAction1</quickActionName>
40      </quickActionListItems>
41      <quickActionListItems>
42         <quickActionName>customAction2</quickActionName>
43      </quickActionListItems>
44   </quickActionList>
45   <type>AppPage</type>
46</FlexiPage>

And, here’s the sample package.xml file that references the FlexiPage component definition:

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <fullName>Travel, Inc.</fullName>
4    <types>
5        <members>TravelIncFlexiPage</members>
6        <name>CustomTab</name>
7    </types>
8    <types>
9        <members>TravelIncFlexiPage</members>
10        <name>FlexiPage</name>
11    </types>
12    <types>
13        <members>TravelIncQuickActions</members>
14        <name>QuickAction</name>
15    </types>
16    <version>29.0</version>
17</Package>