Newer Version Available
FlexiPage
- 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. |
| 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:
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:
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:
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:
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:
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:
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. 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. |
- Standard.Tab.activity
- Standard.Tab.collaborate
- Standard.Tab.detail
- Standard.Tab.feed
- Standard.Tab.preview
- Standard.Tab.relatedLists
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:
|
| 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:
|
| 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:
|
| 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>