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 containing Lightning components.

Lightning Pages are used in several places.
  • In Salesforce1, 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, and to customize the layout of record pages and the Home page.
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

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 this FlexiPage, which displays in Setup.
pageTemplate string Required. The template associated with the FlexiPage.

This field is available in API version 33.0 or later.

parentFlexiPage string The name of the FlexiPage 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 Salesforce1, 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 FlexiPage 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.

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.
  • 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.
  • 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.

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.

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.
value string Reference or value of the property.
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>

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:
  • 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.

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>