Newer Version Available
CustomApplication
File Suffix and Directory Location
Custom and standard applications have the suffix .app and are stored in the applications folder.
Version
Custom applications are available in API version 10.0 and later. Standard applications are available in API version 30.0 and later.
Fields
| Field Name | Field Type | Description |
|---|---|---|
| actionOverrides | AppActionOverride[] | Represents an action override for an
application. Use it to create, update, edit, or delete action overrides. This field is available for Lightning Experience in API version 38.0 and later. |
| brand | AppBrand | The color scheme and logo used for the app. This field is available for Lightning Experience in API version 38.0 and later. |
| customApplicationComponents | CustomApplicationComponents | Represents custom console components (Visualforce pages) assigned to a Salesforce console app. |
| defaultLandingTab | string | The fullName of a standard tab or custom tab that opens when this application is selected. |
| description | string | The optional description text of the application. |
| detailPageRefreshMethod | string |
Determines how detail pages refresh in a Salesforce console app.
Required if isServiceCloudConsole is true. The valid values are:
This field is available in API version 25.0 and later. |
| domainWhitelist | DomainWhitelist | Any external domains that users can access from within a Salesforce console app. For example, www.yourdomain.com. This field is available in API version 25.0 and later. |
| enableCustomizeMyTabs | boolean |
Indicates if a Salesforce console app has
Customize My Tabs enabled. If enabled, users can hide, display, and organize items
in the navigation tab. This field is available in API version 34.0 and later. |
| enableKeyboardShortcuts | boolean |
Indicates if a Salesforce console app has
keyboard shortcuts enabled. Shortcuts let users perform actions by pressing a
combination of keys instead of having to use a mouse. After keyboard shortcuts are
enabled, several default shortcuts are available for customization. Before you can
create custom shortcuts, a developer must define the shortcut’s action with
the addEventListener() method in the Salesforce Console Integration Toolkit. You
can’t create keyboard shortcuts for actions performed outside of the
console. This field is required if isServiceCloudConsole is true.
This field is available in API version 28.0 and later. |
| enableListViewHover | boolean |
Indicates if a Salesforce console app has list
view hovers enabled. If set to true, summary
information is displayed about a record in a responsive list when the user hovers
over a record name. For cases, hover over the subject field. This field is available in API version 38.0 and later. |
| enableListViewReskin | boolean |
Indicates if Salesforce console apps use
responsive list views instead of Salesforce Classic lists
views. This field is available in API version 38.0 and later. |
| enableMultiMonitorComponents | boolean |
Indicates if a Salesforce console app has
multi-monitor components enabled, which lets users move portions of a console from
their browsers to locations on their screens. This field is required if isServiceCloudConsole is true.
This field is available in API version 30.0 and later. |
| enablePinTabs | boolean |
Indicates if a Salesforce console app has pinned
tabs enabled, which lets users pin primary tabs to the tab bar for quick
access. This field is available in API version 34.0 and later. |
| enableTabHover | boolean |
Indicates if a Salesforce console app has tab
hover enabled. If enabled, summary information is displayed about a record in an
overlay when the user hovers over a tab. This field is available in API version 36.0 and later. |
| enableTabLimits | boolean |
Indicates whether limits are enabled on the
number of primary tabs and subtabs that can be opened in a Salesforce console session. When
true, values for tabLimitConfig are
required This field is available in API version 36.0 and later. |
| string | Specify the color with a hexadecimal code, such as #0000FF for blue. | |
| formFactors | string |
Indicates the form factors for which the app is
visible for Lightning Experience. Valid values are:
This field is available in API version 38.0 and later. |
| headerColor | string | Determines the header color in a Salesforce console app. Specify the color with a hexadecimal code, such as #0000FF for blue. |
| isServiceCloudConsole | boolean | Indicates if the application is a Salesforce console app. For more information, see “Salesforce Console” in the Salesforce online help. |
| keyboardShortcuts | KeyboardShortcuts |
Represents the keyboard shortcuts for a Salesforce console app. Keyboard
shortcuts let users perform actions by pressing a combination of keys instead of
having to use a mouse. This field is available in API version 28.0 and later. |
| label | string | The name of the application. |
| listPlacement | ListPlacement | Represents how lists display in a Salesforce console app. Required if isServiceCloudConsole is true. |
| listRefreshMethod | string |
Determines how lists refresh in a Salesforce console app.
Required if isServiceCloudConsole is true. The valid values are:
This field is available in API version 25.0 and later. |
| liveAgentConfig | LiveAgentConfig | Represents the configurations for using Live Agent in the Salesforce Console. |
| logo | string | The optional reference to the image document for a Salesforce app or Salesforce console. |
| navType | string |
The value Standard is for Lightning Experience. A null value
means Salesforce Classic. This field is available in API version 38.0 and later. |
| primaryTabColor | string | Determines the primary tab color in a Salesforce console app. Specify the color with a hexadecimal code, such as #0000FF for blue. |
| profileActionOverrides | AppProfileActionOverride[] | A list of the Lightning Experience record page ProfileActionOverrides that are assigned to this custom app. When a user invokes the custom app, a matching ProfileActionOverride assignment takes precedence over existing overrides for the record page specified in ActionOverride. This lets you override a record page for the custom app by record type and profile. |
| pushNotifications | PushNotifications |
Represents push notifications for a Salesforce console app. Push
notifications are visual indicators on lists and detail pages that show when a
record or field has changed during a user’s session. For example, assume
that two support agents are working on the same case. If one agent changes
the Priority, a push notification displays to the
other agent so the agent notices the change and doesn’t duplicate the
effort. This field is available in API version 28.0 and later. |
| saveUserSessions | boolean |
Indicates if a Salesforce console app saves user
sessions automatically. If enabled, when console users close their browsers or log
out of Salesforce, any
previously open tabs display when users log in again. Required if isServiceCloudConsole is true.
This field is available in API version 28.0 and later. |
| tab | string | The list of tabs included in this application. In API version 12.0, the fullName for built-in tabs like Home, Account, and Reports, is the name of the tab (Home, for example). In API version 13.0 and later, built-in tabs are prefixed with standard-. For example, to reference the Account tab you would use standard-Account. |
| tabLimitConfig | TabLimitConfig |
Represents the maximum number of primary
tabs and subtabs allowed in one Salesforce console session.
Required if enableTabLimits is true. This field is available in API version 36.0 and later. |
| uiType | string | Not updateable. Identifies the type of custom
app. The value is:
This field is available in API version 38.0 and later. |
| utilityBar | string |
The developer name of the UtilityBar associated
with this app.
This field is available in API version 38.0 and later. |
| workspaceMappings | WorkspaceMappings | Represents how records open in a Salesforce console app. Required if isServiceCloudConsole is true. This field is available in API version 25.0 and later. |
AppActionOverride
Represents an action override for an application. Use it to create, update, edit, or delete action overrides. AppActionOverride inherits from ActionOverride and extends it by one field, pageOrSobjectType. Available for Lightning Experience in API version 38.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| actionName | string | The only valid value is view. |
| comment | string | Any comments you want associated with the override. |
| content | string | Set this field if type is set to flexipage. It refers to the name of the page to use as the override. To reference installed components, use the format of Component_namespace__Component_name. |
| formFactor | FormFactor (enumeration of type string) |
The size of the page
being overridden. Only the Large value is supported. The other values,
Small and Medium, are reserved for future
use. If the type field is set to flexipage, set this field to Large to override the View action with a Lightning page in Lightning Experience. The Large value represents the Lightning Experience desktop environment, and is only valid for the flexipage type. For other types, this field defaults to null. This field is available in API version 37.0 and later, and is part of the feature for creating and editing record pages in Lightning Experience. |
| pageOrSobjectType | string | The name of the sObject type being overridden. Valid values are standard and custom. |
| skipRecordTypeSelect | boolean | Set this field to true if you prefer that any new records created by this action override aren’t forwarded to the record type selection page. This field is only valid if the actionName is a “create” type (like new), and type is set to visualforce. |
| type | ActionOverrideType (enumeration of type string) | Required. Represents the type of action override. The valid values are Flexipage and Default. |
AppBrand
The color scheme and logo used for the app. Available for Lightning apps in API version 38.0 and later.
AppProfileActionOverride
Represents a ProfileActionOverride for a custom app. This type inherits from ProfileActionOverride and extends it by one field, profile. Available for Lightning Experience in API version 39.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| actionName | string | The name of the action. The only valid values are
Tab.and View. If pageOrSobjectType is record-home, this field must be View. The View action is supported only when ProfileActionOverride is being specified as part of a CustomApplication. |
| content | string | Read-only. Represents the name of the Lightning page being used as the override. |
| formFactor | FormFactor (enumeration of type string) | The size of the page being overridden. Only the Large value is supported. The other values, Small and Medium, are reserved for future use. The Large value represents the Lightning Experience desktop environment. |
| pageOrSobjectType | string | The name of the page being overridden. The only valid values are record-home and standard-home. |
| profile | string | The profile associated with the ProfileActionOverride. |
| recordType | string | The record type associated with the override. If pageOrSobjectType is standard-home, this field must be null. This field is required when actionName is set to View. |
| type | ActionOverrideType (enumeration of type string) | Read-only. The type of action override. The only valid value is flexipage. |
CustomApplicationComponents
Represents custom console components (Visualforce pages) assigned to a Salesforce console app. Available in API version 25.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| alignment | string | Determines how custom console components are aligned in the footer of a Salesforce console app. |
| customApplicationComponent | string | The name of a custom console component assigned to a Salesforce console app. |
CustomShortcut
Represents custom keyboard shortcuts assigned to a Salesforce console app. Before you can create custom shortcuts, a developer must define the shortcut’s action with the addEventListener() method in the Salesforce Console Integration Toolkit. You can’t create keyboard shortcuts for actions performed outside of the console. Available in API version 28.0 and later.
DefaultShortcut
Represents default keyboard shortcuts assigned to a Salesforce console app. Once you enable keyboard shortcuts for a console, several default shortcuts are available for customization. These include opening and closing tabs, moving between tabs, and saving records. Available in API version 28.0 and later.
DomainWhitelist
Represents any external domains that users can access from within a Salesforce console app. For example, www.yourdomain.com. Available in API version 25.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| domain | string | The external domains that users can access from within this Salesforce console app. |
KeyboardShortcuts
Represents keyboard shortcuts assigned to a Salesforce console app. Required if isServiceCloudConsole is true. Available in API version 28.0 and later.
ListPlacement
Represents how lists display in a Salesforce console app. Required if isServiceCloudConsole is true. Available in API version 25.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| height | int | Height of the list in pixels or percentage. Required if location is top. |
| location | string | Required. Location of the list on the screen. Valid values are:
|
| units | string | Required. Represents if height or width is in pixels or percentage. |
| width | int | Width of the list in pixels or percentage. Required if location is left. |
Represents your organization’s settings for using Live Agent in the Salesforce Console.
| Field Name | Field Type | Description |
|---|---|---|
| enableLiveChat | boolean | Specifies whether Live Agent is enabled in your organization (true) or not (false). |
| openNewAccountSubtab | boolean | Specifies whether to open a new Account subtab in the Salesforce Console automatically (true) or not (false) when an agent accepts a chat. |
| openNewCaseSubtab | boolean | Specifies whether to open a new Case subtab in the Salesforce Console automatically (true) or not (false) when an agent accepts a chat. |
| openNewContactSubtab | boolean | Specifies whether to open a new Contact subtab in the Salesforce Console automatically (true) or not (false) when an agent accepts a chat. |
| openNewLeadSubtab | boolean | Specifies whether to open a new Lead subtab in the Salesforce Console automatically (true) or not (false) when an agent accepts a chat. |
| openNewVFPageSubtab | boolean | Specifies whether to open a new Visualforce page as a subtab in the Salesforce Console automatically (true) or not (false) when an agent accepts a chat. |
| pagesToOpen | PagesToOpen | Specifies the Visualforce pages to open in subtabs when an agent accepts a chat in the Salesforce Console. |
| showKnowledgeArticles | boolean | Specifies whether to display the Knowledge component while using Live Agent in the Salesforce Console (true) or not (false). |
PagesToOpen
Represents the Visualforce pages you want to open in subtabs when an agent accepts a chat request in the Salesforce Console. Available in API version 28.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| pagesToOpen | string | The name of the Visualforce pages you want to open in subtabs when an agent accepts a chat in the Salesforce Console. |
PushNotifications
Represents a set of push notifications, which are visual indicators on lists and detail pages that show when a record or field has changed during a user’s session. Available for use if isServiceCloudConsole is true. Available in API version 28.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| pushNotification | PushNotification[] | The set of push notifications. |
PushNotification
Represents if visual indicators on lists and detail pages display in a Salesforce console app when a record or field has changed during a user’s session. Available for use if isServiceCloudConsole is true. Available in API version 28.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| fieldNames | string | Required. The name of the field, or fields, that trigger push notifications for the selected object. |
| objectName | string | Required. Name of the object that triggers push notifications. |
TabLimitConfig
Represents the maximum number of primary tabs and subtabs allowed in one Salesforce console session. Required if enableTabLimits is true. Available in API version 36.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| maxNumberOfPrimaryTabs | string | The maximum number of primary tabs allowed in one console session. Valid values are:
|
| maxNumberOfSubTabs | string | The maximum number of subtabs allowed in one console session. Valid values are:
|
WorkspaceMappings
Represents how records open in a Salesforce console app. Required if isServiceCloudConsole is true. Available in API version 25.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| mapping | WorkspaceMapping | Represents how records for a specific tab open in a Salesforce console app. Required for each tab specified in the CustomApplication. |
WorkspaceMapping
Represents how records for a specific tab open in a Salesforce console app. Required for each tab specified in the CustomApplication. Available in API version 25.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| fieldName | string | The name of the field that specifies the primary tab in which to display tab as a subtab. If not specified, tab opens as a primary tab. |
| tab | string | Required. Name of the tab. |
Retrieving Apps
To retrieve apps in your organization, use the CustomApplication type name in the package.xml manifest file. You can either retrieve all apps or specify which apps to retrieve in the types section of package.xml.
To retrieve all apps in your organization—custom and standard apps, specify the wildcard character (*), as follows.
1<types>
2 <members>*</members>
3 <name>CustomApplication</name>
4</types>To retrieve a custom app, specify the app name.
1<types>
2 <members>MyCustomApp</members>
3 <name>CustomApplication</name>
4</types>To retrieve a standard app, add the standard__ prefix to the app name. For example, to retrieve the Chatter standard app, specify standard__Chatter.
1<types>
2 <members>standard__Chatter</members>
3 <name>CustomApplication</name>
4</types>To retrieve an app that is part of an installed package, add the package namespace prefix followed by two underscores and the app name. For example, if the package namespace is myInstalledPackageNS and the app name is PackageApp, specify myInstalledPackageNS__PackageApp, as follows.
1<types>
2 <members>myInstalledPackageNS__PackageApp</members>
3 <name>CustomApplication</name>
4</types>Declarative Metadata Sample Definition
The following is the definition of a custom app:
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
3 <defaultLandingTab>Myriad_Publishing__c</defaultLandingTab>
4 <description>App to manage Myriad Publishing</description>
5 <label>Myriad</label>
6 <logo>MyriadFolder/Myriad_Logo.jpg</logo>
7 <tab>standard-Chatter</tab>
8 <tab>standard-File</tab>
9 <tab>Myriad_Publishing__c</tab>
10 <tab>standard-report</tab>
11 <tab>standard-Dashboard</tab>
12</CustomApplication>The following is a definition of a standard app (Chatter):
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
3 <defaultLandingTab>standard-home</defaultLandingTab>
4 <label>Collaboration</label>
5 <tab>standard-Chatter</tab>
6 <tab>standard-UserProfile</tab>
7 <tab>standard-OtherUserProfile</tab>
8 <tab>standard-CollaborationGroup</tab>
9 <tab>standard-File</tab>
10</CustomApplication>Declarative Metadata Sample Definition—Salesforce Console
The following is the definition of a custom app where isServiceCloudConsole is true:
1<?xml version="1.0" encoding="UTF-8"?>
2<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
3 <customApplicationComponents>
4 <alignment>left</alignment>
5 <customApplicationComponent>MyComponent</customApplicationComponent>
6 </customApplicationComponents>
7 <defaultLandingTab>standard-home</defaultLandingTab>
8 <detailPageRefreshMethod>autoRefresh</detailPageRefreshMethod>
9 <isServiceCloudConsole>true</isServiceCloudConsole>
10 <keyboardShortcuts>
11 <customShortcut>
12 <action>MyCustomShortcutAction</action>
13 <active>true</active>
14 <keyCommand>X</keyCommand>
15 <description>Custom Shortcut example</description>
16 <eventName>myCustomShortcutExample</eventName>
17 </customShortcut>
18 <defaultShortcut>
19 <action>FOCUS_CONSOLE</action>
20 <active>true</active>
21 <keyCommand>ESC</keyCommand>
22 </defaultShortcut>
23 <defaultShortcut>
24 <action>FOCUS_NAVIGATOR_TAB</action>
25 <active>true</active>
26 <keyCommand>V</keyCommand>
27 </defaultShortcut>
28 <defaultShortcut>
29 <action>FOCUS_DETAIL_VIEW</action>
30 <active>true</active>
31 <keyCommand>SHIFT+S</keyCommand>
32 </defaultShortcut>
33 <defaultShortcut>
34 <action>FOCUS_PRIMARY_TAB_PANEL</action>
35 <active>true</active>
36 <keyCommand>P</keyCommand>
37 </defaultShortcut>
38 <defaultShortcut>
39 <action>FOCUS_SUBTAB_PANEL</action>
40 <active>true</active>
41 <keyCommand>S</keyCommand>
42 </defaultShortcut>
43 <defaultShortcut>
44 <action>FOCUS_LIST_VIEW</action>
45 <active>true</active>
46 <keyCommand>N</keyCommand>
47 </defaultShortcut>
48 <defaultShortcut>
49 <action>FOCUS_FIRST_LIST_VIEW</action>
50 <active>true</active>
51 <keyCommand>SHIFT+F</keyCommand>
52 </defaultShortcut>
53 <defaultShortcut>
54 <action>FOCUS_SEARCH_INPUT</action>
55 <active>true</active>
56 <keyCommand>R</keyCommand>
57 </defaultShortcut>
58 <defaultShortcut>
59 <action>MOVE_LEFT</action>
60 <active>true</active>
61 <keyCommand>LEFT ARROW</keyCommand>
62 </defaultShortcut>
63 <defaultShortcut>
64 <action>MOVE_RIGHT</action>
65 <active>true</active>
66 <keyCommand>RIGHT ARROW</keyCommand>
67 </defaultShortcut>
68 <defaultShortcut>
69 <action>UP_ARROW</action>
70 <active>true</active>
71 <keyCommand>UP ARROW</keyCommand>
72 </defaultShortcut>
73 <defaultShortcut>
74 <action>DOWN_ARROW</action>
75 <active>true</active>
76 <keyCommand>DOWN ARROW</keyCommand>
77 </defaultShortcut>
78 <defaultShortcut>
79 <action>OPEN_TAB_SCROLLER_MENU</action>
80 <active>true</active>
81 <keyCommand>D</keyCommand>
82 </defaultShortcut>
83 <defaultShortcut>
84 <action>OPEN_TAB</action>
85 <active>true</active>
86 <keyCommand>T</keyCommand>
87 </defaultShortcut>
88 <defaultShortcut>
89 <action>CLOSE_TAB</action>
90 <active>true</active>
91 <keyCommand>C</keyCommand>
92 </defaultShortcut>
93 <defaultShortcut>
94 <action>ENTER</action>
95 <active>true</active>
96 <keyCommand>ENTER</keyCommand>
97 </defaultShortcut>
98 <defaultShortcut>
99 <action>EDIT</action>
100 <active>true</active>
101 <keyCommand>E</keyCommand>
102 </defaultShortcut>
103 <defaultShortcut>
104 <action>SAVE</action>
105 <active>true</active>
106 <keyCommand>CTRL+S</keyCommand>
107 </defaultShortcut>
108 </keyboardShortcuts>
109 <label>MyConsole</label>
110 <listPlacement>
111 <location>left</location>
112 <units>percent</units>
113 <width>20</width>
114 </listPlacement>
115 <listRefreshMethod>refreshList</listRefreshMethod>
116 <pushNotifications>
117 <pushNotification>
118 <fieldNames>CreatedBy</fieldNames>
119 <objectName>Campaign</objectName>
120 </pushNotification>
121 <pushNotification>
122 <fieldNames>CustomField1__c</fieldNames>
123 <objectName>CustomObject1__c</objectName>
124 </pushNotification>
125 </pushNotifications>
126 <saveUserSessions>false</saveUserSessions>
127 <tab>standard-Case</tab>
128 <tab>standard-Account</tab>
129 <tab>standard-Contact</tab>
130 <tab>standard-Contract</tab>
131 <workspaceMappings>
132 <mapping>
133 <tab>standard-Case</tab>
134 </mapping>
135 <mapping>
136 <fieldName>AccountId</fieldName>
137 <tab>standard-Contract</tab>
138 </mapping>
139 <mapping>
140 <tab>standard-Contract</tab>
141 </mapping>
142 <mapping>
143 <fieldName>ParentId</fieldName>
144 <tab>standard-Account</tab>
145 </mapping>
146 </workspaceMappings>
147</CustomApplication>