Metadata API Developer Guide
Version 61.0, Summer 24
Last updated: August 16, 2024
©
Copyright 20002024 Salesforce, Inc. All rights reserved. Salesforce is a registered trademark of Salesforce, Inc., as are other
names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS
INTRODUCTION TO METADATA API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Chapter 1: Understanding Metadata API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Use Cases for Metadata API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Move Metadata from Production to Your Local File System . . . . . . . . . . . . . . . . . . . . . . . 3
Move Metadata Changes to and from a Scratch Org . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Move Metadata to a Sandbox at Integration Points . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Deploy Metadata to Production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Move Metadata for Production-Level Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Make Large Metadata Configuration Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Release Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Metadata API Developer Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Supported Salesforce Editions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Metadata API Edit Access . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Development Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Standards Compliance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Metadata API Support Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
API End-of-Life Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Related Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Chapter 2: Quick Start: Metadata API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Step 1: (Optional) Add Metadata Components to an Org Using the UI . . . . . . . . . . . . . . . . . . . 11
Step 2: Build a Package.xml Manifest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Step 3: Retrieve Components with Metadata API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Chapter 3: Build Client Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Step 1: Generate or Obtain the Web Service WSDLs for Your Organization . . . . . . . . . . . . . . . . 15
Step 2: Import the WSDL Files Into Your Development Platform . . . . . . . . . . . . . . . . . . . . . . . 15
Step 3: Walk Through the Java Sample Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
USING METADATA API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Chapter 4: Declarative (File-Based) Metadata API Calls . . . . . . . . . . . . . . . . . . . . . . . 25
Deploying and Retrieving Metadata with the Zip File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Slow Deployments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Does a Retrieve Job Have a Status of Pending? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Sample package.xml Manifest Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
Running Tests in a Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Running a Subset of Tests in a Deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Run the Same Tests in Sandbox and Production Deployments . . . . . . . . . . . . . . . . . . . . . . . 36
Maintaining User References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Chapter 5: CRUD-Based Metadata API Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Chapter 6: REST Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Deploy Metadata with Apex Testing Using REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Check the Status of Your Deployment Using REST Resources . . . . . . . . . . . . . . . . . . . . 49
Deploy a Recently Validated Component Set Without Tests . . . . . . . . . . . . . . . . . . . . . . 51
Cancel a Deployment in Progress Using REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Deploy Metadata with REST API in Salesforce CLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Chapter 7: Error Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Error Handling for Session Expiration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
REFERENCE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Chapter 8: File-Based Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
deploy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Deleting Components from an Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
checkDeployStatus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
cancelDeploy() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
deployRecentValidation() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
retrieve() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
RetrieveRequest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
checkRetrieveStatus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Chapter 9: CRUD-Based Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
createMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
readMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
updateMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
upsertMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
deleteMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
renameMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
create() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
delete() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
update() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Chapter 10: Utility Calls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
checkStatus() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
describeMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
describeValueType() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
listMetadata() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
ListMetadataQuery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Contents
Chapter 11: Result Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
AsyncResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
CancelDeployResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
DeployResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
DescribeMetadataResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
DescribeValueTypeResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
ReadResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
RetrieveResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
SaveResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
DeleteResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
UpsertResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
Chapter 12: Metadata Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Metadata Components and Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Metadata Coverage Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Unsupported Metadata Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Special Behavior in Metadata API Deployments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Data Cloud Metadata Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
ActivationPlatform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
ActivationPlatformField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163
ActvPfrmDataConnectorS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
ActvPlatformAdncIdentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
ActvPlatformFieldValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
DataConnectorIngestApi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
DataConnectorS3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
DataPackageKitDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
DataPackageKitObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
DataSourceBundleDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
DataSourceField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
DataSourceObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
DataSourceTenant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
DataSrcDataModelFieldMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
DataStreamDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
DataStreamTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
ExternalDataConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
ExternalDataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
ExternalDataTranObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
FieldSrcTrgtRelationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
InternalDataConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
MarketSegmentDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
MktCalcInsightObjectDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
MktDataTranObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Contents
ObjectSourceTargetMap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
StreamingAppDataConnector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
AccountRelationshipShareRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
AccountingFieldMapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
AccountingModelConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
ActionLinkGroupTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
ActionPlanTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
ActionableListDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
AdvAccountForecastSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
AffinityScoreDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
AIApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
AIApplicationConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
AIScoringModelDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
AIUsecaseDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
AnalyticSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
AnimationRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
ArticleType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
ArticleType Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
ChannelLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
ArticleType CustomField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
ApexClass . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
ApexComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
ApexEmailNotifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
ApexPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
ApexTestSuite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
ApexTrigger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
AppMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
AppointmentAssignmentPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
AppointmentSchedulingPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
ApprovalProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
AssignmentRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
AssessmentQuestion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
AssessmentQuestionSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
AuraDefinitionBundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
AuthProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
AutoResponseRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
BatchCalcJobDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
BatchProcessJobDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
BlacklistedConsumer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368
Bot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369
BotBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
BotTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
BotVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
Contents
BrandingSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
BriefcaseDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420
BusinessProcessGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
CallCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
CallCoachingMediaProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
CampaignInfluenceModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
CaseSubjectParticle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
CareBenefitVerifySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
CareLimitType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
CareSystemFieldMapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
CareProviderSearchConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
CareRequestConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
ChatterExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
ClaimFinancialSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
ClauseCatgConfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
CleanDataService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
CMSConnectSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Community (Zone) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
CommerceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
CommunityTemplateDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
CommunityThemeDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474
ConnectedApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
ContentAsset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
ContextDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
ConversationMessageDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
CorsWhitelistOrigin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
CspTrustedSite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
CustomApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
CustomApplicationComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
CustomFeedFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
CustomHelpMenuSection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
CustomIndex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
CustomLabels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Custom Metadata Types (CustomObject) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
CustomMetadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
CustomNotificationType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
CustomObject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
ActionOverride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
BusinessProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
CompactLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
CustomField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
FieldSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
HistoryRetentionPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Contents
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
ListView . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
NamedFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Picklist (Including Dependent Picklist) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
ProfileSearchLayouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
RecordType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
SearchLayouts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
SharingReason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
SharingRecalculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
ValidationRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
WebLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Metadata Field Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
CustomObjectTranslation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
CustomPageWebLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
CustomPermission . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
CustomSite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
CustomTab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
CustomValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
Dashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
DataCategoryGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
DataWeaveResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
DecisionTable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
DecisionTableDatasetLink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711
DecisionMatrixDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
DelegateGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
DigitalExperienceBundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
DigitalExperienceConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759
DisclosureDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761
DisclosureDefinitionVersion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763
DisclosureType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 767
DiscoveryAIModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769
DiscoveryGoal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774
DiscoveryStory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783
Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
DocumentCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 787
DocumentCategoryDocumentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789
DocumentChecklistSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 791
DocumentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792
DuplicateRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 793
EclairGeoData . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799
EmailServicesFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801
EmailTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805
EmbeddedServiceBranding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810
EmbeddedServiceConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811
Contents
EmbeddedServiceFieldService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818
EmbeddedServiceFlowConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
EmbeddedServiceLiveAgent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 820
EmbeddedServiceMenuSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 824
EnablementMeasureDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 828
EnablementProgramDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
EntitlementProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 846
EntitlementTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 850
EscalationRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 851
EventDelivery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 854
EventRelayConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856
EventSubscription . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859
ExperienceBundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860
ExperiencePropertyTypeBundle (Beta) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882
ExplainabilityMsgTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 886
ExpressionSetDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 889
ExpressionSetObjectAlias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913
ExternalClientApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
ExternalCredential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918
ExternalAIModel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 924
ExternalServiceRegistration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 926
ExtlClntAppConfigurablePolicies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928
ExtlClntAppGlobalOauthSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 930
ExtlClntAppOauthConfigurablePolicies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 936
ExtlClntAppOauthSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943
FeatureParameterBoolean . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947
FeatureParameterDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949
FeatureParameterInteger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 951
FieldRestrictionRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953
FlexiPage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955
Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976
FlowCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1054
FlowDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055
FlowTest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056
Folder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062
FolderShare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1064
ForecastingFilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067
ForecastingFilterCondition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1069
ForecastingSourceDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1071
ForecastingType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1074
ForecastingTypeSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1077
FuelType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1079
FuelTypeSustnUom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1081
FunctionReference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084
Contents
FundraisingConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1085
GatewayProviderPaymentMethodType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1088
GenAiFunction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1090
GenAiPlanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1092
GenAiPromptTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1094
GenAiPromptTemplateActv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1101
GlobalPicklist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103
GlobalPicklistValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1104
GlobalValueSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107
GlobalValueSetTranslation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1109
Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111
HomePageComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1112
HomePageLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1114
IdentityVerificationProcDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115
IdentityVerificationProcDtl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1123
IdentityVerificationProcFld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129
InboundCertificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1133
InboundNetworkConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134
IndustriesPricingSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1137
InstalledPackage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139
IntegrationProviderDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140
IPAddressRange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145
KeywordList . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147
Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149
Letterhead . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1170
LightningBolt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1173
LightningComponentBundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176
LightningExperienceTheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1180
LightningMessageChannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1181
LightningOnboardingConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1183
LiveChatAgentConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1185
LiveChatButton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189
LiveChatDeployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194
LiveChatSensitiveDataRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196
LoyaltyProgramSetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1198
ManagedContentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213
ManagedEventSubscription (Beta) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217
ManagedTopics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1220
MarketingAppExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223
MatchingRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229
MessagingChannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232
Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238
MetadataWithContent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239
MfgProgramTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1240
Contents
MilestoneType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243
MlDomain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1244
MLDataDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248
MLPredictionDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1252
MobileApplicationDetail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254
MobileSecurityAssignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1255
MobileSecurityPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1257
MobSecurityCertPinConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261
ModerationRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264
MutingPermissionSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1268
MyDomainDiscoverableLogin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270
NamedCredential . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1272
NavigationMenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1282
Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286
NetworkBranding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1309
NotificationTypeConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312
OauthCustomScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314
OauthTokenExchangeHandler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316
OcrSampleDocument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320
OcrTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1325
OmniExtTrackingDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1329
OmniScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1334
OmniSupervisorConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1343
OmniTrackingGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1349
OutboundNetworkConnection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1353
Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1356
ParticipantRole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1358
PathAssistant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1360
PaymentGatewayProvider . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362
PermissionSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1364
PermissionSetGroup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372
PermissionSetLicenseDefinition (Developer Preview) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1375
PersonAccountOwnerPowerUser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1377
PipelineInspMetricConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1378
PlatformCachePartition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1380
PlatformEventChannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382
PlatformEventChannelMember . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1385
PlatformEventSubscriberConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1389
Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1392
PortalDelegablePermissionSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395
PostTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1396
ProductAttributeSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1398
PresenceDeclineReason . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1398
PresenceUserConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1399
Contents
Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402
ProfileActionOverride . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1419
ProfilePasswordPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1421
ProfileSessionSetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1423
Prompt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1424
Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1432
QueueRoutingConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1436
QuickAction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1439
RedirectWhitelistUrl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444
RecommendationStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445
RecordActionDeployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1474
RecordAggregationDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1479
RecordAlertCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1486
RegisteredExternalService . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1487
ReferencedDashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1491
RelatedRecordAssocCriteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1492
RelationshipGraphDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1495
RemoteSiteSetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1499
Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1500
ReportType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1530
RestrictionRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1534
Role . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1536
RoleOrTerritory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1537
SalesWorkQueueSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1539
SamlSsoConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1541
SchedulingObjective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545
SchedulingRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1547
Scontrol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1550
SearchCustomization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1552
SearchOrgWideObjectConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1557
ServiceAISetupDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1560
ServiceAISetupField . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1561
ServiceChannel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1563
ServicePresenceStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1566
ServiceProcess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1567
Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1573
AccountSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1583
AccountInsightsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1585
AccountIntelligenceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1586
AccountingSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1588
ActionsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1589
ActivitiesSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1590
AddressSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1595
AIReplyRecommendationsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1599
Contents
AnalyticsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1600
ApexSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1609
AppAnalyticsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612
AppExperienceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1613
AssociationEngineSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1614
AutomatedContactsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1615
BotSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1617
BranchManagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1618
BusinessHoursSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1619
CampaignSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1623
CaseSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1625
ChatterAnswersSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1636
ChatterEmailsMDSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1638
ChatterSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1639
CodeBuilderSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1643
CollectionsDashboardSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1644
CommunitiesSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1645
CompanySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1647
ConnectedAppSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1649
ContentSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1650
ContractSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1653
ConversationalIntelligenceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1654
ConversationChannelDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1655
CurrencySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1660
CustomAddressFieldSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1662
DataDotComSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663
DataImportManagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1664
DeploymentSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665
DevHubSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1666
DocumentGenerationSetting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1668
DynamicFormsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1669
EACSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1671
EinsteinAgentSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1674
EmailAdministrationSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675
EmailIntegrationSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1679
EmailTemplateSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1682
EmployeeUserSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1683
EnhancedNotesSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1685
EncryptionKeySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1686
EntitlementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1687
EventSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1690
ExperienceBundleSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1692
ExternalClientAppSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1693
ExternalServicesSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1694
Contents
FieldServiceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1695
FilesConnectSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1702
FileUploadAndDownloadSecuritySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1703
FlowSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1708
ForecastingObjectListSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1713
ForecastingSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1719
HighVelocitySalesSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1731
IdeasSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1734
IdentityProviderSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1736
IframeWhiteListUrlSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1737
IncidentMgmtSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1738
IndustriesEinsteinFeatureSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1741
IndustriesLoyaltySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1742
IndustriesSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1744
InterestTaggingSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1756
InventorySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1757
InvLatePymntRiskCalcSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1758
InvocableActionSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1760
KnowledgeSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1761
LanguageSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1768
LeadConfigSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1769
LeadConvertSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771
LiveAgentSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1774
LightningExperienceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1775
LiveMessageSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1779
MacroSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781
MailMergeSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781
MapAndLocationSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1783
MeetingsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1784
MobileSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1785
MyDomainSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1789
MfgServiceConsoleSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1795
NameSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1796
NotificationsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1797
OauthOidcSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1798
ObjectHierarchyRelationship . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1800
ObjectLinkingSettings (Beta) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1805
OmniChannelSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1806
OmniInteractionAccessConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1808
OmniInteractionConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1809
OpportunityInsightsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1811
OpportunitySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1812
OpportunityScoreSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1816
OrderManagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1817
Contents
OrderSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1819
OrgPreferenceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1820
OrgSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1823
PartyDataModelSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1824
PardotSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1825
PardotEinsteinSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1827
PathAssistantSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1828
PaymentsSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1830
PicklistSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1831
PlatformEncryptionSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1832
PlatformEventSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1834
PredictionBuilderSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1835
PrivacySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1836
ProcessFlowMigration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1837
ProductSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1839
QuoteSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1841
RealTimeEventSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1842
RecordPageSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1843
RetailExecutionSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1845
SalesAgreementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846
SandboxSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1850
SchemaSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1851
SearchSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1853
SecuritySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1857
ServiceCloudVoiceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1873
ServiceSetupAssistantSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1874
SharingSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1875
SiteSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1879
SocialCustomerServiceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1880
SocialProfileSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1882
SourceTrackingSettings (Beta) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1883
SubscriptionManagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1884
SurveySettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1886
Territory2Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1887
TrailheadSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1891
TrialOrgSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1892
UserEngagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1893
UserInterfaceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1897
UserManagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1899
VoiceSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1903
WarrantyLifeCycleMgmtSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1905
WorkDotComSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1906
WorkforceEngagementSettings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1908
SharedTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1910
Contents
SharingBaseRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1913
SharingRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1914
BaseSharingRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1922
CriteriaBasedSharingRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1923
OwnerSharingRule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1929
SharingSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1935
SiteDotCom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1939
Skill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1940
StandardValueSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1942
StandardValueSetTranslation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1944
StaticResource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1945
SustainabilityUom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1946
SustnUomConversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1949
SvcCatalogCategory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1953
SvcCatalogFulfillmentFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1954
SvcCatalogItemDef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1959
SynonymDictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1967
Territory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1969
Territory2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1970
Territory2Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1975
Territory2Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1977
Territory2Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1980
TimelineObjectDefinition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1981
TimeSheetTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1984
TopicsForObjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1986
TransactionSecurityPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1988
Translations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1993
UIObjectRelationConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013
UserAccessPolicy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2018
UserAuthCertificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2024
UserCriteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2026
UserProfileSearchScope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027
UserProvisioningConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2027
VirtualVisitConfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2029
WaveApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2034
WaveComponent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2035
WaveDataflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2036
WaveDashboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2037
WaveDataset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2038
WaveLens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2039
WaveRecipe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2040
WaveTemplateBundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2042
WaveXmd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2043
WebStoreBundle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2051
Contents
WebStoreTemplate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2056
Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2060
WorkSkillRouting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2076
Chapter 13: Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2078
AllOrNoneHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2078
CallOptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2080
DebuggingHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2081
SessionHeader . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2083
APPENDICES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084
Appendix A: CustomObjectTranslation Language Support: Fully Supported
Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2084
Appendix B: CustomObjectTranslation Language Support: End-User
Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2089
Appendix C: StandardValueSet Names and Standard Picklist Fields . . 2096
INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2117
Contents
INTRODUCTION TO METADATA API
CHAPTER 1 Understanding Metadata API
Salesforce Metadata
Metadata is data that describes other data. To understand how Salesforce defines metadata, contrast business data with Salesforce
metadata. Business data includes the records that directly correspond to your companys business such as an address, account, or product.
Salesforce metadata describes the schema, process, presentation, authorization, and general configuration of your Salesforce org.
To contrast Salesforce metadata with business data, first examine how schema metadata describes the properties of business data. For
example, the Salesforce standard object Address has schema metadata and business data. Address fields such as Address Type,
City, and Postal Code, are all schema metadata. The corresponding values in each field, such as Mailing address, Chicago, IL,
and 60106, are all data. While personally identifiable information (PII) is usually found in business data, metadata can also include PII,
such as custom object names, report names, etc.
Metadata in Salesforce also defines how your org functions. For example, process metadata describes what happens when a user presses
the Save button. Presentation metadata concerns the layout of your org, and authorization metadata determines user access. Salesforce
metadata also describes your orgs general configuration. For example, you can configure Chatter to block emoticons in posts.
Metadata API works with metadata types and components. A metadata type defines the structure of application metadata. A metadata
component is an instance of a metadata type. The fields and values of a metadata type are all metadata. For example, the metadata type
CustomTab on page 671 represents a custom tab that displays content. The CustomTab field hasSidebar indicates if the tab is on
the sidebar panel, which is an example of metadata determining presentation. Metadata types like CustomTab build the metadata model
that describe how your org is structured, displayed, or functions. Use Metadata API to develop customizations and build tools that
manage the metadata model, not the data itself.
Metadata API Functionality
The main purpose of Metadata API is to move metadata between Salesforce orgs during the development process. Use Metadata API
to deploy, retrieve, create, update, or delete customization information, such as custom object definitions and page layouts. Metadata
API doesnt work directly with business data. To create, retrieve, update, or delete records such as accounts or leads, use SOAP API or
REST API.
You can move metadata with one of two ways. The first method is with Metadata API deploy() and retrieve() calls. Admins
often use the deploy() and retrieve() calls to move the full metadata model. These calls are best fit for the final stages of
development, such as deploying tested customizations to the production org.
1
The second method is source push and pull commands that move only changes in metadata. These commands use source tracking,
which makes them friendlier for developers and better for intermediary stages of development.
SEE ALSO:
Metadata Components and Types
Deploying and Retrieving Metadata
source Commands
Use Cases for Metadata API
Use Metadata API to move metadata between orgs during the development cycle. Metadata API is also used for deploying large metadata
configuration changes from development.
To understand how to use Metadata API, lets imagine youre a Salesforce developer at Zephyrus Relocation Services. Zephyrus is a
talent-mobility firm that helps companies develop processes for domestic and international employee relocation. Zephyrus is expanding
into Asia and South America and wants to add orientation services for both regions. Orientation services include in-country assistance
in housing and school searches, area tours, and transportation information.
Your development team must add these new orientation services to their existing org. Products such as in-country orientations are
objects that can be customized in Salesforce. When you add objects and customize your org, you change its metadata. The development
process of creating a custom product is where Metadata API can help.
Use Metadata API in the Development Process
Currently, Zephyrus has production metadata and orientation services tailored to other countries. To begin building the new product
customizations, you need the existing configurations from Zephyrus production Salesforce org in a separate repository. The configuration
of the production org is all metadata. To save production metadata in a repository, move the metadata from the Zephyrus production
org to your local file system.
Move Metadata from Production to Your Local File System on page 3
To make development changes without affecting your existing configurations, use Metadata API to move metadata to your local file
system. Next, push metadata from your local file system to a shareable repository for development.
With all the Zephyrus metadata retrieved, you can develop locally or in a scratch org. Scratch orgs are disposable Salesforce environments
with no data. Many developers use both tools together. Loading files and making changes are much faster locally than doing so in a
scratch org. Developers often build customizations on their local file system and run tests in a scratch org. Move changes between your
local file system and scratch org as you test and develop.
Move Metadata Changes to and from a Scratch Org on page 3
You can use a scratch org along with your local file system to develop and test changes to metadata. To move the changes you make
locally to and from the scratch org, use Metadata API.
The rest of the Zephyrus development team has their own customizations. After developing and testing on your own, its time for the
team to integrate changes and run tests in sandboxes. Sandboxes are development environments used for developing and testing
integrations.
Move Metadata to a Sandbox at Integration Points on page 4
During development, use Metadata API to move metadata to sandboxes for integrating changes, testing, and collaborating with your
team.
2
Use Cases for Metadata APIUnderstanding Metadata API
After your team builds the orientation service customization and completes testing, deploy these components to production with
Metadata API.
Deploy Metadata to Production on page 4
In the final step of the development cycle, move customizations from a source control system such as Git into production with Metadata
API.
Other Use Cases
You can use Metadata API for larger changes in Salesforce, such as splitting and merging production orgs.
For example, Zephyrus wants to split the company into two divisions, one that specializes in domestic relocation and another for
international relocation. In this case, you split Zephyrus Salesforce org and decide which metadata belongs in which org. Metadata API
can move metadata to the new org.
Then, lets say Zephyrus acquires Apollo Global Relocation and both companies use Salesforce. To consolidate information, you use
Metadata API to merge the Apollo org into the Zephyrus org.
Move Metadata for Production-Level Changes on page 5
Use Metadata API to move metadata during large changes, such as merging or splitting Salesforce orgs.
You can use Metadata API to make configuration changes during the development process that are too large for alternative API calls.
For example, Zephyrus supports many languages for their global clients. To translate different languages for your objects, you include
an object translation file for each language.
Make Large Metadata Configuration Changes on page 5
Metadata is better suited than other APIs for deploying large changes to your org.
Move Metadata from Production to Your Local File System
To make development changes without affecting your existing configurations, use Metadata API to move metadata to your local file
system. Next, push metadata from your local file system to a shareable repository for development.
When you build customizations on Salesforce, you must preserve the functionality of your existing org during the development cycle.
To build customizations without affecting your production org, save your production metadata in a version control system. Git integrates
best with SFDX tools.
First, move the required metadata from the production org to your local file system. To move metadata to your local machine, use a
retrieve call instead of a source pull. Next, push your files to a repository that is accessible to your team members with Git commands.
The repository is now the original source of production metadata for your teams development cycle.
Now that your production metadata is stored in a repository, move the necessary metadata back to your local file system to begin
development work.
SEE ALSO:
retrieve()
source Commands
Move Metadata Changes to and from a Scratch Org
Use a scratch org to develop and test changes to metadata. You can perform your development within or outside the scratch org using
Salesforce CLI or Salesforce Extensions for VS Code, which leverage the power of Metadata API.
3
Move Metadata from Production to Your Local File SystemUnderstanding Metadata API
Scratch orgs are created empty so that developers can specify the exact metadata and data to include from the source control system.
The lifespan of a scratch org is indicated during creation, 130 days. Theyre ephemeral to ensure the source of truth is always the source
control system, and not the org itself.
You can move metadata from the source control system or to the scratch org using Salesforce CLI. Because scratch orgs use source
tracking to identify changes, the CLI is the most efficient way to move metadata between your local repository and the scratch org.
Continue to iterate through this process of moving metadata between your local file system and your scratch org until development is
complete.
SEE ALSO:
Push Source to the Scratch Org
Pull Source from the Scratch Org to Your Project
Move Metadata to a Sandbox at Integration Points
During development, use Metadata API to move metadata to sandboxes for integrating changes, testing, and collaborating with your
team.
After developing on your own in a scratch org or your local file system, combine work from your team at integration points in a sandbox.
Sandboxes are development environments that you can use to integrate and test changes from multiple developers. Admins often
create and assign sandboxes. To create a sandbox on the Salesforce UI, navigate to Setup. Next, in the Quick Find box, search for sandboxes.
You have several levels of sandboxes to choose from with differing amounts of data. The Developer sandbox and Developer Pro sandbox
are development environments where you build customizations and test changes on fictional data. The Partial Copy sandbox and Full
sandbox are testing environments loaded with copies of production data. Move metadata to different sandboxes with a Metadata API
deploy command depending on your development and testing needs.
Outside of Metadata API, admins typically use change sets to send customizations from one sandbox to another. Unlike Metadata API
calls, you must build change sets manually. To add components to a continuous integration system more easily, you can automate
Metadata API calls on Salesforce CLI.
SEE ALSO:
Sandbox Types and Templates
Change Sets
Continuous Integration
Deploy Metadata to Production
In the final step of the development cycle, move customizations from a source control system such as Git into production with Metadata
API.
When your team finishes integration tests and is ready to deploy to production, move the completed customizations from a local
environment to the repository. For the release, move metadata from the repository to production by pulling the updated repository
back to the local environment with Git commands. Next, deploy metadata to production with Metadata API deploy call.
Moving metadata to production requires a deploy call instead of a push command because the deploy call deploys the entire metadata
model and not just changes in the metadata.
4
Move Metadata to a Sandbox at Integration PointsUnderstanding Metadata API
Deploy Recent Validation
A regular deploy call executes automated Apex tests that can take a long time to complete. To skip tests for validated components and
deploy components to production quickly, use the deploy recent validation option.
SEE ALSO:
deploy()
force:source:push Command
Deploy a Recently Validated Component Set Without Tests
Move Metadata for Production-Level Changes
Use Metadata API to move metadata during large changes, such as merging or splitting Salesforce orgs.
To split an org, first retrieve the metadata to be moved. Then, use a deploy call to push those configurations to the new org. Similarly,
to merge two orgs, retrieve existing metadata from one org. Next, use a deploy call to migrate metadata from one org to another.
SEE ALSO:
retrieve()
deploy()
Make Large Metadata Configuration Changes
Metadata API is better suited than other APIs for deploying large changes to your Salesforce org.
Metadata API deploy() and retrieve() calls are file-based and therefore asynchronous. With synchronous commands, large
configuration changes require unreasonably long load times. Instead, deploy and retrieve calls begin an asynchronous process that
notifies you when its complete. Because file-based calls are asynchronous, Metadata API can also handle a queue of deploy requests.
SEE ALSO:
deploy()
retrieve()
Metadata API Release Notes
Use the Salesforce Release Notes to learn about the most recent updates and changes to Metadata API.
For updates and changes that impact the Salesforce Platform, including Metadata API, see the API Release Notes.
For new, changed, and deprecated metadata types and other changes specific to Metadata API, see Metadata API in the Salesforce
Release Notes.
Metadata API Developer Tools
Use the Salesforce Extensions for Visual Studio Code on Salesforce CLI to access Metadata API commands. Salesforce CLI and the Salesforce
Extensions for Visual Studio Code streamline the process of using Metadata API.
5
Move Metadata for Production-Level ChangesUnderstanding Metadata API
The easiest way to access the functionality in Metadata API is to use the Salesforce Extensions for Visual Studio Code or Salesforce CLI.
Both tools are built on top of Metadata API and use the standard tools to simplify working with Metadata API.
The Salesforce Extensions for Visual Studio Code includes tools for developing on the Salesforce platform in the lightweight, extensible
VS Code editor. These tools provide features for working with development orgs (scratch orgs, sandboxes, and DE orgs), Apex, Aura
components, and Visualforce.
Salesforce CLI is ideal if you use scripting or the command line for moving metadata between a local directory and a Salesforce org.
For more information about the Salesforce Extensions for Visual Studio Code or Salesforce CLI, see Salesforce Tools and Toolkits.
If you prefer to build your own client applications, the underlying calls of Metadata API have been exposed for you to use directly. This
guide gives you more information about working directly with Metadata API.
You can use the Metadata API to manage setup and customization information (metadata) in Salesforce. For example:
Export customizations as XML metadata files. See Working with the Zip File and retrieve().
Migrate configuration changes between orgs. See deploy() and retrieve().
Modify existing customizations using XML metadata files. See deploy() and retrieve().
Manage customizations programmatically. See CRUD-Based Metadata Development.
You can modify metadata in test orgs in Developer Edition or sandboxes, and then deploy tested changes to production orgs in Enterprise,
Unlimited, or Performance Editions. You can also create scripts to populate a new org with your custom objects, custom fields, and other
components.
SEE ALSO:
Deploying and Retrieving Metadata
Supported Salesforce Editions
To use Metadata API, your organization must use Enterprise Edition, Unlimited Edition, Performance Edition, or Developer Edition.
If youre an existing Salesforce customer and want to upgrade to Enterprise, Unlimited, or Performance Edition, contact your account
representative.
We strongly recommend that you use a sandbox, which is an exact replica of your production organization. Enterprise, Unlimited, and
Performance Editions come with free developer sandboxes. For more information, see
http://www.salesforce.com/platform/cloud-infrastructure/sandbox.jsp.
Alternatively, you can use a Developer Edition (DE) org. A DE org provides access to all features that are available with Enterprise Edition,
but is limited by the number of users and the amount of storage space. A DE org isnt a copy of your production org/ It provides an
environment where you can build and test your solutions without affecting your organizations data. Developer Edition accounts are
available for free at https://developer.salesforce.com/signup.
Note: A metadata component must be visible in the org for Metadata API to act on it. Also, a user must have the API Enabled
permission to have access to metadata components.
Metadata API Access for Professional Edition
ISV partners can request Metadata API access to Professional Edition orgs for apps that have passed AppExchange Security Review.
Access is granted through an API token (client ID). This special key enables the app to make Metadata API calls to customers Professional
Edition orgs.
As an ISV partner, you can request Metadata API access by following these steps.
6
Supported Salesforce EditionsUnderstanding Metadata API
1. Submit your app for security review. See Steps in the Security Review in the ISVForce Guide.
2. After your app is approved, log a case in the Partner Community in AppExchange and Feature Requests > API Token Request,
and specify SOAP for the type of token.
To make calls to the Metadata API, append the API token to the CallOptions SOAP header in your calls.
Metadata API Edit Access
To use Metadata API, a user must have these things.
One of these editions: Enterprise, Unlimited, or Developer
Either the Modify Metadata Through Metadata API Functions OR Modify All Data permission
Permission that enables use of the feature supported by the metadata that they want to modify
Permission that enables their deployment tool, such as Salesforce CLI, change sets, or the Ant Migration Tool
With the Modify Metadata Through Metadata API Functions permission, a user can access and edit metadata via Metadata API as long
as the user has any additional permission needed to access certain metadata types. This additional permission information is listed in
the Metadata API Developer Guide for each metadata type. With the Modify All Data permission, a user can access and edit all data.
The Modify Metadata Through Metadata API Functions permission doesnt affect direct customization of metadata using Setup UI pages
because those pages dont use Metadata API for updates.
Some metadata, such as Apex, executes in system context, so be careful how you delegate the Modify Metadata Through Metadata API
Functions permission. The Modify Metadata Through Metadata API Functions permission allows deployment of Apex metadata, but it
doesnt allow certain Apex development and debugging features that still require the Modify All Data permission.
The Modify Metadata Through Metadata API Functions permission is enabled automatically when either the Deploy Change Sets OR
Author Apex permission is selected.
When the Manage Prompts user permission and the Modify Metadata Through Metadata API Functions permission are combined, users
can manage In-App Guidance in Lightning Experience.
Development Platforms
Metadata API supports both file-based and CRUD-based development.
File-Based Development
The declarative or file-based asynchronous Metadata API deploy() and retrieve() operations deploy or retrieve a .zip file
that holds components in a set of folders, and a manifest file named package.xml. For more information, see Deploying and Retrieving
Metadata on page 25. The easiest way to access the file-based functionality is to use the Salesforce Extensions for Visual Studio Code
or the Ant Migration Tool.
CRUD-Based Development
The CRUD Metadata API calls act upon the metadata components in a manner similar to the way synchronous API calls in the enterprise
WSDL act upon objects. For more information about the enterprise WSDL, see the SOAP API Developer Guide.
7
Metadata API Edit AccessUnderstanding Metadata API
Standards Compliance
Metadata API is implemented to comply with the following specifications:
WebsiteStandard Name
http://www.w3.org/TR/2000/NOTE-SOAP-20000508/Simple Object Access Protocol (SOAP) 1.1
http://www.w3.org/TR/2001/NOTE-wsdl-20010315Web Service Description Language (WSDL)
1.1
http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.htmlWS-I Basic Profile 1.1
Metadata API Support Policy
Salesforce supports previous versions of Metadata API. However, your new client applications should use the most recent version of the
Lightning Platform Metadata API WSDL file to fully exploit the benefits of richer features and greater efficiency.
Backward Compatibility
Salesforce strives to make backward compatibility easy when using the Lightning Platform.
Each new Salesforce release consists of two components:
A new release of platform software that resides on Salesforce systems
A new version of the API
For example, the Spring '07 release included API version 9.0 and the Summer '07 release included API version 10.0.
We maintain support for each API version across releases of the platform software. The API is backward compatible in that an application
created to work with a given API version will continue to work with that same API version in future platform software releases.
Salesforce does not guarantee that an application written against one API version will work with future API versions: Changes in method
signatures and data representations are often required as we continue to enhance the API. However, we strive to keep the API consistent
from version to version with minimal, if any, changes required to port applications to newer API versions.
For example, an application written using API version 9.0, which shipped with the Spring 07 release, will continue to work with API
version 9.0 on the Summer 07 release, and on future releases beyond that. However, that same application might not work with API
version 10.0 without modifications to the application.
API End-of-Life Policy
See which Metadata REST and SOAP API versions are supported, unsupported, or unavailable.
Salesforce is committed to supporting each API version for a minimum of 3 years from the date of first release. To improve the quality
and performance of the API, versions that are over 3 years old sometimes are no longer supported.
Salesforce notifies customers who use an API version scheduled for deprecation at least 1 year before support for the version ends.
Version Retirement InfoVersion Support StatusSalesforce API Versions
Supported.Versions 31.0 through 61.0
8
Standards ComplianceUnderstanding Metadata API
Version Retirement InfoVersion Support StatusSalesforce API Versions
Salesforce Platform API Versions 21.0 through 30.0
Retirement
As of Summer 22, these versions have been
deprecated and no longer supported by
Salesforce.
Starting Summer 25, these versions will be
retired and unavailable.
Versions 21.0 through 30.0
Salesforce Platform API Versions 7.0 through 20.0
Retirement
As of Summer 22, these versions are retired
and unavailable.
Versions 7.0 through 20.0
If you request any resource or use an operation from a retired API version, REST API returns the 410:GONE error code.
If you request any resource or use an operation from a retired API version, SOAP API returns 500:UNSUPPORTED_API_VERSION error
code.
To identify requests made from old or unsupported API versions, use the API Total Usage event type.
Related Resources
The Salesforce developer website provides a full suite of developer toolkits, sample code, sample SOAP messages, community-based
support, and other resources to help you with your development projects. Be sure to visit
https://developer.salesforce.com/page/Getting_Started for more information, or visit
https://developer.salesforce.com/signup to sign up for a free Developer Edition account.
You can visit these websites to find out more about Salesforce applications:
Salesforce Developers provides useful information for developers.
Salesforce for information about the Salesforce application.
Lightning Platform AppExchange for access to apps created for Salesforce.
Trailblazer Community for services to ensure Salesforce customer success.
9
Related ResourcesUnderstanding Metadata API
CHAPTER 2 Quick Start: Metadata API
Get started with Metadata API by retrieving a small set of metadata components from your org on the
Salesforce CLI.
In this chapter ...
Prerequisites
Resources for Beginner Developers
If youre a beginner developer and havent used Salesforce CLI before, learn how to set up your
environment and practice with a sample application. These Trailheads guide you through setup with
SFDX and introduce you to Metadata API.
Step 1: (Optional) Add
Metadata
Components to an
Org Using the UI
Step 2: Build a
Package.xml
Manifest
App Development with Salesforce DX
Step 3: Retrieve
Components with
Metadata API
Walk through setting up your environment and developing with Salesforce CLI using the Dreamhouse
sample app. After you add a feature to your Dreamhouse app, you deploy metadata to your Dev Hub
org with Salesforce CLI.
Package.xml Metadata Management
Learn more about metadata and package.xml files. Build a package.xml file to deploy changes from a
scratch org to your Trailhead Playground.
Quick Start for Developing with Metadata API
If you have some experience in Salesforce development but want to get started with Metadata API, use
this quick start. The quick start walks you through a retrieval of metadata components, which is the first
step of the development process.
SEE ALSO:
Move Metadata from Production to Your Local File System
10
Prerequisites
Complete these prerequisites before you start developing with Metadata API.
To access Metadata API through the command line, install Salesforce CLI.
To create a development environment, sign up for Salesforce Developer Edition. A Developer Edition org is a free development
environment for building and testing solutions independent of production data.
Install Salesforce Extensions for Visual Studio Code. These tools provide features for working with development orgs (scratch orgs,
sandboxes, and DE orgs), Apex, Aura components, and Visualforce.
Confirm that you have API Enabled permission and Modify Metadata Through Metadata API Functions permission or Modify All Data
permission. If you dont have these permissions set, modify your metadata permissions.
Enable Dev Hub in your org. Dev Hub allows you to create and manage scratch orgs so that you can develop without affecting your
production data or metadata.
To allow access to protected resources such as production data and metadata, authorize your org .
Step 1: (Optional) Add Metadata Components to an Org Using the UI
If youre starting with a new practice org that doesnt have customizations, you only have standard metadata that cant be retrieved. To
use the Metadata API retrieve call, add a component on the Salesforce UI to your practice org. If youre working on an existing project,
you already have components to retrieve and can skip this step.
1. From Setup, click Create.
2. Select Custom Object.
3. Enter an arbitrary name for Label and Plural Label.
4. Save the component.
Step 2: Build a Package.xml Manifest
The package.xml manifest file lists the components to retrieve from your org.
Package.xml Manifest Structure
The package.xml manifest uses Extensible Markup Language (XML) to identify and migrate metadata components. The basic framework
of the package.xml manifest is built with <types> elements. A <types> element specifies which metadata type you want to work
with. You can add multiple <types> to a package.xml file.
Inside the <types> element is the <name> element and the <members> element. The <members> element selects for individual
components of a specific type, and the <name> element selects for metadata component types. To work with a specific component,
input the fullName of the component in the <members> element.
For example, to retrieve Account components, add Account in the <members> element and CustomObject in the <name> element
in your package.xml. When you issue a retrieve call, you retrieve only the Account component from your org.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account</members>
11
PrerequisitesQuick Start: Metadata API
<name>CustomObject</name>
</types>
<version>61.0</version>
</Package>
Retrieve Custom Objects
To retrieve all components of a metadata type, you dont specify the fullName of a component. Instead, use the wildcard character
* (asterisk) in the <members> tag. Some components, such as standard objects, dont support * (asterisk) as a specifier.
To retrieve all custom objects from your org:
1. (Optional) If you do not have a project folder, use Salesforce CLI to create a new directory that organizes your project. Run this
command with your specified project name:
sf project generate --name YourProjectName
2. Create a file called package.xml in your project.
3. In your text editor, open the file and paste in this script:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CustomObject</name>
</types>
<version>61.0</version>
</Package>
Now you have a package.xml file that we can use to retrieve all custom objects. When you develop more on your own, you can retrieve
more components from your org with multiple <types> elements.
SEE ALSO:
Sample package.xml Manifest Files
Deploying and Retrieving Metadata with the Zip File
Step 3: Retrieve Components with Metadata API
With Salesforce CLI, retrieve a file representation of the specified components in your package.xml manifest.
Two Options for Metadata API Retrieve
You can use one of two commands to retrieve metadata components.
1. To retrieve the components specified in your package.xml manifest, issue a retrieve call using a Salesforce CLI command. On the
command line, run this call with the appropriate file path:
sf project retrieve start --manifest path/to/package.xml
Metadata retrieve() is an asynchronous, file-based command. You can issue multiple retrieve or deploy requests that run on
their own when resources are available.
12
Step 3: Retrieve Components with Metadata APIQuick Start: Metadata API
With this command, you send a request to retrieve all custom objects as specified in your package.xml manifest. Your requests are
queued until our systems are ready to process your retrieve call. After your request is dequeued, your retrieve call is run. The client
checks the status of the retrieve and notifies you when the call is complete. The call returns a file representation of the chosen
components. When you use Salesforce CLI to issue a retrieve call, all these processes are automated.
The project retrieve start command allows for source tracking. Source tracking includes information about which
revision youre working on and when the last changes were made, which makes source commands more developer-friendly. To use
source tracking, ensure that its enabled in your org.
2. Alternatively, run this command in your terminal:
sf project retrieve start --manifest path/to/package.xml --target-metadata-dir
path/to/retrieve/dir
This command retrieves components in mdapi format rather than source format, and doesnt allow for source tracking. In practice,
admins use mdapi commands more often because the commands dont include source tracking.
SEE ALSO:
retrieve()
source Commands
Source Tracking
mdapi Commands
13
Step 3: Retrieve Components with Metadata APIQuick Start: Metadata API
CHAPTER 3 Build Client Applications for Metadata API
Use Metadata API to retrieve, deploy, create, update, or delete customizations for your org. The most common use is to migrate changes
from a sandbox or testing org to your production environment. Metadata API is intended for managing customizations and for building
tools that can manage the metadata model, not the data itself.
Salesforce CLI automates the underlying calls of Metadata API. However, you can use these calls directly with your own client application.
This guide gives you all the information you require to start writing applications that directly use Metadata API to manage customizations
for your organization. It shows you how to get started with File-Based Development. For an example of CRUD-Based Development, see
Java Sample for CRUD-Based Development with Synchronous Calls.
Prerequisites
Make sure that you complete these prerequisites before you start using Metadata API.
Create a development environment.
We strongly recommend that you use a sandbox, which is an exact replica of your production organization. Enterprise, Unlimited,
and Performance Editions come with free developer sandboxes. For more information, see
http://www.salesforce.com/platform/cloud-infrastructure/sandbox.jsp.
Alternatively, you can use a Developer Edition (DE) org. A DE org provides access to all features that are available with Enterprise
Edition, but is limited by the number of users and the amount of storage space. A DE org isnt a copy of your production org/ It
provides an environment where you can build and test your solutions without affecting your organizations data. Developer Edition
accounts are available for free at https://developer.salesforce.com/signup.
Identify a user that has the API Enabled permission and the Modify Metadata Through Metadata API Functions permission or Modify
All Data permission. These permissions are required to access Metadata API calls.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Install a SOAP client. Metadata API works with current SOAP development environments, including, but not limited to, Visual Studio
®
.NET and the Web Service Connector (WSC).
In this document, we provide Java examples based on WSC and JDK 6 (Java Platform Standard Edition Development Kit 6). To run
the samples, first download the latest force-wsc JAR file and its dependencies from
mvnrepository.com/artifact/com.force.api/force-wsc/. Dependencies are listed on the page when you select a version.
Note: Development platforms vary in their SOAP implementations. Implementation differences in certain development
platforms can prevent access to some or all features in Metadata API.
14
Step 1: Generate or Obtain the Web Service WSDLs for Your
Organization
To access Metadata API calls, you need a Web Service Description Language (WSDL) file. The WSDL file defines the Web service that is
available to you. Your development platform uses this WSDL to generate stub code to access the Web service it defines. You can obtain
the WSDL file from your organizations Salesforce administrator, or if you have access to the WSDL download page in the Salesforce user
interface, you can generate it yourself. For more information about WSDL, see http://www.w3.org/TR/wsdl.
Before you can access Metadata API calls, you must authenticate to use the Web service using the login() call, which is defined in
the enterprise WSDL and the partner WSDL. Therefore, you must also obtain one of these WSDLs.
Any user with the Modify Metadata Through Metadata API Functions or Modify All Data permission can download the WSDL file to
integrate and extend the Salesforce platform.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
The sample code in Step 3: Walk Through the Java Sample Code on page 16 uses the enterprise WSDL, though the partner WSDL works
equally well.
To generate the metadata and enterprise WSDL files for your organization:
1. Log in to your Salesforce account. You must log in as an administrator or as a user who has the Modify All Data permission.
2. From Setup, enter API in the Quick Find box, then select API.
3. Click Generate Metadata WSDL, and save the XML WSDL file to your file system.
4. Click Generate Enterprise WSDL, and save the XML WSDL file to your file system.
Step 2: Import the WSDL Files Into Your Development Platform
Once you have the WSDL files, import them into your development platform so that your development environment can generate the
necessary objects for use in building client Web service applications. This section provides sample instructions for WSC. For instructions
about other development platforms, see your platforms product documentation.
Note: The process for importing WSDL files is identical for the metadata and enterprise WSDL files.
Instructions for Java Environments (WSC)
Java environments access the API through Java objects that serve as proxies for their server-side counterparts. Before using the API, you
must first generate these objects from your organization's WSDL file.
Each SOAP client has its own tool for this process. For WSC, use the wsdlc utility.
Note: Before you run wsdlc, you must have the WSC JAR file installed on your system and referenced in your classpath. You
can download the latest force-wsc JAR file and its dependencies (dependencies are listed on the page when you select a version)
from mvnrepository.com/artifact/com.force.api/force-wsc/.
The basic syntax for wsdlc is:
java -classpath pathToWsc;pathToWscDependencies com.sforce.ws.tools.wsdlc
pathToWsdl/WsdlFilename pathToOutputJar/OutputJarFilename
15
Step 1: Generate or Obtain the Web Service WSDLs for Your
Organization
Build Client Applications for Metadata API
For example, on Windows:
java –classpath force-wsc-30.0.0.jar;ST4-4.0.7.jar;antlr-runtime-3.5.jar
com.sforce.ws.tools.wsdlc metadata.wsdl metadata.jar
On Mac OS X and Unix, use a colon instead of a semicolon in between items in the classpath:
java –classpath force-wsc-30.0.0.jar:ST4-4.0.7.jar:antlr-runtime-3.5.jar
com.sforce.ws.tools.wsdlc metadata.wsdl metadata.jar
wsdlc generates a JAR file and Java source code and bytecode files for use in creating client applications. Repeat this process for the
enterprise WSDL to create an enterprise.JAR file.
Step 3: Walk Through the Java Sample Code
When you have imported the WSDL files, you can build client applications that use Metadata API. The sample is a good starting point
for writing your own code.
Before you run the sample, modify your project and the code to:
1. Include the WSC JAR, its dependencies, and the JAR files you generated from the WSDLs.
Note: Although WSC has other dependencies, the following sample only requires Rhino (js-1.7R2.jar), which you can
download from mvnrepository.com/artifact/rhino/js.
2. Update USERNAME and PASSWORD variables in the MetadataLoginUtil.login() method with your user name and
password. If your current IP address isnt in your organization's trusted IP range, you'll need to append a security token to the password.
3. If you are using a sandbox, be sure to change the login URL.
Login Utility
Java users can use ConnectorConfig to connect to Enterprise, Partner, and Metadata SOAP API. MetadataLoginUtil creates
a ConnectorConfig object and logs in using the Enterprise WSDL login method. Then it retrieves sessionId and
metadataServerUrl to create a ConnectorConfig and connects to Metadata API endpoint. ConnectorConfig is
defined in WSC.
The MetadataLoginUtil class abstracts the login code from the other parts of the sample, allowing portions of this code to be
reused without change across different Salesforce APIs.
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.soap.enterprise.LoginResult;
import com.sforce.soap.metadata.MetadataConnection;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
/**
* Login utility.
*/
public class MetadataLoginUtil {
public static MetadataConnection login() throws ConnectionException {
final String USERNAME = "[email protected]";
// This is only a sample. Hard coding passwords in source files is a bad practice.
16
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
final String PASSWORD = "password";
final String URL = "https://login.salesforce.com/services/Soap/c/61.0";
final LoginResult loginResult = loginToSalesforce(USERNAME, PASSWORD, URL);
return createMetadataConnection(loginResult);
}
private static MetadataConnection createMetadataConnection(
final LoginResult loginResult) throws ConnectionException {
final ConnectorConfig config = new ConnectorConfig();
config.setServiceEndpoint(loginResult.getMetadataServerUrl());
config.setSessionId(loginResult.getSessionId());
return new MetadataConnection(config);
}
private static LoginResult loginToSalesforce(
final String username,
final String password,
final String loginUrl) throws ConnectionException {
final ConnectorConfig config = new ConnectorConfig();
config.setAuthEndpoint(loginUrl);
config.setServiceEndpoint(loginUrl);
config.setManualLogin(true);
return (new EnterpriseConnection(config)).login(username, password);
}
}
Note: This example uses user and password authentication to obtain a session ID, which is then used for making calls to Metadata
API. Alternatively, you can use OAuth authentication. After you athenticate with OAuth to Salesforce, pass the returned access
token instead of the session ID. For example, pass the access token to the setSessionId() call on ConnectorConfig.
To learn how to use OAuth authentication in Salesforce, see Authenticating Apps with OAuth in the Salesforce Help.
Java Sample Code for File-Based Development
The sample code logs in using the login utility. Then it displays a menu with retrieve, deploy, and exit.
The retrieve() and deploy() calls both operate on a .zip file named components.zip. The retrieve() call retrieves
components from your organization into components.zip, and the deploy() call deploys the components in
components.zip to your organization. If you save the sample to your computer and execute it, run the retrieve option first so that
you have a components.zip file that you can subsequently deploy. After a retrieve call, the sample calls
checkRetrieveStatus() in a loop until the operation is completed. Similarly, after a deploy call, the sample checks
checkDeployStatus() in a loop until the operation is completed.
The retrieve() call uses a manifest file to determine the components to retrieve from your organization. A sample package.xml
manifest file follows. For more details on the manifest file structure, see Deploying and Retrieving Metadata with the Zip File. For this
sample, the manifest file retrieves all custom objects, custom tabs, and page layouts.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CustomObject</name>
</types>
<types>
<members>*</members>
17
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
<name>CustomTab</name>
</types>
<types>
<members>*</members>
<name>Layout</name>
</types>
<version>61.0</version>
</Package>
Note the error handling code that follows each API call.
Note: This sample requires API version 34.0 or later.
import java.io.*;
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
import java.nio.channels.ReadableByteChannel;
import java.rmi.RemoteException;
import java.util.*;
import javax.xml.parsers.*;
import org.w3c.dom.*;
import org.xml.sax.SAXException;
import com.sforce.soap.metadata.*;
/**
* Sample that logs in and shows a menu of retrieve and deploy metadata options.
*/
public class FileBasedDeployAndRetrieve {
private MetadataConnection metadataConnection;
private static final String ZIP_FILE = "components.zip";
// manifest file that controls which components get retrieved
private static final String MANIFEST_FILE = "package.xml";
private static final double API_VERSION = 29.0;
// one second in milliseconds
private static final long ONE_SECOND = 1000;
// maximum number of attempts to deploy the zip file
private static final int MAX_NUM_POLL_REQUESTS = 50;
private BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws Exception {
FileBasedDeployAndRetrieve sample = new FileBasedDeployAndRetrieve();
sample.run();
}
18
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
public FileBasedDeployAndRetrieve() {
}
private void run() throws Exception {
this.metadataConnection = MetadataLoginUtil.login();
// Show the options to retrieve or deploy until user exits
String choice = getUsersChoice();
while (choice != null && !choice.equals("99")) {
if (choice.equals("1")) {
retrieveZip();
} else if (choice.equals("2")) {
deployZip();
} else {
break;
}
// show the options again
choice = getUsersChoice();
}
}
/*
* Utility method to present options to retrieve or deploy.
*/
private String getUsersChoice() throws IOException {
System.out.println(" 1: Retrieve");
System.out.println(" 2: Deploy");
System.out.println("99: Exit");
System.out.println();
System.out.print("Enter 1 to retrieve, 2 to deploy, or 99 to exit: ");
// wait for the user input.
String choice = reader.readLine();
return choice != null ? choice.trim() : "";
}
private void deployZip() throws Exception {
byte zipBytes[] = readZipFile();
DeployOptions deployOptions = new DeployOptions();
deployOptions.setPerformRetrieve(false);
deployOptions.setRollbackOnError(true);
AsyncResult asyncResult = metadataConnection.deploy(zipBytes, deployOptions);
DeployResult result = waitForDeployCompletion(asyncResult.getId());
if (!result.isSuccess()) {
printErrors(result, "Final list of failures:\n");
throw new Exception("The files were not successfully deployed");
}
System.out.println("The file " + ZIP_FILE + " was successfully deployed\n");
}
/*
* Read the zip file contents into a byte array.
*/
private byte[] readZipFile() throws Exception {
byte[] result = null;
19
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
// We assume here that you have a deploy.zip file.
// See the retrieve sample for how to retrieve a zip file.
File zipFile = new File(ZIP_FILE);
if (!zipFile.exists() || !zipFile.isFile()) {
throw new Exception("Cannot find the zip file for deploy() on path:"
+ zipFile.getAbsolutePath());
}
FileInputStream fileInputStream = new FileInputStream(zipFile);
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buffer = new byte[4096];
int bytesRead = 0;
while (-1 != (bytesRead = fileInputStream.read(buffer))) {
bos.write(buffer, 0, bytesRead);
}
result = bos.toByteArray();
} finally {
fileInputStream.close();
}
return result;
}
/*
* Print out any errors, if any, related to the deploy.
* @param result - DeployResult
*/
private void printErrors(DeployResult result, String messageHeader) {
DeployDetails details = result.getDetails();
StringBuilder stringBuilder = new StringBuilder();
if (details != null) {
DeployMessage[] componentFailures = details.getComponentFailures();
for (DeployMessage failure : componentFailures) {
String loc = "(" + failure.getLineNumber() + ", " +
failure.getColumnNumber();
if (loc.length() == 0 &&
!failure.getFileName().equals(failure.getFullName()))
{
loc = "(" + failure.getFullName() + ")";
}
stringBuilder.append(failure.getFileName() + loc + ":"
+ failure.getProblem()).append('\n');
}
RunTestsResult rtr = details.getRunTestResult();
if (rtr.getFailures() != null) {
for (RunTestFailure failure : rtr.getFailures()) {
String n = (failure.getNamespace() == null ? "" :
(failure.getNamespace() + ".")) + failure.getName();
stringBuilder.append("Test failure, method: " + n + "." +
failure.getMethodName() + " -- " + failure.getMessage() +
" stack " + failure.getStackTrace() + "\n\n");
}
}
20
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
if (rtr.getCodeCoverageWarnings() != null) {
for (CodeCoverageWarning ccw : rtr.getCodeCoverageWarnings()) {
stringBuilder.append("Code coverage issue");
if (ccw.getName() != null) {
String n = (ccw.getNamespace() == null ? "" :
(ccw.getNamespace() + ".")) + ccw.getName();
stringBuilder.append(", class: " + n);
}
stringBuilder.append(" -- " + ccw.getMessage() + "\n");
}
}
}
if (stringBuilder.length() > 0) {
stringBuilder.insert(0, messageHeader);
System.out.println(stringBuilder.toString());
}
}
private void retrieveZip() throws Exception {
RetrieveRequest retrieveRequest = new RetrieveRequest();
// The version in package.xml overrides the version in RetrieveRequest
retrieveRequest.setApiVersion(API_VERSION);
setUnpackaged(retrieveRequest);
AsyncResult asyncResult = metadataConnection.retrieve(retrieveRequest);
RetrieveResult result = waitForRetrieveCompletion(asyncResult);
if (result.getStatus() == RetrieveStatus.Failed) {
throw new Exception(result.getErrorStatusCode() + " msg: " +
result.getErrorMessage());
} else if (result.getStatus() == RetrieveStatus.Succeeded) {
// Print out any warning messages
StringBuilder stringBuilder = new StringBuilder();
if (result.getMessages() != null) {
for (RetrieveMessage rm : result.getMessages()) {
stringBuilder.append(rm.getFileName() + " - " + rm.getProblem() + "\n");
}
}
if (stringBuilder.length() > 0) {
System.out.println("Retrieve warnings:\n" + stringBuilder);
}
System.out.println("Writing results to zip file");
File resultsFile = new File(ZIP_FILE);
FileOutputStream os = new FileOutputStream(resultsFile);
try {
os.write(result.getZipFile());
} finally {
os.close();
}
}
21
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
}
private DeployResult waitForDeployCompletion(String asyncResultId) throws Exception {
int poll = 0;
long waitTimeMilliSecs = ONE_SECOND;
DeployResult deployResult;
boolean fetchDetails;
do {
Thread.sleep(waitTimeMilliSecs);
// double the wait time for the next iteration
waitTimeMilliSecs *= 2;
if (poll++ > MAX_NUM_POLL_REQUESTS) {
throw new Exception(
"Request timed out. If this is a large set of metadata components, "
+
"ensure that MAX_NUM_POLL_REQUESTS is sufficient.");
}
// Fetch in-progress details once for every 3 polls
fetchDetails = (poll % 3 == 0);
deployResult = metadataConnection.checkDeployStatus(asyncResultId, fetchDetails);
System.out.println("Status is: " + deployResult.getStatus());
if (!deployResult.isDone() && fetchDetails) {
printErrors(deployResult, "Failures for deployment in progress:\n");
}
}
while (!deployResult.isDone());
if (!deployResult.isSuccess() && deployResult.getErrorStatusCode() != null) {
throw new Exception(deployResult.getErrorStatusCode() + " msg: " +
deployResult.getErrorMessage());
}
if (!fetchDetails) {
// Get the final result with details if we didn't do it in the last attempt.
deployResult = metadataConnection.checkDeployStatus(asyncResultId, true);
}
return deployResult;
}
private RetrieveResult waitForRetrieveCompletion(AsyncResult asyncResult) throws
Exception {
// Wait for the retrieve to complete
int poll = 0;
long waitTimeMilliSecs = ONE_SECOND;
String asyncResultId = asyncResult.getId();
RetrieveResult result = null;
do {
Thread.sleep(waitTimeMilliSecs);
// Double the wait time for the next iteration
22
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
waitTimeMilliSecs *= 2;
if (poll++ > MAX_NUM_POLL_REQUESTS) {
throw new Exception("Request timed out. If this is a large set " +
"of metadata components, check that the time allowed " +
"by MAX_NUM_POLL_REQUESTS is sufficient.");
}
result = metadataConnection.checkRetrieveStatus(
asyncResultId, true);
System.out.println("Retrieve Status: " + result.getStatus());
} while (!result.isDone());
return result;
}
private void setUnpackaged(RetrieveRequest request) throws Exception {
// Edit the path, if necessary, if your package.xml file is located elsewhere
File unpackedManifest = new File(MANIFEST_FILE);
System.out.println("Manifest file: " + unpackedManifest.getAbsolutePath());
if (!unpackedManifest.exists() || !unpackedManifest.isFile()) {
throw new Exception("Should provide a valid retrieve manifest " +
"for unpackaged content. Looking for " +
unpackedManifest.getAbsolutePath());
}
// Note that we use the fully quualified class name because
// of a collision with the java.lang.Package class
com.sforce.soap.metadata.Package p = parsePackageManifest(unpackedManifest);
request.setUnpackaged(p);
}
private com.sforce.soap.metadata.Package parsePackageManifest(File file)
throws ParserConfigurationException, IOException, SAXException {
com.sforce.soap.metadata.Package packageManifest = null;
List<PackageTypeMembers> listPackageTypes = new ArrayList<PackageTypeMembers>();
DocumentBuilder db =
DocumentBuilderFactory.newInstance().newDocumentBuilder();
InputStream inputStream = new FileInputStream(file);
Element d = db.parse(inputStream).getDocumentElement();
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling()) {
if (c instanceof Element) {
Element ce = (Element) c;
NodeList nodeList = ce.getElementsByTagName("name");
if (nodeList.getLength() == 0) {
continue;
}
String name = nodeList.item(0).getTextContent();
NodeList m = ce.getElementsByTagName("members");
List<String> members = new ArrayList<String>();
for (int i = 0; i < m.getLength(); i++) {
Node mm = m.item(i);
members.add(mm.getTextContent());
}
PackageTypeMembers packageTypes = new PackageTypeMembers();
23
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
packageTypes.setName(name);
packageTypes.setMembers(members.toArray(new String[members.size()]));
listPackageTypes.add(packageTypes);
}
}
packageManifest = new com.sforce.soap.metadata.Package();
PackageTypeMembers[] packageTypesArray =
new PackageTypeMembers[listPackageTypes.size()];
packageManifest.setTypes(listPackageTypes.toArray(packageTypesArray));
packageManifest.setVersion(API_VERSION + "");
return packageManifest;
}
}
24
Step 3: Walk Through the Java Sample CodeBuild Client Applications for Metadata API
USING METADATA API
CHAPTER 4 Deploying and Retrieving Metadata
Use the deploy() and retrieve() calls to move metadata (XML files) between a Salesforce organization and a local file system. After you
retrieve your XML files into a file system, you can manage changes in a source-code control system, copy and paste code or setup
configurations, diff changes to components, and perform many other file-based development operations. At any time you can deploy
those changes to another Salesforce organization.
Note: The Ant Migration Tool uses the deploy() and retrieve() calls to move metadata. If you use these tools, interaction with
Metadata API is seamless and invisible. Therefore, most developers find it much easier to use these tools than write code that calls
deploy() and retrieve() directly.
Data in XML files is formatted using the English (United States) locale. This formatting ensures that fields that depend on locale, such as
date fields, are interpreted consistently during data migrations between organizations using different languages. Organizations can
support multiple languages for presentation to their users.
The deploy() and retrieve() calls are used primarily for the following development scenarios:
Development of a custom application (or customization) in a sandbox organization. After development and testing are completed,
the application or customization is then deployed into a production organization using Metadata API.
Team development of an application in a Developer Edition organization. After development and testing are completed, you can
then distribute the application via Lightning Platform AppExchange.
You receive an API notification each time you retrieve 90% or more of the maximum number of custom fields that you can deploy at
once with Metadata API. The maximum number of custom fields for one deployment is 45,000. The custom fields retrieved in one
package.xml file are: 1) the sum of the fields on each object in the CustomObjects section of package.xml and 2) the sum of the custom
fields in the CustomFields section of package.xml.
You can still retrieve above the deployable maximum up to the limit on total size of retrieved files. But you must use more than one
deployment to deploy all of the custom fields.
Example: Warning: Youve retrieved 47,000 instances of CustomField. You cant redeploy all these instances at the same time;
the maximum is 45,000.
SEE ALSO:
Metadata Components and Types
Unsupported Metadata Types
Deploying and Retrieving Metadata with the Zip File
The deploy() and retrieve() calls are used to deploy and retrieve a .zip file. Within the .zip file is a project manifest
(package.xml) that lists what to retrieve or deploy, and one or more XML components that are organized into folders.
Note: A component is an instance of a metadata type. For example, CustomObject is a metadata type for custom objects,
and the MyCustomObject__c component is an instance of a custom object.
25
The files that are retrieved or deployed in a .zip file might be unpackaged components that reside in your org (such as standard objects)
or packaged components that reside within named packages.
Note: You can deploy or retrieve up to 10,000 files at once. AppExchange packages use different limits: They can contain up to
35,000 files. The maximum size of the deployed or retrieved .zip file is 39 MB. If the files are uncompressed in an unzipped folder,
the size limit is 600 MB.
If using the Ant Migration Tool to deploy an unzipped folder, all files in the folder are compressed first. The maximum size of
uncompressed components in an unzipped folder is 600 MB or less depending on the compression ratio. If the files have a
high compression ratio, you can migrate a total of approximately 600 MB because the compressed size would be under 39
MB. However, if the components can't be compressed much, like binary static resources, you can migrate less than 600 MB.
Metadata API base-64 encodes components after theyre compressed. The resulting .zip file can't exceed 50 MB, which is the
limit for SOAP messages. Base-64 encoding increases the size of the payload, so your compressed payload can't exceed
approximately 39 MB before encoding.
You can perform a retrieve() call for a big object only if its index is defined. If a big object is created in Setup and doesnt
yet have an index defined, you cant retrieve it.
Limits can change without notice.
Every .zip file contains a project manifest, a file thats named package.xml, and a set of directories that contain the components.
The manifest file defines the components that youre trying to retrieve or deploy in the .zip file. The manifest also defines the API version
thats used for the deployment or retrieval.
Note: You can edit the project manifest, but be careful if you modify the list of components it contains. When you deploy or
retrieve components, Metadata API references the components listed in the manifest, not the directories in the .zip file.
The following is a sample package.xml file. You can retrieve an individual component for a metadata type by specifying its
fullName field value in a members element. You can also retrieve all components of a metadata type by using
<members>*</members>.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyCustomObject__c</members>
<name>CustomObject</name>
</types>
<types>
<members>*</members>
<name>CustomTab</name>
</types>
<types>
<members>Standard</members>
<name>Profile</name>
</types>
<version>61.0</version>
</Package>
The following elements can be defined in package.xml.
<fullName> contains the name of the server-side package. If no <fullName> exists, the package.xml defines a client-side
unpackaged package.
<types> contains the name of the metadata type (for example, CustomObject) and the named members (for example,
myCustomObject__c) to be retrieved or deployed. You can add multiple <types> elements in a manifest file.
26
Deploying and Retrieving Metadata with the Zip FileDeploying and Retrieving Metadata
<members> contains the fullName of the component, for example MyCustomObject__c. The listMetadata()
call is useful for determining the fullName for components of a particular metadata type if you want to retrieve an individual
component. For many metadata types, you can replace the value in members with the wildcard character * (asterisk) instead of
listing each member separately. See the reference topic for a specific type to determine whether that type supports wildcards.
Note: You specify Security in the <members> element and Settings in the name element when retrieving the SecuritySettings
component type.
<name> contains the metadata type, for example CustomObject or Profile. There is one name defined for each metadata
type in the directory. Any metadata type that extends Metadata is a valid value. The name thats entered must match a metadata
type thats defined in the Metadata API WSDL. See Metadata Types for a list.
<version> is the API version number thats used when the .zip file is deployed or retrieved. Currently the valid value is 61.0.
For more sample package.xml manifest files that show you how to work with different subsets of metadata, see Sample
package.xml Manifest Files.
To delete components, see Deleting Components from an Organization.
SEE ALSO:
Metadata Types
Slow Deployments
If a file-based Metadata API deployment occurs during server downtime, such as a Salesforce service upgrade, the deployment can take
longer than expected. This behavior happens because both component deployment and validation are retried from the beginning after
the service is restored. However, if Apex tests were part of the deployment, only tests that werent run before the downtime are run.
This behavior affects file-based deployment and retrieval, change sets, some package installs and upgrades, second-generation managed
package creation, and deploys and retrieves started from the Salesforce CLI or the Salesforce VS Code extensions. It doesnt affect
CRUD-based metadata operations.
If your instance is due for a planned service upgrade, avoid running deployments during the service upgrade. To check whether your
Salesforce instance is due for an upgrade, check Salesforce Trust. Salesforce performs major service upgrades three times per year and
other maintenance updates throughout the year.
Does a Retrieve Job Have a Status of Pending?
If you initiate several concurrent retrieve operations for a single org, Metadata API automatically puts some of those jobs in a queue, if
that becomes necessary for service protection. If a retrieve job has a status of Pending, its in the queue. When one of the active retrieve
jobs completes, Metadata API takes a pending job from the queue and activates it. If a retrieve job has a status of InProgress, its
active. The process repeats until the job queue is cleared.
For more information, see Metadata Limits in the Salesforce Developer Limits and Allocations Quick Reference.
Sample package.xml Manifest Files
This section includes sample package.xml manifest files that show you how to work with different subsets of metadata. A manifest file
can include multiple <types> elements so you could combine the individual samples into one package.xml manifest file if you want to
work with all the metadata in one batch.
27
Slow DeploymentsDeploying and Retrieving Metadata
The following samples are listed:
Standard Objects on page 28
All Custom Objects on page 28
Standard Picklist Fields on page 29
Custom and Standard Fields on page 30
List Views for Standard Objects on page 30
Packages on page 31
Security Settings on page 31
Assignment Rules, Auto-Response Rules, Escalation Rules on page 32
Sharing Rules on page 32
Managed Component Access on page 33
For more information about the structure of a manifest file, see Deploying and Retrieving Metadata with the Zip File.
Standard Objects
This sample package.xml manifest file illustrates how to work with the standard Account object. Retrieving or deploying a standard
object includes all custom and standard fields except for standard fields that arent customizable. All custom fields are supported. Only
standard fields that you can customize are supported, that is, standard fields to which you can add help text or enable history tracking
or Chatter feed tracking. Other standard fields aren't supported, including system fields (such as CreatedById or
LastModifiedDate) and autonumber fields.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account</members>
<name>CustomObject</name>
</types>
<version>61.0</version>
</Package>
Note how you work with the standard Account object by specifying it as a member of a CustomObject type. However, you cant use an
asterisk wildcard to work with all standard objects; each standard object must be specified by name.
All Custom Objects
This sample package.xml manifest file illustrates how to work with all custom objects.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CustomObject</name>
</types>
<version>61.0</version>
</Package>
This manifest file can be used to retrieve or deploy all custom objects, but not all standard objects.
28
Sample package.xml Manifest FilesDeploying and Retrieving Metadata
Standard Picklist Fields
In API version 38.0 and later, the StandardValueSet type represents standard picklists. Picklists are no longer represented by fields as in
earlier versions. This sample package.xml represents the Industry standard picklist as a StandardValueSet type.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Industry</members>
<name>StandardValueSet</name>
</types>
<version>61.0</version>
</Package>
Note: The name of a standard value set is case-sensitive.
The Industry standard value set corresponds to the Account.Industry or Lead.Industry field in API version 37.0 and
earlier. This example shows a package.xml sample for the Account.Industry picklist.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account.Industry</members>
<name>CustomField</name>
</types>
<version>37.0</version>
</Package>
Note: The name of a picklist field is case-sensitive.
Note the objectName.picklistField syntax in the <members> field where objectName is the name of the object, such
as Account, and picklistField is the name of the standard picklist field, such as Industry.
This next package.xml sample represents opportunity team roles in API version 38.0 and later. Specify opportunity team roles as a
SalesTeamRole standard value set. Opportunity team roles have the same picklist values as the account team roles.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SalesTeamRole</members>
<name>StandardValueSet</name>
</types>
<version>61.0</version>
</Package>
The SalesTeamRole standard value set corresponds to one of these field names in API version 37.0 and earlier:
OpportunityTeamMember.TeamMemberRole, UserAccountTeamMember.TeamMemberRole,
UserTeamMember.TeamMemberRole, and AccountTeamMember.TeamMemberRole. Opportunity team roles are
represented in this sample package.xml as the OpportunityTeamMember.TeamMemberRole field.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>OpportunityTeamMember.TeamMemberRole</members>
<name>CustomField</name>
29
Sample package.xml Manifest FilesDeploying and Retrieving Metadata
</types>
<version>37.0</version>
</Package>
To learn about the names of standard value sets and how they map to picklist field names, see StandardValueSet Names and Standard
Picklist Fields.
Custom and Standard Fields
This sample package.xml manifest file illustrates how to work with custom fields in custom and standard objects and standard
fields in a standard object.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyCustomObject__c.MyCustomField__c</members>
<name>CustomField</name>
</types>
<types>
<members>Account.SLA__c</members>
<members>Account.Phone</members>
<name>CustomField</name>
</types>
<version>61.0</version>
</Package>
Note the objectName.field syntax in the <members> field where objectName is the name of the object, such as Account,
and field is the name of the custom or standard field, such as an SLA picklist field representing a service-level agreement option.
The MyCustomField custom field in the MyCustomObject custom object is uniquely identified by its full name,
MyCustomObject__c.MyCustomField__c. Similarly, the Phone standard field in the Account standard object is uniquely
identified by its full name, Account.Phone.
All custom fields are supported. Only standard fields that you can customize are supported, that is, standard fields to which you can add
help text or enable history tracking or Chatter feed tracking. Other standard fields aren't supported, including system fields (such as
CreatedById or LastModifiedDate) and autonumber fields.
List Views for Standard Objects
The easiest way to retrieve list views for a standard object is to retrieve the object. The list views are included in the retrieved component.
See the section of this topic on Standard Objects.
You can also work with individual list views if you dont want to retrieve all the details for the object. This sample package.xml
manifest file illustrates how to work with a list view for the standard Account object.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account.AccountTeam</members>
<name>ListView</name>
</types>
<version>61.0</version>
</Package>
30
Sample package.xml Manifest FilesDeploying and Retrieving Metadata
Note the objectName.listViewUniqueName syntax in the <members> field where objectName is the name of the
object, such as Account, and listViewUniqueName is the View Unique Name for the list view. If you retrieve this list view,
the component is stored in objects/Account.object.
Packages
To retrieve a package, set the name of the package in the packageNames field in RetrieveRequest when you call retrieve().
The package.xml manifest file is automatically populated in the retrieved .zip file. The <fullName> element in package.xml
contains the name of the retrieved package.
If you use an asterisk wildcard in a <members> element to retrieve all the components of a particular metadata type, the retrieved
contents dont include components in managed packages.
For more information about managed packages, see the Second-Generation Managed Packaging Developer Guide.
The easiest way to retrieve a component in a managed package is to retrieve the complete package by setting the name of the package
in the packageNames field in RetrieveRequest, as described earlier. The following sample package.xml manifest file
illustrates an alternative to retrieve an individual component in a package.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>myns__MyCustomObject__c</members>
<name>CustomObject</name>
</types>
<version>61.0</version>
</Package>
Note the namespacePrefix__objectName syntax in the <members> field where namespacePrefix is the namespace
prefix of the package and objectName is the name of the object. A namespace prefix is a 1-character to 15-character alphanumeric
identifier that distinguishes your package and its contents from other publishers packages. For more information, see Create and Register
Your Namespace for Second-Generation Managed Packages.
Security Settings
This sample package.xml manifest file illustrates how to work with an organizations security settings. You specify Security in the
<members> element and Settings in the name element when retrieving the SecuritySettings component type.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Security</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
31
Sample package.xml Manifest FilesDeploying and Retrieving Metadata
Assignment Rules, Auto-Response Rules, Escalation Rules
Assignment rules, auto-response rules, and escalation rules use different package.xml type names to access sets of rules or individual
rules for object types. For example, the following sample package.xml manifest file illustrates how to access an organizations
assignment rules for just Cases and Leads.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Case</members>
<members>Lead</members>
<name>AssignmentRules</name>
</types>
<version>61.0</version>
</Package>
The following sample package.xml manifest file illustrates how to access just the samplerule Case assignment rule and the
newrule Lead assignment rule. Notice that the type name is AssignmentRule and not AssignmentRules.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Case.samplerule</members>
<members>Lead.newrule</members>
<name>AssignmentRule</name>
</types>
<version>61.0</version>
</Package>
Similarly, for accessing individual auto-response rules and escalation rules, use AutoResponseRule and EscalationRule
instead of AutoResponseRules and EscalationRules.
Sharing Rules
In API version 33.0 and later, you can retrieve and deploy sharing rules for all standard and custom objects. This sample package.xml
manifest file illustrates how to work with an organizations sharing rules, such as retrieving a specific criteria-based sharing rule for the
lead object, retrieving all ownership-based sharing rules for all objects, and retrieving all territory-based sharing rules for the account
object.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Lead.testShareRule</members>
<name>SharingCriteriaRule</name>
</types>
<types>
<members>*</members>
<name>SharingOwnerRule</name>
</types>
<types>
<members>Account.*</members>
<name>SharingTerritoryRule</name>
</types>
32
Sample package.xml Manifest FilesDeploying and Retrieving Metadata
<version>33.0</version>
</Package>
Managed Component Access
In API version 29.0 and later, you can retrieve and deploy access settings for the following managed components in profiles and permission
sets:
Apex classes
Apps
Custom field permissions
Custom object permissions
Custom tab settings
External data sources
Record types
Visualforce pages
In API version 51.0 and later, you can retrieve and deploy access settings for login flows.
When retrieving and deploying managed component permissions, specify the namespace followed by two underscores. Wildcards
arent supported.
For example, lets say you install a managed package with the namespace MyNamespace and the custom object JobRequest__c.
To set object permissions for JobRequest__c in the package to the custom profile MyProfile, you would add the following to the
.profile file.
To deploy:
<objectPermissions>
<allowCreate>true</allowCreate>
<allowDelete>true</allowDelete>
<allowEdit>true</allowEdit>
<allowRead>true</allowRead>
<viewAllRecords>false</viewAllRecords>
<modifyAllRecords>false</modifyAllRecords>
<object>MyNamespace__JobRequest__c</object>
</objectPermissions>
To retrieve:
<types>
<members>MyNamespace__JobRequest__c</members>
<name>CustomObject</name>
</types>
<types>
<members>MyProfile</members>
<name>Profile</name>
</types>
When retrieving permission sets and profiles, make sure that you also retrieve any components that are related to the permissions and
settings. For example, when retrieving app visibilities, you must also retrieve the associated app, and when retrieving object or field
permissions, you must also retrieve the associated object.
33
Sample package.xml Manifest FilesDeploying and Retrieving Metadata
Running Tests in a Deployment
Default Test Execution in Production
When no test level is specified in the deployment options, the default test execution behavior depends on the contents of your deployment
package. When deploying to production, all tests, except those that originate from managed packages, are executed if your deployment
package contains Apex classes or triggers. If your package doesnt contain Apex components, no tests are run by default.
In API version 33.0 and earlier, tests were run for components that required tests, such as custom objects, and not only for Apex
components. For example, if your package contains a custom object, all tests are run in API version 33.0 and earlier. In contrast, starting
with API version 34.0, no tests are run for this package. The API version corresponds to the version of your API client or the version of the
tool youre using (Ant Migration Tool).
You can run tests for a deployment of non-Apex components. You can override the default test execution behavior by setting the test
level in your deployment options. Test levels are enforced regardless of the types of components present in your deployment package.
We recommend that you run all local tests in your development environment, such as sandbox, before deploying to production. Running
tests in your development environment reduces the number of tests needed to run in a production deployment.
Default Test Execution in Production for API Version 33.0 and Earlier
For deployment to a production organization, all local tests in your organization are run by default. Tests that originate from installed
managed packages arent run by default. If any test fails, the entire deployment is rolled back.
If the deployment includes components for the following metadata types, all local tests are run.
ApexClass
ApexComponent
ApexPage
ApexTrigger
ArticleType
BaseSharingRule
CriteriaBasedSharingRule
CustomField
CustomObject
DataCategoryGroup
Flow
InstalledPackage
NamedFilter
OwnerSharingRule
PermissionSet
Profile
Queue
RecordType
RemoteSiteSetting
Role
SharingReason
34
Running Tests in a DeploymentDeploying and Retrieving Metadata
Territory
Validation Rules
Workflow
For example, no tests are run for the following deployments:
1 CustomApplication component
100 Report components and 40 Dashboard components
But all local tests are run for any of the following example deployments, because they include at least one component from the list
above:
1 CustomField component
1 ApexComponent component and 1 ApexClass component
5 CustomField components and 1 ApexPage component
100 Report components, 40 Dashboard components, and 1 CustomField component
SEE ALSO:
deploy()
Running a Subset of Tests in a Deployment
Test levels enable you to have more control over which tests are run in a deployment. To shorten deployment time to production, run
a subset of tests when deploying Apex components. The default test execution behavior in production has also changed. By default, if
no test level is specified, no tests are executed, unless your deployment package contains Apex classes or triggers.
If the code coverage of an Apex component in the deployment is less than 75%, the deployment fails. If one of the specified tests fails,
the deployment also fails. We recommend that you test your deployment in sandbox first to ensure that the specified tests cover each
component sufficiently. Even if your organizations overall code coverage is 75% or more, the individual coverage of the Apex components
being deployed can be less. If the code coverage requirement isnt met, write more tests and include them in the deployment.
To run a subset of tests, set the RunSpecifiedTests test level on the DeployOptions object. Next, specify each test class to
run in DeployOptions. Finally, pass DeployOptions as an argument to the deploy() call. The following example performs
those steps to run only the specified test classes.
// Create the DeployOptions object.
DeployOptions deployOptions = new DeployOptions();
// Set the appropriate test level.
deployOptions.setTestLevel(TestLevel.RunSpecifiedTests);
// Specify the test classes to run.
// String array contains test class names.
String[] tests = {"TestClass1", "TestClass2", "TestClass3"};
// Add the test class names array to the deployment options.
deployOptions.setRunTests(tests);
// Call deploy() by passing the deployment options object as an argument.
AsyncResult asyncResult = metadatabinding.deploy(zipBytes,deployOptions);
35
Running a Subset of Tests in a DeploymentDeploying and Retrieving Metadata
Notes About Running Specific Tests
You can specify only test classes. You cant specify individual test methods.
We recommend that you refactor test classes to include the minimum number of tests that meet code coverage requirements.
Refactoring your test classes can contribute to shorter test execution times, and as a result, shorter deployment times.
You can deactivate a trigger in the target organization by deploying it with an inactive state. However, the trigger must have been
previously deployed with an active state.
Run the Same Tests in Sandbox and Production Deployments
Starting in API version 34.0, you can choose which tests to run in your development environment, such as only local tests, to match the
tests run in production. In earlier versions, if you enabled tests in your sandbox deployment, you couldnt exclude managed package
tests.
By default, no tests are run in a deployment to a non-production organization, such as a sandbox or a Developer Edition organization.
To specify tests to run in your development environment, set a testLevel deployment option. For example, to run local tests in a
deployment and to exclude managed package tests, set testLevel on the DeployOptions object to
TestLevel.RunLocalTests. Next, pass this object as an argument to the deploy() call as follows.
// Create the DeployOptions object.
DeployOptions deployOptions = new DeployOptions();
// Set the appropriate test level.
deployOptions.setTestLevel(TestLevel.RunLocalTests);
// Call deploy() by passing the deployment options object as an argument.
AsyncResult asyncResult = metadatabinding.deploy(zipBytes,deployOptions);
Note: The RunLocalTests test level is enforced regardless of the contents of the deployment package. In contrast, tests are
executed by default in production only if your deployment package contains Apex classes or triggers. You can use
RunLocalTests for sandbox and production deployments.
Maintaining User References
User fields are preserved during a metadata deployment.
When a component in your deployment refers to a specific user, such as a recipient of a workflow email notification or a dashboard
running user, then Salesforce attempts to locate a matching user in the destination organization by comparing usernames during the
deployment.
For example, when you copy data to a sandbox, the fields containing usernames from the production organization are altered to include
the sandbox name. In a sandbox named test, the username [email protected] becomes [email protected]. When you
deploy the metadata in the sandbox to another organization, the test in the username is ignored.
For user references in deployments, Salesforce performs the following sequence:
1. Salesforce compares usernames in the source environment to the destination environment and adapts the organization domain
name.
2. If two or more usernames match, Salesforce lists the matching names and requests one of the users in the source environment be
renamed.
36
Run the Same Tests in Sandbox and Production DeploymentsDeploying and Retrieving Metadata
3. If a username in the source environment doesnt exist in the destination environment, Salesforce displays an error, and the deployment
stops until the usernames are removed or resolved to users in the destination environment.
37
Maintaining User ReferencesDeploying and Retrieving Metadata
CHAPTER 5 CRUD-Based Metadata Development
Use the CRUD-based metadata calls to create, update, or delete setup and configuration components for your organization or application.
These configuration components include custom objects, custom fields, and other configuration metadata. The metadata calls mimic
the behavior in the Salesforce user interface for creating, updating, or deleting components. Whatever rules apply there also apply to
these calls.
Metadata calls are different from the core, synchronous API calls in these ways.
Metadata API calls are available in a separate WSDL. To download the WSDL, log into Salesforce, from Setup, enter API in the
Quick Find box, then select API and click the Download Metadata WSDL link.
After logging in, you must send Metadata API calls to the Metadata API endpoint, which has a different URL than SOAP API. Retrieve
the metadataServerUrl from the LoginResult returned by your SOAP API login() call. For more information about SOAP
API, see the SOAP API Developer Guide.
Metadata calls are either synchronous or asynchronous. CRUD calls are synchronous in API version 30.0 and later, and similar to the
API core calls the results are returned in a single call. In earlier API versions, create, update, and delete are only asynchronous, which
means that the results arent immediately returned in one call.
There are synchronous metadata calls that map to the corresponding core SOAP API synchronous calls.
createMetadata() maps to the create() SOAP API call.
updateMetadata() maps to the update() SOAP API call.
deleteMetadata() maps to the delete() SOAP API call.
Note: Metadata API also supports retrieve() and deploy() calls for retrieving and deploying metadata components.
For more information, see Deploying and Retrieving Metadata.
Java Sample for CRUD-Based Development with Synchronous Calls
This section guides you through a sample Java client application that uses CRUD-based calls. This sample application performs the
following main tasks.
1. Uses the MetadataLoginUtil.java class to create a Metadata connection. For more information, see Step 3: Walk Through
the Java Sample Code.
2. Calls createMetadata() to create a custom object. This call returns the result in one call.
3. Inspects the returned SaveResult object to check if the operation succeeded, and if it didnt, writes the component name, error
message, and status code to the output.
import com.sforce.soap.metadata.*;
/**
* Sample that logs in and creates a custom object through the metadata API
*/
public class CRUDSampleCreate {
38
private MetadataConnection metadataConnection;
// one second in milliseconds
private static final long ONE_SECOND = 1000;
public CRUDSampleCreate() {
}
public static void main(String[] args) throws Exception {
CRUDSampleCreate crudSample = new CRUDSampleCreate();
crudSample.runCreate();
}
/**
* Create a custom object. This method demonstrates usage of the
* create() and checkStatus() calls.
*
* @param uniqueName Custom object name should be unique.
*/
private void createCustomObjectSync(final String uniqueName) throws Exception {
final String label = "My Custom Object";
CustomObject co = new CustomObject();
co.setFullName(uniqueName);
co.setDeploymentStatus(DeploymentStatus.Deployed);
co.setDescription("Created by the Metadata API Sample");
co.setEnableActivities(true);
co.setLabel(label);
co.setPluralLabel(label + "s");
co.setSharingModel(SharingModel.ReadWrite);
// The name field appears in page layouts, related lists, and elsewhere.
CustomField nf = new CustomField();
nf.setType(FieldType.Text);
nf.setDescription("The custom object identifier on page layouts, related lists
etc");
nf.setLabel(label);
nf.setFullName(uniqueName);
customObject.setNameField(nf);
SaveResult[] results = metadataConnection
.createMetadata(new Metadata[] { co });
for (SaveResult r : results) {
if (r.isSuccess()) {
System.out.println("Created component: " + r.getFullName());
} else {
System.out
.println("Errors were encountered while creating "
+ r.getFullName());
for (Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
}
}
39
CRUD-Based Metadata Development
}
}
private void runCreate() throws Exception {
metadataConnection = MetadataLoginUtil.login();
// Custom objects and fields must have __c suffix in the full name.
final String uniqueObjectName = "MyCustomObject__c";
createCustomObjectSync(uniqueObjectName);
}
}
Java Sample for CRUD-Based Development with Asynchronous Calls
Important: The sample in this section depends on the asynchronous create() CRUD call. Asynchronous CRUD calls are no
longer available as of API version 31.0 and are available only in earlier API versions.
This section guides you through a sample Java client application that uses asynchronous CRUD-based calls. This sample application
performs the following main tasks:
1. Uses the MetadataLoginUtil.java class to create a Metadata connection. For more information, see Step 3: Walk Through
the Java Sample Code.
2. Calls create() to create a custom object.
Salesforce returns an AsyncResult object for each component you tried to create. The AsyncResult object is updated with status
information as the operation moves from a queue to completed or error state.
3. Calls checkStatus() in a loop until the status value in AsyncResult indicates that the create operation is completed.
Note the error handling code that follows each API call.
import com.sforce.soap.metadata.*;
/**
* Sample that logs in and creates a custom object through the metadata api
*/
public class CRUDSample {
private MetadataConnection metadataConnection;
// one second in milliseconds
private static final long ONE_SECOND = 1000;
public CRUDSample() {
}
public static void main(String[] args) throws Exception {
CRUDSample crudSample = new CRUDSample();
crudSample.runCreate();
}
/**
* Create a custom object. This method demonstrates usage of the
* create() and checkStatus() calls.
*
* @param uniqueName Custom object name should be unique.
40
CRUD-Based Metadata Development
*/
private void createCustomObject(final String uniqueName) throws Exception {
final String label = "My Custom Object";
CustomObject customObject = new CustomObject();
customObject.setFullName(uniqueName);
customObject.setDeploymentStatus(DeploymentStatus.Deployed);
customObject.setDescription("Created by the Metadata API Sample");
customObject.setLabel(label);
customObject.setPluralLabel(label + "s");
customObject.setSharingModel(SharingModel.ReadWrite);
// The name field appears in page layouts, related lists, and elsewhere.
CustomField nf = new CustomField();
nf.setType(FieldType.Text);
nf.setDescription("The custom object identifier on page layouts, related lists
etc");
nf.setLabel(label);
nf.setFullName(uniqueName);
customObject.setNameField(nf);
AsyncResult[] asyncResults = metadataConnection.create(
new CustomObject[]{customObject});
if (asyncResults == null) {
System.out.println("The object was not created successfully");
return;
}
long waitTimeMilliSecs = ONE_SECOND;
// After the create() call completes, we must poll the results of the checkStatus()
// call until it indicates that the create operation has completed.
do {
printAsyncResultStatus(asyncResults);
waitTimeMilliSecs *= 2;
Thread.sleep(waitTimeMilliSecs);
asyncResults = metadataConnection.checkStatus(new
String[]{asyncResults[0].getId()});
} while (!asyncResults[0].isDone());
printAsyncResultStatus(asyncResults);
}
private void printAsyncResultStatus(AsyncResult[] asyncResults) throws Exception {
if (asyncResults == null || asyncResults.length == 0 || asyncResults[0] == null)
{
throw new Exception("The object status cannot be retrieved");
}
AsyncResult asyncResult = asyncResults[0]; //we are creating only 1 metadata object
if (asyncResult.getStatusCode() != null) {
System.out.println("Error status code: " +
41
CRUD-Based Metadata Development
asyncResult.getStatusCode());
System.out.println("Error message: " + asyncResult.getMessage());
}
System.out.println("Object with id:" + asyncResult.getId() + " is " +
asyncResult.getState());
}
private void runCreate() throws Exception {
metadataConnection = MetadataLoginUtil.login();
// Custom objects and fields must have __c suffix in the full name.
final String uniqueObjectName = "MyCustomObject__c";
createCustomObject(uniqueObjectName);
}
}
42
CRUD-Based Metadata Development
CHAPTER 6 REST Resources
Use the REST resource deployRequest to move metadata (XML files) between a Salesforce
organization and a local file system.
In this chapter ...
Deploy Metadata
with Apex Testing
Using REST
Data in XML files is formatted using the English (United States) locale. This approach ensures that fields
that depend on locale, such as date fields, are interpreted consistently during data migrations between
organizations using different languages. Organizations can support multiple languages for presentation
to their users.
Deploy Metadata
with REST API in
Salesforce CLI
Metadata deployment is used primarily for the following development scenarios.
Development of a custom application (or customization) in a sandbox organization. After development
and testing are completed, the application or customization is then deployed into a production
organization using Metadata API.
Team development of an application in a Developer Edition organization. After development and
testing are completed, you can then distribute the application via Lightning Platform AppExchange.
Working with the Zip File
The deployRequest resource is used to deploy a .zip file. Within the .zip file is a project manifest
(package.xml) that lists what to retrieve or deploy, and one or more XML components that are
organized into folders.
Note: A component is an instance of a metadata type. For example, CustomObject is a
metadata type for custom objects, and the MyCustomObject__c component is an instance
of a custom object.
The files that are deployed in a .zip file can be unpackaged components that reside in your organization
(such as standard objects). The files can also be packaged components that reside within named packages.
Note: You can deploy up to 10,000 files at once. (In API version 43.0 and later, AppExchange
packages can contain up to 12,500 files.) The .zip file size limit that applies to SOAP calls doesnt
apply to the deployRequest REST resource. However, the 400-MB limit for components that
are uncompressed into an unzipped folder after upload applies to both SOAP and REST
deployments.
Every .zip file contains a project manifest, a file thats named package.xml, and a set of directories
that contain the components. The manifest file defines the components that youre trying to retrieve or
deploy and the API version used for the deployment or retrieval.
The following is a sample package.xml file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
43
<members>MyCustomObject__c</members>
<name>CustomObject</name>
</types>
<types>
<members>*</members>
<name>CustomTab</name>
</types>
<types>
<members>Standard</members>
<name>Profile</name>
</types>
<version>61.0</version>
</Package>
The following elements can be defined in package.xml.
<fullName> contains the name of the server-side package. If no <fullName> exists, its a
client-side unpackaged package.
<types> contains the name of the metadata type (for example, CustomObject) and the
named members (for example, myCustomObject__c) to be deployed. You can add multiple
<types> elements in a manifest file.
<members> contains the fullName of the component, such as MyCustomObject__c.
For many metadata types, you can replace the value in members with the wildcard character *
(asterisk) instead of listing each member separately. For a list of metadata types that allow the
wildcard character, see the Allows Wildcard (*)? column in Metadata Types.
Note: You specify Security in the <members> element and Settings in the name element
when retrieving the SecuritySettings component type.
<name> contains the metadata type, for example CustomObject or Profile. Theres one
name defined for each metadata type in the directory. Any metadata type that extends Metadata is
a valid value. The name thats entered must match a metadata type thats defined in the Metadata
API WSDL. See Metadata Types for a list.
<version> is the API version number thats used when the .zip file is deployed or retrieved.
Currently the valid value is 61.0.
For more sample package.xml manifest files that show you how to work with different subsets of
metadata, see Sample package.xml Manifest Files.
To delete components, see Deleting Components from an Organization.
44
REST Resources
Deploy Metadata with Apex Testing Using REST
Deploy using the deployRequest REST resource to initiate a request that handles all operations for the deployment.
You can deploy or retrieve up to 10,000 files at once. AppExchange packages use different limits: They can contain up to 35,000 files.
The maximum size of the deployed or retrieved .zip file is 39 MB. If the files are uncompressed in an unzipped folder, the size limit is 600
MB.
URI
https://host/services/data/vXX.0/metadata/deployRequest
Formats
JSON
HTTP Method
POST
Authentication
Authorization: Bearer token
deployOptions Parameters
Note: To review the default testing behavior for deployments and approaches that can save time while still enabling you to meet
testing requirements, see Running Tests in a Deployment and Run the Same Tests in Sandbox and Production Deployments.
DescriptionParameter
Boolean. If files that are specified in package.xml arent in the .zip file, specifies
whether a deployment can still succeed. Dont set this argument for deployment to
production orgs.
allowMissingFiles
Reserved for future use.autoUpdatePackage
Boolean. Defaults to false. Set to true to perform a test deployment (validation) of
components without saving the components in the target org. A validation enables you
checkOnly
to verify the results of tests that would be generated in a deployment, but doesnt commit
any changes. After a validation finishes with passing tests, it can qualify for deployment
without rerunning tests. See Deploy a Recently Validated Component Set Without Tests.
Boolean. Indicates whether a deployment is allowed to complete successfully despite
one or more warnings (true) or not (false). Defaults to false.
The DeployMessage object for a warning contains the following values:
ignoreWarnings
problemTypeWarning
problemThe text of the warning.
If a warning occurs and ignoreWarnings is set to true, the success field in
DeployMessage is true. If ignoreWarnings is set to false, success is set to
false and the warning is treated like an error.
Reserved for future use.performRetrieve
45
Deploy Metadata with Apex Testing Using RESTREST Resources
DescriptionParameter
Boolean. If true, the deleted components in the destructiveChanges.xml
manifest file aren't stored in the Recycle Bin. Instead, they become immediately eligible
for deletion.
This option only works in Developer Edition or sandbox orgs. It doesn't work in production
orgs.
purgeOnDelete
Boolean. Indicates whether any failure causes a complete rollback (true) or not (false).
If false, whatever actions can be performed without errors are performed, and errors
rollbackOnError
are returned for the remaining actions. This parameter must be set to true if youre
deploying to a production org. The default is false.
String[]. A list of Apex tests to run during deployment. Specify the class name, one name
per instance. The class name can also specify a namespace with a dot notation. For more
information, see Running a Subset of Tests in a Deployment.
To use this option, set testLevel to RunSpecifiedTests.
runTests
Boolean. Indicates whether the specified .zip file points to a directory structure with
a single package (true) or a set of packages (false).
singlePackage
TestLevel (enumeration of type string). Optional. Specifies which tests are run as part of
a deployment. The test level is enforced regardless of the types of components that are
present in the deployment package. Valid values are:
testLevel
NoTestRunNo tests are run. This test level applies only to deployments to
development environments, such as sandbox, Developer Edition, or trial organizations.
This test level is the default for development environments.
RunSpecifiedTestsOnly the tests that you specify in the runTests
option are run. Code coverage requirements differ from the default coverage
requirements when using this test level. Each class and trigger in the deployment
package must be covered by the executed tests for a minimum of 75% code coverage.
This coverage is computed for each class and triggers individually and is different
than the overall coverage percentage.
RunLocalTestsAll tests in your org are run, except the ones that originate
from installed managed and unlocked packages. This test level is the default for
production deployments that include Apex classes or triggers.
RunAllTestsInOrgAll tests are run. The tests include all tests in your org,
including tests of managed packages.
If you dont specify a test level, the default test execution behavior is used. See Running
Tests in a Deployment.
Apex tests that run as part of a deployment always run synchronously and serially.
Request Body: Deploy Metadata
When you deploy metadata, your request includes both the deployment parameters and the .zip file containing the component directories
and the manifest. Set the header to Content-Type: multipart/form-data,
46
Deploy Metadata with Apex Testing Using RESTREST Resources
This example POST request creates a deployRequest object that initiates a deployment.
1. The POST request header is set to Content-Type: multipart/form-data and defines a boundary value to encapsulate
different subparts of the request.
2. In the subpart after the first boundary, a JSON request creates a deployOptions child object for passing the deployment
parameters.
3. The subpart after the second boundary specifies the .zip file containing the manifest and the component directories.
POST /services/data/v48.0/metadata/deployRequest
Authorization: Bearer 00D....
Content-Type: multipart/form-data; boundary=--------------------------BOUNDARY
----------------------------BOUNDARY
Content-Disposition: form-data; name="json"
Content-Type: application/json
{
"deployOptions" :
{
"allowMissingFiles" : false,
"autoUpdatePackage" : false,
"checkOnly" : false,
"ignoreWarnings" : false,
"performRetrieve" : false,
"purgeOnDelete" : false,
"rollbackOnError" : false,
"runTests" : null,
"singlePackage" : true,
"testLevel" : "RunAllTestsInOrg"
}
}
----------------------------BOUNDARY
Content-Disposition: form-data; name="file"; filename="deploy.zip"
Content-Type: application/zip
//Contents of deploy.zip
----------------------------BOUNDARY--
Response Body: Deploy Metadata
When an HTTP status code of 201 (Created) is returned, your request has succeeded and resulted in the creation of a deployment that
is being processed.
{ "id" : "0Afxx00000001VPCAY",
"deployOptions" :
{ "checkOnly" : false,
"singlePackage" : false,
"allowMissingFiles" : false,
"performRetrieve" : false,
"autoUpdatePackage" : false,
"rollbackOnError" : true,
"ignoreWarnings" : false,
"purgeOnDelete" : false,
"runAllTests" : false },
"deployResult" :
47
Deploy Metadata with Apex Testing Using RESTREST Resources
{ "id" : "0Afxx00000001VPCAY",
"success" : false,
"checkOnly" : false,
"ignoreWarnings" : false,
"rollbackOnError" : true,
"status" : "Pending",
"runTestsEnabled" : false,
"done" : false } }
deployResult Parameters
DescriptionParameter
ID. ID of the component being deployed.id
ID. The ID of the user who canceled the deployment.canceledBy
String. The full name of the user who canceled the deployment.canceledByName
Boolean. Indicates whether this deployment is used to check the validity of the deployed
files without changing the org (true) or not (false). A check-only deployment
doesnt deploy any components or change the organization in any way.
checkOnly
DateTime. Timestamp for when the deployment process ended.completedDate
ID. The ID of the user who created the deployment.createdBy
String. The full name of the user who created the deployment.createdByName
DateTime. Timestamp for when the deploy request was received.createdDate
DeployDetails. Provides the details of a deployment that is in-progress or ended if
?includeDetails=true is added as a query to the GET request.
details
Boolean. Indicates whether the server finished processing the deploy request for the
specified id.
done
String. Message corresponding to the values in the errorStatusCode field, if any.errorMessage
String. If an error occurred during the deploy request, a status code is returned, and the
message corresponding to the status code is returned in errorMessagefield.
errorStatusCode
Boolean. Optional. Defaults to false. Specifies whether a deployment continues even
if the deployment generates warnings. Dont set this argument to true for
deployments to production organizations.
ignoreWarnings
DateTime. Timestamp of the last update for the deployment process.lastModifiedDate
Int. The number of components deployed in the deployment process. Use this value
with the numberComponentsTotal value to get an estimate of the deployments
progress.
numberComponentErrors
Int. The total number of components in the deployment. Use this value with the
numberComponentsDeployed value to get an estimate of the deployments
progress.
numberComponentsTotal
48
Deploy Metadata with Apex Testing Using RESTREST Resources
DescriptionParameter
Int. The number of Apex tests that have generated errors during this deployment.numberTestErrors
The number of completed Apex tests for this deployment. Use this value with the
numberTestsTotal value to get an estimate of the deployments test progress.
numberTestsCompleted
Int. The total number of Apex tests for this deployment. Use this value with the
numberTestsCompleted value to get an estimate of the deployments test
numberTestsTotal
progress. The value in this field isnt accurate until the deployment has started running
tests for the components being deployed.
Boolean. Indicates whether Apex tests were run as part of this deployment (true) or
not (false). Tests are either automatically run as part of a deployment or can be set
to run in the deployOptions child object.
runTestsEnabled
Boolean. Defaults to true. Indicates whether any failure causes a complete rollback
(true) or not (false). If false, whatever set of actions can be performed without
rollbackOnError
errors are performed, and errors are returned for the remaining actions. This parameter
must be set to true if youre deploying to a production org.
DateTime. Timestamp for when the deployment process began.startDate
String. Indicates which component is being deployed or which Apex test class is running.stateDetail
Indicates the current state of the deployment. The valid values are:status
Pending
InProgress
Succeeded
SucceededPartial
Failed
Canceling
Canceled
Boolean. Indicates whether the deployment was successful (true) or not (false).success
Check the Status of Your Deployment Using REST Resources
Check the status of your deployment by using passing the deployment request ID in the URL The response body is similar to that returned
by the original deployment request, but it includes information about the deployment in progress.
URI
https://host/services/data/vXX.0/metadata/deployRequest/deployRequestId
To include more details in the response, use:
https://host/services/data/vXX.0/metadata/deployRequest/deployRequestId?includeDetails=true
Formats
JSON
HTTP Method
GET
49
Check the Status of Your Deployment Using REST ResourcesREST Resources
Authentication
Authorization: Bearer token
Response Body: Deploy Metadata
The following example shows the response when ?includeDetails=true is added as a query to the GET request.
{
"id" : "0Afxx00000000lWCAQ"
"url" :
"https://host/services/data/vXX.0/metadata/deployRequest/0Afxx00000000lWCAQ?includeDetails=true",
"deployResult" :
{
"checkOnly" : "false",
"ignoreWarnings" : "false",
"rollbackOnError" : "false",
"status : "InProgress",
"numberComponentsDeployed" : "10",
"numberComponentsTotal" : "1032",
"numberComponentErrors" : "0",
"numberTestsCompleted" : "45",
"numberTestsTotal" : "135",
"numberTestErrors" : "0",
"details" : {
"componentFailures" : [],
"componentSuccesses" : [],
"retrieveResult" : null,
"runTestResults" : {
"numRun" : 0,
"successes" : [ … ],
"failures" : []
}
},
"createdDate" : "2017-10-10T08:22Z",
"startDate" : "2017-10-10T08:22Z",
"lastModifiedDate" : "2017-10-10T08:44Z",
"completedDate" : "2017-10-10T08:44Z",
"errorStatusCode" : null,
"errorMessage" : null,
"stateDetail" : "Processing Type: Apex Component",
"createdBy" : "005xx0000001Sv1m",
"createdByName" : "stephanie stevens",
"canceledBy" : null,
"canceledByName" : null,
"isRunTestsEnabled" : null
}
"deployOptions": {
50
Check the Status of Your Deployment Using REST ResourcesREST Resources
"allowMissingFiles" : false,
"autoUpdatePackage" : false,
"checkOnly" : true,
"ignoreWarnings" : false,
"performRetrieve" : false,
"purgeOnDelete" : false,
"rollbackOnError" : false,
"runTests" : null,
"singlePackage" : true,
"testLevel" : "RunAllTestsInOrg"
}
}
Expect an HTTP status code of 200 (OK) to be returned.
Deploy a Recently Validated Component Set Without Tests
You can deploy components to production in less time by skipping the execution of Apex tests when testing requirements have already
been met.
The components have been validated successfully for the target environment within the last 10 days.
As part of the validation, Apex tests in the target org have passed.
Code coverage requirements are met.
If all tests in the org or all local tests are run, overall code coverage is at least 75%, and Apex triggers have some coverage.
If specific tests are run with the RunSpecifiedTests test level, each class and trigger to be deployed is covered by at least
75% individually.
This operation is equivalent to performing a quick deployment of a recent validation on the Deployment Status page in the Salesforce
user interface.
To validate but not deploy a set of components when using the deployRequest resource, set the checkOnly parameter of
deployOptions to true. Note the deployment request ID in the response. Use this ID (associated with a successful validation)
later to deploy the component set without repeating the validation.
URI
https://host/services/data/vXX.0/metadata/deployRequest/validatedDeployRequestId
Formats
JSON
HTTP Method
POST
Authentication
Authorization: Bearer token
Request Body: Deploy a Recently Validated Component Set Without Tests
Note: The HTTP method for deploying a recently validated component set is POST, not PATCH. Using PATCH would create a new
deployment.
{
51
Deploy a Recently Validated Component Set Without TestsREST Resources
"validatedDeployRequestId" : "0Afxx00000000lWCAQ"
}
If there is no corresponding deployment package that meets the validation requirements, you receive an HTTP status code of 404 (Not
Found). If the validated deployment package is found, the HTTP status code returned is 201 (Created).
Response Body: Deploy a Recently Validated Component Set Without Tests
Note: The response body from the deployment without validation request includes a new request ID, because it is separate from
the earlier request for a validation-only deployment.
{
"validatedDeployRequestId" : "0Afxx00000000lWCAQ"
"id" : "0Afxx00000000lWMEM"
"url" : "https://host/services/data/vXX.0/metadata/deployRequest/0Afxx00000000lWMEM",
"deployOptions" :
{
"allowMissingFiles" : false,
"autoUpdatePackage" : false,
"checkOnly" : true,
"ignoreWarnings" : false,
"performRetrieve" : false,
"purgeOnDelete" : false,
"rollbackOnError" : false,
"runTests" : null,
"singlePackage" : true,
"testLevel" : "RunAllTestsInOrg"
}
}
When an HTTP status code of 201 (Created) is returned, your request has succeeded and resulted in the creation of a deployment that
is being processed. In the preceding example response body, the ID of the validation-only deployment request is
0Afxx00000000lWCAQ; the ID of the deployment without validation request is 0Afxx00000000lWMEM.
Cancel a Deployment in Progress Using REST
You can request a cancellation of a deployment that's already in progress. Make the cancellation request by patching the status of an
ongoing deployRequest. The cancellation is processed asynchronously.
URI
https://host/services/data/vXX.0/metadata/deployRequest/deployRequestId
Formats
JSON
HTTP Method
PATCH
Authentication
Authorization: Bearer token
52
Cancel a Deployment in Progress Using RESTREST Resources
Request Body: Request Deployment Cancelation
The JSON request body for a deployment cancellation includes a PATCH to the status of the original deployRequest.
{
"deployResult":
{
"status" : "Canceling"
}
}
Response Body: Request Deployment Cancelation
Because the cancellation request is processed asynchronously, the status shown in the response body can be either Canceling or
Canceled.
{
"id" : "0Afxx00000000lWCAQ"
"url" : “https://host/services/data/vXX.0/metadata/deployRequest/0Afxx00000000lWCAQ",
"deployResult":
{
"checkOnly" : "false",
"ignoreWarnings" : "false",
"rollbackOnError" : "false",
"status : "Canceling", // or Canceled
"numberComponentsDeployed" : "10",
"numberComponentsTotal" : "1032",
"numberComponentErrors" : "0",
"numberTestsCompleted" : "45",
"numberTestsTotal" : "135",
"numberTestErrors" : "0",
"details" : {
"componentFailures" : [],
"componentSuccesses" : [],
"retrieveResult" : null,
"runTestResults” : {
"numRun" : 0,
"successes" : [ … ],
"failures" : []
}
},
"createdDate" : "2017-10-10T08:22Z",
"startDate" : "2017-10-10T08:22Z",
"lastModifiedDate" : "2017-10-10T08:44Z",
"completedDate" : "2017-10-10T08:44Z",
"errorStatusCode" : null,
"errorMessage" : null,
"stateDetail" : "Processing Type: Apex Component",
"createdBy" : "005xx0000001Sv1m",
"createdByName" : "steve stevens",
53
Cancel a Deployment in Progress Using RESTREST Resources
"canceledBy" : null,
"canceledByName" : null,
"isRunTestsEnabled" : null
}
}
When an HTTP status code of 202 (Accepted) is returned, your cancelation request is in progress or successful.
Deploy Metadata with REST API in Salesforce CLI
USER PERMISSIONS
To work with Metadata API
from Salesforce CLI:
Modify Metadata
Through Metadata API
Functions
Or
Modify All Data
By default, the Salesforce CLI project deploy start command uses the Metadata SOAP
API to deploy source to your org. You can use the Metadata REST API instead by setting a CLI
configuration value or environment variable. Compared with SOAP API, REST API offers faster
deployment.
Use the org-metadata-rest-deploy Salesforce CLI runtime configuration variable or
SF_ORG_METADATA_REST_DEPLOY environment variable to set REST API as the default. For
more information, see the Salesforce DX Setup Guide.
This example uses the configuration value to set the default for your current project:
sf config set org-metadata-rest-deploy true
To set the default globally for all your projects, use the --global flag:
sf config set org-metadata-rest-deploy true --global
Note: Only commands that deploy source, such as project deploy start, support REST API. Commands that retrieve source, such
as project retrieve start, always use SOAP API.
Here are the deploy limits. Limits can change without notice.
LimitFeature
Approximately 39 MBMaximum compressed .zip folder size
1
(SOAP API)
Approximately 600 MBMaximum uncompressed folder size
2
(SOAP API)
35,000Maximum number of files in AppExchange packages (REST and SOAP API)
10,000Maximum number of files in packages (REST and SOAP API)
1
Metadata API base-64 encodes components after theyre compressed. The resulting .zip file can't exceed 50 MB. Base-64 encoding
increases the size of the payload by approximately 22%, so your compressed payload can't exceed approximately 39 MB before encoding.
2
When using the Ant Migration Tool to deploy an unzipped project, all files in the project are compressed first. The maximum size of
uncompressed components in an uncompressed project is 600 MB or less, depending on the files compression ratio. If the files have a
high compression ratio, you can migrate a total of approximately 600 MB because the compressed size would be under 39 MB. However,
if the components can't be compressed much, like binary static resources, you can migrate less than 600 MB.
54
Deploy Metadata with REST API in Salesforce CLIREST Resources
CHAPTER 7 Error Handling
Metadata API calls return error information that your client application can use to identify and resolve runtime errors.
Metadata API provides these types of error handling.
Since the Metadata API uses the enterprise or partner WSDLs to authenticate, it uses SOAP fault messages defined in those WSDLs
for errors resulting from badly formed messages, failed authentication, or similar problems. Each SOAP fault has an associated
ExceptionCode. For more details, see Error Handling in the SOAP API Developer Guide.
For errors with the asynchronous create(), update(), and delete() calls, see the error status code in the statusCode field in the
AsyncResult object for the associated component.
For errors with the synchronous CRUD calls, see the error status code in the statusCode field of the Error object corresponding
to each error in the array returned by the errors field of the appropriate result object. For example, the result object of
createMetadata() is SaveResult.
For errors with deploy(), see the problem and success fields in the DeployMessage object for the associated component.
For errors with retrieve(), see the problem field in the RetrieveMessage object for the associated component.
For sample code, see Step 3: Walk Through the Java Sample Code on page 16.
Error Handling for Session Expiration
When you sign on via the login() call, a new client session begins and a corresponding unique session ID is generated. Sessions
automatically expire after the amount of time specified in the Security Controls setup area of the Salesforce application (default two
hours). When your session expires, the exception code INVALID_SESSION_ID is returned. If this happens, you must invoke the login()
call again. For more information about login(), see the SOAP API Developer Guide.
55
REFERENCE
CHAPTER 8 File-Based Calls
Use file-based calls to deploy or retrieve XML components.
deploy()
deployRecentValidation()
retrieve()
deploy()
Uses file representations of components to create, update, or delete those components in a Salesforce org.
Syntax
AsyncResult = metadatabinding.deploy(base64 zipFile, DeployOptions deployOptions)
Usage
Use this call to take file representations of components and deploy them into an org by creating, updating, or deleting the components
they represent.
Here are the deploy limits. Limits can change without notice.
LimitFeature
Approximately 39 MBMaximum compressed .zip folder size
1
Approximately 600 MBMaximum uncompressed folder size
2
35,000Maximum number of files in AppExchange packages
10,000Maximum number of files in packages
1
Metadata API base-64 encodes components after theyre compressed. The resulting .zip file can't exceed 50 MB. Base-64 encoding
increases the size of the payload by approximately 22%, so your compressed payload can't exceed approximately 39 MB before encoding.
2
When using the Ant Migration Tool to deploy an unzipped project, all files in the project are compressed first. The maximum size of
uncompressed components in an uncompressed project is 600 MB or less, depending on the files compression ratio. If the files have a
high compression ratio, you can migrate a total of approximately 600 MB because the compressed size would be under 39 MB. However,
if the components can't be compressed much, like binary static resources, you can migrate less than 600 MB.
56
In API version 29.0, Salesforce improved the deployment status properties and removed the requirement to use checkStatus()
after a deploy() call to get information about deployments. Salesforce continues to support the use of checkStatus() when
using deploy() with API version 28.0 or earlier.
Deploy Components to an Org
The package.xml file is a project manifest that lists all the components that you want to retrieve or deploy. You can use
package.xml to add components. To delete components, add another manifest file. See Deleting Components from an Organization.
For API version 29.0 or later, heres how to deploy (create or update) packaged or unpackaged components.
1. Issue a deploy() call to start the asynchronous deployment. An AsyncResult object is returned. Note the value in the id field,
and use it for the next step.
2. Issue a checkDeployStatus() call in a loop until the done field of the returned DeployResult contains true, which means
that the call is completed. The DeployResult object contains information about an in-progress or completed deployment started
using the deploy() call. When calling checkDeployStatus(), pass in the id value from the AsyncResult object from the
first step.
For API version 28.0 or earlier, heres how to deploy (create or update) packaged or unpackaged components.
1. Issue a deploy() call to start the asynchronous deployment. An AsyncResult object is returned. If the call is completed, the done
field contains true. Most often, the call isnt completed quickly enough to be noted in the first result. If its completed, note the
value in the id field returned, and skip the next step.
2. If the call isnt complete, issue a checkStatus() call in a loop. In the loop, use the value in the id field of the AsyncResult object
returned by the deploy() call in the previous step. Check the AsyncResult object, which is returned until the done field contains
true. The time taken to complete a deploy() call depends on the size of the zip file being deployed. Therefore, use a longer
wait time between iterations as the size of the zip file increases.
3. Issue a checkDeployStatus() call to obtain the results of the deploy() call, using the id value returned in the first step.
Note: The deployment process locks write-access to resources getting deployed until deployment completes. During deployment,
changes made to locked resources or related items can result in errors. Salesforce recommends deployments during off-peak
usage time and limiting or postponing changes to your org while deployment is in progress.
Check the Status of a Deployment
Check the status of a deployment using Metadata API or from Setup. You can check the status of deployments that are in progress or
completed in the last 30 days.
To check the status of a deployment using Metadata API, see checkDeployStatus() on page 68.
To check the status of a deployment from Setup, enter Deployment Status in the Quick Find box, then select Deployment
Status.
When running a deployment, the Deployment Status page shows you the real-time progress of your current deployment. This page
contains charts that provide a visual representation of the overall deployment progress. The first chart shows how many components
have already been deployed out of the total and includes the number of components with errors. For example, the following chart
indicates that 302 components were processed successfully out of 450 and there were 45 components with errors.
57
deploy()File-Based Calls
After all components have been deployed without errors, Apex tests start executing, if necessary or enabled. A second chart shows how
many Apex tests have run out of the total number of tests and the number of errors returned. In addition, the chart shows the name of
the currently running test. For example, in the following chart, 77 tests have completed execution out of a total of 120, and 1 test failed.
You can initiate multiple deployments, but only one deployment can run at a time. The other deployments remain in the queue waiting
to be executed after the current deployment finishes. Queued deployments are listed under Pending Deployments and are not necessarily
executed in the order in which they were submitted. To execute deployments in a particular order, submit them one at a time after the
previous deployment has completed successfully.
Cancel a Deployment
Cancel a deployment using the Metadata API or from Setup. You can cancel a deployment while its in progress or in the queue.
To cancel a deployment using Metadata API, see cancelDeploy().
To cancel a deployment from Setup, enter Deployment Status in the quick find box, then select Deployment Status. Click
Cancel next to the deployment you want to cancel. The deployment has the status of Cancel Requested until the cancellation
completes. A canceled deployment is listed in the Failed section.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions
permission. Otherwise, enable the Modify All Data permission.
Arguments
DescriptionTypeName
Base 64-encoded binary data. Client applications must encode the binary data as base64.base64zipFile
58
deploy()File-Based Calls
DescriptionTypeName
Encapsulates options for determining which packages or files are deployed.DeployOptionsdeployOptions
DeployOptions
The following deployment options can be selected for this call:
DescriptionTypeName
If files that are specified in package.xml arent in the .zip
file, specifies whether a deployment can still succeed.
Dont set this argument for deployment to production orgs.
booleanallowMissingFiles
If a file is in the .zip file but not specified in package.xml,
specifies whether the file is automatically added to the package.
booleanautoUpdatePackage
A retrieve() is issued with the updated package.xml
that includes the .zip file.
Dont set this argument for deployment to production orgs.
Defaults to false. Set to true to perform a test deployment
(validation) of components without saving the components
booleancheckOnly
in the target org. A validation enables you to verify the results
of tests that would be generated in a deployment, but doesnt
commit any changes. After a validation finishes with passing
tests, sometimes it can qualify for deployment without
rerunning tests. See deployRecentValidation().
If you change a field type from Master-Detail to Lookup or vice
versa, the change isnt supported when using the
checkOnly option to test a deployment. This change isnt
supported for test deployments to avoid permanently altering
your data. If a change that isnt supported for test deployments
is included in a deployment package, the test deployment fails
and issues an error.
If your deployment package changes a field type from
Master-Detail to Lookup or vice versa, you can still validate the
changes before you deploy to production. Perform a full
deployment to another test sandbox. A full deployment
includes a validation of the changes as part of the deployment
process.
A Metadata API deployment that includes Master-Detail
relationships deletes all detail records in the Recycle Bin in the
following cases.
1. For a deployment with a new Master-Detail field, soft delete
(send to the Recycle Bin) all detail records before
proceeding to deploy the Master-Detail field, or the
deployment fails. During the deployment, detail records
59
deploy()File-Based Calls
DescriptionTypeName
are permanently deleted from the Recycle Bin and cant
be recovered.
2. For a deployment that converts a Lookup field relationship
to a Master-Detail relationship, detail records must
reference a master record or be soft-deleted (sent to the
Recycle Bin) for the deployment to succeed. However, a
successful deployment permanently deletes any detail
records in the Recycle Bin.
Indicates whether deployments with warnings complete
successfully (true) or not (false). Defaults to false.
The DeployMessage object for a warning contains the following
values:
booleanignoreWarnings
problemTypeWarning
problemThe text of the warning
If a warning occurs and ignoreWarnings is set to true,
the success field in DeployMessage is true. If
ignoreWarnings is set to false, success is set to
false and the warning is treated like an error.
This field is available in API version 18.0 and later. Before version
18.0, there was no distinction between warnings and errors.
All problems were treated as errors and prevented a successful
deployment.
Indicates whether a retrieve() call is performed
immediately after the deployment (true) or not (false).
Set to true to retrieve whatever was deployed.
booleanperformRetrieve
If true, the deleted components in the
destructiveChanges.xml manifest file aren't stored
booleanpurgeOnDelete
in the Recycle Bin. Instead, they become immediately eligible
for deletion.
This field is available in API version 22.0 and later.
This option only works in Developer Edition or sandbox orgs.
It doesnt work in production orgs.
When you delete a roll-up summary field using Metadata API,
the field isn't saved in the Recycle Bin. The field is purged even
if you dont set the purgeOnDelete deployment option
to true.
Indicates whether any failure causes a complete rollback
(true) or not (false). If false, whatever actions can be
booleanrollbackOnError
performed without errors are performed, and errors are
returned for the remaining actions. This parameter must be
60
deploy()File-Based Calls
DescriptionTypeName
set to true if youre deploying to a production org. The
default is false.
(Deprecated and only available in API version 33.0 and earlier.)
This field defaults to false. Set to true to run all Apex tests
booleanrunAllTests
after deployment, including tests that originate from installed
managed packages.
Apex tests that run as part of a deployment always run
synchronously and serially.
A list of Apex tests to run during deployment. Specify the class
name, one name per instance. The class name can also specify
string[]runTests
a namespace with a dot notation. For more information, see
Running a Subset of Tests in a Deployment.
To use this option, set testLevel to
RunSpecifiedTests.
Indicates whether the specified .zip file points to a directory
structure with a single package (true) or a set of packages
(false).
booleansinglePackage
Optional. Specifies which tests are run as part of a deployment.
The test level is enforced regardless of the types of components
that are present in the deployment package. Valid values are:
TestLevel (enumeration of type
string)
testLevel
NoTestRunNo tests are run. This test level applies
only to deployments to development environments, such
as sandbox, Developer Edition, or trial organizations. This
test level is the default for development environments.
RunSpecifiedTestsOnly the tests that you specify
in the runTests option are run. Code coverage
requirements differ from the default coverage requirements
when using this test level. Each class and trigger in the
deployment package must be covered by the executed
tests for a minimum of 75% code coverage. This coverage
is computed for each class and triggers individually and is
different than the overall coverage percentage.
RunLocalTestsAll tests in your org are run, except
the ones that originate from installed managed and
unlocked packages. This test level is the default for
production deployments that include Apex classes or
triggers.
RunAllTestsInOrgAll tests are run. The tests
include all tests in your org, including tests of managed
packages.
If you dont specify a test level, the default test execution
behavior is used. See Running Tests in a Deployment.
61
deploy()File-Based Calls
DescriptionTypeName
Apex tests that run as part of a deployment always run
synchronously and serially.
This field is available in API version 34.0 and later.
Response
AsyncResult
Sample CodeJava
This sample shows how to deploy components in a zip file. See the retrieve() sample code for details on how to retrieve a zip file.
package com.doc.samples;
import java.io.*;
import java.rmi.RemoteException;
import com.sforce.soap.metadata.AsyncResult;
import com.sforce.soap.metadata.DeployDetails;
import com.sforce.soap.metadata.MetadataConnection;
import com.sforce.soap.metadata.DeployOptions;
import com.sforce.soap.metadata.DeployResult;
import com.sforce.soap.metadata.DeployMessage;
import com.sforce.soap.metadata.RunTestsResult;
import com.sforce.soap.metadata.RunTestFailure;
import com.sforce.soap.metadata.CodeCoverageWarning;
import com.sforce.soap.enterprise.LoginResult;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
/**
* Deploy a zip file of metadata components.
* Prerequisite: Have a deploy.zip file that includes a package.xml manifest file that
* details the contents of the zip file.
*/
public class DeploySample {
// binding for the metadata WSDL used for making metadata API calls
private MetadataConnection metadataConnection;
static BufferedReader rdr = new BufferedReader(new InputStreamReader(System.in));
private static final String ZIP_FILE = "deploy.zip";
// one second in milliseconds
private static final long ONE_SECOND = 1000;
// maximum number of attempts to deploy the zip file
private static final int MAX_NUM_POLL_REQUESTS = 50;
62
deploy()File-Based Calls
public static void main(String[] args) throws Exception {
final String USERNAME = "[email protected]";
// This is only a sample. Hard coding passwords in source files is a bad practice.
final String PASSWORD = "password";
final String URL = "https://login.salesforce.com/services/Soap/c/29.0";
DeploySample sample = new DeploySample(USERNAME, PASSWORD, URL);
sample.deployZip();
}
public DeploySample(String username, String password, String loginUrl)
throws ConnectionException {
createMetadataConnection(username, password, loginUrl);
}
public void deployZip()
throws RemoteException, Exception
{
byte zipBytes[] = readZipFile();
DeployOptions deployOptions = new DeployOptions();
deployOptions.setPerformRetrieve(false);
deployOptions.setRollbackOnError(true);
AsyncResult asyncResult = metadataConnection.deploy(zipBytes, deployOptions);
String asyncResultId = asyncResult.getId();
// Wait for the deploy to complete
int poll = 0;
long waitTimeMilliSecs = ONE_SECOND;
DeployResult deployResult = null;
boolean fetchDetails;
do {
Thread.sleep(waitTimeMilliSecs);
// double the wait time for the next iteration
waitTimeMilliSecs *= 2;
if (poll++ > MAX_NUM_POLL_REQUESTS) {
throw new Exception("Request timed out. If this is a large set " +
"of metadata components, check that the time allowed by " +
"MAX_NUM_POLL_REQUESTS is sufficient.");
}
// Fetch in-progress details once for every 3 polls
fetchDetails = (poll % 3 == 0);
deployResult = metadataConnection.checkDeployStatus(asyncResultId, fetchDetails);
System.out.println("Status is: " + deployResult.getStatus());
if (!deployResult.isDone() && fetchDetails) {
printErrors(deployResult, "Failures for deployment in progress:\n");
}
}
while (!deployResult.isDone());
if (!deployResult.isSuccess() && deployResult.getErrorStatusCode() != null) {
63
deploy()File-Based Calls
throw new Exception(deployResult.getErrorStatusCode() + " msg: " +
deployResult.getErrorMessage());
}
if (!fetchDetails) {
// Get the final result with details if we didn't do it in the last attempt.
deployResult = metadataConnection.checkDeployStatus(asyncResultId, true);
}
if (!deployResult.isSuccess()) {
printErrors(deployResult, "Final list of failures:\n");
throw new Exception("The files were not successfully deployed");
}
System.out.println("The file " + ZIP_FILE + " was successfully deployed");
}
/**
* Read the zip file contents into a byte array.
* @return byte[]
* @throws Exception - if cannot find the zip file to deploy
*/
private byte[] readZipFile()
throws Exception
{
// We assume here that you have a deploy.zip file.
// See the retrieve sample for how to retrieve a zip file.
File deployZip = new File(ZIP_FILE);
if (!deployZip.exists() || !deployZip.isFile())
throw new Exception("Cannot find the zip file to deploy. Looking for " +
deployZip.getAbsolutePath());
FileInputStream fos = new FileInputStream(deployZip);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int readbyte = -1;
while ((readbyte = fos.read()) != -1) {
bos.write(readbyte);
}
fos.close();
bos.close();
return bos.toByteArray();
}
/**
* Print out any errors, if any, related to the deploy.
* @param result - DeployResult
*/
private void printErrors(DeployResult result, String messageHeader)
{
DeployDetails deployDetails = result.getDetails();
StringBuilder errorMessageBuilder = new StringBuilder();
if (deployDetails != null) {
64
deploy()File-Based Calls
DeployMessage[] componentFailures = deployDetails.getComponentFailures();
for (DeployMessage message : componentFailures) {
String loc = (message.getLineNumber() == 0 ? "" :
("(" + message.getLineNumber() + "," +
message.getColumnNumber() + ")"));
if (loc.length() == 0
&& !message.getFileName().equals(message.getFullName())) {
loc = "(" + message.getFullName() + ")";
}
errorMessageBuilder.append(message.getFileName() + loc + ":" +
message.getProblem()).append('\n');
}
RunTestsResult rtr = deployDetails.getRunTestResult();
if (rtr.getFailures() != null) {
for (RunTestFailure failure : rtr.getFailures()) {
String n = (failure.getNamespace() == null ? "" :
(failure.getNamespace() + ".")) + failure.getName();
errorMessageBuilder.append("Test failure, method: " + n + "." +
failure.getMethodName() + " -- " +
failure.getMessage() + " stack " +
failure.getStackTrace() + "\n\n");
}
}
if (rtr.getCodeCoverageWarnings() != null) {
for (CodeCoverageWarning ccw : rtr.getCodeCoverageWarnings()) {
errorMessageBuilder.append("Code coverage issue");
if (ccw.getName() != null) {
String n = (ccw.getNamespace() == null ? "" :
(ccw.getNamespace() + ".")) + ccw.getName();
errorMessageBuilder.append(", class: " + n);
}
errorMessageBuilder.append(" -- " + ccw.getMessage() + "\n");
}
}
}
if (errorMessageBuilder.length() > 0) {
errorMessageBuilder.insert(0, messageHeader);
System.out.println(errorMessageBuilder.toString());
}
}
private void createMetadataConnection(
final String username,
final String password,
final String loginUrl) throws ConnectionException {
final ConnectorConfig loginConfig = new ConnectorConfig();
loginConfig.setAuthEndpoint(loginUrl);
loginConfig.setServiceEndpoint(loginUrl);
loginConfig.setManualLogin(true);
LoginResult loginResult = (new EnterpriseConnection(loginConfig)).login(
username, password);
65
deploy()File-Based Calls
final ConnectorConfig metadataConfig = new ConnectorConfig();
metadataConfig.setServiceEndpoint(loginResult.getMetadataServerUrl());
metadataConfig.setSessionId(loginResult.getSessionId());
this.metadataConnection = new MetadataConnection(metadataConfig);
}
}
1. Deleting Components from an Organization
To delete components, perform a deployment with the deploy() call by using a destructive changes manifest file that lists the
components to remove from your organization. You can perform a deployment that only deletes components, or a deployment
that deletes and adds components. In API version 33.0 and later, you can specify components to delete before and after other
components are added or updated. In earlier API versions, if deletions and additions are specified for the same deployment, the
deploy() call performs the deletions first.
2. checkDeployStatus()
Checks the status of declarative metadata call deploy().
3. cancelDeploy()
Cancels a deployment that hasnt completed yet.
SEE ALSO:
Running Tests in a Deployment
Deleting Components from an Organization
To delete components, perform a deployment with the deploy() call by using a destructive changes manifest file that lists the
components to remove from your organization. You can perform a deployment that only deletes components, or a deployment that
deletes and adds components. In API version 33.0 and later, you can specify components to delete before and after other components
are added or updated. In earlier API versions, if deletions and additions are specified for the same deployment, the deploy() call
performs the deletions first.
Deleting Components in a Deployment
To delete components, use the same procedure as with deploying components, but also include a delete manifest file thats named
destructiveChanges.xml and list the components to delete in this manifest. The format of this manifest is the same as
package.xml except that wildcards arent supported.
Note: You cant use destructiveChanges.xml to delete items that are associated with an active Lightning page, such
as a custom object, a component on the page, or the page itself. First, you must remove the page's action override by deactivating
it in the Lightning App Builder.
The following sample destructiveChanges.xml file names a single custom object to be deleted:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyCustomObject__c</members>
<name>CustomObject</name>
</types>
</Package>
66
Deleting Components from an OrganizationFile-Based Calls
To deploy the destructive changes, you must also have a package.xml file that lists no components to deploy, includes the API
version, and is in the same directory as destructiveChanges.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<version>61.0</version>
</Package>
Note:
To bypass the Recycle Bin, set the purgeOnDelete option to true.
When you delete a roll-up summary field using Metadata API, the field isn't saved in the Recycle Bin. The field is purged even
if you dont set the purgeOnDelete deployment option to true.
If you try to delete some components that dont exist in the organization, the rest of the deletions are still attempted.
Adding and Deleting Components in a Single Deployment
You can perform a deployment that specifies components to delete in destructiveChanges.xml and components to add or
update in package.xml. The process is the same as with performing a delete-only deployment except that package.xml contains
the components to add or update.
By default, deletions are processed before component additions. In API version 33.0 and later, you can specify components to be deleted
before and after component additions. The process is the same as with performing a delete-only deployment except that the name of
the deletion manifest file is different.
To delete components before adding or updating other components, create a manifest file thats named
destructiveChangesPre.xml and include the components to delete.
To delete components after adding or updating other components, create a manifest file thats named
destructiveChangesPost.xml and include the components to delete.
The ability to specify when deletions are processed is useful when youre deleting components with dependencies. For example, if a
custom object is referenced in an Apex class, you cant delete it unless you modify the Apex class first to remove the dependency on
the custom object. In this example, you can perform a single deployment that updates the Apex class to clear the dependency and then
deletes the custom object by using destructiveChangesPost.xml. The following are samples of the package.xml and
destructiveChangesPost.xml manifests that would be used in this example.
Sample package.xml, which specifies the class to update:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SampleClass</members>
<name>ApexClass</name>
</types>
<version>61.0</version>
</Package>
Sample destructiveChangesPost.xml, which specifies the custom object to delete after the class update:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyCustomObject__c</members>
<name>CustomObject</name>
67
Deleting Components from an OrganizationFile-Based Calls
</types>
</Package>
Note: The API version that the deployment uses is the API version thats specified in package.xml.
checkDeployStatus()
Checks the status of declarative metadata call deploy().
Syntax
DeployResult = metadatabinding.checkDeployStatus(ID id, includeDetails boolean);
Usage
checkDeployStatus is used as part of the process for deploying packaged or unpackaged components to an organization:
1. Issue a deploy() call to start the asynchronous deployment. An AsyncResult object is returned. Note the value in the id field,
and use it for the next step.
2. Issue a checkDeployStatus() call in a loop until the done field of the returned DeployResult contains true, which means
that the call is completed. The DeployResult object contains information about an in-progress or completed deployment started
using the deploy() call. When calling checkDeployStatus(), pass in the id value from the AsyncResult object from the
first step.
Note: Calls to checkDeployStatus() dont count against the API request limits and allocations.
In API version 29.0, Salesforce improved the deployment status properties and removed the requirement to use checkStatus()
after a deploy() call to get information about deployments. Salesforce continues to support the use of checkStatus() when
using deploy() with API version 28.0 or earlier.
Sample CodeJava
See the deploy() sample code for sample usage of this call.
Arguments
DescriptionTypeName
ID obtained from an AsyncResult object returned by deploy() or a subsequent checkStatus() call.IDid
Sets the DeployResult object to include DeployDetails information ((true) or not (false).
The default is false. Available in API version 29.0 and later.
booleanincludeDetails
Response
DeployResult
68
checkDeployStatus()File-Based Calls
cancelDeploy()
Cancels a deployment that hasnt completed yet.
Syntax
CancelDeployResult = metadatabinding.cancelDeploy(string id)
Usage
Use the cancelDeploy() operation to cancel a deployment in your organization started by the deploy() operation, which includes
deployments started by the Lightning Platform Migration Tool and the Lightning Platform IDE. The deployment can be in a queue waiting
to get started, or can be in progress. This operation takes the ID of the deployment you want to cancel and returns a CancelDeployResult
object. When the deployment is in the queue and hasnt started yet, calling cancelDeploy() cancels the deployment immediately.
When the deployment has started and is in progress, sometimes it doesnt get canceled immediately, so call checkDeployStatus() to
check the status of the cancellation.
Cancel a deployment using these steps.
1. Obtain the ID of the deployment you want to cancel. For example, you can obtain the ID from the deploy() call in the AsyncResult
object id field. Alternatively, you can obtain the ID in the Salesforce user interface from Setup by entering Deployment Status
in the Quick Find box, selecting Deployment Status, and then noting the ID of a deployment started by the API.
2. Issue a cancelDeploy() call to start the cancellation process. This call returns a CancelDeployResult object.
3. Check the value in the done field of the returned CancelDeployResult. If the done field value is true, the deployment
has been canceled and youre done. If the done field value is false, the cancellation is in progress. To check the cancellation
status, follow these steps.
a. Call checkDeployStatus() using the deployment ID you obtained earlier.
b. In the returned DeployResult object, check the status field. If the status is Canceling, the cancellation is still in progress,
and repeat steps a and b. Otherwise, if the status is Canceled, the deployment has been canceled and youre done.
The deploy() operation throws these API faults.
INVALID_ID_FIELD with the message Invalid deploy ID
The specified ID argument doesn't correspond to a valid deployment.
INVALID_ID_FIELD with the message Deployment already completed
The specified deployment has already completed.
Version
Available in API version 30.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
69
cancelDeploy()File-Based Calls
Arguments
DescriptionTypeName
The ID of the deployment to cancel.stringid
Response
CancelDeployResult
Sample CodeJava
This sample shows how to cancel a deployment. The sample calls cancelDeploy() by passing it a given deployment ID. Next, it
checks whether the cancellation has completed, and if not, calls checkDeployStatus in a loop.
public void cancelDeploy(String asyncId) throws Exception {
// Issue the deployment cancellation request
CancelDeployResult result = metadataConnection.cancelDeploy(asyncId);
// If the deployment cancellation completed, write a message to the output.
if (result.isDone()) {
System.out.println("Your deployment was canceled successfully!");
}
else {
// The deployment cancellation is still in progress, so get a new status
DeployResult deployResult = metadataConnection.checkDeployStatus(asyncId, false);
// Check whether the deployment is done. If not done, this means
// that the cancellation is still in progress and the status is Canceling.
while (!deployResult.isDone()) {
// Assert that the deployment status is Canceling
assert deployResult.getStatus() == DeployStatus.Canceling;
// Wait 2 seconds
Thread.sleep(2000);
// Get the deployment status again
deployResult = metadataConnection.checkDeployStatus(asyncId, false);
}
// The deployment is done. Write the status to the output.
// (When the deployment is done, the cancellation should have completed
// and the status should be Canceled. However, in very rare cases,
// the deployment can complete before it is canceled.)
System.out.println("Final deploy status = >" + deployResult.getStatus());
}
}
deployRecentValidation()
Deploys a recently validated component set without running Apex tests.
70
deployRecentValidation()File-Based Calls
Syntax
string = metadatabinding.deployRecentValidation(ID validationID)
Usage
Use deployRecentValidation() to deploy your components to production in less time by skipping the execution of Apex
tests. Ensure that the following requirements are met before deploying a recent validation.
The components have been validated successfully for the target environment within the last 10 days.
As part of the validation, Apex tests in the target org have passed.
Code coverage requirements are met.
If all tests in the org or all local tests are run, overall code coverage is at least 75%, and Apex triggers have some coverage.
If specific tests are run with the RunSpecifiedTests test level, each class and trigger that was deployed is covered by at
least 75% individually.
This call is equivalent to performing a quick deployment of a recent validation on the Deployment Status page in the Salesforce user
interface.
Before you call deployRecentValidation(), your organization must have a validation that was recently run. You can run a
validation on a set of components by calling deploy() with the checkOnly property of the deployOptions parameter set to
true. Note the ID that you obtained from the deploy() call. Youll use this ID for the deployRecentValidation() call in
the next step.
After youve run a validation successfully, use these steps to quick-deploy the validation to the same target environment.
1. To start an asynchronous quick deployment, call deployRecentValidation() and pass it the ID of a recent validation. This
ID is obtained from the previous deploy() call. The deployRecentValidation() call returns the ID of the quick deployment.
Note this value. Youll use it in the next step.
2. Check for the completion of the call. This process is similar to that of deploy(). Issue a checkDeployStatus() call in a loop until the
done field of the returned DeployResult contains true, which means that the call is completed. The DeployResult object contains
information about an in-progress or completed deployment that was started by using the deployRecentValidation()
call. When calling checkDeployStatus(), pass in the ID value that you obtained in the first step.
Version
Available in API version 33.0 and later.
Arguments
DescriptionTypeName
The ID of a recent validation.stringvalidationID
Response
Type: string
The ID of the quick deployment.
71
deployRecentValidation()File-Based Calls
Sample CodeJava
package com.salesforce.test.metadata;
import java.rmi.RemoteException;
import com.sforce.soap.metadata.CodeCoverageWarning;
import com.sforce.soap.metadata.DeployDetails;
import com.sforce.soap.metadata.DeployMessage;
import com.sforce.soap.metadata.DeployResult;
import com.sforce.soap.metadata.MetadataConnection;
import com.sforce.soap.metadata.RunTestFailure;
import com.sforce.soap.metadata.RunTestsResult;
import com.sforce.soap.partner.Connector;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
/**
* Quick-deploy a recent validation.
* Prerequisite: A successful validation (check-only deploy) has been done in the org
recently.
*/
public class DeployRecentValidationSample {
// binding for the metadata WSDL used for making metadata API calls
private MetadataConnection metadataConnection;
// one second in milliseconds
private static final long ONE_SECOND = 1000;
// maximum number of attempts to deploy the zip file
private static final int MAX_NUM_POLL_REQUESTS = 50;
public static void main(String[] args) throws Exception {
final String USERNAME = args[0];
final String PASSWORD = args[1];
final String URL = args[2];
final String recentValidationId = args[3];
DeployRecentValidationSample sample = new DeployRecentValidationSample(
USERNAME, PASSWORD, URL);
sample.deployRecentValidation(recentValidationId);
}
public DeployRecentValidationSample(String username, String password, String loginUrl)
throws ConnectionException {
createMetadataConnection(username, password, loginUrl);
}
public void deployRecentValidation(String recentValidationId)
throws RemoteException, Exception
{
String asyncResultId = metadataConnection.deployRecentValidation(recentValidationId);
72
deployRecentValidation()File-Based Calls
// Wait for the deploy to complete
int poll = 0;
long waitTimeMilliSecs = ONE_SECOND;
DeployResult deployResult = null;
boolean fetchDetails;
do {
Thread.sleep(waitTimeMilliSecs);
// double the wait time for the next iteration
waitTimeMilliSecs *= 2;
if (poll++ > MAX_NUM_POLL_REQUESTS) {
throw new Exception("Request timed out. If this is a large set " +
"of metadata components, check that the time allowed by " +
"MAX_NUM_POLL_REQUESTS is sufficient.");
}
// Fetch in-progress details once for every 3 polls
fetchDetails = (poll % 3 == 0);
deployResult = metadataConnection.checkDeployStatus(asyncResultId, fetchDetails);
System.out.println("Status is: " + deployResult.getStatus());
if (!deployResult.isDone() && fetchDetails) {
printErrors(deployResult, "Failures for deployment in progress:\n");
}
}
while (!deployResult.isDone());
if (!deployResult.isSuccess() && deployResult.getErrorStatusCode() != null) {
throw new Exception(deployResult.getErrorStatusCode() + " msg: " +
deployResult.getErrorMessage());
}
if (!fetchDetails) {
// Get the final result with details if we didn't do it in the last attempt.
deployResult = metadataConnection.checkDeployStatus(asyncResultId, true);
}
if (!deployResult.isSuccess()) {
printErrors(deployResult, "Final list of failures:\n");
throw new Exception("The files were not successfully deployed");
}
System.out.println("The recent validation " + recentValidationId +
" was successfully deployed");
}
/**
* Print out any errors, if any, related to the deploy.
* @param result - DeployResult
*/
private void printErrors(DeployResult result, String messageHeader)
{
DeployDetails deployDetails = result.getDetails();
73
deployRecentValidation()File-Based Calls
StringBuilder errorMessageBuilder = new StringBuilder();
if (deployDetails != null) {
DeployMessage[] componentFailures = deployDetails.getComponentFailures();
for (DeployMessage message : componentFailures) {
String loc = (message.getLineNumber() == 0 ? "" :
("(" + message.getLineNumber() + "," +
message.getColumnNumber() + ")"));
if (loc.length() == 0
&& !message.getFileName().equals(message.getFullName())) {
loc = "(" + message.getFullName() + ")";
}
errorMessageBuilder.append(message.getFileName() + loc + ":" +
message.getProblem()).append('\n');
}
RunTestsResult rtr = deployDetails.getRunTestResult();
if (rtr.getFailures() != null) {
for (RunTestFailure failure : rtr.getFailures()) {
String n = (failure.getNamespace() == null ? "" :
(failure.getNamespace() + ".")) + failure.getName();
errorMessageBuilder.append("Test failure, method: " + n + "." +
failure.getMethodName() + " -- " +
failure.getMessage() + " stack " +
failure.getStackTrace() + "\n\n");
}
}
if (rtr.getCodeCoverageWarnings() != null) {
for (CodeCoverageWarning ccw : rtr.getCodeCoverageWarnings()) {
errorMessageBuilder.append("Code coverage issue");
if (ccw.getName() != null) {
String n = (ccw.getNamespace() == null ? "" :
(ccw.getNamespace() + ".")) + ccw.getName();
errorMessageBuilder.append(", class: " + n);
}
errorMessageBuilder.append(" -- " + ccw.getMessage() + "\n");
}
}
}
if (errorMessageBuilder.length() > 0) {
errorMessageBuilder.insert(0, messageHeader);
System.out.println(errorMessageBuilder.toString());
}
}
private void createMetadataConnection(
final String username,
final String password,
final String loginUrl) throws ConnectionException {
final ConnectorConfig loginConfig = new ConnectorConfig();
loginConfig.setUsername(username);
loginConfig.setPassword(password);
loginConfig.setAuthEndpoint(loginUrl);
74
deployRecentValidation()File-Based Calls
Connector.newConnection(loginConfig);
final ConnectorConfig metadataConfig = new ConnectorConfig();
metadataConfig.setServiceEndpoint(
loginConfig.getServiceEndpoint().replace("/u/", "/m/"));
metadataConfig.setSessionId(loginConfig.getSessionId());
this.metadataConnection = com.sforce.soap.metadata.Connector.
newConnection(metadataConfig);
}
}
retrieve()
The retrieve() call retrieves XML file representations of components in an organization.
Syntax
AsyncResult = metadatabinding.retrieve(RetrieveRequest)
Usage
Use this call to retrieve file representations of components in an organization.
Here are the deploy limits. Limits can change without notice.
LimitFeature
Approximately 39 MBMaximum compressed .zip folder size
1
Approximately 600 MBMaximum uncompressed folder size
2
35,000Maximum number of files in AppExchange packages
10,000Maximum number of files in packages
Note: You can perform a retrieve() call for a big object only if its index is defined. If a big object is created in Setup and doesnt
yet have an index defined, you cant retrieve it.
1
Metadata API base-64 encodes components after theyre compressed. The resulting .zip file can't exceed 50 MB. Base-64 encoding
increases the size of the payload by approximately 22%, so your compressed payload can't exceed approximately 39 MB before encoding.
2
When using the Ant Migration Tool to deploy an unzipped project, all files in the project are compressed first. The maximum size of
uncompressed components in an uncompressed project is 600 MB or less, depending on the files compression ratio. If the files have a
high compression ratio, you can migrate a total of approximately 600 MB because the compressed size would be under 39 MB. However,
if the components can't be compressed much, like binary static resources, you can migrate less than 600 MB.
In API version 31.0 and later, the process of making a retrieve() call has been simplified. You no longer have to call checkStatus()
after a retrieve() call to obtain the status of the retrieve operation. Instead, make calls to checkRetrieveStatus() only. If the retrieve
75
retrieve()File-Based Calls
operation is in progress, call checkRetrieveStatus() again until the retrieve operation is completed. The checkStatus() call is still supported
in versions API version 30.0 or earlier, but isnt available in API version 31.0 and later.
For API version 31.0 or later, retrieve packaged or unpackaged components by using the following steps.
1. Issue a retrieve() call to start the asynchronous retrieval. An AsyncResult object is returned. Note the value in the id field,
and use it for the next step.
2. Issue a checkRetrieveStatus() call, and pass in the id value from the AsyncResult object from the first step. Check the value of the
done field of the returned RetrieveResult. If its true, the call is completed, and you proceed to the next step. Otherwise, repeat
this step to call checkRetrieveStatus() again until the done field is true.
3. Retrieve the zip file (zipFile) field and other desired fields from RetrieveResult, which the final call to checkRetrieveStatus()
returned in the previous step.
For API version 30.0 or earlier, retrieve packaged or unpackaged components by using the following steps.
1. Issue a retrieve() call to start the asynchronous retrieval. An AsyncResult object is returned. If the call is completed, the done
field contains true. Most often, the call isnt completed quickly enough to be noted in the result. If its completed, note the value
in the id field returned, and skip the next step.
2. If the call isnt completed, issue a checkStatus() call in a loop using the value in the id field of the AsyncResult object, returned by
the retrieve() call in the previous step. Check the AsyncResult object returned until the done field contains true. The time
taken to complete a retrieve() call depends on the size of the zip file being deployed, so use a longer wait time between
iterations as the size of the zip file increases.
3. Issue a checkRetrieveStatus() call to obtain the results of the retrieve() call, using the id value returned in the first step.
For examples of manifest files, see Sample package.xml Manifest Files.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Arguments
DescriptionTypeName
Encapsulates options for determining which packages or files are retrieved.RetrieveRequestretrieveRequest
Response
AsyncResult
Sample CodeJava
This sample shows how to retrieve components into a zip file. See the deploy() sample code for details on how to deploy a zip file.
76
retrieve()File-Based Calls
Note: This sample requires API version 34.0 or later.
package com.doc.samples;
import java.io.*;
import java.util.*;
import java.nio.ByteBuffer;
import java.nio.channels.*;
import java.rmi.RemoteException;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
import com.sforce.soap.metadata.AsyncResult;
import com.sforce.soap.metadata.MetadataConnection;
import com.sforce.soap.enterprise.EnterpriseConnection;
import com.sforce.soap.metadata.RetrieveMessage;
import com.sforce.soap.metadata.RetrieveRequest;
import com.sforce.soap.metadata.RetrieveResult;
import com.sforce.soap.metadata.RetrieveStatus;
import com.sforce.soap.enterprise.LoginResult;
import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
import com.sforce.soap.metadata.PackageTypeMembers;
public class RetrieveSample {
// Binding for the metadata WSDL used for making metadata API calls
private MetadataConnection metadataConnection;
static BufferedReader rdr = new BufferedReader(new InputStreamReader(System.in));
// one second in milliseconds
private static final long ONE_SECOND = 1000;
// maximum number of attempts to retrieve the results
private static final int MAX_NUM_POLL_REQUESTS = 50;
// manifest file that controls which components get retrieved
private static final String MANIFEST_FILE = "package.xml";
private static final double API_VERSION = 31.0;
public static void main(String[] args) throws Exception {
final String USERNAME = "[email protected]";
// This is only a sample. Hard coding passwords in source files is a bad practice.
final String PASSWORD = "password";
final String URL = "https://login.salesforce.com/services/Soap/c/31.0";
RetrieveSample sample = new RetrieveSample(USERNAME, PASSWORD, URL);
77
retrieve()File-Based Calls
sample.retrieveZip();
}
public RetrieveSample(String username, String password, String loginUrl)
throws ConnectionException {
createMetadataConnection(username, password, loginUrl);
}
private void retrieveZip() throws RemoteException, Exception
{
RetrieveRequest retrieveRequest = new RetrieveRequest();
// The version in package.xml overrides the version in RetrieveRequest
retrieveRequest.setApiVersion(API_VERSION);
setUnpackaged(retrieveRequest);
// Start the retrieve operation
AsyncResult asyncResult = metadataConnection.retrieve(retrieveRequest);
String asyncResultId = asyncResult.getId();
// Wait for the retrieve to complete
int poll = 0;
long waitTimeMilliSecs = ONE_SECOND;
RetrieveResult result = null;
do {
Thread.sleep(waitTimeMilliSecs);
// Double the wait time for the next iteration
waitTimeMilliSecs *= 2;
if (poll++ > MAX_NUM_POLL_REQUESTS) {
throw new Exception("Request timed out. If this is a large set " +
"of metadata components, check that the time allowed " +
"by MAX_NUM_POLL_REQUESTS is sufficient.");
}
result = metadataConnection.checkRetrieveStatus(
asyncResultId, true);
System.out.println("Retrieve Status: " + result.getStatus());
} while (!result.isDone());
if (result.getStatus() == RetrieveStatus.Failed) {
throw new Exception(result.getErrorStatusCode() + " msg: " +
result.getErrorMessage());
} else if (result.getStatus() == RetrieveStatus.Succeeded) {
// Print out any warning messages
StringBuilder buf = new StringBuilder();
if (result.getMessages() != null) {
for (RetrieveMessage rm : result.getMessages()) {
buf.append(rm.getFileName() + " - " + rm.getProblem());
}
}
if (buf.length() > 0) {
System.out.println("Retrieve warnings:\n" + buf);
}
// Write the zip to the file system
78
retrieve()File-Based Calls
System.out.println("Writing results to zip file");
ByteArrayInputStream bais = new ByteArrayInputStream(result.getZipFile());
File resultsFile = new File("retrieveResults.zip");
FileOutputStream os = new FileOutputStream(resultsFile);
try {
ReadableByteChannel src = Channels.newChannel(bais);
FileChannel dest = os.getChannel();
copy(src, dest);
System.out.println("Results written to " + resultsFile.getAbsolutePath());
} finally {
os.close();
}
}
}
/**
* Helper method to copy from a readable channel to a writable channel,
* using an in-memory buffer.
*/
private void copy(ReadableByteChannel src, WritableByteChannel dest)
throws IOException
{
// Use an in-memory byte buffer
ByteBuffer buffer = ByteBuffer.allocate(8092);
while (src.read(buffer) != -1) {
buffer.flip();
while(buffer.hasRemaining()) {
dest.write(buffer);
}
buffer.clear();
}
}
private void setUnpackaged(RetrieveRequest request) throws Exception
{
// Edit the path, if necessary, if your package.xml file is located elsewhere
File unpackedManifest = new File(MANIFEST_FILE);
System.out.println("Manifest file: " + unpackedManifest.getAbsolutePath());
if (!unpackedManifest.exists() || !unpackedManifest.isFile())
throw new Exception("Should provide a valid retrieve manifest " +
"for unpackaged content. " +
"Looking for " + unpackedManifest.getAbsolutePath());
// Note that we populate the _package object by parsing a manifest file here.
// You could populate the _package based on any source for your
// particular application.
com.sforce.soap.metadata.Package p = parsePackage(unpackedManifest);
request.setUnpackaged(p);
}
private com.sforce.soap.metadata.Package parsePackage(File file) throws Exception {
79
retrieve()File-Based Calls
try {
InputStream is = new FileInputStream(file);
List<PackageTypeMembers> pd = new ArrayList<PackageTypeMembers>();
DocumentBuilder db =
DocumentBuilderFactory.newInstance().newDocumentBuilder();
Element d = db.parse(is).getDocumentElement();
for (Node c = d.getFirstChild(); c != null; c = c.getNextSibling()) {
if (c instanceof Element) {
Element ce = (Element)c;
//
NodeList namee = ce.getElementsByTagName("name");
if (namee.getLength() == 0) {
// not
continue;
}
String name = namee.item(0).getTextContent();
NodeList m = ce.getElementsByTagName("members");
List<String> members = new ArrayList<String>();
for (int i = 0; i < m.getLength(); i++) {
Node mm = m.item(i);
members.add(mm.getTextContent());
}
PackageTypeMembers pdi = new PackageTypeMembers();
pdi.setName(name);
pdi.setMembers(members.toArray(new String[members.size()]));
pd.add(pdi);
}
}
com.sforce.soap.metadata.Package r = new com.sforce.soap.metadata.Package();
r.setTypes(pd.toArray(new PackageTypeMembers[pd.size()]));
r.setVersion(API_VERSION + "");
return r;
} catch (ParserConfigurationException pce) {
throw new Exception("Cannot create XML parser", pce);
} catch (IOException ioe) {
throw new Exception(ioe);
} catch (SAXException se) {
throw new Exception(se);
}
}
private void createMetadataConnection(final String username,
final String password, final String loginUrl)
throws ConnectionException {
final ConnectorConfig loginConfig = new ConnectorConfig();
loginConfig.setAuthEndpoint(loginUrl);
loginConfig.setServiceEndpoint(loginUrl);
loginConfig.setManualLogin(true);
LoginResult loginResult = (new EnterpriseConnection(loginConfig)).login(
username, password);
final ConnectorConfig metadataConfig = new ConnectorConfig();
80
retrieve()File-Based Calls
metadataConfig.setServiceEndpoint(loginResult.getMetadataServerUrl());
metadataConfig.setSessionId(loginResult.getSessionId());
this.metadataConnection = new MetadataConnection(metadataConfig);
}
//The sample client application retrieves the user's login credentials.
// Helper function for retrieving user input from the console
String getUserInput(String prompt) {
System.out.print(prompt);
try {
return rdr.readLine();
}
catch (IOException ex) {
return null;
}
}
}
RetrieveRequest
The RetrieveRequest parameter specified on a retrieve() call encapsulates options for determining which packages or
files are retrieved.
The RetrieveRequest object consists of the following properties:
DescriptionTypeName
Required. The API version for the retrieve request. The API
version determines the fields retrieved for each metadata type.
doubleapiVersion
For example, an icon field was added to the CustomTab
on page 671 for API version 14.0. If you retrieve components
for version 13.0 or earlier, the components don't include the
icon field.
In API version 31.0 and later, the API version thats specified in
package.xml is used for the retrieve() call and
overrides the version in the apiVersion field. If the version
isn't specified in package.xml, the version in this field is
used.
A list of package names to be retrieved. If you're retrieving only
unpackaged components, don't specify a name here. You can
string[]packageNames
retrieve packaged and unpackaged components in the same
retrieve.
Specifies whether only a single package is being retrieved
(true) or not (false). If false, then more than one
package is being retrieved.
booleansinglePackage
A list of file names to be retrieved. If a value is specified for this
property, packageNames must be set to null and
singlePackage must be set to true.
string[]specificFiles
81
RetrieveRequestFile-Based Calls
DescriptionTypeName
A list of components to retrieve that aren't in a package.Packageunpackaged
checkRetrieveStatus()
Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.
Syntax
In API version 34.0 and later:
RetrieveResult = metadatabinding.checkRetrieveStatus(ID id, boolean includeZip);
In API version 33.0 and earlier:
RetrieveResult = metadatabinding.checkRetrieveStatus(ID id);
Usage
Use checkRetrieveStatus() to check the progress of the metadata retrieve() operation. The RetrieveResult object that
this method returns indicates when the asynchronous retrieve() call is completed. If the retrieval is completed, RetrieveResult
contains the zip file contents by default. Use the following process to retrieve metadata components with the retrieve() call.
1. Issue a retrieve() call to start the asynchronous retrieval. An AsyncResult object is returned. Note the value in the id field,
and use it for the next step.
2. Issue a checkRetrieveStatus() call, and pass in the id value from the AsyncResult object from the first step. Check the value of the
done field of the returned RetrieveResult. If its true, the call is completed, and you proceed to the next step. Otherwise, repeat
this step to call checkRetrieveStatus() again until the done field is true.
3. Retrieve the zip file (zipFile) field and other desired fields from RetrieveResult, which the final call to checkRetrieveStatus()
returned in the previous step.
In API version 31.0 and later, the process of making a retrieve() call has been simplified. You no longer have to call checkStatus()
after a retrieve() call to obtain the status of the retrieve operation. Instead, make calls to checkRetrieveStatus() only. If the retrieve
operation is in progress, call checkRetrieveStatus() again until the retrieve operation is completed. The checkStatus() call is still supported
in versions API version 30.0 or earlier, but isnt available in API version 31.0 and later.
Retrieving the Zip File in a Second Process
By default, checkRetrieveStatus() returns the zip file on the last call to this operation when the retrieval is completed
(RetrieveResult.isDone() == true) and then deletes the zip file from the server. Subsequent calls to
checkRetrieveStatus() for the same retrieve operation cant retrieve the zip file after it has been deleted. Starting with API
version 34.0, pass a boolean value for the includeZip argument of checkRetrieveStatus() to indicate whether to retrieve
the zip file. The includeZip argument gives you the option to retrieve the file in a separate process after the retrieval operation is
completed. For example, a service polls the retrieval status by calling checkRetrieveStatus(id, false) in a loop. This call
returns the status of the retrieval operation, but doesnt retrieve the zip file. After the retrieval operation is completed, another process,
82
checkRetrieveStatus()File-Based Calls
such as a background file transfer service, calls checkRetrieveStatus(id, true) to retrieve the zip file. This last call causes
the zip file to be deleted from the server.
// First process: Poll the retrieval but don’t retrieve the zip file.
AsyncResult asyncResult = metadataConnection.retrieve(retrieveRequest);
String asyncResultId = asyncResult.getId();
// Wait for the retrieve to complete
int poll = 0;
long waitTimeMilliSecs = ONE_SECOND;
RetrieveResult result = null;
do {
Thread.sleep(waitTimeMilliSecs);
// Check the status but don’t retrieve zip file.
result = metadataConnection.checkRetrieveStatus(asyncResultId, false);
} while (!result.isDone());
// Second process: Retrieve the zip file.
// For example, this process can be a background file transfer service.
// Retrieve the zip file.
result = metadataConnection.checkRetrieveStatus(asyncResultId, true);
// Get the zip file from the RetrieveResult (result) variable
if (result.getStatus() == RetrieveStatus.Succeeded) {
ByteArrayInputStream bais = new ByteArrayInputStream(result.getZipFile());
// ...
}
Sample CodeJava
See the retrieve() sample code for sample usage of this call.
Arguments
DescriptionTypeName
ID obtained from an AsyncResult object returned by a retrieve() call or a subsequent RetrieveResult
object returned by a checkRetrieveStatus() call.
IDid
Set to true to retrieve the zip file. You can retrieve the zip file only after the retrieval operation
is completed. After the zip file is retrieved, its deleted from the server. Set to false to check
booleanincludeZip
the status of the retrieval without attempting to retrieve the zip file. If set to null, this argument
defaults to true, which means that the zip file is retrieved on the last call to
checkRetrieveStatus() when the retrieval has finished.
This argument is available in API version 34.0 and later.
Response
RetrieveResult
83
checkRetrieveStatus()File-Based Calls
CHAPTER 9 CRUD-Based Calls
Use CRUD-based calls to work with metadata components in a manner similar to how synchronous API calls in the enterprise WSDL act
upon objects.
createMetadata()
Adds one or more new metadata components to your organization synchronously.
readMetadata()
Returns one or more metadata components from your organization synchronously.
updateMetadata()
Updates one or more metadata components in your organization synchronously.
upsertMetadata()
Creates or updates one or more metadata components in your organization synchronously.
deleteMetadata()
Deletes one or more metadata components from your organization synchronously.
renameMetadata()
Renames a metadata component in your organization synchronously.
create()
Deprecated. Adds one or more new metadata components to your organization asynchronously. This call is removed as of API version
31.0 and is available in earlier versions only. Use createMetadata() instead.
delete()
Deprecated. Deletes one or more components from your organization asynchronously. This call is removed as of API version 31.0
and is available in earlier versions only. Use deleteMetadata() instead.
update()
Deprecated. Updates one or more components in your organization asynchronously. This call is removed as of API version 31.0 and
is available in earlier versions only. Use updateMetadata() or renameMetadata() instead.
createMetadata()
Adds one or more new metadata components to your organization synchronously.
Syntax
SaveResult[] = metadatabinding.createMetadata(
Metadata[] metadata);
84
Usage
Use the createMetadata() call to create any component that extends Metadata. All components must be of the same type in
the same call. For more details, see Metadata Components and Types.
This call executes synchronously, which means that the call returns only when the operation completes.
Starting in API version 34.0, this call supports the AllOrNoneHeader header. By default, if AllOrNoneHeader isnt used in API version
34.0 and later, this call can save a partial set of records for records with no errors (equivalent to AllOrNoneHeader=false). In API
version 33.0 and earlier, the default behavior is to only save all records when there are no failures in any record in the call (equivalent to
AllOrNoneHeader=true).
Version
Available in API version 30.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Required Fields
The metadata components being created determine required fields. For more information about specific component types, see Metadata
Components and Types.
Valid Data Values
You must supply values that are valid for the fields data type, such as integers for integer fields (not alphabetic characters). In your client
application, follow the data formatting rules specified for your programming language and development tool. (Your development tool
handles the appropriate mapping of data types in SOAP messages.)
String Values
When storing values in string fields, the API trims any leading and trailing whitespace. For example, if the value of a label field is
entered as "MyObject ", the value is stored in the database as "MyObject".
Basic Steps for Creating Metadata Components
Follow this process to create metadata components.
1. Design an array, and populate it with the components that you want to create. All components must be of the same type.
2. Call createMetadata() with the component array passed in as an argument.
3. A SaveResult object is returned for each component you tried to create. It contains information about whether the operation
was successful, the name of the component created, and any errors returned if the operation wasnt successful.
85
createMetadata()CRUD-Based Calls
Sample CodeJava
public void createCustomObjectSync() {
try {
CustomObject co = new CustomObject();
String name = "MyCustomObject1";
co.setFullName(name + "__c");
co.setDeploymentStatus(DeploymentStatus.Deployed);
co.setDescription("Created by the Metadata API");
co.setEnableActivities(true);
co.setLabel(name + " Object");
co.setPluralLabel(co.getLabel() + "s");
co.setSharingModel(SharingModel.ReadWrite);
CustomField nf = new CustomField();
nf.setType(FieldType.Text);
nf.setLabel(co.getFullName() + " Name");
co.setNameField(nf);
SaveResult[] results = metadataConnection
.createMetadata(new Metadata[] { co });
for (SaveResult r : results) {
if (r.isSuccess()) {
System.out.println("Created component: " + r.getFullName());
} else {
System.out
.println("Errors were encountered while creating "
+ r.getFullName());
for (Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
}
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
Array of one or more metadata components.
Limit: 10. (For CustomMetadata on page 571 and CustomApplication on page 540 only, the
limit is 200.)
Metadata[]metadata
You must submit arrays of only one type of component. For example, you can submit an array
of 10 custom objects or 10 profiles, but not a mix of both types.
86
createMetadata()CRUD-Based Calls
Response
SaveResult[]
readMetadata()
Returns one or more metadata components from your organization synchronously.
Syntax
ReadResult = metadataConnection.readMetadata(string metadataType, string[] fullNames);
Usage
Use the readMetadata() call to retrieve any component that extends Metadata. All components must be of the same type in the
same call. For more details, see Metadata Components and Types.
This call executes synchronously, which means that the call returns only when the operation completes.
Version
Available in API version 30.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Basic Steps for Reading Metadata Components
Use the following process to read metadata components:
1. Determine the metadata type of the components you want to read and the fullName of each component to read.
The full names must match one or more full names returned by the listMetadata() call, which includes namespace prefixes.
If you obtain the fullName from a package manifest file, and the component has a namespace prefix, prepend the namespace
prefix to the fullName. Use this syntax: namespacePrefix__ComponentName. For example, for the custom object
component MyCustomObject__c and the namespace MyNS, the fullName is MyNS__MyCustomObject__c. For
more information about the fullName field, see Metadata.
You can read only components of the same type in a single call.
2. Invoke the readMetadata() call. For the first argument, pass in the name of the metadata type. The metadata type must match
one of the values returned by the describeMetadata() call. For the second argument, pass in an array of full names
corresponding to the components you wish to get.
3. A ReadResult is returned that contains an array of Metadata components. Cast each returned Metadata object to the
metadata type you specified in the call to get the components properties.
87
readMetadata()CRUD-Based Calls
Sample CodeJava
public void readCustomObjectSync() {
try {
ReadResult readResult = metadataConnection
.readMetadata("CustomObject", new String[] {
"MyCustomObject1__c", "MyCustomObject2__c" });
Metadata[] mdInfo = readResult.getRecords();
System.out.println("Number of component info returned: "
+ mdInfo.length);
for (Metadata md : mdInfo) {
if (md != null) {
CustomObject obj = (CustomObject) md;
System.out.println("Custom object full name: "
+ obj.getFullName());
System.out.println("Label: " + obj.getLabel());
System.out.println("Number of custom fields: "
+ obj.getFields().length);
System.out.println("Sharing model: "
+ obj.getSharingModel());
} else {
System.out.println("Empty metadata.");
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
The metadata type of the components to read.stringmetadataType
Array of full names of the components to read.
Limit: 10. (For CustomMetadata on page 571 and CustomApplication on page 540 only, the
limit is 200.)
string[]fullNames
You must submit arrays of only one type of component. For example, you can submit an array
of 10 custom objects or 10 profiles, but not a mix of both types.
Response
ReadResult
updateMetadata()
Updates one or more metadata components in your organization synchronously.
88
updateMetadata()CRUD-Based Calls
Syntax
SaveResult[] = metadataConnection.updateMetadata(Metadata[] metadata);
Usage
Use the updateMetadata() call to update any component that extends Metadata. All components must be of the same type in
the same call. For more details, see Metadata Components and Types.
This call executes synchronously, which means that the call returns only when the operation completes.
Starting in API version 34.0, this call supports the AllOrNoneHeader header. By default, if AllOrNoneHeader isnt used in API version
34.0 and later, this call can save a partial set of records for records with no errors (equivalent to AllOrNoneHeader=false). In API
version 33.0 and earlier, the default behavior is to only save all records when there are no failures in any record in the call (equivalent to
AllOrNoneHeader=true).
Version
Available in API version 30.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Required Fields
You must supply values for all the required fields in the component.
Valid Field Values
You must supply values that are valid for the fields data type, such as integers for integer fields (not alphabetic characters). In your client
application, follow the data formatting rules specified for your programming language and development tool. (Your development tool
handles the appropriate mapping of data types in SOAP messages.)
String Values
When storing values in string fields, the API trims any leading and trailing white space. For example, if the value of a label field is
entered as "MyObject ", the value is stored in the database as "MyObject".
Basic Steps for Updating Metadata Components
Use this process to update metadata components.
1. Create an array of the components you want to update. All components must be of the same type.
2. Invoke the updateMetadata() call, passing in the array of metadata components to update.
89
updateMetadata()CRUD-Based Calls
A SaveResult object is returned for each component you try to update. It contains information about whether the operation
was successful, the name of the component updated, and any errors returned if the operation wasnt successful.
Sample CodeJava
public void updateCustomObjectSync() {
try {
CustomObject co = new CustomObject();
String name = "MyCustomObject1";
co.setFullName(name + "__c");
co.setDeploymentStatus(DeploymentStatus.Deployed);
co.setDescription("Updated description");
co.setLabel(name + " Object Update");
co.setPluralLabel(co.getLabel() + "s");
co.setSharingModel(SharingModel.ReadWrite);
// Name field with a type and label is required
CustomField cf = new CustomField();
cf.setType(FieldType.Text);
cf.setLabel(co.getFullName() + " Name");
co.setNameField(cf);
SaveResult[] results = metadataConnection
.updateMetadata(new Metadata[] { co });
for (SaveResult r : results) {
if (r.isSuccess()) {
System.out.println("Updated component: " + r.getFullName());
} else {
System.out
.println("Errors were encountered while updating "
+ r.getFullName());
for (Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
}
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
Array of one or more metadata components you wish to update.
Limit: 10. (For CustomMetadata on page 571 and CustomApplication on
page 540 only, the limit is 200.)
Metadata[]metadata
90
updateMetadata()CRUD-Based Calls
DescriptionTypeName
You must submit arrays of only one type of component. For example, you
can submit an array of 10 custom objects or 10 profiles, but not a mix of
both types.
Response
SaveResult[]
upsertMetadata()
Creates or updates one or more metadata components in your organization synchronously.
Syntax
UpsertResult[] = metadataConnection.upsertMetadata(Metadata[] metadata);
Usage
Use the upsertMetadata() call to create or update any component that extends Metadata. All components must be of the same
type in the same call. For more details, see Metadata Components and Types.
If the specified components currently exist in your organization, the upsertMetadata() call updates them. Otherwise,
upsertMetadata() creates these components. The fullname field matches the components. This call executes synchronously,
which means that the call returns only after the operation is completed.
Starting in API version 34.0, this call supports the AllOrNoneHeader header. By default, if AllOrNoneHeader isnt used in API version
34.0 and later, this call can save a partial set of records for records with no errors (equivalent to AllOrNoneHeader=false). In API
version 33.0 and earlier, the default behavior is to only save all records when there are no failures in any record in the call (equivalent to
AllOrNoneHeader=true).
Version
Available in API version 31.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Required Fields
You must supply values for all the required fields in the component.
91
upsertMetadata()CRUD-Based Calls
Valid Field Values
You must supply values that are valid for the fields data type, such as integers (not alphabetic characters) for integer fields. In your client
application, follow the data formatting rules that are specified for your programming language and development tool. (Your development
tool handles the appropriate mapping of data types in SOAP messages.)
String Values
The API trims any leading and trailing white space when storing values in string fields. For example, if the value of a label field is
entered as " MyObject ", the value is stored in the database as "MyObject".
Basic Steps for Upserting Metadata Components
Use this process to upsert metadata components.
1. Create an array of Metadata objects that correspond to the components that you want to create or update. All components must
be of the same type.
2. Invoke upsertMetadata(), passing in the array of metadata components that you created in the previous step.
The upsertMetadata() call returns an array of UpsertResult objects. Each returned UpsertResult corresponds
to a component that you upserted and contains information about the upsert operationwhether the operation was successful,
the name of the component that was upserted, a flag indicating whether the component was created, and any errors that were
returned if the operation wasnt successful.
Sample CodeJava
public void upsertMetadataSample() {
try {
// Create custom object to upsert
CustomObject co = new CustomObject();
String name = "MyCustomObject";
co.setFullName(name + "__c");
co.setDeploymentStatus(DeploymentStatus.Deployed);
co.setDescription("Upserted by the Metadata API");
co.setEnableActivities(true);
co.setLabel(name + " Object");
co.setPluralLabel(co.getLabel() + "s");
co.setSharingModel(SharingModel.ReadWrite);
CustomField nf = new CustomField();
nf.setType(FieldType.Text);
nf.setLabel("CustomField1");
co.setNameField(nf);
// Upsert the custom object
UpsertResult[] results = metadataConnection
.upsertMetadata(new Metadata[] { co });
for (UpsertResult r : results) {
if (r.isSuccess()) {
System.out.println("Success!");
92
upsertMetadata()CRUD-Based Calls
if (r.isCreated()) {
System.out.println("Created component: "
+ r.getFullName());
} else {
System.out.println("Updated component: "
+ r.getFullName());
}
} else {
System.out
.println("Errors were encountered while upserting "
+ r.getFullName());
for (Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
}
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
An array of one or more metadata components that you want to create
or update
Limit: 10.
Metadata[]metadata
You must submit arrays of only one type of component. For example, you
can submit an array of 10 custom objects or 10 profiles, but not a mix of
both types.
Response
UpsertResult[]
deleteMetadata()
Deletes one or more metadata components from your organization synchronously.
Syntax
DeleteResult[] = metadataConnection.delete(string metadataType, string[] fullNames);
93
deleteMetadata()CRUD-Based Calls
Usage
Use the deleteMetadata() call to delete any component that extends Metadata. All components must be of the same type in
the same call. For more details, see Metadata Components and Types.
This call executes synchronously, which means that the call returns only when the operation completes.
Starting in API version 34.0, this call supports the AllOrNoneHeader header. By default, if the AllOrNoneHeader isnt used in any
API version, this call can delete a partial set of records for records with no errors (equivalent to AllOrNoneHeader=false). If
AllOrNoneHeader is set to true, no records are deleted if one or more records cause a failure.
Version
Available in API version 30.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Rules and Guidelines
When deleting components, consider the following rules and guidelines:
Your client application must be logged in with sufficient access rights to delete individual components within the specified component.
For more information, see Factors that Affect Data Access in the Salesforce Object Reference.
In addition, sometimes you also need permission to access this components parent component.
To ensure referential integrity, this call supports cascading deletions. If you delete a parent component, you delete its children
automatically, as long as each child component can be deleted.
Basic Steps for Deleting Metadata Components
Use the following process to delete metadata components:
1. Determine the metadata type of the components you want to delete and the fullName of each component to delete. You can
delete only components of the same type in a single call. The full names must match one or more full names returned by the
listMetadata() call, which includes namespace prefixes. If you obtain the fullName from a package manifest file, and
the component has a namespace prefix, prepend the namespace prefix to the fullName. Use this syntax:
namespacePrefix__ComponentName. For example, for the custom object component MyCustomObject__c and
the namespace MyNS, the fullName is MyNS__MyCustomObject__c. See Metadata for more details on the fullName
field.
2. Invoke the deleteMetadata() call. For the first argument, pass in the name of the metadata type. For the second argument,
pass in an array of full names corresponding to the components you wish to delete.
A DeleteResult object is returned for each component you try to delete. It contains information about whether the operation
was successful, the name of the deleted component, and any errors returned if the operation wasnt successful.
94
deleteMetadata()CRUD-Based Calls
Sample CodeJava
public void deleteCustomObjectSync() {
try {
DeleteResult[] results = metadataConnection.deleteMetadata(
"CustomObject", new String[] { "MyCustomObject1__c",
"MyCustomObject2__c" });
for (DeleteResult r : results) {
if (r.isSuccess()) {
System.out.println("Deleted component: " + r.getFullName());
} else {
System.out
.println("Errors were encountered while deleting "
+ r.getFullName());
for (Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
}
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
The metadata type of the components to delete.stringmetadataType
Array of full names of the components to delete.
Limit: 10. (For CustomMetadata on page 571 and CustomApplication on page 540 only, the
limit is 200.)
string[]fullNames
Submit arrays of only one type of component. For example, you can submit an array of 10
custom objects or 10 profiles, but not a mix of both types.
Response
DeleteResult[]
renameMetadata()
Renames a metadata component in your organization synchronously.
95
renameMetadata()CRUD-Based Calls
Syntax
SaveResult = metadataConnection.renameMetadata(string metadataType, String oldFullname,
String newFullname);
Usage
Use the renameMetadata() call to rename one metadata component in your organization. This call executes synchronously,
meaning the call returns only when the operation completes.
You can use this call to rename any of the objects that extend Metadata. For more details, see Metadata Components and Types.
Version
Available in API version 30.0 and later.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Basic Steps for Renaming Metadata Components
Use this process to rename a metadata component.
1. Determine the metadata type of the component you want to rename, its current full name, and the new full name. See Metadata
for more details on the fullName field.
2. Invoke the renameMetadata() call. For the first argument, pass in the name of the metadata type. Pass in the old full name
as the second argument and the new full name as the last argument.
A SaveResult object that contains information about whether the operation was successful is returned. If successful, the object
contains the name of the renamed component, which is the new name. If it wasnt successful, the object returns any errors.
Sample CodeJava
public void renameCustomObjectSync() {
try {
SaveResult[] results = metadataConnection.renameMetadata(
"CustomObject", "MyCustomObject1__c","MyCustomObject1New__c");
for (SaveResult r : results) {
if (r.isSuccess()) {
System.out.println("Renamed component: " + r.getName());
}
else {
System.out.println("Errors were encountered while renaming " + r.getName());
for(Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
96
renameMetadata()CRUD-Based Calls
}
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
Arguments
DescriptionTypeName
The metadata type of the components to rename.stringmetadataType
The current component full name.stringoldFullName
The full name of the new component.stringnewFullName
Response
SaveResult
create()
Deprecated. Adds one or more new metadata components to your organization asynchronously. This call is removed as of API version
31.0 and is available in earlier versions only. Use createMetadata() instead.
Syntax
AsyncResult[] = metadatabinding.create(Metadata[] metadata);
Usage
Use this call to add one or more metadata components to your organization.
Version
This call is available in API version 30.0 and earlier only. This call isnt available in API version 31.0 and later. Use createMetadata() instead.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
97
create()CRUD-Based Calls
Required Fields
The metadata components being created determine required fields. For more information about specific component types, see Metadata
Components and Types on page 155.
Valid Data Values
You must supply values that are valid for the fields data type, such as integers for integer fields (not alphabetic characters). In your client
application, follow the data formatting rules specified for your programming language and development tool. (Your development tool
handles the appropriate mapping of data types in SOAP messages).
String Values
When storing values in string fields, the API trims any leading and trailing whitespace. For example, if the value of a label field is
entered as "MyObject ", the value is stored in the database as "MyObject".
Basic Steps for Creating Metadata Components
Use the following process to create metadata components:
1. Design an array, and populate it with the components you want to create. All components must be of the same type.
2. Call create() with the component array passed in as an argument.
3. An AsyncResult object is returned for each component you try to create, and is updated with status information as the operation
moves from a queue to completed or error state. Call checkStatus() in a loop until the status values in AsyncResult indicate that all
create operations are completed. Start with a wait time of 1 second between iterations of checkStatus() calls, and double the wait
time each time you make a subsequent call.
Sample CodeJava
See Step 3: Walk Through the Java Sample Code on page 16 for sample Java code using the create() call.
Arguments
DescriptionTypeName
Array of one or more metadata components.
Metadata[]metadata
Limit: 10.
You must submit arrays of only one type of component. For example, you could submit an
array of 10 custom objects or 10 profiles, but not a mix of both types.
98
create()CRUD-Based Calls
Response
AsyncResult[]
SEE ALSO:
createMetadata()
update()
delete()
checkStatus()
delete()
Deprecated. Deletes one or more components from your organization asynchronously. This call is removed as of API version 31.0 and is
available in earlier versions only. Use deleteMetadata() instead.
You can use this call to delete any of the objects that extend Metadata. For more details, see Metadata Components and Types on page
155.
Syntax
AsyncResult[] = metadataConnection.delete(Metadata[] metadata);
Usage
Use this call to delete one or more components from your organization.
Version
This call is available in API version 30.0 and earlier only. This call isnt available in API version 31.0 and later. Use deleteMetadata() instead.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Rules and Guidelines
When deleting components, consider the following rules and guidelines:
Your client application must be logged in with sufficient access rights to delete individual components within the specified component.
For more information, see Factors that Affect Data Access in the Salesforce Object Reference.
In addition, sometimes you also need permission to access this components parent component.
To ensure referential integrity, this call supports cascading deletions. If you delete a parent component, you delete its children
automatically, as long as each child component can be deleted.
99
delete()CRUD-Based Calls
Basic Steps for Deleting Metadata Components
Use the following process to delete metadata components:
1. Determine the fullName of each component you want to delete. See Metadata for more details on the fullName field. You
can only delete components of the same type in a single call.
2. Invoke the delete() call, passing in the array of metadata components with fullName specified.
3. An AsyncResult object is returned for each component you try to delete, and is updated with status information as the operation
moves from a queue to completed or error state. Call checkStatus() in a loop until the status values in AsyncResult indicate that all
the delete operations are completed. Start with a wait time of 1 second between iterations of checkStatus() calls, and double the
wait time each time you make a subsequent call.
Sample CodeJava
public void deleteCustomObject() {
try {
CustomObject co = new CustomObject();
co.setFullName("MyCustomObject__c");
AsyncResult[] ars = metadataConnection.create(new Metadata[]
{co});
AsyncResult asyncResult = ars[0];
long waitTimeMilliSecs = 1000;
while (!asyncResult.isDone()) {
Thread.sleep(waitTimeMilliSecs);
// double the wait time for the next iteration
waitTimeMilliSecs *= 2;
asyncResult = mdConnection.checkStatus(
new String[] {asyncResult.getId()})[0];
System.out.println("Status is: " + asyncResult.getState());
}
} catch (ConnectionException ce) {
ce.printStackTrace();
} catch (InterruptedException ie) {
ie.printStackTrace();
}
}
Arguments
DescriptionTypeName
Array of one or more metadata components. Only set the fullName field in the Metadata
object.
Metadata[]metadata
Limit: 10.
You must submit arrays of only one type of component. For example, you could submit an
array of 10 custom objects or 10 profiles, but not a mix of both types.
100
delete()CRUD-Based Calls
Response
AsyncResult[]
SEE ALSO:
deleteMetadata()
create()
update()
checkStatus()
update()
Deprecated. Updates one or more components in your organization asynchronously. This call is removed as of API version 31.0 and is
available in earlier versions only. Use updateMetadata() or renameMetadata() instead.
This call can be used to update any of the objects that extend Metadata. For more details, see Metadata Components and Types on page
155.
Syntax
AsyncResult[] = metadataConnection.update(UpdateMetadata[] metadata);
Usage
Use this call to update one or more components. This call is analogous to the ALTER TABLE statement in SQL.
Version
This call is available in API version 30.0 and earlier only. This call isnt available in API version 31.0 and later. Use updateMetadata() instead
to update metadata components or renameMetadata() to rename a metadata component.
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Required Fields
You must supply values for all the required fields in the component.
101
update()CRUD-Based Calls
Valid Field Values
You must supply values that are valid for the fields data type, such as integers for integer fields (not alphabetic characters). In your client
application, follow the data formatting rules specified for your programming language and development tool. (Your development tool
handles the appropriate mapping of data types in SOAP messages).
String Values
When storing values in string fields, the API trims any leading and trailing white space. For example, if the value of a label field is
entered as "MyObject ", the value is stored in the database as "MyObject".
Basic Steps for Updating Metadata Components
Use this process to update metadata components:
1. Create an array of UpdateMetadata components, and populate it with the components you want to update. All components
must be of the same type.
2. Invoke the update() call, passing in the array of metadata components to update.
3. An AsyncResult object is returned for each component you try to update, and is updated with status information as the operation
moves from a queue to completed or error state. In a loop, call checkStatus() until the status values in AsyncResult indicate that all
the update operations are completed. Start with a wait time of 1 second between iterations of checkStatus() calls, and double the
wait time each time you make a subsequent call.
Sample CodeJava
public void updateCustomObject() {
try {
CustomObject co = new CustomObject();
String name = "MyCustomObject";
co.setFullName(name + "__c");
co.setDeploymentStatus(DeploymentStatus.Deployed);
co.setDescription("Created by the Metadata API");
co.setEnableActivities(true);
co.setLabel(name + " Object");
co.setPluralLabel(co.getLabel() + "s");
co.setSharingModel(SharingModel.ReadWrite);
CustomField nf = new CustomField();
nf.setType(FieldType.Text);
nf.setLabel(co.getFullName() + " Name");
co.setNameField(nf);
UpdateMetadata updateMetadata = new UpdateMetadata();
updateMetadata.setMetadata(co);
updateMetadata.setCurrentName("TheCurrentName");
AsyncResult[] ars = metadataConnection.update(new UpdateMetadata[]
{ updateMetadata });
AsyncResult asyncResult = ars[0];
102
update()CRUD-Based Calls
// set initial wait time to one second in milliseconds
long waitTimeMilliSecs = 1000;
while (!asyncResult.isDone()) {
Thread.sleep(waitTimeMilliSecs);
// double the wait time for the next iteration
waitTimeMilliSecs *= 2;
asyncResult = metadataConnection.checkStatus(
new String[] {asyncResult.getId()})[0];
System.out.println("Status is: " + asyncResult.getState());
}
if (asyncResult.getState() != AsyncRequestState.Completed) {
System.out.println(asyncResult.getStatusCode() + " msg: " +
asyncResult.getMessage());
}
} catch (InterruptedException ie) {
ie.printStackTrace();
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
Array of one or more UpdateMetadata data structures that represent the
components you wish to update.
Limit: 10.
UpdateMetadata[]metadata
You must submit arrays of only one type of component. For example, you
could submit an array of 10 custom objects or 10 profiles, but not a mix
of both types.
UpdateMetadata
One or more UpdateMetadata objects are defined in the metadata argument. This object can be used to update any of the objects
that extend Metadata. For more details, see Metadata Components and Types on page 155. Each UpdateMetadata object has the following
fields:
DescriptionField TypeField
The API name of the component or field before the update. For example,
if you wanted to update a CustomObject named Foo, the value of this
stringcurrentName
field would be Foo__c. This value is supplied because this call can
change the name, and the value here provides mapping.
Full specification of the component or field you want to update.Metadatametadata
103
update()CRUD-Based Calls
Response
AsyncResult[]
SEE ALSO:
updateMetadata()
create()
delete()
checkStatus()
104
update()CRUD-Based Calls
CHAPTER 10 Utility Calls
Use utility calls to gather information that is useful for working with the file-based or CRUD-based calls.
(Deprecated) checkStatus()
describeMetadata()
describeValueType()
listMetadata()
checkStatus()
Deprecated. Checks the status of asynchronous metadata calls create(), update(), or delete(), or the declarative metadata
call retrieve(). This call is removed as of API version 31.0 and is available only in earlier versions.
Note: Starting in API version 29.0, you no longer have to call checkStatus() on page 105 after a deploy() on page 56 call to get
information about deployments. Similarly, starting in API version 31.0, you no longer have to call checkStatus() on page 105 after
a retrieve() on page 75 call. The checkStatus() on page 105 call has been replaced by checkDeployStatus() and checkRetrieveStatus()
for deploy and retrieve operations respectively.
Syntax
AsyncResult[] = metadatabinding.checkStatus(ID[] ids);
Usage
Use this call to check whether an asynchronous metadata call or declarative metadata call has completed.
Version
This call is available only in API version 30.0 and earlier. This call isnt available in API version 31.0 and later.
Sample CodeJava
See Step 3: Walk Through the Java Sample Code on page 16 for sample Java code using this call.
105
Arguments
DescriptionTypeName
Array of one or more IDs. Each ID is returned in an AsyncResult and corresponds to a component
being created, updated, deleted, deployed, or retrieved.
ID[]ids
Response
AsyncResult[]
describeMetadata()
This call retrieves the metadata that describes your organization. This information includes Apex classes and triggers, custom objects,
custom fields on standard objects, tab sets that define an app, and many other metadata types.
Syntax
DescribeMetadataResult = metadataConnection.describeMetadata(double apiVersion);
Arguments
DescriptionTypeName
The API version for which you want metadata, for example, 61.0.doubleapiVersion
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Sample CodeJava
public void describeMetadata() {
try {
double apiVersion = 21.0;
// Assuming that the SOAP binding has already been established.
DescribeMetadataResult res =
metadataConnection.describeMetadata(apiVersion);
StringBuffer sb = new StringBuffer();
if (res != null && res.getMetadataObjects().length > 0) {
for (DescribeMetadataObject obj : res.getMetadataObjects()) {
sb.append("***************************************************\n");
sb.append("XMLName: " + obj.getXmlName() + "\n");
106
describeMetadata()Utility Calls
sb.append("DirName: " + obj.getDirectoryName() + "\n");
sb.append("Suffix: " + obj.getSuffix() + "\n");
sb.append("***************************************************\n");
}
} else {
sb.append("Failed to obtain metadata types.");
}
System.out.println(sb.toString());
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Response
DescribeMetadataResult
When to Use describeMetadata() and describeValueType()?
Use the describeMetadata() call to get high-level information about all the metadata types that are available for your organization,
such as type names and file suffixes. Use the describeValueType() call to get granular information about a specific metadata
type, such as fields contained within the type.
describeValueType()
Retrieves the metadata describing a given metadata type (value type).
describeValueType() accepts a namespace and a type name, and returns a DescribeValueTypeResult object. This
call is available in API version 33.0 and later.
Syntax
DescribeValueTypeResult = connection.describeValueType("{namespace}type_name");
Example
Describe Apex class metadata in the Metadata namespace:
DescribeValueTypeResult =
metadataConnection.describeValueType("{http://soap.sforce.com/2006/04/metadata}ApexClass");
Describe Apex class metadata in the Tooling namespace:
DescribeValueTypeResult =
toolingConnection.describeValueType("{urn:metadata.tooling.soap.sforce.com}ApexClass");
107
describeValueType()Utility Calls
Arguments
DescriptionTypeName
The name of the metadata type for which you want metadata; for example, ApexClass.
Include the namespace.
stringtype
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Sample CodeJava
The following example describes several metadata types by specifying the Metadata namespace. Each metadata type is described using
the helper method, doDescribe(), which calls the describeValueType() Metadata API call. The sample retrieves information
from the returned DescribeValueTypeResult: a property, the parent field (if any), and the fields. Next, the sample iterates
through the fields and outputs information about each field.
public void describeValueType() throws ConnectionException {
doDescribe("{http://soap.sforce.com/2006/04/metadata}CustomObject");
doDescribe("{http://soap.sforce.com/2006/04/metadata}CustomField");
doDescribe("{http://soap.sforce.com/2006/04/metadata}EmailTemplate");
}
public void doDescribe(String type) throws ConnectionException {
DescribeValueTypeResult result = metadataConnection.describeValueType(type);
StringBuffer sb = new StringBuffer();
sb.append("Describing " + type + " ...\n");
if (result.getApiCreatable() == true) {
sb.append("Is API creatable.\n");
} else {
sb.append("Is not API creatable.\n");
}
ValueTypeField parentField = result.getParentField();
if (parentField != null) {
sb.append("** Parent type fields **\n");
if (parentField.getIsForeignKey()) {
sb.append("This field is a foreign key.\n");
for (String fkDomain : parentField.getForeignKeyDomain()) {
sb.append("Foreign key domain: " + fkDomain + "\n");
}
}
}
sb.append("** Value type fields **\n");
108
describeValueType()Utility Calls
for(ValueTypeField field : result.getValueTypeFields()) {
sb.append("***************************************************\n");
sb.append("Name: " + field.getName() + "\n");
sb.append("SoapType: " + field.getSoapType() + "\n");
if (field.getIsForeignKey()) {
sb.append("This field is a foreign key.\n");
for (String fkDomain : field.getForeignKeyDomain()) {
sb.append("Foreign key domain: " + fkDomain + "\n");
}
}
sb.append("***************************************************\n");
}
System.out.println(sb.toString());
}
To run the previous example with the Tooling WSDL, replace the namespace with the Tooling namespace in the helper function call as
follows. Also, use the Tooling connection instead of the Metadata connection to make the describeValueType() call.
doDescribe("{urn:metadata.tooling.soap.sforce.com}CustomObject");
doDescribe("{urn:metadata.tooling.soap.sforce.com}CustomField");
doDescribe("{urn:metadata.tooling.soap.sforce.com}EmailTemplate");
After you run the sample, the output looks similar to the following.
Describing {http://soap.sforce.com/2006/04/metadata}CustomObject ...
Is API creatable.
** Value type fields **
***************************************************
Name: actionOverrides
SoapType: ActionOverride
***************************************************
***************************************************
Name: allowInChatterGroups
SoapType: boolean
***************************************************
***************************************************
Name: articleTypeChannelDisplay
SoapType: ArticleTypeChannelDisplay
***************************************************
***************************************************
Name: businessProcesses
SoapType: BusinessProcess
***************************************************
***************************************************
Name: compactLayoutAssignment
SoapType: string
***************************************************
***************************************************
Name: compactLayouts
SoapType: CompactLayout
***************************************************
***************************************************
Name: customHelp
SoapType: string
109
describeValueType()Utility Calls
This field is a foreign key.
Foreign key domain: ApexPage
Foreign key domain: Scontrol
***************************************************
<The rest of the output for CustomObject has been omitted for brevity.>
Describing {http://soap.sforce.com/2006/04/metadata}CustomField ...
Is API creatable.
** Parent type fields **
This field is a foreign key.
Foreign key domain: CustomObject
** Value type fields **
***************************************************
Name: caseSensitive
SoapType: boolean
***************************************************
***************************************************
Name: defaultValue
SoapType: string
***************************************************
<The rest of the output has been omitted for brevity.>
Response
DescribeValueTypeResult
listMetadata()
This call retrieves property information about metadata components in your organization. Data is returned for the components that
match the criteria specified in the queries parameter. The queries array can contain up to three ListMetadataQuery queries for
each call. This call supports every metadata type: both top-level, such as CustomObject and ApexClass, and child types, such as CustomField
and RecordType.
Syntax
FileProperties[] = metadataConnection.listMetadata(ListMetadataQuery[] queries, double
asOfVersion);
Usage
This call is useful when you want to identify individual components in package.xml for a retrieve() call or if you want a high-level
view of particular metadata types in your organization. For example, you can use this call to return a list of names of all the CustomObject
or Layout components in your organization. You can use this information to make a subsequent retrieve() call to return a subset of these
components. For more information about working with package.xml, see Deploying and Retrieving Metadata on page 25.
This call is synchronous, so the results are returned in one call. This call differs from asynchronous calls, such as retrieve(), where at least
one subsequent call is required to get the results.
110
listMetadata()Utility Calls
Permissions
Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission.
Note: If a user requires access to metadata but not to data, enable the Modify Metadata Through Metadata API Functions on
page 7 permission. Otherwise, enable the Modify All Data permission.
Sample CodeJava
This sample code lists information about your custom objects. The code assumes that the SOAP binding has already been established.
public void listMetadata() {
try {
ListMetadataQuery query = new ListMetadataQuery();
query.setType("CustomObject");
//query.setFolder(null);
double asOfVersion = 61.0;
// Assuming that the SOAP binding has already been established.
FileProperties[] lmr = metadataConnection.listMetadata(
new ListMetadataQuery[] {query}, asOfVersion);
if (lmr != null) {
for (FileProperties n : lmr) {
System.out.println("Component fullName: " + n.getFullName());
System.out.println("Component type: " + n.getType());
}
}
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Arguments
DescriptionTypeName
A list of objects that specify which components youre interested in.ListMetadataQuery[]queries
The API version for the metadata listing request. If you don't specify a value in this field, it
defaults to the API version specified when you logged in. This field allows you to override
doubleasOfVersion
the default and set another API version. For example, you can list the metadata for a metadata
type that was added in a later version than the API version specified when you logged in.
This field is available in API version 18.0 and later.
Response
FileProperties
ListMetadataQuery
The ListMetadataQuery parameter represents a list of objects that specify which components you are interested in.
111
ListMetadataQueryUtility Calls
DescriptionTypeName
The folder associated with the component. This field is required
for components that use folders, such as Dashboard, Document,
EmailTemplate, or Report.
stringfolder
Required. The metadata type, such as CustomObject,
CustomField, or ApexClass.
stringtype
112
ListMetadataQueryUtility Calls
CHAPTER 11 Result Objects
Use the following objects to get the results of your file-based or CRUD-based calls.
AsyncResult
Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata
call.
CancelDeployResult
Contains information about a deployment cancellationwhether the cancellation completed and the deployment ID.
DeployResult
Contains information about the success or failure of the associated deploy() call.
DescribeMetadataResult
Contains information about the organization that is useful for developers working with declarative metadata.
DescribeValueTypeResult
Contains information about a value type that is useful for developers working with declarative metadata.
ReadResult
Contains result information for the readMetadata call.
RetrieveResult
The retrieve() call returns an array of RetrieveResult objects.
SaveResult
Contains result information for the createMetadata, updateMetadata, or renameMetadata call.
DeleteResult
Contains result information for the deleteMetadata call.
UpsertResult
Contains information about the result of the associated upsertMetadata() call.
Error
Represents an error that occurred during a synchronous CRUD (createMetadata(), updateMetadata(), or
deleteMetadata()) operation.
AsyncResult
Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata
call.
113
API Version 31.0 and Later
In API version 31.0, the process of retrieving metadata has been simplified and retrieval properties have been moved to RetrieveResult.
Also, the asynchronous create() on page 97, update() on page 101, and delete() on page 99 calls have been removed. Therefore, only
the id field in AsyncResult is used. The id field is the ID of a deployment or retrieval.
These asynchronous calls can return AsyncResult.
deploy()
retrieve()
AsyncResult has this field thats in use.
DescriptionTypeName
Required. The ID of the component that's being deployed or retrieved.IDid
All fields in AsyncResult other than id are deprecated as of API version 31.0. These fields exist but are no longer in use.
done
message
state
statusCode
API Versions 29.0 and 30.0
In API version 29.0, Salesforce moved several properties from the AsyncResult object to the DeployResult object and added several new
ones, to improve the process for getting information about deployments. For more information about these changes, see deploy().
In API versions 29.0 and 30.0, AsyncResult is returned by the same asynchronous calls as in API version 28.0 and earlier, but it has different
fields.
DescriptionTypeName
Required. Indicates whether the call has been completed (true) or not
(false).
booleandone
Required. The ID of the component that's being created, updated, deleted,
deployed, or retrieved.
IDid
The message that corresponds to the returned statusCode field, if any.stringmessage
Required. The AsyncRequestState object has one of four possible values.AsyncRequestState
(enumeration of
type string)
state
Queued: This call hasnt started. Its waiting in a queue.
InProgress: This call has started but hasnt been completed.
Completed: This call has been completed.
Error: An error occurred. See the statusCode for more information.
114
AsyncResultResult Objects
DescriptionTypeName
If an error occurred during the create(), update(), or delete() call,
a status code is returned, and the message that corresponds to the status code
is returned in the message field.
For a description of each StatusCode value, see StatusCode in the SOAP API
Developer Guide.
StatusCode
(enumeration of
type string)
statusCode
API Version 28.0 and Earlier
In API version 28.0 and earlier, these asynchronous calls can return AsyncResult.
create()
delete()
deploy()
retrieve()
update()
Use the checkStatus() call against each object to discover when the call is completed for that object. Salesforce updates each AsyncResult
object as the call is completed or when errors occur.
Similarly, the deploy() and retrieve() calls use AsyncResult, though you must subsequently use checkDeployStatus() or checkRetrieveStatus()
respectively to get more status information for the deployment or retrieval.
AsyncResult has the following fields.
DescriptionTypeName
Indicates whether this deployment is used to check the validity of the deployed
files without changing the organization (true) or not (false). A check-only
booleancheckOnly
deployment doesnt deploy any components or change the organization in
any way. This field is available in API version 16.0 and later and is relevant only
for the deploy() call.
Required. Indicates whether the call has been completed (true) or not
(false).
booleandone
Required. The ID of the component that's being created, updated, deleted,
deployed, or retrieved.
IDid
The message that corresponds to the returned statusCode field, if any.stringmessage
The number of components that generated errors during this deployment.
This field is available in API version 16.0 and later and is relevant only for the
deploy() call.
intnumberComponentErrors
The number of components that have been deployed for this deployment.
This field in conjunction with the numberComponentsTotal field gives
intnumberComponentsDeployed
you an indication of the progress of the deployment. This field is available in
API version 16.0 and later and is relevant only for the deploy() call.
115
AsyncResultResult Objects
DescriptionTypeName
The total number of components in the deployment. This field in conjunction
with the numberComponentsDeployed field gives you an indication of
intnumberComponentsTotal
the progress of the deployment. This field is available in API version 16.0 and
later and is relevant only for the deploy() call.
The number of Apex tests that generated errors during this deployment. This
field is available in API version 16.0 and later and is relevant only for the deploy()
call.
intnumberTestErrors
The number of Apex tests that have been completed for this deployment. This
field in conjunction with the numberTestsTotal field gives you an
intnumberTestsCompleted
indication of the progress of tests for the deployment. This field is available in
API version 16.0 and later and is relevant only for the deploy() call.
The total number of Apex tests in the deployment. This field in conjunction
with the numberTestsCompleted field gives you an indication of the
intnumberTestsTotal
progress of tests for the deployment. The value in this field isnt accurate until
the deployment has started running tests for the components that are being
deployed. This field is available in API version 16.0 and later and is relevant only
for the deploy() call.
This field is no longer supported for API version 13.0 and later and is provided
only for backward compatibility. The field was removed in API version 17.0.
Indicates the number of seconds before the call is likely to be completed. This
number is an estimate only. A reasonable approach is to wait one second before
intsecondsToWait
calling to see if the operation is complete. Double your wait time for each
successive iteration of calls until the operation is complete.
Required. The AsyncRequestState object has one of four possible values.AsyncRequestState
(enumeration of
type string)
state
Queued: This call hasnt started. Its waiting in a queue.
InProgress: This call has started but hasnt been completed.
Completed: This call has been completed.
Error: An error occurred. See the statusCode for more information.
Indicates which component is being deployed or which Apex test class is
running. This field is available in API version 16.0 and later and is relevant only
for the deploy() call.
stringstateDetail
The date and time when the stateDetail field was last modified. This field
is available in API version 16.0 and later and is relevant only for the deploy()
call.
dateTimestateDetailLastModifiedDate
If an error occurred during the create(), update(), delete(), or
deploy() call, a status code is returned, and the message that corresponds
to the status code is returned in the message field.
For a description of each StatusCode value, see StatusCode in the SOAP API
Developer Guide.
StatusCode
(enumeration of
type string)
statusCode
116
AsyncResultResult Objects
CancelDeployResult
Contains information about a deployment cancellationwhether the cancellation completed and the deployment ID.
The asynchronous metadata call cancelDeploy() returns a CancelDeployResult object.
Version
Available in API version 30.0 and later.
CancelDeployResult has the following properties.
DescriptionTypeName
Indicates whether the deployment cancellation, which is started through
cancelDeploy(), has completed (true) or not (false).
When a deployment hasnt started yet and is still in the queue, the deployment
is canceled immediately with the cancelDeploy() call and this field returns
true. Otherwise, this field returns false when the cancellation is in progress.
booleandone
ID of the deployment being canceled.IDid
DeployResult
Contains information about the success or failure of the associated deploy() call.
The asynchronous metadata call checkDeployStatus() returns a DeployResult object.
In API version 29.0, Salesforce moved several properties from the AsyncResult on page 113 object to the DeployResult object to improve
the process for getting information about deployments. For more information about these changes, see deploy() on page 56.
For API version 29.0 and later, the DeployResult object has these properties.
DescriptionTypeName
ID of the component being deployed.IDid
The ID of the user who canceled the deployment.
This field is available in API version 30.0 and later.
IDcanceledBy
The full name of the user who canceled the deployment.
This field is available in API version 30.0 and later.
stringcanceledByName
Indicates whether this deployment is used to check the validity of the deployed
files without changing the organization (true) or not (false). A check-only
booleancheckOnly
deployment doesnt deploy any components or change the organization in any
way.
Timestamp for when the deployment process ended.dateTimecompletedDate
117
CancelDeployResultResult Objects
DescriptionTypeName
The ID of the user who created the deployment.
This field is available in API version 30.0 and later.
IDcreatedBy
The full name of the user who created the deployment.
This field is available in API version 30.0 and later.
stringcreatedByName
Timestamp for when the deploy() call was received.dateTimecreatedDate
Provides the details of a deployment that is in-progress or ended, if the
includeDetails parameter is set to true in the checkDeployStatus() call.
DeployDetails[]details
Indicates whether the server finished processing the deploy() call for the
specified id.
booleandone
Message corresponding to the values in the errorStatusCode field, if any.stringerrorMessage
If an error occurred during the deploy() call, a status code is returned, and the
message corresponding to the status code is returned in the errorMessage
field.
For a description of each StatusCode value, see StatusCode in the SOAP API
Developer Guide.
stringerrorStatusCode
Optional. Defaults to false. Specifies whether a deployment continues even if
the deployment generates warnings. Dont set this argument to true for
deployments to production organizations.
booleanignoreWarnings
Timestamp of the last update for the deployment process.dateTimelastModifiedDate
The number of components that generated errors during this deployment.intnumberComponentErrors
The number of components deployed in the deployment process. Use this value
with the numberComponentsTotal value to get an estimate of the
deployments progress.
intnumberComponentsDeployed
The total number of components in the deployment. Use this value with the
numberComponentsDeployed value to get an estimate of the deployments
progress.
intnumberComponentsTotal
The number of Apex tests that have generated errors during this deployment.intnumberTestErrors
The number of completed Apex tests for this deployment. Use this value with the
numberTestsTotal value to get an estimate of the deployments test
progress.
intnumberTestsCompleted
The total number of Apex tests for this deployment. Use this value with the
numberTestsCompleted value to get an estimate of the deployments test
intnumberTestsTotal
progress. The value in this field isnt accurate until the deployment has started
running tests for the components being deployed.
Indicates whether Apex tests were run as part of this deployment (true) or not
(false). Tests are either automatically run as part of a deployment or can be set
booleanrunTestsEnabled
118
DeployResultResult Objects
DescriptionTypeName
to run in DeployOptions for the deploy() call. For information on when tests
are automatically run, see Running Tests in a Deployment.
This field is available in API version 30.0 and later.
Optional. Defaults to true. Indicates whether any failure causes a complete rollback
(true) or not (false). If false, whatever set of actions can be performed
booleanrollbackOnError
without errors are performed, and errors are returned for the remaining actions.
This parameter must be set to true if youre deploying to a production
organization.
Timestamp for when the deployment process began.dateTimestartDate
Indicates which component is being deployed or which Apex test class is running.stringstateDetail
Indicates the current state of the deployment. The valid values are:DeployStatus
(enumeration of
type string)
status
Pending
InProgress
Succeeded
SucceededPartial
Failed
Canceling
Canceled
Indicates whether the deployment was successful (true) or not (false).booleansuccess
DeployDetails
These fields provide more information for the details field of the DeployResult object, if the includeDetails parameter is set
to (true in the deploy() call.
Note: While a deployment is still in-progress, the DeployDetails object only contains componentFailures data. After the
deployment process finishes, the other fields populate with the data for the entire deployment.
DescriptionTypeName
One or more DeployMessage objects containing deployment errors for each
component.
DeployMessage[]componentFailures
One or more DeployMessage objects containing successful deployment details for
each component.
DeployMessage[]componentSuccesses
If the performRetrieve parameter was specified for the deploy() call, a retrieve()
call is performed immediately after the deploy() process completes. This field contains
the results of that retrieval.
RetrieveResultretrieveResult
If tests were run for the deploy() call, this field contains the test results. While a
deployment is still in-progress, this field only contains error data. After the deployment
process finishes, this field populates with the data for the entire deployment.
RunTestsResultrunTestResult
119
DeployResultResult Objects
For API version 28.0 and earlier, the DeployResult object has the following properties.
DescriptionTypeName
ID of the component being deployed.IDid
Contains information about the success or failure of a deploy() call.DeployMessage[]messages
If the performRetrieve parameter was specified for the deploy() call, a retrieve()
call is performed immediately after the deploy() process completes. This field contains
the results of that retrieval.
RetrieveResultretrieveResult
If tests were run for the deploy() call, this field contains the test results.RunTestsResultrunTestResult
Indicates whether the deployment was successful (true) or not (false).booleansuccess
DeployMessage
Each DeployResult object contains one or more DeployMessage objects. Each DeployMessage object contains information about the
deployment success or failure of a component in the deployment .zip file:
As of the Spring '20 release, only authenticated users can access DeployMessage objects.
DescriptionTypeName
If true, the component was changed as a result of this deployment. If false, the
deployed component was the same as the corresponding component already in the
organization.
booleanchanged
A text file represents each component. If an error occurred during deployment, this
field represents the column of the text file where the error occurred.
intcolumnNumber
The metadata type of the component in this deployment.
This field is available in API version 30.0 and later.
stringcomponentType
If true, the component was created as a result of this deployment. If false, the
component was either deleted or modified as a result of the deployment.
booleancreated
The date and time when the component was created as a result of this deployment.
This field is available in API version 30.0 and later.
dateTimecreatedDate
If true, the component was deleted as a result of this deployment. If false, the
component was either new or modified as a result of the deployment.
booleandeleted
The name of the file in the .zip file used to deploy this component.stringfileName
The full name of the component.
Inherited from Metadata, this field is defined in the WSDL for this metadata type. It
must be specified when creating, updating, or deleting. See createMetadata()
to see an example of this field specified for a call.
stringfullName
ID of the component being deployed.IDid
120
DeployResultResult Objects
DescriptionTypeName
A text file represents each component. If an error occurred during deployment, this
field represents the line number of the text file where the error occurred.
intlineNumber
If an error or warning occurred, this field contains a description of the problem that
caused the compile to fail.
stringproblem
Indicates the problem type. The problem details are tracked in the problem field.
The valid values are:
DeployProblemType
(enumeration of
type string)
problemType
Warning
Error
This field is available in API version 18.0 and later. Before version 18.0, there was no
distinction between warnings and errors. All problems were treated as errors and
prevented a successful deployment.
Indicates whether the component was successfully deployed (true) or not (false).booleansuccess
RunTestsResult
Contains information about the execution of unit tests, including whether unit tests were completed successfully, code coverage results,
and failures.
A RunTestsResult object has the following properties
DescriptionTypeName
The ID of an ApexLog object that is created at the end of a test run. The ApexLog
object is created if there is an active trace flag on the user running an Apex test,
or on a class or trigger being executed.
stringapexLogId
This field is available in API version 35.0 and later.
An array of one or more CodeCoverageResult objects that contains the details
of the code coverage for the specified unit tests.
CodeCoverageResult[]codeCoverage
An array of one or more code coverage warnings for the test run. The results
include both the total number of lines that could have been executed, as well
as the number, line, and column positions of code that was not executed.
CodeCoverageWarning[]codeCoverageWarnings
An array of one or more RunTestFailure objects that contain information about
the unit test failures, if there are any.
RunTestFailure[]failures
An array of results from test runs that executed flows. This field is available in
API version 44.0 and later.
FlowCoverageResult[]flowCoverage
An array of warnings generated by test runs that executed flows. This field is
available in API version 44.0 and later.
FlowCoverageWarning[]flowCoverageWarnings
The number of failures for the unit tests.
intnumFailures
121
DeployResultResult Objects
DescriptionTypeName
The number of unit tests that were run.
intnumTestsRun
An array of one or more RunTestSuccess objects that contain information about
successes, if there are any.
RunTestSuccess[]successes
The total cumulative time spent running tests, in milliseconds. This can be
helpful for performance monitoring.
doubletotalTime
CodeCoverageResult
The RunTestsResult object contains this object. It contains information about whether or not the compile of the specified Apex and run
of the unit tests was successful.
DescriptionTypeName
For each class or trigger tested, for each portion of code tested, this property contains
the DML statement locations, the number of times the code was executed, and the
CodeLocation[]dmlInfo
total cumulative time spent in these calls. This can be helpful for performance
monitoring.
The ID of the CodeLocation. The ID is unique within an organization.
IDid
For each class or trigger tested, if any code is not covered, the line and column of the
code not tested, and the number of times the code was executed.
CodeLocation[]locationsNotCovered
For each class or trigger tested, the method invocation locations, the number of times
the code was executed, and the total cumulative time spent in these calls. This can
be helpful for performance monitoring.
CodeLocation[]methodInfo
The name of the class or trigger covered.
stringname
The namespace that contained the unit tests, if one is specified.
stringnamespace
The total number of code locations.
intnumLocations
For each class or trigger tested, the location of SOQL statements in the code, the
number of times this code was executed, and the total cumulative time spent in
these calls. This can be helpful for performance monitoring.
CodeLocation[]soqlInfo
Do not use. In early, unsupported releases, used to specify class or package.
stringtype
122
DeployResultResult Objects
CodeCoverageWarning
The RunTestsResult object contains this object. It contains information about the Apex class which generated warnings.
This object has the following properties.
DescriptionTypeName
The ID of the CodeLocation. The ID is unique within an organization.IDid
The message of the warning generated.
stringmessage
The namespace that contained the unit tests, if one is specified.
stringname
The namespace that contained the unit tests, if one is specified.
stringnamespace
RunTestFailure
The RunTestsResult object returns information about failures during the unit test run.
This object has these properties.
DescriptionTypeName
The ID of the class which generated failures.
IDid
The failure message.
stringmessage
The name of the method that failed.
stringmethodName
The name of the class that failed.
stringname
The namespace that contained the class, if one was specified.
stringnamespace
Indicates whether the test method has access to organization data (true) or not
(false).
This field is available in API version 33.0 and later.
booleanseeAllData
The stack trace for the failure.
stringstackTrace
The time spent running tests for this failed operation, in milliseconds. This can be
helpful for performance monitoring.
doubletime
Do not use. In early, unsupported releases, used to specify class or package.
stringtype
123
DeployResultResult Objects
FlowCoverageResult
This object contains information about the flow version and the number of elements executed by the test run. This object is available
in API version 44.0 and later.
DescriptionTypeName
List of elements in the flow version that werent executed by the test run.stringelementsNotCovered
The ID of the flow version. The ID is unique within an org.stringflowId
The name of the flow that was executed by the test run.stringflowName
The namespace that contains the flow, if one is specified.stringflowNamespace
The total number of elements in the flow version.intnumElements
The number of elements in the flow version that werent executed by the test runintnumElementsNotCovered
The process type of the flow version.FlowProcessType
(enumeration of
type string)
processType
FlowCoverageWarning
This object contains information about the flow version that generated warnings. This object is available in API version 44.0 and later.
DescriptionTypeName
The ID of the flow version that generated the warning.stringflowId
The name of the flow that generated the warning. If the warning applies to the overall
test coverage of flows within your org, this value is null.
stringflowName
The namespace that contains the flow, if one was specified.stringflowNamespace
The message of the warning that was generated.stringmessage
RunTestSuccess
The RunTestsResult object returns information about successes during the unit test run.
This object has these properties.
DescriptionTypeName
The ID of the class which generated the success.
IDid
The name of the method that succeeded.
stringmethodName
The name of the class that succeeded.
stringname
124
DeployResultResult Objects
DescriptionTypeName
The namespace that contained the unit tests, if one is specified.
stringnamespace
Indicates whether the test method has access to organization data (true) or not
(false).
This field is available in API version 33.0 and later.
booleanseeAllData
The time spent running tests for this operation. This can be helpful for performance
monitoring.
doubletime
CodeLocation
The RunTestsResult object contains this object in a number of fields.
This object has these properties.
DescriptionTypeName
The column location of the Apex tested.
intcolumn
The line location of the Apex tested.
intline
The number of times the Apex was executed in the test run.
intnumExecutions
The total cumulative time spent at this location. This can be helpful for performance
monitoring.
doubletime
DescribeMetadataResult
Contains information about the organization that is useful for developers working with declarative metadata.
The describeMetadata() call returns a DescribeMetadataResult object.
Each DescribeMetadataResult object has the following properties:
DescriptionTypeName
One or more metadata components and their attributes.DescribeMetadataObject[]metadataObjects
The namespace of the organization. Specify only for Developer Edition
organizations that can contain a managed package. The managed package has
a namespace specified when it is created.
stringorganizationNamespace
Indicates whether rollbackOnError is allowed (true) or not (false).
This value is always :
booleanpartialSaveAllowed
false in production organizations.
125
DescribeMetadataResultResult Objects
DescriptionTypeName
the opposite of testRequired.
Indicates whether tests are required (true) or not (false).
This value is always the opposite of partialSaveAllowed.
booleantestRequired
DescribeMetadataObject
This object is returned as part of the DescribeMetadataResult. Each DescribeMetadataObject has the following properties:
DescriptionTypeName
List of child sub-components for this component.string[]childXmlNames
The name of the directory in the .zip file that contains this component.stringdirectoryName
Indicates whether the component is in a folder (true) or not (false). For example,
documents, email templates and reports are stored in folders.
booleaninFolder
Indicates whether the component requires an accompanying metadata file. For example,
documents, classes, and s-controls are components that require an additional metadata
file.
booleanmetaFile
The file suffix for this component.stringsuffix
The name of the root element in the metadata file for this component. This name also
appears in the Packages > types > name field in the manifest file package.xml.
stringxmlName
DescribeValueTypeResult
Contains information about a value type that is useful for developers working with declarative metadata.
The describeValueType() call returns a DescribeValueTypeResult object.
Each DescribeValueTypeResult object has the following properties.
DescriptionTypeName
Indicates whether this value type can be created through the createMetadata()
call (true) or not (false).
This field is available in API version 36.0 and later.
booleanapiCreatable
Indicates whether this value type can be created through the deleteMetadata()
call (true) or not (false).
This field is available in API version 36.0 and later.
booleanapiDeletable
126
DescribeValueTypeResultResult Objects
DescriptionTypeName
Indicates whether this value type can be created through the readMetadata()
call (true) or not (false).
This field is available in API version 36.0 and later.
booleanapiReadable
Indicates whether this value type can be created through the updateMetadata()
call (true) or not (false).
This field is available in API version 36.0 and later.
booleanapiUpdatable
Information about the parent of this value type. Parent field information is useful
for metadata types that are specified with the parent in their name, such as
ValueTypeFieldparentField
custom fields, email templates, workflow rules, and reports. For example, the
full name of a custom field includes the sObject that contains it (for example,
Account.field1__c). Similarly, the full name of an email template includes
the folder where the template is stored (for example,
MyFolder/EmailTemplate1).
If the value type has no parent, this field is null.
This field is available in API version 36.0 and later.
One or more metadata components and their attributes.ValueTypeField[]valueTypeFields
ValueTypeField
This object is returned as part of the DescribeValueTypeResult and represents the metadata for one field. Each ValueTypeField has the
following properties.
DescriptionTypeName
The ValueTypeField object for the next field, if any.ValueTypeFieldfields
If isForeignKey is True, foreignKeyDomain is the type
of object, such as Account or Opportunity.
stringforeignKeyDomain
True if the field is a foreign key. That means this field is the primary
key in a different database table.
booleanisForeignKey
True if this value type field is a fullName field, otherwise False.booleanisNameField
1 if this field is required, 0 otherwise.intminOccurs
The name of this value type field. The name is null for parent fields.stringname
The individual picklist values if the field is a picklist.PicklistEntrypicklistValues
The data type of the field, such as boolean or double.stringsoapType
Required. Indicates whether this value type field must have a value
(true) or can be null (false).
booleanvalueRequired
127
DescribeValueTypeResultResult Objects
ReadResult
Contains result information for the readMetadata call.
Version
Available in API version 30.0 and later.
Properties
DescriptionTypeName
An array of metadata components returned from readMetadata().Metadata[]records
RetrieveResult
The retrieve() call returns an array of RetrieveResult objects.
A RetrieveResult object has these fields.
DescriptionTypeName
Required. Indicates whether the retrieve() on page 75 call is completed (true) or not
(false). This field is available in API version 31.0 and later.
booleandone
If an error occurs during the retrieve() on page 75 call, this field contains a descriptive
message about this error. This field is available in API version 31.0 and later.
stringerrorMessage
If an error occurs during the retrieve() on page 75 call, this field contains the status code
for this error. This field is available in API version 31.0 and later.
For a description of each StatusCode value, see StatusCode in the SOAP API Developer
Guide.
StatusCodeerrorStatusCode
Contains information about the properties of each component in the .zip file, and the
manifest file package.xml. One object per component is returned.
FileProperties[]fileProperties
ID of the component being retrieved.IDid
Contains information about the success or failure of the retrieve() on page 75 call.RetrieveMessage[]messages
The status of the retrieve() on page 75 call. Valid values are:RetrieveStatus
(enumeration of type
string)
status
Pending
InProgress
Succeeded
Failed
This field is available in API version 31.0 and later.
128
ReadResultResult Objects
DescriptionTypeName
Indicates whether the retrieve() on page 75 call was successful (true) or not (false).
This field is available in API version 31.0 and later.
booleansuccess
The zip file returned by the retrieve request. Base 64-encoded binary data. Before making
an API call, client applications must encode the binary attachment data as base64. Upon
base64BinaryzipFile
receiving a response, client applications must decode the base64 data to binary. This
conversion is handled for you by a SOAP client.
FileProperties
This component contains information about the properties of each component in the .zip file, and the manifest file package.xml.
One object per component is returned. This component doesnt contain information about any associated metadata files in the .zip
file, only the component files and manifest file. FileProperties contains the following properties:
DescriptionTypeName
Required. ID of the user who created the file.stringcreatedById
Required. Name of the user who created the file.stringcreatedByName
Required. Date and time when the file was created.dateTimecreatedDate
Required. Name of the file.stringfileName
Required. The file developer name used as a unique identifier for API access.
The value is based on the fileName but the characters allowed are more
stringfullName
restrictive. The fullName can contain only underscores and alphanumeric
characters. It must be unique, begin with a letter, not include spaces, not end
with an underscore, and not contain two consecutive underscores.
Required. ID of the file.stringid
Required. ID of the user who last modified the file.stringlastModifiedById
Required. Name of the user who last modified the file.stringlastModifiedByName
Required. Date and time that the file was last modified.dateTimelastModifiedDate
Indicates the manageable state of the specified component if its contained in
a package:
ManageableState
(enumeration of type
string)
manageableState
beta
deleted
deprecated
deprecatedEditable
installed
installedEditable
released
unmanaged
129
RetrieveResultResult Objects
DescriptionTypeName
If any, the namespace prefix of the component.stringnamespacePrefix
Required. The metadata type, such as CustomObject, CustomField,
or ApexClass.
stringtype
RetrieveMessage
RetrieveResult on page 128 returns this object, which contains information about the success or failure of the retrieve() on page 75 call.
One object per problem is returned:
DescriptionTypeName
The name of the file in the retrieved .zip file where a problem occurred.stringfileName
A description of the problem that occurred.stringproblem
SEE ALSO:
retrieve()
SaveResult
Contains result information for the createMetadata, updateMetadata, or renameMetadata call.
Version
Available in API version 30.0 and later.
Properties
DescriptionTypeName
An array of errors returned if the operation wasn't successful.Error[]errors
The full name of the component processed.stringfullName
Indicates whether the operation was successful (true) or not (false).booleansuccess
DeleteResult
Contains result information for the deleteMetadata call.
130
SaveResultResult Objects
Version
Available in API version 30.0 and later.
Properties
DescriptionTypeName
An array of errors returned if the operation wasnt successful.Error[]errors
The full name of the deleted component.stringfullName
Indicates whether the deletion was successful (true) or not (false).booleansuccess
UpsertResult
Contains information about the result of the associated upsertMetadata() call.
Version
Available in API version 31.0 and later.
Properties
DescriptionTypeName
Indicates whether the upsert operation resulted in the creation of the
component (true) or not (false). If false and the upsert operation was
successful, the component was updated.
booleancreated
An array of errors that were returned if the operation wasn't successful.Error[]errors
The full name of the component that was created or updated if the operation
was successful.
stringfullName
Indicates whether the operation was successful (true) or not (false).booleansuccess
Error
Represents an error that occurred during a synchronous CRUD (createMetadata(), updateMetadata(), or
deleteMetadata()) operation.
Version
Available in API version 30.0 and later.
131
UpsertResultResult Objects
Properties
DescriptionTypeName
More details about the error, including an extended error code and
extra error properties, when available. Reserved for future use.
For a description of the ExtendedErrorDetails element, see
ExtendedErrorDetails in the SOAP API Developer Guide.
ExtendedErrorDetailsextendedErrorDetails
An array containing names of fields that affected the error condition.string[]fields
The error message text.stringmessage
A status code corresponding to the error.
For a description of each StatusCode value, see StatusCode in the
SOAP API Developer Guide.
StatusCodestatusCode
132
ErrorResult Objects
CHAPTER 12 Metadata Types
Metadata API enables you to access some entities and feature settings that you can customize in the user interface.
Note:
Metadata type names are case-sensitive. Specifying a type name with an invalid case results in a deployment error.
Metadata types dont always correspond directly to their related data types. In some cases, the information is accessible but
not organized as expected. For example, dependent picklists are exposed as a type of picklist, not a separate metadata type.
The wildcard character doesnt apply to metadata types for feature settings, like AccountSettings. The wildcard applies only
when retrieving all settings and not an individual setting. See Settings.
Metadata Coverage Report
Launch the Metadata Coverage report to determine supported metadata components. The Metadata Coverage report is the ultimate
source of truth for metadata coverage across several channels. These channels include Metadata API, scratch org source tracking,
unlocked packages, second-generation managed packages, classic managed packages, and more.
Unsupported Metadata Types
Some Salesforce features have metadata types that arent available in Metadata API. These metadata types cant be retrieved or
deployed with Metadata API. To make changes to these types, you must do it manually in each of your organizations.
Special Behavior in Metadata API Deployments
Important considerations for specific types and contents of a deployment.
Data Cloud Metadata Types
Check out the metadata types that are used for development in Data Cloud.
AccountRelationshipShareRule
The rule that determines which object records are shared, how theyre shared, the account relationship type that shares the records,
and the level of access granted to the records.
AccountingFieldMapping
Represents the accounting field mappings to organize your data and bring it to ledger entry records.
AccountingModelConfig
Represents the mapping of the financial data model to a logical data model and configuration for the generation of Transaction
Journal records.
ActionLinkGroupTemplate
Represents the action link group template. Action link templates let you reuse action link definitions and package and distribute
action links. An action link is a button on a feed element. Clicking on an action link can take a user to another Web page, initiate a
file download, or invoke an API call to an external server or Salesforce. Use action links to integrate Salesforce and third-party services
into the feed. Every action link belongs to an action link group and action links within the group are mutually exclusive.
ActionPlanTemplate
Represents the instance of an action plan template.This type extends the Metadata metadata type and inherits its fullName field.
133
ActionableListDefinition
Represents the data source definition details associated with an actionable list.
AdvAccountForecastSet
Represents the forecast sets that define the forecast configurations for each business unit or different groups of accounts. With
separate forecast sets at account or business unit level, you can focus on account-specific data and manage configuration updates
for one business unit without impacting any other business units data.
AffinityScoreDefinition
Represents the affinity information used in calculations to analyze and categorize contacts for marketing purposes.
AIApplication
Represents an instance of an AI application. For example, Einstein Prediction Builder. This type extends the Metadata metadata type
and inherits its fullName field.
AIApplicationConfig
Additional prediction information related to an AI application. This type extends the Metadata metadata type and inherits its
fullName field.
AIScoringModelDefinition
Represents information about a machine learning model thats used by the Scoring Framework for Industries Cloud Einstein. The
machine learning model is used for scoring, including its configuration.
AIUsecaseDefinition
Represents a collection of fields in your Salesforce org used to define a machine learning use case and get real-time predictions.
AnalyticSnapshot
Represents a reporting snapshot. A reporting snapshot lets you report on historical data. Authorized users can save tabular or summary
report results to fields on a custom object, then map those fields to corresponding fields on a target object. They can then schedule
when to run the report to load the custom object's fields with the report's data. Reporting snapshots enable you to work with report
data similarly to how you work with other records in Salesforce.
AnimationRule
Represents criteria for determining when an animation is displayed to Path users.This type extends the Metadata metadata type and
inherits its fullName field.
ArticleType
Represents the metadata associated with an article type.
ApexClass
Represents an Apex class. An Apex class is a template or blueprint from which Apex objects are created. Classes consist of other
classes, user-defined methods, variables, exception types, and static initialization code.
ApexComponent
Represents a Visualforce component.
ApexEmailNotifications
The ApexEmailNotifications type allows you to define users and email addresses that receive email for unhandled Apex errors. Flow
errors can also use this metadata type.
ApexPage
Represents a Visualforce page.
ApexTestSuite
Represents a suite of Apex test classes to include in a test run.
134
Metadata Types
ApexTrigger
Represents an Apex trigger. A trigger is Apex code that executes before or after specific data manipulation language (DML) events
occur, such as before object records are inserted into the database, or after records have been deleted.
AppMenu
Represents the app menu or the Salesforce mobile navigation menu. Reserved for future use.
AppointmentAssignmentPolicy
Represents the information about a resource assignment rule. This type extends the Metadata metadata type and inherits its
fullName field.
AppointmentSchedulingPolicy
Represents a set of rules for scheduling appointments using Lightning Scheduler. This type extends the Metadata metadata type
and inherits its fullName field.
ApprovalProcess
Represents the metadata associated with an approval process. An approval process automates how records are approved in Salesforce.
An approval process specifies each step of approval, including who to request approval from and what to do at each point of the
process.
AssignmentRules
Represents assignment rules that allow you to automatically route cases to the appropriate users or queues. You can access rules
metadata for all applicable objects, for a specific object, or for a specific rule on a specific object.
AssessmentQuestion
Represents the container object that stores the questions required for an assessment.
AssessmentQuestionSet
Represents the container object for Assessment Questions.
Audience
Represents the audience in an Experience Builder site. An audience consists of different types of criteria, where the audience can be
assigned and used for targeting in a site. This type extends the Metadata metadata type and inherits its fullName field.
AuraDefinitionBundle
Represents an Aura definition bundle. A bundle contains an Aura definition, such as an Aura component, and its related resources,
such as a JavaScript controller. The definition can be a component, application, event, interface, or a tokens collection.
AuthProvider
Represents an authentication provider (auth provider). An auth provider lets users log in to Salesforce from an external service
provider such as Facebook, Google, or GitHub. This type extends the Metadata metadata type and inherits its fullName field.
AutoResponseRules
Represents an auto-response rule that sets conditions for sending automatic email responses to lead or case submissions based on
the attributes of the submitted record. You can access rules metadata for all applicable objects, for a specific object, or for a specific
rule on a specific object.
BatchCalcJobDefinition
Represents a Data Processing Engine definition.
BatchProcessJobDefinition
Represents the details of a Batch Management job definition. This type extends the Metadata metadata type and inherits its
fullName field.
BlacklistedConsumer
Represents a connected app that is inaccessible to your Salesforce orgs users. This type extends the Metadata metadata type and
inherits its fullName field.
135
Metadata Types
Bot
Represents a definition of an Einstein Bot configuration that can have one or more versions. Only one version can be active.
BotBlock
Represents the configuration details for a specific Einstein Bot block, including dialogs and variables.
BotTemplate
Represents the configuration details for a specific Einstein Bot template, including dialogs and variables.
BotVersion
Represents the configuration details for a specific Einstein Bot version, including dialogs and variables.
BrandingSet
Represents the definition of a set of branding properties for an Experience Builder site, as defined in the Theme panel in Experience
Builder.
BriefcaseDefinition
Represents a briefcase definition. A briefcase makes selected records available for specific users and groups to view when theyre
offline in the Salesforce Field Service mobile app for iOS and Android. This type extends the Metadata metadata type and inherits
its fullName field.
BusinessProcessGroup
Represents the surveys used to track customers experiences across different stages in their lifecycle. This type extends the Metadata
metadata type and inherits its fullName field.
CallCenter
Represents the Call Center definition used to integrate Salesforce with a third-party computer-telephony integration (CTI) system.
CallCoachingMediaProvider
Represents the CallCoachingMediaProvider configuration. Use CallCoachingMediaProvider to configure which providers of voice
recordings that Einstein Conversation Insights can use. For example, Sales Dialer can provide voice recordings. Einstein Conversation
Insights then stores and analyzes call recordings to surface insights and trends in customer conversations.This type extends the
Metadata metadata type and inherits its fullName field.
CampaignInfluenceModel
Represents a campaign influence model used by Customizable Campaign Influence. You cant configure Customizable Campaign
Influence via the Metadata API, but you can add a campaign influence model.
CaseSubjectParticle
Represents the Social Business Rules custom format for the Case Subject field on cases created from inbound social posts.
CareBenefitVerifySettings
Represents the configuration settings for benefit verification requests.
CareLimitType
Defines the characteristics of limits on benefit provision.
CareSystemFieldMapping
Represents a mapping from source system fields to Salesforce objects and fields. This type extends the Metadata metadata type and
inherits its fullName field.
CareProviderSearchConfig
Represents the information about the fields that appear in care provider search results.This type extends the Metadata metadata
type and inherits its fullName field.
136
Metadata Types
CareRequestConfiguration
Represents the details for a record type such as service request, drug request, or admission request. One or more record types can
be associated with a care request.
Certificate
Represents a certificate used for digital signatures that verify that requests are coming from your org. Certificates are used for either
authenticated single sign-on with an external website, or when using your org as an identity provider. This type extends the Metadata
With Content metadata type and inherits its content and fullName fields.
ChatterExtension
Represents the metadata used to describe a Rich Publisher App thats integrated with the Chatter publisher.
ClaimFinancialSettings
Represents the configuration settings for Insurance Claim Financial Services.
ClauseCatgConfiguration
Represents the configuration about the clause category that can be used to categorize your disclosure and compliance reports from
standardized disclosure templates in a response document.
CleanDataService
Represents a data service that adds and updates data in standard objects.
CMSConnectSource
Represents the connection information for external content management systems that feed content to Experience Builder sites. This
type extends the Metadata metadata type and inherits its fullName field.
Community (Zone)
Represents a zone that contains Ideas or Chatter Answers objects. Zones are shared by the Ideas, Answers, and Chatter Answers
features, allowing you to view and create zones from those locations.This type extends the Metadata metadata type and inherits its
fullName field.
CommerceSettings
Represents settings for various Commerce features.
CommunityTemplateDefinition
Represents the definition of an Experience Builder site template. This type extends the Metadata metadata type and inherits its
fullName field.
CommunityThemeDefinition
Represents the definition of a theme for an Experience Builder site. This type extends the Metadata metadata type and inherits its
fullName field.
ConnectedApp
Represents a connected app configuration. A connected app enables an external application to integrate with Salesforce using APIs
and standard protocols, such as SAML, OAuth, and OpenID Connect. Connected apps use these protocols to authenticate, authorize,
and provide single sign-on (SSO) for external apps. The external apps that are integrated with Salesforce can run on the customer
success platform, other platforms, devices, or SaaS subscriptions.
ContentAsset
Represents the metadata for creating an asset file. Asset files enable a Salesforce file to be used for org setup and configuration
purposes. This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
ContextDefinition
Represents the details of a context definition that describe the relationship between the node structures within a context.
ConversationMessageDefinition
Represents a messaging component in an Enhanced Messaging channel or Messaging for In-App and Web session.
137
Metadata Types
CorsWhitelistOrigin
Represents an origin in the CORS allowlist.
CspTrustedSite
Represents a trusted URL. For each CspTrustedSite component, you can specify Content Security Policy (CSP) directives and permissions
policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource
type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted
URL access to a browser feature. In API version 58.0 and earlier, CspTrustedSite components included only CSP directives and were
referred to as CSP Trusted Sites.
CustomApplication
CustomApplication represents a custom or standard application. In API version 29.0 and earlier, CustomApplication represents only
a custom application. An application is a list of tab references, with a description and a logo. This type extends the Metadata metadata
type and inherits its fullName field.
CustomApplicationComponent
Represents a custom console component (Visualforce page) assigned to a CustomApplication that is marked as a Salesforce console.
Custom console components extend the capabilities of Salesforce console apps. See Customize a Console with Custom Components
in Salesforce Classic in Salesforce Help.
CustomFeedFilter
Represents a custom feed filter that limits the feed view to feeds from the Cases object. The custom feed filter shows only feed items
that satisfy the criteria specified in the CustomFeedFilter definition. This type extends the Metadata metadata type and inherits its
fullName field.
CustomHelpMenuSection
Represents the section of the Lightning Experience help menu that the admin added to display custom, org-specific help resources
for the org. The custom section contains help resources added by the admin. This type extends the Metadata metadata type and
inherits its fullName field.
CustomIndex
Represents an index used to increase the speed of queries.This type extends the Metadata metadata type and inherits its fullName
field.
CustomLabels
The CustomLabels metadata type allows you to create custom labels that can be localized for use in different languages, countries,
and currencies.
Custom Metadata Types (CustomObject)
Represents the metadata associated with a custom metadata type.
CustomNotificationType
Represents the metadata associated with a custom notification type.
CustomObject
Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.
CustomObjectTranslation
This metadata type allows you to translate custom objects for a variety of languages.
CustomPageWebLink
Represents a custom link defined in a home page component.
CustomPermission
Represents a permission that grants access to a custom feature. This type extends the Metadata metadata type and inherits its
fullName field.
138
Metadata Types
CustomSite
Represents a Salesforce site. Create public websites and applications that are directly integrated with your Salesforce organization,
but don't require users to log in with a username and password.
CustomTab
Represents a custom tab. Custom tabs let you display custom object data or other web content in Salesforce. When you add a custom
tab to an app in Salesforce Classic, it appears as a tab. When you add a custom tab to an app in Lightning Experience, it appears as
an item in the apps navigation bar and in the App Launcher. When a tab displays a custom object, the tab name is the same as the
custom object name. For page, s-control, or URL tabs, the name is arbitrary.
CustomValue
Represents the definition of a value used in a global value set or local custom picklist. Custom picklist fields can be local and unique,
or can inherit their values from a global picklist (called a global value set in API version 38.0). This type extends the Metadata metadata
type and inherits its fullName field.
Dashboard
Represents a dashboard. Dashboards are visual representations of data that allow you to see key metrics and performance at a glance.
DataCategoryGroup
Represents a data category group.
DataWeaveResource
Represents the DataWeaveScriptResource class that is generated for all DataWeave scripts. DataWeave scripts can be
directly invoked from Apex.
DecisionTable
Represents the information about a decision table. This type extends the Metadata metadata type and inherits its fullName field.
DecisionTableDatasetLink
Represents the information about a dataset link associated with a decision table. In a dataset link, select an object for whose records,
the decision table must provide an outcome.This type extends the Metadata metadata type and inherits its fullName field.
DecisionMatrixDefinition
Represents a definition of a decision matrix.
DelegateGroup
Represents a group of users who have the same administrative privileges. These groups are different from public groups used for
sharing.
DigitalExperienceBundle
Represents a text-based code structure of your organizations workspaces, organized by workspace type, and each workspaces
content items.
DigitalExperienceConfig
Represents details for your organizations workspaces, such as the site label, site URL path prefix, and workspace type.
DisclosureDefinition
Represents information that defines a disclosure type, such as details of the publisher or vendor who created or implemented the
report.
DisclosureDefinitionVersion
Represents the version information about the disclosure definition.
DisclosureType
Represents the types of disclosures that are done by an individual or an organization and the associated metadata.
139
Metadata Types
DiscoveryAIModel
Represents the metadata associated with a model used in Einstein Discovery.
DiscoveryGoal
Represents the metadata associated with an Einstein Discovery prediction definition.
DiscoveryStory
Represents the metadata associated with a story used in Einstein Discovery.
Document
Represents a Document. All documents must be in a document folder, such as sampleFolder/TestDocument.
DocumentCategory
Represents a document category.
DocumentCategoryDocumentType
Represents the junction between a DocumentCategory and a DocumentType. Puts a DocumentType in a DocumentCategory.
DocumentChecklistSettings
Represents an orgs DocumentChecklistItem settings. This type extends the Metadata metadata type and inherits its fullName
field.
DocumentType
Represents a document type.
DuplicateRule
Represents a rule that specifies how duplicate records in an object are detected. This type extends the Metadata metadata type and
inherits its fullName field.
EclairGeoData
Represents an Analytics custom map chart. Custom maps are user-defined maps that are uploaded to Analytics and are used just
as standard maps are. Custom maps are accessed in Analytics from the list of maps available with the map chart type.
EmailServicesFunction
Represents an email service. This type extends the Metadata metadata type and inherits its fullName field.
EmailTemplate
Represents a template for an email, mass email, list email, or Sales Engagement email. Supported in first-generation managed
packages only.
EmbeddedServiceBranding
Represents the branding for each Embedded Service deployment. This type extends the Metadata metadata type and inherits its
fullName field.
EmbeddedServiceConfig
Represents a setup node for creating an Embedded Service for Web deployment. This type extends the Metadata metadata type
and inherits its fullName field.
EmbeddedServiceFieldService
Represents a setup node for creating an embedded Appointment Management deployment. This type extends the Metadata
metadata type and inherits its fullName field.
EmbeddedServiceFlowConfig
Represents a setup node for creating an embedded flow. This type extends the Metadata metadata type and inherits its fullName
field.
140
Metadata Types
EmbeddedServiceLiveAgent
Represents a setup node for creating an embedded chat deployment. This type extends the Metadata metadata type and inherits
its fullName field.
EmbeddedServiceMenuSettings
Represents a setup node for creating a channel menu deployment. Channel menus list the ways in which customers can contact
your business. This type extends the Metadata metadata type and inherits its fullName field.
EnablementMeasureDefinition
Represents an Enablement measure, which specifies the job-related activity that a user performs to complete a milestone or outcome
in an Enablement program. A measure identifies a source object and optional related objects, with optional field filters and filter
logic, for tracking the activity. To avoid deployment errors, deploy measures before you deploy programs.
EnablementProgramDefinition
Represents an Enablement program, which includes exercises and measurable milestones to help users such as sales reps achieve
specific outcomes related to your companys revenue goals.
EntitlementProcess
Represents the settings for an entitlement process.
EntitlementTemplate
Represents an entitlement template. Entitlement templates are predefined terms of customer support that you can quickly add to
products. For example, you can create entitlement templates for Web or phone support so that users can easily add entitlements
to products offered to customers.
EscalationRules
Represents case escalation rules to escalate cases automatically if they arent resolved within a certain time. You can access rules
metadata for all applicable objects, for a specific object, or for a specific rule on a specific object.
EventDelivery
Represents how an event instance maps to a target payload. Removed in API version 46.0. This type extends the Metadata metadata
type and inherits its fullName field.
EventRelayConfig
Represents the configuration of an event relay, which relays platform events and change data capture events from Salesforce to
Amazon EventBridge.
EventSubscription
Represents a subscription to an event type. Removed in API version 46.0. This type extends the Metadata metadata type and inherits
its fullName field.
ExperienceBundle
Represents a text-based code structure of the settings and site components, such as pages, branding sets, and themes that make
up an Experience Builder site. Developers can quickly update and deploy Experience Builder sites programmatically using their
preferred development tools. This type extends the Metadata metadata type and inherits its fullName field.
ExperiencePropertyTypeBundle (Beta)
Represents a property type. When you create a custom property type for a Lightning web component, deploy this bundle to your
org.
ExplainabilityMsgTemplate
Represents information about the template that contains the decision explanation message for a specified expression set step type.
ExpressionSetDefinition
Represents an expression set definition.
141
Metadata Types
ExpressionSetObjectAlias
Represents information about the alias of the source object thats used in an expression set.
ExternalClientApplication
Represents the header file for an external client application configuration.
ExternalCredential
Represents the details of how Salesforce authenticates to the external system.
ExternalAIModel
Represents the state of a given model for an Einstein for Service feature, such as Einstein Reply Recommendations.
ExternalServiceRegistration
Represents the External Service configuration for an org. This type extends the Metadata metadata type and inherits its fullName
field.
ExtlClntAppConfigurablePolicies
Represents the policies for an external client app to disable or enable plugins.
ExtlClntAppGlobalOauthSettings
Represents the global settings for the OAuth plugin in an external client app. These settings include private and sensitive OAuth
consumer information that cant be packaged and must not be added to source control.
ExtlClntAppOauthConfigurablePolicies
Represents the policies configured by the admin for an OAuth-enabled external client app.
ExtlClntAppOauthSettings
Represents the settings configuration for the external client apps OAuth plugin.
FeatureParameterBoolean
Represents a boolean feature parameter in the Feature Management App (FMA). Feature parameters let you drive app behavior and
track activation metrics in subscriber orgs that install your package. This type extends the Metadata metadata type and inherits its
fullName field.
FeatureParameterDate
Represents a date feature parameter in the Feature Management App (FMA). Feature parameters let you drive app behavior and
track activation metrics in subscriber orgs that install your package. This type extends the Metadata metadata type and inherits its
fullName field.
FeatureParameterInteger
Represents an integer feature parameter in the Feature Management App (FMA). Feature parameters let you drive app behavior and
track activation metrics in subscriber orgs that install your package. This type extends the Metadata metadata type and inherits its
fullName field.
FieldRestrictionRule
Represents a field visibility rule that controls whether a field is visible to a user, based on the fields inclusion in a field set. If Enhanced
Personal Information Management setting was enabled before Spring 22, field visibility is based on the fields compliance
categorization. This type extends the Metadata metadata type and inherits its fullName field.
FlexiPage
Represents the metadata associated with a Lightning page. A Lightning page represents a customizable screen made up of regions
containing Lightning components.
Flow
Represents the metadata associated with a flow. Use Flow to create an application that takes users through a series of pages to query
and update records in the database. You can also execute logic and provide branching capability based on user input to build
dynamic applications.
142
Metadata Types
FlowCategory
Represents a list of flows that are grouped by category. Flows arent added directly to a Lightning Bolt Solution. Instead, add the
category the flows are in to the Lightning Bolt Solution. This type extends the Metadata metadata type and inherits its fullName
field.
FlowDefinition
Represents the flow definitions description and active flow version number.
FlowTest
Represents the metadata associated with a flow test. Before you activate a record-triggered flow, you can test it to verify its expected
results and identify flow run-time failures.
Folder
Represents a folder. This type extends the Metadata metadata type and inherits its fullName field.
ForecastingFilter
Represents the custom filter for including or excluding data from opportunity forecasts.
ForecastingFilterCondition
Represents the custom filter condition logic for including or excluding data from opportunity forecasts.
ForecastingSourceDefinition
Represents the object, measure, date type, and hierarchy that a forecast uses to project sales.
ForecastingType
Represents a forecast type.
ForecastingTypeSource
Represents the mapping of a forecasting source definition to a forecast type.
FuelType
Represents a custom fuel type in an org.
FuelTypeSustnUom
Represents a mapping between the custom fuel types and their corresponding unit of measure (UOM) values defined by a customer
in an org.
FunctionReference
Represents information about a deployed Salesforce Function that can be invoked from the org. This type extends the Metadata
metadata type and inherits its fullName field.
FundraisingConfig
Represents a collection of settings to configure the fundraising product.
GatewayProviderPaymentMethodType
Represents an entity that allows integrators and payment providers to choose an active payment to receive an order's payment data
rather than allowing the Salesforce Order Management platform to select a default payment method. This object is available in API
version 51 and later.
GenAiFunction
Represents a copilot action that can be added to Einstein Copilot.
GenAiPlanner
Represents a copilot planner service that uses a large language model (LLM) and a reasoning strategy to decompose a given task
into smaller subtasks, identify the most suitable actions for each subtask, and invoke them.
GenAiPromptTemplate
Represents the definition of a prompt template, including its related objects and fields.
143
Metadata Types
GenAiPromptTemplateActv
Represents the activation status of a Salesforce-provided prompt template.
GlobalPicklist
Represents a global picklist, or the set of shared picklist values that custom picklist fields can use. In contrast, the custom picklist
fields that are based on a global picklist are of type CustomValue. This type extends the Metadata metadata type and inherits its
fullName field.
GlobalPicklistValue
Represents the definition of a value used in a global picklist. Custom picklist fields can inherit the picklist value set from a global
picklist.
GlobalValueSet
Represents the metadata for a global picklist value set, which is the set of shared values that custom picklist fields can use. A global
value set isnt a field itself. In contrast, the custom picklist fields that are based on a global picklist are of type ValueSet. This type
extends the Metadata metadata type and inherits its fullName field.
GlobalValueSetTranslation
Contains details for a global value set translation. Global value sets are lists of values that can be shared by multiple custom picklist
fields, optionally across objects. This type extends the Metadata metadata type and inherits its fullName field.
Group
Represents a set of public groups, which can have users, roles, and other groups.
HomePageComponent
Represents the metadata associated with a home page component. You can customize the Home tab in Salesforce Classic to include
components such as sidebar links, a company logo, a dashboard snapshot, or custom components that you create. Use to create,
update, or delete home page component definitions.
HomePageLayout
Represents the metadata associated with a home page layout. You can customize home page layouts and assign the layouts to
users based on their user profile.
IdentityVerificationProcDef
Represents the definition of the identity verification process.
IdentityVerificationProcDtl
Represents the search functionality configuration and the minimum number of optional verifiers for identity verification. This type
extends the Metadata metadata type and inherits its fullName field.
IdentityVerificationProcFld
Represents the search and verification fields used in identity verification. This type extends the Metadata metadata type and inherits
its fullName field.
InboundCertificate
Represents a mutual authentication certificate that is imported to your Salesforce org.
InboundNetworkConnection
Represents a private connection between a third-party data service and a Salesforce org. The connection is inbound because the
callouts are coming into Salesforce.This type extends the Metadata metadata type and inherits its fullName field.
IndustriesPricingSettings
Represents the settings for Salesforce Pricing.
144
Metadata Types
InstalledPackage
Represents a first-generation managed package to be installed or uninstalled. Deploying a newer version of a currently installed
package upgrades the package. To install an unlocked or second-generation managed package, use the sf package install
Salesforce CLI command.
IntegrationProviderDef
Represents an integration definition associated with a service process. Stores data for the Industries: Send Apex Async Request and
Industries: Send External Async Request invocable actions.
IPAddressRange
Represents a range of IP addresses to include in or exclude from the specified feature.
KeywordList
Represents a list of keywords used in Experience Cloud site moderation. This keyword list is a type of moderation criteria that defines
offensive language or inappropriate content that you dont want in your site.
Layout
Represents the metadata associated with a page layout. For more information, see Page Layouts in Salesforce Help.
Letterhead
Represents formatting options for the letterhead in an email template. A letterhead defines the logo, page color, and text settings
for your HTML email templates. Use letterheads to ensure a consistent look and feel in your companys emails.
LightningBolt
Represents the definition of a Lightning Bolt Solution, which can include custom apps, flow categories, and Experience Builder
templates. This type extends the Metadata metadata type and inherits its fullName field.
LightningComponentBundle
Represents a Lightning web component bundle. A bundle contains Lightning web component resources.
LightningExperienceTheme
Represents the details of a custom theme, including the BrandingSet. Themes enable admins to specify configurable attributes, such
as three colors and five images. The colors and some of the images override SLDS token values and influence the generation of
app.css.
LightningMessageChannel
Represents the metadata associated with a Lightning Message Channel. A Lightning Message Channel represents a secure channel
to communicate across UI technologies, such as Lightning Web Components, Aura Components, and Visualforce.
LightningOnboardingConfig
Represents the feedback provided when users switch from Lightning Experience to Salesforce Classic. Admins can customize the
question, how frequently the form appears, and where the feedback is stored in Chatter from the Adoption Assistance page in
Lightning Experience Setup. This type extends the Metadata metadata type and inherits its fullName field.
LiveChatAgentConfig
Represents the configuration of an organizations Chat deployment, such as how many chats can be assigned to an agent and
whether chat sounds are enabled.
LiveChatButton
Represents a Chat deployments settings for the button that customers click to chat with an agent and the chat window, such as
the label that appears on the button and the pre-chat form that appears before a chat begins. This type extends the Metadata
metadata type and inherits its fullName field.
LiveChatDeployment
Represents the configuration settings for a specific Chat deployment, such as the branding image for the deployment and whether
or not chat transcripts are automatically saved.
145
Metadata Types
LiveChatSensitiveDataRule
Represents a rule for masking or deleting data of a specified pattern. Written as a regular expression (regex).
LoyaltyProgramSetup
Represents the configuration of a loyalty program process including its parameters and rules. Program processes determine how
new transaction journals are processed. When new transaction journals meet the criteria and conditions for a program process,
actions that are set up in the process are triggered for the transaction journals.
ManagedContentType
Represents the definition of custom content types for use with Salesforce CMS. Custom content types are displayed as forms with
defined fields.
ManagedEventSubscription (Beta)
Represents a managed event subscription in Pub/Sub API. Use a managed event subscription to track the events that a subscriber
client consumed and resume a subscription where it left off. This type extends the metadata type and inherits its fullName field.
ManagedTopics
Represents navigational and featured topics managed in an Experience Cloud site.
MarketingAppExtension
Represents an integration with a third-party app or service that is used to work with prospects.
MatchingRule
Represents a matching rule that is used to identify duplicate records.
MessagingChannel
Represents the metadata associated with an Embedded Service Messaging channel.
Metadata
The base class for all metadata types. You cant edit this object. A component is an instance of a metadata type.
MetadataWithContent
MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends
Metadata. You cant edit this object.
MfgProgramTemplate
Represents a definition of a program to create a program-based business. A program-based business, also known as a Manufacturing
Program, enables manufacturers to drive their business models with forecasting tools and manage the end-to-end sales process
efficiently.
MilestoneType
Represents the name and description of a milestone, which you can use in an entitlement process to track important steps in cases.
MlDomain
Represents an Einstein Intent Set. This type extends the Metadata metadata type and inherits its fullName field.
MLDataDefinition
Represents a modeling data definition, which specifies the data used to create a model. Such data can include filters, fields to include,
fields to exclude, and so on. This type extends the Metadata metadata type and inherits its fullName field.
MLPredictionDefinition
Represents a prediction definition that specifies details about the prediction. This type extends the Metadata metadata type and
inherits its fullName field.
MobileApplicationDetail
Represents the packaging attributes for a mobile connected app. This type extends the Metadata metadata type and inherits its
fullName field.
146
Metadata Types
MobileSecurityAssignment
Represents the assignment of mobile app security policies to a profile. The policies apply to the Salesforce mobile app with Enhanced
Mobile App Security enabled.
MobileSecurityPolicy
Represents a mobile app security policy on the Salesforce mobile app with Enhanced Mobile App Security enabled. For a full
description of each policy, see Enable and Configure Mobile App Security Policies.
MobSecurityCertPinConfig
Represents the authentication server certificate pin configuration on the Salesforce mobile app with Enhanced Mobile Security.
ModerationRule
Represents a rule used in your Experience Cloud site to moderate member-generated content. Each rule specifies the
member-generated content the rule applies to, the criteria to enforce the rule on, and the moderation action to take. Moderation
rules help protect your site from spammers, bots, and offensive or inappropriate content. This type extends the Metadata metadata
type and inherits its fullName field.
MutingPermissionSet
Represents a set of disabled permissions and is used in conjunction with PermissionSetGroup.
MyDomainDiscoverableLogin
Represents the configuration settings when the My Domain login page type is Discovery. Login Discovery provides an identity-first
login experience, where the login page contains the identifier field only. Based on the identifier entered, a handler determines how
to authenticate the user. This type extends the Metadata metadata type and inherits its fullName field.
NamedCredential
Represents a named credential, which specifies the URL of a callout endpoint and its required authentication parameters in one
definition. A named credential can be specified as an endpoint to simplify the setup of authenticated callouts.
NavigationMenu
Represents the navigation menu in an Experience Builder site. A navigation menu consists of items that users can click to go to other
parts of the site. This type replaces the NavigationLinkSet subtype on Network. NavigationMenu is available in API version 47.0 and
later. This type extends the Metadata metadata type and inherits its fullName field.
Network
Represents an Experience Cloud site. Salesforce Experience Cloud lets you create branded spaces for your employees, customers,
and partners. You can customize and create experiences, whether theyre communities, sites, or portals, to meet your business needs,
then transition seamlessly between them. If you want to create zones that contain Chatter Answers and Ideas, use the Community
(Zone) component.
NetworkBranding
Represents the branding and color scheme applied to the login pages of an Experience Cloud site. (Experience Cloud sites are
represented by the Network component.)
NotificationTypeConfig
Represents the metadata associated with org-level notification settings for standard and custom notification types. This type extends
the Metadata metadata type and inherits its fullName field.
OauthCustomScope
Represents a permission defining the protected data that a connected app can access from an external entity when Salesforce is
the OAuth authorization provider. This type extends the Metadata metadata type and inherits its fullName field.
OauthTokenExchangeHandler
Represents a token exchange handler. The token exchange handler also consists of an Apex class. During the OAuth 2.0 token
exchange flow, the token exchange handler is used to validate tokens from an external identity provider and to map users to
Salesforce.
147
Metadata Types
OcrSampleDocument
Represents the details of a sample document or a document type that's used as a reference while extracting and mapping information
from a customer form. This type extends the Metadata metadata type and inherits its fullName field.
OcrTemplate
Represents the details of the mapping between a form and a Salesforce object using Intelligent Form Reader.This type extends the
Metadata metadata type and inherits its fullName field.
OmniExtTrackingDef
Represents a connection between an OmniTrackingGroup in OmniAnalytics and a third-party Analytics system such as Google
Analytics.
OmniScript
Represents an OmniScript for the Discovery Framework, which guides users through sales, service, and other business processes.
OmniSupervisorConfig
Represents the Omni-Channel supervisor configuration for an assigned group of supervisors.
OmniTrackingGroup
Represents a group of FlexCard and OmniScript components that have their user interactions tracked together in OmniAnalytics.
OutboundNetworkConnection
Represents a private connection between a Salesforce org and a third-party data service. The connection is outbound because the
callouts are going out of Salesforce. This type extends the Metadata metadata type and inherits its fullName field.
Package
Specifies which metadata components to retrieve as part of a retrieve() call or defines a package of components.
ParticipantRole
Represents details, such as the name and associated default access level, for a role that a participant can have in the context of a
parent record.
PathAssistant
Represents Path records.This type extends the Metadata metadata type and inherits its fullName field.
PaymentGatewayProvider
Represents the metadata associated with a payment gateway provider. This type extends the Metadata metadata type and inherits
its fullName field.
PermissionSet
Represents a set of permissions that's used to grant more access to one or more users without changing their profile or reassigning
profiles. You can use permission sets to grant access but not to deny access.
PermissionSetGroup
Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based
on job functions or tasks. Then, you can package the groups as needed.
PermissionSetLicenseDefinition (Developer Preview)
Represents the definition of a custom permission set license, which entitles specified features in a package.
PersonAccountOwnerPowerUser
Represents a user who can own more than 50,000 customer or partner portal accounts. Person account owner power users can own
a large number of either customer or partner users. They cant change their role, look up to a parent role, or reparent their role. Person
account owner power user objects can't be created if deferred sharing is turned on for your org. This object is available in API version
57.0 and later.
148
Metadata Types
PipelineInspMetricConfig
Represents the settings of Pipeline Inspection forecast category metrics.
PlatformCachePartition
Represents a partition in the Platform Cache. This type extends the Metadata metadata type and inherits its fullName field.
PlatformEventChannel
Represents a channel that you can subscribe to in order to receive a stream of events. In API version 46.0 and earlier, it is the default
standard channel for change data capture events. In API version 47.0 and later, it is a custom channel for change data capture events.
PlatformEventChannelMember
Represents an entity selected for Change Data Capture notifications on a standard or custom channel, or a platform event selected
on a custom channel.
PlatformEventSubscriberConfig
Represents configuration settings for a platform event Apex trigger, including the batch size and the triggers running user.
Portal
The Portal metadata type represents a partner portal.
PortalDelegablePermissionSet
Represents the org-level permission sets that can be assigned to a particular profile for external users or shoppers in a store after
enabling the Delegable Administration perm.
PostTemplate
Represents the metadata associated with an approval post template for Approvals in Chatter. With approval post templates, you
can customize the information included in approval request posts that appear in Chatter feeds. This type extends the Metadata
metadata type and inherits its fullName field.
ProductAttributeSet
Represents the ProductAttribute information being used as and attribute such as color_c, size_c .
PresenceDeclineReason
Represents an Omni-Channel decline reason that agents can select when declining work requests. This type extends the Metadata
metadata type and inherits its fullName field.
PresenceUserConfig
Represents a configuration that determines a presence users settings.
Profile
Represents a user profile. A profile defines a users permission to perform different functions within Salesforce. This type extends the
Metadata metadata type and inherits its fullName field.
ProfileActionOverride
Represents an override of an ActionOverride by a user profile. You can use it to override an ActionOverride on a standard Home tab
or object record page in Lightning Experience. When a user logs in with a profile, a matching ProfileActionOverride assignment takes
precedence over existing overrides for the Home tab or record page specified in ActionOverride. In API versions 39.0 to 44.0, you
can access ProfileActionOverride by accessing its encompassing CustomApplication on page 540 or Profile on page 1402 metadata
types. In API version 45.0 and later, you can access ProfileActionOverride only by accessing its encompassing CustomApplication on
page 540.
ProfilePasswordPolicy
Represents a profiles password policies. Profile password policies override org-wide password policies for that profiles users. Use
ProfilePasswordPolicy to retrieve password policies for a given profile. This type extends the Metadata metadata type and inherits
its fullName field.
149
Metadata Types
ProfileSessionSetting
Represents a profiles session settings. Use ProfileSessionSetting to retrieve the session settings for a given profile. This type extends
the Metadata metadata type and inherits its fullName field.
Prompt
Represents the metadata related to in-app guidance. Use prompts and walkthroughs to display announcements, training, or news
to users within the app. Choose to add an action button or link to a URL of your choice. Track view and button click completes. This
type extends the Metadata metadata type and inherits its fullName field.
Queue
Represents a holding area for items before they are processed.
QueueRoutingConfig
Represents the settings that determine how work items are routed to agents.
QuickAction
Represents a specified create or update quick action for an object that then becomes available in the Chatter publisher. For example,
you can create an action that, on the detail page of an account, allows a user to create a contact related to that account from the
Chatter feed on that page. QuickAction can be created on objects that permit custom fields.
RedirectWhitelistUrl
Represents a trusted URL thats excluded from redirection restrictions when the redirectionWarning or
redirectBlockModeEnabled field on the SessionSettings Metadata type is set to true. This type extends the Metadata
metadata type and inherits its fullName field.
RecommendationStrategy
Represents a recommendation strategy. Recommendation strategies are applications, similar to data flows, that determine a set of
recommendations to be delivered to the client through data retrieval, branching, and logic operations.
RecordActionDeployment
Represents configuration settings for the Actions & Recommendations, Action Launcher, and Bulk Action Panel components. For
example, you can have a deployment that specifies which types of actions to display, default actions for channels, and the actions
that users can add at runtime. If the component shows Next Best Action recommendations, the deployment configures which
strategies to use and how recommendations appear. This type extends the Metadata metadata type and inherits its fullName
field.
RecordAggregationDefinition
Represents a data aggregation from one object to another object to which it is connected by other objects in the data model.
RecordAlertCategory
Represents a category to group and present record alerts.
RegisteredExternalService
Represents a registered external service, which provides an extension or integration.
ReferencedDashboard
Represents the ReferencedDashboard object in CRM Analytics. A referenced dashboard stores information about an externally
referenced dashboard.
RelatedRecordAssocCriteria
Represents criteria for automatically linking records like accounts, leads, opportunities, and cases with the branches that work with
them.
RelationshipGraphDefinition
Represents a definition of a graph that you can configure in your organization to traverse object hierarchies and record details, giving
you a glimpse of how your business works.
150
Metadata Types
RemoteSiteSetting
Represents a remote site setting. Before any Visualforce page, Apex callout, or JavaScript code using XmlHttpRequest in an s-control
or custom button can call an external site, that site must be registered in the Remote Site Settings page, or the call fails.
Report
Represents a custom report. This metadata type only supports custom reports; standard reports arent supported.
ReportType
Represents the metadata associated with a custom report type. Custom report types allow you to build a framework from which
users can create and customize reports.
RestrictionRule
Represents a restriction rule or a scoping rule. A restriction rule has enforcementType set to Restrict and controls the
access that specified users have to designated records. A scoping rule has enforcementType set to Scoping and controls
the default records that your users see without restricting access. This type extends the Metadata metadata type and inherits its
fullName field.
Role
Represents a role in your organization.
RoleOrTerritory
Represents the common base type and valid values for role or territory.
SalesWorkQueueSettings
Represents settings used to customize work queue options for third-party scoring. In Sales Engagement, you can add a custom
number field on person accounts, contacts, or leads. Then, use the custom number field to sort the work queue. This type extends
the Metadata metadata type and inherits its fullName field.
SamlSsoConfig
Represents a SAML Single Sign-On configuration. This type extends the Metadata metadata type and inherits its fullName field.
Single sign-on (SSO) is an authentication method that enables users to access multiple applications with one login and one set of
credentials. For example, after users log in to your org, they can automatically access all apps from the App Launcher. You can set
up your Salesforce org to trust a third-party identity provider to authenticate users. Or you can configure a third-party app to rely on
your org for authentication.
SchedulingObjective
Represents a scheduling objective in Workforce Engagement. Scheduling objectives define business goals that the scheduling tools
consider when identifying agents for shifts.
SchedulingRule
Represents a scheduling rule in Workforce Engagement Management. Scheduling rules determine when agents are assigned to
shifts.
Scontrol
Deprecated. Represents an Scontrol component, corresponding to an s-control in the Salesforce user interface.
SearchCustomization
Represents the configuration of search settings created in Search Manager. The configuration includes the search channel, searchable
objects and fields, and rules to filter search results.
SearchOrgWideObjectConfig
Represents an object in the search index. The search index contains org-wide search settings created in Search Manager. Each object
in the search index includes searchable fields and fields protected by field-level security in search.
151
Metadata Types
ServiceAISetupDefinition
Represents settings for an Einstein for Service feature such as Einstein Article Recommendations. This type extends the Metadata
metadata type and inherits its fullName field.
ServiceAISetupField
Represents a field on cases or knowledge articles that Einstein uses to identify relevant articles in Einstein Article Recommendations.
This type extends the Metadata metadata type and inherits its fullName field.
ServiceChannel
Represents a channel of work items that are received from your organizationfor example, cases, chats, or leads.
ServicePresenceStatus
Represents a presence status that can be assigned to a service channel. This type extends the Metadata metadata type and inherits
its fullName field.
ServiceProcess
Represents a process created in Service Process Studio and its associated attributes.
Settings
Represents the organization settings related to a feature. For example, your password policies, session settings and network access
controls are all available in the SecuritySettings component type.
SharedTo
SharedTo defines the sharing access for a list view or a folder. It can be used to specify the target and source for owner-based sharing
rules.
SharingBaseRule
Represents sharing rule settings such as access level and to whom access is granted.
SharingRules
Represents the base container for sharing rules, which can be criteria-based, ownership-based, territory-based, or for guest user
access. SharingRules enables you to share records with a set of users, using rules that specify the access level for the target user
group.
SharingSet
Represents a sharing set. A sharing set defines an access mapping that grants portal or community users access to objects that are
associated with their accounts or contacts.
SiteDotCom
Represents a site for deployment.
Skill
Represents the settings for a skill used for field service or to route chats to agents in Chat, such as the name of the skill and which
agents the skills are assigned to.
StandardValueSet
Represents the set of values in a standard picklist field. This type extends the Metadata metadata type and inherits its fullName
field.
StandardValueSetTranslation
Contains details for a standard picklist translation. It returns a translated standard value set.This type extends the Metadata metadata
type and inherits its fullName field.
StaticResource
Represents a static resource file, often a code library in a ZIP file. Static resources allow you to upload content that you can reference
in a Visualforce page, including archives (such as .zip and .jar files), images, style sheets, JavaScript, and other files. Static resources
can be used only within your Salesforce org, so you cant host content here for other apps or websites.
152
Metadata Types
SustainabilityUom
Represents the unit of measure (UOM) values for custom fuel types in an org. Track fuel consumption and emission results with the
flexibility to add custom fuel types and UOM values.
SustnUomConversion
Represents information about the unit of measure (UOM) conversion for the custom fuel types defined by a customer in an org.
SvcCatalogCategory
Represents the grouping of individual catalog items in Service Catalog.
SvcCatalogFulfillmentFlow
Represents the flow associated with a specific catalog item in the Service Catalog.
SvcCatalogItemDef
Represents the entity associated with a specific, individual service available in the Service Catalog.
SynonymDictionary
Represents a set of synonym groups, which are groups of words or phrases that are treated as equivalent in users searches. You can
define synonym groups to optimize search results for acronyms, variations of product names, and other terminology unique to your
organization.
Territory
Represents a territory in your organization.
Territory2
Represents the metadata associated with a sales territory in Territory Management 2.0. This type extends the Metadata metadata
type and inherits its fullName field. Available only if Territory Management 2.0 has been enabled for your organization.
Territory2Model
Represents the metadata associated with a territory model in Territory Management 2.0. This type extends the Metadata metadata
type and inherits its fullName field.Available only if Territory Management 2.0 has been enabled for your Salesforce org.
Territory2Rule
Represents the metadata associated with a territory assignment rule associated with an object, such as Account, in Territory
Management 2.0. Available only if Territory Management 2.0 has been enabled for your Salesforce org.
Territory2Type
Represents the metadata for a category of territories in Territory Management 2.0. Every Territory2 must have a Territory2Type. This
type extends the Metadata metadata type and inherits its fullName field.Available only if Enterprise Territory Management has
been enabled for your Salesforce org.
TimelineObjectDefinition
Represents the container that stores the details of a timeline configuration. You can use this resource with Salesforce objects to see
their records' related events in a linear time-sorted view.
TimeSheetTemplate
Represents a template for creating time sheets in Field Service. This type extends the Metadata metadata type and inherits its
fullName field.
TopicsForObjects
Represents the ability to assign topics to objects or to remove topic assignments.
TransactionSecurityPolicy
Represents a transaction security policy definition. Transaction security policies give you a way to look through events in your
organization and specify actions to take when certain combinations occur.
153
Metadata Types
Translations
Metadata type that enables work with translations for various supported languages. The ability to translate component labels is part
of the Translation Workbench.
UIObjectRelationConfig
Represents the admin-created configuration of the object relation UI component.
UserAccessPolicy
Represents a user access policy.
UserAuthCertificate
Represents a PEM-encoded user certificate. These certificates are associated with a user, and externally uploaded. The uploaded
certificate is used to authenticate the user.
UserCriteria
Represents the member criteria to use in Experience Cloud site moderation rules. This type extends the Metadata metadata type
and inherits its fullName field..
UserProfileSearchScope
Reserved for internal use.
UserProvisioningConfig
Represents information to use during a user provisioning request flow, such as the attributes for an update. This type extends the
Metadata metadata type and inherits its fullName field.
VirtualVisitConfig
Represents an external video provider configuration, which relays events from Salesforce to the provider.
WaveApplication
Represents the Analytics application. This type extends the Metadata metadata type and inherits its fullName field.
WaveComponent
Represents the WaveComponent object in the Analytics application. This type extends the MetadataWithContent metadata type
and inherits its content and fullName fields.
WaveDataflow
Represents the WaveDataflow object in the Analytics application. This type extends the MetadataWithContent metadata type and
inherits its content and fullName fields.
WaveDashboard
Represents the WaveDashboard object in the Analytics application. This type extends the MetadataWithContent metadata type and
inherits its content and fullName fields.
WaveDataset
Represents the WaveDataset object in the Analytics application. This type extends the Metadata metadata type and inherits its
fullName field.
WaveLens
Represents the WaveLens object in the Analytics application.
WaveRecipe
Represents the WaveRecipe type in an Analytics application. A recipe is a saved set of steps to perform on a specific source dataset
or connected data. This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
WaveTemplateBundle
Represents an Analytics template bundle, which can be used to create Analytics apps. A bundle contains an Analytics template
definition and all its related resources.This type extends the Metadata metadata type and inherits its fullName field.
154
Metadata Types
WaveXmd
Represents the WaveXmd object in the Analytics application. This type extends the Metadata metadata type and inherits its
fullName field.
WebStoreBundle
Represents the configuration of a webstore.
WebStoreTemplate
Represents a configuration for creating commerce stores.
Workflow
Represents the metadata associated with a workflow rule. A workflow rule sets workflow actions into motion when its designated
conditions are met. You can configure workflow actions to execute immediately when a record meets the conditions in your workflow
rule, or set time triggers that execute the workflow actions on a specific day. Use this metadata type to create, update, or delete
workflow rule definitions.
WorkSkillRouting
Represents a setup object that stores a set of WorkSkillRoutingAttribute objects. These objects are used to route a work item to an
agent who has the skills necessary to take the work. This type extends the Metadata metadata type and inherits its fullName
field.
Metadata Components and Types
Metadata components are not based on sObjects, like objects in the API. Instead, they are based on metadata types, such as ApexClass
and CustomObject, which extend Metadata, the base class for all metadata types. A component is an instance of a metadata type.
For example, CustomObject is a metadata type for custom objects, and the MyCustomObject__c component is an instance
of a custom object.
A metadata type can be identified in the metadata WSDL as any complexType that extends the Metadata complexType. A complexType
that is a metadata type includes the following element in its WSDL definition:
<xsd:extension base="tns:Metadata">
CustomObject and BusinessProcess extend Metadata so they are metadata types; ActionOverride doesn't extend Metadata so it's not a
metadata type.
You can individually deploy or retrieve a component for a metadata type. For example, you can retrieve an individual BusinessProcess
component, but you can't retrieve an individual ActionOverride component. You can only retrieve an ActionOverride component by
retrieving its encompassing CustomObject component.
Metadata components can be manipulated by asynchronous Metadata API calls or declarative (or file-based) Metadata API calls.
Most of the components can be accessed using Salesforce Extensions for Visual Studio Code. Exceptions are noted in the description of
the object.
Field Data Types
Each component field has a specific field type. These field types can correspond to other components defined in the WSDL, or primitive
data types, like string, that are commonly used in strongly typed programming languages.
These field data types are used in the messages that are exchanged between your client application and the API. When writing your
client application, follow the data typing rules defined for your programming language and development environment. Your development
tool handles the mapping of typed data in your programming language with these data types.
155
Metadata Components and TypesMetadata Types
For more information, see Primitive Data Typesin the Salesforce Object Reference.
Enumeration Fields
Some component fields have a data type that is an enumeration. An enumeration is the API equivalent of a picklist. The valid values of
the field are restricted to a strict set of possible values, all having the same data type. These values are listed in the field description
column for each enumeration field. See sortBy for an example of an enumeration field of type string. The XML below shows a sample
definition of an enumeration of type string in the WSDL.
<xsd:simpleType name="DashboardComponentFilter">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="RowLabelAscending"/>
<xsd:enumeration value="RowLabelDescending"/>
<xsd:enumeration value="RowValueAscending"/>
<xsd:enumeration value="RowValueDescending"/>
</xsd:restriction>
</xsd:simpleType>
Supported Calls
All of the metadata types are supported by the main calls, unless it is stated otherwise in the individual component sections. The main
Metadata API calls are:
CRUD calls, such as createMetadata() and deleteMetadata()
File-based calls, such as deploy() and retrieve()
Utility calls, such as listMetadata() and describeMetadata()
Metadata Coverage Report
Launch the Metadata Coverage report to determine supported metadata components. The Metadata Coverage report is the ultimate
source of truth for metadata coverage across several channels. These channels include Metadata API, scratch org source tracking, unlocked
packages, second-generation managed packages, classic managed packages, and more.
To view the Metadata Coverage report, you dont have to be logged into an org.
Unsupported Metadata Types
Some Salesforce features have metadata types that arent available in Metadata API. These metadata types cant be retrieved or deployed
with Metadata API. To make changes to these types, you must do it manually in each of your organizations.
Some metadata types may also be unsupported in source tracking, packaging, and change sets.
For a complete list of metadata types and where theyre supported, see Metadata Coverage.
SEE ALSO:
Salesforce Developers: Metadata Coverage
Salesforce DX Developer Guide: Track Changes Between Your Project and Org
Second-Generation Managed Packaging Developer Guide: Second-Generation Managed Packages
Sandboxes: Staging Environments for Customizing and Testing: Change Sets
156
Metadata Coverage ReportMetadata Types
Special Behavior in Metadata API Deployments
Important considerations for specific types and contents of a deployment.
Use the information here to determine what to include in your deployment and how the changes appear in the destination.
Special Behavior in Deployments
Data Cloud Metadata Types
Check out the metadata types that are used for development in Data Cloud.
ActivationPlatform
Represents the ActivationPlatform configuration, such as platform name, delivery schedule, output format, and destination folder.
ActivationPlatformField
Represents the information about the fields used in ActivationPlatform.
ActvPfrmDataConnectorS3
Represents the Amazon S3 bucket name and export directory.
ActvPlatformAdncIdentifier
Represents the information about the identifiers to be activated, such as Email, Phone, Mobile Advertiser (MAID) ID, and Over-the-top
(OTT) ID.
ActvPlatformFieldValue
Represents the field values for the ActivationPlatformFields.
DataConnectorIngestApi
Represents the connection information specific to Ingestion API.
DataConnectorS3
Represents the connection information specific to Amazon S3.
DataPackageKitDefinition
Represents the top-level Data Kit container definition. Content objects can be added after the Data Kit is defined.
DataPackageKitObject
Represents the object in Data Kit Content Object. These objects are added inside the data kit.
DataSource
Used to represent the system where the data was sourced. This object is always needed when creating a Data Stream Definition.
DataSourceBundleDefinition
Represents the bundle of streams that a user adds to a data kit.
DataSourceField
Represents the details of a data source.
DataSourceObject
Represents the object from where the data was sourced.
DataSourceTenant
For internal use only.
157
Special Behavior in Metadata API DeploymentsMetadata Types
DataSrcDataModelFieldMap
Represents the entity that is used for storing the design time bundle level mappings for the data source fields and data model fields.
DataStreamDefinition
Contains Data Ingestion information such as Connection, API and File retrieval settings.
DataStreamTemplate
Represents the datastream that a user adds to a datakit.
ExternalDataConnector
Used to represent the object where the data was sourced.
ExternalDataSource
Represents the metadata associated with an external data source. Create external data sources to manage connection details for
integration with data and content that are stored outside your Salesforce org.
ExternalDataTranObject
Represents a definition of a Data Cloud schema object. This type extends the Metadata metadata type and inherits its fullName
field.
FieldSrcTrgtRelationship
Stores the relationships between a data model object (DMO) and its fields. For example, the Individual.Id field has a
one-to-many relationship (1:M) with the ContactPointEmail.PartyId field.
InternalDataConnector
For internal use only.
MarketSegmentDefinition
Represents the field values for MarketSegmentDefinition. MarketSegmentDefinition is used to store the exportable metadata of a
segment, such as segment criteria and other attributes. Developers can create segment definition packages, pass segment definition
in the form of data build tool (DBT), and publish it on AppExchange for subscriber organizations to install and instantiate these
segments.
MktCalcInsightObjectDef
Represents Calculated Insight definition such as expression.
MktDataTranObject
An entity that is used to deliver (aka transport) information from the source to a target (target will be called a landing entity).This
can be the schema of a file, API, Event, or other means of transporting data, such as SubscriberFile1.csv, or SubscriberCDCEvent.
ObjectSourceTargetMap
Contains the object-level mappings between the source and the target objects. The source and target objects can be an
MktDataLakeObject or an MktDataModelObject. For example, an Email source object can be mapped to the ContactPointEmail
object.
StreamingAppDataConnector
Represents the connection information specific to Web and Mobile Connectors.
SEE ALSO:
Developer Center: Data Cloud
ActivationPlatform
Represents the ActivationPlatform configuration, such as platform name, delivery schedule, output format, and destination folder.
158
ActivationPlatformMetadata Types
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ActivationPlatform components have the suffix .activationPlatform and are stored in the activationPlatforms folder.
Version
ActivationPlatform components are available in API version 54.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
ActivationPlatformConnectorType (enumeration of type string)
Description
Reserved for future use.
activationPlatformConnectorType
Field Type
string
dataConnector
Description
Reference to the ActvPfrmDataConnectorS3 metadata type, which contains S3 bucket
and export directory information into which Data Cloud writes data.
Field Type
string
description
Description
Required.
The description for ActivationPlatform.
Field Type
boolean
enabled
Description
Required.
159
ActivationPlatformMetadata Types
DescriptionField Name
Field Type
ActivationPlatformConnectorType (enumeration of type string)
Description
Reserved for future use.
activationPlatformConnectorType
Indicates if ActivationPlatform is enabled (true) or not (false). The default is false.
Field Type
boolean
includeSegmentNames
Description
Indicates whether to include the segment name in metadata (true) or not (false).
Field Type
string
logoUrl
Description
URL of the logo for the activation channel destination.
Field Type
string
masterLabel
Description
Required.
The name for the activation channel destination.
Field Type
string
notes
Description
Notes for this ActivationPlartform.
Field Type
ActivationPlatformFileOutputFormat (enumeration of type string)
outputFormat
Description
Required.
The output format of the file.
Valid values are:
CSV
JSON
PARQUET
Field Type
ActivationPlatformFileOutputGrouping (enumeration of type string)
outputGrouping
160
ActivationPlatformMetadata Types
DescriptionField Name
Field Type
ActivationPlatformConnectorType (enumeration of type string)
Description
Reserved for future use.
activationPlatformConnectorType
Description
Required.
The grouping of the output.
Valid values are:
PER_ACCOUNT
PER_SEGMENT
Field Type
ActivationPlatformPeriodicFullRefresh (enumeration of type string)
periodicRefreshFrequecy
Description
Reserved for internal use.
Field Type
ActivationPlatformType (enumeration of type string)
platformType
Description
Required.
The type of the Activation Platform.
Valid values are:
Advertising
Analytics
Marketing
Publishing
Technology
Field Type
ActivationPlatformRefreshFrequency (enumeration of type string)
refreshFrequency
Description
Required.
Indicates how often the activation platform accepts data delivery.
Valid value is:
TWENTY_FOUR
Field Type
ActivationPlatformRefreshMode (enumeration of type string)
refreshMode
161
ActivationPlatformMetadata Types
DescriptionField Name
Field Type
ActivationPlatformConnectorType (enumeration of type string)
Description
Reserved for future use.
activationPlatformConnectorType
Description
Required.
Defines how the refresh method handles refreshing files.
Valid values are:
FULL
INCREMENTAL
Declarative Metadata Sample Definition
The following is an example of an ActivationPlatform component.
<?xml version="1.0" encoding="UTF-8"?>
<ActivationPlatform xmlns="http://soap.sforce.com/2006/04/metadata">
<dataConnector>S3Connector</dataConnector>
<description>Activation Platform Description</description>
<enabled>false</enabled>
<includeSegmentNames>false</includeSegmentNames>
<logoUrl>link to logo</logoUrl>
<masterLabel>MyExternalPlatform</masterLabel>
<notes>Notes about this Platform</notes>
<outputFormat>CSV</outputFormat>
<outputGrouping>PER_ACCOUNT</outputGrouping>
<refreshMode>FULL</refreshMode>
<refreshFrequency>TWENTY_FOUR</refreshFrequency>
<periodicRefreshFrequecy>NEVER</periodicRefreshFrequecy>
<platformType>Advertising</platformType>
</ActivationPlatform>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyActivationPlatform</fullName>
<types>
<members>APlatform</members>
<name>ActivationPlatform</name>
</types>
<types>
<members>AccountIdField</members>
<name>ActivationPlatformField</name>
</types>
<types>
<members>S3Connector</members>
162
ActivationPlatformMetadata Types
<name>ActvPfrmDataConnectorS3</name>
</types>
<types>
<members>EmailIdentifier</members>
<name>ActvPlatformAdncIdentifier</name>
</types>
<types>
<members>AccountIdFieldValue</members>
<name>ActvPlatformFieldValue</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActivationPlatformField
Represents the information about the fields used in ActivationPlatform.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ActivationPlatformField components have the suffix .activationPlatformField and are stored in the
activationPlatformFields folder.
Version
ActivationPlatformField components are available in API version 54.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
activationPlatform
163
ActivationPlatformFieldMetadata Types
DescriptionField Name
Description
Required.
Reference to the ActivationPlatform metadata type.
Field Type
string
helpText
Description
Information about ActivationPlatformField.
Field Type
boolean
isHidden
Description
Required.
Indicates whether ActivationPlatformField can be overridden by marketer (false)
or not (true). The default is false. Field cant be overridden by marketer when set to
true.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
Field Type
boolean
isRequired
Description
Required.
Indicates whether this ActivationPlatformField is required (true) or not (false).
The default is false.
Field Type
string
masterLabel
Description
Required.
The name of the ActivationPlaformField.
Field Type
ActivationPlatformFieldDataType (enumeration of type string)
type
Description
Represents the datatype of the field.
Valid value is:
164
ActivationPlatformFieldMetadata Types
DescriptionField Name
Text
Declarative Metadata Sample Definition
The following is an example of an ActivationPlatformField component.
<?xml version="1.0" encoding="UTF-8"?>
<ActivationPlatformField xmlns="http://soap.sforce.com/2006/04/metadata">
<activationPlatform>APlatform</activationPlatform>
<isHidden>false</isHidden>
<isRequired>true</isRequired>
<masterLabel>AccountId</masterLabel>
</ActivationPlatformField>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyActivationPlatform</fullName>
<types>
<members>APlatform</members>
<name>ActivationPlatform</name>
</types>
<types>
<members>AccountIdField</members>
<name>ActivationPlatformField</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActvPfrmDataConnectorS3
Represents the Amazon S3 bucket name and export directory.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
165
ActvPfrmDataConnectorS3Metadata Types
File Suffix and Directory Location
ActvPfrmDataConnectorS3 components have the suffix .actvPfrmDataConnectorS3 and are stored in the
actvPfrmDataConnectorS3s folder.
Version
ActvPfrmDataConnectorS3 components are available in API version 54.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
bucketName
Description
Required.
The Amazon S3 bucket name.
Field Type
string
exportDirectory
Description
This is an optional field that is reserved for internal use.
Field Type
string
masterLabel
Description
Required.
The display name of ActvPfrmDataConnectorS3.
Declarative Metadata Sample Definition
The following is an example of an ActvPfrmDataConnectorS3 component.
<?xml version="1.0" encoding="UTF-8"?>
<ActvPfrmDataConnectorS3 xmlns="http://soap.sforce.com/2006/04/metadata">
<bucketName>MyS3Bucket</bucketName>
<exportDirectory>Output</exportDirectory>
<masterLabel>S3Connector</masterLabel>
</ActvPfrmDataConnectorS3>
166
ActvPfrmDataConnectorS3Metadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyActivationPlatform</fullName>
<types>
<members>APlatform</members>
<name>ActivationPlatform</name>
</types>
<types>
<members>S3Connector</members>
<name>ActvPfrmDataConnectorS3</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActvPlatformAdncIdentifier
Represents the information about the identifiers to be activated, such as Email, Phone, Mobile Advertiser (MAID) ID, and Over-the-top
(OTT) ID.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ActvPlatformAdncIdentifier components have the suffix .actvPlatformAdncIdentifier and are stored in the
actvPlatformAdncIdentifiers folder.
Version
ActvPlatformAdncIdentifier components are available in API version 54.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
167
ActvPlatformAdncIdentifierMetadata Types
Fields
DescriptionField Name
Field Type
string
activationPlatform
Description
Required.
Reference to the ActivationPlatform metadata type.Reference to ActivationPlatform.
Field Type
ActivationPlatformIdentifierHashMethod (enumeration of type string)
identifierHashMethod
Description
The hash method of the identifier type. The supported hash method for Email and
Phone is SHA256. The supported hash method for MAID and OTT is NONE.
Field Type
ActivationPlatformIdentifierType (enumeration of type string)
identifierType
Description
Required.
The type of identifier to be activated.
Valid values are:
EMAIL
MAID
OTT
PHONE
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
Field Type
string
masterLabel
Description
Required.
The name of the identifier.
168
ActvPlatformAdncIdentifierMetadata Types
Declarative Metadata Sample Definition
The following is an example of an ActvPlatformAdncIdentifier component.
<?xml version="1.0" encoding="UTF-8"?>
<ActvPlatformAdncIdentifier xmlns="http://soap.sforce.com/2006/04/metadata">
<activationPlatform>APlatform</activationPlatform>
<identifierHashMethod>SHA256</identifierHashMethod>
<identifierType>EMAIL</identifierType>
<masterLabel>EmailIdentifier</masterLabel>
</ActvPlatformAdncIdentifier>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyActivationPlatform</fullName>
<types>
<members>APlatform</members>
<name>ActivationPlatform</name>
</types>
<types>
<members>EmailIdentifier</members>
<name>ActvPlatformAdncIdentifier</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActvPlatformFieldValue
Represents the field values for the ActivationPlatformFields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ActvPlatformFieldValue components have the suffix .actvPlatformFieldValue and are stored in the
actvPlatformFieldValues folder.
Version
ActvPlatformFieldValue components are available in API version 54.0 and later.
169
ActvPlatformFieldValueMetadata Types
Special Access Rules
Fields
DescriptionField Name
Field Type
string
activationPlatformField
Description
Required.
Reference to the ActivationPlatform metadata type.
Field Type
boolean
isDefault
Description
Required.
Indicates whether the value is default (true) or not (false). The default is false.
Picklist isnt supported in API version 54.0
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
Field Type
string
masterLabel
Description
Required.
The name of the field.
Field Type
string
value
Description
The value of activationPlatformField.
Declarative Metadata Sample Definition
The following is an example of an ActvPlatformFieldValue component.
Field with no value:
<ActvPlatformFieldValue xmlns="http://soap.sforce.com/2006/04/metadata">
<activationPlatformField>AccountIdField</activationPlatformField>
170
ActvPlatformFieldValueMetadata Types
<isDefault>true</isDefault>
<masterLabel>AccountIdValue</masterLabel>
<value>null</value>
</ActvPlatformFieldValue>
Field with value:
<ActvPlatformFieldValue xmlns="http://soap.sforce.com/2006/04/metadata">
<activationPlatformField>AccountIdField</activationPlatformField>
<isDefault>true</isDefault>
<masterLabel>AccountIdValue</masterLabel>
<value>1234</value>
</ActvPlatformFieldValue>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyActivationPlatform</fullName>
<types>
<members>APlatform</members>
<name>ActivationPlatform</name>
</types>
<types>
<members>AccountIdField</members>
<name>ActivationPlatformField</name>
</types>
<types>
<members>AccountIdValue</members>
<name>ActvPlatformFieldValue</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataConnectorIngestApi
Represents the connection information specific to Ingestion API.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
171
DataConnectorIngestApiMetadata Types
File Suffix and Directory Location
DataConnectorIngestApi components have the suffix .dataConnectorIngestApi and are stored in the
dataConnectorIngestApis folder.
Version
DataConnectorIngestApi components are available in API version 54.0 and later.
Special Access Rules
You must have the CustomizeApplication user permissions to access the DataConnectorIngestApi type.
Fields
DescriptionField Name
Field Type
string
masterLabel
Description
Required.
UI label of the Ingestion API Connector.
Field Type
string
sourceName
Description
Required.
Name of the Ingestion API Connector.
Declarative Metadata Sample Definition
The following is an example of a DataConnectorIngestApi component.
<?xml version="1.0" encoding="UTF-8"?>
<DataConnectorIngestApi xmlns="http://soap.sforce.com/2006/04/metadata">
<sourceName>CONNECTOR NAME</sourceName>
<masterLabel>CONNECTOR NAME</masterLabel>
</DataConnectorIngestApi>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<DataConnectorIngestApi xmlns="http://soap.sforce.com/2006/04/metadata">
<sourceName>MyConnector</sourceName>
<masterLabel>MyConnector</masterLabel>
</DataConnectorIngestApi>
172
DataConnectorIngestApiMetadata Types
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataConnectorS3
Represents the connection information specific to Amazon S3.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
DataConnectorS3 components have the suffix s3DataConnector and are stored in the s3DataConnectors folder.
Version
DataConnectorS3 components are available in API version 50.0 and later.
Special Access Rules
You need the Salesforce CustomizeApplication permission to access this object.
Fields
DescriptionField TypeField Name
Optional. File or Wildcard (*) to be used when finding files.stringfileNameWildcard
Required. Path from the directory to where files are located.stringimportFromDirectory
Required. The UI name for the S3 data connector.stringmasterLabel
Optional. The Amazon S3 Name of the Bucket.strings3BucketName
Declarative Metadata Sample Definition
The following is an example of a DataConnectorS3 component.
<?xml version="1.0" encoding="UTF-8"?>
<DataConnectorS3 xmlns="http://soap.sforce.com/2006/04/metadata">
<fileNameWildcard>*.csv</fileNameWildcard>
<importFromDirectory>c360-subset-lheader/</importFromDirectory>
<masterLabel>Person</masterLabel>
<s3BucketName>bucketeer-aa32faea-8431-4635-8a1d-b323a2d66c7c</s3BucketName>
</DataConnectorS3>
173
DataConnectorS3Metadata Types
DataPackageKitDefinition
Represents the top-level Data Kit container definition. Content objects can be added after the Data Kit is defined.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataPackageKitDefinition components have the suffix .dataPackageKitDefinition and are stored in the
dataPackageKitDefinitions folder.
Version
DataPackageKitDefinition components are available in API version 53.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
description
Description
The description of the data kit.
Field Type
string
developerName
Description
Required. Represents the name of the application. Can contain only underscores and
alphanumeric characters and must be unique in your org. It must begin with a letter,
not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Field Type
boolean
isDeployed
Description
Indicates whether Data Kit content is deployed.
174
DataPackageKitDefinitionMetadata Types
DescriptionField Name
Field Type
boolean
isEnabled
Description
Indicates whether the Data Kit is enabled.
Field Type
string
masterLabel
Description
Required. Label that identifies the AI application throughout the Salesforce user
interface.
Field Type
double
versionNumber
Description
Auto incremented version number.
Declarative Metadata Sample Definition
The following is an example of a DataPackageKitDefinition component.
<DataPackageKitDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>SalesforceCRM</developerName>
<isDeployed>false</isDeployed>
<isEnabled>false</isEnabled>
<masterLabel>SalesforceCRM</masterLabel>
<versionNumber>1.0</versionNumber>
</DataPackageKitDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>SalesforceDataKit</fullName>
<types>
<members>SalesforceCRM</members>
<name>DataPackageKitDefinition</name>
</types>
<types>
<members>Admin</members>
<name>Profile</name>
</types>
<version>53.0</version>
</Package>
175
DataPackageKitDefinitionMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataPackageKitObject
Represents the object in Data Kit Content Object. These objects are added inside the data kit.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataPackageKitObject components have the suffix .DataPackageKitObject and are stored in the
DataPackageKitObjects folder.
Version
DataPackageKitDefinition components are available in API version 53.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
masterLabel
Description
Required. Label that identifies the AI application throughout the Salesforce user
interface.
Field Type
string
parentDataPackageKitDefinitionName
Description
Required. Name of the data kit definition
Field Type
string
referenceObjectName
176
DataPackageKitObjectMetadata Types
DescriptionField Name
Description
Required. The name of the data kit content.
Field Type
string
referenceObjectType
Description
Required. The type of the content object in the data kit.
Declarative Metadata Sample Definition
The following is an example of a DataPackageKitDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<DataPackageKitObject xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>CRM</masterLabel>
<parentDataPackageKitDefinitionName>CRM</parentDataPackageKitDefinitionName>
<referenceObjectName>CRM</referenceObjectName>
<referenceObjectType>DLO</referenceObjectType>
</DataPackageKitObject>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>SalesforceDataKit</fullName>
<types>
<members>CRM</members>
<name>DataPackageKitObject</name>
</types>
<types>
<members>Admin</members>
<name>Profile</name>
</types>
<version>53.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataSource
Used to represent the system where the data was sourced. This object is always needed when creating a Data Stream Definition.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
177
DataSourceMetadata Types
File Suffix and Directory Location
DataSource components have the suffix dataSource and are stored in the mktDataSources folder.
Version
DataSource components are available in API version 50.0 and later.
Special Access Rules
You need the Salesforce CustomizeApplication permission to access this object.
Fields
DescriptionField TypeField Name
Required. The UI name for the Data Source.stringmasterLabel
Required. Prefix for the Data Source to make Data Source Object records
unique.
stringprefix
DataSourceBundleDefinition
Represents the bundle of streams that a user adds to a data kit.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataSourceBundleDefinition components have the suffix .dataSourceBundleDefinition and are stored in the
dataSourceBundleDefinitions folder.
Version
DataSourceBundleDefinition components are available in API version 52.0 and later.
Special Access Rules
You need Data Cloud permission to access this object.
178
DataSourceBundleDefinitionMetadata Types
Fields
DescriptionField Name
Field Type
string
dataPlatform
Description
Required. Indicates the connector type that the streams in the bundle belong to.
Field Type
string
description
Description
A description of the associated data source bundle. This field is available in API version
53.0 and later.
Field Type
string
icon
Description
The icon used in the deployment flow. This field is available in API version 53.0 and
later.
Field Type
boolean
isMultiDeploymentSupported
Description
Indicates if the bundle can be deployed multiple times or not. Default value is false.
Field Type
string
masterLabel
Description
Required. Indicates the name of the bundle.
Declarative Metadata Sample Definition
The following is an example of a DataSourceBundleDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<DataSourceBundleDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<dataPlatform>Salesforce_Sales_and_Service_Cloud</dataPlatform>
<isMultiDeploymentSupported>true</isMultiDeploymentSupported>
<masterLabel>b2</masterLabel>
</DataSourceBundleDefinition>
The following is an example package.xml that references the previous definition.
<types>
<members>b2</members>
179
DataSourceBundleDefinitionMetadata Types
<name>DataSourceBundleDefinition</name>
</types>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataSourceField
Represents the details of a data source.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataSourceField components have the suffix .dataSourceField and are stored in the dataSourceFields folder.
Version
DataSourceField components are available in API version 52.0 and later.
Special Access Rules
You need the Salesforce Customize Application permission to access this metadata type.
Fields
DescriptionField TypeField Name
Required. Text, number, or date data type.stringdatatype
The date format of date, time, date/time fields in this transport field.stringdateFormat
Required. Name of the object in the external system. This is different from the
developer name.
stringexternalName
Used for formula.stringfieldFormula
If true, data is required for this field. Default value is false.booleanisDataRequired
If true, formula is required for this field. Default value is false.booleanisFormula
Length of a string column.intlength
Required. Field label.stringmasterLabel
180
DataSourceFieldMetadata Types
DescriptionField TypeField Name
Used for currency and numeric accuracy.intprecision
If supplied, it indicates that this field is part of the primary key. The number
value indicates the order of attributes if it's a compound primary key. Missing
value means this field is not part of the primary key.
intprimaryIndexOrder
Used for currency and numeric accuracy.intscale
Required. The sequence of this source schema.intsequence
Required. The version of the data source object.doubleversionNumber
Declarative Metadata Sample Definition
The following is an example of a DataSourceObject component.
<DataSourceObject xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dataSource>test1108</dataSource>
<dataSourceFields>
<fullName>DOB</fullName>
<datatype>D</datatype>
<externalName>DOB</externalName>
<isDataRequired>false</isDataRequired>
<masterLabel>DOB</masterLabel>
<sequence xsi:nil="true"/>
<versionNumber xsi:nil="true"/>
</dataSourceFields>
<externalRecordIdentifier>individuals_20200125_000000_csv</externalRecordIdentifier>
<masterLabel>test1108</masterLabel>
<objectType>Object</objectType>
</DataSourceObject>
The following is an example package.xml that references the previous definition.
<types>
<members>test1108</members>
<name>DataSource</name>
</types>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataSourceObject
Represents the object from where the data was sourced.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
181
DataSourceObjectMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataSourceObject components have the suffix dataSourceObject and are stored in the mktDataSourceObjects folder.
Version
DataSourceObject components are available in API version 50.0 and later.
Special Access Rules
You need the Salesforce Customize Application permission to access this metadata type.
Fields
DescriptionField TypeField Name
Required. The system where the data was sourced.stringdataSource
An array of data source fields.DataSourceField[]
on page 180
dataSourceFields
The identifier for the data source.stringexternalRecordIdentifier
Required. The UI name for the Data Source Object.stringmasterLabel
The object type.stringobjectType
DataSourceTenant
For internal use only.
DataSrcDataModelFieldMap
Represents the entity that is used for storing the design time bundle level mappings for the data source fields and data model fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
182
DataSourceTenantMetadata Types
File Suffix and Directory Location
DataSrcDataModelFieldMap components have the suffix .dataSrcDataModelFieldMap and are stored in the
dataSrcDataModelFieldMaps folder.
Version
DataSrcDataModelFieldMap components are available in API version 53.0 and later.
Special Access Rules
You need Data Cloud permission to access this object.
Fields
DescriptionField Name
Field Type
string
masterLabel
Description
Required. Indicates the name of the entity.
Field Type
string
sourceField
Description
Required. Indicates the developer name of data source fields.
Field Type
string
targetField
Description
Required. Indicates the developer name of data mapping object fields.
Field Type
double
versionNumber
Description
Required. Indicates the version number of the entity.
Declarative Metadata Sample Definition
The following is an example of a DataSrcDataModelFieldMap component.
<?xml version="1.0" encoding="UTF-8"?>
<DataSrcDataModelFieldMap xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>DataSrcDataModel26</masterLabel>
<sourceField>Account1.LastModifiedDate__c</sourceField>
<targetField>ssot__Account__dlm.ssot__LastModifiedDate__c</targetField>
183
DataSrcDataModelFieldMapMetadata Types
<versionNumber>1.0</versionNumber>
</DataSrcDataModelFieldMap>
The following is an example package.xml that references the previous definition.
<types>
<members>DataSrcDataModel26</members>
<name>DataSrcDataModelFieldMap</name>
</types>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataStreamDefinition
Contains Data Ingestion information such as Connection, API and File retrieval settings.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
DataStreamDefinition components have the suffix dataStreamDefinition and are stored in the dataStreamDefinitions
folder.
Version
DataStreamDefinition components are available in API version 50.0 and later.
Special Access Rules
You need the Salesforce CustomizeApplication permission to access this object.
Fields
DescriptionField TypeField Name
Optional. If true, headers are included in file if this is a single file stream.booleanareHeadersIncludedInFile
Required. Enum tracks the source of an object or field creation. Valid
values include:
stringdefinitionCreationType
Standard
Custom
Optional. Describe whether this data stream definition was created by
a customer or by an internal system.
stringdataConnector
184
DataStreamDefinitionMetadata Types
DescriptionField TypeField Name
Required. The type of source from where the data is being ingested (MC,
S3, or file upload).
DataConnectorType
on page 185
dataConnectorType
Optional: Name of the transport field that is to be used when the Extract
Method is CDC.
stringdataExtractField
Optional. Describe how to identify the data to be extracted.
FULL_REFRESH, NUMERIC_CDC, or DATETIME_CDC
DataImportDataExtractMethods
on page 186
dataExtractMethods
Optional. Allows easy identification of which Data Set Bundle this was
created from. Useful in cases where the same item can be configured
across Data Connections.
stringdataPlatDataSetBundle
Optional. The description is provided by the developer.stringdataPlatformDataSet
Optional. Name of the Data Platform Set Item.stringdataPlatformDataSetItemName
Required: Reference to the Data Source from which the data originated,
such as the name of a CRM Org. Example: MC Enterprise.
stringdataSource
Required. A description of the Data Stream Definition.stringdescription
Optional. If true, file retrieval is limited to new files.booleanisLimitedToNewFiles
Optional. If true, treat the case of missing files as a failure.booleanisMissingFileFailure
Required. UI label for this Data Stream Definition.stringmasterLabel
Required. Reference to the Landing Entity (target) where data will be
stored.
stringmktDataLakeObject
DataConnectorType
This is an enum subtype for DataStreamDefinition.
DescriptionField TypeField Name
Required. List of supported Data Connectors:stringdataConnectorType
SalesforceMarketingCloud
SalesforceCommerceCloud
StreamingApp
SalesforceDotCom
AmazonS3
SFTP
UPLOAD
IngestApi
SalesforceInteractionStudio
CuratedEntity
GoogleCloudStorage
185
DataStreamDefinitionMetadata Types
DescriptionField TypeField Name
ExternalPlatform
DataImportDataExtractMethods
This is an enum subtype to DataStreamDefinition.
DescriptionField TypeField Name
Required. Data Ingestion refresh options. Valid values include:stringdataImportDataExtractMethods
FULL_REFRESH
NUMERIC_CDC
DATETIME_CDC
DataStreamTemplate
Represents the datastream that a user adds to a datakit.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataStreamTemplate components have the suffix .dataStreamTemplate and are stored in the dataStreamTemplates
folder.
Version
DataStreamTemplate components are available in API version 53.0 and later.
Special Access Rules
You need the Salesforce Customize Application permission to access this metadata type.
Fields
DescriptionField Name
Field Type
string
dataSourceBundleDefinition
186
DataStreamTemplateMetadata Types
DescriptionField Name
Description
Required. Reference to the bundle to which this template belongs.
Field Type
string
dataSourceObject
Description
Required. Reference to the Data Source Objects (DSOs). A DSO represents the object
from where the data was sourced
Field Type
string
masterLabel
Description
Required. Name assigned to the datastream template.
Field Type
string
objectCategory
Description
Required. Category of the Data Model Object (DMO).
Field Type
DataImportRefreshFrequency (enumeration of type string)
refreshFrequency
Description
The frequency with which the datastream must be refreshed. Possible values are:
NONE
MINUTES_15
HOURLY
DAILY
WEEKLY
MONTHLY
Field Type
string
refreshHours
Description
The duration after which the datastream must be refreshed.
Field Type
DataImportRefreshMode (enumeration of type string)
refreshMode
Description
The mode of refresh. Possible values are:
FULL_REFRESH
UPSERT
187
DataStreamTemplateMetadata Types
DescriptionField Name
INCREMENTAL
REPLACE
NEAR_REAL_TIME_INCREMENTAL
Declarative Metadata Sample Definition
The following is an example of a DataStreamTemplate component.
<DataStreamTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<dataSourceBundleDefinition>b2</dataSourceBundleDefinition>
<dataSourceObject>sd3ds</dataSourceObject>
<masterLabel>b2</masterLabel>
<objectCategory>Profile</objectCategory>
</DataStreamTemplate
The following is an example package.xml that references the previous definition.
<types>
<members>ssd3s</members>
<name>DataStreamTemplate</name>
</types>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExternalDataConnector
Used to represent the object where the data was sourced.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
ExternalDataConnector components have the suffix externalDataConnector and are stored in the externalDataConnectors folder.
Version
ExternalDataConnector components are available in API version 50.0 and later.
Special Access Rules
You need the Salesforce CustomizeApplication permission to access this object.
188
ExternalDataConnectorMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether you are connected to a data source. Valid values are:DataConnectionStatus
(enumeration of
type string)
dataConnectionStatus
Connected
Failed
Disconnected
Reference to the Data Connector Configuration that is used to retrieve
or receive data such as DataConnectorS3.
stringdataConnectorConfiguration
Type of connection such as AmazonS3. Valid values are:DataConnectorType
(enumeration of
type string)
dataConnectorType
SalesforceMarketingCloud
SalesforceCommerceCloud
StreamingApp
SalesforceDotCom
AmazonS3
SFTP
UPLOAD
IngestApi
SalesforceInteractionStudio
CuratedEntity
GoogleCloudStorage
ExternalPlatform
Reference to the Data Platform that providing/using this data such as
Amazon_S3.
stringdataPlatform
Required. The UI name for the ExternalDataConnector.stringmasterLabel
Declarative Metadata Sample Definition
The following is an example of a ExternalDataConnector component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalDataConnector xmlns="http://soap.sforce.com/2006/04/metadata">
<dataConnectionStatus>Connected</dataConnectionStatus>
<dataConnectorConfiguration>Person</dataConnectorConfiguration>
<dataConnectorType>AmazonS3</dataConnectorType>
<dataPlatform>Amazon_S3</dataPlatform>
189
ExternalDataConnectorMetadata Types
<masterLabel>AmazonS3</masterLabel>
</ExternalDataConnector>
ExternalDataSource
Represents the metadata associated with an external data source. Create external data sources to manage connection details for
integration with data and content that are stored outside your Salesforce org.
Note: All credentials stored within this entity are encrypted under a framework that is consistent with other encryption frameworks
on the platform. Salesforce encrypts your credentials by auto-creating org-specific keys. Credentials encrypted using the previous
encryption scheme have been migrated to the new framework.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExternalDataSource components are stored in the dataSources directory of the corresponding package directory. ExternalDataSource
components have the suffix .dataSource, and the prefix is the name of the external data source.
Version
ExternalDataSource components are available in API version 28.0 and later.
Special Access Rules
As of Spring 20 and later, only authenticated internal and external users can access this type.
Fields
DescriptionField TypeField Name
The authentication provider represented by the AuthProvider
component.
stringauthProvider
If you specify a certificate, your Salesforce org supplies it when
establishing each two-way SSL connection with the external system.
stringcertificate
The certificate is used for digital signatures, which verify that
requests are coming from your Salesforce org.
Tip: For best performance, verify that your remote HTTPS
encrypted sites have OCSP (Online Certificate Status Protocol)
stapling turned on.
A string of configuration parameters that are specific to the external
data sources type.
stringcustomConfiguration
customConfiguration for Salesforce ConnectCross-Org
Adapter
190
ExternalDataSourceMetadata Types
DescriptionField TypeField Name
customConfiguration for Salesforce ConnectOData 2.0 or 4.0
Adapter
customConfiguration for Salesforce ConnectCustom Adapter
Represents custom HTTP headers used with OData 2.0 or OData 4.0
connectors. Available in API version 43.0 or later.
CustomHttpHeaders[]customHttpHeaders
The URL of the external system, or if that URL is defined in a named
credential, the named credential URL. Corresponds to URL in the
user interface.
A named credential URL contains the scheme callout:, the
name of the named credential, and an optional path. For example:
callout:My_Named_Credential/some_path.
stringendpoint
You can append a query string to a named credential URL. Use a
question mark (?) as the separator between the named credential
URL and the query string. For example:
callout:My_Named_Credential/some_path?format=json.
Represents schema descriptors for an external data source used
with Salesforce Connect adapter for Amazon DynamoDB (available
ExternalDataSrcDescriptors[]externalDataSrcDescriptors
in API version 55.0 or later) or Amazon Athena (available in API
version 56.0 or later).
Lets the Lightning Platform and users in this org create, update,
and delete records for external objects associated with the external
booleanisWritable
data source. The external object data is stored outside the org. By
default, external objects are read only. Corresponds to Writable
External Objects in the user interface.
Available in API version 35.0 and later. However, with the cross-org
adapter for Salesforce Connect, you can set this field to true only
in API version 39.0 and later.
A user-friendly name for the external data source. The label is
displayed in the Salesforce user interface, such as in list views.
Examples include Acme Team Marketing Site, or Acme SharePoint.
stringlabel
Represents the definition of the referenced named credential for
an external data source of the type Amazon DynamoDB or Amazon
Athena.
stringnamedCredential
The OAuth refresh token. Used to obtain a new access token for an
end user when a token expires.
stringoauthRefreshToken
Specifies the scope of permissions to request for the access token.
Corresponds to Scope in the user interface.
stringoauthScope
The access token issued by the external system.stringoauthToken
191
ExternalDataSourceMetadata Types
DescriptionField TypeField Name
The password to be used by your org to access the external system.
Ensure that the credentials you use have adequate privileges to
stringpassword
access the external system, perform searches, return data, and return
information about the external systems metadata.
Determines whether you're using one set or multiple sets of
credentials to access the external system. Corresponds to
Identity Type in the user interface. The valid values are:
External
PrincipalType
(enumeration of type string)
principalType
Anonymous
PerUser
NamedUser
The authentication protocol thats required to access the external
system. The valid values are:
Authentication
Protocol (enumeration
of type string)
protocol
NoAuthentication
Oauth
Password
For cloud-based Files Connect external systems, select Oauth 2.0.
For on-premises systems, select Password Authentication.
For Simple URL data sources, select No Authentication.
Used for SharePoint Online. If metadata is not accessible, use this
field to create tables and default table fields.
stringrepository
Required. For Salesforce Connect, specifies the adapter that connects
to the external system. The valid values are:
ExternalData
SourceType
(enumeration of type string)
type
AmazonAthenaAmazon Athena
AmazonDynamoDBAmazon DynamoDB
ODataOData 2.0 adapter
OData4OData 4.0 adapter
SfdcOrgcross-org adapter
ApexClassIdDataSource.Provider class that
defines the custom adapter created via the Apex Connector
Framework
For Files Connect, specifies the data source type. The valid values
are:
ContentHubSharepointSharePoint 2010 or 2013
ContentHubSharepointOffice365SharePoint
Online
ContentHubSharepointOneDriveOneDrive for
Business
ContentHubGDriveGoogle Drive
ContenHubIsotopeIsotope
192
ExternalDataSourceMetadata Types
DescriptionField TypeField Name
If Chatter is enabled, you can also specify SimpleURL to access
data hosted on a web server that doesnt require authentication.
outgoingemailA data source used for sending an email
through a quick action.
The Identity and Wrapper types are reserved for future use.
For the federated search external data source type, the valid value
is OpenSearch.
The username to be used by your org to access the external system.
Ensure that the credentials you use have adequate privileges to
stringusername
access the external system, perform searches, return data, and return
information about the external systems metadata.
Reserved for future use.stringversion
CustomHttpHeaders
Represents a custom HTTP header used with OData 2.0 or OData 4.0 connectors. Available in API version 43.0 or later.
DescriptionField TypeField Name
A text description of the header fields purpose.stringdescription
Required. Name of the header field. The name must contain at least one
alphanumeric character or underscore. It can also include: ! # $ % & ' *
+ - . ^ _ ` | ~
stringheaderFieldName
Required. A formula that resolves to the value for the header. The values
in the formula must evaluate to a string. If the formula resolves to null
and an empty string, the header isnt sent.
stringheaderFieldValue
Indicates whether the custom HTTP header is available to use (true)
or unavailable (false).
booleanisActive
customConfiguration for Salesforce ConnectCross-Org Adapter
The following sample JSON-encoded configuration string defines parameters that apply when the external data sources type is set
to SfdcOrg.
{"apiVersion":"32.0","environment":"CUSTOM",
"searchEnabled":"true","timeout":"120"}
The parameters correspond to these fields in the user interface:
apiVersionAPI Version
environmentConnect to
searchEnabledEnable Search
timeoutConnection Timeout
193
ExternalDataSourceMetadata Types
customConfiguration for Salesforce ConnectOData 2.0 or 4.0 Adapter
The following JSON-encoded configuration string defines parameters that apply when the external data sources type is set to OData
or OData4.
{"inlineCountEnabled":"true","csrfTokenName":"X-CSRF-Token",
"requestCompression":"false","pagination":"CLIENT",
"noIdMapping":"false","format":"ATOM",
"searchFunc":"","compatibility":"DEFAULT",
"csrfTokenEnabled":"true","timeout":"120",
"searchEnabled":"true"}
The parameters correspond to these fields in the user interface.
compatibilitySpecial Compatibility
csrfTokenEnabledCSRF Protection
csrfTokenNameAnti-CSRF Token Name
formatFormat
inlineCountEnabledRequest Row Counts
noIdMappingHigh Data Volume
paginationServer Driven Pagination
requestCompressionCompress Requests
searchEnabledEnable Search
searchFuncCustom Query Option for Salesforce Search
timeoutConnection Timeout
Declarative Metadata Sample Definition: OData 2.0 or 4.0
The following is the definition of an external data source for Salesforce ConnectOData 2.0 or 4.0 adapter.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalDataSource xmlns="http://soap.sforce.com/2006/04/metadata">
<authProvider>FacebookAuth</authProvider>
<customConfiguration>{"compatibility":"DEFAULT",
"noIdMapping":"false","inlineCountEnabled":"true",
"searchEnabled":"true","format":"ATOM",
"requestCompression":"false","pagination":"SERVER",
"timeout":"120"}</customConfiguration>
<customHttpHeaders>
<headerFieldName>X-User</headerFieldName>
<headerFieldValue>$User.Username</headerFieldValue>
</customHttpHeaders>
<endpoint>http://myappname.herokuapp.com/DataHub.svc</endpoint>
<label>DataHub</label>
<principalType>NamedUser</principalType>
<protocol>Oauth</protocol>
<type>OData</type>
</ExternalDataSource>
194
ExternalDataSourceMetadata Types
customConfiguration for Salesforce ConnectCustom Adapter
The following sample JSON-encoded configuration string defines the parameter that applies when the external data sources type is
set to the ID of a DataSource.Provider class.
{"noIdMapping":"false"}
The noIdMapping parameter corresponds to the High Data Volume field in the user interface.
ExternalDataSrcDescriptors for Salesforce Connect Adapter for Amazon
DynamoDB and for Amazon Athena
Represents schema descriptors for an external data source used with Salesforce Connect adapter for Amazon DynamoDB (available in
API version 55.0 or later) or Amazon Athena (available in API version 56.0 or later).
DescriptionField TypeField Name
If set, the external object associated with the descriptor.stringcustomObject
Required. The descriptor document that contains the metadata
information.
stringdescriptor
If the external system supports schema versioning for the data source,
the optional descriptor document version tracks the external system's
stringdescriptorVersion
schema version. Several descriptors with different document versions
may be active.
Required. The unique name of the child-level setup entity.stringdeveloperName
Required. The name of the external data source associated with the
descriptor.
stringexternalDataSource
Required. The subtype of the descriptor.
Values are:
ExternalDataSrcDescSubtype
(enumeration of
type string)
subtype
SchemaTableMetadata Used to cache information about
the external system.
SchemaTableQualifiers Used to customize the data
retrieval query to the external system.
Required. The version that defines the descriptor format and allows
compatibility with descriptor formats between Salesforce releases.
intsystemVersion
Required. The type of the descriptor.
Valid value:
ExternalDataSrcDescType
(enumeration of
type string)
type
Schema
Declarative Metadata Sample Definition: Amazon DynamoDB
195
ExternalDataSourceMetadata Types
The following is an example of an external data source for the Salesforce Connect adapter for Amazon DynamoDB that uses
ExternalDataSrcDescriptor component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalDataSource xmlns="http://soap.sforce.com/2006/04/metadata">
<customConfiguration>{"timeout":"120"}</customConfiguration>
<externalDataSrcDescriptors>
<fullName>MyQualifierName</fullName>
<customObject>MyExternalObject__x</customObject>
<descriptor>
{
"tableName": "MyDynamoDBTable",
"columns": {
"MyField": {"presence": "exists"}
}
}
</descriptor>
<developerName>MyQualifierName</developerName>
<externalDataSource>MyDataSource</externalDataSource>
<subtype>SchemaTableQualifiers</subtype>
<systemVersion>0</systemVersion>
<type>Schema</type>
</externalDataSrcDescriptors>
<isWritable>true</isWritable>
<label>MyDataSource</label>
<namedCredential>MyNamedCredential</namedCredential>
<principalType>Anonymous</principalType>
<protocol>NoAuthentication</protocol>
<type>AmazonDynamoDb</type>
</ExternalDataSource>
Declarative Metadata Sample Definition: Amazon Athena
The following is an example of an external data source for the Salesforce Connect adapter for Amazon Athena that uses
ExternalDataSrcDescriptor component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalDataSource xmlns="http://soap.sforce.com/2006/04/metadata">
<customConfiguration>
{
"DataCatalog": "AwsDataCatalog",
"timeout": "120"
}
</customConfiguration>
<externalDataSrcDescriptors>
<fullName>MyAthenaQualifierName</fullName>
<customObject>MyAthenaExternalObject__x</customObject>
<descriptor>
{
"tableName": "myathenadatabase.myathenatable",
"extendedQualifiers": {"workgroup": "primary"},
"keyColumns": ["ExternalIdComponent", "OtherExternalIdComponent"]
}
</descriptor>
<developerName>MyAthenaQualifierName</developerName>
<externalDataSource>MyAthenaDataSource</externalDataSource>
196
ExternalDataSourceMetadata Types
<subtype>SchemaTableQualifiers</subtype>
<systemVersion>0</systemVersion>
<type>Schema</type>
</externalDataSrcDescriptors>
<isWritable>false</isWritable>
<label>MyAthenaDataSource</label>
<namedCredential>MyAthenaNamedCredential</namedCredential>
<principalType>Anonymous</principalType>
<protocol>NoAuthentication</protocol>
<type>AmazonAthena</type>
</ExternalDataSource>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExternalDataTranObject
Represents a definition of a Data Cloud schema object. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
ExternalDataTranObject components have the suffix .externalDataTranObject and are stored in the
externalDataTranObjects folder.
Version
ExternalDataTranObject components are available in API version 55.0 and later.
Special Access Rules
ExternalDataTranObject is available only if Data Cloud is provisioned.
Fields
DescriptionField Name
Field Type
AvailabilityStatus (enumeration of type string)
availabilityStatus
Description
Required.
Represents the availability of the object. Valid values are:
Available
197
ExternalDataTranObjectMetadata Types
DescriptionField Name
In_Use
Field Type
DefinitionCreationType (enumeration of type string)
creationType
Description
Required.
Describes whether this object was added by the Customer or as part of a Standard
Taxonomy or by the System. Valid values are:
Segment_Membership
Custom
Standard
System
Derived
Bridge
Curated
Field Type
ExternalDataTranField
externalDataTranFields
Description
Optional.
Stores the fields related to that schema object.
Field Type
string
masterLabel
Description
Required.
The UI name for the object.
Field Type
MktDataTranObject
mktDataTranObject
Description
Optional.
An entity that is used to transport information from the source to a target.
Field Type
string
objectCategory
Description
Required.
198
ExternalDataTranObjectMetadata Types
DescriptionField Name
Reference to the Object Category. For Transport, they're Profile, Engagement, or
Other.
ExternalDataTranField
Stores the fields related to ExternalDataTranObject schema.
DescriptionField Name
Field Type
DefinitionCreationType (enumeration of type string).
creationType
Description
Required.
Describes whether this object was added by the Customer or as part of a Standard Taxonomy
or by the System. Valid values are:
Segment_Membership
Custom
Standard
System
Derived
Bridge
Curated
Field Type
string
datatype
Description
Required.
Phone, currency, number, or other assigned type.
Field Type
string
dateFormat
Description
Optional.
The Date format of date, time, date/time fields in this Transport field.
Field Type
string
externalName
Description
Optional.
199
ExternalDataTranObjectMetadata Types
DescriptionField Name
Name of the object in the external system (different from Developer Name).
Field Type
boolean
isDataRequired
Description
Optional.
If true, data is required for this field.
Field Type
int
length
Description
Optional.
Length of a string column.
Optional. Field label.masterLabel
Field Type
mktDataTranFieldType on page 201
mktDataTranField
Description
Optional.
Field Type
int
precision
Description
Optional.
Used for currency and numeric accuracy.
Field Type
int
primaryIndexOrder
Description
Optional.
If supplied, indicates this field is part of the primary key where the number value (starting
at 1) indicates the order of attributes if it's a compound primary key. Missing value means
this field isnt part of the primary key.
Field Type
int
scale
Description
Optional.
Used for currency and numbers.
200
ExternalDataTranObjectMetadata Types
DescriptionField Name
Field Type
int
sequence
Description
Optional.
The sequence of this source schema.
MktDataTranField
Stores fields related to MktDataTranObject.
DescriptionField Name
Field Type
DefinitionCreationType (enumeration of type string).
creationType
Description
Required.
Describes whether this object was added by the Customer or as part of a Standard Taxonomy
or by the System. Valid values are:
Segment_Membership
Custom
Standard
System
Derived
Bridge
Curated
Field Type
string
datatype
Description
Required.
Phone, currency, number, or other assigned type.
Field Type
string
dateFormat
Description
Optional.
The Date format of date, time, date/time fields in this Transport field.
201
ExternalDataTranObjectMetadata Types
DescriptionField Name
Field Type
string
externalName
Description
Optional.
Name of the object in the external system (different from Developer Name).
Field Type
boolean
isDataRequired
Description
Optional.
If true, data is required for this field.
Field Type
int
length
Description
Optional.
Length of a string column.
Optional. Field label.masterLabel
Field Type
int
precision
Description
Optional.
Used for currency and numeric accuracy.
Field Type
int
primaryIndexOrder
Description
Optional.
If supplied, indicates this field is part of the primary key where the number value (starting
at 1) indicates the order of attributes if it's a compound primary key. Missing value means
this field isnt part of the primary key.
Field Type
int
scale
Description
Optional.
Used for currency and numbers.
202
ExternalDataTranObjectMetadata Types
DescriptionField Name
Field Type
int
sequence
Description
Optional.
The sequence of this source schema.
Declarative Metadata Sample Definition
The following is an example of a ExternalDataTranObject component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalDataTranObject xmlns="http://soap.sforce.com/2006/04/metadata">
<CreationType>Custom</CreationType>
<DataConnectorId>1WMxx00000000mPGAQ</DataConnectorId>
<DeveloperName>Third_Identity_Create</DeveloperName>
<Language>en_US</Language>
<MasterLabel>Identity Create</MasterLabel>
<ObjectCategoryId>0hqxx000000009hAAA</ObjectCategoryId>
<Status>Available</Status>
</ExternalDataTranObject>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalDataTranObject</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FieldSrcTrgtRelationship
Stores the relationships between a data model object (DMO) and its fields. For example, the Individual.Id field has a one-to-many
relationship (1:M) with the ContactPointEmail.PartyId field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
203
FieldSrcTrgtRelationshipMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
FieldSrcTrgtRelationship components have the suffix .fieldSrcTrgtRelationship and are stored in the
fieldSrcTrgtRelationships folder.
Version
FieldSrcTrgtRelationship components are available in API version 51.0 and later.
Special Access Rules
To access this metadata type, you must have the Customize Application user permission.
Fields
DescriptionField TypeField Name
Required. Describes whether this object was added by the user or as
part of a standard taxonomy.
Values are:
DefinitionCreationType
(enumeration of
type string)
definitionCreationType
ADG
Activation_Audience
Bridge
Calculated_Insight
Chunk
Curated
Custom
Derived
Directory_Table
External
Ml_Prediction
Segment_Membership
Semantic
Standard
System
Transform
Vector_Embedding
Reference to the DMO lookup field.stringlookupFieldName
204
FieldSrcTrgtRelationshipMetadata Types
DescriptionField TypeField Name
Required. The UI name for the field relationship.stringmasterLabel
Required. Cardinality of the relationship between the source and target
fields.
Values are:
RelationshipCardinality
(enumeration of
type string)
relationshipCardinality
ManyToOne
OneToOne
Required. Name of the field that represents the source side of the
relationship.
stringsourceFieldName
Required. Name of the field that represents the target side of the
relationship.
stringtargetFieldName
InternalDataConnector
For internal use only.
MarketSegmentDefinition
Represents the field values for MarketSegmentDefinition. MarketSegmentDefinition is used to store the exportable metadata of a segment,
such as segment criteria and other attributes. Developers can create segment definition packages, pass segment definition in the form
of data build tool (DBT), and publish it on AppExchange for subscriber organizations to install and instantiate these segments.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata type and inherits its fullName field.
File Suffix and Directory Location
MarketSegmentDefinition components have the suffix .marketSegmentDefinition and are stored in the
marketSegmentDefinitions folder.
Version
MarketSegmentDefinition components are available in API version 55.0 and later.
205
InternalDataConnectorMetadata Types
Fields
DescriptionField Name
Field Type
string
additionalMetadata
Description
An XML clob to hold name value pairs for storing additional metadata. Not applicable
for DBT type segment.
Field Type
string
excludeCriteria
Description
Holds the JSON exclude criteria for UI based segments. Not applicable for DBT or
Lookalike segments.
Field Type
string
includeCriteria
Description
An XML wrapped in a CDATA section that captures DBT definition. Only single model
DBT is supported.
Field Type
string
masterLabel
Description
Required. Display name of the field value.
Field Type
string
segmentOn
Description
Required when segmentType is UI. Points to relevant MktDataModelObject entity
instance. Must be a valid developerName for an MktDataModelObject instance of
Profile type.
Field Type
MarketSegmentType (enumeration of type string)
segmentType
Description
Required. Type of the segment to be created. Only DBT is supported via API.
Values are:
DBT
Lookalike
UI
206
MarketSegmentDefinitionMetadata Types
Declarative Metadata Sample Definition
The following is an example of a MarketSegmentDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<MarketSegmentDefinition>
<segmentType>DBT</segmentType>
<includeCriteria>
<![CDATA[
<DbtPipeline>
<models>
<model>
<name>m1</name>
<sql>select ssot__Individual__dlm.ssot__Id__c from
ssot__Individual__dlm</sql>
</model>
</models>
</DbtPipeline>
]]>
</includeCriteria>
<masterLabel>msd2_simple</masterLabel>
</MarketSegmentDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:Package xmlns:ns2="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MarketSegmentDefinition</name>
</types>
<version>55.0</version>
</ns2:Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MktCalcInsightObjectDef
Represents Calculated Insight definition such as expression.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
207
MktCalcInsightObjectDefMetadata Types
File Suffix and Directory Location
MktCalcInsightObjectDef components have the suffix mktCalcInsightObjectDef and are stored in the mktCalcInsightObjectDefs folder.
Version
MktCalcInsightObjectDef components are available in API version 52.0 and later.
Special Access Rules
You need the Salesforce CustomizeApplication permission to access this object.
Fields
DescriptionField TypeField Name
Required. Describes whether this Calculated Insight Object Definition
was added was added by the customer. Valid values include: Custom.
CalculatedInsightCreationType(enumeration
of type string)
creationType
The description for this Calculated Insight Object Definition.stringdescription
Required when the Calculated Insight Object Definition is for internal
insight type. This is the SQL query to generate the calculated insight.
stringexpression
Required. App name for this Calculated Insight Object Definition.stringmasterLabel
Declarative Metadata Sample Definition
The following is an example of a MktCalcInsightObjectDef component.
<?xml version="1.0" encoding="UTF-8"?>
<MktCalcInsightObjectDef xmlns="http://soap.sforce.com/2006/04/metadata">
<creationType>Custom</creationType>
<description>InsightName description</description>
<expression>SELECT COUNT(ssot__Individual__dlm.ssot__Id__c) as count__c FROM
ssot__Individual__dlm</expression>
</MktCalcInsightObjectDef>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MktDataTranObject
An entity that is used to deliver (aka transport) information from the source to a target (target will be called a landing entity).This can
be the schema of a file, API, Event, or other means of transporting data, such as SubscriberFile1.csv, or SubscriberCDCEvent.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
208
MktDataTranObjectMetadata Types
File Suffix and Directory Location
MktDataTranObject components have the suffix mktDataTranObject and are stored in the mktDataTranObjects folder.
Version
MktDataTranObject components are available in API version 50.0 and later.
Special Access Rules
You need the Salesforce CustomizeApplication permission to access this object.
Fields
DescriptionField TypeField Name
Optional. Describe whether this object was added as the result of the
Customer or as part of a Standard Taxonomy.
DefinitionCreationTypecreationType
Optional. Your reference to the data source from which the data
originated (source of that data such as the name of a CRM Org. Example:
MC Enterprise.
stringdataSource
Required. The UI name for the Data Transport Object.stringmasterLabel
Required. Reference to the Object Category. For Transport, these are
Profile, Engagement, or Other.
stringobjectCategory
MktDataTranField
This is a sub-type to MktDataTranObject.
DescriptionField TypeField Name
Optional: Was this object added as a result of the Customer, part of a Standard
Taxonomy.
DefinitionCreationTypecreationType
Required. Phone, currency, number, or other assigned type.stringdatatype
Optional: The Date format of date, time, date/time fields in this Transport field.stringdateFormat
Optional. Name of the object in the external system (different from Developer
Name).
stringexternalName
Optional. If true, data is required for this field.booleanisDataRequired
Optional. Length of a string columnintlength
Optional? Field label.stringmasterLabel
Optional. Used for currency and numeric accuracy.intprecision
209
MktDataTranObjectMetadata Types
DescriptionField TypeField Name
Optional. If supplied, indicates this field is part of the primary key where the
number value (starting at 1) indicates the order of attributes if this happens to
intprimaryIndexOrder
be a compound primary key. Missing value means this field is not part of the
primary key.
Optional. Used for currency and numeric accuracy.intscale
Optional. The sequence of this source schema.intsequence
ObjectSourceTargetMap
Contains the object-level mappings between the source and the target objects. The source and target objects can be an MktDataLakeObject
or an MktDataModelObject. For example, an Email source object can be mapped to the ContactPointEmail object.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ObjectSourceTargetMap components have the suffix .objectSourceTargetMap and are stored in the
objectSourceTargetMaps folder.
Version
ObjectSourceTargetMap components are available in API version 51.0 and later.
Special Access Rules
To access this metadata type, you must have the Customize Application user permission.
Fields
DescriptionField TypeField Name
Describes whether this object was added by the user or as part of a
standard taxonomy.
Values are:
DefinitionCreationType
(enumeration of
type string)
creationType
ADG
Activation_Audience
Bridge
Calculated_Insight
210
ObjectSourceTargetMapMetadata Types
DescriptionField TypeField Name
Chunk
Curated
Custom
Derived
Directory_Table
External
Ml_Prediction
Segment_Membership
Semantic
Standard
System
Transform
Vector_Embedding
Contains the field-level mappings associated with this object mapping.FieldSourceTargetMap[]fieldSourceTargetMaps
Required. The UI name for the target map.stringmasterLabel
Use this field to display multiple mappings between the same two
objects, for a consistent customer experience when presenting the
mappings.
intsequenceNbr
Required. Name of the source object thats mapped, such as Email, or
SfmcEnt1_Subscriber.
stringsourceObjectName
Required. Name of the target object thats mapped, such as
ContactPointEmail or Individual.
stringtargetObjectName
FieldSourceTargetMap
Contains the field-level mappings between the source and the target objects.
The source and target can be MktDataLakeField or MktDataModelField.
For example, you can map a Person source objects field called emailAddress to an Individual target object's field called emailAddress.
DescriptionField TypeField Name
Describes whether this object was added by the user or as part of a standard
taxonomy.
Values are:
DefinitionCreationType
(enumeration of type
string)
creationType
ADG
Activation_Audience
Bridge
Calculated_Insight
211
ObjectSourceTargetMapMetadata Types
DescriptionField TypeField Name
Chunk
Curated
Custom
Derived
Directory_Table
External
Ml_Prediction
Segment_Membership
Semantic
Standard
System
Transform
Vector_Embedding
Specifies whether the field-level mapping is an event type filter (true) or not
(false).
booleanfilterApplied
If the field-level mapping is an event type filter, specifies the filtering operator.
Value is:
stringfilterOperationType
Equal
If the field-level mapping is an event type filter, specifies the object that contains
the event type field.
stringfilterValue
Specifies whether the source field is a formula (true) or not (false). If true,
you must include the sourceFormula value.
booleanisSourceFormula
Required. The source object field thats mapped, such as EmailAddr or
SfmcEnt1_Subscriber.FName.
stringsourceField
A formula, such as concatenation, date function, or constant value.stringsourceFormula
Required. The target object field thats mapped, such as
SfmcEnt1_Email.EmailAddr or Individual.FirstName.
stringtargetField
StreamingAppDataConnector
Represents the connection information specific to Web and Mobile Connectors.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
212
StreamingAppDataConnectorMetadata Types
File Suffix and Directory Location
StreamingAppDataConnector components have the suffix .streamingAppDataConnector and are stored in the
streamingAppDataConnectors folder.
Version
StreamingAppDataConnector components are available in API version 55.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
appIdentifier
Description
Required.
The unique app identifier (UUID).
Field Type
DataConnectorType (enumeration of type string)
dataConnectorType
Description
Required.
The value of the field is restricted to SteamingApp.
Possible vlues are:
StreamingApp
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt mpact the behavior of the metadata type.
Field Type
string
masterLabel
Description
Required.
The display name of the connector.
213
StreamingAppDataConnectorMetadata Types
DescriptionField Name
Field Type
StreamingAppDataConnectorType (enumeration of type string)
streamingAppDataConnectorType
Description
Required.
The type of connector.
Possible vlues are:
MobileApp
WebApp
Declarative Metadata Sample Definition
The following is an example of a StreamingAppDataConnector component.
<?xml version="1.0" encoding="UTF-8"?>
<StreamingAppDataConnector xmlns="http://soap.sforce.com/2006/04/metadata">
<appIdentifier>61826b62-6b90-49ff-8259</appIdentifier>
<dataConnectorType>StreamingApp</dataConnectorType>
<masterLabel>My Web Application</masterLabel>
<streamingAppDataConnectorType>WebApp</streamingAppDataConnectorType>
</StreamingAppDataConnector>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyPackage</fullName>
<namespacePrefix>ns1</namespacePrefix>
<types>
<members>My_Web_Application_Behavioral_Events_F4DA8759</members>
<name>DataStreamDefinition</name>
</types>
<types>
<members>My_Web_Application_61826b62_6b90_49ff_8259</members>
<name>ExternalDataConnector</name>
</types>
<types>
<members>My_Web_Application_61826b62_6b90_49ff_8259</members>
<name>StreamingAppDataConnector</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
214
StreamingAppDataConnectorMetadata Types
AccountRelationshipShareRule
The rule that determines which object records are shared, how theyre shared, the account relationship type that shares the records,
and the level of access granted to the records.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
File Suffix and Directory Location
AccountRelationshipShareRule components have the suffix .accountRelationshipShareRule and are stored in the
.accountRelationshipShareRules folder.
Version
AccountRelationshipShareRule components are available in API version 45.0 and later.
Special Access Rules
Access to the AccountRelationshipShareRule type requires orgs to enable the Account Relationships permission. The Manage Experiences
permission is required for user access.
Fields
DescriptionField TypeField Name
Type of access granted by the share rule. Valid values are:stringaccessLevel
Read
Edit
Criteria that must be met for the data to be shared. Valid values include
any custom or standard lookup to Account or User on top-level objects.
To get the full list for your org, do a Describe on the ARSR entity.
stringaccountToCriteriaField
A meaningful explanation of the sharing rule.stringdescription
The type of data shared by this share rule. Valid values are:stringentityType
Account
Campaign
Case
Contact
Custom Object
Lead
Opportunity
215
AccountRelationshipShareRuleMetadata Types
DescriptionField TypeField Name
Order
API names of top-level custom objects in the org can also be used, for
example, CustomObject__c.
The label assigned to the sharing rule to identify it.stringmasterLabel
A way to further filter what data gets shared. This string must be a
deterministic formula, and spanning isnt allowed.
stringstaticFormulaCriteria
Match the type of an account relationship for data to be shared according
to the accountToCriteriaField and the staticFormulaCriteria fields.
stringtype
Declarative Metadata Sample Definition
The following is an example of an AccountRelationshipShareRule component.
<?xml version="1.0" encoding="UTF-8"?>
<AccountRelationshipShareRule xmlns="http://soap.sforce.com/2006/04/metadata">
<accessLevel>Edit</accessLevel>
<accountToCriteriaField>Account.OwnerId</accountToCriteriaField>
<description>TestDescription</description>
<entityType>Account</entityType>
<masterLabel>TestName</masterLabel>
<staticFormulaCriteria>YearStarted = &quot;1980&quot;</staticFormulaCriteria>
<type>Dealer</type>
</AccountRelationshipShareRule>
The following is an example package.xml that references the previous definition.
<Package>
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ArsrDevName</members>
<name>AccountRelationshipShareRule</name>
</types>
<version>45.0</version>
</Package>
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file.
AccountingFieldMapping
Represents the accounting field mappings to organize your data and bring it to ledger entry records.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
216
AccountingFieldMappingMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AccountingFieldMapping components have the suffix .accountingFieldMapping and are stored in the
accountingFieldMappings folder.
Version
AccountingFieldMapping components are available in API version 58.0 and later.
Fields
DescriptionField Name
Field Type
string
accountingModelConfig
Description
Required.
Record ID of the AccountingModelConfig record that the Field Mapping is associated
with.
Field Type
boolean
isForAllocationType
Description
Reserved for internal use.
Field Type
boolean
isForPaymentType
Description
Reserved for internal use.
Field Type
boolean
isForTransactionType
Description
Reserved for internal use.
Field Type
boolean
isProtected
Description
Indicates whether this component is protected (true) or not protected (false).
Default value is false.
217
AccountingFieldMappingMetadata Types
DescriptionField Name
Field Type
MappingBehaviorType (enumeration of type string)
mappingBehavior
Description
Required.
Specifies how the targets field data is mapped from the source field only when the
journal entry is created. When set to CurrentValue, Subledger reverses and
replaces journal entries whose value differs from the value in sourceField.
Valid values are:
CurrentValue
PointInTime
Field Type
string
masterLabel
Description
Required.
A user-friendly name for AccountingFieldMapping, which is defined when the
AccountingFieldMapping is created.
Field Type
string
sourceField
Description
The API name of the field on the source object that is mapped to the target field.
Field Type
string
targetField
Description
Required.
The API name of the field on the Transaction Journal record for this mapping.
Declarative Metadata Sample Definition
The following is an example of an AccountingFieldMapping component.
<?xml version="1.0" encoding="UTF-8"?>
<AccountingFieldMapping xmlns="http://soap.sforce.com/2006/04/metadata">
<accountingModelConfig>ModelConfigOne</accountingModelConfig>
<fullName>FieldMappingOne</fullName>
<masterLabel>FieldMappingOne</masterLabel>
<isForAllocationType>true</isForAllocationType>
<isForPaymentType>true</isForPaymentType>
<isForTransactionType>true</isForTransactionType>
<mappingBehavior>PointInTime</mappingBehavior>
218
AccountingFieldMappingMetadata Types
<sourceField>TransactionJournal.MappingTargetOne__c</sourceField>
<targetField>MappingTargetOne__c</targetField>
<isProtected>false</isProtected>
</AccountingFieldMapping>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FieldMappingOne</members>
<name>AccountingFieldMapping</name>
</types>
<version>58.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AccountingModelConfig
Represents the mapping of the financial data model to a logical data model and configuration for the generation of Transaction Journal
records.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AccountingModelConfig components have the suffix .accountingModelConfig and are stored in the
accountingModelConfigs folder.
Version
AccountingModelConfig components are available in API version 57.0 and later.
219
AccountingModelConfigMetadata Types
Fields
DescriptionField Name
Field Type
AccountingType (enumeration of type string)
accountingType
Description
Required.
Determines whether the accounting set generates revenue or expense type transaction
journal records.
Valid values are:
Expense
Revenue
Field Type
string
defaultAccrualAccountCode
Description
The code for your accounting system's default accrual account.
Field Type
string
defaultWriteOffAccountCode
Description
Represents the name of your account for written off payments.
Field Type
dateTime
earliestCreatedDate
Description
Required.
The date used to filter source records for processing. The Accounting Subledger only
considers records created on or after this date.
Field Type
ExpectedCashFlowGrouping (enumeration of type string)
expectedCashFlowGrouping
Description
Determines whether Accounting Subledger groups transaction journal records by
fund account or by a combination of fund account and due date.
Note: Changing this setting doesn't impact existing records; it only affects
records created or reversed afterward.
Valid values are:
GroupByFundAccount
GroupByFundAndDueDate
220
AccountingModelConfigMetadata Types
DescriptionField Name
Field Type
string
financeBook
Description
Reserved for internal use.
Field Type
string
internalMappingDetails
Description
Required.
Represents the structure of your financial data in JSON format.
Field Type
boolean
isActive
Description
Required.
Indicates whether only records that are true are processed when the Subledger Job
runs.
Field Type
boolean
isGroupedByFundAccount
Description
Reserved for internal use.
Field Type
boolean
isUsed
Description
Required.
Indicates whether the Accounting Model has been used or activated at least once
(true) or not (false).
Note: If the value is set to true, you cant select another object for the object
model or change the number of objects associated with that Accounting Model.
Field Type
string
jobFilterCriteria
Description
Reserved for internal use.
Field Type
string
masterLabel
221
AccountingModelConfigMetadata Types
DescriptionField Name
Description
Required.
A user-friendly name for AccountingModelConfig, which is defined when the
AccountingModelConfig is created.
Field Type
PaidCashFlowGrouping (enumeration of type string)
paidCashFlowGrouping
Description
Determines the level of detail for generated transaction journal records.
Valid values are:
GroupByFundAccountAccounting Subledger splits all transaction journal
records into fund accounts. Secondary records are created for payment type records
but not for transaction type records.
GroupBySummaryAccounting Subledger only splits credits for revenue and
debits for expenses by fund accounts.
Field Type
string
recordTypeFilter
Description
Specify the record type IDs from the primary object to be processed. This field is
case-sensitive.
Note: If no record type is specified in the filter, all records are processed.
Field Type
int
runOrder
Description
Determines the load order sequence of the multiple Accounting Model. The lower
number runs first. For example, load order 1 runs before load order 2.
Declarative Metadata Sample Definition
The following is an example of an AccountingModelConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<AccountingModelConfig
xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>ModelConfigOne</fullName>
<masterLabel>ModelConfigOne</masterLabel>
<defaultAccrualAccountCode>abc</defaultAccrualAccountCode>
<defaultWriteOffAccountCode>abc</defaultWriteOffAccountCode>
<isUsed>false</isUsed>
<isActive>false</isActive>
222
AccountingModelConfigMetadata Types
<runOrder>123</runOrder>
<recordTypeFilter>abcabc</recordTypeFilter>
<earliestCreatedDate>2021-12-01T00:00:00.000Z</earliestCreatedDate>
<internalMappingDetails>abcabc</internalMappingDetails>
<accountingType>Revenue</accountingType>
<expectedCashFlowGrouping>GroupByFundAccount</expectedCashFlowGrouping>
<paidCashFlowGrouping>GroupBySummary</paidCashFlowGrouping>
</AccountingModelConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ModelConfigOne</members>
<name>AccountingModelConfig</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActionLinkGroupTemplate
Represents the action link group template. Action link templates let you reuse action link definitions and package and distribute action
links. An action link is a button on a feed element. Clicking on an action link can take a user to another Web page, initiate a file download,
or invoke an API call to an external server or Salesforce. Use action links to integrate Salesforce and third-party services into the feed.
Every action link belongs to an action link group and action links within the group are mutually exclusive.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ActionLinkGroupTemplate components have the suffix .actionLinkGroupTemplate and are stored in the
actionLinkGroupTemplates folder.
Version
ActionLinkGroupTemplate components are available in API version 33.0 and later.
223
ActionLinkGroupTemplateMetadata Types
Fields
DescriptionField TypeField Name
Action link templates that are associated with the action link group
template.
ActionLinkTemplate
on page 224[]
actionLinkTemplates
Required. The location of the action link group within the feed element.
Values are:
PlatformAction
GroupCategory
(enumeration of
type string)
category
PrimaryThe action link group is displayed in the body of the
feed element.
OverflowThe action link group is displayed in the overflow
menu of the feed element.
Required. The number of times an action link can be executed. Values
are:
ActionLink
ExecutionsAllowed
(enumeration of
type string)
executionsAllowed
OnceAn action link can be executed only once across all users.
OncePerUserAn action link can be executed only once for
each user.
UnlimitedAn action link can be executed an unlimited number
of times by each user. If the action links actionType is Api or
ApiAsync, you cant use this value.
Required. The number of hours from when the action link group is
created until it's removed from associated feed elements and can no
longer be executed. The maximum value is 8,760.
inthoursUntilExpiration
Required. If true, the action link group template is published. Action
link group templates shouldnt be published until at least one action
link template is associated with it.
booleanisPublished
Required. The name of the action link group template to use in code.stringname
ActionLinkTemplate
ActionLinkTemplate components are used to create multiple action links that share properties.
DescriptionField TypeField Name
Required. The action link URL. For example, a Ui action link URL is a Web page.
A Download action link URL is a link to the file to download. Ui and
stringactionUrl
Download action link URLs are provided to clients. An Api or ApiAsync
action link URL is a REST resource. Api and ApiAsync action link URLs
arent provided to clients. Links to Salesforce can be relative. All other links
must be absolute and start with https://.
Template for the HTTP headers sent when corresponding action links are
invoked. This field can be used only for Api and ApiAsync action links.
stringheaders
224
ActionLinkGroupTemplateMetadata Types
DescriptionField TypeField Name
This field can contain context variables and binding variables in the form
{!Bindings.key}.
Required. If true, a confirmation dialog appears before the action is executed.booleanisConfirmationRequired
Required. If true, action links derived from this template are the default or
primary action in their action groups. There can be only one default action per
action group.
booleanisGroupDefault
A custom label to display on the action link button. If none of the LabelKey
values make sense for an action link, use a custom label. Set the LabelKey
field to None and enter a label name in the Label field.
stringlabel
Required. Key for the set of labels to display for these action link states: new,
pending, success, failed. For example, the Approve set contains these labels:
stringlabelKey
Approve, Pending, Approved, Failed. For a complete list of keys and labels, see
Action Link Labels in the Connect REST API Developer Guide.
Required. The type of action link. One of these values:ActionLinkType
(enumeration of type
string)
linkType
ApiThe action link calls a synchronous API at the action URL. Salesforce
sets the status to SuccessfulStatus or FailedStatus based
on the HTTP status code returned by your server.
ApiAsyncThe action link calls an asynchronous API at the action URL.
The action remains in a PendingStatus state until a third party makes
a request to /connect/action-links/actionLinkId to set
the status to SuccessfulStatus or FailedStatus when the
asynchronous operation is complete.
DownloadThe action link downloads a file from the action URL.
UiThe action link takes the user to a web page at the action URL.
Required. HTTP method for the action URL. One of these values:ActionLink
HttpMethod
method
HttpDeleteReturns HTTP 204 on success. Response body or output
class is empty.
(enumeration of type
string)
HttpGetReturns HTTP 200 on success.
HttpHeadReturns HTTP 200 on success. Response body or output
class is empty.
HttpPatchReturns HTTP 200 on success or HTTP 204 if the response
body or output class is empty.
HttpPostReturns HTTP 201 on success or HTTP 204 if the response
body or output class is empty. Exceptions are the batch posting resources
and methods, which return HTTP 200 on success.
HttpPutReturn HTTP 200 on success or HTTP 204 if the response body
or output class is empty.
Ui and Download action links must use HttpGet.
225
ActionLinkGroupTemplateMetadata Types
DescriptionField TypeField Name
Required. An integer specifying the position of the action link template relative
to other action links in the group. 0 is the first position.
intposition
Template for the HTTP request body sent when corresponding action links are
invoked. This field can be used only for Api and ApiAsync action links.
stringrequestBody
This field can contain context variables and binding variables in the form
{!Bindings.key}.
If you selected CustomUser or CustomExcludedUser for
UserVisibility, this field is the alias for the custom user. Use the alias
stringuserAlias
in a template binding to specify the custom user when an action link group is
created using the template.
Required. Who can see the action link. This value is set per action link, not per
action link group. Values are:
ActionLink
UserVisibility
(enumeration of type
string)
userVisibility
CreatorOnly the creator of the action link can see the action link.
EveryoneEveryone can see the action link.
EveryoneButCreatorEveryone but the creator of the action link
can see the action link.
ManagerOnly the manager of the creator of the action link can see
the action link.
CustomUserOnly the custom user can see the action link.
CustomExcludedUserEveryone but the custom user can see the
action link.
Declarative Metadata Sample Definition
The following is an example of an ActionLinkGroupTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<ActionLinkGroupTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<actionLinkTemplates>
<actionUrl>/services/data/{!Bindings.word}/chatter/feed-elements</actionUrl>
<headers>Content-Type:{!Bindings.word3}</headers>
<isConfirmationRequired>true</isConfirmationRequired>
<isGroupDefault>true</isGroupDefault>
<labelKey>Add</labelKey>
<linkType>API</linkType>
<method>httpPost</method>
<position>0</position>
<requestBody>{"body":{"messageSegments":[{"type": "Text",
"text": "{!Bindings.word1}"}]},"subjectId": "{!Bindings.word2}",
"feedElementType": "feedItem"}</requestBody>
<userAlias>customExcludedUser</userAlias>
<userVisibility>CustomExcludedUser</userVisibility>
</actionLinkTemplates>
<category>Primary</category>
<executionsAllowed>OncePerUser</executionsAllowed>
226
ActionLinkGroupTemplateMetadata Types
<hoursUntilExpiration>10</hoursUntilExpiration>
<isPublished>true</isPublished>
<name>MyPackage</name>
</ActionLinkGroupTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ActionLinkGroupTemplate</name>
</types>
<version>33.0</version>
</Package>
Usage
If you modify action link group templates, you overwrite the related action link templates.
If you delete a published action link group template, you delete all related action link information which includes deleting all action links
that were instantiated using the template from feed items.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActionPlanTemplate
Represents the instance of an action plan template.This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ActionPlanTemplate components have the suffix .apt and are stored in the actionPlanTemplates folder.
Version
Action Plan Template components are available in API version 47.0 and later.
Special Access Rules
To create or access action plan templates, you must have the Customize Application permission and the IndustriesActionPlans license.
227
ActionPlanTemplateMetadata Types
Fields
DescriptionField TypeField Name
The instance of an item on an action plan template version.ActionPlanTemplateItem
on page 228
actionPlanTemplateItem
The description of the action plan template.stringdescription
Required. The name of the action plan template.stringname
Required. The parent object this action plan template relates to.
Supported parent objects are Account, BusinessMilestone, Campaign,
stringtargetEntityType
Case, Claim, Contact, Contract, InsurancePolicy, InsurancePolicyCoverage,
Lead, Opportunity, PersonLifeEvent, and Visit and custom objects with
activities enabled.
Required. The unique identifier for this action plan template record.stringuniqueName
ActionPlanTemplateItem
Represents the instance of an item on an action plan template version.
DescriptionField TypeField Name
The value associated with the action plan template item.actionPlanTemplateItemValueactionPlanTemplateItemValue
The order in which this item is displayed within the action plan template version.intdisplayOrder
Indicates whether the task created from this template item is required.booleanisRequired
Required. The name of the field on the action plan template item that this value
is for. Available in API version 48.0 and later.
stringitemEntityType
Required. The name of the action plan template item.stringname
Required. The unique identifier for this action plan template item record.stringuniqueName
ActionPlanTemplateItemValue
Represents the value associated with an action plan template item.
DescriptionField TypeField Name
Required. The name of the field on the action plan template item that this value
is for. Available in API version 48.0 and later.
stringitemEntityType
Required. The name of the action plan template item value.stringname
The formula for this action plan template item.stringvalueFormula
The value for this action plan template item.stringvalueLiteral
228
ActionPlanTemplateMetadata Types
Declarative Metadata Sample Definition
The following is an example of an ActionPlanTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<ActionPlanTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<actionPlanTemplateItem>
<actionPlanTemplateItemValue>
<itemEntityType>Task</itemEntityType>
<name>Subject</name>
<valueLiteral>Task 1</valueLiteral>
</actionPlanTemplateItemValue>
<actionPlanTemplateItemValue>
<itemEntityType>Task</itemEntityType>
<name>Priority</name>
<valueLiteral>Normal</valueLiteral>
</actionPlanTemplateItemValue>
<actionPlanTemplateItemValue>
<itemEntityType>Task</itemEntityType>
<name>ActivityDate</name>
<valueFormula>StartDate + 1</valueFormula>
</actionPlanTemplateItemValue>
<isRequired>true</isRequired>
<itemEntityType>Task</itemEntityType>
<name>Task 1</name>
<uniqueName>Task_1_f1beaba5_1ae1_11ea_93ad_5bc214d4daaf</uniqueName>
</actionPlanTemplateItem>
<description>This is a sample template for packaging</description>
<name>Action Plan Template 1</name>
<targetEntityType>Account</targetEntityType>
<uniqueName>Action_Plan_Template_1_da365953_1ae1_11ea_93ad_89a1c3d51bae</uniqueName>
</ActionPlanTemplate>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActionableListDefinition
Represents the data source definition details associated with an actionable list.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
229
ActionableListDefinitionMetadata Types
File Suffix and Directory Location
ActionableListDefinition components have the suffix .actionableListDefinition and are stored in the
actionableListDefinitions folder.
Version
ActionableListDefinition components are available in API version 57.0 and later.
Fields
DescriptionField Name
Field Type
ActionableListDatasetColumn[]
actionableListDatasetColumns
Description
The object that stores columns in a dataset associated with an actionable list.
Field Type
ActionableListMemberStatus[]
actionableListMemberStatuses
Description
The object that stores the status and the corresponding status icon details of an
individual actionable list member.
Field Type
string
batchCalcJobDefinition
Description
The batch calculation job definition that's associated with the creation of an actionable
list. This field is a relationship field.
Field Type
string
datasetName
Description
The name of the dataset that is associated with the actionable list.
Field Type
string
edgeMart
Description
The edgemart dataset that's associated with the actionable list. Available in API version
58.0 and later.
Field Type
boolean
isActive
Description
Indicates whether the actionable list definition is active (true) or not (false).
230
ActionableListDefinitionMetadata Types
DescriptionField Name
The default value is false.
Field Type
string
masterLabel
Description
Required.
The master label of the actionable list definition.
Field Type
string
objectName
Description
Required.
The object for which the actionable list is created.
Possible values are organized by the API version in which they were introduced. Values
are available in all versions after introduction unless noted otherwise.
Possible values are:
API version 60.0 and later:
PersonLifeEvent
API version 60.0 and later with Insurance Managed Package:
Claim
InsurancePolicy
Quote
API version 59.0 and later with Health Cloud:
CareFacilityBed
CareRequest
CareRequestItem
CareServiceVisit
CareServiceVisitPlan
ClinicalServiceRequest
API version 59.0 and later with Loyalty Cloud:
LoyaltyProgramMember
API version 59.0 and later:
Case
API version 58.0 and later with Automotive Cloud:
Vehicle
API version 58.0 and later:
Asset
231
ActionableListDefinitionMetadata Types
DescriptionField Name
Lead
Opportunity
API version 57.0 and later:
Account
Contact
ActionableListDatasetColumn
Represents the information about the columns in a dataset associated with an actionable list.
Table 1: Fields
DescriptionField Name
Field Type
DatasetColumnDataType (enumeration of type string)
dataDomain
Description
The data domain that is mapped to the data type of the dataset column.
Possible values are:
Dates
Dimensions
Measures
Field Type
DatatableDataType (enumeration of type string)
dataType
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort, Update
Description
The data type of the dataset column in the actionable list. Available in API version 58.0 and
later.
Possible values are:
Boolean
Currency
Date
DateTime
Email
Location
Number
Percent
Phone
232
ActionableListDefinitionMetadata Types
DescriptionField Name
Text
Url
Field Type
int
displayOrder
Properties
Create, Filter, Group, Nillable, Sort, Update
Description
The order in which the actionable list dataset columns are displayed. Available in API version
58.0 and later.
Field Type
boolean
isDefault
Description
Indicates whether the dataset column is added to the actionable list by default (true) or
not (false).
The default value is false.
Field Type
boolean
isGroupedByListDefObj
Description
Indicates whether the dataset column is grouped by the object defined in the actionable
list definition (true) or not (false). Available in API version 59.0 and later.
Field Type
boolean
IsTypeAheadSearchEnabled
Description
Indicates whether the type-ahead search for filters is enabled (true) or not (false).
Available in API version 60.0 and later.
Field Type
string
objectName
Description
The name of the object that's associated with the dataset column.
Possible values are:
API version 60.0 and later:
PersonLifeEvent
API version 60.0 and later with Insurance Managed Package:
Claim
InsurancePolicy
Quote
233
ActionableListDefinitionMetadata Types
DescriptionField Name
API version 59.0 and later with Health Cloud:
CareFacilityBed
CareRequest
CareRequestItem
CareServiceVisit
CareServiceVisitPlan
ClinicalServiceRequest
API version 59.0 and later with Loyalty Cloud:
LoyaltyProgramMember
API version 59.0 and later:
Case
API version 58.0 and later with Automotive Cloud:
Vehicle
API version 58.0 and later:
Asset
Lead
Opportunity
API version 57.0 and later:
Account
Contact
Field Type
string
sourceColumnApiName
Description
The API name of the column in the source dataset.
Field Type
string
sourceFieldName
Description
The name of the field in the object for which the actionable list dataset is created.
ActionableListMemberStatus
Represents the status and the corresponding status icon details of an individual actionable list member.
234
ActionableListDefinitionMetadata Types
Table 2: Fields
DescriptionField Name
Field Type
string
iconName
Description
The name of the icon that's mapped to the status.
Field Type
string
status
Description
The status of the actionable list member.
Declarative Metadata Sample Definition
The following is an example of a ActionableListDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<ActionableListDefinition
xmlns="http://soap.sforce.com/2006/04/metadata">
<actionableListDatasetColumns>
<isDefault>true</isDefault>
<sourceFieldName>NewColumn1</sourceFieldName>
</actionableListDatasetColumns>
<actionableListDatasetColumns>
<sourceColumnApiName>ApiName</sourceColumnApiName>
<dataDomain>Dimensions</dataDomain>
<isDefault>false</isDefault>
<sourceFieldName>NewColumn2</sourceFieldName>
<objectName>Account</objectName>
<displayOrder>1</displayOrder>
<dataType>Text</dataType>
</actionableListDatasetColumns>
<actionableListMemberStatuses>
<iconName>NewMember1</iconName>
<status>Active</status>
</actionableListMemberStatuses>
<isActive>true</isActive>
<masterLabel>NewMember2</masterLabel>
<objectName>Account</objectName>
<isProtected>true</isProtected>
<batchCalcJobDefinition>Test1</batchCalcJobDefinition>
<datasetName>AccountDef</datasetName>
</ActionableListDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
235
ActionableListDefinitionMetadata Types
<types>
<members>*</members>
<name>ActionableListDefinition</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AdvAccountForecastSet
Represents the forecast sets that define the forecast configurations for each business unit or different groups of accounts. With separate
forecast sets at account or business unit level, you can focus on account-specific data and manage configuration updates for one business
unit without impacting any other business units data.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AdvAccountForecastSet components have the suffix .advAccountForecastSet and are stored in the
AdvAccountForecastSet folder.
Version
AdvAccountForecastSet components are available in API version 53.0 and later.
Special Access Rules
The advanced account forecasting feature setting for Manufacturing Cloud is required to create an advanced account forecast set.
Fields
DescriptionField Name
Field Type
string
accountFieldName
Description
The field name for the account in the advanced account forecast fact record.
236
AdvAccountForecastSetMetadata Types
DescriptionField Name
Field Type
AdvAcctFcstCalcFrequency (enumeration of type string)
calculationFrequency
Description
The frequency at which the forecast set is recalculated automatically.
Possible values are:
Monthly
Quarterly
Weekly
Yearly
The default value is Monthly.
Field Type
string
description
Description
The description of the advanced account forecast set record.
Field Type
AdvAcctForecastDimension[]
dimensions
Description
The dimensions selected for an advanced account forecast set to categorize the forecast
data.
Field Type
AdvAcctFrcstDisplayGroup[]
displayGroups
Description
The information about the groups for the advanced account forecast set measures or
dimensions.
Field Type
AdvAcctForecastAdjPeriod[]
forecastAdjPeriods
Description
The details about the adjustment period of the advanced account forecast values.
Field Type
string
forecastContextFieldName
Description
The field name for the forecast context in the advanced account forecast set use record.
Field Type
string
forecastFactObjectName
237
AdvAccountForecastSetMetadata Types
DescriptionField Name
Description
Required.
The API name of the object that contains the advanced forecast fact records.
Field Type
AdvAccountForecastFormula[]
forecastFormulas
Description
The formulas based on which forecast values are calculated.
Field Type
string
forecastPeriodGroupName
Description
Required.
The name of the advanced account forecast period group record.
Field Type
string
forecastQuantityFieldName
Description
The field name for the forecast quantity in the advanced account forecast fact record.
Field Type
string
forecastRevenueFieldName
Description
The field name for the forecast revenue in the advanced account forecast record.
Field Type
string
forecastSetFieldName
Description
The field name for the Forecast Set ID in the advanced account forecast fact record.
Field Type
string
forecastSetName
Description
Required.
The name of the advanced account forecast set record.
Field Type
string
forecastStatusFieldName
Description
The field name for the status in the advanced account forecast fact record.
238
AdvAccountForecastSetMetadata Types
DescriptionField Name
Field Type
string
generationDpeDefName
Description
The name of the data processing engine (DPE) definition thats used to generate
advanced account forecast fact records.
Field Type
AdvAcctForecastMeasureDef[]
measureDefinitions
Description
The measures to display in the advanced account forecasts grid for the forecast set.
Field Type
string
periodFieldName
Description
The field name for the period in the advanced account forecast fact record.
Field Type
string
recalculateDpeDefName
Description
The name of the data processing engine definition thats used to recalculate the
advanced account forecast fact records.
Field Type
string
regenerationDpeDefName
Description
The name of the data processing engine definition thats used to regenerate the
advanced account forecast fact records.
Field Type
string
rolloverDpeDefName
Description
The data processing engine definition thats used to generate the rollover advanced
account forecast fact records.
Field Type
AdvAcctFcstCalcFrequency (enumeration of type string)
rolloverFrequency
Description
The frequency of rollover of the advanced account forecast records.
Possible values are:
Monthly
Quarterly
Weekly
239
AdvAccountForecastSetMetadata Types
DescriptionField Name
Yearly
The default value is Monthly.
Field Type
AdvAccForecastSetStatus (enumeration of type string)
status
Description
Required.
The status of the advanced account forecast set.
Possible values are:
Active
Inactive
AdvAccountForecastFormula
Represents the formulas that are used to calculate forecast values in real time after applying the DPE calculations. For example, processing
forecast rollover for all accounts at the start of a month.
DescriptionField Name
Field Type
int
endPeriod
Description
Required.
The period until when the forecast formula is applicable.
Field Type
string
formulaExpression
Description
Required.
The formula based on which forecast values are calculated.
Field Type
AdvAcctFcstFormulaType (enumeration of type string)
formulaType
Description
Required.
Specifies the calculation type for the formula.
Possible values are:
QUANTITY
REVENUE
240
AdvAccountForecastSetMetadata Types
DescriptionField Name
The default value is QUANTITY.
Field Type
int
startPeriod
Description
Required.
The period from when the forecast formula is applicable.
AdvAcctForecastAdjPeriod
Represents details about the adjustment period of the advanced account forecast values.
DescriptionField Name
Field Type
int
adjustmentDayCount
Description
Required.
The number of days during which you can make forecast adjustments.
Field Type
PeriodTypes (enumeration of type string)
frequency
Description
Required.
The frequency thats applicable to make any forecast adjustments.
Possible values are:
Month
Quarter
Week
Year
The default value is Month.
Field Type
string
profileName
Description
The name of the profile with which you can adjust the forecast set.
Field Type
int
startDay
241
AdvAccountForecastSetMetadata Types
DescriptionField Name
Description
Required.
The start date for forecast adjustments.
AdvAcctForecastDimension
Represents the dimensions selected for an advanced account forecast set to categorize the data. For example, a business unit requires
forecast data for each account aggregated by product and ship-from location.
DescriptionField Name
Field Type
string
advAcctForecastDimName
Description
Required.
The name of the advanced account forecast dimension.
Field Type
string
dimensionFieldName
Description
Required.
The API name of the field for the dimension in the custom object that contains the
generated advanced account forecast records.
Field Type
string
dimensionSourceName
Description
The name of the dimension source associated with the advanced account forecast set
dimension record.
Field Type
int
hierarchySequenceNumber
Description
Required.
The sequence number of the dimension source associated with the forecast set.
AdvAcctForecastMeasureDef
Represents information about the measures to display in the advanced account forecasts grid for the forecast set.
242
AdvAccountForecastSetMetadata Types
DescriptionField Name
Field Type
string
advAcctForecastMeasureDefName
Description
Required.
The name of the definition for the advanced account forecast measure.
Field Type
AdvAcctFcstAggregationType (enumeration of type string)
aggregationType
Description
Required.
The type of aggregation thats used for calculating the advanced account forecast
values.
Possible values are:
AVERAGE
MAXIMUM
MINIMUM
SUM
The default value is SUM.
Field Type
AdvAcctFcstComputationMethod (enumeration of type string)
computationMethod
Description
Required.
The method thats used for calculating the advanced account forecast values.
Values are:
CUSTOM
DATA_PROCESSING_ENGINE_DEFINITION
FORMULA
The default value is DATA_PROCESSING_ENGINE_DEFINITION.
Field Type
string
forecastDataMeasureName
Description
Required.
The field of the facts object used for the advanced account forecast measure.
Field Type
string
forecastMeasureName
243
AdvAccountForecastSetMetadata Types
DescriptionField Name
Description
Required.
The name for the advanced account forecast measure to show on UI.
Field Type
AdvAcctFcstMeasureType (enumeration of type string)
forecastMeasureType
Description
Required.
The measure type thats used for the generated advanced forecast values.
Possible values are:
QUANTITY
REVENUE
The default value is QUANTITY.
Field Type
boolean
isAdjustmentTracked
Description
Indicates whether the adjustments made to the advanced account forecast values for
this metric are tracked (true) or not (false).
AdvAcctFrcstDisplayGroup
Represents information about the groups for the advanced account forecast set measures or dimensions.
DescriptionField Name
Field Type
string
advAcctFrcstDisplayGroupName
Description
Required.
The name of the advanced account forecast display group.
Field Type
AdvAcctFrcstDplyGroupItem[]
displayGroupItems
Description
The items associated with a display group for an advanced account forecast set.
Field Type
AdvAcctFrcstDisplayGroupType (enumeration of type string)
displayGroupType
244
AdvAccountForecastSetMetadata Types
DescriptionField Name
Description
The category of the display group.
Possible value is:
MEASURE
Field Type
boolean
isDefault
Description
Indicates whether the display group is the default group (true) or not (false).
Field Type
string
userProfileName
Description
The name of the profile for which the display group is applicable.
AdvAcctFrcstDplyGroupItem
Represents information about the items associated with a display group for an advanced account forecast set.
DescriptionField Name
Field Type
string
advAcctFrcstDplyGroupItemName
Description
Required.
The name of the advanced account forecast display group thats associated with the
group item.
Field Type
int
displayOrder
Description
Required.
The display order of the display group item.
Field Type
string
measureReferenceName
Description
The ID of the measure associated with the display group item.
245
AdvAccountForecastSetMetadata Types
Declarative Metadata Sample Definition
The following is an example of an AdvAccountForecastSet component.
<?xml version="1.0" encoding="UTF-8"?>
<AdvAccountForecastSet xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<calculationFrequency>Quarterly</calculationFrequency>
<forecastAdjPeriods>
<adjustmentDayCount>5</adjustmentDayCount>
<frequency>Quarter</frequency>
<profileName xsi:nil="true"/>
<startDay>1</startDay>
</forecastAdjPeriods>
<forecastFormulas>
<endPeriod>12</endPeriod>
<formulaExpression>6</formulaExpression>
<startPeriod>2</startPeriod>
<formulaType>QUANTITY</formulaType>
</forecastFormulas>
<forecastPeriodGroupName>PeriodGroup1</forecastPeriodGroupName>
<accountFieldName>Account</accountFieldName>
<periodFieldName>Period</periodFieldName>
<forecastQuantityFieldName>ForecastedQuantity</forecastQuantityFieldName>
<forecastRevenueFieldName>ForecastedRevenue</forecastRevenueFieldName>
<forecastFactObjectName>AdvAccountForecastFact</forecastFactObjectName>
<forecastSetFieldName>AdvAcctForecastSetPartner</forecastSetFieldName>
<rolloverFrequency>Monthly</rolloverFrequency>
<forecastStatusFieldName>Status</forecastStatusFieldName>
<description>sample forecast set</description>
<regenerationDpeDefName xsi:nil="true"/>
<rolloverDpeDefName xsi:nil="true"/>
<recalculateDpeDefName xsi:nil="true"/>
<generationDpeDefName xsi:nil="true"/>
<status>Inactive</status>
<forecastSetName>Forecast Set 1</forecastSetName>
<dimensions>
<dimensionFieldName>Account</dimensionFieldName>
<dimensionSourceName>DimSource1</dimensionSourceName>
<hierarchySequenceNumber>1</hierarchySequenceNumber>
<advAcctForecastDimName>DimensionName</advAcctForecastDimName>
</dimensions>
<measureDefinitions>
<forecastDataMeasureName>MeasureName</forecastDataMeasureName>
<advAcctForecastMeasureDefName>Sample Def Name</advAcctForecastMeasureDefName>
<isAdjustmentTracked>true</isAdjustmentTracked>
<forecastMeasureName>Samplemeasure name</forecastMeasureName>
<aggregationType>MINIMUM</aggregationType>
<computationMethod>DATA_PROCESSING_ENGINE_DEFINITION</computationMethod>
<forecastMeasureType>QUANTITY</forecastMeasureType>
</measureDefinitions>
<displayGroups>
<advAcctFrcstDisplayGroupName>Sample Measure Group</advAcctFrcstDisplayGroupName>
<displayGroupType>MEASURE</displayGroupType>
246
AdvAccountForecastSetMetadata Types
<isDefault>false</isDefault>
<userProfileName xsi:nil="true"/>
<displayGroupItems>
<advAcctFrcstDplyGroupItemName>Sample Quantity</advAcctFrcstDplyGroupItemName>
<measureReferenceName>Sample Def Name</measureReferenceName>
<displayOrder>1</displayOrder>
</displayGroupItems>
</displayGroups>
</AdvAccountForecastSet>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>AdvAccountForecastSet</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AffinityScoreDefinition
Represents the affinity information used in calculations to analyze and categorize contacts for marketing purposes.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AffinityScoreDefinition components have the suffix .affinityScoreDefinition and are stored in the
affinityScoreDefinitions folder.
Version
AffinityScoreDefinition components are available in API version 61.0 and later.
247
AffinityScoreDefinitionMetadata Types
Special Access Rules
This metadata type is available only if the Fundraising Access license is enabled for the org and the Fundraising admin permission is
assigned to users.
Fields
DescriptionField Name
Field Type
string
affinityScoreDefinitionDesc
Description
Description of the affinity score definition.
Field Type
string
affinityScoreDefinitionName
Description
Name of the affinity score definition.
Field Type
AffinityScoreType (enumeration of type string)
affinityScoreType
Description
Type of the affinity score thats defined.
Valid values are:
CAPCapacity, Ability, Propensity (CAP)
RFMRecency, Frequency, Monetary (RFM)
The default value is RFM.
Field Type
string
masterLabel
Description
Label for this affinity score definition value. This display value is the internal label that
doesn't get translated.
Field Type
int
numberOfMonths
Description
Number of months to analyze the records for calculating the affinity score.
Field Type
int
numberOfRanges
Description
Required.
248
AffinityScoreDefinitionMetadata Types
DescriptionField Name
Number of ranges to use in the calculation, ranging from 0 to 9. Provide the
corresponding range list values in the scoreRangeList field.
Field Type
string
scoreRangeList
Description
Required.
Ranges that are referenced in the affinity score calculation. This field is used with
scoreRangeList. For example, to calculate RFM with numberOfRanges value
as 3, provide the values for the scoreRangeList field in this format.
{
"R ranges":"0-30, 31-100, 100+",
"F ranges":"0-10, 11-100, 100+",
"M ranges":"0-1000, 1001-5000, 5000+"
}
Field Type
string
sourceFieldApiNameList
Description
Required.
API names of the source fields that are referenced in the score calculation.
Field Type
string
sourceObjectApiNameList
Description
API names of the source objects that are referenced in the score calculation.
Field Type
string
targetFieldApiNameList
Description
Required.
API names of the target fields where the calculated scores are added.
Field Type
string
targetObjectApiName
API name of the target object where the calculated scores are added.
249
AffinityScoreDefinitionMetadata Types
Declarative Metadata Sample Definition
This example shows a sample of an AffinityScoreDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<AffinityScoreDefinition
xmlns="http://soap.sforce.com/2006/04/metadata">
<affinityScoreDefinitionDesc>RFM Affinity Score</affinityScoreDefinitionDesc>
<affinityScoreDefinitionName>AffinityScoreDefinition_RFM</affinityScoreDefinitionName>
<affinityScoreType>RFM</affinityScoreType>
<masterLabel>MasterLabel</masterLabel>
<numberOfMonths>12</numberOfMonths>
<numberOfRanges>3</numberOfRanges>
<scoreRangeList>
[
{
"name": "R Ranges",
"direction": "ascending",
"ranges": [30,90,180]
},
{
"name": "F Ranges",
"direction": "descending",
"ranges": [10,15,100]
},
{
"name": "M Ranges",
"direction": "descending",
"ranges": [500,1000,5000]
}
]
</scoreRangeList>
<sourceFieldApiNameList>
[
{
"name": "R Source",
"values":
[
{
"fieldName": "DonorGiftSummary.DaysSinceLastGift",
"fieldWeight": 1
}
]
},
{
"name": "F Source",
"values":
[
{
"fieldName": "DonorGiftSummary.GiftCount",
"fieldWeight": 1
}
]
},
{
250
AffinityScoreDefinitionMetadata Types
"name": "M Source",
"values":
[
{
"fieldName": "DonorGiftSummary.TotalGiftsCount",
"fieldWeight": 1
}
]
}
]
</sourceFieldApiNameList>
<targetFieldApiNameList>
[
{
"name": "R Target",
"values":
[
{
"fieldName": "DonorGiftSummary.RecencyScore",
"fieldWeight": 1
}
]
},
{
"name": "F Target",
"values":
[
{
"fieldName": "DonorGiftSummary.FrequencyScore",
"fieldWeight": 1
}
]
},
{
"name": "M Target",
"values":
[
{
"fieldName": "DonorGiftSummary.MonetaryScore",
"fieldWeight": 1
}
]
}
]
</targetFieldApiNameList>
</AffinityScoreDefinition>
This example shows a sample of the package.xml file that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>AffinityScoreDefinition</name>
</types>
251
AffinityScoreDefinitionMetadata Types
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AIApplication
Represents an instance of an AI application. For example, Einstein Prediction Builder. This type extends the Metadata metadata type and
inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
AIApplication components have the suffix .ai and are stored in the aiApplications folder.
Version
AIApplication is available in API version 50.0 and later.
Fields
DescriptionField TypeField Name
Required. Represents the name of the application. Can contain only underscores
and alphanumeric characters and must be unique in your org. It must begin
stringdeveloperName
with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Label that identifies the AI application throughout the Salesforce user interface.stringmasterLabel
Required. The status of the application. Valid values are:AIApplicationStatus
(enumeration of type
string)
status
Disabled
Draft
Enabled
Migrated
The type of AI application. Valid values are:AIApplicationType
(enumeration of type
string)
type
PredictionBuilder
252
AIApplicationMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AIApplicationConfig
Additional prediction information related to an AI application. This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
AIApplicationConfig components have the suffix .aiapplicationconfig and are stored in the aiApplicationConfigs
folder.
Version
AIApplicationConfig is available in API version 50.0 and later.
Fields
DescriptionField TypeField Name
Required. Represents the AIApplication to which AIApplicationConfig belongs.
Can contain only underscores and alphanumeric characters and must be unique
stringaiApplicationDeveloperName
in your org. It must begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores. Available in API
version 51.0 and later.
Required. The ID of the parent AI application.stringapplicationId
Represents the name of the application config. Can contain only underscores
and alphanumeric characters and must be unique in your org. It must begin
stringdeveloperName
with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores.
Required. When true, generates the predictors, or field values, that were
used to generate the prediction value.
booleaninsightReasonEnabled
Required. Label that identifies the AI application configuration throughout the
Salesforce user interface.
stringmasterLabel
Required. Reserved for future use.intrank
Required. Frequency with which the prediction scores are written back. Valid
values are:
AIScoringMode
(enumeration of type
string)
scoringMode
Batch
OnDemand
Streaming
253
AIApplicationConfigMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AIScoringModelDefinition
Represents information about a machine learning model thats used by the Scoring Framework for Industries Cloud Einstein. The machine
learning model is used for scoring, including its configuration.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AIScoringModelDefinition components have the suffix .aiScoringModelDefinition and are stored in the
aiScoringModelDefinitions folder.
Version
AIScoringModelDefinition components are available in API version 58.0 and later.
Special Access Rules
To access this metadata type, you must have the AI Accelerator User permission set with Scoring Framework enabled for Industries Cloud
Einstein from Salesforce Setup. The Salesforce org must have the CRM Plus license and the products CRM license.
Fields
DescriptionField Name
Field Type
string
aiModelConfig
Description
Required.
ID of an AI model configuration related to the AI scoring model record.
Field Type
AIScoringModelDefVersion[]
aiScoringModelDefVersions
Description
Represents information of various versions of a model.
254
AIScoringModelDefinitionMetadata Types
DescriptionField Name
Field Type
string
description
Description
Description for an AIScoringModelDefinition record.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for the AIScoringModelDefinition metadata component, which
is defined when the AIScoringModelDefinition metadata component is created.
AIScoringModelDefVersion
Represents information about a version of an AI scoring model.
DescriptionField Name
Field Type
string
aiScoringModelDefinition
Description
Required.
Parent AIScoringModelDefinition record thats related to an AIScoringModelDefVersion
record.
Field Type
AIScoringStep[]
aiScoringSteps
Description
Represents information about a step associated with an AI scoring model version.
Field Type
string
developerName
Description
Required.
The unique name of the object in the API. This name can contain only underscores
and alphanumeric characters, and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores. In managed packages, this field prevents naming conflicts on package
installations. With this field, a developer can change the objects name in a managed
package and the changes are reflected in a subscribers organization. Label is Record
Type Name.
255
AIScoringModelDefinitionMetadata Types
DescriptionField Name
Field Type
string
masterLabel
Description
Required.
A user-friendly name for the AIScoringModelDefVersion component name, which is
defined when the AIScoringModelDefVersion component name is created.
Field Type
AIScoringModelDefVersionMode (enumeration of type string)
modelMode
Description
Required.
Mode of an AI scoring model.
Values are:
DEPLOY
TRAIN
TRAIN_AND_DEPLOY
AIScoringStep
Represents information about a step associated with an AI scoring model version. For example, an AI scoring step can include steps,
such as propensity to purchase products or prediction scores for accounts.
DescriptionField Name
Field Type
string
aiModelConfigStep
Description
Required.
ID of the AI model config step thats related to the AIScoringStep record.
Field Type
string
stepDetail
Description
Scoring step details in JSON format.
256
AIScoringModelDefinitionMetadata Types
Declarative Metadata Sample Definition
Heres an example of an AIScoringModelDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<AIScoringModelDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<aiModelConfig>Prediction_Scores_for_Accounts</aiModelConfig>
<aiScoringModelDefVersions>
<fullName>V1</fullName>
<aiScoringModelDefinition>Test</aiScoringModelDefinition>
<aiScoringSteps>
<aiModelConfigStep>Prediction_Scores_for_Accounts.GrainSelector</aiModelConfigStep>
<stepDetail>{label:Account,name:Account}</stepDetail>
</aiScoringSteps>
<aiScoringSteps>
<aiModelConfigStep>Prediction_Scores_for_Accounts.AugmentedDataset</aiModelConfigStep>
</aiScoringSteps>
<aiScoringSteps>
<aiModelConfigStep>Prediction_Scores_for_Accounts.TargetConditionBuilder</aiModelConfigStep>
<stepDetail>{specificOutcomeDefined:Yes,label:Financial accounts are associated
with an account,name:FA_Target}</stepDetail>
</aiScoringSteps>
<aiScoringSteps>
<aiModelConfigStep>Prediction_Scores_for_Accounts.InputVariableSelector</aiModelConfigStep>
</aiScoringSteps>
<aiScoringSteps>
<aiModelConfigStep>Prediction_Scores_for_Accounts.CustomFilter</aiModelConfigStep>
</aiScoringSteps>
<aiScoringSteps>
<aiModelConfigStep>Prediction_Scores_for_Accounts.WriteBackConnector</aiModelConfigStep>
</aiScoringSteps>
<developerName>V1</developerName>
<masterLabel>V1</masterLabel>
<modelMode>TRAIN_AND_DEPLOY</modelMode>
</aiScoringModelDefVersions>
<description>Test for metadata</description>
<masterLabel>Test</masterLabel>
</AIScoringModelDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>AIScoringModelDefVersion</name>
257
AIScoringModelDefinitionMetadata Types
</types>
<types>
<members>*</members>
<name>AIScoringModelDefinition</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AIUsecaseDefinition
Represents a collection of fields in your Salesforce org used to define a machine learning use case and get real-time predictions.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AIUsecaseDefinition components have the suffix .aiUsecaseDefinitions and are stored in the aiUsecaseDefinitions
folder.
Version
AIUsecaseDefinition components are available in API version 56.0 and later.
Special Access Rules
The AIUsecaseDefinition object is available when the admin settings for AI Accelerator and for the product related to the use case are
enabled. The Salesforce org must have the CRM Plus license and the products CRM license.
Fields
DescriptionField Name
Field Type
AIUsecaseFieldMapping[]
aiUsecaseFieldMappings
258
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Description
The field mappings for the use case definition. Each use case definition can have
multiple field mappings.
Field Type
AIUsecaseModel[]
aiUsecaseModels
Description
The models for the use case definition. Each use case definition can have multiple use
case models.
Field Type
CreatorType (enumeration of type string)
creatorType
Description
Required.
The type of user who created the use case definition that's used by AI Accelerator.
Valid values are:
INTERNAL_USER
SALESFORCE_ADMIN
Available in API version 57.0 and later.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for the use case definition, which is defined when the use case
definition is created.
Field Type
int
maximumInsightCount
Description
The maximum number of insights returned by the scoring response.
Field Type
int
maximumRecommendationCount
Description
The maximum number of recommendations returned by the Next Best Action Strategy.
Field Type
int
maximumSuggestionCount
Description
The maximum number of suggestions returned by the scoring response.
259
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Field Type
string
primaryResponseObject
Description
The primary object in which the scoring response is stored based on the specified field
mapping.
Field Type
string
recommendationResponseObject
Description
The recommendation response object associated with the use case definition.
Field Type
RcmdSourceType (enumeration of type string)
recommendationSource
Description
The tool or platform that generates recommendations. Valid values are:
Next_Best_Action_Flow
None
Available in API version 57.0 and later.
Field Type
string
secondaryResponseObject
Description
The object in which the scoring response is stored based on the specified field mapping.
Field Type
boolean
shouldSaveFeatures
Description
Indicates whether to save the features extracted for the scoring request (true) or not
(false).
The default value is false.
Field Type
boolean
shouldSaveInsights
Description
Indicates whether to save the prediction insights that are used to generate the score
(true) or not (false).
The default value is false.
Field Type
boolean
shouldSaveRecommendation
260
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Description
Indicates whether to save the recommendation (true) or not (false).
The default value is false.
Field Type
boolean
shouldSaveRequestResponse
Description
Indicates whether to save the request response (true) or not (false).
The default value is false.
Field Type
boolean
shouldSaveScore
Description
Indicates whether to save the prediction score (true) or not (false).
The default value is false.
Field Type
boolean
shouldSaveSuggestions
Description
Indicates whether to save the suggestions for improving the prediction score (true)
or not (false).
The default value is false.
Field Type
int
suggestionImpactMinimumPct
Description
The minimum eligible percentage for improving the existing prediction score based
on the suggestions. Suggestions with an impact greater than the specified percentage
on the score are displayed on the prediction scorecard.
Field Type
string
usecaseName
Description
Required.
The name of the use case definition.
AIUsecaseFieldMapping
Represents information about the field mapping to store extracted features, prediction scores, prediction insights, and use case suggestions
in the response object.
261
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Field Type
string
developerName
Description
The unique name for the field mapping in the use case definition.
Required. The unique name of the object in the API. This name can contain only
underscores and alphanumeric characters, and must be unique in your org. It must
begin with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. In managed packages, this field prevents naming conflicts
on package installations. With this field, a developer can change the objects name in
a managed package and the changes are reflected in a subscribers organization. Label
is Record Type Name.
Field Type
string
mappedFieldName
Description
Required.
The name of the field where the scoring response is stored.
Field Type
MappedFieldType (enumeration of type string)
mappedFieldType
Description
Required.
The type of the mapped field.
Valid values are:
FEATURE
PREDICTION_SCORE
INSIGHT
SUGGESTION
SECONDARY_RESPONSE_RECORD_ID
RECOMMENDATION_RESPONSE_RECORD_ID
RECOMMENDATION
The default value is FEATURE.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for the use case field mapping, which is defined when the field
mapping is created.
262
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Field Type
string
responseFieldName
Description
Required.
The name of the response objects field thats mapped to the field storing the score.
Field Type
string
responseObject
Description
Required.
The object whose field is mapped to the field storing the score. Its either the
PrimaryResponseObject or the SecondaryResponseObject specified in the
AIUsecaseDefinition object.
Field Type
int
sequenceNumber
Description
The sequence number for the information stored in the field mapping.
AIUsecaseModel
Represents information about the machine learning models that generate predictions for your use case.
DescriptionField Name
Field Type
AIFeatureExtractor[]
aiFeatureExtractors
Description
The AI feature extractors to retrieve the input data.
Field Type
AIFeatureExtractor
defaultFeatureExtractor
Description
The default AI feature extractor to retrieve the input data.
Field Type
string
developerName
Description
The unique name for the use case model.
Required. The unique name of the object in the API. This name can contain only
underscores and alphanumeric characters, and must be unique in your org. It must
263
AIUsecaseDefinitionMetadata Types
DescriptionField Name
begin with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. In managed packages, this field prevents naming conflicts
on package installations. With this field, a developer can change the objects name in
a managed package and the changes are reflected in a subscribers organization. Label
is Record Type Name.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for the use case model, which is defined when the use case
model is created.
Field Type
string
predictionDefinition
Description
Required.
The unique identifier of the prediction definition thats related to the use case model.
This identifier can be an external ID. If you use Einstein Discovery to create models, the
predictionDefinition field stores the developer name of the record.
Field Type
PredictionPlatform (enumeration of type string)
predictionPlatform
Description
Required.
The platform on which the machine learning model is created and deployed. Valid
values are:
Einstein_Discovery
DefaultFor internal use only.
The default value is Einstein_Discovery. Available in API version 57.0 and
later.
AIFeatureExtractor
Represents information about the feature extractor thats used to retrieve the input data for the use case model thats used to generate
predictions.
DescriptionField Name
Field Type
string
batchInputSourceIdentifier
264
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Description
The identifier of the input source of the features computed by batch jobs, which can
be used by a model for generating predictions. Available in API version 57.0 and later.
Field Type
string
className
Description
Required.
The ID of the Apex class created for the feature extractor.
Field Type
string
developerName
Description
The unique name for the feature extractor.
Required. The unique name of the object in the API. This name can contain only
underscores and alphanumeric characters, and must be unique in your org. It must
begin with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. In managed packages, this field prevents naming conflicts
on package installations. With this field, a developer can change the objects name in
a managed package and the changes are reflected in a subscribers organization. Label
is Record Type Name.
Field Type
ExtractorType (enumeration of type string)
extractorType
Description
Required.
The type of the feature extractor.
Valid values are:
APEX
JAVA
HYBRID
The default value is APEX.
Field Type
string
featureInputType
Description
Required.
The type of feature input thats used in generating predictions. Valid values are:
Realtime_Input
Sample_Input
265
AIUsecaseDefinitionMetadata Types
DescriptionField Name
Batch_Input
Batch_And_Realtime_Input
Available in API version 57.0 and later.
Field Type
string
inputContext
Description
The JSON file with features that act as context for the feature extractor. This data can
also include the data in the uploaded CSV file. Available in API version 57.0 and later.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for the feature extractor, which is defined when the feature
extractor is created.
Declarative Metadata Sample Definition
The following is an example of an AIUsecaseDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<AIUsecaseDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<aiUsecaseFieldMappings>
<developerName>DevName1</developerName>
<mappedFieldName>Name</mappedFieldName>
<mappedFieldType>INSIGHT</mappedFieldType>
<masterLabel>DevName</masterLabel>
<responseFieldName>AnnualRevenue</responseFieldName>
<responseObject>Lead</responseObject>
<sequenceNumber>2</sequenceNumber>
</aiUsecaseFieldMappings>
<aiUsecaseFieldMappings>
<developerName>DevName2</developerName>
<mappedFieldName>Value</mappedFieldName>
<mappedFieldType>INSIGHT</mappedFieldType>
<masterLabel>DevName</masterLabel>
<responseFieldName>Id</responseFieldName>
<responseObject>Account</responseObject>
<sequenceNumber>2</sequenceNumber>
</aiUsecaseFieldMappings>
<aiUsecaseFieldMappings>
<developerName>DevName3</developerName>
<mappedFieldName>Score</mappedFieldName>
<mappedFieldType>PREDICTION_SCORE</mappedFieldType>
266
AIUsecaseDefinitionMetadata Types
<masterLabel>DevName</masterLabel>
<responseFieldName>Company</responseFieldName>
<responseObject>Lead</responseObject>
</aiUsecaseFieldMappings>
<aiUsecaseFieldMappings>
<developerName>DevName4</developerName>
<mappedFieldName>RecordId</mappedFieldName>
<mappedFieldType>SECONDARY_RESPONSE_RECORD_ID</mappedFieldType>
<masterLabel>DevName</masterLabel>
<responseFieldName>Address</responseFieldName>
<responseObject>Lead</responseObject>
</aiUsecaseFieldMappings>
<aiUsecaseFieldMappings>
<developerName>DevName1</developerName>
<mappedFieldName>UsecaseModel1.inputScore</mappedFieldName>
<mappedFieldType>PREDICTION_SCORE_INPUT</mappedFieldType>
<masterLabel>DevName</masterLabel>
<responseFieldName>Score</responseFieldName>
<responseObject>LeadOutputDMO</responseObject>
<joinFieldName>LeadId</sequenceNumber>
</aiUsecaseFieldMappings>
<aiUsecaseModels>
<aiFeatureExtractors>
<className>01pxx0000004X2CAAU</className>
<extractorType>APEX</extractorType>
<developerName>DevName2</developerName>
<masterLabel>DevName</masterLabel>
<featureInputType>Realtime_Input</featureInputType>
<inputContext>"{columnNames=[column1, column2], rawData=[S,
315090]}"</inputContext>
<batchInputSourceIdentifier>DatasetName</batchInputSourceIdentifier>
<batchInputSourceType>CRMA</batchInputSourceType>
</aiFeatureExtractors>
<defaultFeatureExtractor>
<className>01pxx0000004X0aAAE</className>
<extractorType>APEX</extractorType>
<developerName>DevName1</developerName>
<masterLabel>DevName</masterLabel>
<featureInputType>Realtime_Input</featureInputType>
<inputContext>"{columnNames=[column1, column2], rawData=[S,
315090]}"</inputContext>
<batchInputSourceIdentifier>DatasetName</batchInputSourceIdentifier>
</defaultFeatureExtractor>
<developerName>DevName1</developerName>
<masterLabel>DevName</masterLabel>
<predictionDefinition>PredictionDefinitionD</predictionDefinition>
<predictionPlatform>Einstein_Discovery</predictionPlatform>
<arePredctGenInRealTime>true</arePredctGenInRealTime>
</aiUsecaseModels>
<aiUsecaseModels>
<developerName>DevName2</developerName>
<masterLabel>DevName</masterLabel>
<predictionDefinition>PredictionDefinitionBA</predictionDefinition>
<predictionPlatform>Einstein_Discovery</predictionPlatform>
267
AIUsecaseDefinitionMetadata Types
<arePredctGenInRealTime>true</arePredctGenInRealTime>
</aiUsecaseModels>
<aiUsecaseModels>
<developerName>DevName3</developerName>
<masterLabel>DevName</masterLabel>
<predictionDefinition>PredictionDefinitionCA</predictionDefinition>
<predictionPlatform>Einstein_Discovery</predictionPlatform>
<arePredctGenInRealTime>true</arePredctGenInRealTime>
</aiUsecaseModels>
<masterLabel>DevName</masterLabel>
<maximumInsightCount>3</maximumInsightCount>
<maximumSuggestionCount>3</maximumSuggestionCount>
<maximumRecommendationCount>3</maximumRecommendationCount>
<primaryResponseObject>Lead</primaryResponseObject>
<secondaryResponseObject>Account</secondaryResponseObject>
<recommendationResponseObject>Contact</recommendationResponseObject>
<shouldSaveFeatures>true</shouldSaveFeatures>
<shouldSaveInsights>true</shouldSaveInsights>
<shouldSaveRecommendation>false</shouldSaveRecommendation>
<shouldSaveRequestResponse>false</shouldSaveRequestResponse>
<shouldSaveScore>true</shouldSaveScore>
<shouldSaveSuggestions>true</shouldSaveSuggestions>
<suggestionImpactMinimumPct>50</suggestionImpactMinimumPct>
<usecaseName>FTestSampleMLUsecase</usecaseName>
<recommendationSource>Next_Best_Action_Flow</recommendationSource>
<creatorType>INTERNAL_USER</creatorType>
</AIUsecaseDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>*AIUsecaseDefinition*</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AnalyticSnapshot
Represents a reporting snapshot. A reporting snapshot lets you report on historical data. Authorized users can save tabular or summary
report results to fields on a custom object, then map those fields to corresponding fields on a target object. They can then schedule
when to run the report to load the custom object's fields with the report's data. Reporting snapshots enable you to work with report
data similarly to how you work with other records in Salesforce.
268
AnalyticSnapshotMetadata Types
Declarative Metadata File Suffix and Directory Location
Lightning Platform AnalyticSnapshot components are stored in the analyticSnapshots directory of the corresponding package
directory. The file name matches the unique name of the reporting snapshot, and the extension is .snapshot.
Version
Lightning Platform AnalyticSnapshot components are available in API version 16.0 and later.
Fields
DescriptionField TypeField
A description of the reporting snapshot.stringdescription
The reporting snapshot name used for API access. The name
can only contain characters, letters, and the underscore (_)
stringfullName
character. It must start with a letter and cant end with an
underscore or contain two consecutive underscore characters.
This field is inherited from the Metadata component.
A column that specifies which level to extract data from the
source report. Its only applicable for summary reports.
stringgroupColumn
A list of reporting snapshot mappings. For valid values, see
AnalyticSnapshotMapping.
AnalyticSnapshotMapping[]mappings
Required. The display name of the reporting snapshot.stringname
The username of the user whose role and sharing settings are
used to run the reporting snapshot.
stringrunningUser
Required. The report where data is extracted from.stringsourceReport
Required. The custom object where data is inserted.stringtargetObject
AnalyticSnapshotMapping
AnalyticSnapshotMapping defines the mapping for the reporting snapshot. Valid values are:
DescriptionField TypeField
List that defines if and how each report field is summarized. For valid
values, see ReportSummaryType.
ReportSummaryType[]
(enumeration of type string)
aggregateType
The sourceField can be one of the following:stringsourceField
The field on the sourceReport that you want to map to the targetField
in the targetObject
A summary of a filed on the sourceReport (for Summary reports only)
269
AnalyticSnapshotMetadata Types
DescriptionField TypeField
A field on the reporting snapshot, such as JobName, RunningUser, or
ExecutionTime (set through the user interface)
Note: The sourceField must correspond to the sourceType you specify.
List that defines the report format for the reporting snapshot. For valid
values, see ReportJobSourceTypes.
ReportJobSourceTypes[]
(enumeration of type string)
sourceType
A field on the targetObject into which this particular sourceField is inserted.stringtargetField
ReportJobSourceTypes
An enumeration of type string that defines the report format for the reporting snapshot. Valid values are:
DescriptionEnumeration Value
Use this option if the sourceField contains snapshot-specific information such as JobName,
RunningUser, or ExecutionTime.
snapshot
Use this option if referencing a summary (Sum, Average, Minimum, Maximum) of a field from
the sourceReport.
summary
Use this option if referencing an available column from the sourceReport.tabular
Declarative Metadata Sample Definition
Heres a sample XML definition of a reporting snapshot.
<?xml version="1.0" encoding="UTF-8"?>
<AnalyticSnapshot xmlns="http://soap.sforce.com/2006/04/metadata">
<description>my description</description>
<groupColumn>INDUSTRY</groupColumn>
<mappings>
<aggregateType>Average</aggregateType>
<sourceField>SALES</sourceField>
<sourceType>summary</sourceType>
<targetField> myObject __c.Name</targetField>
</mappings>
<mappings>
<sourceField>ExecutionTime</sourceField>
<sourceType>snapshot</sourceType>
<targetField> myObject __c.field3__c</targetField>
</mappings>
<mappings>
<sourceField>INDUSTRY</sourceField>
<sourceType>tabular</sourceType>
<targetField>testObject__c.Name</targetField>
</mappings>
<name>my snapshot</name >
<runningUser>[email protected]</runningUser>
270
AnalyticSnapshotMetadata Types
<sourceReport>myFolder/mytSummaryReport</sourceReport>
<targetObject>myObject__c</targetObject>
</AnalyticSnapshot>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Report
AnimationRule
Represents criteria for determining when an animation is displayed to Path users.This type extends the Metadata metadata type and
inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
AnimationRule components have the suffix animationRule and are stored in the animationRules folder.
Version
AnimationRule components are available in API version 46.0 and later.
Fields
DescriptionField TypeField Name
Required. The frequency with which an animation is displayed when a
user selects the designated picklist values in a path. Valid values are:
picklistanimationFrequency
always
often
sometimes
rarely
A value of always triggers an animation every time. The values
often, sometimes, and rarely trigger an animation progressively
less frequently.
271
AnimationRuleMetadata Types
DescriptionField TypeField Name
Required. The developer name for the animation rule.stringdeveloperName
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this
field.
Required. Indicates whether the animation rule is active (true) or not
(false).
booleanisActive
Required. The label for the animation rule.stringmasterLabel
Required. An enum to track whether this AnimationRule applies to all
record types for the associated sObject, or only to a single or main record
type. Valid values are All, Master, or Custom.
picklistrecordTypeContext
The record type selected for the sObject in which the animation is
displayed.
referencerecordTypeName
The object on which the animation rule is run.stringsobjectType
Required. Name of the field used to determine when to display an
animation.
stringtargetField
Required. Values used to determine when to display an animation. When
a user selects a value in targetField that matches a value stored
in targetFieldChangeToValues, the animation is displayed.
stringtargetFieldChangeToValues
Declarative Metadata Sample Definition
The following is an example of an AnimationRule component.
<?xml version="1.0" encoding="UTF-8"?>
<AnimationRule xmlns="http://soap.sforce.com/2006/04/metadata">
<animationFrequency>Always</animationFrequency>
<developerName>AnimationRule_DeveloperName</developerName>
<isActive>true</isActive>
<masterLabel>AnimationRule Label</masterLabel>
<recordTypeContext>All</recordTypeContext>
<recordTypeName>__MASTER__</recordTypeName>
<sobjectType>Opportunity</sobjectType>
<targetField>StageName</targetField>
<targetFieldChangeToValues>Delivered, Negotiating, Closed Won</targetFieldChangeToValues>
</AnimationRule>
The following is an example package.xml that references the AnimationRule component.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PathAssistant</members>
<name>Settings</name>
</types>
272
AnimationRuleMetadata Types
<types>
<members>AnimationRule_Developer_Name</members>
<name>AnimationRule</name>
</types>
<version>46.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ArticleType
Represents the metadata associated with an article type.
All articles in Salesforce Knowledge are assigned to an article type. An article's type determines the type of content it contains, its
appearance, and which users can access it. For example, a simple FAQ article type can have two custom fields, Question and Answer,
where article managers enter data when creating or updating FAQ articles. A more complex article type can have dozens of fields
organized into several sections. Using layouts and templates, administrators can structure the article type in the most effective way for
its particular content. User access to article types is controlled by permissions. For each article type, an administrator can grant Create,
Read, Edit, or Delete permissions to users. For example, the article manager can allow internal users to read, create, and edit FAQ
article types, but let partner users only read FAQs. See Knowledge Article Types in the Salesforce online help and Knowledge in the
SOAP API Developer Guide.
Declarative Metadata File Suffix and Directory Location
An ArticleType is defined as a custom object and is stored in the objects folder. ArticleTypes have a suffix __kav (instead of __c
for custom objects). ArticleType field names have a suffix of __c like other custom objects, and must be dot-qualified with the name
of the article type to which they belong. This is shown in the following sample package.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>articlefilemetadata</fullName>
<apiAccessLevel>Unrestricted</apiAccessLevel>
<types>
<members>newarticle__kav.description__c</members>
<name>CustomField</name>
</types>
<types>
<members>newarticle__kav</members>
<name>CustomObject</name>
</types>
</Package>
Version
ArticleTypes are available in API version 19.0 and later.
273
ArticleTypeMetadata Types
Fields
DescriptionField TypeField Name
Represents the article-type templates used to display an article in the
various channels. See Article Type Templates in the Salesforce online
help.
articleTypeChannelDisplayarticleTypeChannel
Display
A string which represents the deployment status of a custom object or
field. Valid values are:
DeploymentStatus
(enumeration of type string)
deploymentStatus
InDevelopment
Deployed
A description of the article type. Maximum of 1000 characters.stringdescription
Represents one or more fields in the article type.CustomField[]fields
Indicates the gender of the noun that represents the object. This is used
for languages where words need different treatment depending on their
gender.
Gendergender
Label that represents the object throughout the Salesforce user interface.stringlabel
Plural version of the label value.stringpluralLabel
Indicates whether the noun starts with a vowel, consonant, or is a special
character. This is used for languages where words need different treatment
depending on the first character. Valid values are listed in StartsWith.
StartsWith (enumeration of
type string)
startsWith
ArticleTypeChannelDisplay
Determines the article-type templates that are used to display an article in its channels. Unless otherwise noted, all fields are createable,
filterable, and nillable.
DescriptionField TypeField Name
Indicates which article-type template applies in the specified channel.ArticleTypeTemplate on page
274[]
articleTypeTemplates
ArticleTypeTemplate
Sets the article-type template for a specific channel. If not specified, the default article-type template applies.
DescriptionField TypeField Name
Specifies the channel where the article-type template applies:stringchannel
AllChannels: all the available channels.
App: the Articles tab in Salesforce Knowledge.
Pkb: the public knowledge base.
274
ArticleTypeMetadata Types
DescriptionField TypeField Name
Csp: the Customer Portal.
Prm: the partner portal.
Represents the name of the custom Visualforce page used as a custom
article-type template. Use this field when you select Page in the
template field.
stringpage
Indicates the article-type template used for the specified channel:stringtemplate
Page: custom Visualforce page. When specifying this value, you
must also set the page field with the Visualforce page name.
Tab: display the sections you defined in the layout as tabs.
Toc: display the sections you defined in the layout as table of content.
Declarative Metadata Sample Definitions
A sample article type definition follows:
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<articleTypeChannelDisplay>
<articleTypeTemplates>
<channel>App</channel>
<template>Tab</template>
</articleTypeTemplates>
<articleTypeTemplates>
<channel>Prm</channel>
<template>Tab</template>
</articleTypeTemplates>
<articleTypeTemplates>
<channel>Csp</channel>
<template>Tab</template>
</articleTypeTemplates>
<articleTypeTemplates>
<channel>Pkb</channel>
<template>Toc</template>
</articleTypeTemplates>
</articleTypeChannelDisplay>
<deploymentStatus>Deployed</deploymentStatus>
<description>Article type with custom fields</description>
<fields>
<fullName>description__c</fullName>
<label>Description</label>
<length>48</length>
<type>Text</type>
</fields>
<label>newarticle</label>
<pluralLabel>newarticles</pluralLabel>
</CustomObject>
275
ArticleTypeMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ArticleType Layout
Represents the metadata associated with an article type page layout. Article type layouts determine which fields users can view and
edit when entering data for an article. Article type layouts also determine which sections appear when users view articles.
ChannelLayout
Represents the metadata associated with a communication channel layout. Communication channel layouts let admins share article
content inline into communication channels (for example, in email publishers, Experience Builder sites, or social media publishers).
Admins can create a list of fields for an article type or record type that they want to share for each communication channel. You can
customize the order of the fields.
ArticleType CustomField
Represents the metadata associated with an article type custom field. Use this metadata type to create, update, or delete article type
custom field definitions.
SEE ALSO:
ArticleType Layout
ArticleType CustomField
ArticleType Layout
Represents the metadata associated with an article type page layout. Article type layouts determine which fields users can view and edit
when entering data for an article. Article type layouts also determine which sections appear when users view articles.
The format of the article, for example whether layout sections display as subtabs or as a single page with links, is defined by the article-type
template. Each article type has only one layout, but you can choose a different template for each of the article type's four channels. See
Knowledge in SOAP API Developer Guide.
File Suffix and Directory Location
ArticleType layouts are stored in the layouts directory of the corresponding package directory. The prefix must match with the article
type API name. The extension is .layout.
Version
ArticleType layouts are available in API version 19.0 and later.
Fields
DescriptionField TypeField Name
The main sections of the layout containing the article fields. The
order here determines the layout order.
LayoutSection[]layoutSections
276
ArticleType LayoutMetadata Types
LayoutSection
LayoutSection represents a section of an ArticleType layout.
DescriptionField TypeField Name
Indicates if this section's label is custom or standard (built-in). Custom
labels can be any text, but must be translated. Standard labels have a
booleancustomLabel
predefined set of valid values, for example 'System Information', which
are automatically translated.
The label; either standard or custom, based on the customLabel
flag.
stringlabel
The columns of the layout, depending on the style. Salesforce Knowledge
only supports one column in article type layouts.
LayoutColumn[]layoutColumns
The style of the layout. Salesforce Knowledge only supports the value
OneColumn, which displays a one-column page.
LayoutSectionStyle
(enumeration of type
string)
style
LayoutColumn
LayoutColumn represents the items in a column within a layout section.
DescriptionField TypeField Name
The individual items within a column (ordered from top to bottom).LayoutItem[]layoutItems
LayoutItem
LayoutItem represents the valid values that define a layout item.
DescriptionField TypeField Name
The field name reference, for example MyField__c.stringfield
Declarative Metadata Sample Definition
The following is the definition of an ArticleType page layout:
<?xml version="1.0" encoding="UTF-8"?>
<Layout xmlns="http://soap.sforce.com/2006/04/metadata">
<layoutSections>
<customLabel>true</customLabel>
<label>Description</label>
<layoutColumns>
<layoutItems>
<field>description__c</field>
</layoutItems>
<layoutItems>
277
ArticleType LayoutMetadata Types
<field>dateTime__c</field>
</layoutItems>
</layoutColumns>
<style>OneColumn</style>
</layoutSections>
<layoutSections>
<label>Data Sheet</label>
<layoutColumns>
<layoutItems>
<field>file__c</field>
</layoutItems>
</layoutColumns>
<style>OneColumn</style>
</layoutSections>
</Layout>
SEE ALSO:
ArticleType
ArticleType CustomField
ChannelLayout
Represents the metadata associated with a communication channel layout. Communication channel layouts let admins share article
content inline into communication channels (for example, in email publishers, Experience Builder sites, or social media publishers).
Admins can create a list of fields for an article type or record type that they want to share for each communication channel. You can
customize the order of the fields.
File Suffix and Directory Location
Channel layout components have the suffix .channelLayout and are stored in the channelLayouts folder of the
corresponding package directory. The prefix must match with the article type API name. In Lightning Knowledge, the prefix must match
the API name for the knowledge object.
Version
Channel layout components are available in API version 32.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether field labels are excluded from the field contents in
the communication channels where this layout applies (true) or not
booleandoesExcludeFieldLabels
(false). The default is false, meaning field labels are inserted.
Available when Lightning Knowledge is enabled in API version 48.0 and
later.
Indicates whether related files are left off emails (true) or attached to
emails (false). The default is false, meaning related files are
booleandoesExcludeFiles
278
ChannelLayoutMetadata Types
DescriptionField TypeField Name
attached. Available when Lightning Knowledge is enabled in API version
48.0 and later.
The communication channels where this layout applies. In API version
32.0 to 46.0, the only valid value is Email. When Lightning Knowledge
string[]enabledChannels
is enabled in API version 47.0 and later, Chat, Messaging, and
Social are added valid values.
Required. The label for this configuration.stringlabel
The article fields contained in the layout. The order here determines the
field order.
ChannelLayoutItem
on page 279[]
layoutItems
The name of the record type that the channel layout applies to. The
default is the primary record type. Available in API version 41.0 and later.
stringrecordType
ChannelLayoutItem
DescriptionField TypeField Name
Required. Name of the field. The format is ArticleTypeName.FieldName
or, in Lightning Knowledge, KnowledgeBaseName.FieldName.
stringfield
Declarative Metadata Sample Definition
The following is an example of a ChannelLayout component.
<?xml version="1.0" encoding="UTF-8"?>
<ChannelLayout xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Layout for Email</label>
<layoutItems>
<field>Knowledge.Question</field>
</layoutItems>
<layoutItems>
<field>Knowledge.Answer</field>
</layoutItems>
<enabledChannels>Email</enabledChannels>
<enabledChannels>Social</enabledChannels>
<enabledChannels>Chat</enabledChannels>
<doesExcludeFiles>false</doesExcludeFiles>
<doesExcludeFieldLabels>true</doesExcludeFieldLabels>
</ChannelLayout>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ChannelLayout</name>
279
ChannelLayoutMetadata Types
</types>
<version>41.0</version>
</Package>
ArticleType CustomField
Represents the metadata associated with an article type custom field. Use this metadata type to create, update, or delete article type
custom field definitions.
This type extends the Metadata metadata type and inherits its fullName field.
Always specify the full name whenever you create or update a custom field. For example, a custom field on a custom object:
MyArticleType__kav.MyCustomField__c
Declarative Metadata File Suffix and Directory Location
Custom fields are defined as part of the article type. ArticleType field names have a suffix of __c like other custom objects, and must
be dot-qualified with the name of the article type to which they belong. See ArticleType for more information.
Retrieving Custom Fields on Custom or Standard Objects
When you retrieve a custom or standard object, you return everything associated with the object. However, you can also retrieve only
the custom fields for an object by explicitly naming the object and fields in package.xml. The following definition in package.xml
retrieves the files objects/MyCustomObject__c.object, objects/Account.object__c.object, and
objects/MyArticleType__kav.object, each containing one custom field definition.
<types>
<members>MyCustomObject__c.MyCustomField__c</members>
<members>Account.MyCustomAccountField__c</members>
<members>MyArticleType__kav.MyOtherCustomField__c</members>
<name>CustomField</name>
</types>
Version
ArticleTypes custom fields are available in API version 19.0 and later.
Fields for ArticleType
Unless otherwise noted, all fields are createable, filterable, and nillable.
Note: If you create a knowledge validation rule, the errors always display at the top of the page, even if you add it beside the
field. Therefore, write the errors descriptively so authors know how to satisfy the validation rule. For example, identify which field
is causing the error. The Salesforce Classic user interface does not support field level error messages for articles.
280
ArticleType CustomFieldMetadata Types
DescriptionField TypeField Name
If specified, represents the default value of the field. This field
was deprecated in API version 48.0.
stringdefaultValue
Provides deletion options for lookup relationships. Valid values
are:
Metadata Field Types
(enumeration of type
string)
deleteConstraint
CascadeDeletes the lookup record as well as
associated lookup fields.
RestrictPrevents the record from being deleted if
it's in a lookup relationship.
SetNullThis is the default. If the lookup record is
deleted, the lookup field is cleared.
For more information on lookup relationships, see "Object
Relationships" in Salesforce Help.
Description of the field.stringdescription
If specified, represents a formula on the field.stringformula
Indicates how to treat blanks in a formula. Valid values are:
BlankAsBlank and BlankAsZero.
Metadata Field Types
(enumeration of type
string)
formulaTreatBlankAs
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating,
stringfullName
updating, or deleting. See createMetadata() to see an
example of this field specified for a call.
This value cannot be null.
Represents the content of field-level help. For more information,
see "Define Field-Level Help" in Salesforce Help.
stringinlineHelpText
Label for the field. You cannot update the label for standard
fields in Article Type such as Title, UrlName, Summary, etc.
stringlabel
Length of the field.intlength
(Deprecated. Use this field in API version 37.0 and earlier only.
In later versions, use valueSet instead.) If specified, the field
Picklist (Including
Dependent Picklist)
picklist
is a picklist, and this field enumerates the picklist values and
labels.
If specified, indicates a reference this field has to another object.stringreferenceTo
Label for the relationship.stringrelationshipLabel
If specified, indicates the value for one-to-many relationships.
For example, in the object MyObject that had a relationship to
YourObject, the relationship name might be YourObjects.
stringrelationshipName
Indicates whether the field requires a value on creation (true)
or not (false).
booleanrequired
281
ArticleType CustomFieldMetadata Types
DescriptionField TypeField Name
Required. Indicates the field type for the field. Valid values are:FieldTypetype
Checkbox available in version 30.0 and later
Currency
ArticleCurrency
Date
DateTime
Email
File
Formula
Html
Lookup
Number
Percent
Phone
Picklist
DependentPicklist
MultiselectPicklist
Text
TextArea
LongTextArea
URL
Indicates the number of lines displayed for the field.intvisibleLines
Declarative Metadata Sample Definition
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fields>
<fullName>Comments__c</fullName>
<description>add your comments about this object here</description>
<label>Comments</label>
<length>32000</length>
<type>LongTextArea</type>
<visibleLines>30</visibleLines>
</fields>
</CustomObject>
SEE ALSO:
ArticleType
ArticleType Layout
282
ArticleType CustomFieldMetadata Types
ApexClass
Represents an Apex class. An Apex class is a template or blueprint from which Apex objects are created. Classes consist of other classes,
user-defined methods, variables, exception types, and static initialization code.
For more information, see the Lightning Platform Apex Code Developer's Guide. This type extends the MetadataWithContent metadata
type and inherits its content and fullName fields.
Note: By default, you cant deploy updates to an Apex class if there are one or more active jobs for that class. To deploy updates
in this case, do one of the following.
Cancel Apex jobs before deploying changes to Apex code. Reschedule the jobs after the deployment.
Enable deployments with Apex jobs in the Salesforce user interface in the Deployment Settings page.
Supported Calls
All Metadata API calls except CRUD-Based Calls, which prevents deployment outside of proper deployment lifecycle and test-execution
constraints.
Declarative Metadata File Suffix and Directory Location
The file suffix is .cls for the class file. The accompanying metadata file is named ClassName-meta.xml.
Apex classes are stored in the classes folder in the corresponding package directory.
Version
Apex classes are available in API version 10.0 and later.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
The API version for this class. Every class has an API version specified at creation.
doubleapiVersion
The Apex class definition. Base 64-encoded binary data. Before making an API
call, client applications must encode the binary attachment data as base64. Upon
base64content
receiving a response, client applications must decode the base64 data to binary.
This conversion is handled for you by a SOAP client. This field is inherited from
the MetadataWithContent component.
The Apex class name. The name can only contain characters, letters, and the
underscore (_) character, must start with a letter, and cant end with an
stringfullName
underscore or contain two consecutive underscore characters. This field is
inherited from the Metadata component.
283
ApexClassMetadata Types
DescriptionField TypeField Name
The list of installed managed package versions that are referenced by this Apex
class.
For more information about managed packages, see Second-Generation
Managed Packages in the Salesforce DX Developer Guide. This field is available in
API version 16.0 and later.
PackageVersion[]packageVersions
The status of the Apex class. The following string values are valid:
ApexCodeUnitStatus
(enumeration of type string)
status
Active - The class is active.
Deleted - The class is marked for deletion. This value is useful for managed
packages, because it allows a class to be deleted when a managed package
is updated.
ApexCodeUnitStatus includes an Inactive option, but its only supported
for ApexTrigger; it isnt supported for ApexClass.
PackageVersion
PackageVersion identifies a version of a managed package. A package version is a number that identifies the set of components included
in a package. The version number has the format majorNumber.minorNumber.patchNumber (for example, 2.1.3). The major
and minor numbers increase to a chosen value during every major release. The patchNumber is generated and updated only for a
patch release. Its available in API version 16.0 and later.
DescriptionField TypeField Name
Required. In a packaging context, a namespace prefix is a one to 15-character
alphanumeric identifier that distinguishes your package and its contents from
stringnamespace
packages of other developers on AppExchange. Namespace prefixes are
case-insensitive. For example, ABC and abc arent recognized as unique. Your
namespace prefix must be globally unique across all Salesforce orgs.
Salesforce automatically prepends your namespace prefix, followed by two
underscores (__), to all unique component names in your Salesforce
organization. A unique package component is one that requires a name that no
other component has within Salesforce, such as custom objects, custom fields,
custom links, s-controls, and validation rules. For more information about
namespaces, see Create and Register Your Namespace in the Second-Generation
Managed Packaging Developer Guide.
Required. The major number of the package version. A package version number
has a majorNumber.minorNumber format.
intmajorNumber
Required. The minor number of the package version. A package version number
has a majorNumber.minorNumber format.
intminorNumber
284
ApexClassMetadata Types
Declarative Metadata Sample Definition
The following sample creates the MyhelloWorld.cls class, and the corresponding MyHelloWorld.cls-meta.xml
metadata file.
MyHelloWorld.cls file:
public class MyHelloWorld {
// This method updates the Hello field on a list
// of accounts.
public static void addHelloWorld(Account[] accs){
for (Account a:accs){
if (a.Hello__c != 'World')
a.Hello__c = 'World';
}
}
}
MyHelloWorld.cls-meta.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>61.0</apiVersion>
</ApexClass>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ApexTrigger
ApexComponent
Represents a Visualforce component.
For more information, see Visualforce in Salesforce Help and StaticResource: MetadataWithContent on page 1945
Declarative Metadata File Suffix and Directory Location
The file suffix is .component for the page file. The accompanying metadata file is named ComponentName-meta.xml.
Visualforce components are stored in the components folder in the corresponding package directory.
Version
Visualforce components are available in API version 12.0 and later.
285
ApexComponentMetadata Types
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
The API version for this Visualforce component. Every component has an API
version specified at creation. This field is available in API version 16.0 and later.
doubleapiVersion
The component content. Base 64-encoded binary data. Before making an API
call, client applications must encode the binary attachment data as base64. Upon
base64Binarycontent
receiving a response, client applications must decode the base64 data to binary.
This conversion is handled for you by a SOAP client. This field is inherited from
the MetadataWithContent component.
A description of what the component does.stringdescription
The component developer name used as a unique identifier for API access. The
fullName can contain only underscores and alphanumeric characters. It must
stringfullName
be unique, begin with a letter, not include spaces, not end with an underscore,
and not contain two consecutive underscores. This field is inherited from the
Metadata component.
Required. The label for this component.stringlabel
The list of installed managed package versions that are referenced by this
Visualforce component.
Package components and Visualforce custom component are distinct concepts.
A package is comprised of many elements, such as custom objects, Apex classes
and triggers, and custom pages and components.
PackageVersion[]packageVersions
For more information about managed packages, see Second-Generation
Managed Packages in the Salesforce DX Developer Guide. This field is available in
API version 16.0 and later.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ApexPage
ApexEmailNotifications
The ApexEmailNotifications type allows you to define users and email addresses that receive email for unhandled Apex errors. Flow
errors can also use this metadata type.
286
ApexEmailNotificationsMetadata Types
Declarative Metadata File Suffix and Directory Location
The component filename is apexEmailNotifications.notifications. The Apex email notification file is stored in the
apexEmailNotifications folder in the corresponding package directory.
Version
ApexEmailNotifications components are available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
A specific Apex email notification. You can specify multiple notifications.ApexEmailNotificationapexEmailNotification
ApexEmailNotification
Represents an Apex email notification.
Note: Each ApexEmailNotification can contain an email or a user but not both.
DescriptionField TypeField Name
The external email address to which the notification is sent. Mutually exclusive
with the user field.
stringemail
The username of the Salesforce user to be notified. Mutually exclusive with the
email field.
stringuser
Usage
Deploying ApexEmailNotifications deletes all previous notifications in the org. For example, consider two notifications, [email protected]
and [email protected], that are deployed in an org. When the following apexEmailNotifications.notifications is
deployed, [email protected] is deleted, because it's not in the deployed list.
<?xml version="1.0" encoding="UTF-8"?>
<ApexEmailNotifications xmlns="http://soap.sforce.com/2006/04/metadata">
<apexEmailNotification>
<email>[email protected]</email>
</apexEmailNotification>
</ApexEmailNotifications>
Note: The ApexEmailNotifications metadata type isn't supported in destructiveChanges.xml. To delete specific
ApexEmailNotification items, deploy a new ApexEmailNotifications without those items. To delete all Apex email notifications in
an org, deploy an empty list of ApexEmailNotifications.
287
ApexEmailNotificationsMetadata Types
Declarative Metadata Sample Definition
To deploy Apex email notifications, you can specify either the exact file name or use a wildcard in package.xml.
This example specifies the exact file name in package.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>apexEmailNotifications</members>
<name>ApexEmailNotifications</name>
</types>
<version>49.0</version>
</Package>
This example uses a wildcard in package.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexEmailNotifications</name>
</types>
<version>49.0</version>
</Package>
This sample deploys an Apex email notification that notifies a Salesforce user in the org.
<?xml version="1.0" encoding="UTF-8"?>
<ApexEmailNotifications xmlns="http://soap.sforce.com/2006/04/metadata">
<apexEmailNotification>
<user>[email protected]</user>
</apexEmailNotification>
</ApexEmailNotifications>
This sample deploys an Apex email notification that notifies an external email address.
<?xml version="1.0" encoding="UTF-8"?>
<ApexEmailNotifications xmlns="http://soap.sforce.com/2006/04/metadata">
<apexEmailNotification>
<email>[email protected]</email>
</apexEmailNotification>
</ApexEmailNotifications>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ApexPage
Represents a Visualforce page.
For more information, see Visualforce in Salesforce Help. This type extends the MetadataWithContent metadata type and inherits its
content and fullName fields.
288
ApexPageMetadata Types
Declarative Metadata File Suffix and Directory Location
The file suffix is .page for the page file. The accompanying metadata file is named PageName-meta.xml.
Visualforce pages are stored in the pages folder in the corresponding package directory.
Version
Visualforce pages are available in API version 11.0 and later.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Required. The API version for this page. Every page has an API version
specified at creation. This field is available in API version 15.0 and later.
If you set this field to a number lower than 15.0, its changed to 15.0.
doubleapiVersion
The page content. Base 64-encoded binary data. Before making an
API call, client applications must encode the binary attachment data
base64Binarycontent
as base64. Upon receiving a response, client applications must decode
the base64 data to binary. This conversion is handled for you by a
SOAP client. This field is inherited from the MetadataWithContent
component.
A description of what the page does.stringdescription
The page developer name used as a unique identifier for API access.
The fullName can contain only underscores and alphanumeric
stringfullName
characters. It must be unique, begin with a letter, not include spaces,
not end with an underscore, and not contain two consecutive
underscores. This field is inherited from the Metadata component.
Indicates if Visualforce tabs associated with the Visualforce page can
be used in the Salesforce mobile app. (Use of this field for Salesforce
booleanavailableInTouch
Touch is deprecated.). This field is available in API version 27.0 and
later.
Standard object tabs that are overridden with a Visualforce page arent
supported in the Salesforce mobile app, even if you set this field for
the page. The default page for the object is displayed instead of the
Visualforce page.
Indicates whether GET requests for the page require a CSRF
confirmation token. This field is available in API version 28.0 and later.
If you change this fields value from false to true, links to the
page require a CSRF token to be added to them, or the page is
inaccessible.
booleanconfirmationTokenRequired
Required. The label for this page.stringlabel
289
ApexPageMetadata Types
DescriptionField TypeField Name
The list of installed managed package versions that are referenced by
this Visualforce page.
For more information about managed packages, see
Second-Generation Managed Packages in the Salesforce DX Developer
Guide. This field is available in API version 16.0 and later.
PackageVersion[]packageVersions
Declarative Metadata Sample Definition
The following sample creates the MyPage.page page, and the corresponding MyPage.page-meta.xml metadata file.
SampleApexPage.page file:
<apex:page>
<h1>Congratulations</h1>
This is your new Page.
</apex:page>
SampleApexPage.page-meta.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ApexPage xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is a sample Visualforce page.</description>
<label>SampleApexPage</label>
</ApexPage>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ApexComponent
ApexTestSuite
Represents a suite of Apex test classes to include in a test run.
File Suffix and Directory Location
ApexTestSuite components have the suffix .testSuite and are stored in the testSuites folder.
Version
ApexTestSuite components are available in API version 38.0 and later.
290
ApexTestSuiteMetadata Types
Fields
DescriptionField TypeField Name
A list of Apex test classes, specified by name, to include in this
test suite.
string[]testClassName
Declarative Metadata Sample Definition
To include namespaced tests in an Apex test suite, specify each namespace individually. Local Apex tests consist of all tests in the org
that dont originate from managed packages.
<?xml version="1.0" encoding="UTF-8"?>
<ApexTestSuite xmlns="http://soap.sforce.com/2006/04/metadata">
<testClassName>LocalTestClass</testClassName>
<!-- LocalTestClass adds the test class named LocalTestClass. -->
<testClassName>A*Class</testClassName>
<!-- A*Class adds AClass, AnotherClass, AwesomeClass, and so on. -->
<testClassName>Namespace1.NamespacedTestClass</testClassName>
<testClassName>*</testClassName> <!-- Adds all local tests. -->
<testClassName>Namespace1.*</testClassName> <!-- Adds all tests in Namespace1. -->
<testClassName>Namespace2.*</testClassName> <!-- Adds all tests in Namespace2. -->
</ApexTestSuite>
These syntaxes are supported in package.xml. If the test classes in your suites are already present in the target org, you can omit
the ApexClass type in package.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>*</members>
<name>ApexTestSuite</name>
</types>
<version>38.0</version>
</Package>
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>Suite1</members>
<members>Suite2</members>
<name>ApexTestSuite</name>
</types>
291
ApexTestSuiteMetadata Types
<version>38.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ApexTrigger
Represents an Apex trigger. A trigger is Apex code that executes before or after specific data manipulation language (DML) events occur,
such as before object records are inserted into the database, or after records have been deleted.
For more information, see Manage Apex Triggers in Salesforce Help. This type extends the MetadataWithContent metadata type and
inherits its content and fullName fields.
Supported Calls
All Metadata API calls except CRUD-Based Calls, which prevents deployment outside of proper deployment lifecycle and test-execution
constraints.
Declarative Metadata File Suffix and Directory Location
The file suffix is .trigger for the trigger file. The accompanying metadata file is named TriggerName-meta.xml.
Apex triggers are stored in the triggers folder in the corresponding package directory.
Version
Triggers are available in API version 10.0 and later.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Required. The API version for this trigger. Every trigger has an API version specified
at creation.
doubleapiVersion
The Apex trigger definition. This field is inherited from the MetadataWithContent
component.
base64content
The Apex trigger name. The name can only contain characters, letters, and the
underscore (_) character, must start with a letter, and cant end with an
stringfullName
underscore or contain two consecutive underscore characters. This field is
inherited from the Metadata component.
292
ApexTriggerMetadata Types
DescriptionField TypeField Name
The list of installed managed package versions that are referenced by this Apex
trigger.
For more information about managed packages, see the Second-Generation
Managed Packaging Developer Guide. This field is available in API version 16.0
and later.
PackageVersion[]packageVersions
Required. The status of the Apex trigger. The following string values are valid:ApexCodeUnitStatus
(enumeration of type string)
status
Active - The trigger is active.
Inactive - The trigger is inactive, but not deleted.
Deleted - The trigger is marked for deletion. Useful for managed packages,
because it allows a trigger to be deleted when a managed package is
updated.
Declarative Metadata Sample Definition
The following sample creates the MyhelloWorld.trigger trigger, and the corresponding
MyHelloWorld.trigger-meta.xml metadata file.
MyHelloWorld.trigger file:
trigger helloWorldAccountTrigger on Account (before insert) {
Account[] accs = Trigger.new;
MyHelloWorld.addHelloWorld(accs);
}
MyHelloWorld.trigger-meta.xml:
<?xml version="1.0" encoding="UTF-8"?>
<ApexTrigger xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>61.0</apiVersion>
</ApexTrigger>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ApexClass
AppMenu
Represents the app menu or the Salesforce mobile navigation menu. Reserved for future use.
293
AppMenuMetadata Types
AppointmentAssignmentPolicy
Represents the information about a resource assignment rule. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
AppointmentAssignmentPolicy components have the suffix .policy and are stored in the appointmentSchedulingPolicies
folder.
Version
AppointmentSchedulingPolicy components are available in API version 53.0 and later.
Fields
DescriptionField TypeField Name
Required. The label for the appointment assignment policy.stringmasterLabel
294
AppointmentAssignmentPolicyMetadata Types
DescriptionField TypeField Name
Required. The frequency at which the utilization of service resources is
calculated. Valid values are:
stringpolicyApplicableDuration
Monthly
ParameterBased
Weekly
Required. The type of appointment assignment policy. Valid value is:stringpolicyType
loadBalancing
Required. Specifies the count type for the resource utilization. Valid values
are:
stringutilizationFactor
NumberOfAppointments
TotalAppointmentDuration
Declarative Metadata Sample Definition
The following is an example of an appointmentAssignmentPolicy component.
<?xml version="1.0" encoding="UTF-8"?>
<AppointmentAssignmentPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>loadBalancing Assignment Policy</masterLabel>
<policyType>loadBalancing</policyType>
<policyApplicableDuration>Weekly</policyApplicableDuration>
<utilizationFactor>TotalAppointmentDuration</utilizationFactor>
</AppointmentAssignmentPolicy>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>sample</members>
<name>AppointmentAssignmentPolicy</name>
</types>
<version>53.0</version>
</Package>
295
AppointmentAssignmentPolicyMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AppointmentSchedulingPolicy
Represents a set of rules for scheduling appointments using Lightning Scheduler. This type extends the Metadata metadata type and
inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
AppointmentSchedulingPolicy components have the suffix .policy and are stored in the appointmentSchedulingPolicies
folder.
Version
AppointmentSchedulingPolicy components are available in API version 47.0 and later.
Special Access Rules
You must have the ViewSetup and CustomizeApplication user permissions to access the AppointmentSchedulingPolicy type.
Fields
DescriptionField TypeField Name
The name of the appointment assignment policy. This field is available
in API version 53.0 and later.
stringappointmentAssignmentPolicy
Required. The proposed time interval in minutes between appointment
start times. For example, if you set the interval to 15, appointments can
picklistappointmentStartTimeInterval
then begin at the top of the hour and at 15-minute intervals thereafter
(10:00 AM, 10:15 AM, 10:30 AM, and so on). Valid values are:
5
10
15
20
30
45
60
90
296
AppointmentSchedulingPolicyMetadata Types
DescriptionField TypeField Name
120
150
180
240
300
360
420
480
Required. The API name of the custom Apex class that checks service
resources external calendar events and returns the time slots where
lookupextCalEventHandler
service resources are already booked. Available in API version 50.0 and
later.
Required. Indicates whether to consider shifts of service territory
members when determining the availability of service resources for
booleanisSvcTerritoryMemberShiftUsed
appointments (true) or not (false). This field is available in API
version 54.0 and later.
Required. Indicates whether to consider the intersection of shifts and
service territory operating hours when determining the availability of
booleanisSvcTerrOpHoursWithShiftsUsed
service resources for appointments (true) or not (false). This field
is available in API version 54.0 and later.
Required. The label for the appointment scheduling policy.stringmasterLabel
Required. Indicates whether to check the external calendar for resource
availability (true) or not (false). This field is available in API version
53.0 and later.
booleanshouldCheckExternalCalendar
Required. Indicates whether to consider events on the Salesforce calendar
to determine the availability of service resources to be assigned to
appointments (true) or not (false).
booleanshouldConsiderCalendarEvents
Required. Indicates whether this appointment scheduling policy prevents
excluded service resources from being assigned to appointments (true)
or not (false).
booleanshouldEnforceExcludedResource
Required. Indicates whether this appointment scheduling policy allows
only required service resources to be assigned to appointments (true)
or not (false).
booleanshouldEnforceRequiredResource
Required. Indicates whether this appointment scheduling policy allows
only required service resources who have certain skills to be assigned
to appointments (true) or not (false).
booleanshouldMatchSkill
Required. Indicates whether this appointment scheduling policy allows
only required service resources who have certain skills and skill levels to
be assigned to appointments (true) or not (false).
booleanshouldMatchSkillLevel
297
AppointmentSchedulingPolicyMetadata Types
DescriptionField TypeField Name
Required. Indicates whether this appointment scheduling policy prevents
users from scheduling appointments outside of an accounts visiting
hours (true) or not (false).
booleanshouldRespectVisitingHours
Required. Indicates whether this appointment scheduling policy allows
only service resources who are primary members of a service territory
to be assigned to appointments (true) or not (false).
booleanshouldUsePrimaryMembers
Required. Indicates whether this appointment scheduling policy allows
service resources who are secondary members of a service territory to
be assigned to appointments (true) or not (false).
booleanshouldUseSecondaryMembers
Declarative Metadata Sample Definition
The following is an example of an appointmentSchedulingPolicy component.
<?xml version="1.0" encoding="UTF-8"?>
<AppointmentSchedulingPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<appointmentAssignmentPolicy>ResourceAssignmentRule1</appointmentAssignmentPolicy>
<appointmentStartTimeInterval>15</appointmentStartTimeInterval>
<masterLabel>Default Appointment Scheduling Policy</masterLabel>
<shouldCheckExternalCalendar>true</shouldCheckExternalCalendar>
<shouldConsiderCalendarEvents>true</shouldConsiderCalendarEvents>
<shouldEnforceExcludedResource>true</shouldEnforceExcludedResource>
<shouldEnforceRequiredResource>true</shouldEnforceRequiredResource>
<shouldMatchSkill>true</shouldMatchSkill>
<shouldMatchSkillLevel>false</shouldMatchSkillLevel>
<shouldRespectVisitingHours>true</shouldRespectVisitingHours>
<shouldUsePrimaryMembers>true</shouldUsePrimaryMembers>
<shouldUseSecondaryMembers>true</shouldUseSecondaryMembers>
</AppointmentSchedulingPolicy>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>sample</members>
<name>AppointmentSchedulingPolicy</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
298
AppointmentSchedulingPolicyMetadata Types
ApprovalProcess
Represents the metadata associated with an approval process. An approval process automates how records are approved in Salesforce.
An approval process specifies each step of approval, including who to request approval from and what to do at each point of the process.
This type extends the Metadata metadata type and inherits its fullName field.
Note:
To use approval processes on Salesforce Knowledge articles with the Metadata API, the article type must be deployed. For
article version (_kav) in approval processes, the supported action types are: Knowledge Action, Email Alert, Field Update, and
Outbound Message.
Send actions and approval processes for email drafts arent supported in the Metadata API.
The metadata doesnt include the order of active approval processes. Sometimes you have to reorder the approval processes
in the destination org after deployment.
Before you implement an approval process for your organization, see Limits and Considerations for Approvals in Salesforce
Help.
File Suffix and Directory Location
ApprovalProcess components have the suffix .approvalProcess and are stored in the approvalProcesses folder.
Version
ApprovalProcess components are available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
Required. Whether the approval process is active.
After an approval process is activated, you cant add, delete,
or change the order of the steps or change its reject or skip
behavior, even if the process is inactive.
booleanactive
Whether to allow submitters to recall approval requests.
If set to false, only administrators can recall approval
requests.
booleanallowRecall
Required. An array of users who are allowed to submit records
for approval.
ApprovalSubmitter[]allowedSubmitters
Specifies which fields to display on the approval page, where
the approver goes to approve or reject the record. By default,
the approval page displays the following:
ApprovalPageFieldapprovalPageFields
Name field
Owner field (except for child objects)
299
ApprovalProcessMetadata Types
DescriptionField TypeField Name
If you enable notifications in the Salesforce mobile app, keep
in mind that approvers can view this list of fields on a mobile
device. Select only the fields necessary for users to decide
whether to approve or reject records.
An array of approval step definitions.ApprovalStep[]approvalStep
Describes the approval process.stringdescription
Specifies which Classic email template to use for approval
requests. If not specified, the default email template is used.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringemailTemplate
When an approval process assigns an approval request to a
user, Salesforce sends the user an approval request email.
Whether users can access an external version of the approval
page from any browser, including browsers on mobile devices,
booleanenableMobileDeviceAccess
without logging in to Salesforce. Corresponds to Security
Settings in the user interface.
If set to true, approval steps cant have approvers of type
adhoc.
If set to false, approvers must log in to Salesforce to access
the approval page.
Determines which records can enter the approval process.
Exclude this field to allow all records to enter the approval
process.
ApprovalEntryCriteriaentryCriteria
Specifies which workflow actions to execute when all required
approvals have been given for a record.
ApprovalActionfinalApprovalActions
Whether to keep the record locked after it receives all necessary
approvals. Default: false.
booleanfinalApprovalRecordLock
Specifies which workflow actions to execute after a record
enters the final rejection state.
ApprovalActionfinalRejectionActions
Whether to keep the record locked after its finally rejected.
Default: false.
booleanfinalRejectionRecordLock
Specifies which workflow actions to execute when a record is
initially submitted for approval.
ApprovalActioninitialSubmissionActions
Required. Name of the approval process.stringlabel
Specifies a standard or custom user hierarchy field that can be
used to automatically assign the approver for an approval step.
If you exclude this field, then no approval step can use a user
hierarchy field to automatically assign the approver.
NextAutomatedApprovernextAutomatedApprover
300
ApprovalProcessMetadata Types
DescriptionField TypeField Name
Post template to use for Approvals in Chatter.
Chatter post approval notifications are only available for
approval processes associated with an object that has been
enabled for feed tracking.
stringpostTemplate
Specifies which workflow actions to execute when a pending
approval request is withdrawn.
ApprovalActionrecallActions
Specifies which users can edit records that are pending
approval. When a record is submitted for approval, its
RecordEditabilityType
(enumeration of type string)
recordEditability
automatically locked to prevent other users from editing it
during the approval process. Valid values are:
AdminOnlyRecords pending approval can be edited
by:
Users with the Modify All Data permission
Users with the Modify All object-level permission for
the given object
AdminOrCurrentApproverRecords pending
approval can be edited by:
Users with the Modify All Data permission
Users with the Modify All object-level permission for
the given object
The assigned approver, who must have edit access to
the record through user permissions and the
organization-wide sharing defaults for the given object
Whether to add the Approval History related list to the
approval page, which is where the approver can view the
booleanshowApprovalHistory
approval request details and approve or reject the record. The
Approval History related list tracks a record through the
approval process.
If you also want to add the Approval History related list to
record detail and edit pages, use the Salesforce user interface
to customize the page layouts for the given object.
ApprovalSubmitter
Represents a user or set of users who can submit records for approval.
301
ApprovalProcessMetadata Types
DescriptionField TypeField Name
Identifies a specific user or set of users who can submit records for approval. This field
is required, except when the following types are specified and the submitter
field is ignored:
stringsubmitter
owner
creator
allInternalUsers
Example:
<allowedSubmitters>
<type>allInternalUsers</type>
</allowedSubmitters>
<allowedSubmitters>
<submitter>myGroup</submitter>
<type>group</type>
</allowedSubmitters>
Required. Type of user or set of users who can submit records for approval. Valid values
are:
ProcessSubmitterType
(enumeration of type
string)
type
group
role
user
roleSubordinates
roleSubordinatesInternal
owner
creator
partnerUser
customerPortalUser
portalRole
portalRoleSubordinates
allInternalUsersall Salesforce users in the organization
ApprovalPageField
Represents the selection of fields to display on the approval page, where an approver can view the approval request details and approve
or reject the record.
DescriptionField TypeField Name
An array of fields that are displayed on the page for the approver to approve
or reject the record.
string[]field
302
ApprovalProcessMetadata Types
ApprovalStep
Represents a step in the approval process. Approval steps define the chain of approval for a particular approval process. Each step
determines which records can advance to that step, who to assign approval requests to, and whether to let each approvers delegate
respond to the requests. The first step specifies what to do if a record doesnt advance to that step. Later steps specify what happens if
an approver rejects the request.
Note:
The order of the ApprovalStep entries in the approval process definition determines the order in which the approval
steps are executed.
After an approval process is activated, you cant add, delete, or change the order of the steps or change its reject or skip
behavior, even if the process is inactive.
Each approval process supports up to 30 steps.
DescriptionField TypeField Name
Whether to allow delegated approvers in this step of the
approval process. A delegated approver is a user appointed by
an assigned approver as an alternate for approval requests.
booleanallowDelegate
Specifies which workflow actions to execute when a record is
approved in this step of the approval process.
ApprovalActionapprovalActions
Specifies the assigned approvers for this step of the approval
process.
ApprovalStepApproverassignedApprover
Describes the approval step.stringdescription
Determines which records can enter this step of the approval
process.
ApprovalEntryCriteriaentryCriteria
Specifies what to do for records that don't meet the entry
criteria. Valid values are:
StepCriteriaNotMetType
(enumeration of type string)
ifCriteriaNotMet
ApproveRecordApprove the request and execute
all final approval actions.
RejectRecordReject the request and execute all
final rejection actions. This option is available only for the
first step in the approval process.
GotoNextStepSkip to the next approval step. If you
select this option for the first approval step, and a record
doesnt meet the entry criteria for any other step, the record
is rejected.
Required. Name of the approval step.stringlabel
Required. Unique name of the approval step. It must contain
only underscores and alphanumeric characters, begin with a
stringname
letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores. The requirement for
uniqueness is only within the specific approval process.
303
ApprovalProcessMetadata Types
DescriptionField TypeField Name
Required, except for the first step in the approval process.
Specifies what happens if the approver rejects the request
ApprovalStepRejectBehaviorrejectBehavior
during this approval step, unless it's the first step in the approval
process.
If the approver rejects the request in the first step in the approval
process, the reject behavior is determined by the
finalRejectionActions.
Specifies which workflow actions to execute when a record is
rejected in this step of the approval process.
ApprovalActionrejectionActions
ApprovalAction
Represents the actions that occur as a result of an approval process.
DescriptionField TypeField Name
An array of workflow actions to execute.WorkflowActionReference[]action
ApprovalStepApprover
Represents the assigned approvers for an approval step. Each step supports up to 25 approvers.
DescriptionField TypeField Name
An array of assigned approvers for this step of the approval process.Approver[]approver
Specifies how to handle approval or rejection when multiple approvers
are assigned to the step. Valid values are:
RoutingType
(enumeration of
type string)
whenMultipleApprovers
Unanimous(Default) Require unanimous approval from all
approvers for this step. If any of the approvers reject the request, the
approval request for this step is rejected.
FirstResponseApprove or reject based on the first response.
Approver
Represents an assigned approver for an approval step. Check out Considerations for Setting Approvers in Salesforce Help.
DescriptionField TypeField Name
Identifies an assigned approver. This field is required, except when the type is one of
the following and the name is ignored:
stringname
adhoc
userHierarchyField
304
ApprovalProcessMetadata Types
DescriptionField TypeField Name
Combined with the specified name, type identifies an assigned approver. Valid values
are:
NextOwnerType
(enumeration of type
string)
type
adhocThe approver for the step must be selected manually. For the first step, the
submitter selects the approver. For the second and later steps, the approver for the
previous step selects the approver. For this value, exclude the name field.
userA user in your organization. For this value, enter a username for the name
field.
userHierarchyFieldA user specified in a standard or custom user hierarchy
field, such as the standard Manager field. For this value, exclude the name field.
The user hierarchy field must be defined in the nextAutomatedApprovers for
the approval process.
relatedUserFieldA user specified in a user lookup field on the submitted
record, such as the Last Modified By field. For this value, enter the name of
the user lookup field for the name field.
queueAutomatically assign to a queue. For this value, enter the name of the queue
for the name field.
ApprovalEntryCriteria
Represents the criteria that records must meet to enter the approval process or an approval step. Specify either filter criteria or a formula,
but not both.
DescriptionField TypeField Name
Filter logic for criteriaItems. Exclude this field if you enter a formula.stringbooleanFilter
Filter criteria that a record must meet to enter the approval process or approval
step.
Approval processes dont support valueField entries in filter criteria.
FilterItem[]criteriaItems
Formula that must evaluate to true for a record to enter the approval process
or approval step.
stringformula
ApprovalStepRejectBehavior
Represents what happens if the approver rejects the request during this approval step, unless it's the first step in the approval process.
For the first step in the approval process, the reject behavior is determined by the approval process's final rejection actions.
DescriptionField TypeField Name
Not allowed in the first step of the approval process. Valid values are:StepRejectBehaviorType
(enumeration of type string)
type
RejectRequestRejects the request even if previous steps were approved.
Salesforce performs all rejection actions specified for this step and all final rejection
actions.
305
ApprovalProcessMetadata Types
DescriptionField TypeField Name
BackToPreviousRejects the request, and returns the approval request to
the previous approver. Salesforce performs all rejection actions specified for this
step.
NextAutomatedApprover
Represents the user hierarchy field to use as the next automated approver for the approval process. If defined, the user specified in the
hierarchy field can be automatically assigned as the approver in one or more approval steps.
DescriptionField
Type
Field Name
Required. Whether the first executed approval step uses the specified
userHierarchyField in the record owners user recordinstead
booleanuseApproverFieldOfRecordOwner
of the submitters user recordas the approver. All remaining steps use
the specified userHierarchyField in the user record of the
preceding steps approver.
Required. Standard or custom user hierarchy field whose value specifies
which user to assign as the approver. For example, the standard
stringuserHierarchyField
Manager hierarchy field can be used to assign approvers for employee
PTO (paid time off) requests.
Declarative Metadata Sample Definition
The following is an example of an ApprovalProcess component:
<?xml version="1.0" encoding="UTF-8"?>
<ApprovalProcess xmlns="http://soap.sforce.com/2006/04/metadata">
<active>false</active>
<allowRecall>false</allowRecall>
<allowedSubmitters>
<type>owner</type>
</allowedSubmitters>
<allowedSubmitters>
<submitter>USSalesRep</submitter>
<type>role</type>
</allowedSubmitters>
<allowedSubmitters>
<submitter>MarketingGroup</submitter>
<type>group</type>
</allowedSubmitters>
<allowedSubmitters>
<submitter>[email protected]</submitter>
<type>user</type>
</allowedSubmitters>
<approvalPageFields>
<field>Name</field>
306
ApprovalProcessMetadata Types
<field>Owner</field>
<field>MyLeadCustomField__c</field>
<field>Address</field>
</approvalPageFields>
<approvalStep>
<allowDelegate>false</allowDelegate>
<approvalActions>
<action>
<name>LeadApprovedTask1</name>
<type>Task</type>
</action>
<action>
<name>LeadApprovedTask2</name>
<type>Task</type>
</action>
</approvalActions>
<assignedApprover>
<approver>
<type>adhoc</type>
</approver>
</assignedApprover>
<label>Step1</label>
<name>Step1</name>
<rejectionActions>
<action>
<name>LeadRejectedTask</name>
<type>Task</type>
</action>
</rejectionActions>
</approvalStep>
<approvalStep>
<allowDelegate>false</allowDelegate>
<assignedApprover>
<approver>
<type>userHierarchyField</type>
</approver>
</assignedApprover>
<entryCriteria>
<criteriaItems>
<field>Lead.CreatedDate</field>
<operation>greaterThan</operation>
<value>3/25/2013</value>
</criteriaItems>
<criteriaItems>
<field>User.IsActive</field>
<operation>notEqual</operation>
<value>true</value>
</criteriaItems>
</entryCriteria>
<ifCriteriaNotMet>ApproveRecord</ifCriteriaNotMet>
<label>Step2</label>
<name>Step2</name>
<rejectBehavior>
<type>RejectRequest</type>
307
ApprovalProcessMetadata Types
</rejectBehavior>
</approvalStep>
<approvalStep>
<allowDelegate>true</allowDelegate>
<assignedApprover>
<approver>
<name>MarketingTeamQueue</name>
<type>queue</type>
</approver>
<approver>
<name>LastModifiedBy</name>
<type>relatedUserField</type>
</approver>
<approver>
<name>[email protected]</name>
<type>user</type>
</approver>
<whenMultipleApprovers>FirstResponse</whenMultipleApprovers>
</assignedApprover>
<entryCriteria>
<formula>CONTAINS( MyLeadCustomField__c , 'Salesforce')</formula>
</entryCriteria>
<label>Step3</label>
<name>Step3</name>
<rejectBehavior>
<type>BackToPrevious</type>
</rejectBehavior>
</approvalStep>
<emailTemplate>MyFolder/LeadsNewassignmentnotification</emailTemplate>
<enableMobileDeviceAccess>false</enableMobileDeviceAccess>
<entryCriteria>
<criteriaItems>
<field>Lead.AnnualRevenue</field>
<operation>greaterThan</operation>
<value>10500</value>
</criteriaItems>
<criteriaItems>
<field>Lead.MyLeadCustomField__c</field>
<operation>equals</operation>
<value>Salesforce</value>
</criteriaItems>
</entryCriteria>
<finalApprovalActions>
<action>
<name>LeadEmailContacted</name>
<type>Alert</type>
</action>
</finalApprovalActions>
<finalApprovalRecordLock>true</finalApprovalRecordLock>
<finalRejectionActions>
<action>
<name>ProcessRejectedMessageAction</name>
<type>OutboundMessage</type>
</action>
308
ApprovalProcessMetadata Types
</finalRejectionActions>
<finalRejectionRecordLock>false</finalRejectionRecordLock>
<initialSubmissionActions>
<action>
<name>LeadFieldUpdate</name>
<type>FieldUpdate</type>
</action>
<action>
<name>NewLeadEmail</name>
<type>Alert</type>
</action>
</initialSubmissionActions>
<label>SampleProcess</label>
<nextAutomatedApprover>
<useApproverFieldOfRecordOwner>false</useApproverFieldOfRecordOwner>
<userHierarchyField>customlookupuserfield__c</userHierarchyField>
</nextAutomatedApprover>
<postTemplate>MyPostTemplate</postTemplate>
<recallActions>
<action>
<name>ProcessRecalledMessageAction</name>
<type>OutboundMessage</type>
</action>
</recallActions>
<recordEditability>AdminOnly</recordEditability>
<showApprovalHistory>false</showApprovalHistory>
</ApprovalProcess>
Wildcard Support in the Manifest File
Use the wildcard character * (asterisk) in the package.xml manifest file to retrieve all approval processes for all objects. You cant
use it to retrieve a subset of approval processes. Syntax such as Lead.* isnt supported. For information about using the manifest file,
see Deploying and Retrieving Metadata with the Zip File.
AssignmentRules
Represents assignment rules that allow you to automatically route cases to the appropriate users or queues. You can access rules metadata
for all applicable objects, for a specific object, or for a specific rule on a specific object.
The package.xml syntax for accessing all assignment rules for all objects is:
<types>
<members>*</members>
<name>AssignmentRules</name>
</types>
All rules for a specific object use a similar syntax without the wildcard. For example, all assignment rules for the Case object would use
this syntax:
<types>
<members>Case</members>
<name>AssignmentRules</name>
</types>
309
AssignmentRulesMetadata Types
You can also access specific assignment rules for an object. The following example only accesses the samplerule and newrule
assignment rules on the Case object. Notice that for this example the type name syntax is AssignmentRule and not
AssignmentRules.
<types>
<members>Case.samplerule</members>
<members>Case.newrule</members>
<name>AssignmentRule</name>
</types>
File Suffix and Directory Location
Assignment rules for an object have the suffix .assignmentRules and are stored in the assignmentRules folder. For example,
all Case assignment rules are stored in the Case.assignmentRules file.
Version
AssignmentRules components are available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Represents the definitions of the named assignment rules.AssignmentRule[]assignmentRule
AssignmentRule
Specifies whether the rule is active or not and its definition. Rules are processed in the order they appear within the AssignmentRules
container.
DescriptionField TypeField Name
Indicates whether the assignment rule is active (true) or
not (false).
booleanactive
Inherited from Metadata, this field is defined in the WSDL
for this metadata type. It must be specified when creating,
stringfullname
updating, or deleting. See createMetadata() to see
an example of this field specified for a call.
This value can't be null.
Represents the type and description for the assignment
rule.
RuleEntry[]ruleEntry
RuleEntry
Represents the fields used by the rule.
310
AssignmentRulesMetadata Types
DescriptionField TypeField Name
The name of the user or queue the item is assigned to.stringassignedTo
Valid values are:AssignToLookupValueType
(enumeration of type string)
assignedToType
User
Queue
Advanced filter conditions that were specified for the rule.stringbooleanFilter
The items in the list that define the assignment criteria.FilterItem[]criteriaItems
The validation formula.
Specify either formula or criteriaItems, but not
both fields.
stringformula
Specifies whether email addresses included on the Cc line
of an incoming Email-to-Case or Web-to-Lead message are
booleannotifyCcRecipients
included on the Cc line of the auto-response to that
message (true) or not (false). Available in API version
32.0 and later.
Specifies whether the case team resets when the
assignment is done true) or if the current team is added
to the case instead of replacing the previous team (false).
booleanoverrideExistingTeams
The name of the case team. It can occur 0 or more times.string[]team
Specifies the template to use for the email that is
automatically sent to the designated recipient.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringtemplate
Declarative Metadata Sample Definition
The following is an example file showing two assignment rules on the Case object:
<AssignmentRules xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assignmentRule>
<fullName>samplerule</fullName>
<active>false</active>
<ruleEntry>
<assignedTo>[email protected]</assignedTo>
<assignedToType>User</assignedToType>
<criteriaItems>
<field>Case.IsEscalated</field>
<operation>equals</operation>
<value>True</value>
</criteriaItems>
<template>emailtemplate</template>
311
AssignmentRulesMetadata Types
</ruleEntry>
</assignmentRule>
<assignmentRule>
<fullName>Another samplerule</fullName>
<active>false</active>
<ruleEntry>
<assignedTo>[email protected]</assignedTo>
<assignedToType>User</assignedToType>
<criteriaItems>
<field>Case.IsEscalated</field>
<operation>equals</operation>
<value>False</value>
</criteriaItems>
<template>emailtemplate</template>
</ruleEntry>
</assignmentRule>
</AssignmentRules>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AssessmentQuestion
Represents the container object that stores the questions required for an assessment.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AssessmentQuestion components have the suffix .AssessmentQuestion and are stored in the AssessmentQuestions
folder.
Version
AssessmentQuestion components are available in API version 55.0 and later.
Fields
DescriptionField Name
Field Type
AssessmentQuestionVersion
assessmentQuestionVersion
312
AssessmentQuestionMetadata Types
DescriptionField Name
Description
The object that stores the question versions for the assessment questions.
Field Type
string
dataType
Description
Required.
The data type of the assessment question.
Field Type
string
developerName
Description
Required.
The developer name of the assessment question. Can contain only underscores and
alphanumeric characters and must be unique in your org. It must begin with a letter,
not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Field Type
string
formulaResponseDataType
Description
Specifies the data type of the question response calculated by a formula.
Field Type
string
name
Description
Required.
The name of the record.
Field Type
string
questionCategory
Description
Required.
Stores the question category.
Field Type
string
relatedQuestion
Description
Specifies the related question. Used to define a question hierarchy.
313
AssessmentQuestionMetadata Types
AssessmentQuestionVersion
Stores the question versions for the assessment questions.
DescriptionField Name
Field Type
string
additionalInformation
Description
The additional details for a UI element, such as the disclosure text.
Field Type
string
description
Description
The description for the assessment question. This text isnt rendered on the assessment.
Field Type
string
helpText
Description
The text that's added as an info bubble in the UI element related to the assessment question.
Field Type
boolean
isActive
Description
Required.
Indicates whether the current version of the assessment question is set to active (true)
or not (false).
The default value is false.
Field Type
string
name
Description
Required.
Name of the assessment question version record.
Field Type
boolean
optionSourceResponseValue
Description
Indicates whether the response value source for an assessment question is configured as
custom (true) or sObject in the OmniStudio designer (false).
The default value is false.
Field Type
string
questionText
314
AssessmentQuestionMetadata Types
DescriptionField Name
Description
Required.
The assessment question text. Contains the label for the assessment question that appears
on the assessment.
Field Type
string
responseValues
Description
Holds the values to be defined in the picklist, multiselect picklist, or radio buttons.
Field Type
string
status
Description
Required.
Status of the assessment question version. Possible values are Draft, Active, or Archived.
Field Type
int
versionNumber
Description
Required.
The assessment question version number.
Declarative Metadata Sample Definition
The following is an example of an AssessmentQuestion component.
<?xml version="1.0" encoding="UTF-8"?>
<AssessmentQuestion
xmlns="http://soap.sforce.com/2006/04/metadata">
<assessmentQuestionVersion>
<additionalInformation>ParentQuestionDevName AI</additionalInformation>
<description>ParentQuestionDevName Desc</description>
<helpText>ParentQuestionDevName HT</helpText>
<isActive>true</isActive>
<name>ParentQuestionDevName</name>
<optionSourceResponseValue>true</optionSourceResponseValue>
<questionText>ParentQuestionDevName Text</questionText>
<status>Active</status>
<versionNumber>1</versionNumber>
</assessmentQuestionVersion>
<dataType>DateTime</dataType>
<developerName>ParentQuestionDevName</developerName>
<name>ParentQuestionDevName</name>
315
AssessmentQuestionMetadata Types
<questionCategory>Demographic</questionCategory>
</AssessmentQuestion>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>AssessmentQuestion</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
Before you retrieve assessment questions, we recommend that you review these considerations.
When you retrieve an assessment question, you also get the related assessment question version with the status Active..
Note: If an active assessment question version doesnt exist for the assessment question, then the latest assessment question
version with Status as Draft is retrieved.
The value for the <status> tag in the XML definition must match the status of the related assessment question version.
If an assessment question has a related assessment question (parent question), the XML definition must include the developer name
of the related assessment question.
If the fields of an assessment question contain values, the XML definition must contain tags with those values when retrieving it.
Before you deploy assessment questions, we recommend that you review these considerations.
If the Related Question isnt available in the target org, deploying the assessment question fails.
If an assessment question with the same developer name exists in the target org, deploying the assessment question updates the
values of the other fields in the target org.
If the <versionNumber> tag is present in the XML definition of an assessment question, deploying creates a version for that
question in the target org.
If the Related Questions arent available in target org but available in the package, then deploying the questions inserts the Related
Questions in the correct order.
AssessmentQuestionSet
Represents the container object for Assessment Questions.
316
AssessmentQuestionSetMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AssessmentQuestionSet components have the suffix .AssessmentQuestionSet and are stored in the
AssessmentQuestionSets folder.
Version
AssessmentQuestionSet components are available in API version 55.0 and later.
Fields
DescriptionField Name
Field Type
string[]
assessmentQuestionDeveloperNames
Description
The developer names for the assessment question. Can contain only underscores and
alphanumeric characters and must be unique in your org. It must begin with a letter,
not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Field Type
string
developerName
Description
Required.
The developer name for the assessment question set. Can contain only underscores
and alphanumeric characters and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Field Type
string
name
Description
Required.
The question set name.
317
AssessmentQuestionSetMetadata Types
Declarative Metadata Sample Definition
The following is an example of an AssessmentQuestionSet component.
<?xml version="1.0" encoding="UTF-8"?>
<AssessmentQuestionSet
xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>QuestionSetDevName</developerName>
<name>QuestionSetName</name>
<assessmentQuestionDeveloperNames>QuestionDevName</assessmentQuestionDeveloperNames>
</AssessmentQuestionSet>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>AssessmentQuestion</name>
</types>
<types>
<members>*</members>
<name>AssessmentQuestionSet</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
Before you retrieve assessment question sets, we recommend that you review these considerations.
When retrieving an assessment question set, if its fields contain values, then the XML definition must contain tags with those values.
When retrieving an assessment question set, if that set is associated with multiple questions, then the XML definition must contain
developer names of all the associated questions.
Before you deploy assessment question sets, we recommend that you review these considerations.
When deploying an assessment question set, if an assessment question set with the same developer name doesn't exist in the target
org, deploying creates one with that name.
If an assessment question set with the same developer name exists in the target org, then deploying the question set updates the
values of the other fields in the target org.
If the questions associated with the assessment question set don't exist in the target org, deploying the assessment question set
fails.
If the questions associated with the assessment question set dont exist in the target org but are available in the package, then
deploying the assessment question sets inserts the questions in the correct order.
318
AssessmentQuestionSetMetadata Types
Audience
Represents the audience in an Experience Builder site. An audience consists of different types of criteria, where the audience can be
assigned and used for targeting in a site. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Audience components have the suffix .audience and are stored in the audience folder.
Version
Audience components are available in API version 44.0 and later.
Special Access Rules
Access to the Audience type requires the AudienceMetadata permission. This permission is on by default for orgs that have Networks
enabled.
Access to permission criteria for the Audience type requires the AudiencePermissionCriteria permission. This permission is available in
API version 45.0 and later and is on by default for orgs that have Networks enabled.
Fields
DescriptionField TypeField Name
Required. The name of the audience.stringaudienceName
Required. The name of the site or org that contains the audience.stringcontainer
Required. Criteria in an audience. This field is available in API version 47.0
and later.
AudienceCriteriacriteria
Removed. List of criteria in an audience.
This field is available in API version 44.046.0. In API version 47.0 and
later, use criteria instead.
AudienceCriterion[]criterion
The description of the audience.stringdescription
Formula used to determine the audience. This field is available in API
version 45.0 and later.
stringformula
Indicates the audiences formula type. Valid values areFormulaFilterType
(enumeration of
type string)
formulaFilterType
AllCriteriaMatch
AnyCriterionMatches
CustomLogicMatches (available in API version 45.0 and later)
319
AudienceMetadata Types
DescriptionField TypeField Name
Indicates whether the audience is the default audience (true) or not
(false). This field is available and required in API version 48.0. In API
version 49.0 and later, this field is optional.
The default audience file name is of format Default_Network
Name.audience.
booleanisDefaultAudience
Targets for the audience. This field is available in API version 47.0 and
later.
PersonalizationTarget
Infos
targets
AudienceCriteria
Represents criteria for an audience. This subtype is available in API version 47.0 and later.
DescriptionField TypeField Name
List of criteria for an audience. An audience can have up to 100 criteria.AudienceCriterion[]criterion
AudienceCriterion
Represents a criterion for an audience.
DescriptionField TypeField Name
The number associated with the criterion in a formula, for example (1 AND 2)
OR 3. This field is available in API version 45.0 and later.
intcriteriaNumber
The value of the criterion.AudienceCriteriaValuecriterionValue
The operator associated with this criterion. Valid values are:AudienceCriterion
Operator(enumeration
of type string)
operator
Equal
NotEqual
GreaterThan
GreaterThanOrEqual
LessThan
LessThanOrEqual
Contains
StartsWith
Includes (available in API version 45.0 and later)
NotIncludes (available in API version 45.0 and later)
Required. Valid values are:AudienceCriterion
Type(enumeration of
type string)
type
GeoLocation
Domain
320
AudienceMetadata Types
DescriptionField TypeField Name
Profile
FieldBased
Permission (available in API version 45.0 and later)
Default (available in API version 47.0 and later)
Audience (available in API version 53.0 and later)
For a list of AudienceCriteriaValue fields that you can use with each
AudienceCriterion type field value, see this table.
AudienceCriteriaValue
Represents the value of a criterion in an audience. For a list of AudienceCriteriaValue fields that you can use with each AudienceCriterion
type field value, see this table.
DescriptionField TypeField Name
Developer name of the audience. This field is available in API version 53.0 and
later. You can use this field only when the value of the AudienceCriterion type
field is Audience.
stringaudienceDeveloperName
City of a user. You can use this field only when the value of the
AudienceCriterion type field is GeoLocation.
stringcity
Country of a user. You can use this field only when the value of the
AudienceCriterion type field is GeoLocation.
stringcountry
Domain of a user. You can use this field only when the value of the
AudienceCriterion type field is Domain.
stringdomain
Field of an object. You can use this field only when the value of the
AudienceCriterion type field is FieldBased.
stringentityField
Type of object. You can use this field only when the value of the
AudienceCriterion type field is FieldBased.
stringentityType
Value of a field. You can use this field only when the value of the
AudienceCriterion type field is FieldBased.
stringfieldValue
Indicates whether the permission is enabled (true) or not (false) for a user.
This field is available in API version 45.0 and later. You can use this field used
only when the value of the AudienceCriterion type field is Permission.
stringisEnabled
Valid API name of a standard user or custom permission. This field is available
in API version 45.0 and later. You can use this field only when the value of the
AudienceCriterion type field is Permission.
stringpermissionName
Type of permission. Valid values are Standard and Custom. This field is
available in API version 45.0 and later. You can use this field only when the
value of the AudienceCriterion type field is Permission.
stringpermissionType
321
AudienceMetadata Types
DescriptionField TypeField Name
Profile of a user. You can use this field only when the value of the
AudienceCriterion type field is Profile.
stringprofile
Subdivision of a user. You can use this field only when the value of the
AudienceCriterion type field is GeoLocation.
stringsubdivision
This table summarizes which AudienceCriteriaValue fields you can use with the different AudienceCriterion type field values.
AudienceCriteriaValue FieldsAudienceCriterion Type
city
country
GeoLocation
subdivision
domainDomain
profileProfile
entityField
entityType
FieldBased
fieldValue
isEnabled
permissionName
Permission
permissionType
audienceDeveloperNameAudience
PersonalizationTargetInfos
Represents targets for an audience. This subtype is available in API version 47.0 and later.
When deploying an audience, you must include ExperienceBundle in your package to support experience variation targets.
DescriptionField TypeField Name
List of targets for an audience.PersonalizationTarget
Info[]
target
PersonalizationTargetInfo
Represents a target for an audience. This subtype is available in API version 47.0 and later.
322
AudienceMetadata Types
DescriptionField TypeField Name
Required. Group name of the target. Groups bundle related target and audience
pairs. You can have up to 2,000 groups and 500 targets per group.
To determine the target group name, see
https://developer.salesforce.com/docs/atlas.en-us.communities_dev.meta/communities_dev/communities_dev_personalization_names.htm
in the Experience Cloud Developer Guide.
stringgroupName
Priority of the target. Within a group, priority determines which target is returned
when the user matches more than one audience.
intpriority
Required. Type of target, indicating the nature of the data being targeted.
Supported values include:
stringtargetType
ExperienceVariation (API version 47.0 and later)
NavigationLinkSet (API version 49.0 and later)
Report (API version 49.0 and later)
Dashboard (API version 49.0 and later)
You can have up to 2,500 ExperienceVariation targets and 25,000
record targets.
For more information on the ExperienceVariation target type, see
ExperienceBundle.
Required. Value of the target, which is the developer name of the experience
variation, such as ContactSupport_ContactSupportFor
California_Page for a page variation.
To determine the target developer name, see
https://developer.salesforce.com/docs/atlas.en-us.communities_dev.meta/communities_dev/communities_dev_personalization_names.htm
in the Experience Cloud Developer Guide.
stringtargetValue
Declarative Metadata Sample Definition
The following is an example of an Audience component.
<?xml version="1.0" encoding="UTF-8"?>
<Audience xmlns="http://soap.sforce.com/2006/04/metadata">
<audienceName>Audience Metadata</audienceName>
<container>Customer</container>
<criteria>
<criterion>
<criteriaNumber>1</criteriaNumber>
<criterionValue>
<country>United States</country>
<subdivision>Nevada</subdivision>
</criterionValue>
<operator>Equal</operator>
<type>GeoLocation</type>
</criterion>
<criterion>
323
AudienceMetadata Types
<criteriaNumber>2</criteriaNumber>
<criterionValue>
<profile>customer community user</profile>
</criterionValue>
<operator>Equal</operator>
<type>Profile</type>
</criterion>
<criterion>
<criteriaNumber>3</criteriaNumber>
<criterionValue>
<domain>sampledomain.example.com</domain>
</criterionValue>
<operator>Equal</operator>
<type>Domain</type>
</criterion>
<criterion>
<criteriaNumber>4</criteriaNumber>
<criterionValue>
<entityField>Manager.Profile.CreatedBy.Contact.MailingCountry</entityField>
<entityType>User</entityType>
<fieldValue>USA</fieldValue>
</criterionValue>
<operator>StartsWith</operator>
<type>FieldBased</type>
</criterion>
<criterion>
<criteriaNumber>5</criteriaNumber>
<criterionValue>
<entityField>RecordTypeId</entityField>
<entityType>CollaborationGroup</entityType>
<fieldValue>CollaborationGroup.Group_RT2</fieldValue>
</criterionValue>
<operator>Equal</operator>
<type>FieldBased</type>
</criterion>
<criterion>
<criteriaNumber>6</criteriaNumber>
<criterionValue>
<isEnabled>true</isEnabled>
<permissionName>ManageUsers</permissionName>
<permissionType>Standard</permissionType>
</criterionValue>
<operator>Equal</operator>
<type>Permission</type>
</criterion>
<criterion>
<criteriaNumber>7</criteriaNumber>
<criterionValue>
<isEnabled>false</isEnabled>
<permissionName>NamespaceXYZ__CustomPermABC</permissionName>
<permissionType>Custom</permissionType>
</criterionValue>
<operator>Equal</operator>
324
AudienceMetadata Types
<type>Permission</type>
</criterion>
<criterion>
<criteriaNumber>8</criteriaNumber>
<criterionValue>
<audienceDeveloperName>Audience1</audienceDeveloperName>
</criterionValue>
<operator>Equal</operator>
<type>Audience</type>
</criterion>
</criteria>
<formula>1 AND (2 OR 3 OR 4 OR 5 OR 6 OR 7) AND 8</formula>
<formulaFilterType>CustomLogicMatches</formulaFilterType>
<isDefaultAudience>false</isDefaultAudience>
<targets>
<target>
<groupName>c194d79c-5c6b-4c6a-8d14-0e7042564355$#$Branding</groupName>
<priority>1</priority>
<targetType>ExperienceVariation</targetType>
<targetValue>Customer_Service_testBrandingSet_Branding</targetValue>
</target>
</targets>
</Audience>
Usage
You cant use Metadata API to delete an audience.
In API version 47.0 and later, you cant create an audience without criteria.
The list of targets provided in the input for an audience is considered the state of target assignments that you want. For example, see
the following information for deleting, creating, and updating targets.
If you dont have a default audience, updating targets can result in the UI erroneously showing a target assigned to the default audience.
The target assignment data in the API is correct. To work around the UI issue, temporarily assign another target to the default audience
and then delete it.
Personalization using audience targeting varies what the user can see in the browser but doesnt secure data in any way. To prevent
users accessing sensitive data, use standard Salesforce security features, such as sharing rules and permission sets.
Delete targets
To delete a single target from an audience, deploy the entire list of targets for the audience minus the one that you want to delete.
To delete all the targets from an audience, deploy the audience with empty targets tags. For example:
<?xml version="1.0" encoding="UTF-8"?>
<Audience
xmlns="http://soap.sforce.com/2006/04/metadata">
<audienceName>testAudience</audienceName>
<container>testContainer</container>
<criteria>
<criterion>
<criteriaNumber>1</criteriaNumber>
<criterionValue>
<country>United States</country>
<subdivision>Nevada</subdivision>
325
AudienceMetadata Types
</criterionValue>
<operator>Equal</operator>
<type>GeoLocation</type>
</criterion>
</criteria>
<formulaFilterType>AllCriteriaMatch</formulaFilterType>
<isDefaultAudience>false</isDefaultAudience>
<targets>
</targets>
</Audience>
Update an audience without updating targets
To update an audience without updating targets, deploy the audience without targets tags. For example:
<?xml version="1.0" encoding="UTF-8"?>
<Audience
xmlns="http://soap.sforce.com/2006/04/metadata">
<audienceName>testAudience</audienceName>
<container>testContainer</container>
<criteria>
<criterion>
<criteriaNumber>1</criteriaNumber>
<criterionValue>
<country>United States</country>
<subdivision>Nevada</subdivision>
</criterionValue>
<operator>Equal</operator>
<type>GeoLocation</type>
</criterion>
</criteria>
<formulaFilterType>AllCriteriaMatch</formulaFilterType>
<isDefaultAudience>false</isDefaultAudience>
</Audience>
Create targets
To create a target, deploy the entire list of targets for the audience plus the one that you want to create.
Update the priority of a target
To change the priority of a target within an audience, deploy the entire list of targets for the audience with the new priority values
for the targets.
To change the priority of a target that affects priority in another audience, deploy both audiences with their entire list of targets with
the new priority values for the targets.
Update the target assignment for an audience
To reassign a target to a new audience, deploy both audiences with their entire list of targets. Deploy one list with the target removed,
and the other list with the target added.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
326
AudienceMetadata Types
AuraDefinitionBundle
Represents an Aura definition bundle. A bundle contains an Aura definition, such as an Aura component, and its related resources, such
as a JavaScript controller. The definition can be a component, application, event, interface, or a tokens collection.
File Suffix and Directory Location
An AuraDefinitionBundle component is a folder that contains definition files. Unlike most other metadata components, an
AuraDefinitionBundle component isnt a single file, its a collection of files. Each file represents a resource in a bundle, such as markup,
applications, code files (including controllers and helpers), events, documentation, and interfaces. For example, this directory structure
shows the hierarchy of the folders and files for two bundles: bundle1 and bundle2.
aura
bundle1
bundle1.cmp
bundle1Controller.js
bundle2
bundle2.app
bundle2Controller.js
bundle2.auradoc
Aura definition bundles must be under a top-level folder named aura. Each bundle must have its own subfolder under the aura
folder. The name of each definition file must start with the bundle name.
A bundle doesnt have a suffix. Definition files can have one of these suffixes:
Component TypeSuffix
Application.app
Component.cmp
Design.design
Event.evt
Interface.intf
Controller, Helper, or Renderer.js
SVG image.svg
Style.css
Documentation.auradoc
Tokens collection.tokens
Each bundle can have only one file each with a suffix of .app, .cmp, .design, .evt, .intf, or .tokens.
Version
AuraDefinitionBundle components are available in API version 32.0 and later.
327
AuraDefinitionBundleMetadata Types
Design and SVG components are available in API version 33.0 and later.
In API version 45.0 and later, there are two types of Lightning component: Aura components and Lightning web components. This
metadata type describes an Aura component.
Special Access Rules
Definitions can be created only in organizations with defined namespaces.
Fields
DescriptionField TypeField Name
The API version for this definition bundle. When you create an Aura
bundle, you can specify the API version to save it with. Available in API
version 35.0 and later.
doubleapiVersion
Reserved for internal use.AuraDefinitionsauraDefinitions
The content of a JavaScript client-side controller.base64BinarycontrollerContent
The specification of the Aura bundle. Available in API version 35.0 and
later.
stringdescription
The content of a design definition. Only valid inside a component bundle.base64BinarydesignContent
The content of a documentation definition.base64BinarydocumentationContent
The content of a JavaScript helper.base64BinaryhelperContent
The content of the markup for a definition.base64Binarymarkup
Deprecated. Do not use.base64BinarymodelContent
The list of installed managed package versions that this Aura definition
bundle references. Available in API version 35.0 and later.
PackageVersion[]packageVersions
The content of a JavaScript client-side renderer.base64BinaryrendererContent
The CSS for the definition.base64BinarystyleContent
The SVG image for the definition.base64BinarySVGContent
Reserved for internal use.base64BinarytestsuiteContent
The definition type. Valid values are:AuraBundleType
(enumeration of
type string)
type
Application
Component
Event
Interface
Tokens
328
AuraDefinitionBundleMetadata Types
Declarative Metadata Sample Definition
This example shows the directory structure of an AuraDefinitionBundle component.
aura
sampleCmp
sampleCmp.cmp
sampleCmpController.js
The following samples show the contents of the metadata definition files that correspond to the sample aura directory.
Content of sampleCmp.cmp:
<aura:component>
<aura:attribute name="val1" type="String" default="Value"/>
<aura:attribute name="val2" type="String" />
<aura:handler name="init" value="{!this}" action="{!c.myAction}"/>
<ui:outputText value='Hello world!'/>
<ui:outputText value='{!v.val1}'/>
<ui:outputText value='{!v.val2}'/>
</aura:component>
Content of sampleCmpController.js:
({
myAction : function(component) {
component.set('v.val1','Value1');
component.set('v.val2','Value2');
}
})
This package.xml references the definitions of all Lightning components that are present in the sampleCmp bundle.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>sampleCmp</members>
<name>AuraDefinitionBundle</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AuthProvider
Represents an authentication provider (auth provider). An auth provider lets users log in to Salesforce from an external service provider
such as Facebook, Google, or GitHub. This type extends the Metadata metadata type and inherits its fullName field.
329
AuthProviderMetadata Types
File Suffix and Directory Location
Authentication providers are stored in the authproviders directory. The file name matches the URL suffix, and the extension is
.authprovider. For example, an auth provider with URL suffix FacebookProvider is stored in
authproviders/FacebookProvider.authprovider.
Version
Authentication providers are available in API version 27.0 and later.
Special Access Rules
Only users with the Customize Application and Manage AuthProviders permissions can access this object.
Fields
DescriptionField TypeField Name
Required when using Apple as a third-party authentication provider. A
10-character team ID, obtained from an Apple developer account. Available
in API version 48.0 and later.
stringappleTeam
Required when creating an OpenID Connect authentication provider. The
OAuth authorization endpoint URL. Available in API version 29.0 and later.
In API version 33.0 and later, for Salesforce-managed auth providers, leave
the field blank to let Salesforce supply and manage the value. For details,
see Usage.
stringauthorizeUrl
The apps key that is registered at the third-party (external) authentication
provider.
In API version 33.0 and later, for Salesforce-managed auth providers, leave
the field blank to let Salesforce supply and manage the value. For details,
see Usage.
stringconsumerKey
The consumer secret of the app that is registered at the third-party provider.
After its set, you cant change the value. When using create(), this
stringconsumerSecret
field must be encrypted. To create an encrypted form of the consumer
secret from plaintext:
1. Create an authentication provider with the consumerSecret
plaintext value.
2. Save the authentication provider.
3. Create an outbound change set that includes the authentication
provider component.
The new change set .xml file has an entry in the form
<consumerSecret>++XYZ++</consumerSecret> where
++XYZ++ is the encrypted secret.
330
AuthProviderMetadata Types
DescriptionField TypeField Name
In API version 33.0 and later, for Salesforce-managed auth providers, leave
the field blank to let Salesforce supply and manage the value. For details,
see Usage.
If a consumer secret is defined on an authentication provider, the consumer
secret is always exported as a placeholder value, not as an encrypted secret.
Required when using MuleSoft as a third-party authentication provider.
Environment where the MuleSoft Anypoint Platform control plane is hosted.
MuleSoftControlPlane
(enumeration of
type string)
controlPlane
The control plane is the part of the Anypoint Platform architecture that
includes Anypoint Exchange and determines the login URL. If you select
User-Specified, you must enter the Consumer Key and Consumer Secret.
Obtain the values from the MuleSoft connected app that you created to
store the authentication details for your Salesforce org. Available in API
version 57.0 and later. Valid values include:
NoneUser-specified control plane. If you select None, you must
enter the Consumer Key and Consumer Secret. Obtain the values from
the MuleSoft connected app that you created to store the
authentication details for your Salesforce org.
USUS control plane
EUEU control plane
Required when creating a custom authentication provider plug-in. The
API name of the custom authentication provider. Available in API version
36.0 and later.
stringcustomMetadataTypeRecord
For OpenID Connect authentication providers, the scopes to send with the
authorization request, if not specified when a flow starts. Available in API
version 29.0 and later.
In API version 33.0 and later, for Salesforce-managed auth providers, leave
the field blank to let Salesforce supply and manage the value. See Usage
on page 335.
stringdefaultScopes
Required when using Apple as a third-party authentication provider. A
private key generated by Apple. Available in API version 48.0 and later.
stringecKey
A custom error URL for the authentication provider to use to report errors.stringerrorUrl
Required when specifying a registration handler class. The username of
the Salesforce admin or system user who runs the Apex handler, which
stringexecutionUser
provides the context in which the Apex handler runs. For example, if the
Apex handler creates a contact, the creation can be easily traced back to
the registration process. In production, use a system user. The user must
have the Manage Users permission. Available in API version 27.0 and later.
Required. A user-friendly name for the authentication provider.stringfriendlyName
331
AuthProviderMetadata Types
DescriptionField TypeField Name
The path to an icon to use as a button on the login page. Users click the
button to log in with the associated authentication provider, such as Twitter
or Facebook. Available in API version 32.0 and later.
stringiconUrl
The source of the authentication token in https: URI format. This field
is available when configuring an OpenID Connect or Microsoft
stringidTokenIssuer
authentication provider. If provided, Salesforce validates the returned
id_token value. OpenID Connect requires returning an id_token
value with the access_token value. Available in API version 30.0 and
later.
Used to differentiate between users with the same user ID from two sources
(such as two sandboxes). If enabled (true), Salesforce stores the org ID
booleanincludeOrgIdInIdentifier
of the third-party identity in addition to the user ID. After you enable this
setting, you cant disable it. Applies only to a Salesforce-managed auth
provider. Available in API version 32.0 and later.
Indicates whether the OAuth 2.0 Proof Key for Code Exchange (PKCE)
security extension is enabled (true) or not (false). You can enable
PKCE for these providerType values.
booleanisPkceEnabled
Custom
Facebook
Google
Microsoft
OpenIdConnect
Salesforce.
This field is available in API version 59.0 and later.
The URL for linking existing Salesforce users to a third-party account. This
field is read-only. Available in API version 43.0 and later.
stringlinkKickoffUrl
The destination for users after they log out if they authenticated using
single sign-on. The URL must be fully qualified with an http or https prefix,
stringlogoutUrl
such as https://acme.my.salesforce.com. Available in API
version 33.0 and later.
The URL for obtaining OAuth access tokens for a third party. This field is
read-only. Available in API version 43.0 and later.
stringoauthKickoffUrl
An existing Apex class that extends the
Auth.AuthProviderPluginClass abstract class. Available in
API version 36.0 and later.
stringplugin
This field is used only with portals, which are deprecated. Salesforce doesnt
support creating portals, but existing portals are supported.
stringportal
332
AuthProviderMetadata Types
DescriptionField TypeField Name
Required. The third-party authentication provider to use. Valid values
include:
AuthProviderType
(enumeration of
type string)
providerType
Apple
CustomA provider configured with a custom authentication
provider plug-in. Available in API version 36.0 and later.
Facebook.
GitHubProvides authentication for a GitHub provider. Used to
log in users of your Lightning Platform app to GitHub using OAuth.
When logged in to GitHub, your app can make calls to GitHub APIs.
The GitHub provider isnt available as an SSO provider, so users cant
log in to your Salesforce org using their GitHub login credentials.
Available in API version 35.0 and later.
Google.
Janrain.
LinkedIn. Available in API version 32.0 and later.
MicrosoftProvides authentication for all services that can be
accessed via Microsoft Azure Active Directory. Available in API version
55.0 and later.
MicrosoftACSMicrosoft Access Control Service typically provides
authentication for a Microsoft Office 365 service, like SharePoint Online.
The MicrosoftACS provider doesn't support SSO. Available in API
version 31.0 and later.
MuleSoft. Available in API version 57.0 and later.
OpenIdConnect. Available in API version 29.0 and later.
Salesforce.
Slack. Available in API version 54.0 and later.
Twitter. Available in API version 32.0 and later.
An existing Apex class that implements the
Auth.RegistrationHandler interface.
stringregistrationHandler
Requires multi-factor authentication (MFA) for single sign-on with this
auth provider based on the MFA status of each user. For this setting to
booleanrequireMfa
trigger MFA, you must apply MFA directly to users via one of two methods.
1) Assign the user permission multi-factor authentication for User Interface
Logins. 2) Enable the org setting Require multi-factor authentication (MFA)
for all direct UI logins to your Salesforce org. For more information, see Use
Salesforce MFA for SSO in Salesforce Help.
If enabled (true), the access token is sent to the UserInfoUrl in a
header instead of a query string. Available in API version 30.0 and later.
booleansendAccessTokenInHeader
Required when creating an OpenID Connect authentication provider. If
enabled (true), the client credentials are sent in a header to the
booleansendClientCredentialsInHeader
tokenUrl instead of a query string. The credentials are in the standard
333
AuthProviderMetadata Types
DescriptionField TypeField Name
OpenID Connect Basic Credentials header format, which is Basic
<token>, where <token> is the base64-encoded string
"clientkey:clientsecret". Available in API version 30.0 and
later.
Determines whether the encrypted consumer secret appears in API
responses. If enabled (default), the secret appears in the response. If
booleansendSecretInApis
disabled (false), responses dont include the consumer secret. For
security, you can disable the setting. However, keep in mind that:
By disabling this setting, the consumer secret is excluded from API
responses in all API versions.
Change sets and other metadata deployments break because both
the consumer key and secret are expected. To fix this problem, insert
the consumer key manually during deployment.
Available in API version 47.0 and later.
The consumer secret is always included in the response as a placeholder
value, regardless of the value provided for sendSecretInApis.
The URL for performing single sign-on into Salesforce from a third party
by using its third-party credentials. This field is read-only. Available in API
version 43 and later.
stringssoKickoffUrl
The OAuth token endpoint URL of an OpenID Connect authentication
provider. Available in API version 29.0 and later.
In API version 33.0 and later, for Salesforce-managed auth providers, leave
the field blank to let Salesforce supply and manage the value. For details,
see Usage.
stringtokenUrl
The OpenID Connect endpoint URL of the OpenID Connect authentication
provider. Available in API version 29.0 and later.
In API version 33.0 and later, for Salesforce-managed auth providers, leave
the field blank to let Salesforce supply and manage the value. For details,
see Usage.
stringuserInfoUrl
Declarative Metadata Sample Definition
Note: Starting in November 2022, enter the consumerSecret value as plaintext, for example,
<consumerSecret>yourplaintextconsumersecret</consumerSecret>. Existing consumer secrets that
were entered as encrypted values can be deployed throughout the Winter 23 release.
<?xml version="1.0" encoding="UTF-8"?>
<AuthProvider xmlns="http://soap.sforce.com/2006/04/metadata">
<consumerKey>yourappkey</consumerKey>
<consumerSecret>PwdVxXjzu3NCZ3MD4He+wA==</consumerSecret>
<executionUser>[email protected]</executionUser>
334
AuthProviderMetadata Types
<friendlyName>FacebookAuthProvider</friendlyName>
<providerType>Facebook</providerType>
<registrationHandler>RegistrationHandler</registrationHandler>
<sendSecretInApis>true</sendSecretInApis>
</AuthProvider>
This example package manifest references the previous AuthProvider definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FacebookAuthProvider</members>
<name>AuthProvider</name>
</types>
<version>28.0</version>
</Package>
Usage
Salesforce provides default authentication providers, called Salesforce-managed auth providers, to simplify setting up these service
providers for authentication.
Apple
Facebook
GitHub
Google
Janrain
LinkedIn
Microsoft
Microsoft Access Control Service
MuleSoft
Salesforce
Slack
To use a Salesforce-managed auth provider, leave these fields blank when creating your auth provider from the Auth. Provider Setup
page.
authorizeUrl
consumerKey
consumerSecret
defaultScopes
tokenURL
userInfoUrl
Note: If you provide a value for one of these fields, you must also provide a value for consumerKey and consumerSecret.
335
AuthProviderMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AutoResponseRules
Represents an auto-response rule that sets conditions for sending automatic email responses to lead or case submissions based on the
attributes of the submitted record. You can access rules metadata for all applicable objects, for a specific object, or for a specific rule on
a specific object.
The package.xml syntax for accessing all auto-response rules for all objects is:
<types>
<members>*</members>
<name>AutoResponseRules</name>
</types>
All rules for a specific object use a similar syntax without the wildcard. For example, all auto-response rules for the Case object would
use this syntax:
<types>
<members>Case</members>
<name>AutoResponseRules</name>
</types>
You can also access specific auto-response rules for an object. The following example only accesses the samplerule and newrule
auto-response rules on the Case object. Notice that for this example the type name syntax is AutoResponseRule and not
AutoResponseRules.
<types>
<members>Case.samplerule</members>
<members>Case.newrule</members>
<name>AutoResponseRule</name>
</types>
File Suffix and Directory Location
AutoResponseRules for an object have the suffix .autoResponseRules and are stored in the autoResponseRules folder.
For example, all Case auto-response rules are stored in the Case.autoResponseRules file.
Version
AutoResponseRules components are available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Represents the definitions of the named auto-response rules.AutoResponseRule[]autoresponseRule
336
AutoResponseRulesMetadata Types
AutoResponseRule
Represents whether a rule is active or not and the order in which the entry is processed in the rule.
DescriptionField TypeField Name
Indicates whether the autoresponse rule is active (true)
or not (false).
booleanactive
Inherited from Metadata, this field is defined in the WSDL
for this metadata type. It must be specified when creating,
stringfullname
updating, or deleting. See createMetadata() to see
an example of this field specified for a call.
This value can't be null.
Represents the type and description for the auto-response
rule.
RuleEntry[]ruleEntry
RuleEntry
Represents the fields used by the rule.
DescriptionField TypeField Name
Advanced filter conditions that were specified for the rule.stringbooleanFilter
The items in the list that define the assignment criteria.FilterItem[]criteriaItems
The validation formula.
Specify either formula or criteriaItems, but not
both fields.
stringformula
The email address that appears in the reply-to header.stringreplyToEmail
The email address of the person or queue sending the email
notification.
stringsenderEmail
The name of the person or queue sending the email
notification.
stringsenderName
Specifies the template to use for the email that is
automatically sent to the designated recipient.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringtemplate
337
AutoResponseRulesMetadata Types
Declarative Metadata Sample Definition
The following is an example AutoResponseRules component:
<AutoResponseRules xmlns="http://soap.sforce.com/2006/04/metadata">
<autoResponseRule>
<fullName>ajbdeploytest2</fullName>
<active>false</active>
<ruleEntry>
<criteriaItems>
<field>Case.Description</field>
<operation>contains</operation>
<value>testing</value>
</criteriaItems>
<senderEmail>[email protected]</senderEmail>
<senderName>tester name j</senderName>
<replyToEmail>test@@test.org</replyToEmail>
<template>emailtemplate</template>
</ruleEntry>
</autoResponseRule>
</AutoResponseRules>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BatchCalcJobDefinition
Represents a Data Processing Engine definition.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
BatchCalcJobDefinition components have the suffix .batchCalcJobDefinition and are stored in the
batchCalcJobDefinitions folder.
Version
BatchCalcJobDefinition components are available in API version 51.0 and later.
Special Access Rules
To use this metadata type, one of these licenses is required:
Loyalty Management
338
BatchCalcJobDefinitionMetadata Types
Financial Services Cloud
Rebate Management
Manufacturing Cloud
Net Zero Cloud
Fields
DescriptionField TypeField Name
Collection of aggregate nodes in a data processing engine.BatchCalcJob
Aggregate[]
aggregates
Collection of append nodes in a data processing engine.BatchCalcJobUnion[]appends
Collection of custom nodes in a data processing engine. Available in API
version 57.0 and later.
BatchCalcJobCustomNode[]customNodes
Stores the Data Space API Name from Data Cloud. Available in API version
60.0 and later.
stringdataSpaceApiName
Collection of data source nodes in a data processing engine.BatchCalcJob
Datasource[]
datasources
Description of a data processing engine definition.stringdescription
The platform that's used to run the Data Processing Engine definition.
Valid values are:
ExecutionPlatformType(enumeration
of type string)
executionPlatformType
CRMA
CDP
CORE
Available in API version 59.0 and later.
Collection of filter nodes in a data processing engine. definition.BatchCalcJobFilter[]filters
Collection of forecast nodes in a data processing engine. definition.
Available in API version 58.0 and later.
BatchCalcJobForecast[]forecasts
Collection of hierarchy path nodes in a data processing engine definition.BatchCalcJobHierarchyPath[]hierarchyPaths
Indicates whether its a template data processing engine definition.booleanisTemplate
Collection of join nodes in a data processing engine.BatchCalcJobSource
Join[]
joins
The label of a data processing engine definition.stringlabel
Collection of input variables in a data processing engine.BatchCalcJobParameter[]parameters
The process type of a data processing engine. Valid values are:BatchCalcProcessType
(enumeration of
type string)
processType
AccountingSubledgerThis value is reserved for internal
use.
339
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
ActionableList
AdvancedAccountForecast
BenefitManagement
CDPEnrichment
CriteriaBsdSearchAndFilter
DataProcessingEngine
DecisionMatrixDataUpload
Education
FSCHierarchyRollUp
Loyalty
LoyaltyPartnerManagement
LoyaltyPointsAggregation
NetZero
ProgramBasedBusiness
ProviderSearchThis value is reserved for internal use.
Rebates
Status of a data processing engine definition. Valid values are:BatchJobDefinition
Status
status
Active
(enumeration of
type string)
Inactive
Collection of data transformation nodes in a data processing engine.BatchCalcJobTransform[]transforms
Collection of writeback objects in which the results of the data processing
engine are written back.
BatchCalcJobWriteback
Object[]
writebacks
BatchCalcJobAggregate
Represents a collection of fields relating to an aggregate node in a data processing engine.
Fields
DescriptionField TypeField Name
Description of an aggregate node.stringdescription
Required. Collection of aggregation fields.BatchCalcJob
AggregateField[]
fields
Required. Collections of fields used to group data in an aggregate node.string[]groupBy
Required. Label of an aggregate node.stringlabel
Required. Name of an aggregate node.stringname
340
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Required. Name of the source node.stringsourceName
BatchCalcJobAggregateField
Represents a collection of fields relating to an aggregation field in an aggregate node of a data processing engine.
Fields
DescriptionField TypeField Name
Required. Function used for aggregation.
Valid values are:
BatchCalcJobAggregateFunction
(enumeration of type
string)
aggregateFunction
UniqueA count of unique values.
SumThe sum of all values.
MaxThe largest value.
MinThe smallest value.
AvgThe average value, calculated as the mean.
StdThe standard deviation.
StdpA standard deviation with population variance.
VarThe variance.
VarPThe variance with population.
CountThe total count of values.
Required. Name that subsequent nodes within the data processing engine use
to refer to the aggregate field.
stringalias
Required. Source node field on which the aggregate is calculated.stringsourceFieldName
BatchCalcJobCustomNode
Represents a collection of custom nodes in a data processing engine. Use a custom node to add a custom action.
Fields
DescriptionField TypeField Name
Description of a custom node.stringdescription
Required. Name of an extension node.stringextensionName
Required. Namespace of an extension node.stringextensionNamespace
Required. Label of a custom node.stringlabel
341
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Required. Name of a custom node.stringname
The field mappings of an extension node.BatchCalcJob
CustomNodeParameter[]
parameters
Sources of an extension node.string[]sources
BatchCalcJobCustomNodeParameter
Represents the field mappings of an extension node.
Fields
DescriptionField TypeField Name
Required. Name of a parameter.stringname
Required. Value of a parameter.stringvalue
BatchCalcJobDatasource
Represents a collection of fields relating to a data source node in a data processing engine.
Fields
DescriptionField TypeField Name
Specifies the field separator to read fields from a CSV file record.
Possible values are:
BatchCalcJobCSVDelimiter
(enumeration of type
string)
CSVDelimiter
COMMA
BACKQUOTE
CARET
PIPE
SEMICOLON
TAB
The default value is COMMA.
The same delimiter value used for the CSV file cant be used within any of the
column values in the file. If you mistakenly use the same delimiter value in
column values, it can cause data parsing issues.
Description of a data source node.stringdescription
342
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Required. Collection of data source fields.BatchCalcJob
DatasourceField[]
fields
Specifies the source of the file or file storage system.stringfileIdentifier
The file path for the specified file.stringfilePath
Specifies the source of the file or file storage system.
Possible value is:
BatchCalcJobFileSource
(enumeration of type
string)
fileSource
ContentManagement
Required. Label of a data source node.stringlabel
Required. Name of a data source node.stringname
Required. Name of a standard or custom object from which the data source
node extracts data.
stringsourceName
Required. Type of object for the source object field. Supported values are:BatchCalcJobDataSource
Type (enumeration of
type string)
type
Analytics
CalculatedInsightsObject
CRMObject
CSV
DataModelObject
StandardObject
.
BatchCalcJobDatasourceField
Represents a collection of fields relating to a source object field that are selected in the data source node of a data processing engine.
Fields
DescriptionField TypeField Name
Name that subsequent nodes within the data processing engine use to refer
to the data source field. Required when the field name is lookup.
stringalias
Specifies the data type of the input field when using a CSV file as a data source.
Possible values are:
BatchCalcJobDataType
(enumeration of type
string)
dataType
Text
Numeric
Date
DateTime
343
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Indicates whether a column name is the primary key (true) or not (false)
for the Data Cloud CSV file.
booleanisPrimaryKey
Required. Name of the field. Can be either of the following:stringname
Name of the source field selected in the associated data source object.
Name from a nested lookup object with three child levels.
BatchCalcJobFilter
Represents a collection of fields relating to a filter node in a data processing engine.
Fields
DescriptionField TypeField Name
Collection of filter criteria in a filter node.
The field is required when isDynamicFilter is set to False.
BatchCalcJobFilter
Criteria[]
criteria
Description of the batch calculation job filter.stringdescription
Logic that is specified to apply the filter conditions.
The field is required when isDynamicFilter is set to False.
stringfilterCondition
Name of the parameter of type filter.stringfilterParameterName
Indicates whether the filter criteria is dynamic. If value is set to True, filter
criteria is passed in runtime with filterParameterName.
booleanisDynamicFilter
Required. Label of the filter node.stringlabel
Required. Name of the filter node.stringname
Required. Name of the source node.stringsourceName
BatchCalcJobForecast
Represents a collection of fields relating to a forecast node in a data processing engine. Available in API version 58.0 and later.
344
BatchCalcJobDefinitionMetadata Types
Fields
DescriptionField TypeField
Name
The interval percentage to
account for errors in
forecasts.
BatchCalcJobFrcstAccuracy (enumeration of type string)accuracyPercent
Possible values are:
Eighty
NinetyFive
None
The default value is None.
The list of fields to
forecast.
BtchCalcJobFrcstAggrFld[]aggregationFields
Required.
The date field from the
source node used to
stringdateFieldName
forecast values for the
specified forecast length.
The description of the
forecast node.
stringdescription
The model used to
forecast data.
Possible values are:
BatchCalcJobFrcstModel (enumeration of type string)forecastModelType
Additive
Auto
Multiplicative
The default value is Auto.
The number of time
periods to generate
intforecastPeriodCount
forecast data. For example,
if you select Year-Month
as the forecast period
type, and 4 as the forecast
period count, the forecast
results are generated for
the next 4 months.
The minimum and the
default count is 1, and the
maximum is 100.
345
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField
Name
Required.
The type of forecast period
to group date field values
in the forecast results.
BatchCalcJobFrcstPeriodType (enumeration of type string)forecastPeriodType
Possible values are:
FiscalYear
FiscalYearMonth
FiscalYearQuarter
FiscalYearWeek
Year
YearMonth
YearMonthDay
YearQuarter
YearWeek
The source fields for
grouping the data to be
BatchCalcJobFrcstGrpFld[]groupFields
processed by the forecast
node.
Required.
The name of the forecast
node in the UI.
stringlabel
Required.
A unique name for the
forecast node.
stringname
Required.
The start date of the
forecast period.
stringperiodStartDateName
Represents the periodic
fluctuations that occur
BatchCalcJobFrcstSeasonality (enumeration of type string)seasonality
around the same time
every year.
Possible values are:
Two
Three
Four
Five
346
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField
Name
Six
Seven
Eight
Nine
Ten
Eleven
Twelve
Thirteen
Fourteen
Fifteen
Sixteen
Seventeen
Eighteen
Nineteen
Twenty
TwentyOne
TwentyTwo
TwentyThree
TwentyFour
Auto
None
The default value is None.
Indicates whether to
ignore the last period in
booleanshouldExcludeLastPeriod
the source node when it
has incomplete data
(true) or not (false).
The default value is
false.
Required.
The name of the source
node.
stringsourceName
A source can be any node
other than the datasink
and register node.
347
BatchCalcJobDefinitionMetadata Types
BtchCalcJobFrcstAggrFld
Represents a list of fields to forecast in a forecast node.
DescriptionField TypeField Name
Required.
The function of the aggregate field.
BatchCalcJobAggregateFunction
(enumeration of type string)
aggregateFunction
Possible values are:
Avg
Count
Max
Min
Std
StdP
Sum
Unique
Var
VarP
Required.
The name of the aggregation result generated from
the aggregation function thats applied to the source
node field.
stringaggregationResultLabel
Required.
The name of the source field.
stringfieldName
BatchCalcJobFrcstGrpFld
Represents source fields for grouping the data to be processed by the forecast node.
DescriptionField TypeField Name
Required.
The name of the source field to group the data to be processed by the
forecast node.
stringfieldName
A comma-separated list of values to group data by.
Required when the source field type is Date or DateTime.
stringgroupBy
Possible values are:
Second
Second Epoch
348
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Minute
Hour
Day
Day Epoch
Week
Month
Quarter
Year
BatchCalcJobHierarchyPath
Represents a collection of hierarchy path nodes in a data processing engine definition.
Fields
DescriptionField TypeField Name
Description of the hierarchy path node.stringdescription
Required. Field name that contains the hierarchy path.stringhierarchyFieldName
Indicates whether the self value is included in the calculated hierarchy path
(True) or not (False).
booleanisSelfFieldValueIncluded
Required. Label of the hierarchy path node.stringlabel
Required. Name of the hierarchy path node.stringname
Required. Parent field name to calculate hierarchy path.stringparentFieldName
Required. Self field name to calculate hierarchy path.stringselfFieldName
Required. Name of the source node.stringsourceName
BatchCalcJobFilterCriteria
Represents a collection of fields relating to a filter condition in a filter node in a data processing engine.
349
BatchCalcJobDefinitionMetadata Types
Fields
DescriptionField TypeField Name
Name of the input variable used as a filter.stringinputVariable
Required. Operator that is specified in the filter condition.
Valid values are:
BatchCalcJobFilter
Operator
(enumeration of type
string)
operator
Equals
NotEquals
GreaterThan
GreaterThanOrEqual
LessThan
LessThanOrEqual
StartsWith
EndsWith
Contains
DoesNotContain
IsNull
IsNotNull
In
NotIn
Required. Sequence number used to refer the criteria in a filter node.integersequence
Required. Name of the field from the source node to apply the filter.stringsourceFieldName
Value used to filter data from the source node.stringvalue
BatchCalcJobParameter
Represents a collection of fields relating to an input variable in a data processing engine.
Fields
DescriptionField TypeField Name
Required. Data type of the parameter. Valid values are:BatchCalcJobParameter
DataType
dataType
Date
(enumeration of type
string)
DateTime
Expression
FileIdentifier
Filter
350
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Numeric
Text
Default value of the parameter.stringdefaultValue
Description of the batch calculation job parameter.stringdescription
Indicates whether the parameter has different values (True) or not (False).
This field is supported only for the Text data type.
booleanisMultiValue
Required. Label of the batch calculation job parameter.stringlabel
Required. Name of the batch calculation job parameter.stringname
BatchCalcJobSourceJoin
Represents a collection of fields relating to a join node in a data processing engine.
Fields
DescriptionField TypeField Name
Description of the join node.stringdescription
Collection of fields in a join node.BatchCalcJobJoin
ResultField[]
fields
Collection of mapping of fields from the primary source node and the second
source node in a join node.
BatchCalcJobJoin
Key[]
joinKeys
Required. Label of the join node.stringlabel
Required. Name of the join node.stringname
Required. Name associated with the node as the primary source node.stringprimarySourceName
Required. Name associated with the node as the secondary source node.stringsecondarySourceName
Required. Type of join specified between the primary source node and
secondary source node. Valid values are:
BatchCalcJobSource
JoinType
(enumeration of type
string)
type
LeftOuter
RightOuter
Inner
Outer
Lookup
351
BatchCalcJobDefinitionMetadata Types
BatchCalcJobJoinKey
Represents a collection of fields relating to a mapping of fields from the first source node and second source node in a join node of a
data processing engine.
Fields
DescriptionField TypeField Name
Required. Mapped field name of the primary source node.stringprimarySourceFieldName
Required. Mapped field name of the secondary source node.stringsecondarySourceFieldName
BatchCalcJobJoinResultField
Represents a collection of fields relating to a set of resultant fields in a join node of a data processing engine.
Fields
DescriptionField TypeField Name
Required. Name that subsequent nodes within the data processing engine
definition use to refer to the resultant field.
stringalias
Required. Name of field from the primary or secondary data source.stringsourceFieldName
Required. Source node of the primary or secondary data source.stringsourceName
BatchCalcJobTransform
Represents a collection of fields relating to a data transformation in a data processing engine.
Fields
DescriptionField TypeField Name
The description of the batch calculation job transform.stringdescription
The collection of dropped fields in a data transformation. Available when the
transformation type is Slice.
BatchCalcJobTransform
DroppedField[]
droppedFields
The collection of formula fields in a data transformation. Available when the
transformation type is Expression.
BatchCalcJobTransform
AddedField[]
expressionFields
Required. The label of the batch calculation job transform.stringlabel
Required. The name of the batch calculation job transform.stringname
352
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
A collection of fields thats used to sort the records within each partition group.BatchCalcJobOrderByField
on page 354[]
orderBy
A group of fields thats used to partition the source data into partition groups.string[]partitionBy
Required. Name of the source node.stringsourceName
Required. The type of transformation.
Valid values are:
BatchCalcJobTransform
Type (enumeration of
type string)
transformType
ComputeRelative—This transformation calculates values based on
values of the same partition group.
ExpressionThis transformation calculates values based on existing
values of fields in the same record.
SliceThis transformation removes fields from the source node.
BatchCalcJobTransformDroppedField
Represents a collection of fields relating to a dropped field in a data transformation of a data processing engine.
Fields
DescriptionField TypeField Name
Required. Name of the field that is dropped.stringsourceFieldName
BatchCalcJobTransformAddedField
Represents a collection of fields relating to a formula in a data transformation of a data processing engine.
Fields
DescriptionField TypeField Name
Required. Name that subsequent nodes within the data processing engine use
to the transform node.
stringalias
Required. Data type of the formula.
Valid values are:
BatchCalcJobData
Type (enumeration of
type string)
dataType
Text
Numeric
Date
DateTime
353
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
Number of digits to the right of a decimal point in the value. Required for the
Numeric data type.
integerdecimalPlaces
Required. Formula defined by the user.stringexpression
Total length of the value including the decimal places. Required for data types:
Text and Numeric.
integerlength
BatchCalcJobOrderByField
Represents a collection of fields that are used to sort the partitioned data.
Fields
DescriptionField TypeField Name
Required. Name of the field that is used to sort data.stringname
Order in which the data is sorted.
Valid values are:
BatchCalcJobOrderType(enumeration
of type string)
orderType
Ascending
Descending
BatchCalcJobUnion
Represents a collection of fields relating to the union of data from two nodes in a data processing engine.
Fields
DescriptionField TypeField Name
Description of the batch calculation job union.stringdescription
Indicates whether the union is of two disjointed datasets (true) or not
(false). Set to True to allow joining of two datasets having no common
fields.
booleanisDisjointedSchema
Required. Label of the batch calculation job union.stringlabel
Required. Name of the batch calculation job union.stringname
Names of the source nodes.string[]sources
354
BatchCalcJobDefinitionMetadata Types
BatchCalcJobWritebackObject
Represents a collection of fields relating to the object in which the results of the data processing engine are written back.
Fields
DescriptionField TypeField Name
Descriptions of the batch calculation job writeback object.stringdescription
Unique external field ID for the target object name.
Available in API version 60.0 and later.
stringexternalIdFieldName
Collection of the writeback fields.BatchCalcJobWriteback
Mapping[]
fields
The condition that filters the records from a writeback dataset for a user.
Examples of a filter condition include a user ID, stage name, and a security
policy that returns only the records that a user owns.
Available in API version 57.0 and later.
stringfilterCondition
The folder where the writeback dataset is saved. Available in API version 57.0
and later.
stringfolderName
Indicates whether a row in the write back object is changed. Set to True to
write back the changed rows.
booleanisChangedRow
Required. Name of the write back object.stringlabel
Required. Name of the batch calculation job write back object.stringname
Type of operation specified.
Valid values are:
BatchCalcJobWriteback
Opn (enumeration of
type string)
operationType
DeleteThis value is available in API version 56.0 and later.
Insert
OverwriteAvailable only when storageType is
DataLakeObject. This value is available in API version 60.0 and later.
Update
Upsert
The name of the source object from which the row-level sharing inheritance
settings are applied. Available in API version 57.0 and later.
stringsharingInheritanceObjectName
Required. Name of the source node associated with the write back object.stringsourceName
Specifies where you want to use the data stored in the source node. Available
in API version 57.0 and later.
Valid values are:
BatchCalcJobWriteback
Type (enumeration of
type string)
storageType
Analytics
355
BatchCalcJobDefinitionMetadata Types
DescriptionField TypeField Name
DataLakeObject
sObject
The default value is sObject.
Required. Object that is inserted or upserted by the data processing engine.stringtargetObjectName
Sequence in which the target object is updated by the data processing engine.integerwritebackSequence
ID of the user whose permissions decide which objects and fields of the target
object can be updated.
stringwritebackUser
BatchCalcJobWritebackMapping
Represents a collection of fields relating to the mapping between results and the fields in the target object.
Fields
DescriptionField TypeField Name
Name of the lookup object. Required only when the relationshipName
field is defined.
stringparentName
Name of the lookup relationship.stringrelationshipName
Indicates whether the source field from runtime parameter is true or false.
The default value is false.
Available in API version 59.0 and later.
booleanruntimeParameter
Required. Name of the field in the source node that is written back.stringsourceFieldName
Name of the sObject field to which the results are written back.stringtargetFieldName
Declarative Metadata Sample Definition
The following is an example of a BatchCalcJobDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<BatchCalcJobDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<aggregates>
<description>Aggregate Description</description>
<fields>
<aggregateFunction>Count</aggregateFunction>
<alias>NameCount</alias>
<sourceFieldName>Name</sourceFieldName>
</fields>
<groupBy>ContactId</groupBy>
<groupBy>Name</groupBy>
<label>AggregateOpportunities</label>
356
BatchCalcJobDefinitionMetadata Types
<name>AggregateOpportunities</name>
<sourceName>Opportunity</sourceName>
</aggregates>
<forecasts>
<description>ForecastNode Description</description>
<label>ContactForecast</label>
<name>ContactForecast</name>
<sourceName>Contact</sourceName>
<dateFieldName>CreatedDate</dateFieldName>
<forecastPeriodType>YearMonth</forecastPeriodType>
<shouldExcludeLastPeriod>false</shouldExcludeLastPeriod>
<forecastPeriodCount>12</forecastPeriodCount>
<periodStartDateName>CreatedDateYM</periodStartDateName>
<forecastModelType>Auto</forecastModelType>
<seasonality>None</seasonality>
<accuracyPercent>None</accuracyPercent>
<aggregationFields>
<aggregateFunction>Count</aggregateFunction>
<aggregationResultLabel>CountOfLastName</aggregationResultLabel>
<fieldName>LastName</fieldName>
</aggregationFields>
<groupFields>
<fieldName>LastModifiedDate</fieldName>
<groupBy>Week</groupBy>
</groupFields>
</forecasts>
<appends>
<description>Append desc</description>
<isDisjointedSchema>true</isDisjointedSchema>
<label>AppendAllAccounts</label>
<name>AppendAllAccounts</name>
<sources>AccountsOfManufacturingIndustry</sources>
<sources>ComputeRelativeManufacturingIndustry</sources>
</appends>
<datasources>
<description>Desc Contact</description>
<fields>
<alias>Id</alias>
<name>Id</name>
<isPrimaryKey>false</isPrimaryKey>
<dataType>Text</dataType>
</fields>
<fields>
<alias>LastName</alias>
<name>LastName</name>
<isPrimaryKey>false</isPrimaryKey>
<dataType>Text</dataType>
</fields>
<fields>
<alias>CreatedDate</alias>
<name>CreatedDate</name>
<isPrimaryKey>false</isPrimaryKey>
<dataType>Date</dataType>
</fields>
357
BatchCalcJobDefinitionMetadata Types
<fields>
<alias>LastModifiedDate</alias>
<name>LastModifiedDate</name>
<isPrimaryKey>false</isPrimaryKey>
<dataType>Date</dataType>
</fields>
<label>Contact</label>
<name>Contact</name>
<sourceName>Contact</sourceName>
<type>StandardObject</type>
<fileSource>ContentManagement</fileSource>
<fileIdentifier>069xx0000004CAeAAM</fileIdentifier>
<CSVDelimiter>COMMA</CSVDelimiter>
<filePath>parentFolder/childFolder</filePath>
</datasources>
<datasources>
<fields>
<alias>Name</alias>
<name>Name</name>
<isPrimaryKey>false</isPrimaryKey>
<dataType>Text</dataType>
</fields>
<fields>
<alias>ContactId</alias>
<name>ContactId</name>
<isPrimaryKey>false</isPrimaryKey>
<dataType>Text</dataType>
</fields>
<label>Opportunity</label>
<name>Opportunity</name>
<sourceName>Opportunity</sourceName>
<type>StandardObject</type>
<fileSource>ContentManagement</fileSource>
<fileIdentifier>069xx0000004CAeAAM</fileIdentifier>
<CSVDelimiter>COMMA</CSVDelimiter>
<filePath>parentFolder/childFolder</filePath>
</datasources>
<description>Calculates and creates transaction journal records based on the orders
placed by the loyalty program members. The transaction journals are used to accrue points
to the member.</description>
<filters>
<criteria>
<operator>Equals</operator>
<sequence>1</sequence>
<sourceFieldName>LastName</sourceFieldName>
<value>Salesforce</value>
</criteria>
<description>Filter Desc</description>
<filterCondition>1</filterCondition>
<isDynamicFilter>false</isDynamicFilter>
<label>AccountsOfManufacturingIndustry</label>
<name>AccountsOfManufacturingIndustry</name>
<sourceName>AccountOpportunities</sourceName>
</filters>
358
BatchCalcJobDefinitionMetadata Types
<hierarchyPaths>
<description>Hierarchy Path Node</description>
<hierarchyFieldName>Hierarchy_Path</hierarchyFieldName>
<isSelfFieldValueIncluded>true</isSelfFieldValueIncluded>
<label>Get Hierarchy</label>
<name>Get_Hierarchy</name>
<parentFieldName>ContactId</parentFieldName>
<selfFieldName>LastName</selfFieldName>
<sourceName>AppendAllAccounts</sourceName>
</hierarchyPaths>
<isTemplate>false</isTemplate>
<joins>
<description>Left Outer Join</description>
<fields>
<alias>ContactId</alias>
<sourceFieldName>Id</sourceFieldName>
<sourceName>Contact</sourceName>
</fields>
<fields>
<alias>LastName</alias>
<sourceFieldName>LastName</sourceFieldName>
<sourceName>Contact</sourceName>
</fields>
<fields>
<alias>NameCount</alias>
<sourceFieldName>NameCount</sourceFieldName>
<sourceName>AggregateOpportunities</sourceName>
</fields>
<fields>
<alias>OpportunityName</alias>
<sourceFieldName>Name</sourceFieldName>
<sourceName>AggregateOpportunities</sourceName>
</fields>
<joinKeys>
<primarySourceFieldName>Id</primarySourceFieldName>
<secondarySourceFieldName>ContactId</secondarySourceFieldName>
</joinKeys>
<label>AccountOpportunities</label>
<name>AccountOpportunities</name>
<primarySourceName>Contact</primarySourceName>
<secondarySourceName>AggregateOpportunities</secondarySourceName>
<type>LeftOuter</type>
</joins>
<label>Create Transaction Journals Based on Orders</label>
<parameters>
<dataType>Date</dataType>
<defaultValue>2020-01-01</defaultValue>
<description>Desc TextParameter</description>
<isMultiValue>false</isMultiValue>
<label>DateParameter</label>
<name>DateParameter</name>
</parameters>
<parameters>
<dataType>Filter</dataType>
359
BatchCalcJobDefinitionMetadata Types
<defaultValue>{&quot;filterCondition&quot;: &quot;1 AND 2&quot;,
&quot;criteria&quot;: [{&quot;sourceFieldName&quot;:
&quot;NameCount&quot;,&quot;operator&quot;: &quot;GreaterThan&quot;,&quot;value&quot;:
&quot;20&quot;,&quot;sequence&quot;: &quot;1&quot;}, {&quot;sourceFieldName&quot;:
&quot;Name&quot;,&quot;operator&quot;: &quot;Equals&quot;,&quot;value&quot;:
&quot;Salesforce&quot;,&quot;sequence&quot;: &quot;2&quot;}]}</defaultValue>
<isMultiValue>false</isMultiValue>
<label>FilterParameter</label>
<name>FilterParameter</name>
</parameters>
<parameters>
<dataType>Numeric</dataType>
<defaultValue>5000</defaultValue>
<description>Desc TextParameter</description>
<isMultiValue>false</isMultiValue>
<label>NumericParameter</label>
<name>NumericParameter</name>
</parameters>
<parameters>
<dataType>Text</dataType>
<defaultValue>@salesforce.com</defaultValue>
<description>Desc TextParameter</description>
<isMultiValue>false</isMultiValue>
<label>TextParameter</label>
<name>TextParameter</name>
</parameters>
<processType>Rebates</processType>
<definitionRunMode>Batch</definitionRunMode>
<status>Inactive</status>
<transforms>
<description>transforms Desc</description>
<expressionFields>
<alias>NewLastName</alias>
<dataType>Text</dataType>
<expression>TODAY()</expression>
<length>80</length>
</expressionFields>
<label>ManufacturingIndustry</label>
<name>ManufacturingIndustry</name>
<sourceName>AccountsOfManufacturingIndustry</sourceName>
<transformationType>Expression</transformationType>
</transforms>
<transforms>
<droppedFields>
<sourceFieldName>NewLastName</sourceFieldName>
</droppedFields>
<label>MediaIndustry</label>
<name>MediaIndustry</name>
<sourceName>ManufacturingIndustry</sourceName>
<transformationType>Slice</transformationType>
</transforms>
<transforms>
<description>compute relative transforms Desc</description>
<expressionFields>
360
BatchCalcJobDefinitionMetadata Types
<alias>NewLastName</alias>
<dataType>Text</dataType>
<expression>rank()</expression>
<length>80</length>
</expressionFields>
<label>ComputeRelativeManufacturingIndustry</label>
<name>ComputeRelativeManufacturingIndustry</name>
<orderBy>
<name>LastName</name>
<orderType>Ascending</orderType>
</orderBy>
<partitionBy>LastName</partitionBy>
<sourceName>MediaIndustry</sourceName>
<transformationType>ComputeRelative</transformationType>
</transforms>
<customNodes>
<name>RebatesCustomNode</name>
<label>Rebates Custom Node</label>
<description>customNodes Desc</description>
<sources>Get_Hierarchy</sources>
<extensionName>RebatesExpression</extensionName>
<extensionNamespace>industries_mfg</extensionNamespace>
<parameters>
<name>inputColumn</name>
<value>LastName</value>
</parameters>
<parameters>
<name>isFilterCriteria</name>
<value>true</value>
</parameters>
<parameters>
<name>outputColumn</name>
<value>GenName</value>
</parameters>
</customNodes>
<writebacks>
<fields>
<sourceFieldName>GenName</sourceFieldName>
<targetFieldName>LastName</targetFieldName>
</fields>
<isChangedRow>false</isChangedRow>
<label>exportToContact</label>
<name>exportToContact</name>
<description>Export To Contact</description>
<operationType>Insert</operationType>
<sourceName>RebatesCustomNode</sourceName>
<targetObjectName>Contact</targetObjectName>
<writebackSequence>1</writebackSequence>
</writebacks>
<writebacks>
<fields>
<sourceFieldName>CreatedDateYM</sourceFieldName>
<targetFieldName>CreatedDate</targetFieldName>
</fields>
361
BatchCalcJobDefinitionMetadata Types
<isChangedRow>false</isChangedRow>
<isExistingDataset>false</isExistingDataset>
<label>exportToContactFC</label>
<name>exportToContactFC</name>
<description>Export To Contact</description>
<operationType>Insert</operationType>
<sourceName>ContactForecast</sourceName>
<targetObjectName>Contact</targetObjectName>
<writebackSequence>2</writebackSequence>
</writebacks>
</BatchCalcJobDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2020 Salesforce, Inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>BatchCalcJobDefinition</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BatchProcessJobDefinition
Represents the details of a Batch Management job definition. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
BatchProcessJobDefinition components have the suffix .batchProcessJobDefinition and are stored in the
batchProcessJobDefinitions folder.
Version
BatchProcessJobDefinition components are available in API version 51.0 and later.
362
BatchProcessJobDefinitionMetadata Types
Special Access Rules
To use this metadata type, your Salesforce org must have the Loyalty Management or the Rebate Management license. The Loyalty
Program Process type is only available in orgs that have Loyalty Management enabled.
Fields
DescriptionField TypeField Name
Required. Number of records that each Batch Management job can
process. Flow type Batch Management jobs can process up to 2000
integerbatchSize
records and Loyalty Program Process type Batch Management jobs can
process up to 250 records.
Required. Source of information whose records must be processed by
the Batch Management job.
BatchDataSource
on page 364[]
dataSource
Description of the Batch Management job, up to 255 characters.stringdescription
API name of process that must be executed by the Batch Management
job. This field is available in API version 55.0 and later.
stringexecutionProcessApiName
If the batch jobs type is Flow, enter the API name of an active flow
that the batch job must execute.
If the batch jobs type is Loyalty Program Process, enter:
Transaction_Journals if you want the batch job to process
Transaction Journal records by applying the applicable active
loyalty program process of the type TransactionJournal.
API name of an active loyalty process of the type TierProcessing
if you want the batch job to run the loyalty program process to
assess the tier of eligible members. The API name consists of the
name of the process, the process type, and the name of the
loyalty program separated by two consecutive underscores. For
example, the process API name is Update Member
Tier__TierProcessing__Inner Circle if the
process name is Update Member Tier, the process type is
TierProcessing, and the loyalty program name is Inner Circle.
You can use database-based APEX classes that let you use flex queues in
the Batch Management job, allowing to place more than 5 jobs in a
queue. This functionality is applicable to all Industry Clouds that use
managed packages. See Apex Flex Queue.
API name of an active flow process that must be executed by the Batch
Management job.
stringflowApiName
Note: You can either specify the flow API name in the
executionProcessApiName field or in the
flowApiName field.
363
BatchProcessJobDefinitionMetadata Types
DescriptionField TypeField Name
Input variable of associated flow that is used by the batch job to uniquely
identify records.
stringflowInputVariable
Required. Name of the Batch Management job, up to 80 characters.stringmasterLabel
Required. Name of the group for which the Batch Management job
processes records.
stringprocessGroup
Required. Number of times this Batch Management job must be rerun
in case it fails. The maximum retry count is 3. Valid values are 13.
integerretryCount
Required. Number of milliseconds after which the Batch Management
job must be rerun in case it fails. Valid values are 1,00010,000.
integerretryInterval
Indicates the status of the Batch Management job. Valid values are
Active and Inactive.
stringstatus
The type of process that the Batch Management job must execute. This
field is available in API version 55.0 and later. Valid values are:
string (enumeration
of type string)
type
Flow
Loyalty Program Process
BatchDataSource
Represents the source of information whose records must be processed by the Batch Management job.
Fields
DescriptionField TypeField Name
Required. Criteria defined to filter the records.stringcondition
Type of filter criteria thats used to filter records for processing.stringcriteria
Filter criterion that decides which records must be processed by the Batch
Management job.
BatchDataSrcFilterCriteria
on page 365[]
filters
Required. API name of an object whose records must be processed by the
batch job.
If the batch job type is Loyalty Program Process, the source object must be:
stringsourceObject
TransactionJournal if the batch job is used to process transaction journals
by applying the applicable loyalty program process.
An object that stores the details of loyalty program members whose tier
must be assessed by the loyalty program process specified in the
executionProcessApiName field.
364
BatchProcessJobDefinitionMetadata Types
DescriptionField TypeField Name
API name of the source object field that uniquely identifies records for which
the batch job is executed. This field is available in API version 57.0 and later.
This field is only applicable when the batch jobs type is Loyalty Program Process
and a TierProcess type active loyalty program process is specified in the
stringsourceObjectField
executionProcessApiName field. Specify the API name of a field that
is a lookup to the LoyaltyProgramMember object and uniquely identifies the
members whose tier must be assessed.
BatchDataSrcFilterCriteria
Represents the filter conditions that decide which records must be processed by the Batch Management job.
Fields
DescriptionField TypeField Name
Data type of the input variable used as a filter.stringdynamicValueType
Required. Name of the field that must be used to filter records.stringfieldName
Required. Value of the field that must be filtered. Specify the field if
isDynamicValue is set to False.
stringfieldValue
Required. Indicates whether the filter criteria is dynamic.booleanisDynamicValue
Required. Operator that is specified in the filter criteria. Valid values are:string (enumeration
of type string)
operator
equals
excludes
greaterThan
greaterThanOrEqualTo
in
includes
lessThan
LessThanOrEqualTo
GreaterOrEqual
like
notEquals
notIn
Required. Sequence number used to refer the criteria in a filter.integersequenceNo
365
BatchProcessJobDefinitionMetadata Types
Declarative Metadata Sample Definition
The following is an example of a BatchProcessJobDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<BatchProcessJobDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<batchSize>10</batchSize>
<dataSource>
<condition>1</condition>
<criteria>all</criteria>
<filters>
<dynamicValue>false</dynamicValue>
<dynamicValueType>string</dynamicValueType>
<fieldName>Name</fieldName>
<fieldValue>abcd</fieldValue>
<operator>equals</operator>
<sequenceNo>1</sequenceNo>
</filters>
<sourceObject>Account</sourceObject>
</dataSource>
<flowApiName>Flow1</flowApiName>
<flowInputVariable>recordId</flowInputVariable>
<masterLabel>BatchJob1</masterLabel>
<processGroup>Loyalty</processGroup>
<retryCount>2</retryCount>
<retryInterval>1000</retryInterval>
<status>Inactive</status>
<description>test</description>
<type>Flow</type>
<executionProcessApiName>testFlow</executionProcessApiName>
</BatchProcessJobDefinition>
The following is an example of a Flow object used in Metadata API.
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2020 Salesforce, Inc.
~ All Rights Reserved
~ Company Confidential
-->
<Flow xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>51.0</apiVersion>
<interviewLabel>Flow1 {!$Flow.CurrentDateTime}</interviewLabel>
<label>Flow1</label>
<processMetadataValues>
<name>BuilderType</name>
<value>
<stringValue>LightningFlowBuilder</stringValue>
</value>
</processMetadataValues>
<processMetadataValues>
<name>OriginBuilderType</name>
<value>
366
BatchProcessJobDefinitionMetadata Types
<stringValue>LightningFlowBuilder</stringValue>
</value>
</processMetadataValues>
<processType>AutoLaunchedFlow</processType>
<recordLookups>
<name>getAcc</name>
<label>getAcc</label>
<locationX>614</locationX>
<locationY>465</locationY>
<assignNullValuesIfNoRecordsFound>false</assignNullValuesIfNoRecordsFound>
<filterLogic>and</filterLogic>
<filters>
<field>Id</field>
<operator>EqualTo</operator>
<value>
<elementReference>recordId</elementReference>
</value>
</filters>
<getFirstRecordOnly>true</getFirstRecordOnly>
<object>Account</object>
<storeOutputAutomatically>true</storeOutputAutomatically>
</recordLookups>
<start>
<locationX>73</locationX>
<locationY>213</locationY>
<connector>
<targetReference>getAcc</targetReference>
</connector>
</start>
<status>Draft</status>
<variables>
<name>recordId</name>
<dataType>String</dataType>
<isCollection>false</isCollection>
<isInput>true</isInput>
<isOutput>false</isOutput>
</variables>
</Flow>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>BatchProcessJobDefinition</name>
</types>
<types>
<members>Flow1</members>
<name>Flow</name>
</types>
<version>51.0</version>
</Package>
367
BatchProcessJobDefinitionMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BlacklistedConsumer
Represents a connected app that is inaccessible to your Salesforce orgs users. This type extends the Metadata metadata type and inherits
its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
BlacklistedConsumer components have the suffix .blacklistedConsumer and are stored in the blacklistedConsumers
folder.
Version
BlacklistedConsumer components are available in API version 49.0 and later.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Set to true to apply the Permitted Users policy, Admin approved
users are pre-authorized to all connected apps in the org.
booleanblockedByApiWhitelisting
This policy limits access to only users with the associated profile or
permission set assigned to the app. Set to false to allow access to
the connected app. False is the default value.
Required. A value used by the consumer for identification of the
connected app to Salesforce. Referred to as client_id in OAuth 2.0.
After you define and save the value, it cant be edited. The value must
be alphanumeric, cant contain special characters or spaces, and must
be between 8256 characters. Consumer keys must be globally unique.
stringconsumerKey
Required. The name of the connected app being blocked.stringconsumerName
Required. The primary label for the connected app record.stringmasterLabel
368
BlacklistedConsumerMetadata Types
Declarative Metadata Sample Definition
The following is an example of a component.
<BlacklistedConsumer xmlns="http://soap.sforce.com/2006/04/metadata">
<consumerKey>testConsumerKey</consumerKey>
<consumerName>testName</consumerName>
<blockedByApiWhitelisting>false</blockedByApiWhitelisting>
<masterLabel>myTest</masterLabel>
</BlacklistedConsumer>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>BlacklistedConsumer</name>
</types>
<version>49.0</version>
</Package>
Usage
Use this type judiciously for connected apps that you want to make inaccessible to your orgs users. Blocking an app ends all current
user sessions and prevents future sessions. To block malicious attempts to access your orgs data, we recommend using API Access
Control instead. This feature restricts users from accessing your Salesforce APIs unless they are pre-authorized through an approved
connected app.
Bot
Represents a definition of an Einstein Bot configuration that can have one or more versions. Only one version can be active.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Bot components have the suffix .bot and are stored in the bot folder.
Version
Bot components are available in API version 43.0 and later.
Special Access Rules
Bot is available only if Chat and Einstein Bots are enabled in your org.
369
BotMetadata Types
Fields
DescriptionField TypeField Name
Represents the Einstein intent set that groups intents, entities, and
variables associated with a bot. All Einstein Bot versions under the same
bot now share an intent set. Available in API version 44.0 and later.
LocalMlDomain on
page 370
botMlDomain
Represents a user profile associated with the bot. Available in API version
46.0 and later.
stringbotUser
Represents the configuration details for a specific Einstein Bots version,
including dialogs, intents, entities, and variables.
BotVersion on page
388
botVersions
Represents the context variables that enable your bot to gather customer
information regardless of channel. Available in API 45.0 and later.
ConversationContextVariable
on page 370
contextVariables
Represents a list of the conversation channels linked to the bot. Available
in API version 51.0 and later.
ConversationDefinitionChannelProvider
[] on page 372
conversationChannelProviders
A description of the bot.stringdescription
Label that identifies the bot throughout the Salesforce user interface.stringlabel
Specifies whether to log customer inputs as part of conversation data
(true) or not (false). Available in API version 48.0 and later.
booleanlogPrivateConversationData
Represents the maximum amount of minutes that a bot session can be
idle. Available in API version 58.0 and later.
intsessionTimeout
LocalMlDomain
An Einstein Intent Set local to the current bot version.
DescriptionField TypeField Name
Label that represents an Einstein Intent Set local to the current bot version
throughout the Salesforce user interface.
stringlabel
List of intents associated with this local intent set.MlIntent[]mlIntents
List of entities associated with this local intent set.MlSlotClass[]mlSlotClasses
Required. This unique name prevents conflicts with other local Einstein Intent
Sets. This name can contain only underscores and alphanumeric characters
stringname
and must be unique in your org. It must begin with a letter, not include spaces,
not end with an underscore, and not contain two consecutive underscores.
ConversationContextVariable
A context variable local to the current bot version. Available in API version 45.0 and later.
370
BotMetadata Types
DescriptionField TypeField Name
Represents the mapping between a context variable, channel type, and sObject
field.
ConversationContextVariableMapping
on page 371
contextVariableMappings
Required. Represents the data type of the context variable. Valid values are:ConversationDataType
(enumeration of type
string)
dataType
Text
Number
Boolean
Object
Date
DateTime
Currency
Id
Required. Represents the name of the context variable. Can contain only
underscores and alphanumeric characters and must be unique in your org. It
stringdeveloperName
must begin with a letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores.
Required. A label that identifies the context variable throughout the Salesforce
user interface.
stringlabel
Valid values are:stringSObjectType
BotDefinition
Queue
ConversationContextVariableMapping
Represents the mapping between a context variable, channel type, and sObject field.
DescriptionField TypeField Name
Required. The API name of an SObject field to be used as part of the mapping.stringfieldName
Required. Represents the message channel. Valid values are:MessageType
(enumeration of type
string)
messageType
Alexa
AppleBusinessChatMessages sent in enhanced Apple Messages
for Business channels.
EmbeddedMessagingMessages sent in Messaging for In-App and
Web channels. Available in API version 50.0 and later.
Facebook
GoogleHome
Line
Omega
371
BotMetadata Types
DescriptionField TypeField Name
Phone
Text
WeChat
WebChat
WhatsApp
Required. SObject type for the field property defined as part of the mapping.
Valid values are:
stringSObjectType
LiveChatTranscript
MessagingEndUser
MessagingSession
ConversationDefinitionChannelProvider
The developer name of a conversation channel linked to the bot. Available in API version 51.0 and later.
Note: To add, edit, or remove a messaging channel, you must use the UI. If you deploy a bot with messaging channel providers,
those providers arent visible in Metadata API.
DescriptionField TypeField Name
Specifies whether an agent must be online for the bot to be active (true) or
not (false) The default is false.
booleanagentRequired
Required. The developer name of a LiveChatButton metadata component.stringchatButtonName
Declarative Metadata Sample Definition
The following is an example of a Bot. This example has been trimmed to make it easier to read.
<?xml version="1.0" encoding="UTF-8"?>
<Bot xmlns="http://soap.sforce.com/2006/04/metadata">
<botMlDomain>
<label>Astros Pizza</label>
<mlIntents>
<developerName>New_Order</developerName>
<label>New Order</label>
<mlIntentUtterances>
<utterance>Today is pie day so I want pie</utterance>
</mlIntentUtterances>
</mlIntents>
<mlSlotClasses>
<developerName>Size</developerName>
<extractionType>Value</extractionType>
<label>Size</label>
<mlSlotClassValues>
372
BotMetadata Types
<synonymGroup>
<languages>en_US</languages>
<terms>Big</terms>
<terms>Extra Large</terms>
<terms>X-Large</terms>
<terms>Grande</terms>
<terms>Huge</terms>
</synonymGroup>
<value>Large</value>
</mlSlotClassValues>
</mlSlotClasses>
<name>Astros_Pizza_ld1</name>
</botMlDomain>
<botVersions>
<fullName>v1</fullName>
<botDialogGroups>
<developerName>Order_Management</developerName>
<label>Order Management</label>
</botDialogGroups>
<botDialogs>
<botDialogGroup>Order_Management</botDialogGroup>
<botSteps>
<botMessages>
<message>Pizza Time! </message>
</botMessages>
<type>Message</type>
</botSteps>
<botSteps>
<botStepConditions>
<leftOperandName>Verified_User</leftOperandName>
<leftOperandType>ConversationVariable</leftOperandType>
<operatorType>Equals</operatorType>
<rightOperandValue>false</rightOperandValue>
</botStepConditions>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Customer_Verification</targetBotDialog>
</botNavigationLinks>
<type>Call</type>
</botNavigation>
<type>Navigation</type>
</botSteps>
<type>Group</type>
</botSteps>
<botSteps>
<botStepConditions>
<leftOperandName>Location</leftOperandName>
<leftOperandType>ConversationVariable</leftOperandType>
<operatorType>IsNotSet</operatorType>
</botStepConditions>
<botSteps>
<botNavigation>
<botNavigationLinks>
373
BotMetadata Types
<targetBotDialog>Select_Location</targetBotDialog>
</botNavigationLinks>
<type>Call</type>
</botNavigation>
<type>Navigation</type>
</botSteps>
<type>Group</type>
</botSteps>
<botSteps>
<botVariableOperation>
<botInvocation>
<invocationActionName>CreateOrderService</invocationActionName>
<invocationActionType>apex</invocationActionType>
<invocationMappings>
<parameterName>customer</parameterName>
<type>Input</type>
<variableName>Contact</variableName>
<variableType>ConversationVariable</variableType>
</invocationMappings>
<invocationMappings>
<parameterName>location</parameterName>
<type>Input</type>
<variableName>Location</variableName>
<variableType>ConversationVariable</variableType>
</invocationMappings>
<invocationMappings>
<parameterName>output</parameterName>
<type>Output</type>
<variableName>Pizza_Order</variableName>
<variableType>ConversationVariable</variableType>
</invocationMappings>
</botInvocation>
<type>Set</type>
</botVariableOperation>
<type>VariableOperation</type>
</botSteps>
<botSteps>
<botMessages>
<message>Perfect, let&apos;s work on your order from our {!Location.Name}
location</message>
</botMessages>
<type>Message</type>
</botSteps>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Add_Items_to_Order</targetBotDialog>
</botNavigationLinks>
<type>Redirect</type>
</botNavigation>
<type>Navigation</type>
</botSteps>
<developerName>New_Order</developerName>
<label>New Order</label>
374
BotMetadata Types
<mlIntent>New_Order</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<conversationVariables>
<dataType>Object</dataType>
<developerName>Contact</developerName>
<label>Contact</label>
</conversationVariables>
<conversationVariables>
<dataType>Text</dataType>
<developerName>Delivery_Address</developerName>
<label>Delivery Address</label>
</conversationVariables>
<conversationVariables>
<dataType>Object</dataType>
<developerName>Pizza_Order</developerName>
<label>Pizza Order</label>
</conversationVariables>
<entryDialog>Welcome</entryDialog>
<mainMenuDialog>Main_Menu</mainMenuDialog>
</botVersions>
<contextVariables>
<contextVariableMappings>
<SObjectType>LiveChatTranscript</SObjectType>
<fieldName>LiveChatTranscript.ChatKey</fieldName>
<messageType>WebChat</messageType>
</contextVariableMappings>
<dataType>Text</dataType>
<developerName>ChatKey</developerName>
<label>Chat Key</label>
</contextVariables>
<contextVariables>
<contextVariableMappings>
<SObjectType>LiveChatTranscript</SObjectType>
<fieldName>LiveChatTranscript.ContactId</fieldName>
<messageType>WebChat</messageType>
</contextVariableMappings>
<dataType>Id</dataType>
<developerName>ContactId</developerName>
<label>Contact Id</label>
</contextVariables>
<contextVariables>
<contextVariableMappings>
<SObjectType>LiveChatTranscript</SObjectType>
<fieldName>LiveChatTranscript.LiveChatVisitorId</fieldName>
<messageType>WebChat</messageType>
</contextVariableMappings>
<dataType>Id</dataType>
<developerName>EndUserId</developerName>
<label>End User Id</label>
</contextVariables>
<contextVariables>
<contextVariableMappings>
<SObjectType>LiveChatTranscript</SObjectType>
375
BotMetadata Types
<fieldName>LiveChatTranscript.Id</fieldName>
<messageType>WebChat</messageType>
</contextVariableMappings>
<dataType>Id</dataType>
<developerName>RoutableId</developerName>
<label>Routable Id</label>
</contextVariables>
....<conversationChannelProviders>
<agentRequired>false</agentRequired>
<chatButtonName>Chat_Button_For_Bot</chatButtonName>
</conversationChannelProviders>
<label>Astro&apos;s Pizza</label>
</Bot>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Pizza_Bot</members>
<name>Bot</name>
</types>
<version>45.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BotBlock
Represents the configuration details for a specific Einstein Bot block, including dialogs and variables.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
BotBlock components have the suffix .botBlock and are stored in the botBlocks folder.
Version
BotBlock components are available in API version 58.0 and later.
376
BotBlockMetadata Types
Special Access Rules
BotBlock is available only if Chat and Einstein Bots are enabled in your org.
Fields
DescriptionField Name
Field Type
BotBlockVersion[]
botBlockVersions
Description
The configuration details for specific Einstein Bot block versions, including dialogs and
variables.
Field Type
string
description
Description
A description of the bot block.
Field Type
string
masterLabel
Description
Required.
A user-friendly label for BotBlock, which is defined when the block is created.
Field Type
boolean
richContentEnabled
Description
Indicates whether the block is available for enhanced bots (true) or for only standard
bots (false). The default is false.
BotBlockVersion
Represents the configuration details for an Einstein Bot block version, including dialogs and variables.
DescriptionField Name
Field Type
BotDialog[] on page 391
botDialogs
Description
The list of dialogs in this bot block.
Field Type
ConversationDefinitionGoal[] on page 410
conversationGoals
377
BotBlockMetadata Types
DescriptionField Name
Description
The list of goals in this bot block. Available in API version 57.0 and later.
Field Type
string
conversationLanguages
Description
Required.
Specifies the language of the bot block.
Field Type
ConversationVariable[] on page 412
conversationVariables
Description
A container that stores a specific piece of data collected from the customer. You can
use variables within dialog actions as both inputs and outputs. Available in API version
44.0 and later.
Field Type
string
description
Description
A description of the bot block.
Field Type
LocalMlDomain on page 370
mlDomain
Description
Required.
The Einstein Intent Set that groups intents, entities, and variables associated with a
block.
Field Type
string
permissionSet
Description
The permission set associated with the bot block. Available in API version 59.0 and
later.
Field Type
ConvDefBlockVersionStatus (enumeration of type string)
status
Description
Required.
Indicates whether a block is published or is a draft.
Values are:
Published
378
BotBlockMetadata Types
Declarative Metadata Sample Definition
The following is an example of a BotBlock component.
<?xml version="1.0" encoding="UTF-8"?>
<BotBlock xmlns="http://soap.sforce.com/2006/04/metadata">
<access xsi:nil="true"/>
<botBlockVersions>
<fullName>Published</fullName>
<botDialogs>
<developerName>Test_Dialog_1646070168572</developerName>
<label>Test_Dialog_1646070168572</label>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<developerName>Test_Dialog_1646070168926</developerName>
<label>Test_Dialog_1646070168926</label>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<stepIdentifier>s4</stepIdentifier>
<type>Wait</type>
</botSteps>
<developerName>Main_Menu</developerName>
<label>Main Menu</label>
<mlIntent>Main_Menu</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<botMessages>
<message>Goodbye! Click the &quot;End Chat&quot; button to end this
chat</message>
<messageIdentifier>m2</messageIdentifier>
</botMessages>
<stepIdentifier>s6</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<stepIdentifier>s7</stepIdentifier>
<type>Wait</type>
</botSteps>
<developerName>End_Chat</developerName>
<label>End Chat</label>
<mlIntent>End_Chat</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<botMessages>
<message>Unfortunately, there are no agents available at the
moment</message>
<messageIdentifier>m3</messageIdentifier>
</botMessages>
379
BotBlockMetadata Types
<stepIdentifier>s8</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<stepIdentifier>s9</stepIdentifier>
<type>Wait</type>
</botSteps>
<developerName>No_Agent_Available</developerName>
<label>No Agent</label>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<botMessages>
<message>Hi! I&apos;m your helpful bot.</message>
<messageIdentifier>m1</messageIdentifier>
</botMessages>
<stepIdentifier>s1</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<conversationRecordLookup>
<SObjectType>Account</SObjectType>
<conditions>
<leftOperand>Account.Phone</leftOperand>
<operatorType>Equal</operatorType>
<rightOperandValue>Value</rightOperandValue>
<sortOrder>0</sortOrder>
</conditions>
<lookupFields>
<fieldName>Account.Phone</fieldName>
</lookupFields>
<lookupFields>
<fieldName>Account.OwnerId</fieldName>
</lookupFields>
<maxLookupResults>1</maxLookupResults>
<sourceVariableName>_LastCustomerInput</sourceVariableName>
<sourceVariableType>ConversationVariable</sourceVariableType>
<targetVariableName>MyCustomVariable</targetVariableName>
</conversationRecordLookup>
<stepIdentifier>s2</stepIdentifier>
<type>RecordLookup</type>
</botSteps>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Main_Menu</targetBotDialog>
<targetVariable xsi:nil="true"/>
<targetVariableType xsi:nil="true"/>
</botNavigationLinks>
<type>Redirect</type>
</botNavigation>
<stepIdentifier>s3</stepIdentifier>
<type>Navigation</type>
380
BotBlockMetadata Types
</botSteps>
<developerName>Welcome</developerName>
<label>Welcome</label>
<mlIntent>Welcome</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<conversationLanguages>en_US</conversationLanguages>
<conversationVariables>
<dataType>Text</dataType>
<developerName>TestVariableABC</developerName>
<label>TestVariableABC</label>
</conversationVariables>
<conversationVariables>
<dataType>Text</dataType>
<developerName>TestVariableXYZ</developerName>
<label>TestVariableXYZ</label>
</conversationVariables>
<conversationVariables>
<collectionType>List</collectionType>
<dataType>Object</dataType>
<developerName>MyCustomVariable</developerName>
<label>MyCustomVariable</label>
</conversationVariables>
<description>Created for testing.</description>
<mlDomain>
<label>vPub</label>
<mlIntents>
<developerName>End_Chat</developerName>
<label>End Chat</label>
<mlIntentUtterances>
<language>es</language>
<utterance>Utterance1</utterance>
</mlIntentUtterances>
<mlIntentUtterances>
<language>es</language>
<utterance>Utterance2</utterance>
</mlIntentUtterances>
<mlIntentUtterances>
<language>es</language>
<utterance>Utterance3</utterance>
</mlIntentUtterances>
</mlIntents>
<mlIntents>
<description>Main Menu Intent</description>
<developerName>Main_Menu</developerName>
<label>Main Menu</label>
</mlIntents>
<mlIntents>
<description>Welcome Intent</description>
<developerName>Welcome</developerName>
<label>Welcome</label>
</mlIntents>
<name>blockDevName0001_vPub</name>
</mlDomain>
381
BotBlockMetadata Types
<status>Published</status>
</botBlockVersions>
<description>Collects the user&apos;s first name, last name, email address, phone
number, and company name.</description>
<masterLabel>User Info Collection Block</masterLabel>
<richContentEnabled>true</richContentEnabled>
</BotBlock>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AgentTransfer</members>
<name>BotBlock</name>
</types>
<version>58.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BotTemplate
Represents the configuration details for a specific Einstein Bot template, including dialogs and variables.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
BotTemplate components have the suffix .botTemplate and are stored in the botTemplates folder.
Version
BotTemplate components are available in API version 55.0 and later.
Special Access Rules
BotTemplate is available only if Chat and Einstein Bots are enabled in your org.
382
BotTemplateMetadata Types
Fields
DescriptionField Name
Field Type
BotDialogGroup[] on page 391
botDialogGroups
Description
The list of dialog groups in this bot template.
Field Type
BotDialog[] on page 391
botDialogs
Description
The list of dialogs in this bot template.
Field Type
string
conversationLanguages
Description
Required.
Specifies the language of the bot template.
Field Type
ConversationContextVariable[] on page 370
contextVariables
Description
Represents the context variables that enable your bot to gather customer information
regardless of channel.
Field Type
ConversationDefinitionGoal[] on page 410
conversationGoals
Description
The list of goals in this bot template. Available in API version 57.0 and later.
Field Type
ConversationSystemDialog[] on page 411
conversationSystemDialogs
Description
A system function assigned to a dialog.
Field Type
ConversationVariable[] on page 412
conversationVariables
Description
A container that stores a specific piece of data collected from the customer. You can
use variables within dialog actions as both inputs and outputs.
Field Type
string
description
383
BotTemplateMetadata Types
DescriptionField Name
Description
A description of the bot template.
Field Type
string
entryDialog
Description
A reference to the first dialog that the bot presents to your customer. For example,
Welcome.
Field Type
string
icon
Description
The icon used to identify the template.
Field Type
string
mainMenuDialog
Description
A reference to the dialog identified as the main menu dialog. For example, Main
Menu.
Field Type
string
masterLabel
Description
Required.
A user-friendly label for BotTemplate, which is defined when the BotTemplate is created.
Field Type
LocalMlDomain on page 370
mlDomain
Description
Required.
Represents the Einstein Intent Set that groups intents, entities, and variables associated
with a template.
Field Type
string
permissionSet
Description
The permission set associated with the bot template. Available in API version 59.0 and
later.
Field Type
boolean
richContentEnabled
384
BotTemplateMetadata Types
DescriptionField Name
Description
Indicates whether the template is available for enhanced bots (true) or for standard
bots (false). The default is false.
Declarative Metadata Sample Definition
The following is an example of a BotTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<BotTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<botDialogGroups>
<developerName>dialog_group1</developerName>
<label>dialog group1</label>
</botDialogGroups>
<botDialogs>
<developerName>Test_Dialog_1</developerName>
<label>Test_Dialog_1</label>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<developerName>Test_Dialog_2</developerName>
<label>Test_Dialog_2</label>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<botMessages>
<message>Hi! I&apos;m your helpful bot.</message>
<messageIdentifier>m1</messageIdentifier>
</botMessages>
<stepIdentifier>s1</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<conversationRecordLookup>
<SObjectType>Account</SObjectType>
<conditions>
<leftOperand>Account.Phone</leftOperand>
<operatorType>Equal</operatorType>
<rightOperandValue>Value</rightOperandValue>
<sortOrder>0</sortOrder>
</conditions>
<lookupFields>
<fieldName>Account.Phone</fieldName>
</lookupFields>
<lookupFields>
<fieldName>Account.OwnerId</fieldName>
</lookupFields>
<maxLookupResults>1</maxLookupResults>
<sourceVariableName>_LastCustomerInput</sourceVariableName>
385
BotTemplateMetadata Types
<sourceVariableType>ConversationVariable</sourceVariableType>
<targetVariableName>MyCustomVariable</targetVariableName>
</conversationRecordLookup>
<stepIdentifier>s2</stepIdentifier>
<type>RecordLookup</type>
</botSteps>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Main_Menu</targetBotDialog>
</botNavigationLinks>
<type>Redirect</type>
</botNavigation>
<stepIdentifier>s3</stepIdentifier>
<type>Navigation</type>
</botSteps>
<developerName>Welcome</developerName>
<label>Welcome</label>
<mlIntent>Welcome</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<stepIdentifier>s4</stepIdentifier>
<type>Wait</type>
</botSteps>
<developerName>Main_Menu</developerName>
<label>Main Menu</label>
<mlIntent>Main_Menu</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<botMessages>
<message>Goodbye! Click the &quot;End Chat&quot; button to end this
chat</message>
<messageIdentifier>m2</messageIdentifier>
</botMessages>
<stepIdentifier>s6</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<stepIdentifier>s7</stepIdentifier>
<type>Wait</type>
</botSteps>
<developerName>End_Chat</developerName>
<label>End Chat</label>
<mlIntent>End_Chat</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<botDialogs>
<botSteps>
<botMessages>
<message>Unfortunately, there are no agents available at the moment</message>
386
BotTemplateMetadata Types
<messageIdentifier>m3</messageIdentifier>
</botMessages>
<stepIdentifier>s8</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<stepIdentifier>s9</stepIdentifier>
<type>Wait</type>
</botSteps>
<developerName>No_Agent_Available</developerName>
<label>No Agent</label>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<contextVariables>
<contextVariableMappings>
<SObjectType>LiveChatTranscript</SObjectType>
<fieldName>LiveChatTranscript.ChatKey</fieldName>
<messageType>WebChat</messageType>
</contextVariableMappings>
<dataType>Text</dataType>
<developerName>ChatKey</developerName>
<label>Chat Key</label>
</contextVariables>
<conversationLanguages>en_US</conversationLanguages>
<conversationSystemDialogs>
<dialog>No_Agent_Available</dialog>
<type>TransferFailed</type>
</conversationSystemDialogs>
<conversationSystemDialogs>
<dialog>Test_Dialog_1</dialog>
<type>ErrorHandling</type>
</conversationSystemDialogs>
<conversationVariables>
<dataType>Text</dataType>
<developerName>TestVariableXYZ</developerName>
<label>TestVariableXYZ</label>
</conversationVariables>
<conversationVariables>
<collectionType>List</collectionType>
<dataType>Object</dataType>
<developerName>MyCustomVariable</developerName>
<label>MyCustomVariable</label>
</conversationVariables>
<description>Description of BotTemplate</description>
<entryDialog>Test_Dialog_1</entryDialog>
<icon>AA8qwqXXXXX</icon>
<mainMenuDialog>Test_Dialog_2</mainMenuDialog>
<masterLabel>Astro Bot</masterLabel>
<mlDomain>
<label>Astro Bot</label>
<mlIntents>
<developerName>End_Chat</developerName>
<label>End Chat</label>
387
BotTemplateMetadata Types
<mlIntentUtterances>
<utterance>Utterance1</utterance>
<language>es</language>
</mlIntentUtterances>
<mlIntentUtterances>
<utterance>Utterance2</utterance>
<language>es</language>
</mlIntentUtterances>
<mlIntentUtterances>
<utterance>Utterance3</utterance>
<language>es</language>
</mlIntentUtterances>
</mlIntents>
<mlIntents>
<developerName>Main_Menu</developerName>
<label>Main Menu</label>
<description>Main Menu Intent</description>
</mlIntents>
<mlIntents>
<developerName>Welcome</developerName>
<label>Welcome</label>
<description>Welcome Intent</description>
</mlIntents>
<name>Astro_Bot_ld1</name>
</mlDomain>
<richContentEnabled>true</richContentEnabled>
</BotTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>BotTemplate</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BotVersion
Represents the configuration details for a specific Einstein Bot version, including dialogs and variables.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
388
BotVersionMetadata Types
File Suffix and Directory Location
BotVersion components have the suffix .bot and are stored in the bot folder. BotVersion is a top-level child of Bot and shares its
suffix and file directory.
Version
BotVersion components are available in API version 43.0 and later.
Special Access Rules
BotVersion is available only if Chat and Einstein Bots are enabled in your org.
Fields
DescriptionField Name
Field Type
BotDialogGroup[] on page 391
botDialogGroups
Description
The list of dialog groups in this bot version.
Field Type
BotDialog[] on page 391
botDialogs
Description
The list of dialogs in this bot version.
Field Type
ConversationDefinitionGoal[] on page 410
conversationGoals
Description
The list of goals in this bot verion. Available in API version 57.0 and later.
Field Type
ConversationSystemDialog[] on page 411
conversationSystemDialogs
Description
A system function assigned to a dialog. Available in API version 48.0 and later.
Field Type
ConversationVariable[] on page 412
conversationVariables
Description
A container that stores a specific piece of data collected from the customer. You
can use variables within dialog actions as both inputs and outputs. Available in
API version 44.0 and later.
389
BotVersionMetadata Types
DescriptionField Name
Field Type
string
entryDialog
Description
Required.
A reference to the first dialog that the bot presents to your customer. For example,
Welcome.
Field Type
boolean
intentDisambiguationEnabled
Description
Reserved for internal use.
Field Type
boolean
intentV3Enabled
Description
Reserved for internal use.
Field Type
boolean
knowledgeFallbackEnabled
Description
Reserved for internal use.
Field Type
string
mainMenuDialog
Description
Required.
A reference to the dialog identified as the main menu dialog. For example, Main
Menu.
Field Type
ConversationDefinitionNlpProvider[] on page 413
nlpProviders
Description
Defines the language provider which is used for a particular language. Available
in API version 49.0 and later.
Field Type
int
responseDelayMilliseconds
Description
An optional default or custom delay after every bot response to simulate typing.
390
BotVersionMetadata Types
BotDialogGroup
The list of dialog groups in this bot version.
DescriptionField Name
Field Type
string
description
Description
A description of the bot dialog group.
Field Type
string
developerName
Description
Required.
This unique name prevents conflicts with other dialog groups associated with the same
bot version. This name can contain only underscores and alphanumeric characters. The
name must begin with a letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores.
Note: Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
Field Type
string
label
Description
Required.
A label that identifies the dialog group throughout the Salesforce user interface.
BotDialog
The list of dialogs in this bot version.
DescriptionField Name
Field Type
string
botDialogGroup
Description
The bot dialog group that contains this bot dialog.
Field Type
BotStep[] on page 393
botSteps
Description
A list of steps that are executed as part of the dialog.
391
BotVersionMetadata Types
DescriptionField Name
Field Type
string
description
Description
A description of the bot dialog.
Field Type
string
developerName
Description
Required.
This unique name prevents conflicts with other dialogs associated with the same bot version.
This name can contain only underscores and alphanumeric characters. It must begin with
a letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Note: Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
Field Type
boolean
isPlaceholderDialog
Description
In a bot block, indicates whether a dialog is a placeholder (true) or not (false). In a bot
template or bot version not associated with a bot block, this field is read-only and the value
is false. Available in API version 58.0 and later.
Field Type
string
label
Description
Required.
A label that identifies the dialog throughout the Salesforce user interface.
Field Type
string
mlIntent
Description
Required.
A label that identifies the dialog throughout the Salesforce user interface. The name of the
intent associated with a dialog.
Field Type
boolean
mlIntentTrainingEnabled
392
BotVersionMetadata Types
DescriptionField Name
Description
Indicates whether Einstein is turned on to train an intent model for the dialog intent (true)
or turned off for the exact match option (false). The default value is false. Available
in API version 46.0 and later.
Field Type
boolean
showInFooterMenu
Description
Indicates whether to show this dialog in the Bot Options menu. The default value is false.
BotStep
A step that is executed as part of the dialog.
DescriptionField Name
Field Type
string
booleanFilter
Description
This field is reserved for future use.
Field Type
BotInvocation on page 395
botInvocation
Description
Bot Invocation used by a BotStep of type Invocation.
Field Type
BotMessage[] on page 397
botMessages
Description
List of bot messages used by a BotStep of type Message.
Field Type
BotNavigation on page 398
botNavigation
Description
Bot Navigation used by a BotStep of type Navigation.
Field Type
BotStepCondition[] on page 399
botStepConditions
Description
List of BotStep conditions associated with a BotStep of type Group.
393
BotVersionMetadata Types
DescriptionField Name
Field Type
BotStep[] on page 393
botSteps
Description
List of BotSteps associated to a Bot Step of type Group.
Field Type
BotVariableOperation[] on page 400
botVariableOperation
Description
Bot Variable Operation used by a BotStep of type VariableOperation.
Field Type
ConversationDefinitionLogicalOperatorType (enumeration of type string)
conditionLogicType
Description
Represents the type of conditional logic used by a BotStep. Values are:
And
Or
Available in API version 58.0 and later.
Field Type
ConversationRecordLookup[] on page 405
conversationRecordLookup
Description
A lookup action to the Conversation record. Available in API version 46.0 and later.
Field Type
ConversationDefinitionStepGoalMapping[] on page 408
conversationStepGoalMappings
Description
The API name of a goal used by a BotStep of type GoalStep. Available in API version
57.0 and later.
Field Type
ConversationSystemMessage[] on page 409
conversationSystemMessage
Description
System messages that represent an action for a BotStep, such as transferring to an
agent or ending a chat. Available in API version 46.0 and later.
Field Type
ConversationDefinitionRichMessage[] on page 410
messageDefinition
Description
List of configuration details used by a BotStep that references a messaging component.
Available in API version 54.0 and later.
394
BotVersionMetadata Types
DescriptionField Name
Field Type
string
stepIdentifier
Description
A unique key that identifies a step within a dialog. It is used to link translated labels to
labels within the step. This field is recommended for all step records and is required
for translated step labels. Available in API version 53.0 and later.
If a step is created via the UI, the stepIdentifier is automatically generated. If
a step is created via API, the stepIdentifier must be provided. The
stepIdentifier can contain letters, numbers, dashes, and underscores, up to
255 characters.
Field Type
BotStepType (enumeration of type string)
type
Description
Required.
Values are:
GoalStep (Available in API version 57.0 and later.)
Group
Invocation
Message
Navigation
RecordLookup (Available in API version 48.0 and later.)
RichMessage (Available in API version 54.0 and later.)
SystemMessage
VariableOperation
Wait
BotInvocation
Bot Invocation used by a BotStep of type Invocation.
DescriptionField Name
Field Type
string
invocationActionName
Description
The name of the invocable action used by a Bot Invocation.
Field Type
ConversationInvocableTargetType (enumeration of type string)
invocationActionType
395
BotVersionMetadata Types
DescriptionField Name
Description
Available dialog action types are:
Values are:
apex
externalService (Available in API version 53.0 and later.)
flow
logFeedback (Available in API version 51.0 and later.)
logGoalAchieved (Deprecated in API version 57.0 and later.)
standardInvocableAction
Field Type
BotInvocationMapping[] on page 396
invocationMappings
Description
List of Bot Invocation Mappings for a Bot Invocation.
BotInvocationMapping
List of Bot Invocation Mappings for a Bot Invocation.
DescriptionField Name
Field Type
string
parameterName
Description
Required.
Name of an Input/Output parameter of the parent Bot Invocation target.
Field Type
string
recordName
Description
Name of the record that is used as part of an Invocation mapping. Available in API
version 54.0 and later.
Field Type
BotInvocationMappingType (enumeration of type string)
type
Description
Required.
Values are:
Input
Output
396
BotVersionMetadata Types
DescriptionField Name
Field Type
string
value
Description
Literal value to be assigned to the specified parameter.
Field Type
string
variableName
Description
Name of the Bot Variable that is used as part of an Invocation mapping.
Field Type
ConversationVariableType (enumeration of type string)
variableType
Description
This field relates to the type of variable used in this invocation mapping.
Values are:
ContextVariable
ConversationVariable
BotMessage
A bot message used by a BotStep of type Message.
DescriptionField Name
Field Type
string
message
Description
Required.
Message to display as part of an outgoing message from the bot to the customer.
Field Type
string
messageIdentifier
Description
A unique key that identifies a message within a dialog. It is used to link translated labels
to labels within the message. This field is recommended for all message records and
is required for translated message labels. Available in API version 53.0 and later.
If a message is created via the UI, the messageIdentifier is automatically
generated. If a message is created via API, the messageIdentifier must be
provided. messageIdentifier can contain letters, numbers, dashes, and
underscores, up to 255 characters.
397
BotVersionMetadata Types
BotNavigation
Bot navigation used by a BotStep of type Navigation.
DescriptionField Name
Field Type
BotNavigationLink[] on page 398
botNavigationLinks
Description
List of Bot Navigation links associated with a Bot Navigation of type Call or
Redirect.
Field Type
BotNavigationType (enumeration of type string)
type
Description
Required.
Values are:
Call
Redirect
TransferToAgent
BotNavigationLink
List of Bot Navigation links associated with a Bot Navigation of type Call or Redirect.
DescriptionField Name
Field Type
string
label
Description
Label displayed when more than one Bot Navigation Link is available under a Bot
Navigation of type Redirect. The target dialog label is used when no label is
provided.
Field Type
string
targetBotDialog
Description
Name of the target dialog to be called as part of this Bot Navigation Link.
Field Type
string
targetVariable
Description
In the Redirect to Dialog Rule Action, the ID of the target object variable to be called
as part of this Bot Navigation link. Available in API version 57.0 and later.
398
BotVersionMetadata Types
DescriptionField Name
Field Type
ConversationVariableType (enumeration of type string)
targetVariableType
Description
In the Redirect to Dialog Rule Action, the type of variable referred to in
targetVariable. Available in API version 57.0 and later.
Values are:
ContextVariable
ConversationVariable
BotStepCondition
List of BotStep conditions associated with a BotStep of type Group.
DescriptionField Name
Field Type
string
leftOperandName
Description
Required.
Name of the variable used as the left side of the condition operation.
Field Type
ConversationVariableType (enumeration of type string)
leftOperandType
Description
Required.
Type of the variable used as the left side of the condition operation.
Values are:
ContextVariable
ConversationVariable
Field Type
BotStepConditionOperatorType (enumeration of type string)
operatorType
Description
Required.
Values are:
Equals
GreaterThan (Available in API version 47.0 and later.)
GreaterThanOrEqualTo (Available in API version 47.0 and later.)
IsNotSet
399
BotVersionMetadata Types
DescriptionField Name
IsSet
LessThan (Available in API version 47.0 and later.)
LessThanOrEqualTo (Available in API version 47.0 and later.)
NotEquals
Field Type
string
rightOperandValue
Description
Value that is used as the right side of the condition operation. This value is ignored
when using IsSet and IsNotSet operators.
BotVariableOperation
Bot variable operation used by a BotStep of type VariableOperation.
DescriptionField Name
Field Type
boolean
askCollectIfSet
Description
If true, the bot runs a Bot Variable Operation of type Collect regardless of whether
the variable already has a value. When a value exists for a variable, the bot asks the
user for the relevant information, and the bot overwrites the existing value with the
user-provided value. If false, the bot skips variables with an existing value and
maintains the existing value. The default is false. Available in API version 51.0 and
later.
Field Type
boolean
autoSelectIfSingleChoice
Description
If true, the bot automatically selects the answer in the conversation flow when only
one button choice is available in a Bot Variable Operation of type Collect and a
quickReplyType value of Dynamic. If false, the bot presents the single
button choice and waits for the users response. The default is false. Available in
API version 51.0 and later.
Field Type
BotInvocation on page 395
botInvocation
Description
Bot Invocation used to provide Dynamic choices by a Bot Variable Operation of type
Collect and quickReplyType of Dynamic.
400
BotVersionMetadata Types
DescriptionField Name
Field Type
BotMessage[] on page 397
botMessages
Description
List of Bot Messages used as prompt messages by a Bot Variable Operation of type
Collect.
Field Type
BotQuickReplyOption[] on page 403
botQuickReplyOptions
Description
List of static choice options used by a Bot Variable Operation of type Collect and
quickReplyType of Static.
Field Type
BotVariableOperand[] on page 404
botVariableOperands
Description
List of Bot Variable Operands associated with a Bot Variable of type Set or Unset.
Field Type
BotNavigation on page 398
invalidInputBotNavigation
Description
Bot Navigation used by a Bot Variable Operation of type Collect. This navigation
is executed when the associated Bot Invocation doesnt return any options.
Field Type
ConversationDefinitionRichMessage on page 410
messageDefinition
Description
Configuration details that reference a messaging component. Outputs are used by a
Bot Variable Operation of type Set. Available in API version 58.0 and later.
Field Type
boolean
optionalCollect
Description
If true, the bot asks the repair attempts once and then moves on to the next dialog
step. The default value is false. Available in API version 48.0 and later.
Field Type
string
quickReplyOptionTemplate
Description
Formula template used to resolve a label for Dynamic choice options of type Object.
Field Type
BotQuickReplyType (enumeration of type string)
quickReplyType
401
BotVersionMetadata Types
DescriptionField Name
Description
Values are:
Dynamic
Static
Field Type
BotWidgetType (enumeration of type string)
quickReplyWidgetType
Description
Values are:
Buttons
Menu
Field Type
BotMessage[] on page 397
retryMessages
Description
In Conversation Repair, the messages assigned to repair attempts. Available in API
version 48.0 and later.
Field Type
string
sourceVariableName
Description
Name of the source VariableName used in the variable operation. Available in
API version 47.0 and later.
Field Type
ConversationVariableType (enumeration of type string)
sourceVariableType
Description
This name defines the data type of VariableName used in the variable operation.
Values are:
ContextVariable
ConversationVariable
Field Type
BotMessage[] on page 397
successMessages
Description
In a File dialog step, the message displayed to the customer as part of type
CollectAttachment to confirm a successful file upload. Available in API version
57.0 and later.
Field Type
BotVariableOperationType (enumeration of type string)
type
402
BotVersionMetadata Types
DescriptionField Name
Description
Required.
Values are:
Collect
CollectAttachment (Available in API version 57.0 and later.)
Set
SetConversationLanguage (Available in API version 53.0 and later.)
Unset
Field Type
string
variableOperationIdentifier
Description
A unique key that identifies a variable operation within a dialog. It is used to link
translated labels to labels within the variable operation. This field is recommended for
all variable operation records and is required for translated variable operation labels.
Available in API version 53.0 and later.
If a variable operation is created via the UI, the
variableOperationIdentifier is automatically generated. If a variable
operation is created via API, the variableOperationIdentifier must be
provided. variableOperationIdentifier can contain letters, numbers,
dashes, and underscores, up to 255 characters.
BotQuickReplyOption
List of static choice options used by a bot variable operation of type Collect and quickReplyType of Static.
DescriptionField Name
Field Type
string
literalValue
Description
Required.
Value to be displayed as a menu or button choice to your customer.
Field Type
string
quickReplyOptionIdentifier
Description
A unique key that identifies a quick reply option within a dialog. It is used to link
translated labels to labels within the quick reply option. This field is recommended for
all quick reply option records and is required for translated quick reply option labels.
Available in API version 53.0 and later.
403
BotVersionMetadata Types
DescriptionField Name
If a quick reply option is created via the UI, the quickReplyOptionIdentifier
is automatically generated. If a message is created via API, the
quickReplyOptionIdentifier must be provided.
quickReplyOptionIdentifier can contain letters, numbers, dashes, and
underscores, up to 255 characters.
BotVariableOperand
List of bot variable operands associated with a bot variable of type Set or Unset.
DescriptionField Name
Field Type
boolean
disableAutoFill
Description
Disables auto-fill behavior for a bot variable under a bot variable operation of type
Collect.
Field Type
string
sourceName
Description
Name of the source CustomField or MlSlotClass used in the variable operation.
Field Type
ConversationVariableOperandSourceType (enumeration of type string)
sourceType
Description
Values are:
BotDefinition (Available in API version 46.0 and later.)
ContextVariable (Available in API version 45.0 and later.)
ConversationVariable
FlowDefinition (Available in API version 52.0 and later.)
MlSlotClass
Queue (Available in API version 46.0 and later.)
StandardConversationVariable
StandardMlSlotClass
Value
Field Type
string
sourceValue
Description
Literal value used as the source for this variable operation.
404
BotVersionMetadata Types
DescriptionField Name
Field Type
string
targetName
Description
Required.
Name of the target variable used in the variable operation.
Field Type
ConversationVariableType (enumeration of type string)
targetType
Description
Required.
Type of the target used in the variable operation.
Values are:
ContextVariable
ConversationVariable
ConversationRecordLookup
Information related to the linked conversation. Currently only works on Lightning Knowledge. Available in API version 46.0 and later.
DescriptionField Name
Field Type
string
SObjectType
Description
Required.
Specifies the SObjectType of the ID stored in a bot variable.
Field Type
ConversationRecordLookupCondition[] on page 407
conditions
Description
The conditions associated with this lookup. Available in API version 51.0 and later.
Field Type
string
filterLogic
Description
The logical operator that connects the conditions.
Values are:
And
Or
405
BotVersionMetadata Types
DescriptionField Name
Available in API version 51.0 and later.
Field Type
ConversationRecordLookupField[] on page 408
lookupFields
Description
Definition of the fields that are used for this lookup.
Field Type
int
maxLookupResults
Description
Required.
The maximum number of records to return (1-3).
Field Type
string
sortFieldName
Description
The name of the field used to sort the lookup results. Available in API version 51.0 and
later.
Field Type
SortOrder (enumeration of type string)
sortOrder
Description
The display order of the lookup results.
Values are:
Asc
Desc
Available in API version 51.0 and later.
Field Type
string
sourceVariableName
Description
The input for this lookup operation.
Field Type
ConversationVariableType (enumeration of type string)
sourceVariableType
Description
Type of the target used in the variable operation.
Values are:
ContextVariable
ConversationVariable
406
BotVersionMetadata Types
DescriptionField Name
Field Type
string
targetVariableName
Description
Required.
The variable that holds the results of this lookup.
ConversationRecordLookupCondition
List of conditions associated with a ConversationRecordLookup. Available in API version 51.0 and later.
DescriptionField Name
Field Type
string
leftOperand
Description
Required.
Field on which the condition operation takes place.
Field Type
string
operatorType
Description
Required.
The operator applied to the leftOperand.
Values are:
Equals
NotEquals
IsSet
IsNotSet
GreaterThan
LessThan
GreaterThanOrEqualTo
LessThanOrEqualTo
Field Type
string
rightOperandName
Description
The name of the variable to compare against.
407
BotVersionMetadata Types
DescriptionField Name
Field Type
ConversationVariableType (enumeration of type string)
rightOperandType
Description
The type of the variable to compare against.
Values are:
ContextVariable
ConversationVariable
Field Type
string
rightOperandValue
Description
The custom value to compare against. This value is ignored when using IsSet and
IsNotSet operators.
Field Type
int
sortOrder
Description
Required.
Order in which the conditions are applied.
ConversationRecordLookupField
The fields used in a conversation record lookup. Available in API version 46.0 and later.
DescriptionField Name
Field Type
string
fieldName
Description
Required.
Defines the field names used in the Conversation Lookup function.
ConversationDefinitionStepGoalMapping
Represents the association between a goal and a BotStep. A goal can be associated with only one BotStep and one dialog at a time.
Available in API version 57.0 and later.
408
BotVersionMetadata Types
DescriptionField Name
Field Type
string
goalName
Description
The API name of the goal.
ConversationSystemMessage
System messages that represent an action for a Bot Step, such as transferring to an agent or ending a chat. Available in API version 46.0
and later.
DescriptionField Name
Field Type
ConversationSystemMessageMapping on page 409
systemMessageMappings
Description
Defines the type of system message to be sent.
Field Type
ConversationSystemMessageType (enumeration of type string)
type
Description
Required.
This field defines the values available for a system message.
Values are:
EndChat
Transfer
ConversationSystemMessageMapping
List of mappings that indicate additional information provided for the system message. Available in API version 46.0 and later.
DescriptionField Name
Field Type
ConversationMappingType (enumeration of type string)
mappingType
Description
Required.
Defines the type of mapping used in the record.
Values are:
Input
Output
409
BotVersionMetadata Types
DescriptionField Name
Field Type
ConversationSystemMessageParamType (enumeration of type string)
parameterType
Description
Required.
Defines the type of parameter the value is mapped to.
Values are:
Transfer
Field Type
string
variableName
Description
Required.
Name of the variable that contains the value passed to the system message.
ConversationDefinitionRichMessage
Represents the configuration details for referencing a messaging component, such as an enhanced link. Available in API version 54.0
and later.
DescriptionField Name
Field Type
BotInvocationMapping[] on page 396
messageDefinitionMappings
Description
List of mappings for referencing a messaging component. Includes any input
parameters and their values. Optionally, specifies the conversation variable for storing
any outputs.
Input parameter values can be either static values or references to conversation or
context variables.
Field Type
string
messageDefinitionName
Description
Required.
The API name of the messaging component referenced by the bot.
ConversationDefinitionGoal
A goal included in the bot version. Available in API version 57.0 and later.
410
BotVersionMetadata Types
DescriptionField Name
Field Type
string
developerName
Description
Required.
A unique name that prevents conflicts with other goals associated with the same bot
version. This name can contain only underscores and alphanumeric characters. It must
begin with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores.
Field Type
string
label
Description
Required.
A label that identifies the goal throughout the Salesforce user interface. This label can
contain only underscores and alphanumeric characters. It must begin with a letter,
not include spaces, not end with an underscore, and not contain two consecutive
underscores.
ConversationSystemDialog
A system function assigned to a dialog. Available in API version 48.0 and later.
DescriptionField Name
Field Type
string
dialog
Description
The dialog name triggered when this system event fires.
Field Type
ConversationSystemDialogType (enumeration of type string)
type
Description
The type of system event. Required. Valid values are:
Disambiguation (Reserved for Future Use)
DisambiguationFailed (Reserved for Future Use)
ErrorHandling
KnowledgeFallback (Available in API version 51.0.)
TransferFailed
411
BotVersionMetadata Types
ConversationVariable
A container that stores a specific piece of data collected from the customer. You can use variables within dialog actions as both inputs
and outputs. Available in API version 44.0 and later.
DescriptionField Name
Field Type
ConversationVariableCollectionType (enumeration of type string)
collectionType
Description
This field defines whether a variable is designated as a List Variable. Valid value is List.
Field Type
ConversationVariableCollectionType (enumeration of type string)
dataType
Description
Required.
Valid values are:
Boolean
Currency
Date
DateTime
Id (available in API 45.0 and later.)
Object
Number
Text
Field Type
string
developerName
Description
Required.
This name can contain only underscores and alphanumeric characters and must be unique
in your org. It must begin with a letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores. Only users with View DeveloperName OR View
Setup and Configuration permission can view, group, sort, and filter this field.
Field Type
string
label
Description
Required.
Label that identifies a variable throughout the Salesforce user interface.
Field Type
string
SObjectType
412
BotVersionMetadata Types
DescriptionField Name
Description
Specifies the SObjectType of the ID stored in a bot variable. Valid values are:
BotDefinition
Queue
ConversationDefinitionNlpProvider
Defines the natural language service that is used for the language assigned to a bot version. Available in API version 49.0 and later.
DescriptionField Name
Field Type
Language
language
Description
Required.
The language assigned to a bot version.
Field Type
string
nlpProviderName
Description
If nlpProviderType is EinsteinAI, this field is blank. If Apex, this field holds the Apex class
name of the service.
Field Type
ConversationDefinitionNlpProviderType (enumeration of type string)
nlpProviderType
Description
Required.
Default value is EinsteinAi. Valid values are:
EinsteinAi
Apex
Declarative Metadata Sample Definition
The following is an example of a BotVersion.
<?xml version="1.0" encoding="UTF-8"?>
<Bot xmlns="http://soap.sforce.com/2006/04/metadata">
<botMlDomain>
<label>Astros Pizza</label>
<mlIntents>
<developerName>New_Order</developerName>
413
BotVersionMetadata Types
<label>New Order</label>
<mlIntentUtterances>
<utterance>Today is pie day so I want pie</utterance>
</mlIntentUtterances>
</mlIntents>
<mlSlotClasses>
<developerName>Size</developerName>
<extractionType>Value</extractionType>
<label>Size</label>
<mlSlotClassValues>
<synonymGroup>
<languages>en_US</languages>
<terms>Big</terms>
<terms>Extra Large</terms>
<terms>X-Large</terms>
<terms>Grande</terms>
<terms>Huge</terms>
</synonymGroup>
<value>Large</value>
</mlSlotClassValues>
</mlSlotClasses>
<name>Astros_Pizza_ld1</name>
</botMlDomain>
<botVersions>
<fullName>v1</fullName>
<botDialogGroups>
<developerName>Order_Management</developerName>
<label>Order Management</label>
</botDialogGroups>
<botDialogs>
<botDialogGroup>Order_Management</botDialogGroup>
<botSteps>
<botMessages>
<message>Pizza Time! </message>
<messageIdentifier>Greeting_Message</messageIdentifier>
</botMessages>
<stepIdentifier>Greeting</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<botStepConditions>
<leftOperandName>Verified_User</leftOperandName>
<leftOperandType>ConversationVariable</leftOperandType>
<operatorType>Equals</operatorType>
<rightOperandValue>false</rightOperandValue>
</botStepConditions>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Customer_Verification</targetBotDialog>
</botNavigationLinks>
<type>Call</type>
</botNavigation>
<stepIdentifier>Call_Customer_Verification</stepIdentifier>
414
BotVersionMetadata Types
<type>Navigation</type>
</botSteps>
<stepIdentifier>Verify_User</stepIdentifier>
<type>Group</type>
</botSteps>
<botSteps>
<botStepConditions>
<leftOperandName>Location</leftOperandName>
<leftOperandType>ConversationVariable</leftOperandType>
<operatorType>IsNotSet</operatorType>
</botStepConditions>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Select_Location</targetBotDialog>
</botNavigationLinks>
<type>Call</type>
</botNavigation>
<stepIdentifier>Call_Select_Location</stepIdentifier>
<type>Navigation</type>
</botSteps>
<stepIdentifier>Set_Location</stepIdentifier>
<type>Group</type>
</botSteps>
<botSteps>
<botVariableOperation>
<botInvocation>
<invocationActionName>CreateOrderService</invocationActionName>
<invocationActionType>apex</invocationActionType>
<invocationMappings>
<parameterName>customer</parameterName>
<type>Input</type>
<variableName>Contact</variableName>
<variableType>ConversationVariable</variableType>
</invocationMappings>
<invocationMappings>
<parameterName>location</parameterName>
<type>Input</type>
<variableName>Location</variableName>
<variableType>ConversationVariable</variableType>
</invocationMappings>
<invocationMappings>
<parameterName>output</parameterName>
<type>Output</type>
<variableName>Pizza_Order</variableName>
<variableType>ConversationVariable</variableType>
</invocationMappings>
</botInvocation>
<type>Set</type>
<variableOperationIdentifier>Set_Order</variableOperationIdentifier>
</botVariableOperation>
<stepIdentifier>Create_Order</stepIdentifier>
<type>VariableOperation</type>
</botSteps>
415
BotVersionMetadata Types
<botSteps>
<botMessages>
<message>Perfect, let&apos;s work on your order from our {!Location.Name}
location</message>
<messageIdentifier>Start_Order_Message</messageIdentifier>
</botMessages>
<stepIdentifier>Start_Order</stepIdentifier>
<type>Message</type>
</botSteps>
<botSteps>
<messageDefinition>
<messageDefinitionName>Astros_Pizza_Menu</messageDefinitionName>
</messageDefinition>
<stepIdentifier>36e5a7cb-50c4-4279-aa06-1217eba1bf62</stepIdentifier>
<type>RichMessage</type>
</botSteps>
<botSteps>
<botNavigation>
<botNavigationLinks>
<targetBotDialog>Add_Items_to_Order</targetBotDialog>
</botNavigationLinks>
<type>Redirect</type>
</botNavigation>
<stepIdentifier>Proceed_To_Add_Items</stepIdentifier>
<type>Navigation</type>
</botSteps>
<developerName>New_Order</developerName>
<label>New Order</label>
<mlIntent>New_Order</mlIntent>
<showInFooterMenu>false</showInFooterMenu>
</botDialogs>
<conversationVariables>
<dataType>Object</dataType>
<developerName>Contact</developerName>
<label>Contact</label>
</conversationVariables>
<conversationVariables>
<dataType>Text</dataType>
<developerName>Delivery_Address</developerName>
<label>Delivery Address</label>
</conversationVariables>
<conversationVariables>
<dataType>Object</dataType>
<developerName>Pizza_Order</developerName>
<label>Pizza Order</label>
</conversationVariables>
<entryDialog>Welcome</entryDialog>
<mainMenuDialog>Main_Menu</mainMenuDialog>
</botVersions>
<label>Astro&apos;s Pizza</label>
</Bot>
416
BotVersionMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Astros Pizza_Bot.v1</members>
<name>BotVersion</name>
</types>
<version>45.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
BrandingSet
Represents the definition of a set of branding properties for an Experience Builder site, as defined in the Theme panel in Experience
Builder.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
BrandingSet components have the suffix brandingSet and are stored in the brandingSets folder.
Version
BrandingSet components are available in API version 40.0 and later.
Special Access Rules
The BrandingSet type is available when at least one of the following is enabled in your org: Digital Experiences, Surveys, or Lightning
Experience. All users, including unauthenticated guest users, can access this type.
Fields
DescriptionField TypeField Name
An array containing the name and value of each branding property, such
as TextColor:#333.
BrandingSetProperty[]brandingSetProperty
A description of the set of branding properties.stringdescription
Required. The user interface name of the set of branding properties.stringmasterLabel
417
BrandingSetMetadata Types
DescriptionField TypeField Name
The assigned branding set definition for this BrandingSet.stringtype
BrandingSetProperty
Represents the definition of a branding property in the Theme panel in Experience Builder.
DescriptionField TypeField Name
Required. The name of the branding property, such as TextColor.stringpropertyName
The value of the branding property, such as #333.stringpropertyValue
Declarative Metadata Sample Definition
The following is an example of a BrandingSet component.
<?xml version="1.0" encoding="UTF-8"?>
<BrandingSet xmlns="http://soap.sforce.com/2006/04/metadata">
<brandingSetProperty>
<propertyName>TextTransformStyle</propertyName>
<propertyValue>uppercase</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>DetailTextColor</propertyName>
<propertyValue>#696969</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>BorderColor</propertyName>
<propertyValue>#D4D4D4</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>HeaderImage</propertyName>
<propertyValue></propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>HeaderFonts</propertyName>
<propertyValue>Montserrat</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>CardBackgroundColor</propertyName>
<propertyValue>rgba(255, 255, 255, 0)</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>LoginBackgroundColor</propertyName>
<propertyValue>#F4F4F4</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>ActionColor</propertyName>
<propertyValue>#2574A9</propertyValue>
</brandingSetProperty>
418
BrandingSetMetadata Types
<brandingSetProperty>
<propertyName>_ActionColorTrans</propertyName>
<propertyValue>rgba(25, 124, 190, 0.9)</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>CompanyLogo</propertyName>
<propertyValue></propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>LoginBackgroundImage</propertyName>
<propertyValue>../../../../sfsites/picasso/core/external/
salesforceIdentity/images/background.jpg?v=1</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>_LinkColorDarker</propertyName>
<propertyValue>#135F90</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>_ActionColorDarker</propertyName>
<propertyValue>#135F90</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>_HoverColor</propertyName>
<propertyValue>rgba(25, 124, 190, 0.1)</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>ErrorFontColor</propertyName>
<propertyValue>#ff9e9e</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>TextColor</propertyName>
<propertyValue>#333</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>OverlayTextColor</propertyName>
<propertyValue>#FFFFFF</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>PrimaryFont</propertyName>
<propertyValue>Lato</propertyValue>
</brandingSetProperty>
<brandingSetProperty>
<propertyName>LinkColor</propertyName>
<propertyValue>#2574A9</propertyValue>
</brandingSetProperty>
<masterLabel>ex</masterLabel>
<type>napili:branding-napili-merged</type>
</BrandingSet>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyBrandingSet</members>
419
BrandingSetMetadata Types
<name>BrandingSet</name>
</types>
<version>40.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BriefcaseDefinition
Represents a briefcase definition. A briefcase makes selected records available for specific users and groups to view when theyre offline
in the Salesforce Field Service mobile app for iOS and Android. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
BriefcaseDefinition components have the suffix .briefcaseDefinition and are stored in the briefcaseDefinitions
folder.
Version
BriefcaseDefinition components are available in API version 50.0 and later.
Fields
DescriptionField TypeField Name
A list of rules that specify which records are included in the briefcase.BriefcaseRule[]briefcaseRules
Description of the briefcase.stringdescription
Required. Indicates whether the briefcase is active by default (true) or
inactive (false). Activate a briefcase to make the selected records
available to assignees.
booleanisActive
Required. Label for the briefcase name that appears in the Salesforce
user interface.
stringmasterLabel
Reserved for future use.BriefcaseType[]type
BriefcaseRule
Represents a rule that specifies records to be included in the BriefcaseDefinition.
420
BriefcaseDefinitionMetadata Types
DescriptionField TypeField Name
A list of filters on a rule.BriefcaseRuleFilter[]briefcaseRuleFilters
The filter logic for record selection, for example, 1 AND 2 where 1 and 2
correspond to filter 1 and filter 2. Filter logic operators include AND and OR.
stringfilterLogic
Indicates whether the records should be sorted in ascending order (true) or
descending order (false).
booleanisAscendingOrder
The field to order the records by, which determines how the records can be
sorted. For example, Account Name or Created By.
stringorderBy
A group of records to restrict the scope of this rule. Valid values include:FilterScope
(enumeration of type
string)
queryScope
Everything
AssignedToMe
Mine
The AssignedToMe scope is supported for the ServiceAppointment object
only.
The maximum number of records for an object on the briefcase rule. The
maximum is 50,000 records that meet the criteria. However, the records returned
intrecordLimit
by one briefcase rule must fit within the maximum limit of 50,000 records
across active briefcases. If there are more records that match the criteria than
the record limit allows, the orderBy field determines which records are
returned.
A list of rules that are related to the current rule.BriefcaseRule[]relatedRules
Required for relatedRules. Defines the Salesforce object field that relates
the relatedRules field to another relatedRules field or the
stringrelationshipField
briefcaseRules field on the BriefcaseDefinition metadata type that it's
nested in. For example, an Account object rule can be related to a Contact
object rule using the Account ID object field. In this example, the value for the
related rule's relationshipField is AccountID.
Required for relatedRules. Defines the relationship between the
relatedRules field and another relatedRules field or the
BriefcaseRuleRelationshipType
(enumeration of type
string)
relationshipType
briefcaseRules field on the BriefcaseDefinition metadata type that it's
nested in. Valid values include:
ParentToChild
ChildToParent
Required. The API name of the standard object, custom object, or custom
metadata type that the briefcase rule selects records from.
If the targetEntity is a custom metadata type, the briefcase rule cant
include any other fields. You can add only one briefcase rule for the same
stringtargetEntity
custom metadata type in a briefcase. Custom metadata types are supported
as the targetEntity for top-level rules onlyyou cant create a related
rule with targetEntity as a custom metadata type.
421
BriefcaseDefinitionMetadata Types
BriefcaseRuleFilter
Specifies filter criteria for a BriefcaseRule.
DescriptionField TypeField Name
Required. The comparison operator for this rule filter. Capitalization matters
with date filter operators. Be sure to specify date literals in uppercase. Some
valid date literals include TODAY, YESTERDAY and TOMORROW.
Valid values include:
BriefcaseFilterOperator
(enumeration of type
string)
filterOperator
dEnds with
eEquals
gGreater than
hGreater than or equal
lLess than
mLess than or equal
nNot equals. This value is applicable only when filterValue is
empty.
sStarts with
Required. The filter number. When you apply multiple filters, the filters are
numbered sequentially, 1, 2, 3, and so on.
intfilterSeqNumber
The value that the field and criteria evaluate. For example, true or false
for a boolean field whose criteria or filter operator is Equals.
Be sure to specify date literals in uppercase. Some valid date literals include
TODAY, YESTERDAY and TOMORROW.
stringfilterValue
For targetEntityField values that accept a user ID, such as OwnerId
or CreatedById, enter $User.Id to pass the ID of the user making the
request.
To evaluate targetEntityField by whether the field is empty or not
empty, leave filterValue blank and set filterOperator to e
(equals) or n (not equals).
Required. The API name of the field to filter by. This field is from the
targetEntity on BriefcaseRule. Compound fields aren't supported. Fields
stringtargetEntityField
encrypted with deterministic encryption can be used in filters with equals and
not equals operators.
Declarative Metadata Sample Definition
The following is an example of a BriefcaseDefinition component for account records.
The following is an example definition of a briefcase definition. If you include a rule filter, you must include a filter logic.
<?xml version="1.0" encoding="UTF-8"?>
<BriefcaseDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
422
BriefcaseDefinitionMetadata Types
<briefcaseRules>
<briefcaseRuleFilters>
<filterOperator>g</filterOperator>
<filterSeqNumber>1</filterSeqNumber>
<filterValue>50000.00</filterValue>
<targetEntityField>AnnualRevenue</targetEntityField>
</briefcaseRuleFilters>
<briefcaseRuleFilters>
<filterOperator>l</filterOperator>
<filterSeqNumber>2</filterSeqNumber>
<filterValue>50</filterValue>
<targetEntityField>NumberOfEmployees</targetEntityField>
</briefcaseRuleFilters>
<filterLogic>1 AND 2</filterLogic>
<isAscendingOrder>false</isAscendingOrder>
<orderBy>NumberOfEmployees</orderBy>
<queryScope>Everything</queryScope>
<recordLimit>1000</recordLimit>
<targetEntity>Account</targetEntity>
</briefcaseRules>
<description>Account Briefcase</description>
<isActive>true</isActive>
<masterLabel>Account With Standard Fields</masterLabel>
</BriefcaseDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AccountWithCustomFields</members>
<name>BriefcaseDefinition</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
Briefcase objects are available in orgs that have Briefcase Builder and Field Service enabled.
BusinessProcessGroup
Represents the surveys used to track customers experiences across different stages in their lifecycle. This type extends the Metadata
metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
423
BusinessProcessGroupMetadata Types
File Suffix and Directory Location
BusinessProcessGroup components have the suffix .businessProcessGroup and are stored in the businessProcessGroups
folder.
Version
BusinessProcessGroup components are available in API version 49.0 and later.
Special Access Rules
This metadata type is available in orgs with Surveys enabled with the Customer Lifecycle Designer license.
Fields
DescriptionField TypeField Name
A list that defines stages in a customer lifecycle map.BusinessProcessDefinition
on page 425[]
businessProcessDefinitions
Required. Types of questions that can be associated with stages in a
customer lifecycle map.
Valid values are:
SurveyQuestionType(enumeration
of type string)
customerSatisfactionMetric
Attachment
Boolean
CSAT
Currency
Date
DateTime
FreeText
Image
NPS
Matrix
MultiChoice
MultiSelectPicklist
NPS
Number
Picklist
Rating
ShortText
Slider
StackRank
Toggle
424
BusinessProcessGroupMetadata Types
DescriptionField TypeField Name
A description of the customer lifecycle map.stringdescription
Required. The name of the customer lifecycle map.stringmasterLabel
BusinessProcessDefinition
DescriptionField TypeField Name
A list of stages in a customer lifecycle map.BusinessProcessFeedback
on page 425[]
businessProcessFeedbacks
A description of a stage in the customer lifecycle map.stringdescription
Required. The API name of a stage in the customer lifecycle map.
Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
stringdeveloperName
Required. The name of a stage in the customer lifecycle map.stringmasterLabel
Required. The position of a stage in the customer lifecycle map.intsequenceNumber
BusinessProcessFeedback
DescriptionField TypeField Name
Required. The name of the survey used to collect feedbackstringactionName
Required. The name of the survey question used to collect feedback.stringactionParam
Required. The mode of feedback collection. Valid values are:ExpFeedbackCollType(enumeration
of type string)
actionType
PHONE_CALL
SURVEY
Declarative Metadata Sample Definition
The following is an example of a BusinessProcessGroup component.
<?xml version="1.0" encoding="UTF-8"?>
<BusinessProcessGroup xmlns="http://soap.sforce.com/2006/04/metadata">
<businessProcessDefinitions>
<developerName>Customer_Onboarding</developerName>
<masterLabel>Customer Onboarding</masterLabel>
<description>A stage in a customer's lifecycle.</description>
<sequenceNumber>0</sequenceNumber>
<businessProcessFeedbacks>
<actionType>Survey</actionType>
<actionName>New Customer CSAT</actionName>
425
BusinessProcessGroupMetadata Types
<actionParam>How would you rate our service?</actionParam>
</businessProcessFeedbacks>
</businessProcessDefinitions>
<customerSatisfactionMetric>NPS</customerSatisfactionMetric>
<masterLabel>Customer Lifecycle</masterLabel>
<description>This map tracks the feedback provided by customers' at different stages
during their lifecycle.</description>
</BusinessProcessGroup>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>policyholder</members>
<name>BusinessProcessGroup</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CallCenter
Represents the Call Center definition used to integrate Salesforce with a third-party computer-telephony integration (CTI) system.
File Suffix and Directory Location
CallCenter components have the suffix callCenter and are stored in the callCenters folder.
Version
CallCenter components are available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Optional field. A URL that points to an adapter.stringadapterUrl
The display name of this call center.stringdisplayName
The label of the displayName field in Call Center setup page.stringdisplayNameLabel
The label of the internalName field in Call Center setup page.stringinternalNameLabel
The version of this call center.stringversion
426
CallCenterMetadata Types
DescriptionField TypeField Name
Custom setup items defined for this call center.CallCenterSection[]sections
CallCenterSection
DescriptionField TypeField Name
Contains the label, name, and value that
describe the sections.
CallCenterItem[] on page 427items
The label of the section.stringlabel
The name of the section.stringname
CallCenterItem
DescriptionField TypeField Name
The label of the custom setup item.stringlabel
The name of the custom setup item.stringname
The value of the custom setup item.int or URLvalue
Declarative Metadata Sample Definition
The following is an example of a CallCenter component:
<?xml version="1.0" encoding="UTF-8"?>
<CallCenter xmlns="http://soap.sforce.com/2006/04/metadata">
<adapterUrl>http://localhost:11000</adapterUrl>
<displayName>Demo Call Center Adapter</displayName>
<displayNameLabel>Display Name</displayNameLabel>
<internalNameLabel>Internal Name</internalNameLabel>
<sections>
<items>
<label>Description</label>
<name>reqDescription</name>
<value>Demo Call Center Adapter</value>
</items>
<items>
<label>CTI Connector ProgId</label>
<name>reqProgId</name>
<value>DemoAdapter.DemoAdapter.1</value>
</items>
<items>
<label>Version</label>
<name>reqVersion</name>
<value>3.0</value>
427
CallCenterMetadata Types
</items>
<items>
<label>CTI Adapter URL</label>
<name>reqAdapterUrl</name>
<value>http://localhost:11000</value>
</items>
<label>General Information</label>
<name>reqGeneralInfo</name>
</sections>
<sections>
<items>
<label>Outside Prefix</label>
<name>reqOutsidePrefix</name>
<value>1</value>
</items>
<items>
<label>Long Distance Prefix</label>
<name>reqLongDistPrefix</name>
<value>1</value>
</items>
<items>
<label>International Prefix</label>
<name>reqInternationalPrefix</name>
<value>01</value>
</items>
<label>Dialing Options</label>
<name>reqDialingOptions</name>
</sections>
<version>4</version>
</CallCenter>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CallCoachingMediaProvider
Represents the CallCoachingMediaProvider configuration. Use CallCoachingMediaProvider to configure which providers of voice recordings
that Einstein Conversation Insights can use. For example, Sales Dialer can provide voice recordings. Einstein Conversation Insights then
stores and analyzes call recordings to surface insights and trends in customer conversations.This type extends the Metadata metadata
type and inherits its fullName field.
File Suffix and Directory Location
CallCoachingMediaProvider components have the suffix .callCoachingMediaProvider and are stored in the
CallCoachingMediaProvider folder.
428
CallCoachingMediaProviderMetadata Types
Version
CallCoachingMediaProvider components are available in API version 49.0 and later.
Special Access Rules
You must be a Sales Engagement customer to access this metadata type.
Fields
DescriptionField TypeField Name
Indicates whether the media provider can upload voice recordings (true) or
not (false).
Default value is false.
booleanisActive
Description of the media provider.stringproviderDescription
Name of the media provider.stringproviderName
Declarative Metadata Sample Definition
The following is an example of a CallCoachingMediaProvider component.
<?xml version="1.0" encoding="UTF-8"?>
<CallCoachingMediaProvider xmlns="http://soap.sforce.com/2006/04/metadata">
<isActive>true</isActive>
<providerDescription>Salesforce telephony provider</providerDescription>
<providerName>Dialer</providerName>
</CallCoachingMediaProvider>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CallCoachingMediaProvider</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
429
CallCoachingMediaProviderMetadata Types
CampaignInfluenceModel
Represents a campaign influence model used by Customizable Campaign Influence. You cant configure Customizable Campaign
Influence via the Metadata API, but you can add a campaign influence model.
Note: This information applies only to Customizable Campaign Influence and not to Campaign Influence 1.0 .
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
CampaignInfluenceModel values are stored in the campaignInfluenceModels directory of the corresponding package directory.
The file name matches the model name, and the extension is .campaignInfluenceModel.
Version
CampaignInfluenceModel components are available in API version 38.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the model is active. Active models can generate
campaign influence records. Deactivating a model deletes its campaign
booleanisActive
influence records. Custom models are always active and this field is
ignored. This field is available beginning with API version 40.0.
Required. Indicates if the model is the default model or not. Only
campaign influence records associated with the default model appear
booleanisDefaultModel
on campaigns and opportunities. You can only have one default model
at a time. A model must be active to become the default model.
Activating or deactivating custom models does not automatically
generate or delete campaign influence records.
Required. Indicates if the model is locked or not. Campaign Influence
records for locked models can be manipulated only via the API.
booleanisModelLocked
A description of the influence model.stringmodelDescription
Required. A unique name for the model.stringname
The value of this field determines when to create campaign influence
records.
picklistrecordPreference
AllRecords: Creates records regardless of the revenue attribution
percentage.
RecordsWithAttribution: Creates records only when the
revenue attribution is greater than 0%.
This field is available In API version 41.0 and later.
430
CampaignInfluenceModelMetadata Types
Declarative Metadata Sample Definition
The following is an example of a CampaignInfluenceModel component that represents the default Salesforce campaign influence
attribution model. The default isDefaultModel value of true can be changed if another model is created and set as the default
model. The isModelLocked value of true means that Campaign Influence records for this model can be seen in the UI, but not
created, updated, or deleted.
<?xml version="1.0" encoding="UTF-8"?>
<CampaignInfluenceModel xmlns="http://soap.sforce.com/2006/04/metadata">
<isActive>true</isActive>
<isDefaultModel>true</isDefaultModel>
<isModelLocked>true</isModelLocked> <recordPreference>AllRecords</recordPreference>
<modelDescription>Primary Campaign gets 100% of the revenue share</modelDescription>
<name>Salesforce Model</name>
</CampaignInfluenceModel>
The following is an example of a CampaignInfluenceModel component that creates an influence model called Last Touch, which will
not be the default model.
<?xml version="1.0" encoding="UTF-8"?>
<CampaignInfluenceModel xmlns="http://soap.sforce.com/2006/04/metadata">
<isActive>true</isActive>
<isDefaultModel>false</isDefaultModel>
<isModelLocked>true</isModelLocked>
<modelDescription>This model gives 100% influence attribution to the last campaign
that touched the contact.</modelDescription>
<name>Last Touch</name>
<recordPreference>RecordsWithAttribution</recordPreference>
</CampaignInfluenceModel>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CaseSubjectParticle
Represents the Social Business Rules custom format for the Case Subject field on cases created from inbound social posts.
File Suffix and Directory Location
CaseSubjectParticle components have the suffix .CaseSubjectParticle and are stored in the CaseSubjectParticles
folder.
Version
CaseSubjectParticle is available in API version 41.0 and later.
431
CaseSubjectParticleMetadata Types
Fields
DescriptionField TypeField Name
Required. The order in which the custom Case Subject is
generated, meaning if the social network is 0 and the social
intindex
message is 1, then the subject generates as Twitter |
Tweet.
Specifies inbound social content added to Case Subject in
case records.
stringtextField
Required. Specifies the custom Case Subject format from
which inbound social content appears in case records. Valid
values are:
CaseSubjectParticleType
(enumeration of type
string)
type
ProvidedString
Source
MessageType
SocialHandle
SocialNetwork
Sentiment
RealName
Content
PipeSeparator
ColonSeparator
HyphenSeparator
Declarative Metadata Sample Definition
This is a sample of a .CaseSubjectParticle file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns=http://soap.sforce.com/2006/04/metadata"">
<types>
<members>*</members>
<name>CaseSubjectParticle</name>
</types>
<version>41.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
432
CaseSubjectParticleMetadata Types
CareBenefitVerifySettings
Represents the configuration settings for benefit verification requests.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
CareBenefitVerifySettings components have the suffix .careBenefitVerifySettings and are stored in the
careBenefitVerifySettings folder.
Version
CareBenefitVerifySettings components are available in API version 52.0 and later.
Fields
DescriptionField Name
Field Type
string
codeSetType
Description
Specifies the code set type for the benefits verification service type codes.
Field Type
string
defaultNpi
Description
Default National Provider Identifier to be used in the benefits verification request.
Field Type
string
generalPlanServiceTypeCode
Description
Service type code for the plan benefits as a whole.
Field Type
boolean
isDefault
Description
Indicates whether this record is the default verification service (true) or not
(false).
433
CareBenefitVerifySettingsMetadata Types
DescriptionField Name
Field Type
string
masterLabel
Description
Required.
Name of the benefits verification service.
Field Type
string
organizationName
Description
Specifies the organization name for the benefits verification request service.
Field Type
string
serviceApexClass
Description
Apex class used to access the benefits verification service.
Field Type
string
serviceNamedCredential
Description
Credential used to access the benefits verification service.
Field Type
string
serviceTypeSourceSystem
Description
Service type code for the plan benefits as a whole.
Field Type
string
uriPath
Description
Link to payer endpoint.
Declarative Metadata Sample Definition
This is an example of a CareBenefitVerifySettings component.
<?xml version="1.0" encoding="UTF-8"?>
<CareBenefitVerifySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<generalPlanServiceTypeCode>abc</generalPlanServiceTypeCode>
<isDefault>true</isDefault>
<masterLabel>test</masterLabel>
<serviceApexClass>TestApexClass</serviceApexClass>
<serviceNamedCredential>test</serviceNamedCredential>
<uriPath>efgh</uriPath>
434
CareBenefitVerifySettingsMetadata Types
<serviceTypeSourceSystem>Lorem ipsum dolor</serviceTypeSourceSystem>
<codeSetType>Code set</codeSetType>
<defaultNpi>Npi info</defaultNpi>
<organizationName>Organization name</organizationName>
</CareBenefitVerifySettings>
This is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CareBenefitVerifySettings</name>
</types>
<types>
<members>*</members>
<name>ApexClass</name>
</types>
<types>
<members>*</members>
<name>NamedCredential</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CareLimitType
Defines the characteristics of limits on benefit provision.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
CareLimitType components have the suffix .careLimitType and are stored in the careLimitTypes folder.
Version
CareLimitType components are available in API version 52.0 and later.
435
CareLimitTypeMetadata Types
Fields
DescriptionField Name
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
Field Type
string
limitType
Description
Source of limit on benefit provision, such as a co-insurance requirement.
Field Type
string
masterLabel
Description
Required.
Name of the limit type.
Field Type
CareLimitTypeMetricType (enumeration of type string)
metricType
Description
Metric to be used for calculating and displaying the benefit limit, such as number of
visits, amount spent, or percentage of allowed expenditure.
Valid values are:
Amount
Money
Percentage
Text
Declarative Metadata Sample Definition
This is an example of a CareLimitType component.
<?xml version="1.0" encoding="UTF-8"?>
<CareLimitType xmlns="http://soap.sforce.com/2006/04/metadata">
<limitType>test</limitType>
<masterLabel>test</masterLabel>
<metricType>Money</metricType>
<isProtected>false</isProtected>
</CareLimitType>
436
CareLimitTypeMetadata Types
This is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CareLimitType</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CareSystemFieldMapping
Represents a mapping from source system fields to Salesforce objects and fields. This type extends the Metadata metadata type and
inherits its fullName field.
[other]: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
CareSystemFieldMapping components have the suffix .careSystemFieldMapping and are stored in the
careSystemFieldMappings folder.
Version
CareSystemFieldMapping components are available in API version 49.0 and later.
Special Access Rules
To use this metadata type, your Salesforce org must have the Health Cloud or Life Sciences Cloud license and the user must have the
Health Cloud Foundation (for Health Cloud) or Health Cloud Starter (for Life Sciences Cloud) permission set.
Fields
DescriptionField TypeField Name
The ID of the field in the external system.stringexternalIdField
Indicates whether this field mapping is active (true) or not (false).
The default value is False.
booleanisActive
437
CareSystemFieldMappingMetadata Types
DescriptionField TypeField Name
An auto-generated value that doesnt currently impact the behavior of
the metadata type.
booleanisProtected
Required. The name of the care system field mapping.stringmasterLabel
Required. The role the field represents. Valid values are:SourceSystemFieldRole
(enumeration of
type string)
role
PatientWhen the role field is set to Patient, the
Enrollment API uses the value of externalIdField as the
patient ID. This role can be used when targetObject is set to
Account.
RemoteMonitoringDeviceIndicates which
externalIdField on the Asset object maps to the Device
field in the CareObservation object. This role can be used when
targetObject is set to Asset.
RemoteMonitoringPatientIndicates which
externalIdField on the Account object maps to the
ObservedSubject field in the Care Observation object. This
role is used when targetObject is set to Account.
ServiceProviderThe Enrollment API uses the value of
externalIdField as the provider ID. This role is used when
targetObject is set to Account.
NotApplicableThis role is used when targetObject is
set to CareProgram or Product, which means that there is
no applicable role.
The system where the record originated.stringsourceSystem
The name of the Salesforce object to which the external system field is
mapped.
stringtargetObject
Declarative Metadata Sample Definition
The following is an example of a CareSystemFieldMapping component.
<?xml version="1.0" encoding="UTF-8"?>
<CareSystemFieldMapping xmlns="http://soap.sforce.com/2006/04/metadata">
<externalIdField>AccountNumber</externalIdField>
<isActive>true</isActive>
<isProtected>false</isProtected>
<masterLabel>Map1</masterLabel>
<role>Patient</role>
<sourceSystem>Epic</sourceSystem>
<targetObject>Account</targetObject>
</CareSystemFieldMapping>
438
CareSystemFieldMappingMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>patient</members>
<name>CareSystemFieldMapping</name>
</types>
<version>49.0</version>
</Package>
CareProviderSearchConfig
Represents the information about the fields that appear in care provider search results.This type extends the Metadata metadata type
and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
CareProviderSearchConfig components have the suffix .careProviderSearchConfig and are stored in the
careProviderSearchConfigs folder.
Version
CareProviderSearchConfig components are available in API version 48.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether this configuration is active (true) or not (false).booleanisActive
An auto-generated value that doesnt currently impact the behavior of
the metadata type.
booleanisProtected
Required. Indicates mapped objects.
Possible values are;
ProviderSearch
ObjectMapping
(enumeration of
type string)
mappedObject
HealthCarePractitionerFacility
HealthCareProvider
Required. Name of the care provider.stringmasterLabel
API name of the field that is copied to the target object.stringsourceField
API name of the field to copy the data to.stringtargetField
439
CareProviderSearchConfigMetadata Types
Declarative Metadata Sample Definition
The following is an example of a CareProviderSearchConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<CareProviderSearchConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<sourceField>Test1__c</sourceField>
<targetField>Test1__c</targetField>
<mappedObject>HealthcareProvider</mappedObject>
<isProtected>false</isProtected>
<isActive>true</isActive>
<masterLabel>testlabel</masterLabel>
</CareProviderSearchConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>HealthcareProvider.Test1__c</members>
<name>CustomField</name>
</types>
<types>
<members>CareProviderSearchableField.Test1__c</members>
<name>CustomField</name>
</types>
<types>
<members>Test</members>
<name>CareProviderSearchConfig</name>
</types>
<version>48.0</version>
</Package>
CareRequestConfiguration
Represents the details for a record type such as service request, drug request, or admission request. One or more record types can be
associated with a care request.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
CareRequestConfiguration components have the suffix .careRequestConfiguration and are stored in the
careRequestConfigurations folder.
440
CareRequestConfigurationMetadata Types
Version
CareRequestConfiguration components are available in API version 44.0 and later.
Fields
DescriptionField Name
Field Type
string
careRequestRecordType
Description
Required.
The record type for the care request.
Field Type
CareRequestRecords[]
careRequestRecords
Description
The list of objects you can select to configure the care request.
Field Type
string
careRequestType
Description
Required.
The type of care request. For example, an appeal, a service request, or an admission.
Field Type
boolean
isActive
Description
Indicates whether the care request is active (true) or not (false).
Field Type
boolean
Description
Indicates whether the record type of the care request is default (true) or not (false).
Field Type
string
Description
Required.
A user-friendly name for CareRequestConfiguration, which is defined when the
CareRequestConfiguration is created.
441
CareRequestConfigurationMetadata Types
CareRequestRecords
Displays a list of objects to customize the care request.
DescriptionField Name
Field Type
string
careRequestRecord
Description
Required.
The object selected to configure the care request.
Declarative Metadata Sample Definition
This is an example of a CareRequestConfiguration component.
<?xml version="1.0" encoding="UTF-8"?>
<CareRequestConfiguration xmlns="http://soap.sforce.com/2006/04/metadata">
<careRequestRecordType>DrugRequest</careRequestRecordType>
<careRequestRecords>
<careRequestRecord>CareRequestItem</careRequestRecord>
</careRequestRecords>
<careRequestRecords>
<careRequestRecord>CareRequestDrug</careRequestRecord>
</careRequestRecords>
<careRequestType>Drug Request</careRequestType>
<isActive>false</isActive>
<isDefaultRecordType>false</isDefaultRecordType>
<masterLabel>DrugRequest</masterLabel>
</CareRequestConfiguration>
This is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Case.DrugRequest</members>
<name>BusinessProcess</name>
</types>
<types>
<members>*</members>
<name>CareRequestConfiguration</name>
</types>
<types>
<members>CareRequest.DrugRequest</members>
<members>CareRequestDrug.DrugRequest</members>
<members>CareRequestItem.DrugRequest</members>
<members>Case.DrugRequest</members>
<name>RecordType</name>
</types>
442
CareRequestConfigurationMetadata Types
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Certificate
Represents a certificate used for digital signatures that verify that requests are coming from your org. Certificates are used for either
authenticated single sign-on with an external website, or when using your org as an identity provider. This type extends the Metadata
With Content metadata type and inherits its content and fullName fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
Certificate components have the suffix .crt and are stored in the certs folder.
Version
Certificate components are available in API version 36.0 and later.
Fields
DescriptionField TypeField Name
Required. Indicates whether this certificate is signed by the issuer (true)
or not (false).
booleancaSigned
Indicates whether this certificate is encrypted with Platform Encryption.booleanencryptedWithPlatformEncryption
The date that this certificate expires and is no longer usable. For
self-signed certificates, if keySize is 2048 bits, the expiration date is
dateTimeexpirationDate
automatically 1 year after you create the certificate. If keySize is 4096
bits, the expiration date is automatically 2 years after you create the
certificate. For CA-signed certificates, expirationDate is
automatically updated to the signed certificates expiration date when
a signed certificate chain is uploaded. The date format is YYYY-MM-DD.
Certificate keys can be either 2048 bits or 4096 bits. A certificate with
4096-bit keys lasts 2 years, and a certificate with 2048-bit keys lasts 1
intkeySize
year. Certificates with 2048-bit keys are faster than certificates with
4096-bit keys. If keySize isnt specified when you create a certificate,
the key size defaults to 2048 bits.
443
CertificateMetadata Types
DescriptionField TypeField Name
Required. A user-friendly name for the certificate that appears in the
Salesforce user interface, such as in Certificate and Key Management.
Limit: 64 characters.
stringmasterLabel
Indicates whether this certificates private key is exportable. If
privateKeyExportable isnt specified when you create a
certificate, its default value is true.
booleanprivateKeyExportable
Usage
The Metadata API can be used to create a self-signed or a CA-signed certificate. The .crt files contents are the certificate chain, which
can be updated when you renew or update the intermediate certificate chain of a CA-signed certificate. After creating a CA-signed
certificate, the .crt file contains a certificate signing request (CSR). For details, see About Salesforce Certificates and Keys in Salesforce
Help.
To copy an existing certificates X.509 parameter data to a new certificate, upload the existing certificate. You can also use this procedure
to renew a certificate. A new private+public key pair is created with a new certificate. Salesforce doesnt allow the import or export of
the private key via the API.
Using the Metadata API, you can download a CSR. After its CA-signed, you can upload it back to Salesforce.
After the signed certificate chain is uploaded via the Metadata API, the CSR of that certificate cant be downloaded via the API anymore.
The content of the .crt file is the signed certificate chain. However, the CSR can still be downloaded via the UI.
Downloading a CSRThe CSR is downloadable after a CA-signed cert is created. If a signed certificate hasnt been uploaded to that
certificate, the content of the downloaded .crt file is the CSR.
Uploading a CA-Signed CertificateTo upload the signed certificate chain back to Salesforce, save the signed certificate chain as
the content of the .crt file and update it via the Metadata API.
Declarative Metadata Sample Definition
The following is an example of a Certificate component.
<?xml version="1.0" encoding="UTF-8"?>
<Certificate xmlns="http://soap.sforce.com/2006/04/metadata">
<caSigned>true</caSigned>
<encryptedWithPlatformEncryption>true</encryptedWithPlatformEncryption>
<expirationDate>2017-03-19</expirationDate>
<keySize>4096</keySize>
<masterLabel>My Certificate Name</masterLabel>
<privateKeyExportable>true</privateKeyExportable>
</Certificate>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
444
CertificateMetadata Types
ChatterExtension
Represents the metadata used to describe a Rich Publisher App thats integrated with the Chatter publisher.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Retrieving ChatterExtension
Using an API tool, you can get extension information from package.xml using this code.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>xw1</members>
<name>ChatterExtension</name>
</types>
<version>41.0</version>
</Package>
Use the <members> tag to name a specific extension (in this example, xw1), or use the wildcard (*) symbol to retrieve all your
extensions.
Heres an example of retrieved information.
<?xml version="1.0" encoding="UTF-8"?>
<ChatterExtension xmlns="http://soap.sforce.com/2006/04/metadata">
<compositionComponent>xwComp</compositionComponent>
<description>des</description>
<extensionName>xw1</extensionName>
<headerText>h1</headerText>
<hoverText>h2</hoverText>
<icon>tiger</icon>
<masterLabel>primary</masterLabel>
<renderComponent>xwRend</renderComponent>
<type>Lightning</type>
</ChatterExtension>
Version
ChatterExtension is a new feature in API version 41.0.
Fields
DescriptionField TypeField
Required. The composition component of the Rich Publisher
App that you provide. Its comprised of the
stringcompositionComponent
lightning:availableForChatterExtensionComposer
interface.
Required. The description of your custom Rich Publisher App.stringdescription
445
ChatterExtensionMetadata Types
DescriptionField TypeField
Required. The name of your extension. That is, your Rich
Publisher App.
stringextensionName
The text to show in the header of your app composer. Header
text is required for Lightning type extensions. This text can be
localized.
stringheaderText
The text to show when a user mouses over your extensions
icon. Mouse-over text is required for Lightning type extensions.
This text can be localized.
stringhoverText
Required. The icon to show in the Chatter publisher. Use an
existing file asset id from your org.
stringicon
An auto-generated value. It currently has no impact.booleanisProtected
Required. Label for the ChatterExtension object.stringmasterLabel
Required. The rendering component of the Rich Publisher App
that you provide. Its comprised of the
stringrenderComponent
lightning:availableForChatterExtensionRenderer
interface.
Required. Describes the type of the extension. Currently, the
only value supported is Lightning. Included to allow for
other possible types in the future.
ChatterExtensionType
(enumeration of type string)
type
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Integrate Your Custom Apps into the Chatter Publisher
ClaimFinancialSettings
Represents the configuration settings for Insurance Claim Financial Services.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
446
ClaimFinancialSettingsMetadata Types
File Suffix and Directory Location
ClaimFinancialSettings components have the suffix claimFinancialSettings and are stored in the
ClaimFinancialSettings folder.
Version
ClaimFinancialSettings components are available in API version 57.0 and later.
Special Access Rules
To access this metadata type, you require access to either InsurancePolicyAdminAccess or InsuranceClaimMgmtAccess add-on license.
Fields
DescriptionField Name
Field Type
string
claimCovPendingAuthStatus
Description
Required.
The status of pending financial authority for claim coverage.
Field Type
string
claimPendingAuthorityStatus
Description
Required.
The status of pending financial authority for claim.
Field Type
string
clmCovPymtDtlPendAuthSts
Description
Required.
The status of pending financial authority for claim coverage payment detail.
Field Type
string
masterLabel
Description
Required.
The unique label that identifies the claim financial settings throughout the Salesforce
user interface.
447
ClaimFinancialSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of a ClaimFinancialSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ClaimFinancialSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<claimCovPendingAuthStatus>Pending Authority</claimCovPendingAuthStatus>
<claimPendingAuthorityStatus>Pending Authority</claimPendingAuthorityStatus>
<clmCovPymtDtlPendAuthSts>Pending Authority</clmCovPymtDtlPendAuthSts>
<masterLabel>Claim Financial Settings</masterLabel>
</ClaimFinancialSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?><!--
~ Copyright 2022 salesforce.com, inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ClaimFinancialSettings</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ClauseCatgConfiguration
Represents the configuration about the clause category that can be used to categorize your disclosure and compliance reports from
standardized disclosure templates in a response document.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ClauseCatgConfiguration components have the suffix .clauseCatgConfiguration and are stored in the
clauseCatgConfigurations folder.
448
ClauseCatgConfigurationMetadata Types
Version
ClauseCatgConfiguration components are available in API version 57.0 and later.
Special Access Rules
The ClauseManagementAddOn license is required to access this object along with user access for the Clause Designer User permission
set license.
Fields
DescriptionField Name
Field Type
string
description
Description
The description about the clause category configuration.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default is false.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for ClauseCatgConfiguration, which is defined when the
ClauseCatgConfiguration is created.
Field Type
ClmCategoryUsageType
usageType
Description
Required.
The usage type of the clause category configuration.
Possible values are:
ContractClauseCategory
DisclosureCategory
449
ClauseCatgConfigurationMetadata Types
Declarative Metadata Sample Definition
The following is an example of a ClauseCatgConfiguration component.
<?xml version="1.0" encoding="UTF-8"?>
<ClauseCatgConfiguration
xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is to add description for Contract Clause Category.</description>
<usageType>ContractClauseCategory</usageType>
<isProtected>false</isProtected>
<masterLabel>Contract Clause Cat</masterLabel>
</ClauseCatgConfiguration>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<name>ClauseCatgConfiguration</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CleanDataService
Represents a data service that adds and updates data in standard objects.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
CleanDataService components have the .cleanDataService suffix and are stored in the cleanDataServices directory.
The name of the component file is based on the name of the object associated with the data service. For example, the component file
name cleanDataServices/DataCloudCompanyMatch.cleanDataService describes a data service component
called DataCloudCompanyMatch that's associated with the company name in account objects.
Version
CleanDataService components are available in API version 61.0 and later.
450
CleanDataServiceMetadata Types
Fields
DescriptionField TypeField Name
Required. A list of data integration rulesCleanRule[]cleanRules
Required. A description of the data servicestringdescription
Required. Label for this data service. Although this value is displayed, its
an internal label for the data service and isnt translated.
stringmasterLabel
Required. A key that maps to the internal data service identifier.stringmatchEngine
CleanRule
Represents information that controls how the data service adds and updates data in an org.
DescriptionField TypeField Name
Required. If this field is set to true, Salesforce applies the data integration
rule to existing records whenever the rule is updated or saved.
booleanbulkEnabled
Required. If this field is set to true, Salesforce bypasses triggers when it applies
the rule; otherwise, it applies triggers after it applies the rule.
booleanbypassTriggers
Required. If this field is set to true, Salesforce bypasses workflow rules when
it applies the data integration rule; otherwise, it applies workflow rules after it
applies the rule.
booleanbypassWorkflow
Required. User-friendly text that describes the data integration rule.stringdescription
Required. This name can contain only underscores and alphanumeric characters,
and must be unique in your org. It must begin with a letter, not include spaces,
stringdeveloperName
not end with an underscore, and not contain two consecutive underscores.
This unique name prevents conflicts with rules from other packages that have
the same masterLabel.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Required. A list of FieldMapping entries for the rule.FieldMapping[]fieldMappings
Required. Label for this object. This display value is the internal label that is not
translated.
stringmasterLabel
Required. An internal label for a matching rule in the data service thats
associated with the CleanRule.
stringmatchRule
Required. A virtual object in the data service that is associated with the
CleanRule. Specifying a non-existent object causes an error.
stringsourceSobjectType
Required. Status of the data integration rule. Valid values are Active and
Inactive.
stringstatus
451
CleanDataServiceMetadata Types
DescriptionField TypeField Name
Required. A standard object thats the target of additions and updates specified
by this CleanRule. Specifying an object that the data service does not support
causes an error.
stringtargetSobjectType
FieldMapping
Represents a mapping between fields in the data service and fields in an object in the org.
DescriptionField TypeField Name
Required. This name can contain only underscores and alphanumeric characters,
and must be unique in your org. It must begin with a letter, not include spaces,
stringdeveloperName
not end with an underscore, and not contain two consecutive underscores.
This unique name prevents conflicts with field mappings from other packages
that have the same masterLabel.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Required. A list of FieldMappingRow entries. Each entry represents a field in a
standard object that maps to a field in the data service.
FieldMappingRow[]fieldMappingRows
Required. Label for this object. This display value is the internal label that is not
translated.
stringmasterLabel
Required. The standard object associated with this FieldMapping. Specifying
an object that the data service does not support causes an error.
stringSObjectType
FieldMappingRow
Represents the status of a CleanRule.
DescriptionField TypeField Name
The display name for the field represented by the FieldMappingRow.stringfieldName
Required. A list of FieldMappingField entries. Each entry is a field in a standard
object that maps to a field in the data service.
FieldMappingField[]fieldMappingFields
The comparison operation the data service applies when it compares the value
of this FieldMappingRow to the mapped field in the object specified in
stringmappingOperation
SObjectType. The value of this field is AutoFill, which indicates that the
data service only adds data if the object field is blank.
The standard object for the field mapped to the FieldMappingRow. Specifying
an object that the data service does not support causes an error.
stringSObjectType
452
CleanDataServiceMetadata Types
FieldMappingField
Represents a field in a standard object. A FieldMappingField maps to a FieldMappingRow entry in a data service.
DescriptionField TypeField Name
Required. A field in the data service that is mapped to this field.stringdataServiceField
Required. An object in the data service that contains the FieldMappingRow
associated with this FieldMappingField. Specifying a non-existent object causes
an error.
stringdataServiceObjectName
Required. Represents the priority that the data service uses when it updates
the field, relative to other update rules for the same field. Valid values are 1-100.
intpriority
Declarative Metadata Sample Definition
The following is an example of a CleanDataService component for the lead standard object.
<?xml version="1.0" encoding="UTF-8"?>
<CleanDataService xmlns="http://soap.sforce.com/2006/04/metadata">
<cleanRules>
<bulkEnabled>false</bulkEnabled>
<bypassTriggers>false</bypassTriggers>
<bypassWorkflow>false</bypassWorkflow>
<description>Adds data info to leads</description>
<developerName>DataService_Leads_Enrichment</developerName>
<fieldMappings>
<SObjectType>DataServiceCompanyObject</SObjectType>
<developerName>DataService_Leads_Enrichment_InputMapping</developerName>
<fieldMappingRows>
<SObjectType>DataServiceCompanyObject</SObjectType>
<fieldMappingFields>
<dataServiceField>Email</dataServiceField>
<dataServiceObjectName>Lead</dataServiceObjectName>
<priority>1</priority>
</fieldMappingFields>
<fieldName>Email</fieldName>
<mappingOperation>Autofill</mappingOperation>
</fieldMappingRows>
<fieldMappingRows>
<SObjectType>DataServiceCompanyObject</SObjectType>
<fieldMappingFields>
<dataServiceField>Company</dataServiceField>
<dataServiceObjectName>Lead</dataServiceObjectName>
<priority>1</priority>
</fieldMappingFields>
<fieldName>Name</fieldName>
<mappingOperation>Autofill</mappingOperation>
</fieldMappingRows>
<masterLabel>DataServiceInputMapping</masterLabel>
</fieldMappings>
<fieldMappings>
453
CleanDataServiceMetadata Types
<SObjectType>Lead</SObjectType>
<developerName>DataService_Leads_Enrichment_OutputMapping</developerName>
<fieldMappingRows>
<SObjectType>Lead</SObjectType>
<fieldMappingFields>
<dataServiceField>EmployeesTotal</dataServiceField>
<dataServiceObjectName>DataServiceCompanyObject</dataServiceObjectName>
<priority>1</priority>
</fieldMappingFields>
<fieldName>NumberOfEmployees</fieldName>
<mappingOperation>Autofill</mappingOperation>
</fieldMappingRows>
<fieldMappingRows>
<SObjectType>Lead</SObjectType>
<fieldMappingFields>
<dataServiceField>Revenue</dataServiceField>
<dataServiceObjectName>DataServiceCompanyObject</dataServiceObjectName>
<priority>1</priority>
</fieldMappingFields>
<fieldName>AnnualRevenue</fieldName>
<mappingOperation>Autofill</mappingOperation>
</fieldMappingRows>
<fieldMappingRows>
<SObjectType>Lead</SObjectType>
<fieldMappingFields>
<dataServiceField>Industry</dataServiceField>
<dataServiceObjectName>DataServiceCompanyObject</dataServiceObjectName>
<priority>1</priority>
</fieldMappingFields>
<fieldName>Industry</fieldName>
<mappingOperation>Autofill</mappingOperation>
</fieldMappingRows>
<masterLabel>DataServiceOutputMapping</masterLabel>
</fieldMappings>
<masterLabel>Data Service Company Info for Leads</masterLabel>
<matchRule>DataServiceLeadAppendMatchRule</matchRule>
<sourceSobjectType>DataServiceCompanyObject</sourceSobjectType>
<status>Active</status>
<targetSobjectType>Lead</targetSobjectType>
</cleanRules>
<description>Data Service Companies for Leads</description>
<masterLabel>Data Service Companies for Leads</masterLabel>
<matchEngine>LeadEnrichmentMatchEngine</matchEngine>
</CleanDataService>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>DataService_Leads_Enrichment</members>
<name>CleanDataService</name>
454
CleanDataServiceMetadata Types
</types>
<version>38.0</version>
</Package>
Usage
Use CleanDataService to retrieve all the metadata that describes a data enrichment service. To configure the service in a new org, deploy
the metadata you retrieved. Avoid using CRUD-Based Calls with CleanDataService.
To make small modifications to the CleanDataService component, use the Tooling API.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CMSConnectSource
Represents the connection information for external content management systems that feed content to Experience Builder sites. This
type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Note: For use with Change Sets, CMSConnectSource is a dependent of Network and Community.
File Suffix and Directory Location
CMSConnectSource components have the suffix .cmsConnectSource and are stored in the cmsConnectSource folder. In
that folder, separate files exist for each network (for example, networkname.sourcedevelopername.cmsConnectSource).
Each file represents a CMS connection.
Version
CMSConnectSource components are available in API version 43.0 and later.
Special Access Rules
The CMS Connect org permission must be enabled.
Fields
DescriptionField TypeField Name
Represents CSS or JavaScript defined for the connection.CMSConnectAsset on
page 457[]
cmsConnectAsset
010 for CSS
455
CMSConnectSourceMetadata Types
DescriptionField TypeField Name
010 for JavaScript
0 to more. Represents language mappings defined for the connection.CMSConnectLanguage
on page 457[]
cmsConnectLanguage
0 or 1. Represents personalization defined for the connection. Only
for use when type is AEM.
CMSConnectPersonalization[]
on page 458
cmsConnectPersonalization
05. Represents JSON definitions defined for the connection.CMSConnectResourceType
on page 458[]
cmsConnectResourceType
Required. Type of authentication being used with outside system.
Valid values are:
CMSSourceConnectionType(enumeration
of type string)
connectionType
Public
Authenticated
The class name used to prefix and scope the CSS rules.stringcssScope
Required. API name of the CMSConnectSource entity.stringdeveloperName
Required. Valid values are:stringlanguageEnabled
Y to enable language mapping for connection.
N if no language mapping is needed.
Required. Connection namestringmasterLabel
Required when the connectionType is Authenticated.
API name of namedCredential. Before deploying
namedCredential, it must exist on the destination org.
stringnamedCredential
Required. Valid values are:stringpersonalizationEnabled
Y to enable personalization mapping for connection.
Otherwise N.
Required. Root path.stringrootPath
Required. Defines the load order of the connection when multiple
connections defined on page. The load order begins with 1.
intsortOrder
Required. Status of connection. Valid values are:CMSConnectionStatus(enumeration
of type string)
status
ACTIVE
INACTIVE
Required. The identification of the source connection system. Valid
values are:
CMSConnectionSourceType(enumeration
of type string)
type
AEM
Drupal
WordPress
456
CMSConnectSourceMetadata Types
DescriptionField TypeField Name
SDL
Sitecore
Other
Required if connectionType is PublicstringwebsiteUrl
Note: Because there can be existing connections when a package comes in, theres some INSERT or UPDATE logic to consider:
If you find developerName in the destination, then update the existing collection with all details form source.
namedCredential is handled through developerName. If you dont find namedCredential with
developerName, then an error is generated.
If the destination isnt sortOrder from the source, then insert or update with the source sortOrder.
If sortOrder from the source is already in the destination, then increase the source sortOrder by 1 for connections
such that the destination sortOrder > sortOrder from the source.
CMSConnectAsset
CMSConnectAsset defines the location, types, and order of assets necessary to support the incoming content, such as JavaScript and
CSS files.
Note: Because there can be existing connections when a package comes in, theres some INSERT or UPDATE logic to consider:
If assetPath exists in the destination, then update the existing record, else the new assetPath is inserted.
Always keep the sortOrder from the source and adjust the destination accordingly.
DescriptionField TypeField Name
Relative path of the asset.stringassetPath
When used in Apex, this value can be sent as an enum, otherwise, this field
has a type of string.
stringassetType
Allowed values as string
CSS
Javascript
Allowed values as enum
CSS
Javascript
Loading sequence on the page.intsortOrder
CMSConnectLanguage
CMSConnectLanguage components determine the presented language of the content.
457
CMSConnectSourceMetadata Types
DescriptionField TypeField Name
When a language placeholder is in the URL path, this value is used to replace
it.
stringcmsLanguage
Salesforce supported language.
For information see
https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm
stringlanguage
CMSConnectPersonalization
CMSConnectPersonalization is used only with Adobe Experience Manager (AEM).
Note: Because there can be existing connections when a package comes in, theres some INSERT or UPDATE logic to consider. If
personalization isnt enabled in the source system, but is enabled in the destination, the destination is disabled. The record for the
connection is deleted from the table.
DescriptionField TypeField Name
The path to the JSP file that you created and installed in AEM.stringconnectorPage
The path to your Javascript file. Providing this path allows you to run scripts
dynamically.
stringconnectorPageAsset
CMSConnectResourceType
CMSConnectResourceType is for use only to define JSON connections.
Note: Because there can be existing connections when a package comes in, theres some INSERT or UPDATE logic to consider. If
you find the developer name in the destination, then update the existing record with all details from the source.
DescriptionField TypeField Name
010 allowed per CMSConnectResourceType.cmsConnectResourceDefinition
on page 458[]
cmsConnectResourceDefinition
API name of CMSConnectResourceType.stringdeveloperName
Content type name.stringmasterLabel
The only allowed value is JSON.stringresourceType
CMSConnectResourceDefinition
cmsConnectResourceDefinition is used to define JSON connections.
Note: Because there can be existing connections when a package comes in, theres some INSERT or UPDATE logic to consider:
If you find developerName in the destination, then the existing record is updated with all details from the new source, else
the new value is inserted.
458
CMSConnectSourceMetadata Types
If the current source is DETAIL and the destination has DETAIL with a different name, then the destination is updated to LIST
and the source is inserted as DETAIL.
DescriptionField TypeField Name
Required. API name of CMSConnectResourceDefinition.stringdeveloperName
Required. developerName of Content Item or Content List.stringmasterLabel
Required. Identifies whether the content from the external source is a single
item or a list.
0 for Content List
intoptions
1 for Content Item
Required. The only valid value is JSON.stringpayloadType
Relative path to ID. Required for Content Item.stringresourceIdPath
Relative path to resource name. Required for Content Item.stringresourceNamePath
Required. JSON resource path.stringresourcePath
Only for Content List and collection. Defines the initial starting path for a
collection or list.
stringrootNodePath
Declarative Metadata Sample Definition
The following is an example of a CMSConnectSource definition.
<?xml version="1.0" encoding="UTF-8"?>
<CMSConnectSource xmlns="http://soap.sforce.com/2006/04/metadata">
<cmsConnectAsset>
<assetPath>etc/designs/capricorn/app-prefixed.min.css</assetPath>
<assetType>CSS</assetType>
<sortOrder>1</sortOrder>
</cmsConnectAsset>
<cmsConnectAsset>
<assetPath>etc/designs/capricorn/w3data.js</assetPath>
<assetType>Javascript</assetType>
<sortOrder>1</sortOrder>
</cmsConnectAsset>
<cmsConnectLanguage>
<cmsLanguage>en</cmsLanguage>
<language>en_US</language>
</cmsConnectLanguage>
<cmsConnectLanguage>
<cmsLanguage>fr</cmsLanguage>
<language>fr</language>
</cmsConnectLanguage>
<cmsConnectPersonalization>
<connectorPage>content/salesforceConnector.js</connectorPage>
<connectorPageAsset>content/js/capricorn/assets.js</connectorPageAsset>
</cmsConnectPersonalization>
459
CMSConnectSourceMetadata Types
<cmsConnectResourceType>
<cmsConnectResourceDefinition>
<developerName>Details</developerName>
<masterLabel>Details</masterLabel>
<options>0</options>
<payloadType>JSON</payloadType>
<resourceIdPath>ID</resourceIdPath>
<resourceNamePath>title</resourceNamePath>
<resourcePath>rest/v1.1/sites/cmstry.wordpress.com/posts/{component}</resourcePath>
</cmsConnectResourceDefinition>
<cmsConnectResourceDefinition>
<developerName>List</developerName>
<masterLabel>List</masterLabel>
<options>1</options>
<payloadType>JSON</payloadType>
<resourcePath>rest/v1.1/sites/cmstry.blog.wordpress.com/posts?number={itemsPerPage}&amp;page={pageNumber}</resourcePath>
</cmsConnectResourceDefinition>
<developerName>Posts</developerName>
<masterLabel>Posts</masterLabel>
<resourceType>JSON</resourceType>
</cmsConnectResourceType>
<connectionType>Public</connectionType>
<cssScope>capricorn</cssScope>
<developerName>Capricorn</developerName>
<languageEnabled>Y</languageEnabled>
<masterLabel>Capricorn</masterLabel>
<personalizationEnabled>Y</personalizationEnabled>
<rootPath>content/capricorn/{language}</rootPath>
<sortOrder>11</sortOrder>
<status>ACTIVE</status>
<type>AEM</type>
<websiteUrl>https://public-api.wordpress.com</websiteUrl>
</CMSConnectSource>
The following is an example package.xml.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>NetworkA.*</members>
<name>CMSConnectSource</name>
</types>
<version>43.0</version>
</Package>
To retrieve a specific connection:
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>NetworkA.DeveloperName</members>
<name>CMSConnectSource</name>
</types>
460
CMSConnectSourceMetadata Types
<version>43.0</version>
</Package>
Usage
The INSERT or UPDATE logic for the incoming information is always UPSERT. If data isnt in the entity, then its inserted, otherwise the
current data is updated.
Before doing upsert, the content from the package is validated against the maximum limits for the following:
CSS assets <= 10
JavaScript assets <= 10
Resource types < =5
Resource definitions for each type <=10
For example
1. The validation on a new connection totals only the elements in the incoming package.
2. Validation of existing connections totals the existing assets and new elements to assess validity. For example, if a connection on the
destination org already has six CSS definitions, and the incoming package has defined seven CSS definitions (four new + three
existing), the new total is the six current from the database. The total ignores the three repeated in the package and adds four new
definitions from the incoming package. This totals 10 definitions, which number is at or below the 10 asset threshold, and it passes
validation.
Refer to the following content for more details for how each entity how is handled while saving the details from package to destination
org:
DescriptionType
CMSConnectSource
If you find developerName in the destination, then update
the existing collection with all details form source.
namedCredential is handled through
developerName. If you dont find namedCredential
with developerName, then an error is generated.
If the destination isnt sortOrder from the source, then
insert or update with the source sortOrder.
If sortOrder from the source is already in the destination,
then increase the source sortOrder by 1 for connections
such that the destination sortOrder > sortOrder from
the source.
CMSConnectAsset
If assetPath exists in the destination, then update the
existing record, else the new assetPath is inserted.
Always keep the sortOrder from the source and adjust
the destination accordingly.
If personalization isnt enabled in the source system, but is enabled
in the destination, the destination is disabled. The record for the
connection is deleted from the table.
CMSConnectPersonalization
461
CMSConnectSourceMetadata Types
DescriptionType
If you find the developer name in the destination, then update the
existing record with all details from the source.
CMSConnectResourceType
CMSConnectResourceDefinition
If you find developerName in the destination, then the existing
record is updated with all details from the new source, else the
new value is inserted.
If the current source is DETAIL and the destination has DETAIL
with a different name, then the destination is updated to LIST
and the source is inserted as DETAIL.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Select Components for an Outbound Change Set
View and Add Dependent Components to a Change Set
Developer Guide: Deploying and Retrieving Metadata
Salesforce Help: Use Personalized Content in CMS Connect
Developer Guide: Translations
Community (Zone)
Represents a zone that contains Ideas or Chatter Answers objects. Zones are shared by the Ideas, Answers, and Chatter Answers features,
allowing you to view and create zones from those locations.This type extends the Metadata metadata type and inherits its fullName
field.
Note: Starting with the Summer 13 release, Chatter Answers and Ideas communities have been renamed to zones. In API
version 28, the API object label has changed to Zone, but the API type is still Community.
File Suffix and Directory Location
Zones have the suffix community and are stored in the communities folder.
Version
Community (Zone) components are available in API version 27.0 and later.
462
Community (Zone)Metadata Types
Fields
Note: When enableChatterAnswers is set to false, values specified for the following fields are ignored and not saved:
communityFeedPage, emailFooterDocument, emailHeaderDocument, enablePrivateQuestions,
emailNotificationUrl, and site.
DescriptionField TypeField Name
Indicates whether the zone is active (true) or not (false).booleanactive
(Read only) The Facebook sign-on URL, which is based on the Facebook
authentication provider selected in your Chatter Answers settings. This
stringchatterAnswersFacebookSsoUrl
field is available only if Chatter Answers and Facebook Single Sign-On
for Chatter Answers are enabled.
The Visualforce page that hosts the zones feeds. This field is available
when Chatter Answers is enabled in the organization.
stringcommunityFeedPage
The description of the zone.stringdescription
The text or HTML file that incorporates your organizations branding into
the footer of email notifications. This field is available when Chatter
Answers is enabled in the organization.
stringemailFooterDocument
The text or HTML file that incorporates your organizations branding into
the header of email notifications. This field is available when Chatter
Answers is enabled in the organization.
stringemailHeaderDocument
The URL thats included in email notifications. This field is available when
Chatter Answers is enabled in the organization. This field replaces
portalEmailNotificationUrl in API version 28.0 and later.
stringemailNotificationUrl
Indicates whether the zone has Chatter Answers enabled (true) or not
(false). This field is available when Chatter Answers is enabled in the
organization.
booleanenableChatterAnswers
Indicates whether Chatter Answers questions can be escalated to cases
(true) or not (false). This field is available when Chatter Answers is
enabled in the organization.
booleanenablePrivateQuestions
The name of the public group that act as experts in the zone. This field
is available when eitherIdeas or Answers are enabled in the organization.
stringexpertsGroup
The name of the portal in which to display the zone.stringportal
The portal URL thats included in email notifications. This field is available
when Chatter Answers is enabled in the organization. This field has been
replaced by emailNotificationUrl in API version 28.0 and later.
stringportalEmailNotificationUrl
The fields that define the points and name of each reputation level you
define. You can create up to 25 reputation levels per zone.
ReputationLevelsreputationLevels
Indicates whether the zone is available to all portals (true) or not
available to any portals (false).
booleanshowInPortal
463
Community (Zone)Metadata Types
DescriptionField TypeField Name
The name of the site for the zone. This field is available when Chatter
Answers is enabled in the organization.
stringsite
ReputationLevels
Represents the points and reputation label that displays on hover over a users photo in the feed.
DescriptionField TypeField Name
Contains the name and value pair that describes the
reputation level for Chatter Answers. Available in API version
28.0 and later.
ChatterAnswersReputationLevel
[]
chatterAnswersReputationLevels
Contains the name and value pair that describes the
reputation for Ideas. Available in API version 28.0 and later.
IdeaReputationLevelideaReputationLevels
ChatterAnswersReputationLevel
Represents the reputation name and the number of points for that level for Chatter Answers.
DescriptionField TypeField Name
The name of the reputation level, for example, Expert.stringname
The minimum number of points for the reputation level.intvalue
IdeaReputationLevel
Represents the reputation name and the number of points for that level for Ideas. Available in API version 28.0 and later.
DescriptionField TypeField Name
The name of the reputation level, for example, Expert.stringname
The minimum number of points for the reputation level.intvalue
Declarative Metadata Sample Definition
The following is the definition of a community (zone) component:
<?xml version="1.0" encoding="UTF-8"?>
<Community xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<communityFeedPage>communityWithHeaderAndFooter_main</communityFeedPage>
<description>Metadata Test</description>
<emailFooterDocument>sampleFolder/emailFooter.html</emailFooterDocument>
<emailHeaderDocument>sampleFolder/emailHeader.html</emailHeaderDocument>
464
Community (Zone)Metadata Types
<enableChatterAnswers>true</enableChatterAnswers>
<enablePrivateQuestions>true</enablePrivateQuestions>
<expertsGroup>CommunityExperts</expertsGroup>
<portal>Customer Portal</portal>
<emailNotificationUrl>http://yourURL</emailNotificationUrl>
<reputationLevels>
<chatterAnswersReputationLevels>
<name>Newbie</name>
<value>0</value>
</chatterAnswersReputationLevels>
<chatterAnswersReputationLevels>
<name>Smartie</name>
<value>500</value>
</chatterAnswersReputationLevels>
<chatterAnswersReputationLevels>
<name>Pro</name>
<value>2000</value>
</chatterAnswersReputationLevels>
<chatterAnswersReputationLevels>
<name>All Star</name>
<value>5000</value>
</chatterAnswersReputationLevels>
<ideaReputationLevels>
<name>Observer</name>
<value>0</value>
</ideaReputationLevels>
<ideaReputationLevels>
<name>Contributor</name>
<value>100</value>
</ideaReputationLevels>
<ideaReputationLevels>
<name>Influencer</name>
<value>400</value>
</ideaReputationLevels>
<ideaReputationLevels>
<name>Thought Leader</name>
<value>1500</value>
</ideaReputationLevels>
</reputationLevels>
<showInPortal>true</showInPortal>
<site>ChatterAnswersSite</site>
</Community>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CommerceSettings
Represents settings for various Commerce features.
465
CommerceSettingsMetadata Types
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
CommerceSettings values are stored in the Commerce.settings file in the settings folder. The .settings files are different
from other named components, because theres only one settings file for each settings component.
Version
Commerce Settings are available in API version 50.0 and later.
Special Access Rules
Fields
DescriptionField Name
Field Type
boolean
commerceAnalyticsEnabled
Description
Indicates whether Commerce Analytics is enabled (true) or not (false).
Field Type
boolean
commerceConciergeEnabled
Description
Indicates whether Commerce Concierge bots are enabled (true) or not (false).
Field Type
boolean
commerceDiscoveryExpansion
Description
Indicates whether the Commerce Discovery Expansion service is enabled (true) or
not (false).
Field Type
boolean
commerceEnabled
Description
Indicates whether Commerce is enabled (true) or not (false).
Field Type
boolean
lowestUnitPriceTracking
466
CommerceSettingsMetadata Types
DescriptionField Name
Description
Indicates whether lowest unit price tracking (for EU customers) is enabled (true) or
not (false).
Declarative Metadata Sample Definition
The following is an example of a CommerceSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<CommerceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<commerceEnabled>false</commerceEnabled>
</CommerceSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Commerce</members>
<name>Settings</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
CommunityTemplateDefinition
Represents the definition of an Experience Builder site template. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
CommunityTemplateDefinition components have the suffix .communityTemplateDefinition and are stored in the
communityTemplateDefinitions folder.
Version
CommunityTemplateDefinition components are available in API version 38.0 and later.
467
CommunityTemplateDefinitionMetadata Types
Special Access Rules
This type is available only if Salesforce Digital Experiences is enabled in your org.
Fields
DescriptionField TypeField Name
Denotes that this CommunityTemplateDefinition was created in API
version 41.0 or later. The only valid value is c. This field is available in
API 41.0 and later.
CommunityBase
Template
(enumeration of
type string)
baseTemplate
The list of preview images and feature highlights of this
CommunityTemplateDefinition.
CommunityTemplateBundleInfo[]bundlesInfo
Required. The optimized use case of this CommunityTemplateDefinition.
Valid values are:
CommunityTemplate
Category
(enumeration of
type string)
category
Commerce
IT
Marketing
Sales
Service
The set of branding properties associated with this
CommunityTemplateDefinition, as defined in the Theme panel in
Experience Builder. Available in API version 40.0 and later.
In API version 44.0 and later, this field is read-only and can be
implemented in CommunityThemeDefinition on page 474.
stringdefaultBrandingSet
Required. The assigned theme definition for this
CommunityTemplateDefinition.
stringdefaultThemeDefinition
The optional description text of this CommunityTemplateDefinition.stringdescription
False by default. Determines if deleting this
CommunityTemplateDefinition attempts to delete other directly or
booleanenableExtendedCleanUp
OnDelete
indirectly referenced objects automatically, for example,
CommunityThemeDefinition on page 474, Flexipage on page 955, or
StaticResource on page 1945. Values are true or false.
Required. The label for this CommunityTemplateDefinition, which displays
in Setup.
stringmasterLabel
The navigation menu associated with this CommunityTemplateDefinition.
A navigation menu consists of items that users can click to go to other
NavigationLinkSetnavigationLinkSet
parts of the site. Available in API versions 37.0 to 46.0. In API versions
47.0 and later, use NavigationMenu.
The list of FlexiPage of this CommunityTemplateDefinition.CommunityTemplatePageSetting[]pageSetting
468
CommunityTemplateDefinitionMetadata Types
DescriptionField TypeField Name
Defines the name of the publisher as seen in the Change Theme wizard.
If no name is provided, the name of the org from which the package
was originally exported is used.
This field is available in API version 45.0 and later.
stringpublisher
CommunityTemplateBundleInfo
DescriptionField TypeField Name
The optional description text of its CommunityTemplateBundleInfo.stringdescription
Required only when the type is PreviewImage, otherwise this field is
optional. A preview image for this CommunityTemplateDefinition.
stringimage
Required. An integer specifying the position of this
CommunityTemplateBundleInfo relative to others of the same type within
intorder
its CommunityTemplateDefinition. 1 is the first position, 3 is the maximum
position for PreviewImage type, and 4 is the maximum position for the
Highlight type.
Required. The title of this CommunityTemplateBundleInfo to use in code.stringtitle
Required. Stores descriptive information about the template thats included in
the export. The template powers the interface of the Experience Creation
Wizard. Valid values are:
CommunityTemplate
BundleInfoType
(enumeration of type
string)
type
HighlightThis CommunityTemplateBundleInfo is used as a
highlighted feature. Up to 4 are supported.
PreviewImageThis CommunityTemplateBundleInfo is used as a
preview image. Up to 3 are supported.
CommunityTemplatePageSetting
DescriptionField TypeField Name
Required. The list of FlexiPage of this CommunityTemplateDefinition.stringpage
Required. The name of the FlexiPage for the theme layout.
This field is available in API version 39.0 and later.
stringthemeLayout
469
CommunityTemplateDefinitionMetadata Types
Declarative Metadata Sample Definition
The following is an example of a CommunityTemplateDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<CommunityTemplateDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<baseTemplate>c</baseTemplate>
<bundlesInfo>
<description>Feature Description</description>
<order>1</order>
<title>Feature Heading</title>
<type>Highlight</type>
</bundlesInfo>
<bundlesInfo>
<image>siteAsset_2dbe594eb6794173af78da264cd6a4a7</image>
<order>1</order>
<title>Preview Image</title>
<type>PreviewImage</type>
</bundlesInfo>
<category>Sales</category>
<defaultThemeDefinition>communityTemplate</defaultThemeDefinition>
<description>This is an Experience Builder template</description>
<enableExtendedCleanUpOnDelete>true</enableExtendedCleanUpOnDelete>
<masterLabel>communityTemplate</masterLabel>
<navigationLinkSet>
<navigationMenuItem>
<label>Topics</label>
<position>0</position>
<publiclyAvailable>true</publiclyAvailable>
<target>ShowMoreTopics</target>
<type>NavigationalTopic</type>
</navigationMenuItem>
</navigationLinkSet>
<pageSetting>
<page>communityTemplate_Report_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Topic_Catalog</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Check_Password</page>
<themeLayout>communityTemplate_themeLayout_Login</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Error</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_User_Settings</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Login</page>
470
CommunityTemplateDefinitionMetadata Types
<themeLayout>communityTemplate_themeLayout_Login</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Stream_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Sfdc_Page</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Group_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Report_Related_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Register</page>
<themeLayout>communityTemplate_themeLayout_Login</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_User_Profile</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Case_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Stream_Related_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Dashboard_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Group_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Canvasapp_Page</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Login_Error</page>
<themeLayout>communityTemplate_themeLayout_Login</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Create_Record</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
471
CommunityTemplateDefinitionMetadata Types
<pageSetting>
<page>communityTemplate_Group_Related_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Search</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_File_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Case_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_User_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_File_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Question_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Dashboard_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Related_Record_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_File_Related_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Record_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Forgot_Password</page>
<themeLayout>communityTemplate_themeLayout_Login</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Home</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Dashboard_Related_List</page>
472
CommunityTemplateDefinitionMetadata Types
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Account_Management</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Case_Related_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_User_Related_List</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Stream_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Topic_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Messages</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Report_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Record_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Feed_Detail</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
<pageSetting>
<page>communityTemplate_Contact_Support</page>
<themeLayout>communityTemplate_themeLayout_Default</themeLayout>
</pageSetting>
</CommunityTemplateDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyTemplate</members>
<name>CommunityTemplateDefinition</name>
</types>
<version>61.0</version>
</Package>
473
CommunityTemplateDefinitionMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CommunityThemeDefinition
Represents the definition of a theme for an Experience Builder site. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
CommunityThemeDefinition components have the suffix .communityThemeDefinition and are stored in the
communityThemeDefinitions folder.
Version
CommunityThemeDefinition components are available in API version 38.0 and later.
Special Access Rules
This type is available only if Salesforce Digital Experiences is enabled in your org.
Fields
DescriptionField TypeField Name
If specified, at least one preview image and one highlight are required.
Up to 3 preview images and 4 highlights are supported. Available in API
version 44.0 and later
CommunityThemeBundleInfo[]bundlesInfo
The list of custom theme layout types available to the theme layout.CommunityCustomThemeLayoutType[]customThemeLayoutType
The set of branding properties associated with this
CommunityThemeDefinition, as defined in the Theme panel in Experience
Builder. Available in API version 44.0 and later.
stringdefaultBrandingSet
The optional description text of this CommunityThemeDefinition.stringdescription
False by default. Determines if deleting this CommunityThemeDefinition
attempts to delete other directly or indirectly referenced objects
automatically, for example, FlexiPage. Values are true or false.
booleanenableExtendedCleanUp
OnDelete
Required. The label for this CommunityThemeDefinition, which displays
in Setup.
stringmasterLabel
474
CommunityThemeDefinitionMetadata Types
DescriptionField TypeField Name
Defines the name of the publisher as seen in the wizard for creating
Experience Builder sites. If no name is provided, the name of the org
from which the package was originally exported is used.
This field is available in API version 45.0 and later.
stringpublisher
List of theme layout type overrides for flexipages (currently only for
home). Available in API version 44.0 and later.
CommunityThemeRouteOverride[]themeRouteOverride
Required. The list of settings for this CommunityThemeDefinition.CommunityTheme
Setting []
themeSetting
CommunityThemeBundleInfo
DescriptionField TypeField Name
The optional description text of its CommunityThemeBundleInfo.stringdescription
Required only when the type is PreviewImage, otherwise this field is
optional. A preview image for this CommunityThemeDefinition.
stringimage
Required. An integer specifying the position of this
CommunityThemeBundleInfo relative to others of the same type within its
intorder
CommunityThemeDefinition. 1 is the first position, 3 is the maximum position
for PreviewImage type, and 4 is the maximum position for the
Highlight type.
Required. The title of this CommunityThemeBundleInfo to use in code.stringtitle
Required. Stores descriptive information about the theme that is included in
the export. Valid values are:
CommunityTemplate
BundleInfoType
(enumeration of type
string)
type
HighlightThis CommunityThemeBundleInfo is used as a highlighted
feature. Up to 4 are supported.
PreviewImageThis CommunityThemeBundleInfo is used as a preview
image. Up to 3 are supported.
CommunityCustomThemeLayoutType
DescriptionField TypeField Name
The description of the custom theme layout type.stringdescription
Required. The name of the custom theme layout type. The values Inner,
Home, and Login are reserved.
stringlabel
475
CommunityThemeDefinitionMetadata Types
CommunityThemeRouteOverride
DescriptionField TypeField Name
Required when themeLayoutType isnt specified. Provides the custom
theme layout type associated with the theme layout. This field and
themeLayoutType are mutually exclusive; you cant specify both.
stringcustomThemeLayoutType
Required. Specifies the attributes of the site page for which the default theme
layout type is overridden. The only valid value is {"PageName":"Home"}.
stringpageAttributes
Required. Specifies the type of the site page for which the default theme layout
type is overridden. The only valid value is comm__standardPage.
stringpageType
Required if customThemeLayoutType isnt specified. Provides the default
theme layout type associated with the theme layout. Valid values are Inner,
CommunityTheme
LayoutType
(enumeration of type
string)
themeLayoutType
Home, or Login. This field and customThemeLayoutType are mutually
exclusive; you cant specify both.
CommunityTheme Setting
DescriptionField TypeField Name
Required when themeLayoutType isnt specified. The custom theme
layout type associated with the theme layout. This field and
themeLayoutType are mutually exclusive; you cant specify both.
stringcustomThemeLayoutType
Required. The configuration and layout for this theme.stringthemeLayout
Required when customThemeLayoutType isnt specified. The default
theme layout type associated with the theme layout. Valid values are Inner,
CommunityTheme
LayoutType
(enumeration of type
string)
themeLayoutType
Home, or Login. This field and customThemeLayoutType are mutually
exclusive; you cant specify both.
Declarative Metadata Sample Definition
The following is an example of a CommunityThemeDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<CommunityThemeDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<bundlesInfo>
<description>Batman Feature1 description</description>
<order>1</order>
<title>Batman Feature1</title>
<type>Highlight</type>
</bundlesInfo>
<bundlesInfo>
<image>siteAsset_d90e2d5ce4cf4d8899e233c051091246</image>
<order>1</order>
<title>siteAsset_d90e2d5ce4cf4d8899e233c051091246</title>
476
CommunityThemeDefinitionMetadata Types
<type>PreviewImage</type>
</bundlesInfo>
<defaultBrandingSet>Batman</defaultBrandingSet>
<description>Batman theme</description>
<enableExtendedCleanUpOnDelete>true</enableExtendedCleanUpOnDelete>
<masterLabel>Batman</masterLabel>
<themeRouteOverride>
<pageAttributes>{&quot;PageName&quot;:&quot;Home&quot;}</pageAttributes>
<pageType>comm__standardPage</pageType>
<themeLayoutType>Home</themeLayoutType>
</themeRouteOverride>
<themeSetting>
<themeLayout>Batman_themeLayout_Login</themeLayout>
<themeLayoutType>Login</themeLayoutType>
</themeSetting>
<themeSetting>
<themeLayout>Batman_themeLayout_Home</themeLayout>
<themeLayoutType>Home</themeLayoutType>
</themeSetting>
<themeSetting>
<themeLayout>Batman_themeLayout_Default</themeLayout>
<themeLayoutType>Inner</themeLayoutType>
</themeSetting>
</CommunityThemeDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Batman</members>
<name>BrandingSet</name>
</types>
<types>
<members>Batman</members>
<name>CommunityThemeDefinition</name>
</types>
<types>
<members>Batman_themeLayout_Default</members>
<members>Batman_themeLayout_Home</members>
<members>Batman_themeLayout_Login</members>
<name>FlexiPage</name>
</types>
<types>
<members>siteAsset_d90e2d5ce4cf4d8899e233c051091246</members>
<name>StaticResource</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
477
CommunityThemeDefinitionMetadata Types
ConnectedApp
Represents a connected app configuration. A connected app enables an external application to integrate with Salesforce using APIs and
standard protocols, such as SAML, OAuth, and OpenID Connect. Connected apps use these protocols to authenticate, authorize, and
provide single sign-on (SSO) for external apps. The external apps that are integrated with Salesforce can run on the customer success
platform, other platforms, devices, or SaaS subscriptions.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ConnectedApp components have the suffix .connectedApp and are stored in the connectedApps folder.
Version
ConnectedApp components are available in API version 29.0 and later.
Fields
DescriptionField TypeField Name
A custom attribute of the connected app.canvasConfigattributes
The configuration options of the connected app if it's exposed as a
canvas app.
AppCanvasConfig
Required. The email address that Salesforce uses to contact you or
your support team.
stringcontactEmail
The phone number for Salesforce to use to contact you.stringcontactPhone
An optional description for your app.stringdescription
Reserved for future use.stringiconUrl
An optional URL for a web page with more information about your
app.
stringinfoUrl
Specifies the ranges of IP addresses that can access the app without
requiring the user to authenticate with the connected app.
ConnectedAppIpRange[]ipRanges
Required. The name of the app.stringlabel
An optional logo for the app. The logo appears with the apps entry
in the list of apps and on the consent page the user sees when
stringlogoUrl
authenticating. The URL must use HTTPS, and the logo can't be larger
than 125 pixels high or 200 pixels wide. The default logo is a cloud.
Users are directed to this URL after they've authenticated when the
app is accessed from a mobile device. If you don't give a URL, the user
stringmobileStartUrl
is sent to the apps default start page after authentication completes.
If the connected app that youre creating is a canvas app, then you
478
ConnectedAppMetadata Types
DescriptionField TypeField Name
can leave this field blank. The Canvas App URL field contains the URL
that gets called for the connected app.
Specifies how your app communicates with Salesforce.connectedAppOauthConfigoauthConfig
Specifies Oauth access policies associated with your connected app.
Available in API version 49.0 and later.
ConnectedAppOauthPolicyoauthPolicy
Specifies the permissions required to perform different functions with
the connected app. Available in API version 46.0 and later.
You can assign multiple permission sets to the connected app, but
you must enter each permission set name on a separate line. You cant
string[]permissionSetName
enter the same permission set name more than one time for each
connected app.
You can also change a permission set by replacing the current
permission set with a new permission set. Make sure that each
permission set name assigned to the connected app is unique.
You can delete individual permission sets or remove all permission
sets from a connected app by entering an empty
permissionSetName string on deployment of the connected
app: (<permissionSetName></permissionSetName>).
To use this field, the isAdminApproved field on the
ConnectedAppOauthConfig subtype must be set to true.
The name of a custom Apex class that extends
Auth.ConnectedAppPlugin to customize the behavior of the
app.
stringplugin
Specifies the user to run the plugin as. If the user isnt authorized to
use the connected app, use the authorize method. See the
stringpluginExecutionUser
ConnectedAppPlugin class in the Apex Developer Guide.
Available in API version 46.0 and later.
Enter a user that is part of your org. Otherwise, the user is removed
from this field when you deploy the connected app. If you dont want
to specify a user, you can leave this field empty.
To use this field in an org, the ConAppPluginExecuteAsUser setting
must be enabled.
Specifies the profile (base-level user permissions) required to perform
different functions with the connected app. Available in API version
46.0 and later.
You can assign multiple profiles to the connected app, but you must
enter each profile name on a separate line. You cant enter the same
profile name more than one time for each connected app.
string[]profileName
479
ConnectedAppMetadata Types
DescriptionField TypeField Name
You can also change profiles by replacing the current profiles with
new profiles. Make sure that each profile name assigned to the
connected app is unique.
You can also delete individual profiles or remove all profiles from a
connected app by entering an empty profileName string on
deployment of the connected app:
(<profileName></profileName>).
To use this field, the isAdminApproved field on the
ConnectedAppOauthConfig subtype must be set to true.
Controls how the app uses single sign-on.ConnectedAppSamlConfigsamlConfig
Specifies a connected apps session policies. Available in API version
49.0 and later.
ConnectedAppSessionPolicysessionPolicy
If the app isnt accessed from a mobile device, users are directed to
this URL after they've authenticated. If you don't give a URL, the user
stringstartUrl
is sent to the apps default start page after authentication completes.
Whether you give a URL or not, the start URL can be updated later by
managing the connected app. If the app is accessed from a mobile
device, see mobileStartUrl. If the connected app that youre
creating is a canvas app, then you can leave this field empty. The
Canvas App URL field contains the URL that gets called for the
connected app.
ConnectedAppAttribute
Represents the field names that make up a custom attribute when using SAML with a ConnectedApp. Tailor these values to a specific
service provider.
DescriptionField TypeField Name
Required. The value of the attribute.stringformula
Required. The attribute's identifier.stringkey
ConnectedAppCanvasConfig
Represents the configuration options of the connected app if it's exposed as a canvas app.
DescriptionField TypeField Name
Required. Indicates how the canvas app initiates the OAuth
authentication flow. The valid values are:
AccessMethod (enumeration of
type string)
accessMethod
GetOAuth authentication is used, and the user is prompted to
allow the third-party application to access their information. When
480
ConnectedAppMetadata Types
DescriptionField TypeField Name
you use this access method, the canvas app must initiate the OAuth
authentication flow.
PostOAuth authentication is used, but when the administrator
installs the canvas app, they implicitly allow access for users.
Therefore, the user isnt prompted to allow the third party to access
their user information. When you use this access method, the
authentication is posted directly to the canvas app URL.
Required. The URL of the third-party app that's exposed as a canvas
app.
stringcanvasUrl
The name of the Canvas.CanvasLifecycleHandler Apex
class, if you've implemented this class for custom parameters.
Available in API version 31.0 and later.
stringlifecycleClass
Indicates where the canvas app can appear to the user. The valid values
are:
CanvasLocationOptions
(enumeration of type string)[]
locations
AuraReserved for future use.
AppLauncherReserved for future use.
ChatterThe canvas app can appear in the app navigation
list on the Chatter tab.
ChatterFeedThe canvas app can appear as a Chatter feed
item.
MobileNavThe canvas app can appear in a mobile card in
the Salesforce mobile app. Available in API version 31.0 and later.
NoneThe canvas app can appear only in the Canvas App
Previewer.
OpenCTIThe canvas app can appear in the call control tool.
PageLayoutThe canvas app can appear on a page layout.
When viewed in the Salesforce mobile app, the canvas app appears
in the record detail page. Available in API version 31.0 and later.
PublisherThe canvas app can appear as a global action.
ServiceDeskThe canvas app can appear in the footer or
sidebars of a Salesforce console.
UserProfileReserved for future use.
VisualforceThe canvas app can appear on a Visualforce
page.
Indicates whether to hide the Share button and header in the publisher
for your canvas app and whether the app is a canvas personal app.
Valid values are:
CanvasOptions (enumeration of
type string)[]
options
HideShareThe Share button is hidden in the publisher for
the related canvas app. Available in API version 30.0 and later.
481
ConnectedAppMetadata Types
DescriptionField TypeField Name
HideHeaderThe header is hidden in the publisher for the
related canvas app. Available in API version 30.0 and later.
PersonalEnabledEnd users can install the app as a canvas
personal app. Available in API version 32.0 and later.
If you're using SAML single sign-on (SSO), indicates which provider
initiates the SSO flow.
SamlInitiationMethod
(enumeration of type string)
samlInitiationMethod
IdpInitiatedIdentity provider initiated. Salesforce makes
the initial request to start the SSO flow.
SpInitiatedService provider initiated. The canvas app starts
the SSO flow after it's invoked.
NoneThe canvas app isn't using SAML SSO. Available in API
version 31.0 and later.
ConnectedAppIpRange
Represents the list of IP addresses that can access the app without requiring the user to authenticate.
DescriptionField TypeField Name
Identifies the purpose of the range, such as which part of a network
corresponds to this range. Available in API version 31.0 and later.
stringdescription
Required. The last address in the IP range, inclusive.stringend
Required. The first address in the IP range, inclusive.stringstart
ConnectedAppOauthConfig
Represents the field names that configure how your connected app communicates with Salesforce.
DescriptionField TypeField Name
The OAuth asset token configuration for the connected app OAuth
settings. Available in API version 49.0 and later.
connectedAppOauthAssetTokenassetTokenConfig
Required. The endpoint that Salesforce calls back to your connected
app during OAuth. Its the OAuth redirect_uri.
stringcallbackUrl
The PEM-encoded certificate string, if the app uses a certificate.stringcertificate
A value used by the consumer for identification to Salesforce. Referred
to as client_id in OAuth 2.0.
In API version 32.0 and later, you can set this fields value only during
creation. After you define and save the value, it cant be edited. The
stringconsumerKey
value must be alphanumeric, cant contain special characters or spaces,
482
ConnectedAppMetadata Types
DescriptionField TypeField Name
and must be between 8256 characters. Consumer keys must be
globally unique.
A value that is combined with the consumerKey and used by the
consumer for identification to Salesforce. Referred to as
stringconsumerSecret
client_secret in OAuth 2.0. Typically, Salesforce generates this
value when you create the connected app. However, you can customize
the shared secret value during creation. After you save the value, it
cant be edited. When set, the value isnt returned in Metadata API
requests.
The value must be alphanumeric (no special characters and no spaces)
and a minimum of 8 characters (maximum of 256 characters). If you
specify a secret already in use for another connected app in the
organization, an error occurs.
Available in API version 32.0 and later.
Specifies the ID token configuration for the connected app OAuth
settings. Available in API version 43.0 and later.
ConnectedAppOauthIdTokenidTokenConfig
If set to false (default), anyone in the org can authorize the app.
Users must approve the app the first time they access it.
If set to true, only users with the appropriate profile or permission
set can access the app. These users dont have to approve the app
booleanisAdminApproved
before they can access it. Manage profiles for the app by editing each
profiles Connected App Access list. Manage permission sets for the
app by editing each permission sets Assigned Connected App list. This
setting isnt available in Group Edition. Available in API version 46.0
and later.
Connected app consumers can edit this setting when deploying a
connected app in their org.
If set to true, the connected app can use the OAuth 2.0 client
credentials flow. To use the client credentials flow, you must also specify
a user for oauthClientCredentialUser.
If set to false (default), the connected app cant use the client
credentials flow.
booleanisClientCredentialEnabled
Available in API version 56.0 and later.
Determines whether the app can use the Authorization Code and
Credentials Flow to provide identity services to headless, off-platform
booleanisCodeCredentialEnabled
apps. The Authorization Code and Credentials Flow is the foundation
of headless login, headless registration, headless passwordless login,
and headless guest identity.
If set to true, the connected app can use the Authorization Code and
Credentials Flow and all associated Headless Identity features. The
default value is false.
483
ConnectedAppMetadata Types
DescriptionField TypeField Name
This field is available in API version 57.0 and later.
For the Authorization Code and Credentials Flow, determines whether
the users credentials must be sent in the body of the initial HTTPS POST
booleanisCodeCredentialPostOnly
request to the Salesforce authorization endpoint. Requiring the
credentials in the POST body instead of in the header improves security.
If set to true, the users credentials must be included in the POST
body. The default value is false.
This field is available in API version 57.0 and later.
If set to false (default), the connected apps client secret is required
in exchange for an access token in the OAuth 2.0 web server flow.
If the client app cant keep the client secret confidential and it must
use the web server flow, set to true. A client secret is still generated
booleanisConsumerSecretOptional
for the connected app, but this setting instructs the web server flow
not to require the client_secret parameter in the access token
request. We recommend the user agent flow as a more secure option
than web server flow without the secret. Available in API version 49.0
and later.
If set to true, authorizes the connected app to introspect all access
and refresh tokens within the entire org.
If set to false (default), the connected app can introspect its own
tokens. In addition, an OAuth client that directly registers OAuth 2.0
booleanisIntrospectAllTokens
connected apps through the dynamic client registration endpoint can
check the tokens for itself and its registered apps. Available in API
version 49.0 and later.
If set to true, the connected app is enabled to issue JSON Web Token
(JWT)-based access tokens. For installed apps, JWT-based access tokens
must also be enabled in your connected app policies.
This field is generally available in API version 59.0 and later.
booleanisNamedUserJwtEnabled
Determines whether the Proof Key for Code Exchange (PKCE) extension
is required for variations of the OAuth 2.0 authorization code flow
booleanisPkceRequired
configured for the connected app, including the web server flow and
Authorization Code and Credentials Flow. For public client apps that
cant keep the consumer secret confidential, such as mobile apps, the
PKCE extension helps ensure that the client that initiates an
authorization flow is the same client that completes it. For this reason,
we always recommend implementing PKCE for public clients. We also
strongly recommend that you implement PKCE for private clients.
If set to true, the PKCE extension is required and any authorization
code flow variations that dont implement it fail. If set to false, you
can still implement PKCE but it isnt required. The default value is
false.
484
ConnectedAppMetadata Types
DescriptionField TypeField Name
This field is available in API version 59.0 and later.
If set to true, the connected app issues a new refresh token each
time the OAuth refresh token flow is invoked. The old refresh token is
booleanisRefreshTokenRotationEnabled
automatically invalidated. If a user tries to use a previous refresh token
thats been invalidated, the current refresh token and its associated
access tokens get deleted. If set to false, the refresh token can be
used to obtain multiple access tokens.
This field is available in API version 60.0 and later.
If set to true (default), the apps client secret is required in the
authorization request of a refresh token and hybrid refresh token flow.
booleanisSecretRequiredForRefreshToken
If set to false and an app sends the client secret in the authorization
request, Salesforce still validates it.
Select this option for web-server based apps that can protect client
secrets. For apps that cant protect client secrets, such as mobile apps
or apps installed on a users computer, we recommend against selecting
this option. Available in API version 51.0 and later.
If set to true, the connected app must include its consumer secret
(client_secret) in the token request during the OAuth 2.0 token
booleanisSecretRequiredForTokenExchange
exchange flow. For security, set this field to true only if your app has
a private client backend where it can keep the secret safe. For public
client apps, such as single-page apps and mobile apps, set this field to
false and dont include the consumer secret.
This field is available in API version 60.0 and later.
If set to true, the connected app can use the OAuth 2.0 token
exchange flow to exchange tokens from an external identity provider
for Salesforce tokens.
This field is available in API version 60.0 and later.
booleanisTokenExchangeEnabled
The execution user for the OAuth 2.0 client credentials flow. Salesforce
returns access tokens on behalf of this user. This user must have the
API Only permission.
To use this field, set isClientCredentialEnabled to true
and specify a consumerKey.
stringoauthClientCredentialUser
Available in API version 56.0 and later.
The permissions given by the user running the connected app. When
deploying metadata, valid values are:
ConnectedAppOauthAccessScope
(enumeration of type string)[]
scopes
BasicAllows access to your identity URL service (the same
behavior as deploying Address, Email, Phone, and
Profile).
ApiAllows access to the logged-in user's account over the APIs.
485
ConnectedAppMetadata Types
DescriptionField TypeField Name
WebAllows use of the access_token on the web. This
usage also includes visualforce, allowing access to Visualforce
pages.
FullAllows access to all data accessible by the logged-in user.
ChatterAllows access to only the Connect REST API resources.
CustomApplicationsProvides access to custom
applications, such as those using Visualforce.
RefreshTokenAllows a refresh token to be returned if youre
eligible to receive one (the same behavior as deploying
OfflineAccess).
OpenIDAllows access to the logged-in user's unique identifier
for OpenID Connect apps.
ProfileAllows access to the logged-in user's profile (the
same behavior as deploying Basic).
EmailAllows access to the logged-in user's email address (the
same behavior as deploying Basic).
AddressAllows access to the logged-in user's street address
(the same behavior as deploying Basic).
PhoneAllows access to the logged-in user's phone number
value (the same behavior as deploying Basic).
OfflineAccessAllows the app to interact with the user's
data while the user is offline and get a refresh token (the same
behavior as deploying RefreshToken).
CustomPermissionsAllows access to the custom
permissions in an organization associated with the connected app
and shows whether the current user has each permission enabled.
WaveAllows access to the Analytics REST API resources. Available
in API version 35.0 and later.
EclairAllows access to the Analytics REST API Charts Geodata
resource. Available in API version 35.0 and later.
PardotAllows access to Pardot API services on behalf of the
user. The full extent of accessible services is managed by the Pardot
account. Available in API version 49.0 and later.
LightningAllows hybrid apps to directly obtain Lightning
child sessions through the OAuth 2.0 hybrid app token flow and
hybrid app refresh token flow. Available in API version 51.0 and
later.
ContentAllows hybrid apps to directly obtain content child
sessions through the OAuth 2.0 hybrid app token flow and hybrid
app refresh token flow. Available in API version 51.0 and later.
CDPIngestAllows access to Data Cloud ingest API services.
Customers use these API services to upload and maintain external
datasets in the Data Cloud. Available in API version 52.0 and later.
486
ConnectedAppMetadata Types
DescriptionField TypeField Name
ChatbotAllows access to Einstein Bot API services. Available
in API version 54.0 and later.
ForgotPasswordAllows access to Headless Forgot Password
API. Assign to an internal integration user to get an access token
for authenticated requests to this API. Available in API version 57.0
and later.
UserRegistrationAllows access to Headless Registration
API. Assign to an internal integration user to get an access token
for authenticated requests to this API. Available in API version 58.0
and later.
PwdlessLoginAllows access to Headless Passwordless Login
API. Assign to an internal integration user to get an access token
for authenticated requests to this API. Available in API version 59.0
and later.
When retrieving metadata, valid values are:
ApiAllows access to the logged-in users account over the APIs.
BasicAllows access to the users identity URL service, and
includes Address, Email, Phone, and Profile.
ChatterAllows access to only the Connect REST API resources.
CustomApplicationsAllows access to custom
applications, such as those using Visualforce.
FullAllows access to all data accessible by the logged-in user.
OpenIDAllows access to the logged-in user's unique identifier
for OpenID Connect apps.
CDPIngestAllows access to Data Cloud ingest API services.
Customers use these API services to upload and maintain external
datasets in the Data Cloud. Available in API version 52.0 and later.
PardotAllows access to Pardot API services on behalf of the
user. The full extent of accessible services is managed by the Pardot
account. Available in API version 49.0 and later.
LightningAllows hybrid apps to directly obtain Lightning
child sessions through the OAuth 2.0 hybrid app token flow and
hybrid app refresh token flow. Available in API version 51.0 and
later.
ContentAllows hybrid apps to directly obtain content child
sessions through the OAuth 2.0 hybrid app token flow and hybrid
app refresh token flow. Available in API version 51.0 and later.
RefreshTokenAllows a refresh token to be returned if youre
eligible to receive one and is synonymous with allowing
OfflineAccess.
WaveAllows access to the Analytics REST API resources. Available
in API version 35.0 and later.
487
ConnectedAppMetadata Types
DescriptionField TypeField Name
EclairAllows access to the Analytics REST API Charts Geodata
resource. Available in API version 35.0 and later.
WebAllows usage of the access_token on the web. This
usage also includes visualforce, allowing access to Visualforce
pages.
ChatbotAllows access to Einstein Bot API services. Available
in API version 54.0 and later.
ForgotPasswordAllows access to Headless Forgot Password
API. Assign to an internal integration user to get an access token
for authenticated requests to this API. Available in API version 57.0
and later.
UserRegistrationAllows access to Headless Registration
API. Assign to an internal integration user to get an access token
for authenticated requests to this API. Available in API version 58.0
and later.
PwdlessLoginAllows access to Headless Passwordless Login
API. Assign to an internal integration user to get an access token
for authenticated requests to this API. Available in API version 59.0
and later.
The single logout endpoint. This URL is the endpoint where Salesforce
sends a logout request when users log out of Salesforce.
stringsingleLogoutUrl
ConnectedAppOauthAssetToken
Specifies an OAuth asset token configuration for the connected app OAuth settings. Available in API version 49.0 and later.
DescriptionField TypeField Name
Required. The audience claim associated with the asset token payload.
This claim identifies who the JWT is intended for. Value is an array of
stringassetAudiences
case-sensitive strings, each containing a StringOrURI value. An
audience is specified for each intended consumer of the asset token.
Required. If set to true (default), custom attributes associated with
the connected app are included in the asset token payload. If set to
false, these attributes arent included.
booleanassetIncludeAttributes
Required. If set to true (default), custom permissions associated with
the connected app are included in the asset token payload. If set to
false, these permissions arent included.
booleanassetIncludeCustomPerms
Required. The ID of the JWT certificates signing secret. The certificate
size cant exceed 4 KB. If it does, try using a DER encoded file to reduce
the size.
stringassetSigningCertId
488
ConnectedAppMetadata Types
DescriptionField TypeField Name
Required. The asset tokens validity period. The validity must be the
expiration time of the assertion within 3 minutes, expressed as the
number of seconds from 1970-01-01T0:0:0Z measured in UTC.
intassetValidityPeriod
ConnectedAppOauthIdToken
Specifies the ID token configuration for the connected app OAuth settings. Available in API version 43.0 and later.
DescriptionField TypeField Name
The audiences that this ID token is intended for. The value is an array
of case-sensitive strings. If no audiences are specified, the OAuth
stringidTokenAudience
2.0 client_id of the relying party is returned as the default
audience. Otherwise, the other audiences are returned with the
client_id in the aud value.
Indicates whether attributes are included in the ID token.booleanidTokenIncludeAttributes
Indicates whether custom permissions are included in the ID token.booleanidTokenIncludeCustomPerms
Indicates whether standard claims about the authentication event are
included in the ID token.
booleanidTokenIncludeStandardClaims
The length of time that the ID token is valid for after its issued. The
value can be from 1 to 720 minutes. The default is 2 minutes.
intidTokenValidity
ConnectedAppOauthPolicy
Specifies OAuth access policies for the connected app. Available in API version 49.0 and later.
DescriptionField TypeField Name
Required. Specifies whether a users access to the connected app is
restricted by IP ranges. Valid options are:
stringipRelaxation
ENFORCE (default)Enforces the IP restrictions configured for
the org, such as the IP ranges assigned to a user profile.
BYPASS_2FACTORAllows a user running the app to bypass
the orgs IP restrictions when either of these conditions is true.
The app has a list of allowed IP ranges and is using the web
server OAuth authorization flow. Requests coming from only
these IPs are allowed.
The app doesnt have a list of allowed IP ranges, but it uses the
web server authentication flow. And the user successfully
completes identity verification if accessing Salesforce from a
new browser or device.
BYPASSAllows a user to run this app without org IP restrictions.
489
ConnectedAppMetadata Types
DescriptionField TypeField Name
ENFORCE_RELAXREFRESHEnforces the IP restrictions
configured for the org, such as the IP ranges assigned to a user
profile. However, this option bypasses these restrictions when the
connected app uses refresh tokens to get access tokens.
Required. Specifies how long a refresh token is valid for.
If refresh tokens are provided, users can continue to access the
OAuth-enabled connected app without having to reauthorize when
stringrefreshTokenPolicy
the access token expires, as defined by the session timeout value. The
connected app exchanges the refresh token with an access token to
start a new session. The Refresh Token policy is evaluated only during
usage of the issued refresh token and doesnt affect a users current
session. Refresh tokens are required only when a users session has
expired or isnt available. For example, you set a refresh token policy
to expire the token after 1 hour. If a user uses the app for 2 hours, the
user isnt forced to reauthenticate after 1 hour. However, the user is
required to authenticate again when the session expires and the client
attempts to exchange its refresh token for a new session.
Valid options are:
zeroThe refresh token is invalid immediately. The user can use
the current session (access token) already issued, but cant obtain
a new session when the access token expires.
infiniteThe refresh token is used indefinitely, unless revoked
by the user or Salesforce admin. Default setting.
specific_lifetime:number:HOURS, DAYS,
MONTHSThe refresh token is valid for a fixed amount of time.
For example, if the policy states
specific_lifetime:1:DAYS, the user can obtain new
sessions for only 24 hours.
specific_inactivity:number:HOURS, DAYS,
MONTHSThe refresh token is valid as long as its been used
within the specified amount of time. For example, if set to
specific_inactivity:7:DAYS, and the refresh token
isnt exchanged for a new session within seven days, the next
attempt to use the token fails. The expired token cant generate
new sessions. If the refresh token is exchanged within seven days,
the token is valid for another seven days. The monitoring period
of inactivity also resets.
If single logout is enabled, specify the single logout URL. Salesforce
sends logout requests to this URL when users log out of Salesforce.
stringsingleLogoutUrl
The single logout URL must be an absolute URL starting with
https://.
490
ConnectedAppMetadata Types
ConnectedAppSamlConfig
Specifies how an app uses single sign-on.
DescriptionField TypeField Name
Required. The assertion consumer service URL from the service provider.stringacsUrl
The PEM-encoded certificate string, if the app uses a certificate.stringcertificate
The name of the certificate to use for encrypting SAML assertions to
the service provider. This certificate is saved in the organization's
stringencryptionCertificate
Certificate and Key Management list. Available in API version 30.0 and
later.
When Salesforce is the identity provider, the SAML configuration can
specify the encryption method used for encrypting SAML assertions
SamlEncryptionType
(enumeration of type string)
encryptionType
to the service provider. The service provider detects the encryption
method in the SAML assertion for decryption. Valid values are:
AES_128128bit key
AES_256256bit key
Triple_DesTriple Data Encryption Algorithm
Available in API version 30.0 and later.
Required. The entity ID from your service provider.stringentityUrl
A URI that sends the SAML response. A service provider can use this
URI to determine which identity provider sent the response. Available
in API version 29.0 and later.
stringissuer
The SAML HTTP binding type from the service provider used for single
logout. Available in API version 40.0 and later. Valid values are:
SamlIdpSLOBinding (enumeration
of type string)
samlIdpSLOBindingEnum
PostBinding
RedirectBinding
Indicates the format the service provider (SP) requires for the user's
single sign-on identifier. Available in API version 29.0 and later. Valid
values are:
SamlNameIdFormatType
(enumeration of type string)
samlNameIdFormat
Unspecified (default)No format given.
EmailAddressUsed if the subject type is the user's name
or a federation ID (an ID internal to the SP).
PersistentUsed with the user ID and persistent ID subject
types.
TransientUsed when the subject type is a custom attribute
and can change every time the user logs in.
Indicates the signing algorithm applied to SAML requests and responses
when Salesforce is the identity provider. The selected signing algorithm
SamlSigningAlgoType
(enumeration of type string)
samlSigningAlgoType
491
ConnectedAppMetadata Types
DescriptionField TypeField Name
is applied to both single sign-on and single logout responses from your
org. Available in API version 50.0 and later. Valid values are:
SHA1
SHA256
The SAML single-logout endpoint of the connected app service provider
(SP). This endpoint is where SAML LogoutRequests and
stringsamlSloUrl
LogoutResponses are sent when users log out of Salesforce. The SP
provides this endpoint. Available in API version 40.0 and later.
If the samlSubjectType is CustomAttr, include that custom
value here; otherwise, leave empty. Available in API version 29.0 and
later.
stringsamlSubjectCustomAttr
Required. The single sign-on identifier for the user. Valid values are:SamlSubjectType (enumeration of
type string)
samlSubjectType
UsernameThe user's Salesforce name.
FederationIdThe user's identifier at the service provider.
Get this value from the service provider.
UserIdThe user's 15-character Salesforce identifier.
PersistentIDA persistent opaque identifier that is specific
to the identity provider and a service provider.
CustomAttrThe identifier is taken from a custom field value
in samlSubjectCustomAttr.
ConnectedAppSessionPolicy
Specifies the configuration options for a connected apps session policies. Use these policies to define how long a users session can last
before reauthenticating, to block user access to the connected app, or to require multi-factor authentication (MFA) to access the app.
Available in API version 49.0 and later.
DescriptionField TypeField Name
If the High Assurance session security level is applied to the connected
app, specify associated high assurance action. Valid values are:
stringpolicyAction
BlockMakes the connected app inaccessible to your orgs
users. Blocking an app ends all current user sessions with the
connected app and prevents all new sessions.
RaiseSessionLevelRequires users to verify their identity
with multi-factor authentication when they log in to the connected
app. This setting applies to authorization flows that include a user
approval step for API logins. These flows are the OAuth 2.0 refresh
token flow, web server flow, and user-agent flow. All other flows,
such as the JSON Web Token (JWT) bearer token flow, dont include
a user approval step. For flows without a user approval step, API
logins with the High Assurance session security level are blocked.
492
ConnectedAppMetadata Types
DescriptionField TypeField Name
Applies the High Assurance session security level to the connected
app. This session level requires users to verify their identity with
multi-factor authentication when they log in to the connected app.
stringsessionLevel
The length of time the connected apps session lasts. If you dont set
a value, Salesforce uses the timeout value in the connected app users
intsessionTimeout
profile. If the users profile doesnt specify a timeout value, Salesforce
uses the timeout value in the orgs Session Settings.
Declarative Metadata Sample Definition
The following is an example of a ConnectedApp component.
<?xml version="1.0" encoding="UTF-8"?>
<ConnectedApp xmlns="http://soap.sforce.com/2006/04/metadata">
<attributes>
<formula>$Api.Enterprise_Server_URL_100</formula>
<key>test</key>
</attributes>
<attributes>
<formula>$Api.Partner_Server_URL_60</formula>
<key>test1</key>
</attributes>
<canvasConfig>
<accessMethod>Get</accessMethod>
<canvasUrl>https://salesforce.com</canvasUrl>
<lifecycleClass>MyCanvasListener</lifecycleClass>
<locations>Chatter</locations>
<locations>Visualforce</locations>
<locations>Aura</locations>
<locations>Publisher</locations>
<locations>ChatterFeed</locations>
<locations>OpenCTI</locations>
<locations>MobileNav</locations>
<locations>PageLayout</locations>
<options>HideShare</options>
<options>HideHeader</options>
<options>PersonalEnabled</options>
<samlInitiationMethod>None</samlInitiationMethod>
</canvasConfig>
<canvas>
<locationOptions>NONE</locationOptions>
<samlInitiationMethod>None</samlInitiationMethod>
<accessMethod>Get</accessMethod>
<canvasOptions>PE</canvasOptions>
<lifecycleClass>MyCanvasListener</lifecycleClass>
<canvasUrl>https://salesforce.com</canvasUrl>
</canvas>
<contactEmail>[email protected]</contactEmail>
<contactPhone>1231231234</contactPhone>
<description>Test App</description>
493
ConnectedAppMetadata Types
<iconUrl>https://c1.sfdcstatic.com/content/dam/sfdc-docs/www/logos/salesforce-logo-cloud.png</iconUrl>
<infoUrl>https://c1.sfdcstatic.com/content/dam/sfdc-docs/www/logos/salesforce-logo-cloud.png</infoUrl>
<startUrl>https://www.salesforce.com</startUrl>
<ipRanges>
<end>000.0.0.1</end>
<start>000.0.0.2</start>
<description>Test</description>
</ipRanges>
<ipRanges>
<end>000.0.0.1</end>
<start>000.0.0.2</start>
<description>Test1</description>
</ipRanges>
<label>TestApp</label>
<logoUrl>https://c1.sfdcstatic.com/content/dam/sfdc-docs/www/logos/salesforce-logo-cloud.png</logoUrl>
<profileName>Test</profileName>
<permissionSetName>TestPermission</permissionSetName>
<mobileStartUrl>http://www.mobile.com</mobileStartUrl>
<mobileAppConfig>
<applicationBinaryFile></applicationBinaryFile>
<applicationBinaryFileName>test</applicationBinaryFileName>
<applicationBundleIdentifier>testtest</applicationBundleIdentifier>
<applicationIconFileName>test</applicationIconFileName>
<applicationIconFile>test</applicationIconFile>
<applicationFileLength>5</applicationFileLength>
<applicationInstallUrl>https://salesforce.com</applicationInstallUrl>
<devicePlatform>ios</devicePlatform>
<deviceType>minitablet</deviceType>
<minimumOsVersion>2</minimumOsVersion>
<privateApp>true</privateApp>
<version>2</version>
</mobileAppConfig>
<oauthConfig>
<assetTokenConfig>
<assetAudiences>http://asset.audience.com</assetAudiences>
<assetIncludeAttributes>true</assetIncludeAttributes>
<assetIncludeCustomPerms>true</assetIncludeCustomPerms>
<assetSigningCertId>${cert.id}</assetSigningCertId>
<assetValidityPeriod>1440</assetValidityPeriod>
</assetTokenConfig>
<callbackUrl>https://www.callback.com</callbackUrl>
<!-- NOTE, TEST.orgId will get replaced with the org ID of the context org, so
we will have a unique consumer key in every scratch org. -->
<consumerKey>3MVG9AOp4kbriZOcnmoLmTrguy9ryzcLbBjoNY...${TEST.orgId}</consumerKey>
<consumerSecret>3MVG9AOp4k...</consumerSecret>
<certificate>3MVG9AOp4kbriZOInmoLmTrguy9ryzcLbBjoNY...</certificate>
<scopes>Basic</scopes>
494
ConnectedAppMetadata Types
<scopes>Chatter</scopes>
<scopes>OpenID</scopes>
<scopes>CustomPermissions</scopes>
<singleLogoutUrl>https://www.logout.com</singleLogoutUrl>
<isAdminApproved>false</isAdminApproved>
<isConsumerSecretOptional>false</isConsumerSecretOptional>
<isIntrospectAllTokens>false</isIntrospectAllTokens>
<idTokenConfig>
<idTokenAudience>https://idtoken.audience.com</idTokenAudience>
<idTokenIncludeAttributes>true</idTokenIncludeAttributes>
<idTokenIncludeCustomPerms>true</idTokenIncludeCustomPerms>
<idTokenIncludeStandardClaims>true</idTokenIncludeStandardClaims>
<idTokenValidity>20</idTokenValidity>
</idTokenConfig>
</oauthConfig>
<oauthPolicy>
<ipRelaxation>ENFORCE</ipRelaxation>
<refreshTokenPolicy>infinite</refreshTokenPolicy>
<singleLogoutUrl>https://www.logout.com</singleLogoutUrl>
</oauthPolicy>
<plugin>ConnectedAppPluginTest</plugin>
<pluginExecutionUser>[email protected]</pluginExecutionUser>
<samlConfig>
<acsUrl>http://www.acs.com</acsUrl>
<encryptionType>AES_128</encryptionType>
<encryptionCertificate>3MVG9AOp4kbriZOInmoLmTrguy9ryzcLbBjoNY...</encryptionCertificate>
<certificate>3MVG9AOp4kbriZOInmoLmTrguy9ryzcLbBjoNY...</certificate>
<samlSubjectCustomAttr>test</samlSubjectCustomAttr>
<entityUrl>http://www.entity.com</entityUrl>
<issuer>https://salesforce.com</issuer>
<samlIdpSLOBindingEnum>RedirectBinding</samlIdpSLOBindingEnum>
<samlNameIdFormat>Unspecified</samlNameIdFormat>
<samlSloUrl>https://www.salesforce.com</samlSloUrl>
<samlSubjectType>CustomAttribute</samlSubjectType>
</samlConfig>
<sessionPolicy>
<policyAction>RaiseSessionLevel</policyAction>
<sessionLevel>HIGH_ASSURANCE</sessionLevel>
<sessionTimeout>720</sessionTimeout>
</sessionPolicy>
</ConnectedApp>
You can enter multiple callback URL values. At run time, Salesforce validates the callback URL specified by the app by matching it with
one of the values. You must separate each callback URL with line breaks. To enter a new line programmatically, use the \r line break
character.
Here's an example of a ConnectedApp component with multiple callback URLs.
<?xml version="1.0" encoding="UTF-8"?>
<ConnectedApp xmlns="http://soap.sforce.com/2006/04/metadata">
<contactEmail>[email protected]</contactEmail>
<label>MyConnectedApp</label>
<oauthConfig>
<callbackUrl>https://example.com/callback1
495
ConnectedAppMetadata Types
https://example.com/callback2
https://example.com/callback3</callbackUrl>
<consumerKey>3MVG9AOp4kbriZOcnmoLmTrguy9ryzcLbBjoNY...</consumerKey>
<isAdminApproved>false</isAdminApproved>
<isConsumerSecretOptional>false</isConsumerSecretOptional>
<isIntrospectAllTokens>false</isIntrospectAllTokens>
<isSecretRequiredForRefreshToken>true</isSecretRequiredForRefreshToken>
<scopes>Full</scopes>
<scopes>RefreshToken</scopes>
</oauthConfig>
<oauthPolicy>
<ipRelaxation>ENFORCE</ipRelaxation>
<refreshTokenPolicy>infinite</refreshTokenPolicy>
</oauthPolicy>
</ConnectedApp>
The following is an example package manifest used to deploy or retrieve the ConnectedApp metadata for an organization.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PortalTestApp</members>
<name>ConnectedApp</name>
</types>
<version>29.0</version>
</Package>
Usage
If you're constructing a SAML-enabled connected app using Metadata API, and must set the IdP-Initiated Login URL for
your service provider, you have two options:
You can use the service provider app ID with the app parameter in the following format. This value is displayed in the Salesforce user
interface. From Setup, enter Connected Apps in the Quick Find box, then select Connected Apps, then click the name of the
connected app to see its detail page.
https://<Salesforce_base_URL>/idp/login?app=<app_id>
Or, if you're configuring the connected app using Metadata API only, you can use the apiName parameter of the service provider app
in the following format. The apiName parameter is the fullName inherited from the Metadata type.
https://<Salesforce_base_URL>/idp/login?apiName=<fullName>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ContentAsset
Represents the metadata for creating an asset file. Asset files enable a Salesforce file to be used for org setup and configuration purposes.
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
496
ContentAssetMetadata Types
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
ContentAsset components have the suffix .asset and are stored in the contentassets folder.
Version
ContentAsset components are available in API version 38.0 and later.
Special Access Rules
The system prevents metadata retrieval if the total size of the assets file content exceeds 30 MB. All pre-existing limits for packaging
apply to asset files.
Fields
DescriptionField TypeField Name
Describes the format of the asset file. Valid values are:ContentAssetFormat
(enumeration of
type string)
format
OriginalA single asset file version.
ZippedVersionsContains multiple versions of the asset file.
Indicates whether unauthenticated users can see the asset file (true)
or not (false). If not specified, the default value is false. This field
is available in API version 44.0 and later.
booleanisVisibleByExternalUsers
Required. The language of the asset file label.stringlanguage
Required. The label for the asset file record, which displays in Setup.stringmasterLabel
For deploys, the name of the Experience Cloud site the file is assigned
upon creation. For retrievals, the name of the Experience Cloud site the
stringoriginNetwork
file is assigned to appears in the field value. If null, the file wasnt
assigned to an Experience Cloud site.
The list of ContentAssetLinks that describe whether the asset file can be
shared with the org.
ContentAssetRelationshipsrelationships
Required. Captures basic information about the file version included the
asset metadata. Typically the file has only one version.
ContentAssetVersionsversions
ContentAssetRelationships
Represents the relationships between an asset file and the locations it's linked with.
497
ContentAssetMetadata Types
DescriptionField TypeField Name
An array of email templates the content asset is related to. This field is available
in API version 51.0 and later.
ContentAsset[]emailTemplate
An array of the insights applications that use the content asset. This field is
available in API version 39.0 and later.
ContentAsset[]insightsApplication
An array of networks that use the content asset. This field is available in API
version 39.0 and later.
ContentAsset[]network
Stores information about sharing the asset file with the org. Maps to
ContentDocumentLink. This field is available in API version 39.0 and later.
ContentAsset[]organization
An array of workspaces and libraries that own or share the content asset. This
field is available in API version 39.0 and later.
ContentAsset[]workspace
ContentAssetLink
Represents a relationship link for an asset file, and includes details about the level of access for the link.
DescriptionField TypeField Name
Required. The permission granted to the user of the shared file, determined by
the permission the user already has. Valid values are:
ContentAssetAccess
(enumeration of type
string)
access
VIEWER
COLLABORATOR
INFERRED
Indicates whether the content asset resides in the workspace or not. When
true, the content asset resides in the workspace. If not specified, the default
value is false. This field is available in API version 39.0 and later.
booleanisManagingWorkspace
Reserved for future use.stringname
ContentAssetVersions
Represents information about all file versions included in the asset metadata.
DescriptionField TypeField Name
A list of file versions for the asset.ContentAssetVersion[]version
ContentAssetVersion
Represents information about one file version included in the asset metadata.
498
ContentAssetMetadata Types
DescriptionField TypeField Name
Required. The version number. This field is based on, or sets, the ContentVersion.stringnumber
Required. Describes the original filename of the file. This field maps to
ContentVersion.PathOnClient. It provides the data for the ContentVersion Title
field.
stringpathOnClient
If the asset file has more than one version, format is ZippedVersions.
In this case, zipEntry is the name of the file within the zip. If the asset file
has only one version, this field is empty.
stringzipEntry
Declarative Metadata Sample Definition
The following is an example of a ContentAsset component.
<?xml version="1.0" encoding="UTF-8"?>
<ContentAsset xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>some asset</masterLabel>
<relationships>
<organization>
<access>VIEWER</access>
</organization>
</relationships>
<versions>
<version>
<number>1</number>
<pathOnClient>some asset.txt</pathOnClient>
</version>
</versions>
</ContentAsset>
For assets that include just one version, the format field can be omitted or specified with the value as Original. File assets with more
than one version have versions wrapped in a zip file.
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyAsset</members>
<name>ContentAsset</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
499
ContentAssetMetadata Types
ContextDefinition
Represents the details of a context definition that describe the relationship between the node structures within a context.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ContextDefinition components have the suffix .contextDefinition and are stored in the contextDefinitions folder.
Version
ContextDefinition components are available in API version 59.0 and later.
Special Access Rules
Enable Context Service to access the ContextDefinition metadata type.
Fields
DescriptionField Name
Field Type
string
clonedFrom
Description
The name of the context definition that's used to clone the current context definition.
Field Type
ContextDefinitionVersion[]
contextDefinitionVersions
Description
Version of the context definition.
Field Type
int
contextTtl
Description
Duration to persist the data, which is loaded in the run-time context instances created
by this context definition, in the cache.
The default value is 10 minutes.
500
ContextDefinitionMetadata Types
DescriptionField Name
Field Type
string
description
Description
Description of the context definition.
Field Type
string
inheritedFrom
Description
Name of the parent context definition that's used to derive the current context
definition.
Field Type
string
inheritedFromVersion
Description
Version number of the parent definition that's used to derive the current context
definition.
Field Type
boolean
isProtected
Description
Auto-generated value that doesnt impact the behavior of the metadata type.
Field Type
string
masterLabel
Description
Required.
User-friendly name for the context definition, which is defined when the context
definition is created.
Field Type
string
title
Description
Required.
Name of the context definition.
ContextDefinitionVersion
Represents details about the context definition version. Only one version can be active at a time.
501
ContextDefinitionMetadata Types
DescriptionField Name
Field Type
ContextMapping[]
contextMappings
Description
Mapping of attributes and nodes to related objects.
Field Type
ContextNode[]
contextNodes
Description
Details of the structure of the nodes within the context.
Field Type
string
endDate
Description
Date and time when the context definition version becomes inactive.
Field Type
boolean
isActive
Description
Indicates whether the context definition version is active (true) or not (false).
The default value is false.
Field Type
string
startDate
Description
Required.
Date and time when the context definition version becomes active.
Field Type
int
versionNumber
Description
Required.
Version number of the context definition.
ContextMapping
Represents the mapping of attributes and nodes to related objects.
DescriptionField Name
Field Type
ContextMappingIntent[]
contextMappingIntents
502
ContextDefinitionMetadata Types
DescriptionField Name
Description
Purpose associated to a context mapping.
Field Type
ContextNodeMapping[]
contextNodeMappings
Description
Mapping of the node in the context and values in the input schema.
Field Type
boolean
default
Description
Indicates whether the mapping for a context definition version is default (true) or
not (false).
The default value is false.
Field Type
string
description
Description
Description of the context mapping.
Field Type
string
inheritedFrom
Description
Name of the parent mapping that's used to derive the current mapping.
Field Type
string
title
Description
Required.
Name of the context mapping.
ContextMappingIntent
Represents the purpose associated to a context mapping.
DescriptionField Name
Field Type
ContextMappingIntentType (enumeration of type string)
mappingIntent
Description
Required.
503
ContextDefinitionMetadata Types
DescriptionField Name
Specifies the purpose that's used to identify the type of context mapping required.
Valid values are:
Hydration
Association
Persistence
Translation
ContextNodeMapping
Represents the relationship between the node in the context and values in the input schema.
DescriptionField Name
Field Type
ContextAttributeMapping[]
contextAttributeMappings
Description
Mapping of the attribute defined in the context and the values in the related objects.
Field Type
string
contextNode
Description
Context node record associated with the context node mapping.
Field Type
string
inheritedFrom
Description
Name of the parent context node mapping that's used to derive the current context
node mapping.
Field Type
string
mappedContextDefinition
Description
API name of the context definition for existing context-to-context mappings.
Field Type
string
object
Description
Name of the object used for the mapping.
504
ContextDefinitionMetadata Types
ContextAttributeMapping
Represents the relationship between the attributes defined in the context and the values in the related objects.
DescriptionField Name
Field Type
ContextAttrHydrationDetail[]
contextAttrHydrationDetails
Description
Details of the SOQL (database) queries that fetch data for a chosen attribute from the
input schema.
Field Type
string
contextAttribute
Description
Context attribute record associated with the context attribute mapping.
Field Type
string
contextInputAttributeName
Description
Required.
Name of the input attribute.
Field Type
CtxAttrHydrationCtx[]
ctxAttrHydrationCtxs
Description
Query that fetches data for a chosen attribute from the input schema for
context-to-context mapping.
Field Type
string
inheritedFrom
Description
Name of the parent context attribute mapping that's used to derive the current context
attribute mapping.
ContextAttrHydrationDetail
Represents the SOQL (database) queries that fetch data for a chosen attribute from the input schema.
DescriptionField Name
Field Type
ContextAttrHydrationDetail[]
contextAttrHydrationDetails
505
ContextDefinitionMetadata Types
DescriptionField Name
Description
Details of the query that fetches the data for the specific query attribute.
Field Type
string
inheritedFrom
Description
Name of the parent context attribute hydration detail that's used to derive the current
context attribute hydration detail.
Field Type
string
objectName
Description
Required.
Name of the object used for the attribute hydration detail.
Field Type
string
queryAttribute
Description
Required.
The SOQL query that is the source of the hydration.
CtxAttrHydrationCtx
Represents the queries that fetch data for a chosen attribute from the input schema for context-to-context mapping.
DescriptionField Name
Field Type
string
contextQueryAttribute
Description
Required.
Attribute in context definition that's the source of context hydration.
Field Type
string
inheritedFrom
Description
Name of the parent context attribute hydration detail that's used to derive the current
context attribute.
506
ContextDefinitionMetadata Types
ContextNodeAttrDictionary
Represents the relationship between a context node and the context attribute dictionary.
DescriptionField Name
Field Type
string
contextAttrDictIdentifier
Description
Required.
Developer name of the context attribute dictionary.
Field Type
string
contextNodeTagPrefix
Description
Required.
Tag prefix of the context node that's used to create the unique identifier of the parent
context node.
ContextNode
Represents details of the structure of the nodes within the context. Each node can have other nodes related to them and attributes to
describe the object. You can also define a hierarchy for the nodes.
DescriptionField Name
Field Type
string
canonicalNode
Description
Canonical node that's associated with the context node.
Field Type
ContextAttribute[]
contextAttributes
Description
Details of the attribute used to describe the context node.
Field Type
ContextNodeAttrDictionary[]
contextNodeAttrDictionaries
Description
Facilitates relationships between context node mapping and context dictionary.
Additionally, it records the relationship between context node and context dictionary.
Field Type
ContextTag[]
contextTags
507
ContextDefinitionMetadata Types
DescriptionField Name
Description
Unique identifier of the attribute or node.
Field Type
string
displayName
Description
Display name of the context node.
Field Type
string
inheritedFrom
Description
Name of the parent context node that's used to derive the current context node.
Field Type
string
title
Description
Required.
Name of the context node.
Field Type
boolean
transposable
Description
Indicates whether the data in the Context Node record can be converted to field names
(true) or not (false).
The default value is false.
ContextAttribute
Represents details of an attribute used to describe a context node. Each node can have one or many associated attributes.
DescriptionField Name
Field Type
ContextTag[]
contextTags
Description
Shortened name of the attribute or node.
Field Type
ContextAttributeDataType (enumeration of type string)
dataType
Description
Required.
508
ContextDefinitionMetadata Types
DescriptionField Name
Type of data that's stored in the context attribute.
Valid values are:
boolean
currency
date
datetime
number
percent
picklist
reference
string
Field Type
string
domainSet
Description
List of node references to show the parent-child relationship between the nodes in a
definition.
Field Type
ContextAttributeFieldType (enumeration of type string)
fieldType
Description
Required.
List of node references to depict the parent-child relation between the nodes in a
definition.
Valid values are:
aggregate
input
inputoutput
output
Field Type
string
inheritedFrom
Description
Name of the parent attribute that's used to derive the current attribute.
Field Type
boolean
key
Description
Indicates whether the attribute is a key attribute in the node (true) or not (false).
The default value is false.
509
ContextDefinitionMetadata Types
DescriptionField Name
Field Type
string
title
Description
Required.
Name of the context attribute.
Field Type
boolean
value
Description
Indicates whether the attribute identifies as a value in a node (true) or not (false).
The default value is false.
ContextTag
Represents a unique identifier of an attribute or node instead of a fully qualified tag structure name.
DescriptionField Name
Field Type
string
title
Description
Required.
Name of the context tag.
Field Type
string
inheritedFrom
Description
Name of the parent context tag that's used to derive the current context tag.
Declarative Metadata Sample Definition
The following is an example of a ContextDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<ContextDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Test</fullName>
<contextDefinitionVersions>
<contextMappings>
<contextNodeMappings>
<contextNodeAttrDictionaries>
<contextAttrDictIdentifier>Context Attribute Dictionary
Name</contextAttrDictIdentifier>
510
ContextDefinitionMetadata Types
<contextNodeTagPrefix>Context Node Tag Prefix</contextNodeTagPrefix>
</contextNodeAttrDictionaries>
<contextAttributeMappings>
<contextAttrHydrationDetails>
<objectName>CustomAccount__c</objectName>
<queryAttribute>Name</queryAttribute>
<inheritedFrom>StandardDefinition/version/CustomAccountMapping/Praneeth/AccountName/hydrationInfo-1</inheritedFrom>
</contextAttrHydrationDetails>
<ctxAttrHydrationCtxs>
<contextQueryAttribute>StandardDefinition</contextQueryAttribute>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1</inheritedFrom>
</ctxAttrHydrationCtxs>
<contextAttribute>AccountName</contextAttribute>
<contextInputAttributeName>AccountName</contextInputAttributeName>
<inheritedFrom>StandardDefinition/version/CustomAccountMapping/Praneeth/AccountName</inheritedFrom>
</contextAttributeMappings>
<contextAttributeMappings>
<contextAttrHydrationDetails>
<objectName>CustomAccount__c</objectName>
<queryAttribute>CustomAccountName__c</queryAttribute>
<inheritedFrom>StandardDefinition/version/CustomAccountMapping/Praneeth/CustomAccountName/hydrationInfo-1</inheritedFrom>
</contextAttrHydrationDetails>
<ctxAttrHydrationCtxs>
<contextQueryAttribute>StandardDefinition</contextQueryAttribute>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1</inheritedFrom>
</ctxAttrHydrationCtxs>
<contextAttribute>CustomAccountName</contextAttribute>
<contextInputAttributeName>CustomAccountName</contextInputAttributeName>
<inheritedFrom>StandardDefinition/version/CustomAccountMapping/Praneeth/CustomAccountName</inheritedFrom>
</contextAttributeMappings>
<contextNode>Praneeth</contextNode>
<object>CustomAccount__c</object>
<inheritedFrom>StandardDefinition/version/CustomAccountMapping/Praneeth</inheritedFrom>
<mappedContextDefinition>CustomContextDefinition</mappedContextDefinition>
</contextNodeMappings>
<contextMappingIntents>
<mappingIntent>hydration</mappingIntent>
511
ContextDefinitionMetadata Types
</contextMappingIntents>
<default>true</default>
<title>CustomAccountMapping</title>
<inheritedFrom>StandardDefinition/version/CustomAccountMapping</inheritedFrom>
</contextMappings>
<contextMappings>
<contextNodeMappings>
<contextNodeAttrDictionaries>
<contextAttrDictIdentifier>Context Attribute Dictionary
Name</contextAttrDictIdentifier>
<contextNodeTagPrefix>Context Node Tag Prefix</contextNodeTagPrefix>
</contextNodeAttrDictionaries>
<contextAttributeMappings>
<contextAttrHydrationDetails>
<objectName>Account</objectName>
<queryAttribute>Name</queryAttribute>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName/AccountName/hydrationInfo-1</inheritedFrom>
</contextAttrHydrationDetails>
<ctxAttrHydrationCtxs>
<contextQueryAttribute>StandardDefinition</contextQueryAttribute>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1</inheritedFrom>
</ctxAttrHydrationCtxs>
<contextAttribute>AccountName</contextAttribute>
<contextInputAttributeName>AccountName</contextInputAttributeName>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName/AccountName</inheritedFrom>
</contextAttributeMappings>
<contextAttributeMappings>
<contextAttrHydrationDetails>
<objectName>Account</objectName>
<queryAttribute>CustomAccountName__c</queryAttribute>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName/hydrationInfo-1</inheritedFrom>
</contextAttrHydrationDetails>
<ctxAttrHydrationCtxs>
<contextQueryAttribute>StandardDefinition</contextQueryAttribute>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1</inheritedFrom>
</ctxAttrHydrationCtxs>
<contextAttribute>CustomAccountName</contextAttribute>
<contextInputAttributeName>CustomAccountName</contextInputAttributeName>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName</inheritedFrom>
512
ContextDefinitionMetadata Types
</contextAttributeMappings>
<contextNode>Praneeth</contextNode>
<object>Account</object>
<inheritedFrom>StandardDefinition/version/AccountMapping/Praneeth</inheritedFrom>
<mappedContextDefinition>CustomContextDefinition</mappedContextDefinition>
</contextNodeMappings>
<contextMappingIntents>
<mappingIntent>persistence</mappingIntent>
</contextMappingIntents>
<description>Account Mapping</description>
<default>false</default>
<title>AccountMapping</title>
<inheritedFrom>StandardDefinition/version/AccountMapping</inheritedFrom>
</contextMappings>
<contextNodes>
<contextNodeAttrDictionaries>
<contextAttrDictIdentifier>Context Attribute Dictionary
Name</contextAttrDictIdentifier>
<contextNodeTagPrefix>Context Node Tag Prefix</contextNodeTagPrefix>
</contextNodeAttrDictionaries>
<contextAttributes>
<contextTags>
<title>AccountName</title>
<inheritedFrom>StandardDefinition/version/Praneeth/AccountName/AccountName</inheritedFrom>
</contextTags>
<dataType>string</dataType>
<fieldType>inputoutput</fieldType>
<key>false</key>
<title>AccountName</title>
<displayName>AccountName</displayName>
<description>Test Description</description>
<value>false</value>
<inheritedFrom>StandardDefinition/version/Praneeth/AccountName</inheritedFrom>
</contextAttributes>
<contextAttributes>
<dataType>string</dataType>
<fieldType>inputoutput</fieldType>
<key>false</key>
<title>CustomAccountName</title>
<value>false</value>
<displayName>CustomAccountName</displayName>
<description>Test Description</description>
<inheritedFrom>StandardDefinition/version/Praneeth/CustomAccountName</inheritedFrom>
</contextAttributes>
<contextTags>
<title>Praneeth</title>
<inheritedFrom>StandardDefinition/version/Praneeth/Praneeth</inheritedFrom>
513
ContextDefinitionMetadata Types
</contextTags>
<title>Praneeth</title>
<transposable>false</transposable>
<inheritedFrom>StandardDefinition/version/Praneeth</inheritedFrom>
<canonicalNode></canonicalNode>
<displayName>Praneeth</displayName>
</contextNodes>
<endDate>2097-05-10 00:00:00</endDate>
<startDate>2023-05-10 00:00:00</startDate>
<versionNumber>1</versionNumber>
<isActive>true</isActive>
</contextDefinitionVersions>
<description>Test Description</description>
<contextTtl>10</contextTtl>
<inheritedFrom>StandardDefinition</inheritedFrom>
<inheritedFromVersion>1.0</inheritedFromVersion>
<clonedFrom>OriginalDefinition</clonedFrom>
<isProtected>false</isProtected>
<masterLabel>Test Label</masterLabel>
<title>TestTitle</title>
<displayName>TestTitle</displayName>
</ContextDefinition>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Test</members>
<name>ContextDefinition</name>
</types>
<types>
<members>Account.CustomAccountName__c</members>
<name>CustomField</name>
</types>
<types>
<members>CustomAccount__c</members>
<name>CustomObject</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ConversationMessageDefinition
Represents a messaging component in an Enhanced Messaging channel or Messaging for In-App and Web session.
514
ConversationMessageDefinitionMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ConversationMessageDefinition components have the suffix .conversationMessageDefinition and are
stored in the conversationMessageDefinitions folder.
Version
ConversationMessageDefinition is supported for use in enhanced Messaging channels and Messaging for In-App and
Web, and is available in API version 59.0 and later.
Fields
DescriptionField Name
Field Type
ConversationMessageConstant[]
constants
Description
An array of constants that defines the messaging components. Constants support
multiple data types, including text, URL, and image.
Field Type
string
description
Description
The description of the conversation message definition.
Field Type
string
label
Description
A user-friendly name for ConversationMessageDefinition, which is defined
whenConversationMessageDefinition is created.
Field Type
string
language
Description
The language of the conversation message definition.
Field Type
ConversationMessageHandler[]
messageHandlers
Description
An array of message handlers.
515
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Field Type
ConversationMessageLayout[]
messageLayouts
Description
An array of message layouts.
Field Type
ConversationMessageOptionsParameter[]
optionsParameter
Description
An array of options parameter of the ConversationMessageDefinition.
Field Type
ConversationMessageParameter[]
parameters
Description
An array of parameters.
Field Type
ConversationMessageDefinitionType (enumeration of type string)
type
Description
Required. The type of the conversation message definition. Valid values are:
Action
AuthenticationRequest
AutoResponse
Link
Notification
PaymentRequest
Picklist
RecordPicker
RecordView
TimePicker
ConversationMessageConstant
Represents a constant value on the messaging component. When a messaging component is created in the UI, the text and images
entered during creation are saved as standard constants. Custom constants can also be added.
DescriptionField Name
Field Type
ConversationMessageConstantCompositeValue[]
compositeValues
516
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Description
An array of composite values of ConversationMessageConstant.
Field Type
ConversationMessageConstantType (enumeration of type string)
constantType
Description
Required. The conversation message constant type. Valid values are:
Custom
Image
Options
SubTitle
Title
Url
Field Type
string
label
Description
The UI label of the conversation message constant.
Field Type
string
name
Description
The name of the conversation message constant.
Field Type
ConversationMessageConstantPrimitiveValue (enumeration of type string)
primitiveValues
Description
An array of primitive values of ConversationMessageConstant.
Field Type
ConversationMessageValueType (enumeration of type string)
valueType
Description
The type of the conversation message constant value. Valid values are:
Boolean
Date
DateTime
Double
ImageId
Integer
RecordId
517
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Text
Url
ConversationMessageConstantCompositeValue
Represents the composite values of the ConversationMessageConstant.
DescriptionField Name
Field Type
ConversationMessageConstant[]
constantItems
Description
An array of constant items.
Field Type
string
identifier
Description
Required. The client identifier.
ConversationMessageConstantPrimitiveValue
Represents the primitive values of the ConversationMessageConstant.
DescriptionField Name
Field Type
string
contentAssetName
Description
Represents the value for type = ImageAsset
Field Type
string
textValue
Description
Represents the value for type = Text
Field Type
ConversationMessageConstantValueType (enumeration of type string)
type
Description
Required. The type of the conversation message constant primitive value. Valid values
are:
ImageAsset
518
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Text
Url
Field Type
string
urlValue
Description
Represents the value for type = Url
ConversationMessageHandler
Represents the conversation message handler.
DescriptionField Name
Field Type
int
activeRequestDurationMinutes
Description
Required. The duration of an active request in minutes.
Field Type
string
handlerName
Description
Required. The name of the message handler.
Field Type
ConversationMessageHandlerType (enumeration of type string)
handlerType
Description
Required. The type of message handler. Valid values are:
AuthProvider
PaymentProvider
QuickAction
ConversationMessageLayout
Represents the conversation message layout.
DescriptionField Name
Field Type
ConvMsgExternalTemplateVersion[]
externalTemplates
519
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Description
The external template version of the ConversationMessageLayout.
Field Type
ConversationMessageFormatType (enumeration of type string)
formatType
Description
Required. The format type of the conversation message layout. Valid values are:
Application
Buttons
Carousel
EncryptedOAuthToken
ExternalTemplate
Inputs
ListPicker
Media
Payment
QuickReplies
RichLink
Text
TimePicker
WebView
Field Type
ConversationMessageLayoutItem[]
layoutItems
Description
An array of layout items.
Field Type
ConversationMessageType (enumeration of type string)
messageType
Description
Required. The conversation message type. Valid values are:
AuthenticationRequest
Choices
Form
PaymentRequest
StaticContent
520
ConversationMessageDefinitionMetadata Types
ConvMsgExternalTemplateVersion
Represents the external template version of the conversation message layout.
DescriptionField Name
Field Type
string
accountIdentifier
Description
Required. The account identifier. For WhatsApp channels, this is the WABA ID.
Field Type
string
accountName
Description
Required. The account name.
Field Type
string
language
Description
Required. The language of the conversation message external template.
Field Type
ConvMsgExternalTemplateVersionStatus (enumeration of type string)
status
Description
Required. The status of the conversation message external template. Valid values are:
Approved
Disabled
InAppeal
Paused
Pending
Rejected
Field Type
string
templateName
Description
Required. The name of the conversation message external template.
Field Type
string
templateVersionIdentifier
Description
Required. The template version identifier.
521
ConversationMessageDefinitionMetadata Types
ConversationMessageLayoutItem
Represents the conversation message layout item.
DescriptionField Name
Field Type
ConversationMessageCollectionType (enumeration of type string)
collectionType
Description
Required. The type of conversation message collection. Valid values are:
DynamicList
None
StaticList
Field Type
ConversationMessageLayoutCompositeValue[]
compositeValues
Description
An array of composite values of the ConversationMessageLayoutItem.
Field Type
string
name
Description
The name of the conversation message layout item.
Field Type
ConversationMessageLayoutPrimitiveValue[]
primitiveValues
Description
An array of primitive values of the ConversationMessageLayoutItem.
ConversationMessageLayoutCompositeValue
Represents the composite value of the ConversationMessageLayoutItem.
DescriptionField Name
Field Type
string
compositeTypeName
Description
Required. The name of the conversation message layout composite value type.
Field Type
ConversationMessageLayoutItem[]
layoutItems
Description
An array of layout items.
522
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Field Type
string
valueSourceReference
Description
The source of the conversation message layout composite value.
ConversationMessageLayoutPrimitiveValue
Represents the primitive value of the ConversationMessageLayoutItem.
DescriptionField Name
Field Type
string
contentAssetName
Description
The content asset name.
Field Type
string
fieldName
Description
The name of the conversation message layout primitive value field.
Field Type
string
formulaTemplate
Description
The formula template defines the content for each entry in the list.
Field Type
string
literalValue
Description
The literal primitive value of the conversation message layout.
Field Type
ConversationMessageMergeField[]
mergeFields
Description
Inserts multiple values to a list.
Field Type
ConversationMessageLayoutValueType (enumeration of type string)
type
Description
Required. The type of the conversation message layout primitive value. Valid values
are:
523
ConversationMessageDefinitionMetadata Types
DescriptionField Name
FormulaTemplate
Literal
MediaAsset
SourcePrimitiveValue
SourceSobjectField
SourceSobjectFieldValue
SourceSobjectFormula
Field Type
string
valueFormula
Description
The formula of the conversation message layout primitive value.
Field Type
string
valueSourceReference
Description
The source of the conversation message layout primitive value.
ConversationMessageMergeField
Merge field is used to insert multiple values to a list.
DescriptionField Name
Field Type
string
formulaTemplate
Description
Required. The formula template of the conversation message merge field.
Field Type
ConversationMessageMergeFieldType (enumeration of type string)
mergeFieldType
Description
Required. The type of the conversation message merge field. Valid value is ListTemplate.
Field Type
string
name
Description
Required. The name of the conversation message merge field.
Field Type
string
valueSourceReference
524
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Description
Required. The source of the conversation message merge field value.
ConversationMessageOptionsParameter
Represents a conversation message options parameter.
DescriptionField Name
Field Type
ConversationMessageParameterCompositeDetails[]
compositeTypeDetails
Description
An array of composite details of ConversationMessageOptionsParameter.
Field Type
ConversationMessageOptionsParameterType (enumeration of type string)
optionsParameterType
Description
Required. The type of conversation message options parameter. Valid values are:
CustomCompositeOptions
CustomPrimitiveOptions
RecordIdOptions
TimeSlotOptions
Field Type
ConversationMessageParameterPrimitiveDetails
primitiveTypeDetails
Description
The primitive type details of conversation message options parameter.
ConversationMessageParameterCompositeDetails
Represents the composite details of a conversation message parameter.
DescriptionField Name
Field Type
ConversationMessageParameterCompositeDetails[]
compositeChildItems
Description
The composite child items of the conversation message parameter.
Field Type
boolean
isList
525
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Description
Indicates whether the conversation message parameter composite details field is a
list item (true) or not (false). The default value is false.
Field Type
boolean
isRequired
Description
Indicates whether the conversation message parameter is required (true) or not
(false). The default value is false.
Field Type
string
label
Description
The UI label of the conversation message parameter composite details field.
Field Type
int
maxListItems
Description
The maximum number of list items in the conversation message parameter composite
details field.
Field Type
string
name
Description
The name of the conversation message parameter composite details field.
Field Type
ConversationMessageParameterPrimitiveDetails[]
primitiveChildItems
Description
An array of primitive child items.
ConversationMessageParameterPrimitiveDetails
Represents the primitive details of the conversation message parameter.
DescriptionField Name
Field Type
boolean
isList
Description
Indicates whether the conversation message parameter primitive details field is a list
item (true) or not (false). The default value is false.
526
ConversationMessageDefinitionMetadata Types
DescriptionField Name
Field Type
boolean
isRequired
Description
Indicates whether the conversation message parameter primitive details field is required
(true) or not (false). The default value is false.
Field Type
string
label
Description
The UI label of the conversation message parameter primitive details field.
Field Type
int
maxListItems
Description
The maximum number of list items that are allowed in the conversation message
parameter primitive details field.
Field Type
string
name
Description
The name of the conversation message parameter primitive details field.
Field Type
string
sobjectType
Description
The sObject type.
Field Type
ConversationMessageValueType (enumeration of type string)
valueType
Description
The type of the conversation message parameter value. Valid values are:
Boolean
Date
DateTime
Double
ImageId
Integer
RecordId
Text
Url
527
ConversationMessageDefinitionMetadata Types
ConversationMessageParameter
Represents a conversation message parameter.
DescriptionField Name
Field Type
ConversationMessageParameterCompositeDetails
compositeTypeDetails
Description
An array of composite type details.
Field Type
ConversationMessageParameterType (enumeration of type string)
parameterType
Description
Required. The type of conversation message parameter. Valid values are:
CustomComposite
CustomPrimitive
RecordIds
Field Type
ConversationMessageParameterPrimitiveDetails
primitiveTypeDetails
Description
An array of primitive type details.
Declarative Metadata Sample Definition
The following is an example of a ConversationMessageDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<ConversationMessageDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<constants>
<constantType>Custom</constantType>
<label>imageAsset</label>
<name>imageAsset</name>
<primitiveValues>
<contentAssetName>Screenshot_20240402_at_32437PM</contentAssetName>
<type>ImageAsset</type>
</primitiveValues>
<valueType>ImageId</valueType>
</constants>
<constants>
<constantType>Custom</constantType>
<label>message</label>
<name>message</name>
<primitiveValues>
<textValue>Favourite Season</textValue>
<type>Text</type>
</primitiveValues>
528
ConversationMessageDefinitionMetadata Types
<valueType>Text</valueType>
</constants>
<constants>
<constantType>Custom</constantType>
<label>Prompt1</label>
<name>Prompt1</name>
<primitiveValues>
<textValue>Choose one option</textValue>
<type>Text</type>
</primitiveValues>
<valueType>Text</valueType>
</constants>
<constants>
<compositeValues>
<constantItems>
<constantType>Image</constantType>
<primitiveValues>
<contentAssetName>Screenshot_20240321_at_53957PM3</contentAssetName>
<type>ImageAsset</type>
</primitiveValues>
</constantItems>
<constantItems>
<constantType>SubTitle</constantType>
<primitiveValues>
<textValue>January</textValue>
<type>Text</type>
</primitiveValues>
</constantItems>
<constantItems>
<constantType>Title</constantType>
<primitiveValues>
<textValue>Jan</textValue>
<type>Text</type>
</primitiveValues>
</constantItems>
<identifier>1c6f8c4d-7bce-1649-fa45-db587bcfbb29</identifier>
</compositeValues>
<compositeValues>
<constantItems>
<constantType>Image</constantType>
<primitiveValues>
<contentAssetName>Screenshot_20240321_at_53957PM4</contentAssetName>
<type>ImageAsset</type>
</primitiveValues>
</constantItems>
<constantItems>
<constantType>SubTitle</constantType>
<primitiveValues>
<textValue>December</textValue>
<type>Text</type>
</primitiveValues>
</constantItems>
<constantItems>
<constantType>Title</constantType>
529
ConversationMessageDefinitionMetadata Types
<primitiveValues>
<textValue>Dec</textValue>
<type>Text</type>
</primitiveValues>
</constantItems>
<identifier>fb8bb328-7bc7-2830-6194-2ae7ece055ad</identifier>
</compositeValues>
<compositeValues>
<constantItems>
<constantType>Image</constantType>
<primitiveValues>
<contentAssetName>Screenshot_20240321_at_53912PM1</contentAssetName>
<type>ImageAsset</type>
</primitiveValues>
</constantItems>
<constantItems>
<constantType>SubTitle</constantType>
<primitiveValues>
<textValue>March</textValue>
<type>Text</type>
</primitiveValues>
</constantItems>
<constantItems>
<constantType>Title</constantType>
<primitiveValues>
<textValue>March</textValue>
<type>Text</type>
</primitiveValues>
</constantItems>
<identifier>570baa88-fa4d-4b31-0e84-92f87b35af0a</identifier>
</compositeValues>
<constantType>Options</constantType>
</constants>
<constants>
<constantType>Title</constantType>
<primitiveValues>
<textValue>What is your favourite month?</textValue>
<type>Text</type>
</primitiveValues>
</constants>
<label>Favourite Month</label>
<language>en_US</language>
<messageLayouts>
<formatType>Buttons</formatType>
<layoutItems>
<collectionType>DynamicList</collectionType>
<compositeValues>
<compositeTypeName>TitleOptionItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<compositeValues>
<compositeTypeName>TitleItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
530
ConversationMessageDefinitionMetadata Types
<name>title</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Options.ListItem.SubTitle</valueSourceReference>
</primitiveValues>
</layoutItems>
</compositeValues>
<name>titleItem</name>
</layoutItems>
<valueSourceReference>Constants.Options</valueSourceReference>
</compositeValues>
<name>optionItems</name>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<name>text</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Title</valueSourceReference>
</primitiveValues>
</layoutItems>
<messageType>Choices</messageType>
</messageLayouts>
<messageLayouts>
<formatType>ListPicker</formatType>
<layoutItems>
<collectionType>None</collectionType>
<compositeValues>
<compositeTypeName>TitleImageItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<name>imageId</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.imageAsset</valueSourceReference>
</primitiveValues>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<name>title</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Title</valueSourceReference>
</primitiveValues>
</layoutItems>
</compositeValues>
<name>message</name>
</layoutItems>
<layoutItems>
<collectionType>DynamicList</collectionType>
<compositeValues>
<compositeTypeName>TitleOptionItem</compositeTypeName>
531
ConversationMessageDefinitionMetadata Types
<layoutItems>
<collectionType>None</collectionType>
<compositeValues>
<compositeTypeName>TitleImageItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<name>imageId</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Options.ListItem.Image</valueSourceReference>
</primitiveValues>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<name>title</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Options.ListItem.Title</valueSourceReference>
</primitiveValues>
</layoutItems>
</compositeValues>
<name>titleItem</name>
</layoutItems>
<valueSourceReference>Constants.Options</valueSourceReference>
</compositeValues>
<name>optionItems</name>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<compositeValues>
<compositeTypeName>TitleImageItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<name>imageId</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.imageAsset</valueSourceReference>
</primitiveValues>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<name>title</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.message</valueSourceReference>
</primitiveValues>
</layoutItems>
</compositeValues>
<name>reply</name>
</layoutItems>
<layoutItems>
532
ConversationMessageDefinitionMetadata Types
<collectionType>None</collectionType>
<name>title</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Title</valueSourceReference>
</primitiveValues>
</layoutItems>
<messageType>Choices</messageType>
</messageLayouts>
<messageLayouts>
<formatType>Carousel</formatType>
<layoutItems>
<collectionType>DynamicList</collectionType>
<compositeValues>
<compositeTypeName>TitleItemWithInteractions</compositeTypeName>
<layoutItems>
<collectionType>StaticList</collectionType>
<compositeValues>
<compositeTypeName>TitleOptionItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<compositeValues>
<compositeTypeName>TitleItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<name>title</name>
<primitiveValues>
<literalValue>Select One</literalValue>
<type>Literal</type>
</primitiveValues>
</layoutItems>
</compositeValues>
<name>titleItem</name>
</layoutItems>
</compositeValues>
<name>interactionItems</name>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<compositeValues>
<compositeTypeName>TitleImageItem</compositeTypeName>
<layoutItems>
<collectionType>None</collectionType>
<name>imageId</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Options.ListItem.Image</valueSourceReference>
</primitiveValues>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<name>subTitle</name>
<primitiveValues>
533
ConversationMessageDefinitionMetadata Types
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Options.ListItem.SubTitle</valueSourceReference>
</primitiveValues>
</layoutItems>
<layoutItems>
<collectionType>None</collectionType>
<name>title</name>
<primitiveValues>
<type>SourcePrimitiveValue</type>
<valueSourceReference>Constants.Title</valueSourceReference>
</primitiveValues>
</layoutItems>
</compositeValues>
<name>titleItem</name>
</layoutItems>
<valueSourceReference>Constants.Options</valueSourceReference>
</compositeValues>
<name>items</name>
</layoutItems>
<messageType>Choices</messageType>
</messageLayouts>
<messageLayouts>
<formatType>Text</formatType>
<layoutItems>
<collectionType>None</collectionType>
<name>text</name>
<primitiveValues>
<formulaTemplate>{!$Constants.Title}
{!$Constants.Prompt1}:
{!$ListTemplates.OptionsList}</formulaTemplate>
<mergeFields>
<formulaTemplate>{!$ListItem.Index}.
{!$ListItem.Value.Title}{!BR()}</formulaTemplate>
<mergeFieldType>ListTemplate</mergeFieldType>
<name>OptionsList</name>
<valueSourceReference>Constants.Options</valueSourceReference>
</mergeFields>
<type>FormulaTemplate</type>
</primitiveValues>
</layoutItems>
<messageType>StaticContent</messageType>
</messageLayouts>
<type>Picklist</type>
</ConversationMessageDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Favourite_Month</members>
<name>ConversationMessageDefinition</name>
</types>
534
ConversationMessageDefinitionMetadata Types
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CorsWhitelistOrigin
Represents an origin in the CORS allowlist.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
File Suffix and Directory Location
CorsWhitelistOrigin components have the suffix .corswhitelistorigin and are stored in the corswhitelistorigins
folder.
Version
CorsWhitelistOrigin components are available in API version 32.0 and later.
Fields
DescriptionField TypeField Name
A URL pattern for the origin.
The origin URL pattern must include the HTTPS protocol and a domain
name, and can include a port. The wildcard character (*) is supported
StringurlPattern
and must be in front of a second-level domain name. For example,
https://*.example.com adds all subdomains of
example.com to the allowlist.
Google Chrome
and Mozilla
®
Firefox
®
browser extensions are also
allowed as resources in API version 53 and later. Chrome extensions
must use the prefix chrome-extension:// and 32 characters
without digits or capital letters, for example
chrome-extension://abdkkegmcbiomijcbdaodaflgehfffed.
Firefox extensions must use the prefix moz-extension:// and
an 8-4-4-4-12 format of small alphanumeric characters, for example
moz-extension://1234ab56-78c9-1df2-3efg-4567891hi1j2.
The origin URL pattern can be an IP address. But an IP address and a
domain that resolve to the same address arent the same origin, and
you must add them to the CORS allowlist as separate entries.
535
CorsWhitelistOriginMetadata Types
Declarative Metadata Sample Definition
Heres an example package manifest used to deploy or retrieve the CorsWhitelistOrigin metadata for an organization.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CorsWhitelistOrigin</name>
</types>
<version>32.0</version>
</Package>
Heres an example of a CorsWhitelistOrigin component.
<?xml version="1.0" encoding="UTF-8"?>
<CorsWhitelistOrigin xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>CorsWhitelistEntry1</developerName>
<urlPattern>https://*.example.com</urlPattern>
</CorsWhitelistOrigin>
Usage
CORS (cross-origin resource sharing) is a W3C recommendation that enables Web browsers to request resources from origins other than
their own. For example, using CORS, a JavaScript script at https://www.example.com could request a resource from
https://www.salesforce.com.
If a browser that supports CORS makes a request to an origin in your allowlist, Salesforce returns the origin in the
Access-Control-Allow-Origin HTTP header, along with any additional CORS HTTP headers. If the origin isnt allow listed,
Salesforce returns HTTP status code 404.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CspTrustedSite
Represents a trusted URL. For each CspTrustedSite component, you can specify Content Security Policy (CSP) directives and permissions
policy directives. Each CSP directive allows Lightning components, third-party APIs, and WebSocket connections to access a resource
type from the trusted URL. If the Permissions-Policy HTTP header is enabled, each permissions policy directive grants the trusted URL
access to a browser feature. In API version 58.0 and earlier, CspTrustedSite components included only CSP directives and were referred
to as CSP Trusted Sites.
This type extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
CspTrustedSite components are stored in the cspTrustedSites directory of the corresponding package directory. The file name
matches the unique name of the trusted site, and the extension is .cspTrustedSite.
536
CspTrustedSiteMetadata Types
Version
CspTrustedSite components are available in API version 39.0 and later.
Fields
DescriptionField TypeField
Indicates whether this CspTrustedSite can access the users
camera (true) or not (false). The default value is false.
This field takes effect only when the
enablePermissionsPolicy field equals true and
booleancanAccessCamera
the grantCameraAccess field equals TrustedUrls
in the SecuritySettings metadata API type.
This field is available in API version 59.0 and later.
Indicates whether this CspTrustedSite can access the users
microphone (true) or not (false). The default value is
false.
This field takes effect only when the
enablePermissionsPolicy field equals true and
booleancanAccessMicrophone
the grantMicrophoneAccess field equals
TrustedUrls in the SecuritySettings metadata API type.
This field is available in API version 59.0 and later.
Declares the scope of the CSP directives for this trusted URL.CspTrustedSiteContext
(enumeration of type string)
context
AllApply the CSP directives to all supported context
types.
CommunitiesApply the CSP directives to Experience
Builder sites only.
FieldServiceMobileExtensionApply the CSP
directives to the Field Service Mobile Extensions only. This
value is available in API version 47.0 and later.
LEXApply the CSP directives to Lightning Experience
pages only.
VisualForceApply the CSP directives to custom
Visualforce pages only. This value is available in API version
55.0 and later.
For custom Visualforce pages, content is restricted to trusted
URLs only if the pages cspHeader attribute is set to true.
This field is available in API version 44.0 and later.
The description of this trusted URL.stringdescription
537
CspTrustedSiteMetadata Types
DescriptionField TypeField
Required. The URL for this CspTrustedSite.
This field must include a domain name and can include a port.
For example, https://example.com or
https://example.com:8080.
stringendpointUrl
To reduce repetition, you can use the wildcard character *
(asterisk). For example, *.example.com. For a third-party
API, the URL must begin with https://. For example,
https://example.com. For a WebSocket connection,
the URL must begin with wss://. For example,
wss://example.com.
Required. Indicates whether this CspTrustedSite is active (true)
or not (false). The default value is true.
booleanisActive
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load URLs using script interfaces
booleanisApplicableToConnectSrc
from this trusted URL (true) or not (false). This field has a
default value of false.
This field is available in API version 48.0 and later.
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load fonts from this trusted URL
(true) or not (false). This field has a default value of false.
This field is available in API version 48.0 and later.
booleanisApplicableToFontSrc
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load resources contained in
booleanisApplicableToFrameSrc
<iframe> elements from this trusted URL (true) or not
(false). This field has a default value of false.This field is
available in API version 48.0 and later.
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load images from this trusted URL
booleanisApplicableToImgSrc
(true) or not (false). This field has a default value of false.
This field is available in API version 48.0 and later.
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load audio and video from this
booleanisApplicableToMediaSrc
trusted URL (true) or not (false). This field has a default
value of false.
In API version 59.0 and later, for each trusted URL, at least one
CSPTrustedSite starting with isApplicable or
canAccess must be set to true.
In API version 50.0 to 58.0, if all isApplicable fields are
false, the isApplicableToImgSrc field is set to
538
CspTrustedSiteMetadata Types
DescriptionField TypeField
true. In API version 49.0 and earlier, if all isApplicable
fields are false, these fields all default to true.
This field is available in API version 48.0 and later.
Indicates whether Lightning components, third-party APIs, and
WebSocket connections can load style sheets from this trusted
booleanisApplicableToStyleSrc
URL (true) or not (false). This field has a default value of
false. This field is available in API version 48.0 and later.
Reserved for future use.stringmobileExtension
Declarative Metadata Sample Definition
A sample XML definition of a trusted site is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<CspTrustedSite xmlns="http://soap.sforce.com/2006/04/metadata">
<canAccessCamera>false</canAccessCamera>
<canAccessMicrophone>true</canAccessMicrophone>
<description>Used for Lightning component callout to mapping web service</description>
<context>LEX</context>
<endpointUrl>https://www.maptestsite.net/</endpointUrl>
<isActive>true</isActive>
<isApplicableToConnectSrc>true</isApplicableToConnectSrc>
<isApplicableToFontSrc>true</isApplicableToFontSrc>
<isApplicableToFrameSrc>false</isApplicableToFrameSrc>
<isApplicableToImgSrc>true</isApplicableToImgSrc>
<isApplicableToMediaSrc>false</isApplicableToMediaSrc>
<isApplicableToStyleSrc>true</isApplicableToStyleSrc>
</CspTrustedSite>
Usage
For each CSPTrustedSite component, at least one field starting with grantAccess or isApplicableTo must be set to true.
In API versions 50.0 to 58.0, if all isApplicable fields are false, the isApplicableToImgSrc field is set to true. In API
version 49.0 and earlier, if all isApplicable fields are false, those fields all default to true.
To ensure smooth integration across Salesforce products, Salesforce includes URLs in each of the CSP directives that correspond to the
isApplicable fields, even though those URLs arent defined as CspTrustedSite components. Salesforce regularly updates those
URLs based on the latest requirements.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
539
CspTrustedSiteMetadata Types
CustomApplication
CustomApplication represents a custom or standard application. In API version 29.0 and earlier, CustomApplication represents only a
custom application. An application is a list of tab references, with a description and a logo. This type extends the Metadata metadata
type and inherits its fullName field.
File Suffix and Directory Location
Custom and standard applications have the suffix .app and are stored in the applications folder.
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Version
Custom applications are available in API version 10.0 and later. Standard applications are available in API version 30.0 and later.
Fields
DescriptionField TypeField Name
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.
AppActionOverride[]actionOverrides
The color scheme and logo used for the app.
This field is available for Lightning Experience in API
version 38.0 and later.
AppBrandbrand
Represents configuration settings for a Salesforce console
app.
This field is available in API version 42.0 and later.
ServiceCloudConsoleConfigconsoleConfig
The fullName of a standard tab or custom tab that
opens when this application is selected.
stringdefaultLandingTab
The optional description text of the application.stringdescription
Indicates the form factors for which the app is visible for
Lightning Experience. Valid values are:
FormFactor (enumeration of type
string)
formFactors
Null (no value)For a desktop using Salesforce
Classic
SmallFor a mobile device using the Salesforce
mobile app
MediumReserved for future use
LargeFor a desktop using Lightning Experience
540
CustomApplicationMetadata Types
DescriptionField TypeField Name
This field is available in API version 38.0 and later.
As of API version 38.0, formFactors is set to Large
for existing Salesforce Classic apps, except for Salesforce
Classic consoles. Salesforce Classic apps installed from
packages created before API version 38.0 also have
formFactors set to Large. For Salesforce Classic
apps in packages created with API 38.0 or later, you must
set formFactors to Large for Salesforce Classic
apps to appear in the Lightning Experience desktop.
As of API version 47.0, the Small value is supported
for Lightning apps. The formFactors field can be
set to Small or Large for Lightning apps, and it can
be set to Null or Large for Salesforce Classic apps.
Indicates whether the navigation automatically creates
temporary tabs settings. Applies only to Lightning apps
booleanisNavAutoTempTabsDisabled
with standard navigation. Available in API version 43.0
and later.
Indicates whether navigation personalization is disabled.
Applies only to Lightning apps. Available in API version
43.0 and later.
booleanisNavPersonalizationDisabled
Indicates whether workspace tabs are cleared for each
new console session (true) or not (false). Applies
booleanisNavTabPersistenceDisabled
only to Lightning apps with console navigation. Available
in API version 54.0 and later.
Indicates if the application is a Salesforce Classic console
app. For Lightning Experience console apps, this field is
null and the navType field is set to Console.
booleanisServiceCloudConsole
The name of the application.stringlabel
The optional reference to the image document for a
Salesforce app or Salesforce console app.
stringlogo
Not updateable. Indicates the type of navigation the app
uses. The value Standard is for a Lightning app with
NavType (enumeration of type string)navType
standard navigation. The value Console is for a
Lightning app with console navigation.
This field is available in API version 38.0 and later.
Represents the preferences for a Salesforce Classic
console app. All of the AppPreferences fields are required.
This field is available in API version 42.0 and later.
AppPreferencespreferences
A list of the Lightning Experience record page
ProfileActionOverrides that are assigned to this custom
AppProfileActionOverride[]profileActionOverrides
541
CustomApplicationMetadata Types
DescriptionField TypeField Name
app. When a user invokes the custom app, a matching
ProfileActionOverride assignment takes precedence over
existing overrides for the record page specified in
ActionOverride. You can override a record page for the
custom app by record type and profile.
In API version 45.0 and later, you can override a home
page for the custom app by profile.
The type of Setup experience associated with the app.
Valid values are:
stringsetupExperience
allRepresents the full Setup tree.
essentialsRepresents the Essentials Setup
tree, which contains a subset of Setup items
configured for Essentials edition.
serviceRepresents the Service Setup tree,
which contains a subset of Setup items configured
for Service Console.
A null value is equivalent to all.
Previous valid values AllSetup, ServiceSetup,
and EssentialsSetup have been deprecated.
This field is available in API version 39.0 and later.
Represents the list of tabs appended by a subscriber to
a Lightning app installed from a managed package.
Records in a subscriber tab always open as primary tabs.
This field is available in API version 41.0 and later.
string[]subscriberTabs
The list of tabs included in this application. In API version
12.0, the fullName for built-in tabs like Home,
string[]tabs
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.
In API version 42.0, this field was renamed from tab to
tabs.
Not updateable. Identifies the type of custom app. The
value is:
UiType (enumeration of type string)uiType
Aloha for Salesforce Classic
Lightning for Lightning Experience
This field is available in API version 38.0 and later.
542
CustomApplicationMetadata Types
DescriptionField TypeField Name
The developer name of the utility bar associated with
this app.
We recommend assigning a utility bar to only one
Lightning App, because utility bars are shared. Sharing
stringutilityBar
means that if you change the utility bar in one app, it
automatically changes in all apps associated with it.
This field is available in API version 38.0 and later.
Represents how records open in a Salesforce console
app. Required if isServiceCloudConsole is
AppWorkspaceConfigworkspaceConfig
true. In API version 42.0, this field was renamed to
workspaceConfig from workspaceMappings.
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.
DescriptionField TypeField Name
The only valid value is view for API version 43.0 and earlier. The value
tab is supported for API version 44.0 and later.
stringactionName
Any comments you want associated with the override.stringcomment
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.
stringcontent
The size of the page being overridden.
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.
FormFactor(enumeration
of type string)
formFactor
The Large value represents the Lightning Experience desktop
environment and is valid only for the flexipage and
lightningcomponent types. The Small value represents the
Salesforce mobile app on a phone or tablet. The Medium value is
reserved for future use. The null value (which is the same as specifying
no value) represents Salesforce Classic.
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.
Lightning component overrides return different FormFactor values
depending on the API version used.
543
CustomApplicationMetadata Types
DescriptionField TypeField Name
In API version 41.0 and earlier, Lightning component overrides return
only the null value (no value), representing the Salesforce Classic
environment.
In API version 42.0, if you specify different Lightning component
overrides for Lightning Experience and mobile, one component is
selected randomly for both overrides and its FormFactor value
is returned. If theres a conflict between Lightning components, and
a Visualforce page override is also specified for Salesforce Classic, the
Visualforce page takes precedence.
In API version 43.0 and later, a Lightning component override for
Lightning Experience returns the Large value and a Lightning
component override for mobile returns the Small value, as
expected.
The name of the sObject type being overridden. Valid values are
standard and custom.
This value must be standard-home when actionName is tab.
stringpageOrSobjectType
Set this field to true if you prefer that any new records created by this
action override arent forwarded to the record type selection page. This
booleanskipRecordTypeSelect
field is only valid if the actionName is a create type (like new), and
type is set to visualforce.
Required. Represents the type of action override. The valid values are
Flexipage and Default.
A Flexipage AppActionOverride set to App Default cant be deleted
via Metadata API. Instead, remove the override using the page assignment
wizard in the Lightning App Builder UI.
ActionOverrideType
(enumeration of type
string)
type
AppBrand
The color scheme and logo used for the app. Available for Lightning apps in API version 38.0 and later.
DescriptionField TypeField Name
Optional. Determines the footer color in the app. Specify the color with
a hexadecimal code, such as #0000FF for blue.
stringfooterColor
Optional. Determines the header color in the app. Specify the color with
a hexadecimal code, such as #0000FF for blue.
stringheaderColor
The optional reference to the image document for the application.stringlogo
An optional version number for the logo.intlogoVersion
Indicates whether to override the global theme for the org. When true,
the color scheme and logo that the user has set are used. When false,
booleanshouldOverrideOrgTheme
544
CustomApplicationMetadata Types
DescriptionField TypeField Name
the global theme for the org is used, even if the user has set a color
scheme and logo.
AppComponentList
Represents custom console components (Visualforce pages) assigned to a Salesforce console app. In API version 42.0, this type was
renamed from CustomApplicationComponents to AppComponentList.
DescriptionField TypeField Name
Required. Determines how custom console components are aligned in
the footer of a Salesforce console app.
stringalignment
The name of a custom console component assigned to a Salesforce
console app. In API version 42.0, this field was renamed from
customApplicationComponent to components.
string[]components
AppPreferences
Represents the preferences for a Salesforce Classic console app. All of the AppPreferences fields are required. Available in API version
42.0 and later.
DescriptionField TypeField Name
Indicates if a Salesforce Classic console app has Customize My Tabs
enabled. If enabled, users can hide, display, and organize items in the
navigation tab.
booleanenableCustomizeMyTabs
Indicates if a Salesforce Classic console app has keyboard shortcuts
enabled. Shortcuts let users perform actions by pressing a combination
booleanenableKeyboardShortcuts
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 shortcuts
action with the addEventListener() method in the Salesforce
Console Integration Toolkit. You cant create keyboard shortcuts for
actions performed outside of the console. This field is required if
isServiceCloudConsole is true.
Indicates if a Salesforce Classic console app has list view hovers enabled.
If set to true, summary information is displayed about a record in a
booleanenableListViewHover
responsive list when the user hovers over a record name. For cases, hover
over the subject field.
Indicates if Salesforce Classic console apps use responsive list views
instead of Salesforce Classic lists views.
booleanenableListViewReskin
Indicates if a Salesforce Classic console app has multi-monitor
components enabled, which lets users move portions of a console from
booleanenableMultiMonitorComponents
545
CustomApplicationMetadata Types
DescriptionField TypeField Name
their browsers to locations on their screens. This field is required if
isServiceCloudConsole is true.
Indicates if a Salesforce Classic console app has pinned tabs enabled,
which lets users pin primary tabs to the tab bar for quick access.
booleanenablePinTabs
Indicates if a Salesforce Classic 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.
booleanenableTabHover
Indicates whether limits are enabled on the number of primary tabs and
subtabs that can be opened in a Salesforce Classic console session. When
true, values for tabLimitConfig are required
booleanenableTabLimits
Indicates if a Salesforce Classic console app saves user sessions
automatically. If enabled, when console users close their browsers or log
booleansaveUserSessions
out of Salesforce, any previously open tabs display when users log in
again. Required if isServiceCloudConsole is true.
AppProfileActionOverride
Represents a ProfileActionOverride for a custom app. This type inherits from ProfileActionOverride on page 1419 and extends it by one
field, profile. Available for Lightning Experience in API version 39.0 and later. In API version 45.0 and later, you can override a home
page for the custom app by profile.
DescriptionField TypeField Name
Required. 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.
stringactionName
In API version 45.0 and later, this action is supported only when
ProfileActionOverride is being specified as part of a CustomApplication,
pageOrSobjectType is standard-home, and this field is Tab.
Read-only. Represents the name of the Lightning page being used as
the override.
stringcontent
Required. The size of the page being overridden. The Large value
represents the Lightning Experience desktop environment.
FormFactor
(enumeration of type
string)
formFactor
Required. The name of the page being overridden. The only valid values
are record-home and standard-home. If the actionName
is Tab, this field must be standard-home
stringpageOrSobjectType
The profile associated with the ProfileActionOverride.stringprofile
546
CustomApplicationMetadata Types
DescriptionField TypeField Name
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.
stringrecordType
Required. Read-only. The type of action override. The only valid value is
flexipage.
ActionOverrideType
(enumeration of type
string)
type
AppWorkspaceConfig
Represents how records open in a Salesforce console app. Required if isServiceCloudConsole is true. Available for Salesforce
Classic console apps in API version 25.0 and later. Available for Lightning console apps in API version 41.0 and later. In API version 42.0,
this type was renamed from WorkspaceMappings to AppWorkspaceConfig.
DescriptionField TypeField Name
Represents how records for a specific tab open in a Salesforce console
app. Required for each tab specified in the CustomApplication. In API
WorkspaceMappingSingle[]mappings
version 42.0, this field was renamed from workspaceMapping to
mappings.
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 for Salesforce Classic console apps. Available in API version 41.0 and later for Lightning console
apps.
DescriptionField TypeField Name
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.
stringfieldName
Required. Name of the tab.stringtab
CustomShortcut
Represents custom keyboard shortcuts assigned to a Salesforce console app in Salesforce Classic. Before you can create custom shortcuts,
a developer must define the shortcuts action with the addEventListener() method in the Salesforce Console Integration Toolkit.
You cant create keyboard shortcuts for actions performed outside of the console. Available in API version 28.0 and later.
DescriptionField TypeField Name
Required. The action performed in the console when a user presses the
keyboard shortcut.
stringaction
Required. Indicates whether the keyboard shortcut is active (true) or
not (false).
booleanactive
547
CustomApplicationMetadata Types
DescriptionField TypeField Name
Required. The combination of keys a user presses to trigger the keyboard
shortcut. Keyboard shortcuts arent case-sensitive, but they display as
stringkeyCommand
uppercase on setup pages in the Salesforce user interface so that theyre
easier to read.
Each key command can include up to four modifier keys followed by one
non-modifier key. Modifier and non-modifier keys are separated by the
+ key. Modifier keys can occur in any order, but you must place
non-modifier keys at the end of the key command sequence. For example,
SHIFT+CTRL+ALT+META +A.
Valid modifier keys are:
SHIFT
CTRL
ALT
META (represents the COMMAND key on Macs)
Valid non-modifier keys are letters A through Z and numbers 0 through
9. Other valid keys are:
TAB
ENTER
PAUSE/BREAK
CAPS LOCK
ESC
SPACE
PAGE UP
PAGE DOWN
END
HOME
LEFT ARROW
UP ARROW
RIGHT ARROW
DOWN ARROW
PRINT SCREEN
INSERT
DELETE
RIGHT WINDOW
NUMPAD 0
NUMPAD 1
NUMPAD 2
NUMPAD 3
NUMPAD 4
548
CustomApplicationMetadata Types
DescriptionField TypeField Name
NUMPAD 5
NUMPAD 6
NUMPAD 7
NUMPAD 8
NUMPAD 9
MULTIPLY
ADD
SUBTRACT
DECIMAL POINT
DIVIDE
F1
F2
F3
F4
F5
F6
F7
F8
F9
F10
F11
F12
NUM LOCK
SCROLL LOCK
;
=
,
.
/
[
]
\
'
The optional description text for the keyboard shortcut.stringdescription
549
CustomApplicationMetadata Types
DescriptionField TypeField Name
Required. Code available to developers who want to add custom shortcut
functions to the console via the Salesforce Console Integration Toolkit.
stringeventName
DefaultShortcut
Represents default keyboard shortcuts assigned to a Salesforce console app. After 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.
DescriptionField TypeField Name
Required. The action performed in the console when a user presses the
keyboard shortcut. Valid values are:
stringaction
FOCUS_CONSOLE
FOCUS_NAVIGATOR_TAB
FOCUS_DETAIL_VIEW
FOCUS_PRIMARY_TAB_PANEL
FOCUS_SUBTAB_PANEL
FOCUS_LIST_VIEW
FOCUS_FIRST_LIST_VIEW
FOCUS_SEARCH_INPUT
MOVE_LEFT
MOVE_RIGHT
UP_ARROW
DOWN_ARROW
OPEN_TAB_SCROLLER_MENU
OPEN_TAB
CLOSE_TAB
ENTER
EDIT
SAVE
For a list and description of the default keyboard shortcuts, see Default
Keyboard Shortcuts for a Salesforce Console in Salesforce Classic in
Salesforce Help.
Required. Indicates whether the keyboard shortcut is active (true) or
not (false).
booleanactive
Required. The combination of keys a user presses to trigger the keyboard
shortcut. Keyboard shortcuts arent case-sensitive, but they display as
stringkeyCommand
uppercase on setup pages in the Salesforce user interface so that theyre
easier to read.
550
CustomApplicationMetadata Types
DescriptionField TypeField Name
Each key command can include up to four modifier keys followed by one
non-modifier key. Modifier and non-modifier keys are separated by the
+ key. Modifier keys can occur in any order, but you must place
non-modifier keys at the end of the key command sequence. For example,
SHIFT+CTRL+ALT+META +A.
Valid modifier keys are:
Valid non-modifier keys are letters A through Z and numbers 0 through
9. Other valid keys are:
KeyboardShortcuts
Represents keyboard shortcuts assigned to a Salesforce console app. Required if isServiceCloudConsole is true. Available
in API version 28.0 and later.
DescriptionField TypeField Name
Represents custom keyboard shortcuts assigned to a Salesforce console
app in Salesforce Classic. Before you can create custom shortcuts, a
CustomShortcut[]customShortcuts
developer must define the shortcuts action with the
addEventListener() method in the Salesforce Console
Integration Toolkit. You cant create keyboard shortcuts for actions
performed outside of the console.
In API version 42.0, this field was renamed from customShortcut
to customShortcuts.
Represents default keyboard shortcuts assigned to a Salesforce console
app. After you enable keyboard shortcuts for a console, several default
DefaultShortcut[]defaultShortcuts
shortcuts are available for customization. These include opening and
closing tabs, moving between tabs, and saving records.
For a list and description of the default keyboard shortcuts, see Default
Keyboard Shortcuts for a Salesforce Console in Salesforce Classic in
Salesforce Help.
In API version 42.0, this field was renamed from defaultShortcut
to defaultShortcuts.
ListPlacement
Represents how lists display in a Salesforce console app. Required if isServiceCloudConsole is true. Available in API version
25.0 and later.
DescriptionField TypeField Name
Height of the list in pixels or percentage. Required if location is top.intheight
551
CustomApplicationMetadata Types
DescriptionField TypeField Name
Required. Location of the list on the screen. Valid values are:stringlocation
full
top
left
Required. Represents if height or width is in pixels or percentage.stringunits
Width of the list in pixels or percentage. Required if location is left.intwidth
LiveAgentConfig
Represents your organization's settings for using Chat in the Salesforce Console.
DescriptionField TypeField Name
Specifies whether Chat is enabled in your organization (true) or not
(false).
booleanenableLiveChat
Specifies whether to open a new Account subtab in a Salesforce console
app automatically (true) or not (false) when an agent accepts a
chat.
booleanopenNewAccountSubtab
Specifies whether to open a new Case subtab in a Salesforce console app
automatically (true) or not (false) when an agent accepts a chat.
booleanopenNewCaseSubtab
Specifies whether to open a new Contact subtab in a Salesforce console
app automatically (true) or not (false) when an agent accepts a
chat.
booleanopenNewContactSubtab
Specifies whether to open a new Lead subtab in a Salesforce console
app automatically (true) or not (false) when an agent accepts a
chat.
booleanopenNewLeadSubtab
Specifies whether to open a new Visualforce page as a subtab in a
Salesforce console app automatically (true) or not (false) when an
agent accepts a chat.
booleanopenNewVFPageSubtab
Specifies the Visualforce pages to open in subtabs when an agent accepts
a chat in a Salesforce console app.
This field is available in API version 42.0 and later.
string [array of strings]pageNamesToOpen
Specifies whether to display the Knowledge component while using
Chat in a Salesforce console app (true) or not (false).
booleanshowKnowledgeArticles
PushNotification
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 users session. Available for use if isServiceCloudConsole is true. Available in API version 28.0 and later.
552
CustomApplicationMetadata Types
DescriptionField TypeField Name
The name of the field or fields that trigger push notifications for the
selected object.
string]fieldNames
Required. Name of the object that triggers push notifications.stringobjectName
ServiceCloudConsoleConfig
Represents configuration settings for a Salesforce console app. Available in API version 42.0 and later.
DescriptionField TypeField Name
Represents custom console components (Visualforce pages) assigned to
a Salesforce console app.
AppComponentListcomponentList
Determines how detail pages refresh in a Salesforce console app. Required
if isServiceCloudConsole is true. The valid values are:
stringdetailPageRefreshMethod
none
autoRefresh
flag
Determines the footer color in a Salesforce console app. Specify the color
with a hexadecimal code, such as #0000FF for blue.
stringfooterColor
Determines the header color in a Salesforce console app. Specify the
color with a hexadecimal code, such as #0000FF for blue.
stringheaderColor
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.
KeyboardShortcutskeyboardShortcuts
Represents how lists display in a Salesforce console app. Required if
isServiceCloudConsole is true.
ListPlacementlistPlacement
Determines how lists refresh in a Salesforce console app. Required if
isServiceCloudConsole is true. The valid values are:
stringlistRefreshMethod
none
refreshList
refreshListRows
Represents the configurations for using Chat in the Salesforce Console.LiveAgentConfigliveAgentConfig
Determines the primary tab color in a Salesforce console app. Specify the
color with a hexadecimal code, such as #0000FF for blue.
stringprimaryTabColor
Represents push notifications for a Salesforce console app. Push
notifications are visual indicators on lists and detail pages that show when
PushNotification[]pushNotifications
a record or field has changed during a users session. For example, assume
that two support agents are working on the same case. If one agent
553
CustomApplicationMetadata Types
DescriptionField TypeField Name
changes the Priority, a push notification displays to the other agent
so the agent notices the change and doesnt duplicate the effort.
Represents the maximum number of primary tabs and subtabs allowed
in one Salesforce console session. Required if enableTabLimits is
true.
TabLimitConfigtabLimitConfig
Any external domains that users can access from within a Salesforce
console app. For example, www.yourdomain.com.
string[]whiteListedDomains
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.
DescriptionField TypeField Name
The maximum number of primary tabs allowed in one console session.
Valid values are:
stringmaxNumberOfPrimaryTabs
5
10
20
30
The maximum number of subtabs allowed in one console session. Valid
values are:
stringmaxNumberOfSubTabs
5
10
15
Usage
You can't delete custom app ProfileActionOverrides by deploying with destructiveChange.xml. To delete a ProfileActionOverride,
retrieve the app. In the app definition file, find the <profileActionOverrides> section, and remove the <content> row.
Then, change the <type> value in that same section to default instead of flexipage. Do this for every override you want to
reset. After making the changes, rezip the folder and deploy.
You can remove one override at a time each with its own deploy, or you can remove multiple overrides in a single deploy. However, we
recommend that you do a fresh retrieve every time you want to delete a new override. Dont use a previously retrieved file.
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.
554
CustomApplicationMetadata Types
To retrieve all apps in your organizationcustom and standard apps, specify the wildcard character (*), as follows.
<types>
<members>*</members>
<name>CustomApplication</name>
</types>
Note: In API version 29.0 and earlier, use of the wildcard returns only all custom applications but not standard applications.
To retrieve a custom app, specify the app name.
<types>
<members>MyCustomApp</members>
<name>CustomApplication</name>
</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.
<types>
<members>standard__Chatter</members>
<name>CustomApplication</name>
</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.
<types>
<members>myInstalledPackageNS__PackageApp</members>
<name>CustomApplication</name>
</types>
Declarative Metadata Sample Definition
Heres the definition of a custom Lightning Experience app:
<?xml version="1.0" encoding="UTF-8"?>
<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>View</actionName>
<comment>Action override created by Lightning App Builder during
activation.</comment>
<content>Custom_Mobile_Oppty_Page</content>
<formFactor>Small</formFactor>
<skipRecordTypeSelect>false</skipRecordTypeSelect>
<type>Flexipage</type>
<pageOrSobjectType>Opportunity</pageOrSobjectType>
</actionOverrides>
<actionOverrides>
<actionName>View</actionName>
<comment>Action override created by Lightning App Builder during
activation.</comment>
<content>Custom_Mobile_Oppty_Page</content>
<formFactor>Large</formFactor>
555
CustomApplicationMetadata Types
<skipRecordTypeSelect>false</skipRecordTypeSelect>
<type>Flexipage</type>
<pageOrSobjectType>Opportunity</pageOrSobjectType>
</actionOverrides>
<brand>
<headerColor>#EE1518</headerColor>
<shouldOverrideOrgTheme>true</shouldOverrideOrgTheme>
</brand>
<description>Manage inventory and deliveries for our warehouses.</description>
<formFactors>Small</formFactors>
<formFactors>Large</formFactors>
<isNavAutoTempTabsDisabled>false</isNavAutoTempTabsDisabled>
<isNavPersonalizationDisabled>false</isNavPersonalizationDisabled>
<label>Warehouse Lightning</label>
<navType>Standard</navType>
<profileActionOverrides>
<actionName>View</actionName>
<content>Warehouse_test_page</content>
<formFactor>Large</formFactor>
<pageOrSobjectType>Warehouse__c</pageOrSobjectType>
<type>Flexipage</type>
<profile>Admin</profile>
</profileActionOverrides>
<profileActionOverrides>
<actionName>View</actionName>
<content>Warehouse_test_page</content>
<formFactor>Small</formFactor>
<pageOrSobjectType>Warehouse__c</pageOrSobjectType>
<type>Flexipage</type>
<profile>Admin</profile>
</profileActionOverrides>
<setupExperience>all</setupExperience>
<tabs>standard-Feed</tabs>
<tabs>standard-File</tabs>
<tabs>standard-Account</tabs>
<tabs>standard-Case</tabs>
<tabs>Merchandise__c</tabs>
<tabs>Invoice__c</tabs>
<tabs>Warehouse__c</tabs>
<tabs>Delivery__c</tabs>
<tabs>standard-report</tabs>
<tabs>standard-Dashboard</tabs>
<uiType>Lightning</uiType>
</CustomApplication>
The following is a definition of a standard app (Chatter):
<?xml version="1.0" encoding="UTF-8"?>
<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<defaultLandingTab>standard-home</defaultLandingTab>
<label>Collaboration</label>
<tabs>standard-Chatter</tabs>
<tabs>standard-UserProfile</tabs>
<tabs>standard-OtherUserProfile</tabs>
<tabs>standard-CollaborationGroup</tabs>
556
CustomApplicationMetadata Types
<tabs>standard-File</tabs>
</CustomApplication>
Declarative Metadata Sample DefinitionSalesforce Console
The following is the definition of a custom app where isServiceCloudConsole is true:
<?xml version="1.0" encoding="UTF-8"?>
<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<consoleConfig>
<componentList>
<alignment>left</alignment>
<components>MyComponent</components>
</componentList>
<detailPageRefreshMethod>autoRefresh</detailPageRefreshMethod>
<keyboardShortcuts>
<customShortcuts>
<action>MyCustomShortcutAction</action>
<active>true</active>
<keyCommand>X</keyCommand>
<description>Custom Shortcut example</description>
<eventName>myCustomShortcutExample</eventName>
</customShortcuts>
<defaultShortcuts>
<action>FOCUS_CONSOLE</action>
<active>true</active>
<keyCommand>ESC</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>FOCUS_NAVIGATOR_TAB</action>
<active>true</active>
<keyCommand>V</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>FOCUS_DETAIL_VIEW</action>
<active>true</active>
<keyCommand>SHIFT+S</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>FOCUS_PRIMARY_TAB_PANEL</action>
<active>true</active>
<keyCommand>P</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>FOCUS_SUBTAB_PANEL</action>
<active>true</active>
<keyCommand>S</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>FOCUS_LIST_VIEW</action>
<active>true</active>
<keyCommand>N</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
557
CustomApplicationMetadata Types
<action>FOCUS_FIRST_LIST_VIEW</action>
<active>true</active>
<keyCommand>SHIFT+F</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>FOCUS_SEARCH_INPUT</action>
<active>true</active>
<keyCommand>R</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>MOVE_LEFT</action>
<active>true</active>
<keyCommand>LEFT ARROW</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>MOVE_RIGHT</action>
<active>true</active>
<keyCommand>RIGHT ARROW</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>UP_ARROW</action>
<active>true</active>
<keyCommand>UP ARROW</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>DOWN_ARROW</action>
<active>true</active>
<keyCommand>DOWN ARROW</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>OPEN_TAB_SCROLLER_MENU</action>
<active>true</active>
<keyCommand>D</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>OPEN_TAB</action>
<active>true</active>
<keyCommand>T</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>CLOSE_TAB</action>
<active>true</active>
<keyCommand>C</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>ENTER</action>
<active>true</active>
<keyCommand>ENTER</keyCommand>
</defaultShortcuts>
<defaultShortcuts>
<action>EDIT</action>
<active>true</active>
<keyCommand>E</keyCommand>
</defaultShortcuts>
558
CustomApplicationMetadata Types
<defaultShortcuts>
<action>SAVE</action>
<active>true</active>
<keyCommand>CTRL+S</keyCommand>
</defaultShortcuts>
</keyboardShortcuts>
<listPlacement>
<location>left</location>
<units>percent</units>
<width>20</width>
</listPlacement>
<listRefreshMethod>refreshList</listRefreshMethod>
<pushNotifications>
<fieldNames>CreatedBy</fieldNames>
<objectName>Campaign</objectName>
</pushNotifications>
<pushNotifications>
<fieldNames>CustomField1__c</fieldNames>
<objectName>CustomObject1__c</objectName>
</pushNotifications>
</consoleConfig>
<defaultLandingTab>standard-home</defaultLandingTab>
<isServiceCloudConsole>true</isServiceCloudConsole>
<label>MyConsole</label>
<preferences>
<enableCustomizeMyTabs>false</enableCustomizeMyTabs>
<enableKeyboardShortcuts>true</enableKeyboardShortcuts>
<enableListViewHover>true</enableListViewHover>
<enableListViewReskin>true</enableListViewReskin>
<enableMultiMonitorComponents>true</enableMultiMonitorComponents>
<enablePinTabs>true</enablePinTabs>
<enableTabHover>false</enableTabHover>
<enableTabLimits>false</enableTabLimits>
<saveUserSessions>false</saveUserSessions>
</preferences>
<tabs>standard-Case</tabs>
<tabs>standard-Account</tabs>
<tabs>standard-Contact</tabs>
<tabs>standard-Contract</tabs>
<workspaceConfig>
<mappings>
<tab>standard-Case</tab>
</mappings>
<mappings>
<fieldName>ParentId</fieldName>
<tab>standard-Account</tab>
</mappings>
<mappings>
<fieldName>AccountId</fieldName>
<tab>standard-Contact</tab>
</mappings>
<mappings>
<tab>standard-Contract</tab>
</mappings>
559
CustomApplicationMetadata Types
</workspaceConfig>
</CustomApplication>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomTab
CustomApplicationComponent
Represents a custom console component (Visualforce page) assigned to a CustomApplication that is marked as a Salesforce console.
Custom console components extend the capabilities of Salesforce console apps. See Customize a Console with Custom Components
in Salesforce Classic in Salesforce Help.
File Suffix and Directory Location
Custom application components have the suffix .customApplicationComponent and are stored in the
customApplicationComponents folder.
Version
Custom applications are available in API version 25.0 and later.
Fields
DescriptionField TypeField Name
The address of a page that hosts an icon for the button.stringbuttonIconUrl
The inline style used to define how the button looks.stringbuttonStyle
The label on the button used to launch the custom console component.stringbuttonText
The pixel width of the button displayed in the Salesforce console.intbuttonWidth
The pixel height of the window used to display the custom console
component.
intheight
Required. Indicates whether users can change the custom console
component height (false) or not (true).
booleanisHeightFixed
Required. Indicates whether the custom console component is hidden
from users (true) or not (false).
booleanisHidden
Required. Indicates whether users can change the component width
(false) or not (true).
booleanisWidthFixed
560
CustomApplicationComponentMetadata Types
DescriptionField TypeField Name
Required. Name of the Visualforce page that represents the custom
console component.
stringvisualforcePage
The pixel width of the window used to display the custom console
component.
intwidth
Declarative Metadata Sample Definition
The following is the definition of a custom application component:
<?xml version="1.0" encoding="UTF-8"?>
<CustomApplicationComponent xmlns="http://soap.sforce.com/2006/04/metadata">
<buttonIconUrl>https://salesforce.com</buttonIconUrl>
<buttonStyle>buttonStyleCSS</buttonStyle>
<buttonText>buttonText</buttonText>
<buttonWidth>200</buttonWidth>
<height>200</height>
<isHeightFixed>false</isHeightFixed>
<isHidden>false</isHidden>
<isWidthFixed>false</isWidthFixed>
<visualforcePage>MyVisualforcePage</visualforcePage>
<width>50</width>
</CustomApplicationComponent>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CustomFeedFilter
Represents a custom feed filter that limits the feed view to feeds from the Cases object. The custom feed filter shows only feed items
that satisfy the criteria specified in the CustomFeedFilter definition. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
CustomFeedFilter components have the suffix .feedFilter and are stored in the feedFilters folder.
Version
CustomFeedFilter components are available in API version 35.0 and later.
561
CustomFeedFilterMetadata Types
Fields
DescriptionField TypeField Name
The criterion that defines which feed items are shown when the filter is
applied. The feed filter displays all feed items that satisfy the criteria.
FeedFilterCriterion
on page 562 []
criteria
The description of the custom feed filter. For example, specify what feed
items that filter shows.
stringdescription
Required. The API label of the custom feed filter.stringlabel
An auto-generated value. It currently has no impact.booleanisProtected
FeedFilterCriterion
Represents the conditions that a feed item must satisfy to be displayed when a feed filter is applied.
DescriptionField TypeField Name
Required. The type of feed items that the filter shows.
FeedItemType (enumeration of type
string)
feedItemType
The feed item type can be one of the following values:
AttachArticleEvent
CallLogPost
CanvasPost
CaseCommentPost
ChangeStatusPost
ChatTranscriptPost
ContentPost
CreateRecordEvent
EmailMessageEvent
LinkPost
MilestoneEvent
QuestionPost
PollPost
ReplyPost
SocialPost
TextPost
The visibility of feed items that the filter shows. For
example, you can show only poll posts that are visible
internally.
FeedItemVisibility (enumeration of
type string)
feedItemVisibility
Valid values are:
AllUsers
562
CustomFeedFilterMetadata Types
DescriptionField TypeField Name
InternalUsers
The API name of the object that the feed item refers to.
This field is typically used with the CreateRecordEvent
feed item type.
stringrelatedSObjectType
For example, a feed filter can show CreateRecordEvent
feed items for the Cases object.
Declarative Metadata Sample Definition
The following is an example of a CustomFeedFilter on page 561 component.
<?xml version="1.0" encoding="UTF-8"?>
<CustomFeedFilter xmlns="http://soap.sforce.com/2006/04/metadata">
<criteria>
<feedItemType>CreateRecordEvent</feedItemType>
<relatedSObjectType>MyCO01__c</relatedSObjectType>
</criteria>
<criteria>
<feedItemType>CreateRecordEvent</feedItemType>
<relatedSObjectType>Case</relatedSObjectType>
</criteria>
<criteria>
<feedItemType>PollPost</feedItemType>
<feedItemVisibility>InternalUsers</feedItemVisibility>
</criteria>
<label>Sample Custom Feed Filter</label>
</CustomFeedFilter>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>myCaseFeedFilter</members>
<name>CustomFeedFilter</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
563
CustomFeedFilterMetadata Types
CustomHelpMenuSection
Represents the section of the Lightning Experience help menu that the admin added to display custom, org-specific help resources for
the org. The custom section contains help resources added by the admin. This type extends the Metadata metadata type and inherits
its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
CustomHelpMenuSection components have the suffix .customHelpMenuSection and are stored in the
customHelpMenuSections folder.
Version
CustomHelpMenuSection components are available in API version 45.0 and later.
Fields
DescriptionField TypeField Name
Items included in the custom section. Specify up to 15 items.CustomHelpMenuItems[]customHelpMenuItems
Required. Name of the custom section. Only one custom section
can be added to the Lightning Experience help menu. Specify up
to 80 characters.
stringmasterLabel
CustomHelpMenuItems
Items included in the custom section. Specify up to 15 items.
DescriptionField TypeField Name
Required. The URL for the resource.stringlinkURL
Required. The name of the resource. Specify up to 100 characters.stringmasterLabel
Required. The order of the item within the custom section. Valid values are 1
through 15.
intsortOrder
Declarative Metadata Sample Definition
The following is an example of a CustomHelpMenuSection component.
<?xml version="1.0" encoding="UTF-8"?>
<CustomHelpMenuSection xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>MyOrgCustomHelp</masterLabel>
564
CustomHelpMenuSectionMetadata Types
<customHelpMenuItems>
<linkUrl>https://www.yourcompanyhelp.com/gettingstarted</linkUrl>
<masterLabel>Getting Started</masterLabel>
<sortOrder>1</sortOrder>
</customHelpMenuItems>
<customHelpMenuItems>
<linkUrl>https://www.yourcompanyhelp.com/features</linkUrl>
<masterLabel>Feature to Start Using Right Away</masterLabel>
<sortOrder>2</sortOrder>
</customHelpMenuItems>
<customHelpMenuItems>
<linkUrl>https://www.yourcompanyhelp.com/salestips</linkUrl>
<masterLabel>Tips for Sales Team Members</masterLabel>
<sortOrder>3</sortOrder>
</customHelpMenuItems>
</CustomHelpMenuSection>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyOrgCustomHelp</members>
<name>CustomHelpMenuSection</name>
</types>
<version>45.0</version>
</Package>
CustomIndex
Represents an index used to increase the speed of queries.This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
CustomIndex components have the suffix .indx-meta and are stored in the customindexfolder.
Version
CustomIndex is available in API versions 50.0 and later.
Special Access Rules
To use this metadata and create a custom index, review Indexes in Best Practices for Deployments with Large Data Volumes, and then
contact Salesforce Customer Support.
565
CustomIndexMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether null values are allowed in the index (true) or not
(false). The default value is false.
booleanallowNullValues
Declarative Metadata Sample Definition
The following is an example of a CustomIndex component.
<?xml version="1.0" encoding="UTF-8" ?>
<CustomIndex xmlns="http://soap.sforce.com/2006/04/metadata">
<allowNullValues>false</allowNullValues>
</CustomIndex>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CustomLabels
The CustomLabels metadata type allows you to create custom labels that can be localized for use in different languages, countries, and
currencies.
This type extends the Metadata metadata type and inherits its fullName field. Custom labels are custom text values, up to 1,000
characters in length that can be accessed from Apex classes or Visualforce pages. For more information, see Custom Labels in Salesforce
Help.
Declarative Metadata File Suffix and Directory Location
Master custom label values are stored in the CustomLabels.labels file. Translations for custom labels can be retrieved through
Translations in Metadata API. Translations are stored in files under the translations folder with the name format of
localeCode.translation, where localeCode is the locale code of the translation language. The supported locale codes
are listed in Language on page 1993.
Version
CustomLabels components are available in API version 14.0 and later.
566
CustomLabelsMetadata Types
Fields
DescriptionField TypeField
Required. The name of the custom label bundle.
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating, updating,
stringfullName
or deleting. See createMetadata() to see an example of
this field specified for a call.
A list of custom labels.CustomLabel[]labels
CustomLabel
This metadata type represents a custom label. This type extends the Metadata metadata type and inherits its fullName field.
DescriptionField TypeField
A comma-separated list of categories for the label. This field can
be used in filter criteria when creating custom label list views.
Maximum of 255 characters.
stringcategories
Required. The name of the custom label.
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating, updating,
stringfullName
or deleting. See createMetadata() to see an example of
this field specified for a call.
Required. The language of the translated custom label.stringlanguage
Required. Indicates whether this component is protected (true)
or not (false). Protected components cant be linked to or
referenced by components created in the installing organization.
booleanprotected
Required. An easily recognizable term to identify this custom
label. This description is used in merge fields.
stringshortDescription
Required. The translated custom label. Maximum of 1000
characters.
stringvalue
Usage
Use CustomLabels with the wildcard character (*) for members in the package.xml manifest file to retrieve all custom labels that
are defined in your organization. CustomLabels doesnt support retrieving one or more custom labels by name. To retrieve specific labels
by name, use CustomLabel and specify the label names as members.
567
CustomLabelsMetadata Types
Declarative Metadata Sample Definition
This is a sample XML definition of a custom label component.
<?xml version="1.0" encoding="UTF-8"?>
<CustomLabels xmlns="http://soap.sforce.com/2006/04/metadata">
<labels>
<fullName>quoteManual</fullName>
<value>This is a manual quote.</value>
<language>en_US</language>
<protected>false</protected>
<shortDescription>Manual Quote</shortDescription>
</labels>
<labels>
<fullName>quoteAuto</fullName>
<value>This is an automatically generated quote.</value>
<language>en_US</language>
<protected>false</protected>
<shortDescription>Automatic Quote</shortDescription>
</labels>
</CustomLabels>
This is a sample manifest file for retrieving all custom labels in the organization by using the CustomLabels type.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyPkg</fullName>
<types>
<members>*</members>
<name>CustomLabels</name>
</types>
<version>61.0</version>
</Package>
This is a sample manifest file for retrieving two custom labels by name. Notice it uses the CustomLabel singular type.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>MyPkg</fullName>
<types>
<members>quoteManual</members>
<members>quoteAuto</members>
<name>CustomLabel</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
568
CustomLabelsMetadata Types
CustomLabels Limitation
Before you use the CustomLabels metadata type, understand the limitations of this feature. You cant retrieve the CustomLabels metadata
type with a namespace.
SEE ALSO:
Translations
Custom Metadata Types (CustomObject)
Represents the metadata associated with a custom metadata type.
For more information, see the Custom Metadata Types Implementation Guide.
File Suffix and Directory Location
A custom metadata type is defined as a custom object and is stored in the objects folder. Custom metadata types have a suffix of __mdt
(instead of __c for custom objects). Custom metadata type field names have a suffix of __c, like other custom fields. Custom metadata
type field names must be dot-qualified with the name of the custom metadata type to which they belong.
Names of custom metadata types must be unique within their namespace. All custom metadata types belong to the CustomMetadata
namespace and can optionally belong to a second namespace. In your organization, you can use custom metadata types with your
namespace and also other organizations namespaces.
Version
Custom metadata type components are available in API version 31.0 and later.
Special Access Rules
To create custom metadata types, you must have the Author Apex permission. Apex code can create, read, and update (but not delete)
custom metadata records, as long as the metadata is subscriber-controlled and visible from within the code's namespace. You can edit
records in memory but not upsert or delete them. Apex code can deploy custom metadata records, but not via a DML operation.
Moreover, DML operations arent allowed on custom metadata in the Partner or Enterprise APIs. Customers who install a managed
custom metadata type cant add new custom fields to it. With unpackaged metadata, both developer-controlled and subscriber-controlled
access behave the same: like subscriber-controlled access. Refer to Trust, but Verify: Apex Metadata API and Security to learn more.
Note: Audit fields (CreatedDate, CreatedBy, LastModifiedDate, LastModifiedBy, SystemModStamp)
remain uneditable.
Fields
Custom metadata types can contain the following CustomObject fields.
To make the fields on your custom metadata types unique and indexable, mark your fields as Unique and ExternalId.
569
Custom Metadata Types (CustomObject)Metadata Types
DescriptionField TypeField Name
A description of the custom metadata type. This field can
contain a maximum of 1,000 characters.
stringdescription
Represents one or more custom fields in the custom
metadata type.
CustomField[]fields
Indicates the gender of the noun that represents the object.
This field is used for languages where words need different
treatment depending on their gender.
Gendergender
A label that represents the object throughout the Salesforce
Setup user interface. Custom metadata types are visible
stringlabel
only through the recently used objects list on the Lightning
Platform Home Page and in the packaging user interface.
The plural version of the label value.stringpluralLabel
Indicates whether the noun starts with a vowel, a
consonant, or a special character. This field is used for
StartsWith (enumeration of type string)startsWith
languages where words need different treatment
depending on their first character.
This field returns the visibility of a custom metadata type.
The following values are valid:
SetupObjectVisibility (enumeration of type
string)
visibility
PublicIf the custom setting or custom metadata
type is packaged, its accessible to all subscribing
organizations.
ProtectedIf the custom object, custom setting,
or custom metadata type is in a managed package, its
accessible only to the developer org. Subscribing orgs
cant access it.
PackageProtectedIf the custom metadata
type is PackageProtected, its only accessible by
the custom Apex code in the package. Use this value
to secure secrets such as API access keys and security
tokens. Available in API version 47.0 and later.
The default value is Public.
Declarative Metadata Sample Definition
In this example, Picklists R Us creates its Reusable Picklist custom metadata type by deploying a file in the objects folder, named
ReusablePicklistOption__mdt.object, with these contents.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fields>
<fullName>AlphaSort__c</fullName>
<defaultValue>false</defaultValue>
570
Custom Metadata Types (CustomObject)Metadata Types
<externalId>false</externalId>
<label>Sorted Alphabetically</label>
<type>Checkbox</type>
</fields>
<label>Reusable Picklist</label>
<pluralLabel>Reusable Picklist</pluralLabel>
<visibility>Public</visibility>
</CustomObject>
This excerpt from a package.xml file shows the use of dot notation and the __mdt suffix. If youre using a namespace, for example
picklist1234, the full name of ReusablePicklistOption__mdt would be picklist1234
__ReusablePicklistOption__mdt.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
...
<types>
<members>PicklistTest__c.PicklistTestField__c</members>
<members>ReusablePicklistOption__mdt.Picklist__c</members>
<members>ReusablePicklistOption__mdt.SortOrder__c</members>
<members>PicklistUsage__mdt.Field__c</members>
<members>PicklistUsage__mdt.Picklist__c</members>
<members>PicklistUsage__mdt.SObjectType__c</members>
<members>ReusablePicklist__mdt.AlphaSort__c</members>
<name>CustomField</name>
</types>
...
<types>
<members>PicklistTest__c</members>
<members>ReusablePicklistOption__mdt</members>
<members>PicklistUsage__mdt</members>
<members>ReusablePicklist__mdt</members>
<name>CustomObject</name>
</types>
...
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1. CustomMetadata
Represents a record of a custom metadata type.
CustomMetadata
Represents a record of a custom metadata type.
This type extends the Metadata metadata type and inherits its fullName field.
571
CustomMetadataMetadata Types
File Suffix and Directory Location
CustomMetadata components have the suffix .md and are stored in the customMetadata folder. Unlike custom metadata types,
custom metadata records dont have a double-underscore suffix. Custom metadata record names are prepended with their custom
metadata type name, excluding the __mdt suffix but including the namespace of any types in an installed managed package.
Version
CustomMetadata components are available in API version 31.0 and later.
Special Access Rules
To create custom metadata records, you must have the Customize Application permission.
Fields
DescriptionField TypeField Name
A description of the custom metadata record. This field
can contain a maximum of 1,000 characters.
stringdescription
A label that represents the object throughout the
Salesforce Setup user interface. Custom metadata records
stringlabel
are currently visible only through the packaging user
interface.
Boolean. Indicates whether the record is protected (true)
or not (false). When a custom metadata type is released
in a managed package, access is limited in specific ways.
booleanprotected
Code thats in the same managed package as custom
metadata records can read the records.
Code thats in the same managed package as custom
metadata types can read the records that belong to
that type.
Code thats in a managed package that doesnt
contain either the type or the protected record cant
read the protected records.
Code that the subscriber creates and code thats in
an unmanaged package cant read the protected
records.
The developer can modify protected records with a
package upgrade or by using the Metadata Apex
classes (if the Apex code is in the same namespace
as either the records or their type). The subscriber
cant read or modify protected records. The developer
name of a protected record cant be changed after
release.
572
CustomMetadataMetadata Types
DescriptionField TypeField Name
The subscriber cant create records of a protected
type.
Records that are hidden by these access rules are also
unavailable to REST, SOAP, SOQL, and Setup.
Represents one or more values for custom fields on the
custom metadata record.
CustomMetadataValue[]values
CustomMetadataValue
Represents a value for a custom field on the custom metadata record.
DescriptionField TypeField Name
Required. The non-object-qualified name of a custom
field in the custom metadata type. This value corresponds
stringfield
to the name of a field on the custom metadata records
custom metadata type. Include the namespace (if the
type is from a managed package) and the __c suffix.
The name of the custom metadata type isnt required.
For example, picklist1234__AlphaSort__c.
The value on a custom metadata record. Where fields are
EntityDefinition and FieldDefinition, the qualified API
Any typevalue
names of the entity and the field it points to. This value
can be null.
For more information, see Usage on page 576.
Declarative Metadata Sample Definitions
The following is an example of a CustomMetadata component. In this example, the sample app TravelApp deploys a Planets picklist,
specifies its sort order, and adds picklist items to it.
Assuming Picklists R Uss namespace is picklist1234, to define the Planets picklist, TravelApp deploys a file in the
customMetadata folder, named picklist1234__ReusablePicklist.Planets.md, with these contents. The
xsi:type attribute specifies the type for the value of the AlphaSort__c checkbox field.
<?xml version="1.0" encoding="UTF-8"?>
<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<description>All the planets in the solar system. Does not
include asteroids.</description>
<label>Planets</label>
<values>
<field>picklist1234__AlphaSort__c</field>
<value xsi:type="xsd:boolean">false</value>
573
CustomMetadataMetadata Types
</values>
</CustomMetadata>
Picklists R Us creates its Reusable Picklist Option custom metadata type by deploying a file in the objects folder, named
ReusablePicklist__mdt.object, with these contents.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fields>
<fullName>Picklist__c</fullName>
<externalId>false</externalId>
<label>Picklist</label>
<length>40</length>
<required>true</required>
<type>Text</type>
<unique>false</unique>
</fields>
<fields>
<fullName>SortOrder__c</fullName>
<externalId>false</externalId>
<label>Non-Alphabetical Sort Order</label>
<precision>3</precision>
<scale>0</scale>
<required>false</required>
<type>Number</type>
<unique>false</unique>
</fields>
<label>Reusable Picklist Option</label>
<pluralLabel>Reusable Picklist Options</pluralLabel>
</CustomObject>
To define the Mars picklist item, TravelApp deploys a file, named picklist1234__ReusablePicklistOption.Mars.md,
with these contents. This component file specifies types that apply to the ReusablePicklistOption__mdt custom fields.
<?xml version="1.0" encoding="UTF-8"?>
<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<label>Mars</label>
<values>
<field>picklist1234__Picklist__c</field>
<value xsi:type="xsd:string">Planets</value>
</values>
<values>
<field>picklist1234__SortOrder__c</field>
<value xsi:type="xsd:int">4</value>
</values>
</CustomMetadata>
To define the Motel6 picklist item, TravelApp deploys a file, named
picklist1234__ReusablePicklistOption.Motel6.md, with these contents.
<?xml version="1.0" encoding="UTF-8"?>
<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
574
CustomMetadataMetadata Types
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<label>Motel 6</label>
<values>
<field>picklist1234__Picklist__c</field>
<value xsi:type="xsd:string">Hotels</value>
</values>
</CustomMetadata>
Because the SortOrder__c field isnt required, this file doesnt require a value for SortOrder__c. Alternatively, the file could
have explicitly specified a value with xsi:nil to ensure that SortOrder__c was cleared of any previous value.
<?xml version="1.0" encoding="UTF-8"?>
<CustomMetadata xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<label>Motel 6</label>
<values>
<field>picklist1234__Picklist__c</field>
<value xsi:type="xsd:string">Hotels</value>
</values>
<values>
<field>picklist1234__SortOrder__c</field>
<value xsi:nil="true" />
</values>
</CustomMetadata>
This excerpt from a package.xml file illustrates the inclusion of custom metadata types and their namespaces in custom metadata
records names. Assume that Picklists R Uss namespace is picklist1234.
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>picklist1234__ReusablePicklist.Hotels</members>
<members>picklist1234__ReusablePicklist.Planets</members>
<members>picklist1234__ReusablePicklistOption.Bellagio</members>
<members>picklist1234__ReusablePicklistOption.Motel6</members>
<members>picklist1234__ReusablePicklistOption.Mercury</members>
<members>picklist1234__ReusablePicklistOption.Venus</members>
<members>picklist1234__ReusablePicklistOption.Earth</members>
<members>picklist1234__PicklistUsage.BookedHotel</members>
<members>
picklist1234__PicklistUsage.DestinationPlanetPL
</members>
<members>picklist1234__PicklistUsage.PlanetVisitedPl</members>
<name>CustomMetadata</name>
</types>
</package>
575
CustomMetadataMetadata Types
TravelApp, Inc.s package.xml file uses a wildcard to install custom metadata, as is shown in this excerpt from their package.xml
file. Unless you want to deploy or retrieve specific records, using a wildcard is easier than listing all of your custom metadata records in
your package.xml file.
<types>
<members>*</members>
<name>CustomMetadata</name>
</types>
If the custom metadata is from a managed package, the name after the dot in the package.xml filebetween the two dots in the
file nameis qualified by the managed packages namespace. For example, assuming TravelApp uses the namespace travelApp1234,
the first member element in the TravelApp package.xml file appears to Galactic Tours as:
<members>picklist1234__ReusablePicklist.travelApp1234__Hotels</members>
Heres another example. In this case, we have an instance of custom metadata record, whose EntityDefinition field points to a custom
object named SalesAgreement__c. The FieldDefinition field points to the custom field CustomerReference__c on
SalesAgreement__c. You can deploy new custom metadata records and retrieve existing ones with EntityDefinition and
FieldDefinition fields using qualified API names of custom and standard entities and their fields.
<?xml version="1.0" encoding="UTF-8"?><values>
<field>EntityDefintionField__c</field>
<value xsi:type="xsd:string">v1__SalesAgreement__c</value>
</values>
<values>
<field>FieldDefinitionField__c</field>
<value xsi:type="xsd:string">v1__CustomerReference__c</value>
</values>
Usage
When specifying the value field in the CustomMetadataValue subtype, specify an appropriately typed object thats based on your
field type definition. In declarative metadata definitions for CustomMetadataValue, use the xsi:type attribute of the value element.
For example, to specify a boolean value: <value xsi:type="xsd:boolean">true</value>. Valid xsi:type attributes
are:
Custom field definitionCustom metadata value
Checkboxxsi:type="xsd:boolean"
Datexsi:type="xsd:date"
Date/Timexsi:type="xsd:dateTime"
Picklistxsi:type="xsd:picklist"
Textxsi:type="xsd:string"
Phonexsi:type="xsd:string"
TextAreaxsi:type="xsd:string"
URLxsi:type="xsd:string"
Emailxsi:type="xsd:string"
576
CustomMetadataMetadata Types
Custom field definitionCustom metadata value
Number/Percent, with scale equal to 0xsi:type="xsd:int"
Number/Percent, with scale not equal to 0xsi:type="xsd:double"
You can also omit the xsi:type attribute. For example, <value>true</value>.
Although this attribute must be specified for any CustomMetadataValue, you can use an element with the xsi:nil attribute set to
true to explicitly set the fields value to null. For example, <value xsi:nil="true"/>.
Using null field values differs from leaving out the CustomMetadataValue for a particular field entirely. If you leave out the
CustomMetadataValue, the value of the field doesnt change. The fields value is null for newly deployed custom metadata records
and left at its previous value for updated custom metadata records.
When you retrieve CustomMetadataValue objects, the value field of the returned object holds a value of the correct type, specified
by xsi:type in the case of declarative metadata definitions.
Custom number fields are stored as double values. When you retrieve a value from a Number type field with a scale 0, you will see a
decimal number. For example, if the value in UI is 1234567, a query through the API returns 1234567.0.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CustomNotificationType
Represents the metadata associated with a custom notification type.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
For more information about custom notifications, see Custom Notification Actions. This type extends the Metadata metadata type and
inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
The file suffix is .notiftype for the notification type definition. Notification types are stored in the notificationtypes
directory of the corresponding package directory.
Version
CustomNotificationType components are available in API version 46.0 and later.
577
CustomNotificationTypeMetadata Types
Fields
DescriptionField TypeField Name
Required. Specifies a notification type name. Maximum number of
characters: 80.
stringcustomNotifTypeName
Specifies a general description of the notification type, which is displayed
with the notification type name. Maximum number of characters: 255.
stringdescription
Required. Indicates whether the desktop delivery channel is enabled
(true) or not (false).
booleandesktop
Required. Specifies the label for the notification type.stringmasterLabel
Required. Indicates whether the mobile delivery channel is enabled
(true) or not (false).
booleanmobile
Reserved for future use.booleanslack
Declarative Metadata Sample Definition
The following is a definition of a custom notification type that is enabled for desktop and mobile.
<CustomNotificationType xmlns="http://soap.sforce.com/2006/04/metadata">
<customNotifTypeName>Custom Notification</customNotifTypeName>
<desktop>true</desktop>
<masterLabel>Custom Notification</masterLabel>
<mobile>true</mobile>
</CustomNotificationType>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
CustomObject
Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.
This type extends the Metadata metadata type and inherits its fullName field.
Specify all relevant fields when you create or update a custom object. You cant update a single field on the object. For more information
about custom objects, see Store Information Thats Unique to Your Organization in Salesforce Help.
You can also use this metadata type to work with customizations of standard objects, such as accounts. For an example, see the section
on Standard Objects in Sample package.xml Manifest Files in the Metadata API Developer Guide
All metadata components have a fullName field, which must be fully specified for any custom object.
578
CustomObjectMetadata Types
For example, the following are fully specified names for a standard object and a custom object respectively:
Account
MyCustomObject__c
And the following is a fully specified name for an external object:
MyExternalObject__x
For sample Java code that creates a custom object, see Step 3: Walk Through the Java Sample Code on page 16.
Declarative Metadata File Suffix and Directory Location
Custom object names are automatically appended with __c. The file suffix is .object for the custom object or standard object file.
External object names are automatically appended with __x. The file suffix is .object for the external object file.
Custom, standard, and external objects are stored in the objects folder in the corresponding package directory.
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Version
Custom objects are available in API version 10.0 and later. External objects are available in API version 32.0 and later.
Fields
Unless otherwise noted, all fields are creatable, filterable, and nillable.
DescriptionField TypeField Name
A list of action overrides on the object.
This field is available in API version 18.0 and later.
ActionOverride[]actionOverrides
Indicates whether records of this custom object type can be
added to Chatter groups.
This field is available in API version 34.0 and later.
booleanallowInChatterGroups
A list of business processes associated with the object.
This field is available in API version 17.0 and later.
BusinessProcess[]businessProcesses
The compact layout assigned to the object.
This field is available in API version 29.0 and later. This field is
available for external objects in API version 42.0 and later.
stringcompactLayoutAssignment
A list of compact layouts associated with the object.
This field is available in API version 29.0 and later. This field is
available for external objects in API version 42.0 and later.
CompactLayout[]compactLayouts
579
CustomObjectMetadata Types
DescriptionField TypeField Name
The s-control that contains the help content if the object has
customized help content. This field is available in API version
14.0 and later.
stringcustomHelp
The Visualforce page that contains the help content if the
object has customized help content. This field is available in
API version 16.0 and later.
stringcustomHelpPage
When this field is present, this component isnt a custom
object, but a custom setting. This field returns the type of
custom setting. The following string values are valid:
CustomSettingsType
(enumeration of type string)
customSettingsType
Liststatic data stored in cache, accessed as part of
your application, and available org-wide.
Hierarchystatic data stored in cache, accessed as
part of your application, and available based on a hierarchy
of user, profile, or org. This value is the default.
This field is available in API version 17.0 and later.
When this field is present, this component isnt a custom
object, but a custom setting. This field returns the visibility of
the custom setting. The following string values are valid:
CustomSettingsVisibility
(enumeration of type string)
customSettingsVisibility
Publicif the custom setting is packaged, its
accessible to all subscribing orgs.
Protectedif the custom setting is in a managed
package, its accessible only to the developer org.
Subscribing orgs cant access it. This value is the default.
This field is available in API versions 17.0 through 33.0. In
versions 34.0 and later, use the visibility field instead
of this field.
Removed in API version 47.0.stringdataStewardGroup
Removed in API version 47.0.stringdataStewardUser
Indicates the deployment status of the object.DeploymentStatus
(enumeration of type string)
deploymentStatus
Reserved for future use.booleandeprecated
A description of the object. Maximum of 1000 characters.stringdescription
Indicates whether the object is enabled for activities (true)
or not (false).
Not available for external objects.
booleanenableActivities
580
CustomObjectMetadata Types
DescriptionField TypeField Name
When enabled, the object is classified as an Enterprise
Application object for usage tracking.
When enabled, enableSharing and
enableStreamingApi must also be enabled.
booleanenableBulkApi
This field is available in API version 31.0 and later.
Indicates whether the object is enabled for divisions (true)
or not (false). See Division in the Salesforce Object Reference.
.
booleanenableDivisions
Indicates whether the object is enabled for enhanced lookups
(true) or not (false). In API version 28.0 and later, this
booleanenableEnhancedLookup
field can also be used for the Account, Contact, and User
objects. Enhanced lookups provide an updated lookup dialog
interface that lets users filter, sort, and page through search
results and customize search result columns. For more
information about enhanced lookups, see Enable Enhanced
Lookups in Salesforce Help.
Indicates whether the object is enabled for feed tracking
(true) or not (false). For more information, see Customize
Chatter Feed Tracking in Salesforce Help.
This field is available in API version 18.0 and later.
booleanenableFeeds
Indicates whether the object is enabled for history tracking
(true) or not (false). Also available for standard objects
booleanenableHistory
in API version 29.0 and later. History tracking on the Account
object includes person account history tracking.
Indicates whether this object is licensed by Salesforce and
users require a permission set license for it (true) or not
(false). This field is available in API version 45.0 and later.
booleanenableLicensing
Indicates whether the object is enabled for reports (true)
or not (false). Support for external objects is available in
API version 38.0 and later.
booleanenableReports
Indicates whether the objects records can be found via SOSL
and Salesforce searches. Corresponds to Allow Search
in the user interface.
By default, search is disabled for new custom objects. This
field is available for custom objects in API version 35.0 and
later.
booleanenableSearch
By default, search is disabled for new external objects.
However, you can validate and sync an external data source
to automatically create external objects. Syncing always
enables search on the external object when search is enabled
581
CustomObjectMetadata Types
DescriptionField TypeField Name
on the external data source, and vice versa.This field is
available for external objects in API version 37.0 and later.
When enabled, the object is classified as an Enterprise
Application object for usage tracking.
When enabled, enableBulkApi and
enableStreamingApi must also be enabled.
booleanenableSharing
This field is available in API version 31.0 and later.
When enabled, the object is classified as an Enterprise
Application object for usage tracking.
When enabled, enableBulkApi and enableSharing
must also be enabled.
booleanenableStreamingApi
This field is available in API version 31.0 and later.
This field applies only to platform events. Indicates the event
type. The values are:
PlatformEventType
(enumeration of type string)
eventType
HighVolumeFor a high-volume platform event.
StandardVolumeDeprecated. Creating a platform
event with this event type is supported and returns an
error.
This field is available in API version 41.0 and later.
Required and available for external objects only. The name of
the external data source that stores the data for the external
stringexternalDataSource
object. The data source is represented by the
ExternalDataSource component.
This field is available in API version 32.0 and later.
Required and available for external objects only. The name of
the table in the external data source that contains the data
for the external object.
This field is available in API version 32.0 and later.
stringexternalName
Available for Salesforce Connect external objects only.
Corresponds to Display URL Reference Field
in the user interface.
The external objects Display URL standard field values
are automatically generated from the external system. For
stringexternalRepository
example, with the OData 2.0 adapter for Salesforce Connect,
the value is based on the link href thats defined on the
OData producer. You can override the default values with the
values of a custom field on the same external object. Select
582
CustomObjectMetadata Types
DescriptionField TypeField Name
the field name, and make sure that the custom fields values
are valid URLs.
This field is available in API version 32.0 and later.
Indicates the external org-wide defaults for the object, which
determines the access level for external users.
SharingModel (enumeration
of type string)
externalSharingModel
This field is available in API version 31.0 and later.
Represents one or more fields in the object.CustomField[]fields
Defines the field set that exists on this object.FieldSetfieldSets
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating,
stringfullName
updating, or deleting. See createMetadata() to see an
example of this field specified for a call.
This value can't be null.
Indicates the gender of the noun that represents the object.
This is used for languages where words need different
treatment depending on their gender.
Gendergender
This field supports relationship groups, a feature available only
with Salesforce for Wealth Management. For more
booleanhousehold
information, see Salesforce for Wealth Management in
Salesforce Help.
Reserved for future use.HistoryRetentionPolicyhistoryRetentionPolicy
Defines the index for a custom big object.Index[]indexes
Label that represents the object throughout the Salesforce
user interface.
We recommend that you make object labels unique across
all standard, custom, and external objects in the org.
stringlabel
Represents one or more list views associated with the object.ListView[]listViews
Represents the metadata associated with a lookup filter. This
metadata type is used to create, update, or delete lookup filter
NamedFilter[]namedFilter
definitions. This component has been removed as of API
version 30.0 and is only available in previous API versions. The
metadata associated with a lookup filter is now represented
by the lookupFilter field in the CustomField component.
This field is available in API version 17.0 and later.
This field has been removed as of API version 30.0 and is only
available in prior versions. The metadata associated with a
583
CustomObjectMetadata Types
DescriptionField TypeField Name
lookup filter is now represented by the lookupFilter field in
the CustomField component.
Required for custom objects. On external objects, the name
field can instead be specified by setting isNameField to
true in the CustomField component.
The field that this object's name is stored in. Every custom
object must have a name, usually a string or autonumber.
CustomFieldnameField
Identifier for the custom object record. This name appears in
page layouts, related lists, lookup dialogs, search results, and
key lists on tab home pages. By default, this field is added to
the custom object page layout as a required field.
Plural version of the label value.
Custom objects require a plural version of the label to ensure
that object names are localizable.
stringpluralLabel
Represents a user profiles search results layouts for an object.
With profile-specific layouts, each user profile can have a
ProfileSearchLayoutsprofileSearchLayouts
different search results layout for an object. Available in API
version 47.0 and later.
This field applies only to platform events. Indicates when
platform event messages are published in a Lightning Platform
PlatformEventPublishBehavior
(enumeration of type string)
publishBehavior
transaction. This field applies to event messages published
through the Lightning Platform, such as Apex, Process Builder,
and Flow Builder, but not through Salesforce APIs. Valid values
are:
PublishAfterCommitThe event message is
published only after a transaction commits successfully.
If the transaction fails, the event message isn't published.
PublishImmediatelyThe event message is
published when the publish call executes, regardless of
whether the transaction succeeds.
If you dont specify this field, the default value used is
PublishImmediately.
This field is available in API version 46.0 and later.
An array of one or more record types defined for this object.RecordType[]recordTypes
Indicates whether the record type is enabled for feed tracking
(true) or not (false). To set this field to true, the
booleanrecordTypeTrackFeedHistory
enableFeeds field on the associated CustomObject must
also be true. For more information, see Customize Chatter
Feed Tracking in Salesforce Help.
This field is available in API version 19.0 and later.
584
CustomObjectMetadata Types
DescriptionField TypeField Name
Indicates whether history tracking is enabled for this record
type (true) or not (false). To set
booleanrecordTypeTrackHistory
recordTypeTrackHistory to true, the
enableHistory field on the associated custom object
must also be true.
This field is available in API version 19.0 and later.
The Search Layouts related list information for the object.SearchLayoutssearchLayouts
Indicates the org-wide defaults for the object.SharingModel(enumeration
of type string)
sharingModel
Note: Using API version 29.0 and earlier, this field is
read-only and cant be set using the Metadata API; you
must use the Salesforce user interface. Using API
version 30.0 and later, you can set this field for internal
users using the API and the Salesforce user interface.
The reasons why the object is being shared.SharingReason[]sharingReasons
A list of custom sharing recalculations associated with the
object.
SharingRecalculation[]sharingRecalculations
Indicates whether the noun starts with a vowel, consonant,
or is a special character. This is used for languages where
StartsWith (enumeration of
type string)
startsWith
words need different treatment depending on the first
character. Valid values are listed in StartsWith.
An array of one or more validation rules on the object.ValidationRule[]validationRules
This field returns the visibility of the custom object, custom
setting, or custom metadata type. The following values are
valid.
SetupObjectVisibility
(enumeration of type string)
visibility
PublicIf the custom object, custom setting, or
custom metadata type is packaged, its accessible to all
subscribing orgs.
ProtectedIf the custom object, custom setting, or
custom metadata type is in a managed package, its
accessible only to the developer org. Subscribing orgs
cant access it.
PackageProtected (Custom metadata type only)
If the custom metadata type is PackageProtected,
its only accessible by the custom Apex code in the
package. Use this value to secure secrets such as API
access keys and security tokens. Available in API version
47.0 and later.
The default value is Public.
585
CustomObjectMetadata Types
DescriptionField TypeField Name
This field is available in API version 34.0 and later. For custom
settings, this field replaces the
customSettingsVisibility field.
An array of one or more weblinks defined for the object.WebLink[]webLinks
MktDataModelAttributes
This type is a Data Cloud subtype of CustomObject.
DescriptionField TypeField Name
Was this object added as a result of the Customer or as part of a Standard
Taxonomy.
DefinitionCreationTypecreationType
When the model is a Standard Data Cloud model, a Reference to the Data
Model from which this Object was started. Currently only supports the following
stringdataModelTaxonomy
strings: if the creationType is Standard, it must be Reference, if creationType is
Custom, it must be View.
A description of the object. This field can contain a maximum of 521 characters.
This field is available in API version 55.0 and later.
stringdescription
True indicates that the Data Model Object is enabled.booleanisEnabled
True indicates that the Data Model Object can be used as a target for
segmentation.
booleanisSegmentable
Indicates whether the Data Model Object is used for metrics (true) or not
(false). This field is used to include additional attributes on the objects that
booleanisUsedForMetrics
are not present in the Data Model Object POJO. This field is available in API
version 55.0 and later.
Reference to the Object Category. For modeling, the value is Profile,
Engagement, or Other.
stringobjectCategory
When this is a Standard Object, the Entity Group of the Object from the
Reference Model.
stringreferenceEntityGroup
When this is a Standard Object, the Name of the Object from the Reference
Model.
stringreferenceEntityName
When this is a Standard Object, the Subject Area of the Object from the
Reference Model.
stringreferenceEntitySubjectArea
MktDataLakeAttributes
Represents how Data Cloud receives the data. MktDataLakeAttributes is a Data Cloud subtype of CustomObject. Its components are
available in API version 50.0 and later.
586
CustomObjectMetadata Types
Special Access Rules
You need an org with Data Cloud license to access this object.
DescriptionField Name
Field Type
DefinitionCreationType enumeration of type string
creationType
Description
Indicates how this object is added.
Values are:
Activation_Audience
Bridge
Curated
Custom
Derived
Ml_Prediction
Segment_Membership
Standard
System
Field Type
boolean
isEnabled
Description
Indicates whether the Landing Object is enabled.
Field Type
string
objectCategory
Description
Reference to the Object Category. For landing object, these would be Profile, Behavioral,
Other.
Declarative Metadata Additional Components
CustomObject definitions can include additional components defined in the custom object for declarative metadata. The following
components are defined in the CustomObject:
ActionOverride
BusinessProcess
CompactLayout
CustomField
FieldSet
HistoryRetentionPolicy
587
CustomObjectMetadata Types
ListView
RecordType
SearchLayouts
SharingReason
SharingRecalculation
ValidationRule
WebLink
Declarative Metadata Sample Definition
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<deploymentStatus>Deployed</deploymentStatus>
<description>test object with one field for eclipse ide testing</description>
<fields>
<fullName>Comments__c</fullName>
<description>add your comments about this object here</description>
<inlineHelpText>This field contains comments made about this object</inlineHelpText>
<label>Comments</label>
<length>32000</length>
<type>LongTextArea</type>
<visibleLines>30</visibleLines>
</fields>
<label>MyFirstObject</label>
<nameField>
<label>MyFirstObject Name</label>
<type>Text</type>
</nameField>
<pluralLabel>MyFirstObjects</pluralLabel>
<sharingModel>ReadWrite</sharingModel>
</CustomObject>
The following is the metadata definition of an external object for Salesforce Connect.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>CancelEdit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Delete</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Edit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Follow</actionName>
<type>Default</type>
588
CustomObjectMetadata Types
</actionOverrides>
<actionOverrides>
<actionName>List</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>New</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>SaveEdit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Tab</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>View</actionName>
<type>Default</type>
</actionOverrides>
<deploymentStatus>InDevelopment</deploymentStatus>
<description>Products</description>
<enableFeeds>false</enableFeeds>
<externalDataSource>OData</externalDataSource>
<externalIndexAvailable>false</externalIndexAvailable>
<externalName>Products</externalName>
<fields>
<fullName>DiscontinuedDate__c</fullName>
<description>DiscontinuedDate</description>
<externalDeveloperName>DiscontinuedDate</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>DiscontinuedDate</label>
<required>false</required>
<type>DateTime</type>
</fields>
<fields>
<fullName>ID__c</fullName>
<description>ID</description>
<externalDeveloperName>ID</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>ID</label>
<precision>18</precision>
<required>false</required>
<scale>0</scale>
<type>Number</type>
<unique>false</unique>
</fields>
589
CustomObjectMetadata Types
<fields>
<fullName>Name__c</fullName>
<description>Name</description>
<externalDeveloperName>Name</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>Name</label>
<length>128</length>
<required>false</required>
<type>Text</type>
<unique>false</unique>
</fields>
<fields>
<fullName>Price__c</fullName>
<description>Price</description>
<externalDeveloperName>Price</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>Price</label>
<precision>16</precision>
<required>false</required>
<scale>2</scale>
<type>Number</type>
<unique>false</unique>
</fields>
<fields>
<fullName>Products__c</fullName>
<externalDeveloperName>Products</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>Products</label>
<length>20</length>
<referenceTo>Products__x</referenceTo>
<relationshipLabel>Products</relationshipLabel>
<relationshipName>Products</relationshipName>
<type>ExternalLookup</type>
</fields>
<fields>
<fullName>Rating__c</fullName>
<description>Rating</description>
<externalDeveloperName>Rating</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>Rating</label>
<precision>18</precision>
<required>false</required>
590
CustomObjectMetadata Types
<scale>0</scale>
<type>Number</type>
<unique>false</unique>
</fields>
<fields>
<fullName>ReleaseDate__c</fullName>
<description>ReleaseDate</description>
<externalDeveloperName>ReleaseDate</externalDeveloperName>
<externalId>false</externalId>
<isFilteringDisabled>false</isFilteringDisabled>
<isNameField>false</isNameField>
<isSortingDisabled>false</isSortingDisabled>
<label>ReleaseDate</label>
<required>false</required>
<type>DateTime</type>
</fields>
<label>Products</label>
<pluralLabel>Products</pluralLabel>
<searchLayouts>
<customTabListAdditionalFields>ExternalId</customTabListAdditionalFields>
<lookupDialogsAdditionalFields>ExternalId</lookupDialogsAdditionalFields>
<lookupPhoneDialogsAdditionalFields>ExternalId</lookupPhoneDialogsAdditionalFields>
<searchResultsAdditionalFields>ExternalId</searchResultsAdditionalFields>
<searchResultsAdditionalFields>DisplayUrl</searchResultsAdditionalFields>
<searchResultsAdditionalFields>ID__c</searchResultsAdditionalFields>
</searchLayouts>
</CustomObject>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file for Field Sets and Record Types
but not for other components. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
1. ActionOverride
Represents an action override on a standard or custom object. Use it to create, update, edit, or delete action overrides. You can access
ActionOverride only by accessing its encompassing CustomObject.
2. BusinessProcess
The BusinessProcess metadata type enables you to display different picklist values for users based on their profile.
3. CompactLayout
Represents the metadata associated with a compact layout. This type extends the Metadata metadata type and inherits its fullName
field.
4. CustomField
Represents the metadata associated with a field. Use this metadata type to create, update, or delete custom field definitions on
standard, custom, and external objects or standard field definitions on standard objects.
5. FieldSet
Represents a field set. A field set is a grouping of fields. For example, you could have a field set that contains fields describing a user's
first name, middle name, last name, and business title.
591
CustomObjectMetadata Types
6. HistoryRetentionPolicy
Represents the policy for archiving field history data. When you set a policy, you specify the number of months that you want to
keep field history in Salesforce before archiving it. By default, when Field Audit Trail is enabled, all field history is retained.
7. Index
Represents an index defined within a custom big object. Use this metadata type to define the composite primary key (index) for a
custom big object.This type extends the Metadata metadata type and inherits its fullName field.
8. ListView
ListView allows you to see a filtered list of records, such as contacts, accounts, or custom objects.
9. NamedFilter
Represents the metadata associated with a lookup filter. This metadata type is used to create, update, or delete lookup filter definitions.
This component has been removed as of API version 30.0 and is only available in previous API versions. The metadata associated
with a lookup filter is now represented by the lookupFilter field in the CustomField component.
10. Picklist (Including Dependent Picklist)
Deprecated. Represents a picklist (or dependent picklist) definition for a custom field in a custom object or a custom or standard
field in a standard object, such as an account.
11. ProfileSearchLayouts
Represents a user profiles search results layouts for an object. ProfileSearchLayouts are similar to SearchLayouts.
However, with profile-specific layouts, each user profile can have a different search results layout for an object.
12. RecordType
Represents the metadata associated with a record type. Record types let you offer different business processes, picklist values, and
page layouts to different users. Use this metadata type to create, update, or delete record type definitions for a custom object.
13. SearchLayouts
Represents the metadata associated with the search layouts for an object. You can customize which fields to display for users in
search results, search filter fields, lookup dialogs, and recent record lists on tab home pages. You can access SearchLayouts only by
accessing its encompassing CustomObject.
14. SharingReason
Represents an Apex sharing reason, which is used to indicate why sharing was implemented for a custom object. Apex managed
sharing allows developers to use Apex to programmatically share custom objects. When you use Apex managed sharing to share a
custom object, only users with the Modify All Data permission can add or change the sharing on the custom object's record, and
the sharing access is maintained across record owner changes.
15. SharingRecalculation
Represents Apex classes that recalculate the Apex managed sharing for a specific custom object.
16. ValidationRule
Represents a validation rule, which is used to verify that the data a user enters in a record is valid and can be saved. A validation rule
contains a formula or expression that evaluates the data in one or more fields and returns a value of true or false. Validation
rules also include an error message that your client application can display to the user when the rule returns a value of true due
to invalid data.
17. WebLink
Represents a custom button or link defined in a custom object.
592
CustomObjectMetadata Types
18. Metadata Field Types
These field types extend the field types described in the Salesforce Object Reference.
SEE ALSO:
CustomField
Metadata
Picklist (Including Dependent Picklist)
SearchLayouts
WebLink
CustomObjectTranslation
ListView
CompactLayout
ActionOverride
Represents an action override on a standard or custom object. Use it to create, update, edit, or delete action overrides. You can access
ActionOverride only by accessing its encompassing CustomObject.
Declarative Metadata File Suffix and Directory Location
Action overrides are defined as part of a standard or custom object.
Version
Action overrides are available in API version 18.0 and later. As of Summer 13, action overrides can be applied to both standard and
custom objects. Previously, action overrides only applied to custom objects.
Fields
Unless otherwise noted, all fields are creatable, filterable, and nillable.
DescriptionField TypeField Name
Required. The possible values are the same as the actions you can override:stringactionName
accept
clone
delete
edit
list
new
tab
view
Any comments you want associated with the override.stringcomment
593
ActionOverrideMetadata Types
DescriptionField TypeField Name
Set this field if type is set to flexipage, lightningcomponent,
scontrol, or visualforce. It refers to the name of the Lightning
stringcontent
page, Lightning component, s-control, or Visualforce page to use as the
override. To reference installed components, use this format:
Component_namespace__Component_name.
The size of the page being overridden.
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.
FormFactor (enumeration of
type string)
formFactor
The Large value represents the Lightning Experience desktop
environment and is valid only for the flexipage and
lightningcomponent types. The Small value represents the
Salesforce mobile app on a phone or tablet. The Medium value is
reserved for future use. The null value (which is the same as specifying
no value) represents Salesforce Classic.
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.
Lightning component overrides return different FormFactor values
depending on the API version used.
In API version 41.0 and earlier, Lightning component overrides return
only the null value (no value), representing the Salesforce Classic
environment.
In API version 42.0, if you specify different Lightning component
overrides for Lightning Experience and mobile, one component is
selected randomly for both overrides and its FormFactor value
is returned. If theres a conflict between Lightning components, and
a Visualforce page override is also specified for Salesforce Classic, the
Visualforce page takes precedence.
In API version 43.0 and later, a Lightning component override for
Lightning Experience returns the Large value and a Lightning
component override for mobile returns the Small value, as
expected.
Set this field to true if you prefer that any new records created by this
action override arent forwarded to the record type selection page. This
booleanskipRecordTypeSelect
field is only valid if the actionName is a create type (like new), and
type is set to visualforce. This field is available in API version 21.0
and later.
Required. Represents the type of action override. Valid values are described
in ActionOverrideType.
ActionOverrideType
(enumeration of type string)
type
ActionOverrideType
ActionOverrideType on page 594 is an enumeration of type string that defines which kind of action override to use. The valid values are:
594
ActionOverrideMetadata Types
defaultThe override uses a custom override provided by an installed package. If there isnt one available, the standard Salesforce
behavior is used.
flexipageThe override uses behavior from a Lightning page, and is only valid for the View action in Lightning Experience.
lightningcomponentThe override uses behavior from a Lightning component.
scontrolThe override uses behavior from an s-control.
standardThe override uses regular Salesforce behavior.
visualforceThe override uses behavior from a Visualforce page.
Note: Existing s-controls can be used as overrides for Salesforce Classic under certain conditions. However, s-controls have been
deprecated since the Spring 09 release. We recommend using Visualforce pages instead.
Usage
You can't delete ActionOverrides by deploying with destructiveChange.xml. To delete an ActionOverride, retrieve the
CustomObject. In the definition file, find the <ActionOverrides> section, and remove the <content> row. Then, change the
<type> value in that same section to Default. Do this for every override you want to reset. After making the changes, rezip the
folder and deploy.
You can remove one override at a time each with its own deploy, or you can remove multiple overrides in a single deploy. However, we
recommend that you do a fresh retrieve every time you want to delete a new override. Dont use a previously retrieved file.
Org default flexipage override assignment metadata cant be retrieved from a managed package.
Declarative Metadata Sample Definitions
You can define action overrides, as in these examples for the Edit action.
A Visualforce page override for Salesforce Classic:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>edit</actionName>
<type>visualforce</type>
<content>myEditVFPage</content>
<comment>This edit action is a lot safer.</comment>
</actionOverrides>
</CustomObject
This example includes no value for FormFactor. Using no value is the same as using the null value, which represents Salesforce Classic.
A Lightning component override for Lightning Experience:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>edit</actionName>
<type>lightningcomponent</type>
<content>myEditLightningComponent</content>
<formFactor>Large</formFactor>
<comment>This edit action is a lot safer.</comment>
</actionOverrides>
</CustomObject>
595
ActionOverrideMetadata Types
A Lightning component override for the Salesforce mobile app:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>edit</actionName>
<type>lightningcomponent</type>
<content>myEditLightningComponent</content>
<formFactor>Small</formFactor>
<comment>This edit action is a lot safer.</comment>
</actionOverrides>
</CustomObject>
When overrides are included in a managed package, the overrides are represented as default type in the metadata. Calling retrieve()
presents the following:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>edit</actionName>
<type>default</type>
</actionOverrides>
</CustomObject>
If you subscribe to a managed package with default overrides, you can replace the default override behavior by editing the XML. For
example, to replace the Visualforce page override with the Salesforce standard page for Salesforce Classic, use:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>edit</actionName>
<type>standard</type>
</actionOverrides>
</CustomObject>
To set a Lightning page action override on the View standard button in Lightning Experience, use:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>View</actionName>
<content>myLightningPage</content>
<formFactor>Large</formFactor>
<type>flexipage</type>
</actionOverrides>
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
BusinessProcess
The BusinessProcess metadata type enables you to display different picklist values for users based on their profile.
596
BusinessProcessMetadata Types
Multiple business processes allow you to track separate sales, support, and lead lifecycles. A sales, support, lead, or solution process is
assigned to a record type. The record type determines the user profiles that are associated with the business process.
Important: Dont use business processes as an access control mechanism. Profile assignment governs create and edit access for
business process but doesnt govern read access. For example, a user assigned to a profile that isn't enabled for a particular business
process can't create or edit it, but they can read the business process record.
Users with access to a business process can read all information it stores. Dont store sensitive information in the business process
description, name, or picklist values. Instead, store sensitive information in a separate object or fields to which youve applied
appropriate access controls.
Declarative Metadata File Suffix and Directory Location
Business processes are defined as part of the custom object or standard object definition. See CustomObject for more information.
Version
BusinessProcess on page 596 components are available in API version 17.0 and later.
Special Access Rules
Access to this object requires the View Setup and Configuration permission.
Fields
DescriptionField TypeField
Description for the business process.stringdescription
Required. The name used as a unique identifier for API access.
This field is inherited from the Metadata component, but the
stringfullName
string it contains is created differently than the fullName
strings for other types. For a fullName string BusinessProcess
on page 596, the fullName is created combining the Entity
Name and Business Process Name. For example, for a business
process called Bulk Orders for opportunities, the fullName
would be Opportunity.Bulk Orders.
Indicates if the business process is active (true) or not
(false).
booleanisActive
The namespace of the developer organization where the
package was created.
stringnamespacePrefix
A list of picklist values associated with this business process.PicklistValue[]values
597
BusinessProcessMetadata Types
Declarative Metadata Sample Definition
The following is a sample XML definition of a lead business process.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
....
<businessProcesses>
<fullName>HardwareLeadProcess</fullName>
<description>Lead Process for hardware division</description>
<isActive>true</isActive>
<values>
<fullName>Closed - Converted</fullName>
<default>false</default>
</values>
<values>
<fullName>CustomLeadStep1</fullName>
<default>false</default>
</values>
<values>
<fullName>CustomLeadStep2</fullName>
<default>false</default>
</values>
<values>
<fullName>Open - Not Contacted</fullName>
<default>false</default>
</values>
<values>
<fullName>Working - Contacted</fullName>
<default>true</default>
</values>
</businessProcesses>
....
</CustomObject>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file only when a RecordType on page
631 is specified. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Salesforce DX Developer Guide: BusinessProcessGroup
CustomObject
CompactLayout
Represents the metadata associated with a compact layout. This type extends the Metadata metadata type and inherits its fullName
field.
A compact layout displays a records key fields at a glance in the Salesforce mobile app, Lightning Experience, and in the Outlook and
Gmail integrations.
Compact layouts support all field types except:
598
CompactLayoutMetadata Types
text area
long text area
rich text area
multi-select picklist
For more information on compact layouts, see Compact Layouts in the Salesforce Help.
File Suffix and Directory Location
Compact layouts are defined as part of the custom object, standard object, or external object definition. See CustomObject for more
information.
Version
CompactLayout components are available in API version 29.0 and later. CompactLayout components are available for external objects
in API version 42.0 and later.
Fields
DescriptionField TypeField Name
The fields assigned to the compact layout. Their order represents the
prioritization given to them when defining the compact layout.
stringfields
Label that represents the object throughout the Salesforce user interface.stringlabel
Declarative Metadata Sample Definition
The following is an example of a CompactLayout component:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<actionOverrides>
<actionName>Accept</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Clone</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Delete</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Edit</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>List</actionName>
<type>Default</type>
</actionOverrides>
599
CompactLayoutMetadata Types
<actionOverrides>
<actionName>New</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>Tab</actionName>
<type>Default</type>
</actionOverrides>
<actionOverrides>
<actionName>View</actionName>
<type>Default</type>
</actionOverrides>
<compactLayouts>
<fullName>testCompactLayout</fullName>
<fields>textfield__c</fields>
<label>testCompactLayoutLabel</label>
</compactLayouts>
<compactLayoutAssignment>SYSTEM</compactLayoutAssignment>
<deploymentStatus>Deployed</deploymentStatus>
<enableActivities>false</enableActivities>
<enableFeeds>false</enableFeeds>
<enableHistory>false</enableHistory>
<enableReports>false</enableReports>
<fields>
<fullName>textfield__c</fullName>
<externalId>false</externalId>
<label>textfield</label>
<length>255</length>
<required>false</required>
<type>Text</type>
<unique>false</unique>
</fields>
<label>customObj</label>
<nameField>
<label>customObj Name</label>
<type>Text</type>
</nameField>
<pluralLabel>customObjs</pluralLabel>
<recordTypes>
<fullName>RT1</fullName>
<active>true</active>
<label>RT1</label>
<compactLayoutAssignment>testCompactLayout</compactLayoutAssignment>
</recordTypes>
<recordTypes>
<fullName>RT2</fullName>
<active>true</active>
<label>RT2</label>
</recordTypes>
<searchLayouts/>
<sharingModel>ReadWrite</sharingModel>
</CustomObject>
600
CompactLayoutMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CustomField
Represents the metadata associated with a field. Use this metadata type to create, update, or delete custom field definitions on standard,
custom, and external objects or standard field definitions on standard objects.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Only standard fields that you can customize are supported, that is, standard fields to which you can add help text or enable history
tracking or Chatter feed tracking. Other standard fields aren't supported, including system fields (such as CreatedById or
LastModifiedDate) and autonumber fields. Some standard picklist fields arent supported. See Unsupported Metadata Types. By
default, a custom object doesnt have any standard fields that are customizable.
Specify the full name whenever you create or update a field. For example, a custom field on a custom object:
MyCustomObject__c.MyCustomField__c
An example of a custom field on a standard object:
Account.MyAcctCustomField__c
An example of a standard field on a standard object:
Account.Phone
An example of a custom field on an external object:
MyExternalObject__x.MyCustomField__c
Note: In Metadata API, external objects are represented by the CustomObject metadata type.
These custom field types arent available for external objects.
Auto-number (available only with the cross-org adapter for Salesforce Connect)
Currency (available only with the cross-org adapter for Salesforce Connect)
Formula
Location
Master-detail relationship
Picklist and multi-select picklist (available only with the cross-org adapter for Salesforce Connect)
Roll-up summary
Text (encrypted)
Text Area (rich)
Declarative Metadata File Suffix and Directory Location
Custom fields are user-defined fields and are part of the custom object or standard object definition. See CustomObject for more
information. Standard fields are predefined on standard objects.
601
CustomFieldMetadata Types
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Retrieving Fields on Custom or Standard Objects
When you retrieve a custom or standard object, you return everything associated with the object, except for standard fields that aren't
customizable. You can also retrieve only specific fields for an object by explicitly naming the object and fields in package.xml. The
following definition in package.xml creates the files objects/MyCustomObject__c.object and
objects/Account.object, each containing the requested field definitions.
<types>
<members>MyCustomObject__c.MyCustomField__c</members>
<members>Account.MyCustomAccountField__c</members>
<members>Account.Phone</members>
<name>CustomField</name>
</types>
Retrieving or Deploying Fields on Data Cloud Objects
When you retrieve a Data Cloud object, such as a DLO or DMO, not all of the custom field properties are returned. The properties returned
depend on the data type of the custom field.
When you deploy a Data Cloud object via Metadata API, in API version 60.0 or later, the call succeeds only if the properties are supported
by the custom field's data type. If you include a property that isn't supported by the field's data type, the API returns an error.
Data Cloud objects support these data types.
Boolean/Checkbox
Date
DateTime
Email
Lookup (DMOs only)
Number
Percent
Phone
Text
Url
Version
Custom and standard fields are available in API version 10.0 and later.
Fields
Unless otherwise noted, all fields are creatable, filterable, and nillable.
602
CustomFieldMetadata Types
DescriptionField TypeField Name
Indicates the group associated with this field. The business owner
group understands the importance of the fields data to your
referencebusinessOwnerGroup
company, and can be responsible for determining the minimum
security classification. This field is available in API version 45.0 and
later.
Indicates the person associated with this field. The business owner
understands the importance of the fields data to your company,
referencebusinessOwnerUser
and can be responsible for determining the minimum security
classification. This field is available in API version 45.0 and later.
Indicates whether the field is in use. Valid values include:picklistbusinessStatus
Active
DeprecateCandidate
Hidden
This field is available in API version 45.0 and later
Indicates whether the field is case-sensitive (true) or not
(false).
For indirect lookup relationship fields on external objects, this
attribute affects how this custom fields values are matched against
the values of the referenceTargetField.
booleancaseSensitive
Indicates the compliance acts, definitions, or regulations related
to the fields data. Valid values include:
multipicklistcomplianceGroup
CCPA
COPPA
GDPR
HIPAA
PCI
PII
This field is available in API version 47.0 and later.
Deprecated in the Spring 19 (API version 45.0) release.stringcustomDataType
If specified, represents the default value of the field. This field was
deprecated in API version 48.0.
stringdefaultValue
Provides deletion options for lookup relationships. Valid values are:DeleteConstraint (enumeration
of type string)
deleteConstraint
CascadeDeletes the lookup record as well as associated
lookup fields.
RestrictPrevents the record from being deleted if it's
in a lookup relationship.
SetNullThis value is the default. If the lookup record is
deleted, the lookup field is cleared.
603
CustomFieldMetadata Types
DescriptionField TypeField Name
For more information on lookup relationships, see "Object
Relationships" in Salesforce Help.
Reserved for future use.booleandeprecated
Description of the field.stringdescription
The display format.stringdisplayFormat
Indicates how the geolocation values of a custom Location field
appear in the user interface. If true, the geolocation values appear
booleandisplayLocationInDecimal
in decimal notation. If false, the geolocation values appear as
degrees, minutes, and seconds.
Reserved for future use.ElementType (enumeration of
type string)
elementType
This entry is about Shield Platform Encryption, not Classic
Encryption.
booleanencrypted
Indicates whether this field is encrypted (true) or not (false).
This field is available in API version 34.0 through 43.0.
This entry is about Shield Platform Encryption, not Classic
Encryption.
EncryptionScheme
(enumeration of type string)
encryptionScheme
For encrypted fields, determines which encryption scheme a field
takes. Valid values are
CaseInsensitiveDeterministicEncryption
CaseSensitiveDeterministicEncryption
None
ProbabilisticEncryption
This field is available in API version 44.0 and later.
Available only for external objects. Name of the table column on
the external data source that maps to this custom field in Salesforce.
stringexternalDeveloperName
Corresponds to External Column Name in the user
interface. This field is available in API version 32.0 and later.
Indicates whether the field is an external ID field (true) or not
(false). This property is returned only if the custom field data
type is AutoNumber, Email, Number, or Text.
booleanexternalId
Determines who can update the field after its released in a
managed package. Valid values:
FieldManageability
(enumeration of type string)
fieldManageability
LockedThe field cant be updated.
DeveloperControlledThe creator of the record can
update the field with a package upgrade.
604
CustomFieldMetadata Types
DescriptionField TypeField Name
SubscriberControlledAnyone with proper
permissions can update the field. The field cant be updated
with a package upgrade.
Available only for fields on custom metadata types. If the field type
is MetadataRelationship, and the manageability of the
entity definition field is:
Subscriber-controlled, then the Field Definition field must be
subscriber-controlled.
Upgradeable, then the Field Definition field must be either
upgradeable or subscriber-controlled.
If specified, represents a formula on the field.stringformula
Indicates how to treat blanks in a formula. Valid values are:
BlankAsBlank and BlankAsZero.
TreatBlankAs (enumeration of
type string)
formulaTreatBlankAs
Inherited from Metadata, this field is defined in the WSDL for this
metadata type. It must be specified when creating, updating, or
stringfullName
deleting. See createMetadata() to see an example of this
field specified for a call.
This value can't be null.
(This field is available in API version 37.0 only and removed from
later versions.) If this custom field is a picklist thats based on a
string.globalPicklist
global picklist, globalPicklist is the name of the global
picklist whose value set this picklist inherits. A custom picklist thats
based on a global picklist is restricted. You can only add or remove
values by editing the global picklist.
Indicates if the field is indexed. If this field is unique or the
externalId is set true, the isIndexed value is set to true.
booleanindexed
This field has been deprecated as of API version 14.0 and is only
provided for backward compatibility.
Represents the content of field-level help. For more information,
see "Define Field-Level Help" in Salesforce Help.
stringinlineHelpText
Available for Number type custom fields when you use Einstein
Prediction Builder. Denotes whether the field can store and display
booleanisAIPredictionField
Einstein prediction data on an object. Use Einstein Prediction Builder
to determine the data for the target field. This field is available in
API version 43.0 and later.
Available only for external objects. Indicates whether the custom
field is available in filters. This field is available in API version 32.0
and later.
booleanisFilteringDisabled
Available only for external object fields of type text. For each
external object, you can specify one field as the name field. If you
booleanisNameField
605
CustomFieldMetadata Types
DescriptionField TypeField Name
set this value to true, make sure that the external table column
identified by the externalDeveloperName attribute
contains name values. This field is available in API version 32.0 and
later.
Available only for external objects. Indicates whether the custom
field is sortable. This field is available in API version 32.0 and later.
booleanisSortingDisabled
Label for the field. You can't update the label for standard picklist
fields, such as the Industry field for accounts.
stringlabel
Length of the field.intlength
Represents the metadata associated with a lookup filter. This
metadata type is used to create, update, or delete lookup filter
LookupFilterlookupFilter
definitions. This component has been removed as of API version
30.0 and is only available in previous API versions. The metadata
associated with a lookup filter is now represented by the
lookupFilter field in the CustomField component.
This field is available in API version 30.0 and later.
LookupFilter isn't supported on the article type object.
This page is about Classic Encryption, not Shield Platform
Encryption. What's the difference?
EncryptedFieldMaskChar
(enumeration of type string)
maskChar
For encrypted fields, specifies the character to be used as a mask.
Valid values are:
asterisk
X
For more information on encrypted fields, see Classic Encryption
for Custom Fields in Salesforce Help.
This page is about Classic Encryption, not Shield Platform
Encryption. What's the difference?
EncryptedFieldMaskType
(enumeration of type string)
maskType
For encrypted text fields, specifies the format of the masked and
unmasked characters in the field. Valid values are:
allAll characters in the field are hidden. This option is
equivalent to the Mask All Characters option in
Salesforce.
creditCardThe first 12 characters are hidden and the
last four display. This option is equivalent to the Credit
Card Number option in Salesforce.
lastFourAll characters are hidden but the last four
display. This option is equivalent to the Last Four
Characters Clear option in Salesforce.
606
CustomFieldMetadata Types
DescriptionField TypeField Name
ninoAll characters are hidden. Salesforce automatically
inserts spaces after each pair of characters if the field contains
nine characters. This option is equivalent to the National
Insurance Number option in Salesforce.
sinAll characters are hidden but the last four display. This
option is equivalent to the Social Insurance Number
option in Salesforce.
ssnThe first five characters are hidden and the last four
display. This option is equivalent to the Social Security
Number option in Salesforce.
For more information on encrypted fields, see "Classic Encryption
for Custom Fields" in Salesforce Help.
In custom metadata relationships, represents the controlling field
that specifies the standard or custom object in an entity definition
stringmetadataRelationshipControllingField
metadata relationship. Required when creating a field definition
or entity particle metadata relationship on a custom metadata
type. The object specified in the controlling field determines the
values available in its dependent field definition or entity particle.
For example, specifying the Account object filters the available
fields in the field definition to Account fields only. This field is
available in API version 39.0 and later.
(Deprecated. Use this field in API version 37.0 and earlier only. In
later versions, use valueSet instead.) If specified, the field is a
picklist, and this field enumerates the picklist values and labels.
Picklistpicklist
Indicates whether existing rows are going to be populated (true)
or not (false).
booleanpopulateExistingRows
The precision for number values. Precision is the number of digits
in a number. For example, the number 256.99 has a precision value
of 5.
intprecision
Available only for indirect lookup relationship fields on external
objects. Specifies the custom field on the parent object to match
stringreferenceTargetField
against this indirect lookup relationship field, whose values come
from an external data source. The specified custom field on the
parent object must have both externalId and unique set
to true. This field is available in API version 32.0 and later.
If specified, indicates a reference this field has to another object.stringreferenceTo
Label for the relationship.stringrelationshipLabel
If specified, indicates the value for one-to-many relationships. For
example, in the object MyObject that had a relationship to
YourObject, the relationship name can be YourObjects.
stringrelationshipName
607
CustomFieldMetadata Types
DescriptionField TypeField Name
This field is valid for all master-detail relationships, but the value is
only non-zero for junction objects. A junction object has two
intrelationshipOrder
master-detail relationships, and is analogous to an association table
in a many-to-many relationship. Junction objects must define one
parent object as primary (0), the other as secondary (1). The
definition of primary or secondary affects delete behavior and
inheritance of look and feel, and record ownership for junction
objects. For more information, see Salesforce Help.
0 or 1 are the only valid values, and 0 is always the value for objects
that aren't junction objects.
Indicates whether the child records in a master-detail relationship
on a custom object can be reparented to different parent records.
The default value is false.
This field is available in API version 25.0 and later.
booleanreparentableMasterDetail
Indicates whether the field requires a value on creation (true) or
not (false).
booleanrequired
The scale for the field. Scale is the number of digits to the right of
the decimal point in a number. For example, the number 256.99
has a scale of 2.
intscale
Indicates the sensitivity of the data contained in the field. Valid
values include:
picklistsecurityClassification
Public
Internal
Confidential
Restricted
MissionCritical
This field is available in API version 45.0 and later.
If specified, indicates the starting number for the field. When you
create records, Starting Numbers value increments to store
intstartingNumber
the number that will be assigned to the next auto-number field
created.
You cant retrieve the starting number of an auto-number field
through Metadata API. To specify a Starting Number
while deploying, add a startingNumber tag for your field
to your package.xml file. For example:
<startingNumber>42</startingNumber>
If you deploy without specifying a Starting Number
value in your package.xml file, the default starting number
for standard fields is 0. The default starting number for custom
fields is 1.
608
CustomFieldMetadata Types
DescriptionField TypeField Name
Set to true to remove markup, or false to preserve markup.
Used when converting a rich text area to a long text area.
booleanstripMarkup
Represents the field on the detail row thats being summarized.
This field can't be null unless the summaryOperation value
is count.
stringsummarizedField
Represents the set of filter conditions for this field if it's a summary
field. This field is summed on the child if the filter conditions are
met.
FilterItem[]summaryFilterItems
Represents the master-detail field on the child that defines the
relationship between the parent and the child.
stringsummaryForeignKey
Represents the type of sum operation to be performed. Valid values
are:
SummaryOperations
(enumeration of type string)
summaryOperation
Count
Min
Max
Sum
Indicates whether the field is enabled for feed tracking (true) or
not (false). To set this field to true, the enableFeeds field
booleantrackFeedHistory
on the associated CustomObject must also be true. For more
information, see "Customize Chatter Feed Tracking" in Salesforce
Help.
This field is available in API version 18.0 and later.
Indicates whether history tracking is enabled for the field (true)
or not (false). Also available for standard object fields (picklist
and lookup fields only) in API version 30.0 and later.
To set trackHistory to true, the enableHistory field
on the associated standard or custom object must also be true.
booleantrackHistory
For more information, see "Field History Tracking" in Salesforce
Help.
Field history tracking isnt available for external objects.
Indicates whether historical trending data is captured for the field
(true) or not (false). An object is enabled for historical trending
booleantrackTrending
if this attribute is true for at least one field. Available in API
version 29.0 and later.
For more information, see "Report on Historical Changes" in
Salesforce Help.
609
CustomFieldMetadata Types
DescriptionField TypeField Name
Only relevant for a checkbox field. If set, true values are built
into the index. This field has been deprecated as of API version 14.0
and is only provided for backward compatibility.
booleantrueValueIndexed
Indicates the field type for the field. Valid values are enumerated
in FieldType.
For standard fields on standard objects, the type field is optional.
This field is included for some standard field types, such as Picklist
FieldType (enumeration of type
string)
type
or Lookup, but not for others. The type field is included for
custom fields.
Indicates whether the field is unique (true) or not (false).booleanunique
Represents the set of values that make up a picklist on a custom
field. Each value is defined as a CustomValue on page 675. If this
ValueSetvalueSet
custom field is a picklist that uses a global value set, valueSet
is the name of the global value set whose values this picklist
inherits. A custom picklist that uses a global value set is restricted.
You can only add or remove values by editing the global value set.
A ValueSet component has either a valueSetDefinition
or a valueName specified, but never both.
This field is available in API version 38.0 and later.
Indicates the number of lines displayed for the field.intvisibleLines
Sets the minimum sharing access level required on the primary
record to create, edit, or delete child records. This field applies only
to master-detail or junction object custom field types.
booleanwriteRequiresMasterRead
trueAllows users with Read access to the primary record
permission to create, edit, or delete child records. This setting
makes sharing less restrictive.
falseAllows users with Read/Write access to the primary
record permission to create, edit, or delete child records. This
setting is more restrictive than true, and is the default value.
For junction objects, the most restrictive access from the two
parents is enforced. For example, if you set to true on both
master-detail fields, but users have Read access to one primary
record and Read/Write access to the other primary record, users
aren't able to create, edit, or delete child records.
Fields use additional data types. For more information, see Metadata Field Types on page 644.
MktDataModelFieldAttributes
This is a subtype of CustomField.
610
CustomFieldMetadata Types
DescriptionField TypeField Name
Indicates how this object was added.
Valid values are:
DefinitionCreationType
enumeration
definitionCreationType
Bridge
Custom
Derived
Standard
System
If this field is used for merging data, indicates what the system should do when
an invalid merge occurs.
Valid values are:
InvalidMergeActionType
(enumeration of type
string)
invalidMergeActionType
Drop
Keep
Override
When true, the existing data is queried for a unique set of values for this field.booleanisDynamicLookup
If supplied, indicates that this field is part of the primary key. The number value
(starting at 1) indicates the order of attributes if its a compound primary key.
intprimaryIndexOrder
When this is a Standard Field, its the Name of the field from the Reference
Model.
stringrefAttrDeveloperName
String storing the developer name of MktDataLakeSrcKeyQualifier configured
on the field
stringmktDatalakeSrcKeyQualifier
MktDataLakeFieldAttributes
This is a subtype of CustomField. MktDataLakeFieldAttributes is available in API version 50.0 or later.
DescriptionField TypeField Name
Indicates how this object is added.
Valid values are:
DefinitionCreationType
(enumeration of type
string)
definitionCreationType
Bridge
Custom
Derived
Standard
System
Optional: The Date format of date, time, date/time fields in this Lake field.
This field is deprecated in API version 55.0 and later.
stringdateFormat
The external name of this field.stringexternalName
611
CustomFieldMetadata Types
DescriptionField TypeField Name
When true, this field contains the event date for behavioral model area objects
that are used to partition data.
booleanisEventDate
If supplied, indicates that this field is part of the primary key. The number value
(starting at 1) indicates the order of attributes if its a compound primary key.
intprimaryIndexOrder
When true, this field contains the value for internal organization. In this case,
the value of the field is the name of the internal organization. Landing Objects
don't have access to the Salesforce ID and thus are using the developer name.
booleanisInternalOrganization
Indicates the record modified field used to calibrate latest record version.booleanisRecordModified
String storing the developer name of MktDataLakeSrcKeyQualifier configured
on the field. Available in API version 55.0 and later.
stringmktDatalakeSrcKeyQualifier
Contains the developer name of key qualifier field. Available in API version 55.0
and later.
stringkeyQualifierName
LookupFilter
Represents the metadata associated with a lookup filter. Replaces the NamedFilter component, which was removed as of API version
30.0. LookupFilter is available in API version 30.0 and later.
DescriptionField TypeField
Required. Indicates whether the lookup filter is active (true) or not
(false).
booleanactive
Specifies advanced filter conditions.stringbooleanFilter
A description of what this filter does.stringdescription
The error message that appears if the lookup filter fails.stringerrorMessage
Required. The set of filter conditions. You can have up to 10 FilterItems
per lookup filter.
FilterItem[]filterItems
The information message displayed on the page. Use to describe
things the user possibly doesn't understand, such as why certain items
are excluded in the lookup filter.
stringinfoMessage
Required. Indicates whether the lookup filter is optional (true) or
not (false).
booleanisOptional
Lookup filters use additional data types. For more information, see Metadata Field Types.
FilterItem
Represents one entry in a set of filter criteria.
612
CustomFieldMetadata Types
DescriptionField TypeField
Represents the field specified in the filter.stringfield
Represents the filter operation for this filter item. Valid values are:FilterOperation
(enumeration of
type string)
operation
equals
notEqual
lessThan
greaterThan
lessOrEqual
greaterOrEqual
contains
notContain
startsWith
includes
excludes
within (DISTANCE criteria only)
Represents the value of the filter item being operated upon, for
example, if the filter is my_number_field__c > 1, the value
of value is 1.
stringvalue
Specifies if the final column in the filter contains a field or a field value.
Approval processes dont support valueField entries in filter
criteria.
stringvalueField
Declarative Metadata Sample Definition
The following example shows a field definition for a custom field thats named Comments__c.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
....
<fields>
<fullName>Comments__c</fullName>
<description>Add your comments about this object here</description>
<inlineHelpText>This field contains help text for this object</inlineHelpText>
<label>Comments</label>
<length>32000</length>
<type>LongTextArea</type>
<visibleLines>30</visibleLines>
</fields>
....
</CustomObject>
613
CustomFieldMetadata Types
This XML is the definition for two fields on the Account standard objecta custom field (MyCustomAccountField__c), and a
standard field (Phone) that has history tracking enabled.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fields>
<fullName>MyCustomAccountField__c</fullName>
<description>A custom field on the Account standard object.</description>
<externalId>false</externalId>
<inlineHelpText>Some help text.</inlineHelpText>
<label>MyCustomAccountField</label>
<length>100</length>
<required>false</required>
<trackFeedHistory>false</trackFeedHistory>
<trackHistory>false</trackHistory>
<type>Text</type>
<unique>false</unique>
</fields>
<fields>
<fullName>Phone</fullName>
<trackFeedHistory>false</trackFeedHistory>
<trackHistory>true</trackHistory>
</fields>
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
Picklist (Including Dependent Picklist)
Metadata
NamedFilter
FieldSet
Represents a field set. A field set is a grouping of fields. For example, you could have a field set that contains fields describing a user's
first name, middle name, last name, and business title.
Field sets can be referenced on Visualforce pages dynamically. If the page is added to a managed package, administrators can add,
remove, or reorder fields in a field set to modify the fields presented on the Visualforce page without modifying any code.
Version
FieldSet components are available in API version 21.0 and later.
614
FieldSetMetadata Types
Fields
DescriptionField TypeField
An array containing all the possible fields in the field set.FieldSetItem[]availableFields
Required. A description provided by the developer that describes
the field set. This is required.
stringdescription
An array containing all the fields that are presented on the
Visualforce page. The order in which a field is listed determines
the order of appearance on the page.
FieldSetItem[]displayedFields
Required. The label used to reference the field set.stringlabel
FieldSetItem
FieldSetItem represents an individual field in a field set.
DescriptionField TypeField
Required. The name of a field in a standard or custom object.stringfield
Read-only. Denotes whether the field was added to the field set
via a managed or unmanaged package.
booleanisFieldManaged
Read-only. Indicates whether the field is universally required
(true) or not (false).
booleanisRequired
Declarative Metadata Sample Definition
A sample XML definition of a FieldSet component is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fieldSets>
<fullName>FieldSetNames</fullName>
<availableFields>
<field>MiddleName__c</field>
</availableFields>
<availableFields>
<field>Title__c</field>
</availableFields>
<description>FieldSet containing how to properly address someone</description>
<displayedFields>
<field>FirstName__c</field>
</displayedFields>
<displayedFields>
<field>LastName__c</field>
</displayedFields>
<label>FieldSet Names</label>
615
FieldSetMetadata Types
</fieldSets>
</CustomObject>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
HistoryRetentionPolicy
Represents the policy for archiving field history data. When you set a policy, you specify the number of months that you want to keep
field history in Salesforce before archiving it. By default, when Field Audit Trail is enabled, all field history is retained.
This component is only available to users with the RetainFieldHistory permission.
Declarative Metadata File Suffix and Directory Location
Field history retention policies are defined as part of a standard or custom object. You can set field history retention policies for objects
individually. See CustomObject for more information.
Version
Available in API version 31.0 and later.
Fields
DescriptionField TypeField Name
Required. The number of months that you want to keep field history data
in Salesforce before archiving. You can set a minimum of 1 month and a
intarchiveAfterMonths
maximum of 18 months. If you don't set a number, the default is 18
months. (That is, Salesforce maintains data for 18 months before
archiving.)
The number of years until you manually delete data from the archive. Use
this field as a reminder for manually deleting data. By default, field history
data isnt automatically deleted when Field Audit Trail is enabled.
intarchiveRetentionYears
A text description for the history retention.stringdescription
The number of days of extra time after the archiveAfterMonths
period before the data is archived. The gracePeriodDays interval
intgracePeriodDays
applies only to the first time that the data is archived; because all the data
is copied the first time, the operation can take longer than subsequent
times when only the data that changed since the last archival operation
is copied. The gracePeriodDays provides extra time for the
administrator to prepare the organization before the initial archive
operation. You can set a minimum of zero days and a maximum of 10
days. If no number is set, the default is 1 day.
616
HistoryRetentionPolicyMetadata Types
Declarative Metadata Sample Definition
This sample shows the definition of a history retention policy for a custom object.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<historyRetentionPolicy>
<archiveAfterMonths>6</archiveAfterMonths>
<archiveRetentionYears>5</archiveRetentionYears>
<description>My field history retention</description>
</historyRetentionPolicy>
...
</CustomObject>
Index
Represents an index defined within a custom big object. Use this metadata type to define the composite primary key (index) for a custom
big object.This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Indexes are user-defined and are part of the custom object definition for big objects. See CustomObject for more information.
Version
The Index type is available in API version 41.0 and later.
Fields
DescriptionField TypeField Name
The definition of the fields in the index.IndexField[]fields
Required. This name is used to refer to the big object in the user interface.
Available in API version 41.0 and later.
stringlabel
IndexField
Defines which fields make up the index, their order, and sort direction. The order in which the fields are defined determines the order
fields are listed in the index.
617
IndexMetadata Types
DescriptionField TypeField Name
Required. The API name for the field thats part of the index. This value must
match the fullName value for the corresponding field in the fields section
and be marked as required.
stringname
Warning: When querying a big object record via SOQL and passing
the results as arguments to the delete API, if any index field name has
a leading or trailing white space, you can't delete the big object record.
Required. The sort direction of the field in the index. Valid values are ASC for
ascending order and DESC for descending order.
stringsortDirection
Declarative Metadata Sample Definition
The following is an example of an index contained within the definition of a custom big object,
Customer_Interactions__b.object.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<deploymentStatus>Deployed</deploymentStatus>
// Define the fields within the big object
<fields>
<fullName>Purchase__c</fullName>
<label>Purchase</label>
<length>16</length>
<required>false</required>
<type>Text</type>
<unique>false</unique>
</fields>
<fields>
<fullName>Order_Number__c</fullName>
<label>Order Number</label>
<length>16</length>
<required>false</required>
<type>Text</type>
<unique>true</unique>
</fields>
<fields>
<fullName>Platform__c</fullName>
<label>Platform</label>
<length>16</length>
<required>true</required>
<type>Text</type>
<unique>false</unique>
</fields>
<fields>
<fullName>Account__c</fullName>
618
IndexMetadata Types
<label>User Account</label>
<referenceTo>Account</referenceTo>
<relationshipName>User_Account</relationshipName>
<required>true</required>
<type>Lookup</type>
</fields>
<fields>
<fullName>Order_Date__c</fullName>
<label>Order Date</label>
<required>true</required>
<type>DateTime</type>
</fields>
// Define the index
<indexes>
<fullName>CustomerInteractionsIndex</fullName>
<label>Customer Interactions Index</label>
<fields>
<name>Account__c</name>
<sortDirection>DESC</sortDirection>
</fields>
<fields>
<name>Platform__c</name>
<sortDirection>ASC</sortDirection>
</fields>
<fields>
<name>Order_Date__c</name>
<sortDirection>DESC</sortDirection>
</fields>
</indexes>
<label>Customer Interaction</label>
<pluralLabel>Customer Interactions</pluralLabel>
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
Metadata
ListView
ListView allows you to see a filtered list of records, such as contacts, accounts, or custom objects.
This type extends the Metadata metadata type and inherits its fullName field. See Create a Custom List View in Salesforce Classic
in Salesforce Help.
619
ListViewMetadata Types
Note: List views with the Visible only to me Restrict Visibility option arent accessible in Metadata API. Each of these
list views is associated with a particular user.
Declarative Metadata File Suffix and Directory Location
List views are stored within a CustomObject component. The component can represent a custom object or a standard object, such as
an account.
Version
ListView components for custom objects are available in API version 14.0 and later. ListView components for standard objects, such as
accounts, are available in API version 17.0 and later.
Fields
DescriptionField TypeField
This field represents an Advanced Option for a filter. Advanced
Options in filters allow you to build up filtering conditions that
stringbooleanFilter
use a mixture of AND and OR boolean operators across multiple
filter line items. For example, (1 AND 2) OR 3 finds records
that match both the first two filter line items or the third.
The list of fields in the list view. The field name relative to the
object name, for example MyCustomField__c, is specified for
each custom field.
Field names in the ListView columns dont always match their
API name counterparts. If person accounts are enabled in your
string[]columns
organization, standard fields merged from a contact into an
account start with the PC_ prefix, while the corresponding API
name starts with the Person prefix. For example, the ListView
column name is PC_Email for a corresponding API field name
of PersonEmail.
If your organization uses divisions to segment data and youve
got the Affected by Divisions permission, records in the list
stringdivision
view must match this division. This field is only available if youre
searching all records.
This field is available in API version 17.0 and later.
Required. This field indicates whether youre filtering by owner
or viewing all records.
FilterScope (enumeration of
type string)
filterScope
The list of filter line items.ListViewFilter[]filters
Required. Inherited from Metadata, this field is defined in the
WSDL for this metadata type. It must be specified when creating,
stringfullName
updating, or deleting. See createMetadata() to see an
example of this field specified for a call.
620
ListViewMetadata Types
DescriptionField TypeField
Required. The list view name.stringlabel
The language used for filtering if your organization uses the
Translation Workbench and youre using the startsWith
Languagelanguage
or contains operator. The values entered as search terms
must be in the same language as the filter language.
For a list of valid language values, see Language.
This field is available in API version 17.0 and later.
The name of a queue. Objects are sometimes assigned to a
queue so that the users who have access to the queue can
stringqueue
monitor and manage them. When you create a queue, a
corresponding list view is automatically created. See Create
Queues in Salesforce Help.
Sharing access for the list view.
This field is available in API version 17.0 and later.
SharedTosharedTo
ListViewFilter
ListViewFilter represents a filter line item.
DescriptionField TypeField
Required. Represents the field specified in the filter.stringfilter
Required. The operation used by the filter, such as equals.
The valid values are:
FilterOperation (enumeration of
type string)
operation
equals
notEqual
lessThan
greaterThan
lessOrEqual
greaterOrEqual
contains
notContain
startsWith
includes
excludes
within (DISTANCE criteria only)
Represents the value of the filter item being operated upon, for
example, if the filter is my_number_field__c > 1, the
value of value is 1.
stringvalue
621
ListViewMetadata Types
FilterScope
The FilterScope is an enumeration of type string that represents the filtering criteria for the records. The valid values are listed in the
table:
DescriptionEnumeration Value
All records, for example All Opportunities.Everything
Records owned by the user running the list view, for example My Opportunities.Mine
Records owned by the user running the list view, and records assigned to the users queues.MineAndMyGroups
Records assigned to the user running the list view.
The AssignedToMe scope is supported for the ServiceAppointment object only.
AssignedToMe
Records assigned to a queue.Queue
Records delegated to another user for action: for example, a delegated task. This option is
available in API version 17.0 and later.
Delegated
Records in the territory of the user seeing the list view. This option is available if territory
management is enabled for your organization. Opportunities cant be filtered by
MyTerritory. This option is available in API version 17.0 and later.
MyTerritory
Records in the territory of the team of the user seeing the list view. This option is available if
territory management is enabled for your organization. Opportunities cant be filtered by
MyTeamTerritory. This option is available in API version 17.0 and later.
MyTeamTerritory
Records assigned to a team. In the Lightning Experience UI, the corresponding list view filter is
My teams opportunities. This option is available in API version 17.0 and later.
Team
Opportunities assigned to an opportunity team. In the Lightning Experience UI, the corresponding
list view filter is My opportunity teams. This option is available in API version 49.0 and later.
SalesTeam
Records that meet a scoping rule's record criteria. In Lightning Experience, scoping rules are
applied to list views only if the user selects Filter by scope.
ScopingRule
Declarative Metadata Sample Definition
A sample XML definition of a list view in a custom object is shown.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
. . .
<listViews>
<fullName>All_Mileages</fullName>
<filterScope>everything</filterScope>
<label>All Mileages</label>
</listViews>
<listViews>
<fullName>My_Mileages</fullName>
<booleanFilter>1 AND 2</booleanFilter>
<columns>NAME</columns>
622
ListViewMetadata Types
<columns>CREATED_DATE</columns>
<filterScope>mine</filterScope>
<filters>
<field>NAME</field>
<operation>equals</operation>
<value>Eric Bristow</value>
</filters>
<filters>
<field>City__c</field>
<operation>equals</operation>
<value>Paris</value>
</filters>
<label>My Mileages</label>
</listViews>
. . .
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
Sample package.xml Manifest Files
NamedFilter
Represents the metadata associated with a lookup filter. This metadata type is used to create, update, or delete lookup filter definitions.
This component has been removed as of API version 30.0 and is only available in previous API versions. The metadata associated with
a lookup filter is now represented by the lookupFilter field in the CustomField component.
This type extends the Metadata metadata type and inherits its fullName field. You can also use this metadata type to work with
customizations of lookup filters on standard fields.
Note: The namedFilter appears as a child of the target object of the associated lookup field.
Declarative Metadata File Suffix and Directory Location
Lookup filters are defined as part of the custom object or standard object definition. See CustomObject for more information.
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Version
Lookup filters are available in API version 17.0 and later. However, the NamedFilter type was removed in API version 30.0. The metadata
associated with a lookup filter is now represented by the lookupFilter field in the CustomField type.
623
NamedFilterMetadata Types
Fields
Unless otherwise noted, all fields are creatable, filterable, and nillable.
DescriptionField TypeField Name
Required. Indicates whether the lookup filter is active.booleanactive
Specifies advanced filter conditions.stringbooleanFilter
A description of what this filter does.stringdescription
The error message that appears if the lookup filter fails.stringerrorMessage
Required. The fullName of the custom or standard field
associated with the lookup filter. You can associate one
relationship field with each lookup filter, and vice versa.
stringfield
Note: You cant update a field associated with a lookup
filter.
Required. The set of filter conditions.FilterItems[]filterItems
The information message displayed on the page. Use to
describe things the user might not understand, such as why
certain items are excluded in the lookup filter.
stringinfoMessage
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating,
stringfullName
updating, or deleting. See createMetadata() to see an
example of this field specified for a call.
This value cant be null.
Required. Indicates whether the lookup filter is optional.booleanisOptional
Required. The name of the lookup filter. If you create this field
in the user interface, a name is automatically assigned. If you
stringname
create this field through Metadata API, you must include the
name field.
The object that contains the lookup field that uses this lookup
filter. Set this field if the lookup filter references fields on the
source object.
stringsourceObject
Lookup filters use additional data types. For more information, see Metadata Field Types.
FilterItems
FilterItems contains the following properties:
DescriptionField TypeField
Represents the field specified in the filter.stringfield
624
NamedFilterMetadata Types
DescriptionField TypeField
Represents the filter operation for this filter item. Valid values are
enumerated in FilterOperation.
FilterOperation
(enumeration of
type string)
operation
Represents the value of the filter item being operated upon, for
example, if the filter is my_number_field__c > 1, the value
of value is 1.
stringvalue
FilterOperation
Heres an enumeration of type string that lists different filter operations. Valid values are:
equals
notEqual
lessThan
greaterThan
lessOrEqual
greaterOrEqual
contains
notContain
startsWith
includes
excludes
Declarative Metadata Sample Definition
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
....
<namedfilters>
<fullName>nf_Acc</fullName>
<active>true</active>
<booleanFilter>1 OR 2</booleanFilter>
<field>Account.lk__c</field>
<filterItems>
<field>Account.Phone</field>
<operation>notEqual</operation>
<value>x</value>
</filterItems>
<filterItems>
<field>Account.Fax</field>
<operation>notEqual</operation>
<value>y</value>
</filterItems>
<name>Acc</name>
<sourceObject>Account</sourceObject>
</namedfilters>
625
NamedFilterMetadata Types
....
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
Picklist (Including Dependent Picklist)
Metadata
CustomField
Picklist (Including Dependent Picklist)
Deprecated. Represents a picklist (or dependent picklist) definition for a custom field in a custom object or a custom or standard field
in a standard object, such as an account.
Version
Use this type in API version 37.0 and earlier only. Picklists for custom fields in custom objects are available in API version 12.0 and later.
Picklists for custom or standard fields in standard objects, such as accounts, are available in API version 16.0 and later.
In API version 38.0 and later, Picklist is replaced by ValueSet on page 646 on the CustomField type.
Declarative Metadata File Suffix and Directory Location
Picklist definitions are included in the custom object and field with which theyre associated.
Fields
Picklist contains the following fields:
DescriptionField TypeField Name
The fullName of the controlling field if controllingField is
a dependent picklist. A dependent picklist works in conjunction with a
stringcontrollingField
controlling picklist or checkbox to filter the available options. The value
chosen in the controlling field affects the values available in the
dependent field. This field is available in API version 14.0 and later.
Required. Represents a set of values for a picklist.
PicklistValue[]picklistValues
Indicates whether the picklists value list is restricted. With a restricted
picklist, only an admin can add or change values; users cant load or
remove values through the API. By default this value is false.
This field is available in API version 37.0 and later.
booleanrestrictedPicklist
626
Picklist (Including Dependent Picklist)Metadata Types
DescriptionField TypeField Name
Indicates whether values are sorted (true), or not (false). By default
this value is false.
booleansorted
Java Sample
The following sample uses a picklist. For a complete sample of using a picklist with record types and profiles, see Profile on page 1402.
public void setPicklistValues() {
// Create a picklist
Picklist expenseStatus = new Picklist();
PicklistValue unsubmitted = new PicklistValue();
unsubmitted.setFullName("Unsubmitted");
PicklistValue submitted = new PicklistValue();
submitted.setFullName("Submitted");
PicklistValue approved = new PicklistValue();
approved.setFullName("Approved");
PicklistValue rejected = new PicklistValue();
rejected.setFullName("Rejected");
expenseStatus.setPicklistValues(new PicklistValue[]
{unsubmitted, submitted, approved, rejected});
CustomField expenseStatusField = new CustomField();
expenseStatusField.setFullName(
"ExpenseReport__c.ExpenseStatus__c");
expenseStatusField.setLabel("Expense Report Status");
expenseStatusField.setType(FieldType.Picklist);
expenseStatusField.setPicklist(expenseStatus);
try {
AsyncResult[] ars =
metadataConnection.create(new Metadata[] {expenseStatusField});
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Declarative Metadata Sample Definition
The following sample shows usage for picklists, including dependent picklists, in a custom object. The isAmerican__c checkbox
controls the list of manufacturers shown in the manufacturer__c picklist. The manufacturer__c checkbox in turn controls
the list of models shown in the model__c picklist.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<deploymentStatus>Deployed</deploymentStatus>
<enableActivities>true</enableActivities>
<fields>
<fullName>isAmerican__c</fullName>
<defaultValue>false</defaultValue>
<label>American Only</label>
<type>Checkbox</type>
627
Picklist (Including Dependent Picklist)Metadata Types
</fields>
<fields>
<fullName>manufacturer__c</fullName>
<label>Manufacturer</label>
<picklist>
<controllingField>isAmerican__c</controllingField>
<picklistValues>
<fullName>Chrysler</fullName>
<controllingFieldValues>checked</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Ford</fullName>
<controllingFieldValues>checked</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Honda</fullName>
<controllingFieldValues>unchecked</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Toyota</fullName>
<controllingFieldValues>unchecked</controllingFieldValues>
<default>false</default>
</picklistValues>
<sorted>false</sorted>
</picklist>
<type>Picklist</type>
</fields>
<fields>
<fullName>model__c</fullName>
<label>Model</label>
<picklist>
<controllingField>manufacturer__c</controllingField>
<picklistValues>
<fullName>Mustang</fullName>
<controllingFieldValues>Ford</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Taurus</fullName>
<controllingFieldValues>Ford</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>PT Cruiser</fullName>
<controllingFieldValues>Chrysler</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Pacifica</fullName>
<controllingFieldValues>Chrysler</controllingFieldValues>
<default>false</default>
628
Picklist (Including Dependent Picklist)Metadata Types
</picklistValues>
<picklistValues>
<fullName>Accord</fullName>
<controllingFieldValues>Honda</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Civic</fullName>
<controllingFieldValues>Honda</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Prius</fullName>
<controllingFieldValues>Toyota</controllingFieldValues>
<default>false</default>
</picklistValues>
<picklistValues>
<fullName>Camry</fullName>
<controllingFieldValues>Toyota</controllingFieldValues>
<default>false</default>
</picklistValues>
<sorted>false</sorted>
</picklist>
<type>Picklist</type>
</fields>
....
</CustomObject>
The following sample shows usage for the standard Stage field in opportunities.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<fields>
<fullName>StageName</fullName>
<picklist>
<picklistValues>
<fullName>Prospecting</fullName>
<default>false</default>
<forecastCategory>Pipeline</forecastCategory>
<probability>10</probability>
</picklistValues>
<picklistValues>
<fullName>Qualification</fullName>
<default>false</default>
<forecastCategory>Pipeline</forecastCategory>
<probability>10</probability>
</picklistValues>
<picklistValues>
<fullName>Needs Analysis</fullName>
<default>false</default>
<forecastCategory>Pipeline</forecastCategory>
<probability>20</probability>
</picklistValues>
...
</picklist>
629
Picklist (Including Dependent Picklist)Metadata Types
</fields>
<CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
ProfileSearchLayouts
Represents a user profiles search results layouts for an object. ProfileSearchLayouts are similar to SearchLayouts.
However, with profile-specific layouts, each user profile can have a different search results layout for an object.
File Suffix and Directory Location
Profile search layouts are defined as part of a standard or custom object. SearchLayout is the default search results layout used
when no layout is specified for a user profile. For more information, see CustomObject.
Version
Profile search layouts for custom objects are available in API version 48.0 and later.
Fields
DescriptionField TypeField
The name of the profile associated with a customized search
results layout. The profile name can be a standard Salesforce
profile or custom profile defined in your org.
string[]profileName
The list of fields displayed in search results for the object and
for the users that have the profile Profile Name. The
string[]fields
name field is required and is always displayed as the first
column header, so it isnt included in this list. All additional
fields are included. The field name relative to the object
name, for exampleMyCustomField__c, is specified
for each custom field.
Declarative Metadata Sample Definition
The following shows a sample definition of profile-specific search layouts in an object.
Note: To deploy a profile-specific search results layout, the profile must be defined in the destination org and if it's for a custom
object, you must enable search for that custom object. If the profile-specific search results layout is for a custom object, the custom
object's tab must exist in the destination org or must be included with the deployment.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
630
ProfileSearchLayoutsMetadata Types
. . .
<profileSearchLayouts>
<fields>ACCOUNT.NAME</fields>
<fields>ACCOUNT.SITE</fields>
<fields>ACCOUNT.PHONE1</fields>
<fields>CORE.USERS.ALIAS</fields>
<fields>ACCOUNT.ADDRESS2_CITY</fields>
<profileName>System Administrator</profileName>
</profileSearchLayouts>
<profileSearchLayouts>
<fields>ACCOUNT.NAME</fields>
<fields>ACCOUNT.SITE</fields>
<profileName>WDC Only User</profileName>
</profileSearchLayouts>
. . .
</CustomObject>
SEE ALSO:
SearchLayouts
RecordType
Represents the metadata associated with a record type. Record types let you offer different business processes, picklist values, and page
layouts to different users. Use this metadata type to create, update, or delete record type definitions for a custom object.
For more information, see Tailor Busines Processes to Different Record Types Users in Salesforce Help. This type extends the Metadata
metadata type and inherits its fullName field.
Important: Dont use record types as an access control mechanism. Profile assignment governs create and edit access for an
object but doesnt govern read access. For example, a user assigned to a profile that isn't enabled for a particular record type can't
create records with that record type, but can access records associated with that record type.
Users with access to an object can read all record type information for that object. We strongly recommend against storing sensitive
information in the record type description, name, or label. Instead, store sensitive information in a separate object or fields to which
youve applied appropriate access controls.
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Note: Metadata API doesnt retrieve custom picklist values on person account record types, if the picklist exists on a contact. In
this case, Metadata API retrieves standard picklist values only.
Version
Record types are available in API version 12.0 and later.
Fields
DescriptionField TypeField
Required. Indicates whether the record type is active.booleanactive
631
RecordTypeMetadata Types
DescriptionField TypeField
The fullName of the business process associated with
the record type. This field is required in record types for lead,
stringbusinessProcess
opportunity, solution, and case, and not allowed otherwise.
See BusinessProcess on page 596.
This field is available in API version 17.0 and later.
Represents the compact layout that is assigned to the record
type.
This field is available in API version 29.0 and later.
stringcompactLayoutAssignment
Record type description. Maximum of 255 characters.stringdescription
Record type name. The fullName can contain only
underscores and alphanumeric characters. It must be unique,
stringfullName
begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
If this field contained characters before version 14.0 that are
no longer allowed, the characters were stripped out of this
field, and the previous value of the field was saved in the
label field.
Inherited from the Metadata component, this field isnt
defined in the WSDL for this component. It must be specified
when creating, updating, or deleting. See create() to see an
example of this field specified for a call.
This value can't be null.
Required. Descriptive label for the record type. The list of
characters allowed in the fullName field has been reduced
stringlabel
for versions 14.0 and later. This field contains the value
contained in the fullName field before version 14.0.
Represents a set of values for a picklist.RecordTypePicklistValue[]picklistValues
RecordTypePicklistValue
RecordTypePicklistValue represents the combination of picklists and valid values that define a record type:
DescriptionField TypeField Name
Required. The name of the picklist.stringpicklist
One or more of the picklist values in the picklist. Each value defined is
available in the record type that contains this component.
PicklistValuevalues
632
RecordTypeMetadata Types
Java Sample
The following sample uses two record types. For the complete sample that includes profiles and picklists, see Profile on page 1402.
public void recordTypeSample() {
try {
// Employees and managers have different access
// to the state of the expense sheet
RecordType edit = new RecordType();
edit.setFullName("ExpenseReport__c.Edit");
edit.setLabel("ExpenseReport__c.Label");
PicklistValue unsubmitted = new PicklistValue();
unsubmitted.setFullName("Unsubmitted");
PicklistValue submitted = new PicklistValue();
submitted.setFullName("Submitted");
RecordTypePicklistValue editStatuses =
new RecordTypePicklistValue();
editStatuses.setPicklist("ExpenseStatus__c");
editStatuses.setValues(
new PicklistValue[] {unsubmitted, submitted});
edit.setPicklistValues(
new RecordTypePicklistValue[] {editStatuses});
AsyncResult[] arsEdit =
metadataConnection.create(new Metadata[] {edit});
RecordType approve = new RecordType();
approve.setFullName("ExpenseReport__c.Approve");
PicklistValue approved = new PicklistValue();
approved.setFullName("Approved");
PicklistValue rejected = new PicklistValue();
rejected.setFullName("Rejected");
RecordTypePicklistValue approveStatuses =
new RecordTypePicklistValue();
approveStatuses.setPicklist("ExpenseStatus__c");
approveStatuses.setValues(
new PicklistValue[] {approved, rejected});
approve.setPicklistValues(
new RecordTypePicklistValue[] {approveStatuses});
AsyncResult[] arsApprove =
metadataConnection.create(new Metadata[] {approve});
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Declarative Metadata Sample Definition
The definition of a record type in a custom object is shown in this code block.
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
. . .
<recordTypes>
<fullName>My First Recordtype</fullName>
633
RecordTypeMetadata Types
</recordTypes>
. . .
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SearchLayouts
Represents the metadata associated with the search layouts for an object. You can customize which fields to display for users in search
results, search filter fields, lookup dialogs, and recent record lists on tab home pages. You can access SearchLayouts only by accessing
its encompassing CustomObject.
For more information, see Customize Layouts for Search Results and Customize Search Layouts for Custom Objects in Salesforce Help.
Version
Search layouts for custom objects are available in API version 14.0 and later. The ability to modify search layouts for standard objects
(except events and tasks) is available in API version 27.0 and later.
Fields
When defining metadata for search layouts:
Any Name field defined as a text type is mandatory; its always displayed as the first column in the search results page.. When you
query for a list of fields; the name field isnt returned but all other fields are. If you define the Name field as an autonumber type, its
not mandatory and you can remove it from the list. These rules apply to customTabListAdditionalFields,
lookupDialogsAdditionalFields, lookupPhoneDialogsAdditionalFields, and
searchResultsAdditionalFields
For custom objects, the search layout uses the API name, for example, MyCustomField__c instead of the field name My Custom
Field.
DescriptionField TypeField
The list of fields displayed in the Recent Object Name
list view for an object.
string[]customTabListAdditionalFields
The list of standard buttons excluded from the search layout.string[]excludedStandardButtons
The list of buttons available in list views for an object.
This field is equivalent to the Buttons Displayed value in the
Object Name List View in the related list of the
object detail page in the UI.
string[]listViewButtons
The list of fields displayed in a lookup dialog for the object.
Salesforce objects often include one or more lookup fields
that allow users to associate two records together in a
string[]lookupDialogsAdditionalFields
relationship. For example, a contact record includes an
634
SearchLayoutsMetadata Types
DescriptionField TypeField
Account lookup field that represents the relationship
between the contact and the organization with which the
contact is associated. A lookup search dialog helps you search
for the record associated with the one being edited. Lookup
filter fields allow you to filter your lookup search by a
customized list of fields in the object.
This field is equivalent to the Lookup Dialogs related
list on the object detail page in the UI.
The list of fields that can be used to filter enhanced lookups
for an object. Enhanced lookups are optionally enabled by
your administrator.
This field is equivalent to the Lookup Filter Fields
related list on the object detail page in the application user
interface.
string[]lookupFilterFields
The list of phone-related fields displayed in a lookup dialog
for the object.
This list enables integration of the fields with a softphone
dial pad.
string[]lookupPhoneDialogsAdditionalFields
This field is equivalent to the Lookup Phone Dialogs
related list on the object detail page in the application user
interface.
The list of actions that you can use to perform mass quick
action on records. Use this field to add an existing create or
update action.
You can perform mass quick actions on custom objects and
all standard objects that support quick actions and have a
string[]massQuickActions
search layout in Lightning Experience. This includes but isnt
limited to cases, leads, accounts, campaigns, contacts,
opportunities, and work orders.
The list of fields that can be used to filter a search for the
object.
This field is equivalent to the Search Filter Fields
related list on the object detail page in the application user
interface.
string[]searchFilterFields
The list of fields displayed in a search result for the object.
This field is equivalent to the Search Results related
list on the object detail page in the application user interface.
string[]searchResultsAdditionalFields
635
SearchLayoutsMetadata Types
DescriptionField TypeField
The list of custom buttons available in a search result for the
object. The actions associated with the buttons can be
applied to any of the records returned in the search result.
string[]searchResultsCustomButtons
Declarative Metadata Sample Definition
A sample definition of objects search layout is shown..
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
. . .
<searchLayouts>
<listViewButtons>New</listViewButtons>
<listViewButtons>Accept</listViewButtons>
<listViewButtons>ChangeOwner</listViewButtons>
<lookupDialogsAdditionalFields>firstQuote__c</lookupDialogsAdditionalFields>
<lookupDialogsAdditionalFields>finalQuote__c</lookupDialogsAdditionalFields>
<massQuickActions>Create_MQA_Contact</massQuickActions>
<searchResultsAdditionalFields>CREATEDBY_USER</searchResultsAdditionalFields>
</searchLayouts>
. . .
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
ProfileSearchLayouts
SharingReason
Represents an Apex sharing reason, which is used to indicate why sharing was implemented for a custom object. Apex managed sharing
allows developers to use Apex to programmatically share custom objects. When you use Apex managed sharing to share a custom
object, only users with the Modify All Data permission can add or change the sharing on the custom object's record, and the sharing
access is maintained across record owner changes.
Use SharingReason to create, update, or delete sharing reason definitions for a custom object. This type extends the Metadata metadata
type and inherits its fullName field.
Version
Sharing reasons are available in API version 14.0 and later.
636
SharingReasonMetadata Types
Fields
DescriptionField TypeField
Required. Sharing reason name. The __c suffix is appended to custom
sharing reasons.
Inherited from Metadata, this field is defined in the WSDL for this
metadata type. It must be specified when creating, updating, or deleting.
stringfullName
See createMetadata() to see an example of this field specified for
a call.
Required. Descriptive label for the sharing reason. Maximum of 40
characters.
stringlabel
Declarative Metadata Sample Definition
The definition of a sharing reason in a custom object:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
. . .
<sharingReasons>
<fullName>recruiter__c</fullName>
<label>Recruiter</label>
</sharingReasons>
. . .
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SharingRecalculation
Represents Apex classes that recalculate the Apex managed sharing for a specific custom object.
Version
Sharing recalculations are available in API version 14.0 and later.
Fields
DescriptionField TypeField
Required. The Apex class that recalculates the Apex sharing for a custom
object. This class must implement the Database.Batchable
interface.
stringclassName
637
SharingRecalculationMetadata Types
Declarative Metadata Sample Definition
The definition of a sharing recalculation in a custom object:
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
. . .
<sharingRecalculations>
<className>RecruiterRecalculation</className>
</sharingRecalculations>
. . .
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
ValidationRule
Represents a validation rule, which is used to verify that the data a user enters in a record is valid and can be saved. A validation rule
contains a formula or expression that evaluates the data in one or more fields and returns a value of true or false. Validation rules
also include an error message that your client application can display to the user when the rule returns a value of true due to invalid
data.
This type extends the Metadata metadata type and inherits its fullName field.
As of API version 20.0, validation rules can't have compound fields. Examples of compound fields include addresses, first and last names,
dependent picklists, and dependent lookups.
As of API version 40.0, you can use validation rules with custom metadata types.
Version
Validation rules are available in API version 12.0 and later.
Fields
DescriptionField TypeField Name
Required. Indicates whether this validation rule is active, (true), or not
active (false).
booleanactive
A description of the validation rule.stringdescription
Required. The formula defined in the validation rule. If the formula returns
a value of true, an error message is displayed.
stringerrorConditionFormula
The fully specified name of a field in the application. If a value is supplied,
the error message appears next to the specified field. If you do not specify
stringerrorDisplayField
a value or the field isnt visible on the page layout, the value changes
automatically to Top of Page.
638
ValidationRuleMetadata Types
DescriptionField TypeField Name
Required. The message that appears if the validation rule fails. The
message must be 255 characters or less.
stringerrorMessage
The internal name of the object. White spaces and special characters are
escaped for validity. The name must:
stringfullName
Contain characters, letters, or the underscore (_) character
Must start with a letter
Cant end with an underscore
Can't contain two consecutive underscore characters.
Inherited from the Metadata component, this field isnt defined in the
WSDL for this component. It must be specified when creating, updating,
or deleting. See create() to see an example of this field specified for a call.
Declarative Metadata Sample Definition
A sample XML definition of a validation rule in a custom object is shown in this code block.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
<deploymentStatus>Deployed</deploymentStatus>
<fields>
<fullName>Mommy_Cat__c</fullName>
<label>Mommy Cat</label>
<referenceTo>Cat__c</referenceTo>
<relationshipName>Cats</relationshipName>
<type>Lookup</type>
</fields>
<label>Cat</label>
<nameField>
<label>Cat Name</label>
<type>Text</type>
</nameField>
<pluralLabel>Cats</pluralLabel>
<sharingModel>ReadWrite</sharingModel>
<validationRules>
<fullName>CatsRule</fullName>
<active>true</active>
<errorConditionFormula>OR(Name = &apos;Milo&apos;,Name =
&apos;Moop&apos;)</errorConditionFormula>
<validationMessage>Name must be that of one of my cats</validationMessage>
</validationRules>
</CustomObject>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
639
ValidationRuleMetadata Types
WebLink
Represents a custom button or link defined in a custom object.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
Version
WebLinks are available in API version 12.0 and later.
Fields
DescriptionField TypeField Name
Required. Indicates whether the button or link is only available online
(online, or if it is also available offline (offline).
WebLinkAvailability
(enumeration of type string)
availability
A description of the button or link.stringdescription
Represents how the button or link is rendered. Valid values are:WebLinkDisplayType
(enumeration of type string)
displayType
link for a hyperlink
button for a button
massActionButton for a button attached to a related list
Required. The default encoding setting is Unicode: UTF-8. Change it
if your template requires data in a different format. This is available if
your content source is URL.
Valid values include:
EncodingencodingKey
UTF-8Unicode (UTF-8)
ISO-8859-1General US & Western Europe (ISO-88591,
ISO-LATIN-1)
Shift_JISJapanese (Shift-JIS)
ISO-2022-JPJapanese (JIS)
EUC-JPJapanese (EUC-JP)
x-SJIS_0213Japanese (Shift-JIS_2004)
ks_c_5601-1987Korean (ks_c_5601-1987)
Big5Traditional Chinese (Big5)
GB2312Simplified Chinese (GB2312)
Big5-HKSCSTraditional Chinese Hong Kong (Big5HKSCS)
The name of the custom button or link with white spaces and special
characters escaped for validity. The name can only contain characters,
stringfullName
letters, and the underscore (_) character. The name must start with a
640
WebLinkMetadata Types
DescriptionField TypeField Name
letter, and cant end with an underscore or contain two consecutive
underscore characters.
Inherited from the Metadata component, this field isnt defined in the
WSDL for this component. It must be specified when creating, updating,
or deleting. See create() to see an example of this field specified for a
call.
If the openType is newWindow, this field indicates whether to show
the browser menu bar for the window (true) or not (false).
Otherwise, leave this field empty.
booleanhasMenubar
If the openType is newWindow, this field indicates whether to show
the scroll bars for the window (true) or not (false). Otherwise, leave
this field empty.
booleanhasScrollbars
If the openType is newWindow, this field indicates whether to show
the browser toolbar for the window (true) or not (false). Otherwise,
leave this field empty.
booleanhasToolbar
Height in pixels of the window opened by the custom button or link.
Required if the openType is newWindow. Otherwise, leave this field
empty.
intheight
If the openType is newWindow, this field indicates whether to allow
resizing of the window (true) or not (false). Otherwise, leave this
field empty.
booleanisResizable
Required. Represents whether the content of the button or link is
specified by a URL, an sControl, a JavaScript code block, or a Visualforce
page.
WebLinkType (enumeration of
type string)
linkType
url
sControl
javascript
page
flowReserved for future use.
Master label for this object. This display value is the internal label that is
not translated.
stringmasterLabel
Required. When the button or link is clicked, specifies the window style
that will be used to display the content. Valid values:
WebLinkWindowType
(enumeration of type string)
openType
newWindow
sidebar
noSidebar
replace
onClickJavaScript
641
WebLinkMetadata Types
DescriptionField TypeField Name
If the value of linkType is page, this field represents the Visualforce
page. Otherwise, leave this field empty.
stringpage
If the value of OpenType is newWindow, this field indicates how
the new window should be displayed. Otherwise, dont specify a value.
Valid values are:
WebLinkPosition (enumeration
of type string)
position
fullScreen
none
topLeft
Required. Indicates whether this subcomponent is protected (true)
or not (false). Protected subcomponents cant be linked to or
booleanprotected
referenced by components or subcomponents created in the installing
organization.
If the displayType is massActionButton, this field indicates
whether to require individual row selection to execute the action for
this button (true) or not (false). Otherwise, leave this field empty.
booleanrequireRowSelection
If the value of linkType is sControl, this field represents the name
of the sControl. Otherwise, leave this field empty.
stringscontrol
If the openType is newWindow, this field indicates whether to show
the browser location bar for the window (true) or not (false).
Otherwise, leave this field empty.
booleanshowsLocation
If the openType is newWindow, this field indicates whether to show
the browser status bar for the window. Otherwise, leave this field empty.
booleanshowsStatus
If the value of linkType is url, this is the URL value. If the value of
linkType is javascript, this is the JavaScript content. If the value
is neither of these options, leave this field empty.
stringurl
Content must be escaped in a manner consistent with XML parsing
rules.
Width in pixels of the window opened by the button or link.
Required if the openType is newWindow. Otherwise, leave this field
empty.
intwidth
Java Sample
The following Java sample shows sample values for WebLink fields:
public void WebLinkSample(String name) throws Exception {
WebLink WebLink = new WebLink();
// name variable represents the full name of the object
// on which to create the WebLink, for example, customObject__c
WebLink.setFullName(name + ".googleButton");
642
WebLinkMetadata Types
WebLink.setUrl("http://www.google.com");
WebLink.setAvailability(WebLinkAvailability.online);
WebLink.setLinkType(WebLinkType.url);
WebLink.setEncodingKey(Encoding.fromString("UTF-8"));
WebLink.setOpenType(WebLinkWindowType.newWindow);
WebLink.setHeight(600);
WebLink.setWidth(600);
WebLink.setShowsLocation(false);
WebLink.setHasScrollbars(true);
WebLink.setHasToolbar(false);
WebLink.setHasMenubar(false);
WebLink.setShowsStatus(false);
WebLink.setIsResizable(true);
WebLink.setPosition(WebLinkPosition.none);
WebLink.setMasterLabel("google");
WebLink.setDisplayType(WebLinkDisplayType.link);
AsyncResult[] asyncResults = metadataConnection.create(new WebLink[]{WebLink});
// After the create() call completes, we must poll the results of checkStatus()
//
}
Declarative Metadata Sample Definition
The following is the definition of a WebLink in a custom object. For related samples, see Declarative Metadata Sample Definition and
Declarative Metadata Sample Definition.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObject xmlns="http://soap.sforce.com/2006/04/metadata">
....
<WebLinks>
<fullName>googleButton</fullName>
<availability>online</availability>
<displayType>link</displayType>
<encodingKey>UTF-8</encodingKey>
<hasMenubar>false</hasMenubar>
<hasScrollbars>true</hasScrollbars>
<hasToolbar>false</hasToolbar>
<height>600</height>
<isResizable>true</isResizable>
<linkType>url</linkType>
<masterLabel>google</masterLabel>
<openType>newWindow</openType>
<position>none</position>
<protected>false</protected>
<showsLocation>false</showsLocation>
<showsStatus>false</showsStatus>
<url>http://www.google.com</url>
<width>600</width>
</WebLinks>
....
</CustomObject>
643
WebLinkMetadata Types
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
HomePageComponent
HomePageLayout
CustomPageWebLink
Metadata Field Types
These field types extend the field types described in the Salesforce Object Reference.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
What the Field ContainsObjectsField Type
Represents a custom field.Custom object
Custom field
CustomField
A string that represents deletion options for lookup relationships. Valid values
are:
Custom fieldDeleteConstraint
SetNull
Restrict
Cascade
A string which represents the deployment status of a custom object or field. Valid
values are:
Custom object
Custom field
DeploymentStatus
InDevelopment
Deployed
Indicates the type of a custom field. Valid values are:Custom fieldFieldType
Address (beta)
AutoNumber
Lookup
MasterDetail
MetadataRelationship
Checkbox
Currency
Date
DateTime
Email
644
Metadata Field TypesMetadata Types
What the Field ContainsObjectsField Type
EncryptedText
Note: This page is about Classic Encryption, not Shield Platform
Encryption. What's the difference?
ExternalLookup
IndirectLookup
Number
1
Percent
Phone
Picklist
MultiselectPicklist
Summary
Text
TextArea
LongTextArea
Url
Hierarchy
File
Html
Location (use for geolocation fields)
Time
1
A Number custom field is internally represented as a field of type double.
Setting the scale of the Number field to 0 gives you a double that behaves like
an int.
Indicates the gender of the noun that represents the object. This is used for
languages where words need different treatment depending on their gender.
Valid values are:
Custom objectGender
Masculine
Feminine
Neuter
AnimateMasculine (Slavic languagescurrently Czech, Polish, Russian,
Slovak, Slovenian, and Ukrainian)
ClassI, ClassIII, ClassV, ClassVII, ClassIX, ClassXI,
ClassXIV, ClassXV, ClassXVI, ClassXVII, ClassXVIII
(African languagescurrently Afrikaans, Xhosa, and Zulu)
Note: The following genders are displayed on the Rename Tabs and
Labels page in Setup but are stored internally as Feminine. When setting
them through the Metadata API, use Feminine.
Euter (Swedish)
Common (Dutch)
645
Metadata Field TypesMetadata Types
What the Field ContainsObjectsField Type
(This field type isnt used in Metadata API. CustomField includes this field type for
Tooling API support). Represents a picklist, a set of labels and values that can be
selected from a picklist.
Custom fieldPicklist (Including Dependent
Picklist)
Represents the sharing model for the custom object. Depending on the object,
valid values are:
Custom objectSharingModel
Private
Read
ReadWrite
ReadWriteTransfer
FullAccess
ControlledByParent
ControlledByCampaign
ControlledByLeadOrContact
For example, the User object supports Private and Read values. Accounts,
opportunities, and custom objects support Private, Read and ReadWrite
values. Campaign members support ControlledByCampaign and
ControlledByLeadOrContact.
Indicates whether the noun starts with a vowel, consonant, or is a special character.
This is used for languages where words need different treatment depending on
the first character. Valid values are:
Custom object
Custom field
StartsWith
Consonant
Vowel
Special (for nouns starting with z, or s plus
consonants)
Indicates how blanks should be treated. Valid values are:Custom fieldTreatBlanksAs
BlankAsBlank
BlankAsZero
Represents a set of values that can be selected from a custom picklist field. Defines
the valueSet of a custom picklist field.
Custom fieldValueSet
ValueSet
Represents a set of values that can be selected from a custom picklist field. Defines the valueSet of a custom picklist field.
DescriptionField TypeField Type
The fullname of the controlling field if this is a dependent picklist. A
controlling field can be a checkbox or picklist field, but in this case its a picklist.
The controlling picklist filters the available values in the dependent picklist.
stringcontrollingField
646
Metadata Field TypesMetadata Types
DescriptionField TypeField Type
Whether the picklists values are limited to only the values defined by a
Salesforce admin. Values are true or false.
booleanrestricted
Defines value-specific settings for a custom dependent picklist. Indicates
whether the value set of the custom picklist field is sorted alphabetically.
ValueSetValuesDefinitionvalueSetDefinition
The masterLabel of the global value set to be used for this picklist field.stringvalueSetName
Used for the settings that describe a value in a custom picklist field. The picklist
can have its own unique value set, or inherit the values from a global value
ValueSettingsvalueSettings
set. You can add field dependency values via Metadata API but not remove
them.
ValueSetValuesDefinition
DescriptionField TypeField Name
Whether the picklists value set is displayed in alphabetical order in the user
interface.
booleansorted
Required. The list of values for this local, custom picklist.CustomValuevalue
ValueSettings
DescriptionField TypeField Name
Applies only to dependent custom picklists. A list of values in the controlling
or parent picklist (that the custom picklist values depend on).
stringstring[]controllingFieldValue
Defines the values in the custom dependent picklist.stringvalueName
CustomObjectTranslation
This metadata type allows you to translate custom objects for a variety of languages.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field. The ability to translate component labels is part of the
Translation Workbench.
Declarative Metadata File Suffix and Directory Location
Translations are stored in a file with a format of customObjectName__c-lang.objectTranslation, where
customObjectName__c is the custom object name, and lang is the translation language. A sample file name for German
translations is myCustomObject__c-de.objectTranslation.
647
CustomObjectTranslationMetadata Types
Custom object translations are stored in the objectTranslations folder in the corresponding package directory.
Version
CustomObjectTranslation components are available in API version 14.0 and later.
Fields
DescriptionField TypeField
Different combinations of the custom object with regard to
article, plural, possessive, and case.
ObjectNameCaseValue[]caseValues
A list of translations for the custom fields associated with the
custom object.
CustomFieldTranslation[]fields
A list of field set translations. Available in API version 41.0 and
later.
FieldSetTranslation[]fieldSets
The name of the custom object and the translation language
with a format of customObjectName-lang, where
stringfullName
customObjectName is the custom object name, and lang
is the translation language.
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating, updating,
or deleting. See createMetadata() to see an example of
this field specified for a call.
Indicates the gender of the noun that represents the object. This
is used for languages where words need different treatment
depending on their gender.
Gendergender
A list of page layout translations.LayoutTranslation[]layouts
The label for the name field. Maximum of 765 characters.stringnameFieldLabel
A list of translations for lookup filter error messages associated
with the custom object.
This field has been removed as of API version 30.0 and is only
available in prior versions. The translation metadata associated
NamedFilterTranslation[]namedFilters
with a lookup filter is now represented by the lookupFilter
field in the CustomFieldTranslation on page 649 subtype.
A list of translations for actions.QuickActionTranslation[]quickActions
A list of record type translations.RecordTypeTranslation[]recordTypes
A list of sharing reason translations.SharingReasonTranslation[]sharingReasons
Indicates whether the noun starts with a vowel, consonant, or
is a special character. This is used for languages where words
need different treatment depending on the first character.
StartsWith (enumeration of type
string)
startsWith
648
CustomObjectTranslationMetadata Types
DescriptionField TypeField
A list of validation rule translations.ValidationRuleTranslation[]validationRules
A list of web link translations.WebLinkTranslation[]webLinks
A list of workflow task translations.WorkflowTaskTranslation[]workflowTasks
CustomFieldTranslation
CustomFieldTranslation contains details for a custom field translation. In API versions 37.0 and earlier standard picklist values could be
translated with CustomFieldTranslation. In API version 38.0, use StandardValueSetTranslation instead. For more details, see CustomField.
Note: Not every language supports all the possible values for the fields in CustomFieldTranslation. For language-specific supported
values, see the fully supported languages and end-user languages appendices.
DescriptionField TypeField
Different combinations of the custom object with regard to
article, plural, possessive, and case. Available in API version 29.0
and later.
ObjectNameCaseValue[]caseValues
Translation for the custom field description.stringdescription
Available in API version 29.0 and later.Gendergender
Translation for the text that displays in the field-level help hover
text for this field.
stringhelp
Translation for the label. Maximum of 765 characters.stringlabel
Represents the translation metadata associated with a lookup
filter.
This field is available in API version 30.0 and later.
LookupFilterTranslationlookupFilter
LookupFilter isnt supported on the article type object.
Required. The name of the field relative to the custom object;
for example, MyField__c.
stringname
List of translations for picklist values. See PicklistValue.
Note: Subject on the Task object is a text field, not a picklist
value. It cant be retrieved via Metadata API. Translations can be
provided via the Translation Workbench.
PicklistValueTranslation[]picklistValues
Translation for a lookup relationship label. A lookup relationship
allows a field to be associated with another field. The relationship
stringrelationshipLabel
field allows users to select an option from a list of values defined
by the other field. Maximum of 765 characters.
Indicates whether the noun starts with a vowel, consonant, or
is a special character. Used for languages where words need
StartsWith (enumeration of type
string)
startsWith
649
CustomObjectTranslationMetadata Types
DescriptionField TypeField
different treatment depending on the first character. Available
in API version 29.0 and later.
FieldSetTranslation
FieldSetTranslation contains details for a field set translation. For more details, see FieldSet. Available in API 41.0 and later.
DescriptionField TypeField
Required. Translation for the field set label. Maximum of 765
characters.
stringlabel
Required. The field set name.stringname
LayoutTranslation
LayoutTranslation contains details for a page layout translation. For more details, see Fields.
DescriptionField TypeField
Required. The layout name.stringlayout
stringlayoutType
An array of layout section translations.LayoutSectionTranslation[]sections
LayoutSectionTranslation
LayoutSectionTranslation contains details for a page layout section translation. For more details, see LayoutSection.
DescriptionField TypeField
Required. Translation for the label. Maximum of 765 characters.stringlabel
Required. The section name.stringsection
LookupFilterTranslation
LookupFilterTranslation shows a translation for a lookup filter error message associated with the custom object. Replaces
NamedFilterTranslation.
LookupFilterTranslation is available in API version 30.0 and later.
DescriptionField TypeField
The error message that appears if the lookup filter fails.stringerrorMessage
650
CustomObjectTranslationMetadata Types
DescriptionField TypeField
The information message displayed on the page. Use to describe
things some users don't understand, such as why certain items
are excluded in the lookup filter.
stringinformationalMessage
NamedFilterTranslation
NamedFilterTranslation has been removed as of API version 30.0 and is only available in previous API versions.
NamedFilterTranslation shows a list of translations for lookup filter error messages associated with the custom object. See NamedFilter
for more information.
DescriptionField TypeField
The error message that appears if the lookup filter fails.stringerrorMessage
The information message displayed on the page. Use to describe
things the user doesnt understand, such as why certain items
are excluded in the lookup filter.
stringinformationalMessage
Required. The name of the lookup filter. If you create this field
in the user interface, a name is automatically assigned. If you
stringname
create this field through Metadata API, you must include the
name field.
ObjectNameCaseValue
ObjectNameCaseValue supports multiple cases and definitions of the custom object name to allow usage in various grammatical contexts.
Note: Not every language supports all the possible values for the fields in ObjectNameCaseValue. For language-specific supported
values, see the fully supported languages and end-user languages appendices.
DescriptionField TypeField
English has two types of articles: definite (the) and indefinite
(a, an). The usage of these articles depends mainly on whether
Article (enumeration of type
string)
article
you'e referring to any member of a group, or to a specific
member of a group. The valid values are:
Definite
Indefinite
None
The case of the custom object name. The valid values are:CaseType (enumeration of type
string)
caseType
Ablative
Accusative
Adessive
Allative
651
CustomObjectTranslationMetadata Types
DescriptionField TypeField
Causalfinal
Dative
Delative
Distributive
Elative
Essive
Essiveformal
Genitive
Illative
Inessive
Instrumental
Lative
Locative
Nominative
Objective
Partitive
Prepositional
Subjective
Sublative
Superessive
Termanative
Translative
Vocative
Indicates whether the value field is plural (true) or singular
(false).
booleanplural
The possessive case of a language is a grammatical case used
to indicate a relationship of possession. The valid values are:
Possessive (enumeration of type
string)
possessive
First
None
Second
Required. The value or label in this grammatical context.stringvalue
PicklistValueTranslation
PicklistValueTranslation contains details for translation of a picklist value from a local, custom picklist field. For more details, see Picklist
(Including Dependent Picklist).
652
CustomObjectTranslationMetadata Types
DescriptionField TypeField
Required. The picklist value defined on the setup page in the
application. Displayed wherever a translated label isn't available.
stringmasterLabel
Required. Translation for the value.stringtranslation
QuickActionTranslation
QuickActionTranslation contains details for an action label in the user interface. For more information, see QuickAction.
DescriptionField TypeField
Identifies which quick action label the translated text belongs
to. Use this field only when you want to use different strings for
stringaspect
the quick action's field label and informational message. Valid
values are Master and InfoMessage. Available in API
version 53.0 and later.
Required. Translation for the label. Maximum of 765 characters.stringlabel
Required. The quick action name.stringname
RecordTypeTranslation
RecordTypeTranslation contains details for a record type name translation. For more details, see RecordType.
DescriptionField TypeField
Required. Translation for the label. Maximum of 765 characters.stringlabel
Required. The record type name.stringname
Translation for the record type description. Available in API
version 42.0 and later.
stringdescription
SharingReasonTranslation
SharingReasonTranslation contains details for a sharing reason translation. For more details, see SharingReason.
DescriptionField TypeField
Required. Translation for the sharing reason.stringlabel
Required. The sharing reason name.stringname
ValidationRuleTranslation
ValidationRuleTranslation contains details for a validation rule translation. For more details, see ValidationRule.
653
CustomObjectTranslationMetadata Types
DescriptionField TypeField
Required. Translation for the error message associated with the
validation rule failure.
stringerrorMessage
Required. The validation rule name.stringname
WebLinkTranslation
WebLinkTranslation contains details for a web link translation. For more details, see WebLink.
DescriptionField TypeField
Required. Translation for the web link label. Maximum of 765
characters.
stringlabel
Required. The web link name.stringname
WorkflowTaskTranslation
WorkflowTaskTranslation contains details for a workflow task translation. For more details, see Workflow.
DescriptionField TypeField
Translation for the workflow task description.stringdescription
Required. The workflow task name.stringname
Translation for the workflow task subject.stringsubject
Declarative Metadata Sample Definitions
This sample XML definition shows a CustomObjectTranslation for the Description__c object in German, with one custom field, Summary__c.
The name and location of the file containing this definition would be
objectTranslations/Description__c-de.objectTranslation.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObjectTranslation xmlns="http://soap.sforce.com/2006/04/metadata">
<caseValues>
<caseType>Nominative</caseType>
<plural>false</plural>
<value>Beschreibung</value>
</caseValues>
<caseValues>
<caseType>Nominative</caseType>
<plural>true</plural>
<value>Beschreibungen</value>
</caseValues>
<caseValues>
<caseType>Accusative</caseType>
<plural>false</plural>
654
CustomObjectTranslationMetadata Types
<value>Beschreibung</value>
</caseValues>
<caseValues>
<caseType>Accusative</caseType>
<plural>true</plural>
<value>Beschreibungen</value>
</caseValues>
<caseValues>
<caseType>Genitive</caseType>
<plural>false</plural>
<value>Beschreibung</value>
</caseValues>
<caseValues>
<caseType>Genitive</caseType>
<plural>true</plural>
<value>Beschreibungen</value>
</caseValues>
<caseValues>
<caseType>Dative</caseType>
<plural>false</plural>
<value>Beschreibung</value>
</caseValues>
<caseValues>
<caseType>Dative</caseType>
<plural>true</plural>
<value>Beschreibungen</value>
</caseValues>
<fields>
<label>Zusammenfassung</label>
<name>Summary__c</name>
</fields>
<gender>Feminine</gender>
<nameFieldLabel>Beschreibungen</nameFieldLabel>
</CustomObjectTranslation>
This sample XML definition shows a CustomObjectTranslation for the Account object, renaming Account to Client (Kunde) in German.
The Account object has one standard field, account_number, and one custom field, Account_Code__c. The name and location of the
file containing this definition would be objectTranslations/Account-de.objectTranslation.
<?xml version="1.0" encoding="UTF-8"?>
<CustomObjectTranslation xmlns="http://soap.sforce.com/2006/04/metadata">
<caseValues>
<caseType>Nominative</caseType>
<plural>false</plural>
<value>Kunde</value>
</caseValues>
<caseValues>
<caseType>Nominative</caseType>
<plural>true</plural>
<value>Kunden</value>
</caseValues>
<caseValues>
<caseType>Accusative</caseType>
<plural>false</plural>
<value>Kunden</value>
655
CustomObjectTranslationMetadata Types
</caseValues>
<caseValues>
<caseType>Accusative</caseType>
<plural>true</plural>
<value>Kunden</value>
</caseValues>
<caseValues>
<caseType>Genitive</caseType>
<plural>false</plural>
<value>Kunden</value>
</caseValues>
<caseValues>
<caseType>Genitive</caseType>
<plural>true</plural>
<value>Kunden</value>
</caseValues>
<caseValues>
<caseType>Dative</caseType>
<plural>false</plural>
<value>Kunden</value>
</caseValues>
<caseValues>
<caseType>Dative</caseType>
<plural>true</plural>
<value>Kunden</value>
</caseValues>
<fields>
<caseValues>
<caseType>Nominative</caseType>
<plural>false</plural>
<value>Kundennummer</value>
</caseValues>
<caseValues>
<caseType>Nominative</caseType>
<plural>true</plural>
<value>Kundennummern</value>
</caseValues>
<gender>Feminine</gender>
<name>account_number</name>
</fields>
<fields>
<label>Kunden-Code</label>
<name>Account_Code__c</name>
</fields>
<gender>Masculine</gender>
</CustomObjectTranslation>
656
CustomObjectTranslationMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
Translations
CustomPageWebLink
Represents a custom link defined in a home page component.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
All other custom links are stored as a WebLink in a CustomObject.
Declarative Metadata File Suffix and Directory Location
There is one file per custom link definition, stored in the weblinks folder in the corresponding package directory. The file suffix is
.weblink.
Version
CustomPageWebLinks are available in API version 13.0 and later.
Fields
DescriptionField TypeField Name
Required. Indicates whether the link is only available online (online,
or if it is also available offline (offline).
WebLinkAvailability
(enumeration of type string)
availability
A description of the link.stringdescription
Represents how this link is rendered.
Valid values:
WebLinkDisplayType
(enumeration of type string)
displayType
link for a hyperlink
button for a button
massActionButton for a button attached to a related list
657
CustomPageWebLinkMetadata Types
DescriptionField TypeField Name
Required. The default encoding setting is Unicode: UTF-8. Change it if
your template requires data in a different format. This is available if your
content source is URL. Valid values include:
Encoding (enumeration of type
string)
encodingKey
UTF-8Unicode (UTF-8)
ISO-8859-1General US & Western Europe (ISO-88591,
ISO-LATIN-1)
Shift_JISJapanese (Shift-JIS)
ISO-2022-JPJapanese (JIS)
EUC-JPJapanese (EUC-JP)
x-SJIS_0213Japanese (Shift-JIS_2004)
ks_c_5601-1987Korean (ks_c_5601-1987)
Big5Traditional Chinese (Big5)
GB2312Simplified Chinese (GB2312)
Big5-HKSCSTraditional Chinese Hong Kong (Big5HKSCS)
The name used as a unique identifier for API access. The fullName
can contain only underscores and alphanumeric characters. It must be
stringfullName
unique, begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
If the openType is newWindow, this field indicates whether to show
the browser menu bar for the window (true or not (false). Otherwise,
leave this field empty.
booleanhasMenubar
If the openType is newWindow, this field indicates whether to show
the scroll bars for the window (true) or not (false). Otherwise, leave
this field empty.
booleanhasScrollbars
If the openType is newWindow, this field indicates whether to show
the browser toolbar for the window (true) or not (false). Otherwise,
leave this field empty.
booleanhasToolbar
Height in pixels of the window opened by the link. Required if the
openType is newWindow. Otherwise, leave this field empty.
intheight
If the openType is newWindow, this field indicates whether to allow
resizing of the window (true) or not (false). Otherwise, leave this
field empty.
booleanisResizable
Required. Represents whether the content of the button or link is specified
by a URL, an sControl, a JavaScript code block, or a Visualforce page.
WebLinkType (enumeration of
type string)
linkType
url
sControl
javascript
page
flowReserved for future use.
658
CustomPageWebLinkMetadata Types
DescriptionField TypeField Name
The label for the link.stringmasterLabel
Required. When the link is clicked, this field specifies the window style
used to display the content.
Valid values are:
WebLinkWindowType
(enumeration of type string)
openType
newWindow
sidebar
noSidebar
replace
onClickJavaScript
If the value of linkType is page, this field represents the Visualforce
page. Otherwise, leave this field empty.
stringpage
If the openType is newWindow, this field indicates how the new
window should be displayed. Otherwise, leave this field empty.
Valid values are:
WebLinkPosition (enumeration
of type string)
position
fullScreen
none
topLeft
Required. Indicates whether this component is protected (true) or not
(false). Protected components cannot be linked to or referenced by
components created in the installing organization.
booleanprotected
If the openType is massAction, this field indicates whether to
require individual row selection to execute the action for this button
(true) or not (false). Otherwise, leave this field empty.
booleanrequireRowSelection
If the value of linkType is sControl, this field represents the name
of the sControl. Otherwise, leave this field empty.
stringscontrol
If the openType is newWindow, this field indicates whether or not
to show the browser location bar for the window. Otherwise, leave this
field empty.
booleanshowsLocation
If the openType is newWindow, this field indicates whether or not
to show the browser status bar for the window. Otherwise, leave this field
empty.
booleanshowsStatus
If the value of linkType is url, this field represents the URL value. If
the value of linkType is javascript, this field represents the
JavaScript content. If the value is neither of these, leave this field empty.
stringurl
Content must be escaped in a manner consistent with XML parsing rules.
659
CustomPageWebLinkMetadata Types
DescriptionField TypeField Name
Width in pixels of the window opened by the link.
Required if the openType is newWindow. Otherwise, leave this field
empty.
intwidth
Declarative Metadata Sample Definition
The following is the definition of a Weblink. For related samples, see HomePageComponent and HomePageLayout.
<?xml version="1.0" encoding="UTF-8"?>
<CustomPageWebLink xmlns="http://soap.sforce.com/2006/04/metadata">
<availability>online</availability>
<displayType>button</displayType>
<encodingKey>UTF-8</encodingKey
<hasMenubar>false</hasMenubar>
<hasScrollbars>true</hasScrollbars>
<hasToolbar>false</hasToolbar>
<height>600</height>
<isResizable>true</isResizable>
<linkType>url</linkType>
<masterLabel>detailPageButon</masterLabel>
<openType>newWindow</openType>
<position>none</position>
<protected>false</protected>
<showsLocation>false</showsLocation>
<showsStatus>false</showsStatus>
<url>http://google.com</url>
</CustomPageWebLink>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
HomePageComponent
HomePageLayout
WebLink
CustomPermission
Represents a permission that grants access to a custom feature. This type extends the Metadata metadata type and inherits its fullName
field.
660
CustomPermissionMetadata Types
File Suffix and Directory Location
CustomPermission components have the suffix .customPermission and are stored in the customPermissions folder.
Version
CustomPermission components are available in API version 31.0 and later.
Special Access Rules
As of Summer 20 and later, only users who have one of these permissions can access this object:
View Setup and Configuration
Manage Session Permission Set Activations
Assign Permission Sets
Fields
DescriptionField TypeField Name
The name of the connected app thats
associated with this permission. Limit: 80
characters.
stringconnectedApp
The custom permission description. Limit:
255 characters.
stringdescription
Required. Read-only. Indicates whether the
appropriate Salesforce license is required
booleanisLicensed
before accessing the permission (true) or
not (false).
Required. The custom permission label.
Limit: 80 characters.
stringlabel
Indicates which custom permissions are
required by the parent custom permission.
CustomPermissionDependencyRequired[]requiredPermission
This field is available in API version 32.0 and
later.
CustomPermissionDependencyRequired
CustomPermissionDependencyRequired determines whether a custom permission is required by the parent custom permission. A
required custom permission must be enabled when its parent is enabled.
DescriptionField TypeField Name
Required. The custom permission name.stringcustomPermission
661
CustomPermissionMetadata Types
DescriptionField TypeField Name
Required. Indicates whether this custom permission is required by the
parent custom permission (true) or not (false).
booleandependency
Declarative Metadata Sample Definition
The following is an example of a CustomPermission component.
<?xml version="1.0" encoding="UTF-8"?>
<CustomPermission xmlns="http://soap.sforce.com/2006/04/metadata">
<connectedApp>Acme</connectedApp>
<description>Read and edit access for Acme accounts.</description>
<label>Acme Account Full Access</label>
<requiredPermission>
<customPermission>Acme_Account_Read</customPermission>
<dependency>true</dependency>
</requiredPermission>
</CustomPermission>
The following is an example package.xml that references the previous definition, as well as other custom permissions that are
associated with a connected app.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Acme</members>
<name>ConnectedApp</name>
</types>
<types>
<members>Acme_Account_Email_Read</members>
<members>Acme_Account_Phone_Edit</members>
<members>Acme_Account_Full_Access</members>
<members>Acme_Account_Read</members>
<name>CustomPermission</name>
</types>
<types>
<members>Acme_Account_Email_Read</members>
<members>Acme_Account_Phone_Edit</members>
<members>Acme_Account_Full_Access</members>
<members>Acme_Account_Read</members>
<name>PermissionSet</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
662
CustomPermissionMetadata Types
CustomSite
Represents a Salesforce site. Create public websites and applications that are directly integrated with your Salesforce organization, but
don't require users to log in with a username and password.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
For more information, see Salesforce Sites in Salesforce Help.
Note: CustomSite doesnt currently support syndication feeds.
This type extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
Lightning Platform CustomSite components are stored in the sites directory of the corresponding package directory. The file name
matches the site name, and the extension is .site.
Version
Lightning Platform CustomSite components are available in API version 14.0 and later.
Fields
DescriptionField TypeField
Required. Determines whether the site is active.booleanactive
Required. Determines whether the standard home
page is visible to public users. This field is available in
API version 15.0 and later.
booleanallowHomePage
Determines whether the standard answer pages are
visible to public users. This field is available in API
version 19.0 and later.
booleanallowStandardAnswersPages
Required. Determines whether the standard Ideas
pages are visible to public users. This field is available
in API version 15.0 and later.
booleanallowStandardIdeasPages
Required. Determines whether the standard lookup
pages are visible to public users. This field is available
in API version 15.0 and later.
booleanallowStandardLookups
Required. When enabled, authenticated users in this
site can access standard Salesforce pages as allowed
booleanallowStandardPortalPages
by their access controls. When disabled, authenticated
users in this site can't access standard Salesforce
pages, even if their access controls allow it. If your site
serves only Visualforce pages, disabling this setting
663
CustomSiteMetadata Types
DescriptionField TypeField
helps add a layer of access protection to your site. This
field is available in API version 39.0 and later.
Required. Determines whether the standard search
pages are visible to public users. This field is available
in API version 15.0 and later.
booleanallowStandardSearch
The tracking code associated with your site. Services
such as Google Analytics can use this code to track
stringanalyticsTrackingCode
page request data for your site. This field is available
in API version 17.0 and later.
The name of the Visualforce page to be displayed
when the guest user tries to access a page for which
they are not authorized.
stringauthorizationRequiredPage
The name of the Visualforce page to be displayed
when the site has exceeded its bandwidth quota.
stringbandwidthExceededPage
Required. Determines whether protection against
reflected cross-site scripting attacks is enabled. If a
booleanbrowserXssProtection
reflected cross-site scripting attack is detected, the
browser shows a blank page with no content.
Available in API version 41.0 and later.
Indicates whether proxy servers cache this sites
publicly available pages only for unauthenticated
booleancachePublicVisualforcePagesInProxyServers
guest users (true) or not (false). When this field
is false, this sites cache-enabled Visualforce pages
are cached in the web browser for both authenticated
and unauthenticated users. The default is true. See
Configure Site Caching in Salesforce Help for more
information.
This field is available in API version 52.0 and later.
The name of the Visualforce page to be displayed
when the portal user attempts to change their
stringchangePasswordPage
password for either the portal or for Chatter Answers,
when enabled.
The name of the Visualforce page to be displayed that
informs the user that an email has been sent to them
stringchatterAnswersForgotPasswordConfirmPage
with a temporary password. This field is available if
Chatter Answers is enabled for your organization. This
field is available in API version 27.0 and later.
The name of the Visualforce page to be displayed
when a user clicks the link to retrieve a forgotten
stringchatterAnswersForgotPasswordPage
password. This field is available if Chatter Answers is
664
CustomSiteMetadata Types
DescriptionField TypeField
enabled for your organization. This field is available in
API version 27.0 and later.
The name of the Visualforce page to be displayed
when the user clicks the help link. This field is available
stringchatterAnswersHelpPage
if Chatter Answers is enabled for your organization.
This field is available in API version 27.0 and later.
The name of the Visualforce page to be displayed to
allow users to log in to the portal. This field is available
stringchatterAnswersLoginPage
if Chatter Answers is enabled for your organization.
This field is available in API version 27.0 and later.
The name of the Visualforce page to be displayed to
allow users to register themselves and access the
stringchatterAnswersRegistrationPage
portal. This field is available in API version 27.0 and
later.
Required. Sets the clickjack protection level. The
options are:
SiteClickjackProtectionLevel
(enumeration of type
string)
clickjackProtectionLevel
AllowAllFraming Allow framing by any
page (no protection)
External Allow framing of site or
Experience Cloud site pages on external domains
(good protection)
SameOriginOnly Allow framing by the
same origin only (recommended)
NoFraming Dont allow framing by any
page (most protection)
This field is available in API version 30.0 and later.
Required. Determines whether the browser is
prevented from inferring the MIME type from the
booleancontentSniffingProtection
document content. If enabled, it also prevents the
browser from executing some malicious files
(JavaScript, Stylesheet) as dynamic content. This field
is available in API version 41.0 and later.
This field is removed in API version 52.0 and later. In
API version 51.0 and earlier, the value in the field is
ignored.
booleancspUpgradeInsecureRequests
The root custom URLs associated with the site. Saving
or deploying a CustomSite replaces all root custom
SiteWebAddress[]customWebAddresses
URLs in the site with the root custom URLs in this list.
Custom URLs that use a non-root path prefix are not
included in this list and are not affected when saving
or deploying a CustomSite. This field is available in API
version 21.0 and later.
665
CustomSiteMetadata Types
DescriptionField TypeField
The site description.stringdescription
Determines whether guest users can view features
available only in Lightning (true). If set to false,
booleanenableAuraRequests
Lightning features dont load. This field is available in
API version 46.0 and later.
The name of the file to be used for the icon that
appears in the browser's address field when visiting
the site. Sets the favorite icon for the entire site.
stringfavoriteIcon
The name of the Visualforce page to be displayed
when the guest user tries to access a non-existent
page.
stringfileNotFoundPage
The name of the Visualforce page to be displayed
when a user clicks the Forgot Password link on the
stringforgotPasswordPage
sites login page. This field is only applicable for
Experience Cloud sites.
The name of the Visualforce page to be displayed for
errors not otherwise specified.
stringgenericErrorPage
Read only. The name of the profile associated with
the guest user.
stringguestProfile
The name of the Visualforce page to be displayed
when the site is down for maintenance.
stringinMaintenancePage
The name of the Visualforce page set as the inactive
site home page.
stringinactiveIndexPage
Required. The name of the Visualforce page set as the
active site home page.
stringindexPage
Required. The name of the site label in the Salesforce
user interface.
stringmasterLabel
The name of the Visualforce page to be displayed as
the site users profile page, where users can update
stringmyProfilePage
their contact information. This field is available in API
version 20.0 and later.
The name of the portal associated with this site for
login access.
stringportal
Indicates whether requests for this sites
system-managed URLs are redirected to the HTTPS
booleanredirectToCustomDomain
custom domain serving this site (true) or not
(false). System-managed site URLs end in
*.my.salesforce-sites.com or
*.my.site.com. In Experience Cloud sites, the
666
CustomSiteMetadata Types
DescriptionField TypeField
default is false. In Salesforce Sites, the default is
true.
If multiple custom domains serve this site and this
field is set to true, requests are routed to the sites
primary custom URL only if its an HTTPS custom
domain. Otherwise, requests are redirected to the first
HTTPS custom domain associated with this site, in
alphanumeric order. If no HTTPS custom domain
serves this site, this option has no effect.
This field is available in API version 52.0 and later.
Required. Determines whether the referrer header
shows only Salesforce.com rather than the entire URL
booleanreferrerPolicyOriginWhenCrossOrigin
when loading a page. This feature eliminates the
potential for a referrer header to reveal sensitive
information that could be present in a full URL, such
as an org ID. This field is available in API version 41.0
and later.
This field is removed in API version 52.0 and later. In
API version 51.0 and earlier, the value in the field is
ignored.
booleanrequireHttps
Determines whether to override your organization's
security settings and exclusively use HTTP when
booleanrequireInsecurePortalAccess
logging in to the associated portal from your site.
Removed in API version 50.0 and later.
The name of the Visualforce page to be displayed for
the robots.txt file used by web crawlers.
stringrobotsTxtPage
Visualforce page used for self-registration.stringselfRegPage
The name of the static resource to be displayed from
the cache server when Salesforce servers are down.
stringserverIsDown
The static resource must be a public zip file 1 MB or
smaller and must contain a page named
maintenance.html at the root level of the zip
file. Other resources in the zip file, such as images or
CSS files, can follow any directory structure. This field
is available in API version 17.0 and later.
The username of the site administrator.stringsiteAdmin
The username of the user who owns all new records
that unauthenticated guest users create. This field is
available in API version 51.0 and later.
stringsiteGuestRecordDefaultOwner
667
CustomSiteMetadata Types
DescriptionField TypeField
The list of external domains that you allow to frame
your Salesforce site. This field is available in API 49.0
and later.
SiteIframeWhiteListUrl[]siteIframeWhiteListUrls
An array of all URL redirect rules set for your site. This
field is available in API version 20.0 and later.
SiteRedirectMapping[]siteRedirectMappings
The name of the Visualforce page to be used as the
site template.
stringsiteTemplate
Required. Identifies whether the site is a Visualforce
(Salesforce Sites), Site.com site, or ChatterNetwork
siteTypesiteType
(Salesforce Sites).This field is available in API version
27.0 and later.
Read only. The previous custom subdomain prefix for
the site. For example, if your site URL is
stringsubdomain
mycompany.force.com/partners,
mycompany is the subdomain.
This field is applicable and required only when the
myDomainSuffix MyDomainSettings field is set
to MySalesforceLimited,
CloudforceLimited, or
DatabaseLimited.
If you enabled Salesforce Sites or Digital Experiences
when the myDomainSuffix MyDomainSettings
field was set to one of those values, this field returns
this sites previous subdomain. Otherwise, this field
returns a null value.
The first part of the path on the site's URL that
distinguishes this site from other sites. For example,
stringurlPathPrefix
if your site URL is
MyDomainName.my.salesforce-sites.com/partners,
partners is the urlPathPrefix.
SiteIframeWhiteListUrl
Represents the external domains that you allow to frame your site or experience pages.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
DescriptionField TypeField
Required. The trusted domain that you allow
to frame your site or Experience Cloud site
stringurl
pages. Accepts these formats: example,
668
CustomSiteMetadata Types
DescriptionField TypeField
example.com, *example.com, and
https://example.com.
SiteRedirectMapping
SiteRedirectMapping represents a URL redirect rule on your Salesforce site. in Salesforce Help.
DescriptionField TypeField
Required. The type of the redirect. Available
string values are:
SiteRedirect (enumeration of type string)action
Permanent
Temporary
The status of the redirect: active or inactive.booleanisActive
Required. The URL that you want to redirect.
It must be a relative URL, but can have any
stringsource
valid extension type, such as .html or
.php.
Required. The new URL you want users to
visit. It can be a relative URL or a
stringtarget
fully-qualified URL with an http:// or
https:// prefix.
SiteWebAddress
Represents the web address of a Salesforce site.
DescriptionField TypeField
Identifies the certificate associated with the
custom domain. If the custom domain is set
stringcertificate
up for Salesforce to serve HTTPS, this field
indicates which certificate to use.
Required. The domain of the website, in the
form of www.acme.com.
stringdomainName
Required. Indicates whether this is the
primary domain (true). If false, this is
not the primary domain.
booleanprimary
669
CustomSiteMetadata Types
Declarative Metadata Sample Definition
Here is a sample XML definition of a site.
<?xml version="1.0" encoding="UTF-8"?>
<CustomSite xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<allowHomePage>true</allowHomePage>
<allowStandardAnswersPages>true</allowStandardAnswersPages>
<allowStandardIdeasPages>true</allowStandardIdeasPages>
<allowStandardLookups>true</allowStandardLookups>
<allowStandardPortalPages>true</allowStandardPortalPages>
<allowStandardSearch>true</allowStandardSearch>
<analyticsTrackingCode>UA-000000-2</analyticsTrackingCode>
<authorizationRequiredPage>Unauthorized</authorizationRequiredPage>
<bandwidthExceededPage>BandwidthExceeded</bandwidthExceededPage>
<browserXssProtection>true</browserXssProtection>
<cachePublicVisualforcePagesInProxyServers>false</cachePublicVisualforcePagesInProxyServers>
<changePasswordPage>ChangePassword</changePasswordPage>
<chatterAnswersForgotPasswordConfirmPage>ChatterAnswersForgotPasswordConfirm</chatterAnswersForgotPasswordConfirmPage>
<chatterAnswersForgotPasswordPage>ChatterAnswersForgotPassword</chatterAnswersForgotPasswordPage>
<chatterAnswersHelpPage>ChatterAnswersHelp</chatterAnswersHelpPage>
<chatterAnswersLoginPage>ChatterAnswersLogin</chatterAnswersLoginPage>
<chatterAnswersRegistrationPage>ChatterAnswersRegistration</chatterAnswersRegistrationPage>
<clickjackProtectionLevel>SameOriginOnly</clickjackProtectionLevel>
<contentSniffingProtection>true</contentSniffingProtection>
<customWebAddresses>
<domainName>www.testing123.com</domainName>
<primary>true</primary>
</customWebAddresses>
<description>Partners portal for My Company</description>
<enableAuraRequests>true</enableAuraRequests>
<favoriteIcon>myFavIcon</favoriteIcon>
<fileNotFoundPage>FileNotFound</fileNotFoundPage>
<forgotPasswordPage>ForgotPassword</forgotPasswordPage>
<genericErrorPage>Exception</genericErrorPage>
<guestProfile>Guest</guestProfile>
<inMaintenancePage>InMaintenance</inMaintenancePage>
<inactiveIndexPage>Inactive</inactiveIndexPage>
<indexPage>UnderConstruction</indexPage>
<masterLabel>customSite</masterLabel>
<myProfilePage>UserProfile</myProfilePage>
<portal>Customer Portal</portal>
<redirectToCustomDomain>true</redirectToCustomDomain>
<referrerPolicyOriginWhenCrossOrigin>true</referrerPolicyOriginWhenCrossOrigin>
<robotsTxtPage>RobotsTxt</robotsTxtPage>
<selfRegPage>SelfReg</selfRegPage>
670
CustomSiteMetadata Types
<serverIsDown>MyServerDownResource</serverIsDown>
<siteAdmin>[email protected]</siteAdmin>
<siteGuestRecordDefaultOwner>[email protected]</siteGuestRecordDefaultOwner>
<siteIframeWhiteListUrl>
<url>example.com</url>
</siteIframeWhiteListUrl>
<siteTemplate>SiteTemplate</siteTemplate>
<siteType>Siteforce</siteType>
<subdomain>myco</subdomain>
<urlPathPrefix>partners</urlPathPrefix>
</CustomSite>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Portal
CustomTab
Represents a custom tab. Custom tabs let you display custom object data or other web content in Salesforce. When you add a custom
tab to an app in Salesforce Classic, it appears as a tab. When you add a custom tab to an app in Lightning Experience, it appears as an
item in the apps navigation bar and in the App Launcher. When a tab displays a custom object, the tab name is the same as the custom
object name. For page, s-control, or URL tabs, the name is arbitrary.
For more information, see Custom Tabs in Salesforce Help. This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
The file suffix is .tab. Theres one file for each tab, stored in the tabs folder in the corresponding package directory.
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Version
Tabs are available in API version 10.0 and later.
Fields
This metadata type contains the following fields:
671
CustomTabMetadata Types
DescriptionField TypeField Name
A list of the action overrides that are assigned to the tab. Only one
override is allowed per formFactor for a given tab.
This field is available in API version 37.0 and later.
ActionOverride[]actionOverrides
The name of the Aura component to display in this tab.
Only one of these fields can have a value set:
stringauraComponent
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
Indicates whether this tab is for a custom object (true) or not (false).
If set to true, the name of the tab matches the name of the custom
object.
Only one of these fields can have a value set:
booleancustomObject
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
The optional description text for the tab.stringdescription
The name of the Lightning page to display in this tab.
Only one of these fields can have a value set:
stringflexiPage
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
The height, in pixels of the tab frame. Required for s-control and page
tabs.
intframeHeight
672
CustomTabMetadata Types
DescriptionField TypeField Name
The name of the tab. The value of this field depends on the type of tab,
and the API version.
stringfullName
For custom object tabs, the fullName is the developer-assigned
name of the custom object (MyCustomObject__c, for example). For
custom object tabs, this name must be the same as the custom
object name, and customObject must be set to true.
For web tabs, the fullName is the developer-assigned name of
the tab (MyWebTab, for example).
The fullName can contain only underscores and alphanumeric
characters. It must be unique, begin with a letter, not include spaces,
not end with an underscore, and not contain two consecutive
underscores. This field is inherited from the Metadata component.
Indicates if the tab displays the sidebar panel.booleanhasSidebar
The optional reference to the image document for the tab if the tab isnt
using one of the standard tab styles. This field is available in API version
14.0.
stringicon
The label of the tab, for web tabs only.stringlabel
The name of the Lightning web component to display in this tab.
Only one of these fields can have a value set:
stringlwcComponent
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
Required. The tab style for the color scheme and icon for the custom
tab. For example, 'Custom70: Handsaw, is the handsaw icon.
stringmotif
The name of the Visualforce page to display in this tab.
Only one of these fields can have a value set:
stringpage
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
673
CustomTabMetadata Types
DescriptionField TypeField Name
The name of the s-control to display in this tab.
Only one of these fields can have a value set:
stringscontrol
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
The custom link used as the introductory splash page when users click
the tab. References a HomePageComponent.
stringsplashPageLink
The URL for the external web-page to embed in this tab.
Only one of these fields can have a value set:
stringurl
auraComponent
customObject
flexiPage
lwcComponent
page
scontrol
url
The default encoding setting is Unicode: UTF-8. Change it if youre
passing information to a URL that requires data in a different format. This
option is available when the value URL is selected in the tab type.
Encoding
(enumeration of
type string)
urlEncodingKey
Declarative Metadata Sample Definition
The following is the definition of a tab:
<?xml version="1.0" encoding="UTF-8"?>
<CustomTab xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Myriad Publishing</description>
<frameHeight>600</frameHeight>
<motif>Custom53: Bell</motif>
<url>https://www.example.com</url>
<urlEncodingKey>UTF-8</urlEncodingKey>
</CustomTab>
674
CustomTabMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomApplication
CustomValue
Represents the definition of a value used in a global value set or local custom picklist. Custom picklist fields can be local and unique, or
can inherit their values from a global picklist (called a global value set in API version 38.0). This type extends the Metadata metadata type
and inherits its fullName field.
To deactivate a global picklist value, you can invoke an update() call on GlobalPicklist (API version 37.0) or GlobalValueSet (API
version 38.0 and later) with the value omitted, or with the values isActive field set to false. Or, you can invoke an update()
call directly on GlobalPicklistValue (API version 37.0) or CustomValue (API version 38.0 and later) with the isActive field set to false.
Note: If picklist values are missing from a component definition, they get deactivated when deployed. Deactivation occurs for
picklist values of both standard and custom fields.
CustomValue doesnt support file-based operations and only supports CRUD-based calls. CustomValue is retrieved or deployed together
with a GlobalValueSet or CustomObject component.
File Suffix and Directory Location
CustomValue components have the suffix .customValue. A CustomValue component is returned with either a GlobalValueSet or
CustomObject component.
Version
CustomValue components are available in API version 38.0 and later. CustomValue replaces GlobalPicklistValue from API version 37.0.
Fields
DescriptionField TypeField Name
The color assigned to the picklist value when its used in charts on reports
and dashboards. The color is in hexadecimal format; for example,
stringcolor
#FF6600. If a color isnt specified, its assigned dynamically upon chart
generation.
Required. Indicates whether this value is the default selection for the
global picklist and the custom picklists that share its picklist value set.
This field is set to true by default.
booleandefault
A picklist values description. Its useful to include a description for a
picklist value so the reason for creating it can be tracked. Limit: 255
characters.
stringdescription
675
CustomValueMetadata Types
DescriptionField TypeField Name
Indicates whether this value is active or inactive. The default value is
true. Users can select only active values from a picklist. An API retrieve
booleanisActive
operation for global picklist values returns all active and inactive values
in the picklist. But retrieving the values of a non-global, unrestricted
picklist returns only the active values.
The values display label. If you dont specify the label when creating a
value it defaults to the API name. Available in API version 39.0 and later.
stringlabel
StandardValue
This metadata type defines a value in a value set for a standard picklist and specifies whether this value is the default value. This type
extends the CustomValue metadata type and inherits all its fields.
When you deploy changes to standard picklist fields, picklist values are added as needed.
DescriptionField TypeField Name
Indicates whether this value lets users email a quote PDF (true), or not
(false). This field is only relevant for the Status field in quotes. This
field is available in API version 18.0 and later.
booleanallowEmail
Indicates whether this value is associated with a closed status (true),
or not (false). This field is only relevant for the standard Status
booleanclosed
field in cases and tasks. This field is available in API version 16.0 and up
to version 36.0. In version 37.0, this field is in GlobalPicklistValue.
Indicates whether this value is associated with a converted status (true),
or not (false). This field is relevant for only the standard Lead
booleanconverted
Status field in leads. Your organization can set its own guidelines for
determining when a lead is qualified, but typically, you want to convert
a lead as soon as it becomes a real opportunity that you want to forecast.
For more information, see Convert Qualified Leads in Salesforce Help.
This field is available in API version 16.0 and later.
Indicates whether this value is available in your Self-Service Portal (true),
or not (false). This field is only relevant for the standard Case
Reason field in cases.
Self-Service provides an online support channel for your customers -
allowing them to resolve their inquiries without contacting a customer
booleancssExposed
service representative. For more information about Self-Service, see
Setting Up Your Self-Service Portal in Salesforce Help.
Note: Starting with Spring 12, the Self-Service portal isnt
available for new Salesforce orgs. Existing orgs continue to have
access to the Self-Service portal.
This field is available in API version 16.0 and later.
676
CustomValueMetadata Types
DescriptionField TypeField Name
Indicates whether this value is associated with a forecast category
(true), or not (false). This field is only relevant for the standard
Stage field in opportunities.
ForecastCategories
(enumeration of
type string)
forecastCategory
Omitted
Pipeline
BestCase
Forecast
Closed
This field is available in API version 16.0 and later.
Indicates whether this value is a high priority item (true), or not
(false). This field is only relevant for the standard Priority field
booleanhighPriority
in tasks. For more information about tasks, see Start Using Tasks in
Salesforce Help. This field is available in API version 16.0 and later.
Indicates whether this value is a probability percentage (true), or not
(false). This field is only relevant for the standard Stage field in
opportunities. This field is available in API version 16.0 and later.
intprobability
A picklist value corresponding to a reverse role name for a partner. If the
role is subcontractor, then the reverse role might be general contractor.
stringreverseRole
Assigning a partner role to an account in Salesforce creates a reverse
partner relationship so that both accounts list the other as a partner. This
field is only relevant for partner roles.
For more information, see Partner Fields in Salesforce Help.
This field is available in API version 18.0 and later.
Indicates whether this value is associated with a reviewed status (true),
or not (false). This field is only relevant for the standard Status
booleanreviewed
field in solutions. For more information about opportunities, see Creating
Solutions in Salesforce Help. This field is available in API version 16.0 and
later.
Indicates whether this value is associated with a closed or won status
(true), or not (false). This field is only relevant for the standard
booleanwon
Stage field in opportunities. This field is available in API version 16.0
and later.
Declarative Metadata Sample Definition
For an example of CustomValue components within a GlobalValueSet component thats referenced by a package.xml, see
GlobalValueSet.
677
CustomValueMetadata Types
Dashboard
Represents a dashboard. Dashboards are visual representations of data that allow you to see key metrics and performance at a glance.
This type extends the Metadata metadata type and inherits its fullName field. For more information, see Edit Dashboards in
Accessibility Mode in Salesforce Classic in the Salesforce online help.
Declarative Metadata File Suffix and Directory Location
Dashboards are stored in the dashboards directory of the corresponding package directory. The file name matches the dashboard
title and the extension is .dashboard.
Retrieving Dashboards
You cant use the wildcard (*) symbol with dashboards in package.xml. To retrieve the list of dashboards for populating
package.xml with explicit names, call listMetadata() and pass in DashboardFolder as the type. Note that
DashboardFolder is not returned as a type in describeMetadata(). Dashboard is returned from describeMetadata()
with an associated attribute of inFolder set to true. If that attribute is set to true, you can construct the type by using the component
name with the word Folder, such as DashboardFolder.
The following example shows folders in package.xml. The names used in package.xml must be developer names, not dashboard
titles.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyDBFolder/MyDBName</members>
<name>Dashboard</name>
</types>
<types>
<members>MyDocumentFolder/MyDocumentName</members>
<name>Document</name>
</types>
<types>
<members>unfiled$public/MarketingProductInquiryResponse</members>
<members>unfiled$public/SalesNewCustomerEmail</members>
<name>EmailTemplate</name>
</types>
<types>
<members>MyReportFolder/MyReportName</members>
<name>Report</name>
</types>
<version>61.0</version>
</Package>
Version
Dashboard components are available in API version 14.0 and later.
678
DashboardMetadata Types
Fields
DescriptionField TypeField
Required. A dashboard can have a gradient color change on its
charts. This field defines the second color for the gradient and
stringbackgroundEndColor
backgroundStartColor defines the first color. If you
prefer your background to be all one color or do not want a
gradient color change, select the same color for this field and
backgroundStartColor. The color is in hexadecimal
format; for example #FF6600.
Required. The direction of the gradient color change, defined
by the backgroundStartColor and
backgroundEndColor fields. The valid values are:
ChartBackgroundDirection
(enumeration of type string)
backgroundFadeDirection
Diagonal
LeftToRight
TopToBottom
Required. The starting color for the gradient color change on
the dashboard's charts. See backgroundEndColor for
stringbackgroundStartColor
more information. The color is in hexadecimal format; for
example #FF6600.
Determines the default theme for all dashboard charts. Replaces
dashboardChartTheme for API v42.0 and later.
ChartTheme (enumeration of
type string)
chartTheme
lightLight-colored theme.
darkDark-colored theme.
This field is available in API version 42.0 and later.
Determines the default palette for all dashboard charts. Replaces
dashboardColorPalette for API v42.0 and later.
ChartColorPalettes
(enumeration of type string)
colorPalette
accessible
bluegrass
colorSafe
Default
dusk
earth
fire
gray
heat
justice
nightfall
pond
sunrise
679
DashboardMetadata Types
DescriptionField TypeField
tropic
unity
water
watermelon
This field is available in API version 42.0 and later.
Determines the default theme for all dashboard charts.ChartTheme (enumeration of
type string)
dashboardChartTheme
lightLight-colored theme.
darkDark-colored theme.
This field is available to maintain backward compatibility with
versions prior to API version 42.0.
Determines the default palette for all dashboard charts.ChartColorPalettes
(enumeration of type string)
dashboardColorPalette
accessible
bluegrass
colorSafe
Default
dusk
earth
fire
gray
heat
justice
nightfall
pond
sunrise
tropic
unity
water
watermelon
This field is available to maintain backward compatibility with
versions prior to API version 42.0.
The list of filters in a dashboard.
This field is available in API version 23.0 and later.
DashboardFilter[]dashboardFilters
Lists the included DashboardGridComponent objects, specifies
the number of dashboard columns, and sets each dashboard
rows height in pixels.
This field is available in API version 35.0 and later.
DashboardGridLayoutdashboardGridLayout
680
DashboardMetadata Types
DescriptionField TypeField
Determines the way visibility settings are set for a dashboard.
The valid values are:
DashboardType (enumeration
of type string)
dashboardType
SpecifiedUserAll users see data at the access level
of one specific running user, specified in the
runningUser field, regardless of their own security
settings.
LoggedInUserEach logged-in user sees data
according to his or her own access level.
MyTeamUserManagers can choose to view the
dashboard from the point of view of their subordinates in
the role hierarchy. This value is available in API version 20.0
and later.
This field is available in API version 19.0 and later.
Description for the dashboard. Maximum of 255 characters.stringdescription
Name of the folder that houses the dashboard.
This field is available in API version 35.0 and later.
stringfolderName
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating, updating,
stringfullName
or deleting. See createMetadata() to see an example of
this field specified for a call.
This field specifies the folder and dashboard title; for example
folderSales/California.
Specifies whether a dashboard uses the Lightning Experience
layout (true) or not (false).
Lightning Experience allows dashboards with more than three
columns with components that span multiple columns and
multiple rows in size.
booleanisGridLayout
This field is available in API version 35.0 and later.
Required. Date that the dashboard was last refreshed.stringdashboardResultRefreshedDate
Required. User currently accessing the dashboard.stringdashboardResultRunningUser
Required. The left section or column of the dashboard.DashboardComponentSectionleftSection
The middle section or column of the dashboard.DashboardComponentSectionmiddleSection
Number of subscriptions reported on the dashboard. This field
is available in API version 42.0 and later.
intnumSubscriptions
Required. The right section or column of the dashboard.DashboardComponentSectionrightSection
681
DashboardMetadata Types
DescriptionField TypeField
The username of the user whose role and sharing settings are
used to determine the data shown in the dashboard.
When you deploy a dashboard and the value in this field is not
defined or does not correspond to a valid user, the field is
stringrunningUser
populated with the username of the user performing the
deployment.
Regardless of their security settings, all users viewing a
dashboard see exactly the same data, because dashboards are
always run using the security settings of a particular user.
Tip: To avoid inappropriate exposure of sensitive data,
save the dashboard to a folder that is visible only to
appropriate users.
Required. Color of the text on each chart in the dashboard. The
color is in hexadecimal format; for example #FF6600.
stringtextColor
Required. The dashboard title.stringtitle
Required. Color of the titles on each dashboard component. The
color is in hexadecimal format; for example #FF6600.
stringtitleColor
Required. Size of characters in title text. For example, a value of
12 indicates 12pt text.
inttitleSize
DashboardFilter
DashboardFilter represents a filter in a dashboard.
DescriptionField TypeField
The list of items you can select in the Filter Options section of
the Add Filter dialog.
DashboardFilterOption[]dashboardFilterOptions
Required. The filter label.stringname
DashboardFilterOption
DashboardFilterOption represents a filter option in a dashboard.
DescriptionField TypeField
Required. Represents the filter operation for this filter item. Valid
values are:
DashboardFilterOperation
(enumeration of type string)
operator
equals
notEqual
lessThan
682
DashboardMetadata Types
DescriptionField TypeField
greaterThan
lessOrEqual
greaterOrEqual
contains
notContain
startsWith
includes
excludes
between
Note: The between operator takes two operands
(for example, between MinimumValue,
MaximumValue). Note also that the minimum value
is inclusive, while the maximum value is exclusive.
All other dashboard filter operations take a single
operand only.
This field is available in API version 24.0 and later.
With API version 23.0, valid values are enumerated in
CustomField.
Required. One or more values in the Filter Options area of the
Add Filter dialog. This field is available in API version 24.0 and
later.
string[]values
DashboardGridLayout
Lightning Experience features dashboards with more than three columns and components that span multiple columns and multiple
rows in size. DashboardGridLayout lists the included dashboard components, specifies the number of dashboard columns, and sets each
dashboard rows height in pixels.
DescriptionField TypeField
List of DashboardGridComponent objects in the dashboard.DashboardGridComponent[]dashboardGridComponents
Required. Total number of columns in the dashboard.intnumberOfColumns
Required. Height of each row in pixels.introwHeight
DashboardGridComponent
Lightning Experience features dashboards with more than three columns and components that span multiple columns and multiple
rows in size. DashboardGridComponent specifies location and size of a given dashboard component.
683
DashboardMetadata Types
DescriptionField TypeField
Required. The width of the dashboard component in columns.
For example, if colSpan is 5, then the dashboard component
spans five columns.
intcolSpan
Required. The left-most column that is occupied by the
dashboard component.
intcolumnIndex
Required. The dashboard component that is being sized and
placed.
DashboardComponentdashboardComponent
Required. The top-most row that is occupied by the dashboard
component.
introwIndex
Required. The height of the dashboard component in rows.introwSpan
DashboardComponent
A dashboard consists of a group of different components or elements that display data. Each component can use a custom report or a
custom s-control as their data source to display corporate metrics or key performance indicators. You can create several dashboard
components and display them all in one dashboard aligned in up to three columns.
DescriptionField TypeField
A manual or automatic axis range for bar or line charts.
The valid values are:
ChartRangeType (enumeration of type
string)
chartAxisRange
auto
manual
The maximum axis range to be displayed. This only applies
to bar and line charts in which the manual axis range
is selected for the chartAxisRange field.
doublechartAxisRangeMax
The minimum axis range to be displayed. This only applies
to bar and line charts in which the manual axis range
is selected for the chartAxisRange field.
doublechartAxisRangeMin
Specifies the summary field for the chart data. Required
if isAutoSelectFromReport is set to false.
This field is available in API version 25.0 and later.
ChartSummarychartSummary
Required. Dashboard component type. The valid values
are:
DashboardComponentType
(enumeration of type string)
componentType
Bar
BarGrouped
BarStacked
BarStacked100
684
DashboardMetadata Types
DescriptionField TypeField
Column
ColumnGrouped
ColumnLine
ColumnLineGrouped
ColumnLineStacked
ColumnLineStacked100
ColumnStacked
ColumnStacked100
Donut
FlexTable
Funnel
Gauge
Line
lineCumulative
LineGrouped
lineGroupedCumulative
Metric
Pie
Scatter
ScatterGrouped
Scontrol
Table
A list of dashboard component contents.
This field is available in API version 58.0 and later.
DashboardComponentContent on
page 685
dashboardComponentContents
A list of dashboard dynamic values.
This field is available in API version 36.0 and later.
DashboardDynamicValue on page
690[]
dashboardDynamicValues
A list of dashboard filter columns. Each report-based
component must have a dashboard filter column that
defines the column that the filter applies to.
This field is available in API version 23.0 and later.
DashboardFilterColumn on page 690[]dashboardFilterColumns
Represents a list of columns on a customized dashboard
table component.
DashboardTableColumn[]dashboardTableColumn
Chart Units. The valid values are:ChartUnits (enumeration of type
string)
displayUnits
Auto
Integer
Hundreds
685
DashboardMetadata Types
DescriptionField TypeField
Thousands
Millions
Billions
Trillions
For charts, specifies a URL that users go to when they click
the dashboard component. Use this option to send users
stringdrillDownUrl
to another dashboard, report, record detail page, or other
system that uses a Web interface. This field overrides the
drillEnabled and drillToDetailEnabled
fields.
Specifies whether to take users to the full or filtered source
report when they click the dashboard component. Set to
booleandrillEnabled
false to drill to the full source report; set to true to
drill to the source report filtered by what they clicked. If
set to true, users can click individual groups, axis values,
or legend entries.
This overrides the drillToDetailEnabled field.
This field is available in API version 17.0 and later.
When enabled, users are taken to the record detail page
when they click a record name, record owner, or feed post
booleandrillToDetailEnabled
in a table or chart. When set to true users can click axis
and legend values, chart elements, and table entries. The
drillDownUrl and drillEnabled fields override
this field. This field is available in API version 20.0 and later.
Specifies whether to display values, labels, and
percentages when hovering over charts. Hover details
booleanenableHover
depend on chart type. Percentages apply to pie, donut,
and funnel charts only. This field is available in API version
17.0 and later.
Specifies whether to combine all groups less than or equal
to 3% of the total into a single 'Others' wedge or segment.
booleanexpandOthers
This only applies to pie, donut, and funnel charts. Set to
true to show all values individually on the chart; set to
false to combine small groups into 'Others.' This field
is available in API version 17.0 and later.
Defines metadata for Lightning Experience table columns
and sorting. This field is available in API version 41.0 and
later.
DashboardFlexTableComponentPropertiesflexComponentProperties
Footer displayed at the bottom of the dashboard
component. Maximum of 255 characters.
stringfooter
686
DashboardMetadata Types
DescriptionField TypeField
The maximum value on a gauge. A gauge is used to see
how far you are from reaching a goal. It looks like a
speedometer in a car.
doublegaugeMax
The minimum value on a gauge.doublegaugeMin
Specifies the field by which to group data. This data is
displayed on the X-axis for vertical column charts and on
the Y-axis for horizontal bar charts.
This field is available in API version 25.0 and later.
stringgroupingColumn
This field captures sort properties of the dashboard
component. If the component has one or more groupings,
DashboardComponentGroupingSortPropertiesGroupingSortProperties
sort information is stored here; otherwise, it is stored in
the sortBy field. This field is available in API version
46.0 and later.
Header displayed at the top of the dashboard component.
Maximum of 80 characters.
stringheader
The value that separates the indicatorLowColor
from the indicatorMiddleColor on the
dashboard.
doubleindicatorBreakpoint1
The value that separates the
indicatorMiddleColor from the
indicatorHighColor on the dashboard.
doubleindicatorBreakpoint2
The color representing a high number range on the
gauge.
stringindicatorHighColor
The color representing a low number range on the gauge.stringindicatorLowColor
The color representing a medium number range on the
gauge.
stringindicatorMiddleColor
The location of the legend with respect to the chart. The
valid values are:
ChartLegendPosition (enumeration of
type string)
legendPosition
Bottom
OnChart
Right
The maximum number of elements to include in the
top-level grouping of the horizontal axis of a horizontal
intmaxValuesDisplayed
chart, vertical axis of a vertical chart, or selected axis of a
stacked bar chart. For example, if you want to list only
your top five salespeople, create an opportunity report
that lists total opportunity amounts by owner and enter
5 in this field.
687
DashboardMetadata Types
DescriptionField TypeField
Descriptive label for the metric. This is relevant if metric
is the value of the componentType field.
stringmetricLabel
Visualforce page associated with the component.stringpage
Display height of the Visualforce page in pixels.intpageHeightInPixels
Name of the report associated with the component.stringreport
S-control associated with component if scontrol is
the value of the componentType field. For more
stringscontrol
information, see Defining Custom S-Controls in the
Salesforce online help.
Display height of the s-control in pixels.intscontrolHeightInPixels
Indicates if percentages are displayed for regions of
gauges and wedges and segments of pie, donut, and
funnel charts (true), or not (false).
booleanshowPercentage
Display Chatter photos for up to 20 records in a horizontal
bar chart component whose source report is grouped by
booleanshowPicturesOnCharts
a user or group name field. If there are more than 20
records with photos, record names are shown instead of
photos. Set Grouping Display to None to show
photos. Set the Drill Down to option to Record
Detail Page to take users directly to user profile or
group pages when they click photos. Chatter must be
enabled for photos to be displayed. Depending on your
organization's setup, you may not see photos on tables
and charts.
Display Chatter photos for up to 20 records in a horizontal
bar chart component whose source report is grouped by
booleanshowPicturesOnTables
a user or group name field. If there are more than 20
records with photos, record names are shown instead of
photos. Set Grouping Display to None to show
photos. Set the Drill Down to option to Record
Detail Page to take users directly to user profile or
group pages when they click photos. Chatter must be
enabled for photos to be displayed. Depending on your
organization's setup, you may not see photos on tables
and charts.
Indicates if the total of all wedges is displayed for gauges
and donut charts (true), or not (false).
booleanshowTotal
Indicates if the values of individual records or groups are
displayed for charts (true), or not (false).
booleanshowValues
The sort option for the dashboard component.DashboardComponentFilter
(enumeration of type string)
sortBy
688
DashboardMetadata Types
DescriptionField TypeField
The title of the dashboard component. Maximum of 40
characters.
stringtitle
Specifies whether to use the chart defined in the source
report on this dashboard component. The chart settings
booleanuseReportChart
in the source report determine how the chart displays in
the dashboard, and any chart settings you define for the
dashboard are overridden. If you defined a combination
chart in the source report, use this option to use that
combination chart on this dashboard.
DashboardComponentContent
dashboardComponentContent represents the content of a dashboards components.
DescriptionField TypeField
Any additional metadata the user wants to include for the
component contents.
stringadditionalInfo
The components alternative text.stringaltText
The name of the component file.stringfileName
The image alignment type. Valid values are:Fit (enumeration of type string)fit
FitHeight
FitWidth
Original
Stretch
Tile
The horizontal alignment type. Valid values are:HorizontalAlignment
(enumeration of type string)
horizontalAlignment
Left
Center
Right
The rich text content for the component..stringrichTextContent
The dashboard components tooltip.stringtooltip
The vertical alignment type. Valid values are:VerticalAlignment (enumeration
of type string)
verticalAlignment
Bottom
Center
Top
689
DashboardMetadata Types
DashboardDynamicValue
DashboardDynamicValue represents a dynamic value in a dashboard.
DescriptionField TypeField
Any additional metadata the user wants to include for the
dynamic value.
stringadditionalInfo
Required. The name of the field for the dynamic value.stringfieldName
Indicates whether the value should be retrieved as the user
running the dashboard (true) or not (false).
booleanisDynamicUser
DashboardFilterColumn
DashboardFilterColumn represents a filter column in a dashboard.
DescriptionField TypeField
Required. The report column code for the filter.stringcolumn
DashboardTableColumn
DashboardTableColumn represents a column in a customized table component in a dashboard.
DescriptionField TypeField
Specifies the aggregation type for the table column.ReportSummaryType[]
(enumeration of type string)
aggregateType
Required. The label of the column to use in the table.stringcolumn
Displays the totals for each summarizable column in the
dashboard table. This field is available in API version 19.0 and
later.
booleanshowTotal
The sort option for the dashboard table component. Sort on just
one column per table.
DashboardComponentSection(enumeration
of type string)
sortBy
DashboardFlexTableComponentProperties
DashboardFlexTableComponentProperties represents a column in a customized table component in a dashboard.
DescriptionField TypeField
Represents a column in a Lightning Experience table component.
This field is available in API version 41.0 and later.
DashboardComponentColumnflexTableColumn
690
DashboardMetadata Types
DescriptionField TypeField
Represents sorting column and order in a Lightning Experience
table component. This field is available in API version 41.0 and
later.
DashboardComponentSortInfoflexTableSortInfo
If true, hides any photos from Chatter feeds.
This field is available in API version 41.0 and later.
booleanhideChatterPhotos
For columns with numeric values, indicates the number of
significant digits.
integerdecimalPrecision
DashboardComponentGroupingSortProperties
DashboardComponentGroupingSortProperties is composed of multiple elements of the type DashboardComponentGroupingSort.
DescriptionField TypeField
This field stores sort information for a dashboard at each
grouping level of granularity. This field is available in API version
46.0 and later.
DashboardComponentGroupingSortgroupingSorts
DashboardComponentGroupingSort
DashboardComponentGroupingSort specifies properties for sorting on a dashboard component group.
DescriptionField TypeField
Grouping at which this sort configuration is applied.StringgroupingLevel
true if the sort order is picked up from an underlying report
for this grouping level.
StringinheritedReportGroupingSort
If grouping is sorted by an aggregate, this value is the aggregate
value (such as sortColumn). If the grouping is sorted by its
own value, this field is null.
StringsortColumn
Ascending or Descending to reflect the sort order.StringsortOrder
DashboardComponentColumn
DashboardComponentColumn represents a component column in a dashboard. Available in API version 41.0 and later.
DescriptionField TypeField
The value that separates the lowRangeColor from the
midRangeColor on the dashboard.
doublebreakPoint1
691
DashboardMetadata Types
DescriptionField TypeField
The value that separates the midRangeColor from the
highRangeColor on the dashboard.
doublebreakPoint2
Conditional highlighting can be applied to multiple columns.
This field stores the order of conditional highlights.
doublebreakPointOrder
The color representing a high number range on the column.inthighRangeColor
The color representing a low number range on the column.intlowRangeColor
The color representing a mid number range on the column.intmidRangeColor
Required. The report column code for the filter.stringreportColumn
If true, the column total is displayed.booleanshowTotal
Represents the type of Lightning Experience table column:DashboardComponentColumnType
(enumeration of type string)
type
Details
Aggregates
Grouping
This field is available in API version 41.0 and later.
DashboardComponentSortInfo
DashboardFilterColumns represents a filter column in a dashboard.
DescriptionField TypeField
Indicates the column on which the table is sorted. This field is
available in API version 41.0 and later.
stringComponentSortColumn
Indicates whether column sorting is ascending or descending.
This field is available in API version 41.0 and later.
stringsortOrder
DashboardComponentSection
DashboardComponentSection represents one of the sections or columns in a dashboard.
DescriptionField TypeField
Required. The size of the column in the dashboard:DashboardComponentSize
(enumeration of type string)
columnSize
Medium
Narrow
Wide
The list of DashboardComponent objects in the dashboard
column.
DashboardComponent[]components
692
DashboardMetadata Types
DashboardComponentFilter
DashboardComponentFilter is an enumeration of type string that lists the sort values for dashboard components. The valid values are:
DescriptionEnumeration Value
Sorts in alphabetical order by the label.RowLabelAscending
Sorts in reverse alphabetical order by the label.RowLabelDescending
Sorts lowest to highest by the value.RowValueAscending
Sorts highest to lowest by the value.RowValueDescending
Declarative Metadata Sample Definition Filtered Dashboard
A sample XML definition of a filtered dashboard is shown below. Note that this example is supported in API version 24.0 and later. The
file name matches the dashboard title and the extension is .dashboard.
<?xml version="1.0" encoding="UTF-8"?>
<Dashboard xmlns="http://soap.sforce.com/2006/04/metadata">
<backgroundEndColor>#FFFFFF</backgroundEndColor>
<backgroundFadeDirection>Diagonal</backgroundFadeDirection>
<backgroundStartColor>#FFFFFF</backgroundStartColor>
<dashboardFilters>
<dashboardFilterOptions>
<operator>equals</operator>
<values>Media</values>
</dashboardFilterOptions>
<dashboardFilterOptions>
<operator>lessThan</operator>
<values>Working</values>
</dashboardFilterOptions>
<dashboardFilterOptions>
<operator>between</operator>
<values>ABC</values>
<values>XYZ</values>
</dashboardFilterOptions>
<name>Industry</name>
</dashboardFilters>
<dashboardFilters>
<dashboardFilterOptions>
<operator>equals</operator>
<values>Analyst,Partner</values>
</dashboardFilterOptions>
<dashboardFilterOptions>
<operator>startsWith</operator>
<values>Integrator</values>
</dashboardFilterOptions>
<name>Account Type</name>
</dashboardFilters>
<dashboardType>SpecifiedUser</dashboardType>
<leftSection>
<columnSize>Medium</columnSize>
693
DashboardMetadata Types
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Bar</componentType>
<dashboardFilterColumns>
<column>INDUSTRY</column>
</dashboardFilterColumns>
<dashboardFilterColumns>
<column>TYPE</column>
</dashboardFilterColumns>
<displayUnits>Auto</displayUnits>
<drillEnabled>false</drillEnabled>
<drillToDetailEnabled>false</drillToDetailEnabled>
<enableHover>false</enableHover>
<expandOthers>false</expandOthers>
<legendPosition>Bottom</legendPosition>
<report>unfiled$public/SampleReportofAccounts</report>
<showPercentage>false</showPercentage>
<showPicturesOnCharts>false</showPicturesOnCharts>
<showValues>false</showValues>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>false</useReportChart>
</components>
</leftSection>
<middleSection>
<columnSize>Medium</columnSize>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Funnel</componentType>
<dashboardFilterColumns>
<column>ACCOUNT_INDUSTRY</column>
</dashboardFilterColumns>
<dashboardFilterColumns>
<column>ACCOUNT.TYPE</column>
</dashboardFilterColumns>
<displayUnits>Auto</displayUnits>
<drillEnabled>false</drillEnabled>
<drillToDetailEnabled>false</drillToDetailEnabled>
<enableHover>false</enableHover>
<expandOthers>false</expandOthers>
<legendPosition>Bottom</legendPosition>
<report>unfiled$public/SampleReportofCases</report>
<showPercentage>false</showPercentage>
<showValues>true</showValues>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>false</useReportChart>
</components>
</middleSection>
<rightSection>
<columnSize>Medium</columnSize>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Column</componentType>
<dashboardFilterColumns>
<column>INDUSTRY</column>
694
DashboardMetadata Types
</dashboardFilterColumns>
<dashboardFilterColumns>
<column>ACCOUNT_TYPE</column>
</dashboardFilterColumns>
<displayUnits>Auto</displayUnits>
<drillEnabled>false</drillEnabled>
<drillToDetailEnabled>false</drillToDetailEnabled>
<enableHover>false</enableHover>
<expandOthers>false</expandOthers>
<legendPosition>Bottom</legendPosition>
<report>unfiled$public/SampleReportofOpportunities</report>
<showPercentage>false</showPercentage>
<showValues>false</showValues>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>false</useReportChart>
</components>
</rightSection>
<runningUser>admin@TESTORGNUM</runningUser>
<textColor>#000000</textColor>
<title>My Dashboard</title>
<titleColor>#000000</titleColor>
<titleSize>12</titleSize>
</Dashboard>
Declarative Metadata Sample Definition Unfiltered Dashboard
A sample XML definition of a dashboard is shown below. The file name matches the dashboard title and the extension is .dashboard.
<?xml version="1.0" encoding="UTF-8"?>
<Dashboard xmlns="http://soap.sforce.com/2006/04/metadata">
<backgroundEndColor>#FFFFFF</backgroundEndColor>
<backgroundFadeDirection>LeftToRight</backgroundFadeDirection>
<backgroundStartColor>#FFFFFF</backgroundStartColor>
<description>Dashboard with all possible chart types</description>
<leftSection>
<columnSize>Medium</columnSize>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>BarStacked100</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<componentType>Table</componentType>
<dashboardTableColumn>
<column>CLOSE_DATE</column>
<sortBy>RowLabelAscending</sortBy>
</dashboardTableColumn>
<dashboardTableColumn>
<aggregateType>Sum</aggregateType>
<column>AMOUNT</column>
695
DashboardMetadata Types
<showTotal>true</showTotal>
</dashboardTableColumn>
<dashboardTableColumn>
<column>STAGE_NAME</column>
</dashboardTableColumn>
<dashboardTableColumn>
<column>PROBABILITY</column>
<aggregateType>Maximum</aggregateType>
</dashboardTableColumn>
<displayUnits>Integer</displayUnits>
<header>Opportunities Table</header>
<indicatorHighColor>#54C254</indicatorHighColor>
<indicatorLowColor>#C25454</indicatorLowColor>
<indicatorMiddleColor>#C2C254</indicatorMiddleColor>
<maxValuesDisplayed>10</maxValuesDisplayed>
<report>testFolder/sourceRep</report>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Bar</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Column</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<legendPosition>Bottom</legendPosition>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>true</useReportChart>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Funnel</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<expandOthers>true</expandOthers>
<legendPosition>Bottom</legendPosition>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
</leftSection>
<middleSection>
<columnSize>Medium</columnSize>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>ColumnStacked100</componentType>
<displayUnits>Auto</displayUnits>
696
DashboardMetadata Types
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>ColumnStacked</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>ColumnStacked</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>ColumnGrouped</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Column</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
</middleSection>
<rightSection>
<columnSize>Medium</columnSize>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Bar</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
697
DashboardMetadata Types
<chartAxisRange>Auto</chartAxisRange>
<componentType>Pie</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<expandOthers>true</expandOthers>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>LineGroupedCumulative</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>LineGrouped</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>LineCumulative</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
<components>
<chartAxisRange>Auto</chartAxisRange>
<componentType>Donut</componentType>
<displayUnits>Auto</displayUnits>
<drillEnabled>true</drillEnabled>
<enableHover>true</enableHover>
<expandOthers>true</expandOthers>
<report>testFolder/sourceRep</report>
<sortBy>RowLabelAscending</sortBy>
</components>
</rightSection>
<runningUser>admin@TESTORGNUM</runningUser>
<textColor>#000000</textColor>
<title>Db Title</title>
<titleColor>#000000</titleColor>
<titleSize>12</titleSize>
</Dashboard>
698
DashboardMetadata Types
Declarative Metadata Sample Definition Lightning Experience Dashboard
with isGridLayout Equals true
A sample XML definition of a Lightning Experience dashboard with isGridLayout equals true is shown below. Note that this
example is supported in API version 35.0 and later. The file name matches the dashboard title and the extension is .dashboard.
<?xml version="1.0" encoding="UTF-8"?>
<Dashboard xmlns="http://soap.sforce.com/2006/04/metadata">
<backgroundEndColor>#FFFFFF</backgroundEndColor>
<backgroundFadeDirection>Diagonal</backgroundFadeDirection>
<backgroundStartColor>#FFFFFF</backgroundStartColor>
<dashboardType>SpecifiedUser</dashboardType>
<gridLayout>
<dashboardGridComponents>
<colSpan>3</colSpan>
<columnIndex>0</columnIndex>
<dashboardComponent>
<autoselectColumnsFromReport>false</autoselectColumnsFromReport>
<chartAxisRange>Auto</chartAxisRange>
<chartSummary>
<axisBinding>y</axisBinding>
<column>RowCount</column>
</chartSummary>
<componentType>Donut</componentType>
<drillEnabled>false</drillEnabled>
<drillToDetailEnabled>false</drillToDetailEnabled>
<enableHover>false</enableHover>
<expandOthers>false</expandOthers>
<groupingColumn>TITLE</groupingColumn>
<legendPosition>Bottom</legendPosition>
<report>unfiled$public/lead_rpt</report>
<showPercentage>false</showPercentage>
<showTotal>false</showTotal>
<showValues>true</showValues>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>false</useReportChart>
</dashboardComponent>
<rowIndex>0</rowIndex>
<rowSpan>3</rowSpan>
</dashboardGridComponents>
<dashboardGridComponents>
<colSpan>3</colSpan>
<columnIndex>0</columnIndex>
<dashboardComponent>
<autoselectColumnsFromReport>false</autoselectColumnsFromReport>
<chartAxisRange>Auto</chartAxisRange>
<chartSummary>
<axisBinding>y</axisBinding>
<column>RowCount</column>
</chartSummary>
<componentType>Pie</componentType>
<drillEnabled>false</drillEnabled>
<drillToDetailEnabled>false</drillToDetailEnabled>
<enableHover>false</enableHover>
699
DashboardMetadata Types
<expandOthers>false</expandOthers>
<groupingColumn>TITLE</groupingColumn>
<legendPosition>Bottom</legendPosition>
<report>unfiled$public/lead_rpt</report>
<showPercentage>false</showPercentage>
<showValues>true</showValues>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>false</useReportChart>
</dashboardComponent>
<rowIndex>3</rowIndex>
<rowSpan>3</rowSpan>
</dashboardGridComponents>
<dashboardGridComponents>
<colSpan>3</colSpan>
<columnIndex>0</columnIndex>
<dashboardComponent>
<autoselectColumnsFromReport>false</autoselectColumnsFromReport>
<chartAxisRange>Auto</chartAxisRange>
<chartSummary>
<axisBinding>y</axisBinding>
<column>RowCount</column>
</chartSummary>
<componentType>Column</componentType>
<drillEnabled>false</drillEnabled>
<drillToDetailEnabled>false</drillToDetailEnabled>
<enableHover>false</enableHover>
<expandOthers>false</expandOthers>
<groupingColumn>TITLE</groupingColumn>
<legendPosition>Bottom</legendPosition>
<report>unfiled$public/lead_rpt</report>
<showPercentage>false</showPercentage>
<showValues>false</showValues>
<sortBy>RowLabelAscending</sortBy>
<useReportChart>false</useReportChart>
</dashboardComponent>
<rowIndex>9</rowIndex>
<rowSpan>3</rowSpan>
</dashboardGridComponents>
<numberOfColumns>9</numberOfColumns>
<rowHeight>90</rowHeight>
</gridLayout>
<isGridLayout>true</isGridLayout>
<runningUser>[email protected]</runningUser>
<textColor>#000000</textColor>
<title>sfx</title>
<titleColor>#000000</titleColor>
<titleSize>12</titleSize>
</Dashboard>
700
DashboardMetadata Types
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Folder
Report
DataCategoryGroup
Represents a data category group.
This type extends the Metadata metadata type and inherits its fullName field.
Warning: Using Metadata API to deploy category changes from one organization to another permanently removes categories
and record categorizations that are not specified in your XML file. Salesforce recommends that you manually create data categories
and record associations in an organization from Setup by entering Data Categories in the Quick Find box, then
selecting Data Categories rather than deploying changes from a sandbox to a production organization. For more information,
see Usage.
Data category groups are provided to:
Classify and filter data.
Share data among users.
Every data category group contains items or data categories that can be organized hierarchically.
The example below shows the Geography data category group and its data categories.
Geography
Worldwide
North America
United States of America
Canada
Mexico
Europe
Asia
Note: See "Work with Data Categories" in the Salesforce online help for more information on data category groups, data categories,
parent and sub categories.
File Suffix and Directory Location
The file suffix is .datacategorygroup. There is one file for each data category group stored in the datacategorygroups
folder in the corresponding package directory.
Version
Data category groups are available in API version 18.0 and later.
701
DataCategoryGroupMetadata Types
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Required. The status of the category group. Indicates whether this
category group is active, (true), or not active (false).
booleanactive
Required. The top-level category within the data category group.DataCategory on
page 702
dataCategory
The description of the data category group.stringdescription
Required. The unique name of the data category group. When creating
a data category group, the fullName field and the file name (without
stringfullName
its suffix) must match.The fullName can contain only underscores
and alphanumeric characters. It must be unique, begin with a letter, not
include spaces, not end with an underscore, and not contain two
consecutive underscores. This field is inherited from the Metadata
component.
Required. Label that represents the object in Salesforce.stringlabel
The objects that are associated with the data category group.ObjectUsage on
page 703
objectUsage
DataCategory
Represents an item (or data category) in the data category group. A data category can recursively contain a list of other data categories.
DescriptionField TypeField Name
A recursive list of sub data categories. For example, a list of countries
within a continent. You can create up to 100 categories in a data category
group and have up to 5 levels in a data category group hierarchy.
DataCategory[]dataCategory
Required. Label for the data category throughout the Salesforce user
interface.
stringlabel
Required. The developer name of the data category used as a unique
identifier for API access. The name can only contain characters, letters,
stringname
and the underscore (_) character, must start with a letter, and cannot
end with an underscore or contain two consecutive underscore
characters.
Important: The value for this field is defined once and cannot
be changed later.
Warning: If you deploy a category group that already exists in
an organization, any category that is not defined in the XML file
is permanently removed from your organization. For more
information see Usage.
702
DataCategoryGroupMetadata Types
ObjectUsage
Represents the objects that can be associated with the data category group. This association allows the object to be classified and filtered
using the data categories.
DescriptionField TypeField Name
A list of the object names that can be associated with the data category
group. Valid values are:
string[]object
KnowledgeArticleVersionto associate articles. See
"Modify Default Category Group Assignments for Articles" in the
Salesforce online help for more information on data category groups
association to articles.
Questionto associate questions. You can associate the
Question object with at most one category group.
Warning: If you deploy a category group that already exists in
an organization, any object association that is not defined in the
XML file is permanently removed from your organization. Ensure
that your XML file specifies all the records associated with your
category group in the organization. For more information see
Usage.
Declarative Metadata Sample Definition
This sample is the definition of the Geography data category group and its data categories:
<?xml version="1.0" encoding="UTF-8"?>
<DataCategoryGroup xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Geography</label>
<description>Geography structure of service center locations</description>
<fullName>geo</fullName>
<dataCategory> <name>WW</name> <label>Worldwide</label>
<dataCategory> <name>AMER</name> <label>North America</label>
<dataCategory>
<name>USA</name>
<label>United States of America</label>
</dataCategory>
<dataCategory>
<name>CAN</name>
<label>Canada</label>
</dataCategory>
<dataCategory>
<name>MEX</name>
<label>Mexico</label>
</dataCategory>
</dataCategory>
<dataCategory> <name>EMEA</name> <label>Europe, Middle East, Africa</label>
<dataCategory>
<name>FR</name>
703
DataCategoryGroupMetadata Types
<label>France</label>
</dataCategory>
<dataCategory>
<name>SP</name>
<label>Spain</label>
</dataCategory>
<dataCategory>
<name>UK</name>
<label>United-Kingdom</label>
</dataCategory>
</dataCategory>
<dataCategory>
<name>APAC</name>
<label>Asia</label>
</dataCategory>
</dataCategory>
<objectUsage>
<object>KnowledgeArticleVersion </object>
<objectUsage>
</DataCategoryGroup>
Usage
When you deploy a category group XML file, Metadata API checks whether the category group exists in the target organization. If the
category group does not exist, it is created. If the category group already exists, then Metadata API:
Adds any new category or object defined in the XML file.
Deletes any category that is not defined in the XML file. Records associated with the deleted categories are re-associated with the
parent category.
Deletes any object association that is not defined in the XML file.
Moves any category if its hierarchical position differs from the position specified in the XML file.
Note: When a category moves to a new parent category, users that have no visibility on the new parent category lose their
visibility to the repositioned category.
Note: For more information about category deletion, category repositioning and its impact on record categorization and visibility
see "Delete a Data Category" and "Modify and Arrange Data Categories" in the Salesforce online help.
Using Metadata API to deploy category changes from one organization to another permanently removes categories and record
categorizations that are not specified in your XML file. Salesforce recommends that you manually create data categories and record
associations in an organization from Setup by entering Data Categories in the Quick Find box, then selecting Data
Categories rather than deploying changes from a sandbox to a production organization.
The following example illustrates what happens if you deploy an XML representation of a Geography data category group hierarchy
to an organization that already has this data category group defined. Note that the organization contains a US category, while the XML
file includes a USA category in the same hierarchical position. The Metadata API deployment process deletes the US category from
the organization and moves associations for any records from US to the parent AMER category. It also adds the USA category under
AMER. Note that all records that were previously categorized with US are now associated with the AMER category.
704
DataCategoryGroupMetadata Types
The next example illustrates what can happen when you delete or move a category in a data category group and deploy its XML
representation from a sandbox to a production organization that already has this data category group defined. Hierarchy 1 shows the
initial data category group in the sandbox organization. In hierarchy 2, we add an EU category under EMEA and move FR, SP and
UK below EU. In hierarchy 3, we delete FR and associate its records with its new parent, EU. Finally, we deploy the changes from the
sandbox to the production organization.
705
DataCategoryGroupMetadata Types
Metadata API has no concept of the order of the changes made to the sandbox organization. It just deploys the changes from one
organization to another. During the deployment, it first notices the deletion of the FR category and removes it from the production
organization. Consequently, it moves associations for any records from FR to its parent on the production organization, EMEA. Metadata
API then adds the EU category and moves SP and UK below it. Although the category group hierarchy looks the same in both
organizations, record categorization in production is different from the sandbox organization. The records that were originally associated
with FR in hierarchy 1 are associated with EU in the sandbox organization, but are associated with EMEA in the production organization.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DataWeaveResource
Represents the DataWeaveScriptResource class that is generated for all DataWeave scripts. DataWeave scripts can be directly
invoked from Apex.
Parent Type
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
File Suffix and Directory Location
DataWeaveResource components have the suffix .dwl and are stored in the dw folder.
Version
DataWeaveResource components are available in API version 58.0 and later.
706
DataWeaveResourceMetadata Types
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
double
apiVersion
Description
Required.
The API version for this component.
Field Type
boolean
isGlobal
Description
When set to true, the generated DataWeaveScriptResource class is global.
Field Type
boolean
isProtected
Description
Not used.
Declarative Metadata Sample Definition
The following is an example of a DataWeaveResource component.
csvToContacts.dwl
%dw 2.0
input records application/csv
output application/apex
---
records map(record) -> {
FirstName: record.first_name,
LastName: record.last_name,
Email: record.email
} as Object {class: "Contact"}
csvToContacts.dwl-meta.xml
<?xml version="1.0" encoding="UTF-8"?>
<DataWeaveResource xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>58.0</apiVersion>
<isGlobal>true</isGlobal>
</DataWeaveResource>
707
DataWeaveResourceMetadata Types
The following is an example package.xml that references the csvToContacts definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>csvToContacts</members>
<name>DataWeaveResource</name>
</types>
<version>58.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DecisionTable
Represents the information about a decision table. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DecisionTable components have the suffix .decisionTable and are stored in the decisionTables folder.
Version
DecisionTable components are available in API version 51.0 and later.
Special Access Rules
To use this metadata type, your Salesforce org must have the Loyalty Management or the Rebate Management license.
Fields
DescriptionField TypeField Name
Required. Parameters that you specify in a decision table.DecisionTableParametersdecisionTableParameters
Description of the decision table.stringdescription
Required. Latest date on which the decision table was refreshed.stringlastSyncDate
Required. Name of the decision table, which appears in Salesforce Setup.stringsetupName
Required. Object that contains the rules based on which the decision
table must provide outcomes.
stringsourceObject
708
DecisionTableMetadata Types
DescriptionField TypeField Name
Required. Status of the decision table.
Valid values are:
DecisionTableStatus
(enumeration of
type string)
status
Draft
Inactive
Active
ActivationInProgress
DecisionTableParameters
Represents an input or output field of a decision table.
Fields
DescriptionField TypeField Name
Required. API name of the fields that selected as an input or output for the
decision table.
stringfieldName
Indicates whether an input field is used to group the business rules of the
decision table.
booleanisGroupByField
Required. Operator used for the input field. Valid values are:DecisionTableOperator
(enumeration of type
string)
operator
Equals
NotEquals
LessThan
LessOrEqual
GreaterThan
GreaterOrEqual
Matches
ExistsIn
DoesNotExistIn
The sequence in which input fields are processed. This field is available in API
version 52.0 and later.
integersequence
Sort outputs of a decision table based on the values of the input or output
parameter field. This field is available in API version 56.0 and later.
Valid values are:
DecisionTableSortType(enumeration
of type string)
sortType
AscNullFirst
AscNullLast
DescNullFirst
DescNullLast
709
DecisionTableMetadata Types
DescriptionField TypeField Name
None
Outputs cant be sorted based on picklist and multi-select picklist fields.
Required. Usage type of a field.
The usage type can be one of the following values:
DecisionTable
ParameterType
(enumeration of type
string)
usage
INPUT
OUTPUT
Declarative Metadata Sample Definition
The following is an example of a DecisionTable component.
<?xml version="1.0" encoding="UTF-8"?>
<DecisionTable xmlns="http://soap.sforce.com/2006/04/metadata">
<decisionTableParameters>
<fieldName>IsDeleted</fieldName>
<operator>Equals</operator>
<usage>INPUT</usage>
</decisionTableParameters>
<decisionTableParameters>
<fieldName>IsActive</fieldName>
<usage>OUTPUT</usage>
</decisionTableParameters>
<decisionTableParameters>
<fieldName>LimitNumber</fieldName>
<operator>Equals</operator>
<usage>INPUT</usage>
</decisionTableParameters>
<decisionTableParameters>
<fieldName>LimitStartDate</fieldName>
<usage>OUTPUT</usage>
</decisionTableParameters>
<decisionTableParameters>
<fieldName>GivenBadgeCount</fieldName>
<operator>Equals</operator>
<usage>INPUT</usage>
<sortType>AscNullFirst</sortType>
</decisionTableParameters>
<decisionTableParameters>
<fieldName>Name</fieldName>
<operator>Equals</operator>
<usage>INPUT</usage>
</decisionTableParameters>
<description>Sample DT created for md-common tests</description>
<setupName>Sample DT</setupName>
<sourceObject>WorkBadgeDefinition</sourceObject>
<status>Draft</status>
</DecisionTable>
710
DecisionTableMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Sample DT Package</fullName>
<description>Package created for md-common tests</description>
<types>
<members>Sample_DT</members>
<name>DecisionTable</name>
</types>
<types>
<members>DSL_Sample</members>
<members>Sample_DT_Default</members>
<name>DecisionTableDatasetLink</name>
</types>
<version>51.0</version>
</Package>
DecisionTableDatasetLink
Represents the information about a dataset link associated with a decision table. In a dataset link, select an object for whose records,
the decision table must provide an outcome.This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DecisionTableDatasetLink components have the suffix .decisionTableDatasetLink and are stored in the
decisionTableDatasetLinks folder.
Version
DecisionTableDatasetLink components are available in API version 51.0 and later.
Special Access Rules
To use this metadata type, your Salesforce org must have the Loyalty Management or the Rebate Management license.
Fields
DescriptionField TypeField Name
Required. The name of the associated decision table.stringdecisionTableName
Mapping between a decision table parameter and a field of the object
selected in the dataset link.
DecisionTblDatasetParametersdecisionTblDatasetParameters
The description of the dataset link.stringdescription
Indicates whether a dataset link is the default dataset link for a decision
table.
booleanisDefault
711
DecisionTableDatasetLinkMetadata Types
DescriptionField TypeField Name
Required. The name of the decision table dataset link, which appears in
Setup.
stringsetupName
Required. The name of the object being evaluated.stringsourceObject
DecisionTblDatasetParameters
Represents the mapping between a decision table parameter and a field of the object selected in the dataset link.
The mapping allows the decision table to know which object fields must be compared to the input-output fields of the decision table.
Fields
DescriptionField TypeField Name
Required. Name of the dataset field whose value must be compared against
an Input type decision table parameter when providing the outcome.
stringdatasetFieldName
Required. The API name of the decision table field that is selected as an input
or output for the decision table dataset link.
stringfieldName
Declarative Metadata Sample Definition
The following is an example of a DecisionTableDatasetLink component.
<?xml version="1.0" encoding="UTF-8"?>
<DecisionTableDatasetLink xmlns="http://soap.sforce.com/2006/04/metadata">
<decisionTableName>Sample_DT</decisionTableName>
<decisionTblDatasetParameters>
<fieldName>IsDeleted</fieldName>
<datasetFieldName>IsDeleted</datasetFieldName>
</decisionTblDatasetParameters>
<decisionTblDatasetParameters>
<fieldName>LimitNumber</fieldName>
<datasetFieldName>CallDurationInSeconds</datasetFieldName>
</decisionTblDatasetParameters>
<decisionTblDatasetParameters>
<fieldName>Name</fieldName>
<datasetFieldName>Subject</datasetFieldName>
</decisionTblDatasetParameters>
<description>DSL created for md-common tests</description>
<isDefault>false</isDefault>
<sourceObject>Task</sourceObject>
<setupName>DSL Sample</setupName>
</DecisionTableDatasetLink>
712
DecisionTableDatasetLinkMetadata Types
The following is an example of a default DecisionTableDatasetLink component.
<?xml version="1.0" encoding="UTF-8"?>
<DecisionTableDatasetLink xmlns="http://soap.sforce.com/2006/04/metadata">
<decisionTableName>Sample_DT</decisionTableName>
<isDefault>true</isDefault>
<sourceObject>WorkBadgeDefinition</sourceObject>
<setupName>Default DSL Sample</setupName>
</DecisionTableDatasetLink>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Sample DT Package</fullName>
<description>Package created for md-common tests</description>
<types>
<members>Sample_DT</members>
<name>DecisionTable</name>
</types>
<types>
<members>DSL_Sample</members>
<members>Sample_DT_Default</members>
<name>DecisionTableDatasetLink</name>
</types>
<version>51.0</version>
</Package>
DecisionMatrixDefinition
Represents a definition of a decision matrix.
Note: Before deploying a decision matrix or a decision matrix version to a target org, review these decision matrix migration
considerations.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DecisionMatrixDefinition components have the suffix .decisionMatrixDefinition and are stored in the
decisionMatrixDefinition folder.
Version
DecisionMatrixDefinition components are available in API version 55.0 and later.
713
DecisionMatrixDefinitionMetadata Types
Fields
DescriptionField Name
Field Type
string
description
Description
Describes a decision matrix definition.
Field Type
string
groupKey
Description
A key for grouping matrix rows in different versions, such as a geographic region or a
product code.
Field Type
string
label
Description
Required.
The UI label of a decision matrix definition.
Field Type
ExpsSetProcessType (enumeration of type string)
processType
Description
The process type that uses the expression set rule.
Valid values are:
Bre
TransactionJournal
TierProcessing
CustomLoyalty
TestProcess
AiAcceleratorSubscriberChurnPrediction
DefaultPricing
RecordAlert
ShipAndDebit
WarrantyClaim
ProductQualification
ProductCategoryQualification
EventOrchestration
ComplianceControl
FinancialServicesCloud
714
DecisionMatrixDefinitionMetadata Types
DescriptionField Name
Available in API version 59.0 and later.
Field Type
string
subGroupKey
Description
A subgroup key for grouping matrix rows in different versions, such as a geographic
region or a product code. For example, if the groupKey is Country, the
subGroupKey can be State or Province.
Field Type
DecisionMatrixType (enumeration of type string)
type
Description
The type of a decision matrix.
Valid values are:
Grouped
Standard
Field Type
DecisionMatrixDefinitionVersion[]
versions
Description
Represents an array of decision matrix version definitions in a decision matrix. This
array must contain at least one version.
DecisionMatrixDefinitionVersion
Represents a definition of a decision matrix version.
DescriptionField Name
Field Type
DecisionMatrixDefinitionVersionColumn[]
columns
Description
Represents an array of columns in a decision matrix definition version.
Field Type
string
decisionMatrixDefinition
Description
The full name of a decision matrix version.
Field Type
dateTime
endDate
715
DecisionMatrixDefinitionMetadata Types
DescriptionField Name
Description
The date until which a decision matrix definition version is available for use.
Field Type
string
groupKeyValue
Description
The value of the groupKey for a decision matrix definition version. For example, if the
groupKey is Country, the groupKeyValue can be United States.
Field Type
string
label
Description
Required.
The UI label of a decision matrix definition version.
Field Type
dateTime
startDate
Description
Required.
The date from when a decision matrix definition version is available for use.
Field Type
DecisionMatrixDefStatus (enumeration of type string)
status
Description
Required.
Specifies the status of a decision matrix definition version.
Valid values are:
Active
Draft
Inactive
InvalidDraft
Obsolete
Field Type
string
subGroupKeyValue
Description
The value of the subgroup key for a decision matrix definition version. For example, if the
subGroupKey is State or Province, the subGroupKeyValue can be
California.
716
DecisionMatrixDefinitionMetadata Types
DescriptionField Name
Field Type
int
versionNumber
Description
Required.
The version number of a decision matrix definition.
DecisionMatrixDefinitionVersionColumn
Represents a definition of a column in a decision matrix definition version.
DescriptionField Name
Field Type
DecisionMatrixColumnType (enumeration of type string)
columnType
Description
Required.
Specifies whether a column is for an input or output.
Valid values are:
Input
Output
Field Type
DecisionMatrixDataType (enumeration of type string)
dataType
Description
Required.
The type of data thats stored in a column.
Valid values are:
Boolean
Currency
Number
NumberRange
Percent
Text
TextRange
Field Type
int
displaySequence
Description
Required.
717
DecisionMatrixDefinitionMetadata Types
DescriptionField Name
Represents the position of a column in the column order.
Field Type
boolean
isWildcardColumn
Description
Required.
Specifies whether a column stores a wildcard value (true) or not (false).
The default value is false.
Field Type
string
name
Description
Required.
The full name of a decision matrix definition version column.
Field Type
string
rangeValue
Description
A list of values that define range boundaries.
Field Type
string
wildcardValue
Description
The wildcard value such as ALL.
Declarative Metadata Sample Definition
The following is an example of a DecisionMatrixDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<DecisionMatrixDefinition
xmlns="http://soap.sforce.com/2006/04/metadata">
<label>HealthCloudUM_ValidRegions</label>
<type>Standard</type>
<versions>
<fullName>HealthCloudUM_ValidRegions_V1</fullName>
<columns>
<columnType>Input</columnType>
<dataType>Text</dataType>
<displaySequence>2</displaySequence>
<isWildcardColumn>false</isWildcardColumn>
<name>State</name>
</columns>
<columns>
718
DecisionMatrixDefinitionMetadata Types
<columnType>Input</columnType>
<dataType>Text</dataType>
<displaySequence>1</displaySequence>
<isWildcardColumn>false</isWildcardColumn>
<name>City</name>
</columns>
<columns>
<columnType>Output</columnType>
<dataType>Boolean</dataType>
<displaySequence>3</displaySequence>
<isWildcardColumn>false</isWildcardColumn>
<name>IsValid</name>
</columns>
<decisionMatrixDefinition>HealthCloudUM_ValidRegions</decisionMatrixDefinition>
<label>HealthCloudUM_ValidRegions V1</label>
<startDate>2022-05-02T13:04:06.000Z</startDate>
<status>Draft</status>
<versionNumber>1</versionNumber>
</versions>
</DecisionMatrixDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>DecisionMatrixDefinition</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DelegateGroup
Represents a group of users who have the same administrative privileges. These groups are different from public groups used for sharing.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DelegateGroup components have the suffix .delegateGroup and are stored in the delegateGroups folder. The file prefix
must match the developer name of the delegate group. For example, a delegate group with a developer name of MyDelegateGroup
would have a file name of MyDelegateGroup.delegateGroup.
719
DelegateGroupMetadata Types
Version
DelegateGroup components are available in API version 36.0 and later.
Special Access Rules
Only users with the View Setup and Configuration permission can be delegated administrators. As of Spring 20 and later, only users
with View Setup or Configuration permission can access this object.
Fields
DescriptionField TypeField Name
The custom objects associated with the group. Delegated administrators
can customize nearly every aspect of each of those custom objects,
string[]customObjects
including creating a custom tab. However, they cant create or modify
relationships on the objects or set organization-wide sharing defaults.
Delegated administrators must have access to custom objects to access
the merge fields on those objects from formulas.
The groups with users assigned by delegated administrators.string[]groups
Required. The delegated groups non-API name.stringlabel
Required. Allows users in this group to log in as users in the role hierarchy
that they administer (true) or not (false). Depending on your
booleanloginAccess
organization settings, individual users must grant login access to allow
their administrators to log in as them.
The permission set groups that can be assigned to users in specified
roles and all subordinate roles by delegated administrators.
string[]permissionSetGroups
The permission sets that can be assigned to users in specified roles and
all subordinate roles by delegated administrators.
string[]permissionSets
The profiles that can be assigned to users by delegated administrators.string[]profiles
The roles and subordinates for which delegated administrators of the
group can create and edit users.
string[]roles
Declarative Metadata Sample Definition
The following is an example of a DelegateGroup component.
<?xml version="1.0" encoding="UTF-8"?>
<DelegateGroup xmlns="http://soap.sforce.com/2006/04/metadata">
<label>MyDelegateGroup</label>
<loginAccess>true</loginAccess>
<name>MyDelegateGroup</name>
<profiles>Chatter Free User</profiles>
<profiles>Chatter Moderator User</profiles>
720
DelegateGroupMetadata Types
<profiles>Marketing User</profiles>
<permissionSetGroups>My Permission Set Group</permissionSetGroups>
<permissionSets>My Permset</permissionSets>
<roles>LesserBossMan</roles>
</DelegateGroup>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>DelegateGroup</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DigitalExperienceBundle
Represents a text-based code structure of your organizations workspaces, organized by workspace type, and each workspaces content
items.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DigitalExperienceBundle components have the suffix .digitalExperience and are stored in the digitalExperiences
folder.
DigitalExperienceBundle uses workspaces and content types to organize your data in a content-focused structure.
Workspace: For enhanced Lightning Web Runtime (LWR) sites, a collection of related content items that form the site when combined
with data from the DigitalExperienceConfig metadata type. Every enhanced LWR site has its own workspace.
For Marketing Cloud Growth, a collection of content contained in the marketing workspace.
Workspace type: A way to categorize different kinds of workspaces. For example, the workspace type for enhanced LWR sites is
site, and the workspace type for marketing workspaces in Marketing Cloud Growth is marketing. The workspace type
determines which content types are available in the workspace. In the DigitalExperienceBundle folder structure, all workspaces of
a given type are under that workspace type. site and marketing are the only supported workspace types.
Content types: A way to categorize different kinds of content in a workspace. For example, all routes in an enhanced LWR site are
stored under a content type folder called sfdc_cms__route. Similarly, forms for a marketing workspace in Marketing Cloud
Growth are stored under a content type folder called sfdc_cms__form.
721
DigitalExperienceBundleMetadata Types
Content items: For enhanced LWR sites, the individual settings and site components that make up an enhanced LWR site. For example,
each of the routes in an enhanced LWR site is a single content item.
For marketing workspaces, the content items used in marketing campaigns. For example, each form in a workspace is a single content
item.
Heres an example of the DigitalExperienceBundle structure.
When retrieved, the DigitalExperienceBundle contains workspace type folders (1) under the digitalExperiences folder.
The marketing folder contains one or more workspace folders (2), each representing a marketing workspace in Marketing Cloud Growth.
The site folder contains one or more workspace folders (3), each representing the workspace for an individual enhanced LWR site. Each
workspace folder contains an XML file with information about the workspace, such as the label. For enhanced LWR sites, be sure to
keep the label value in sync with the sites network name.
Each workspace folder also contains several content type folders that represent each of the different content types (4) used in that
workspace. For marketing workspaces, forms and referenced images are the only supported content types in DigitalExperienceBundle.
Finally, each content type folder can contain one or more content subfolders. Each content subfolder can contain additional subfolders
and several files that, when combined, represent an individual content item, such as a specific view (5).
A _meta.json file that contains the metadata for the content item. Use the _meta.json file to learn the location of a content
item within the workspace, or to move the content item to another location, including creating a new location for the content item.
You can also use the _meta.json file to view a content items parent-child relationships, to move the content item from one
parent to another, or to remove a parent-child relationship entirely.
722
DigitalExperienceBundleMetadata Types
A content.json file that contains the primary version of the content item. Each content.json file includes values for the
content items type, title, and content body. Use this file to edit the contents properties on your local machine or scratch org and
then deploy.
If applicable, additional JSON files that represent variants of the content item, such as language translations.
The _meta.json file contains several properties:
DescriptionProperty
Field Type
string
apiName
Description
Required.
The name of the associated content item. The apiName
allows only alphanumeric and underscore characters and must
begin with a letter.
You can use an apiName one time per content type in a
given workspace. For example, a single workspace can contain
both a view named home and a route named home but
cant contain two views named home.
Field Type
string
parent
Description
The developer name of the content items parent. If the content
item doesnt have a parent, then either the parent value is
blank or the parent property isnt displayed at all.
Field Type
string
path
Description
The location of the content item within the workspaces folder
structure. The value is blank for content types at the root level,
such as appPage and site.
Field Type
string
type
Description
Required.
The full name of the content type from which the content item
was created.
The type is prefixed with sfdc_cms__. For example, all
views in a site workspace have the content type
sfdc_cms__view.
723
DigitalExperienceBundleMetadata Types
Version
DigitalExperienceBundle components are available in API version 56.0 and later.
Special Access Rules
In Experience Cloud, can use DigitalExperienceBundle for enhanced LWR sites created in Winter 23 or later. For Aura sites and other
LWR sites, use the ExperienceBundle or SiteDotCom on page 1939 metadata types.
In Marketing Cloud Growth, you must have a contributor role in a marketing workspace to retrieve it.
Fields
DescriptionField Name
Field Type
string
description
Description
Contains the description of the workspace.
For site workspaces, this value is empty.
Field Type
DigitalExperienceFolderShare[]
digitalExperienceFolderShares
Description
The list of folders in the source marketing workspace that are shared with target
marketing workspaces.
Available in API version 61.0 and later.
Field Type
string
label
Description
Required.
A user-friendly name for DigitalExperienceBundle, which is defined when the
DigitalExperienceBundle is created.
Field Type
DigitalExperience[]
spaceResources
Description
The list of resources in this DigitalExperienceBundle. Each resource represents a content
type, such as views, routes, themes, and languageSettings.
724
DigitalExperienceBundleMetadata Types
DigitalExperience
Represents content in the bundle. When retrieved as part of DigitalExperienceBundle, DigitalExperience represents all content for the
requested workspace or workspaces. When retrieved on its own, DigitalExperience represents only the content types you specify.
This subtype extends the MetadataWithContent metadata type and inherits its content and fullName fields.
When you retrieve DigitalExperience, the folder structure matches that of DigitalExperienceBundle, with only the specified content
returned.
DescriptionField Name
Field Type
string
fileName
Description
Required.
Name of the resource file.
Field Type
string
filePath
Description
Path to the file within the artifact folder.
Field Type
string
format
Description
Required.
Only JSON is allowed.
DigitalExperienceFolderShare
Represents a folder in a source marketing workspace thats shared with other target workspaces. Available in API version 61.0 and later.
DescriptionField Name
Field Type
string
folderPath
Description
The root folder of the shared workspace. The allowed value is _root.
Field Type
SharedWith[]
sharedWith
Description
The list of target workspaces that the source workspace is shared with.
725
DigitalExperienceBundleMetadata Types
SharedWith
Represents a target marketing workspace that the source marketing workspace is shared with. Available in API version 61.0 and later.
DescriptionField Name
Field Type
string
fullyQualifiedName
Description
The target workspace that the source workspace is shared with. It uses the format
workspace_type/target_workspace_name. For example,
marketing/Workspace2.
Folders and Bundled Definitions
Each DigitalExperienceBundle includes content type folders, content item subfolders, and associated data that is contained in
content.json and _meta.json files. Each content type folder represents a content type that is supported in a given workspace
type.
sfdc_cms__appPage Folder
This content type folder exists at the root level and contains one content subfolder that represents the sites single-page application.
Only one sfdc_cms__appPage content item is allowed per site.
The content subfolder contains two or more JSON files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
<apiName>/content.json
DescriptionProperty
Field Type
content link
currentThemeId
Description
Represents the apiName of the sites active theme.
Field Type
string
headMarkup
Description
Allows the addition of custom markup to the site's main page
<head> tag. Similar to using Experience Builder >
Setting > Advanced > Head Markup.
See Salesforce Help for markup guidance.
726
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
boolean
isLockerServiceEnabled
Description
Indicates whether Lightning Locker is enabled (true) or not
(false). The default value is true.
Before disabling Lightning Locker, set
isRelaxedCSPLevel to true.
Field Type
boolean
isRelaxedCSPLevel
Description
Controls the ability to run scripts and controls script access to
third-party hosts. The default is false.
A false value sets a strict CSP security level, and blocks
access to inline scripts and all hosts. A true value sets a
relaxed CSP security level, and permits access to inline scripts
and allowed hosts. To learn more, see Select a Security Level
in Experience Builder Sites.
Field Type
string
templateName
Description
Required.
The unique developer name of the template. Valid values are:
talon-template-byoRepresents the Build Your
Own (LWR) template
microsite-template-marketingRepresents
the Microsite template
Field Type
string
title
Description
Required.
Represents the label of the appPage.
Field Type
string
type
Description
Required.
727
DigitalExperienceBundleMetadata Types
DescriptionProperty
Represents the content type. The only allowed value is
sfdc_cms__appPage.
{
"type" : "sfdc_cms__appPage",
"title" : "main",
"contentBody" : {
"currentThemeId" : "Build_Your_Own_LWR",
"headMarkup" : "<meta charset=\"UTF-8\" />\n<meta name=\"viewport\"
content=\"width=device-width, initial-scale=1\" />\n<title>Welcome to LWC
Communities!</title>\n\n<link rel=\"stylesheet\" href=\"{ basePath
}/assets/styles/styles.css?{ versionKey }\" />\n\n\n<!-- webruntime-branding-shared
stylesheets -->\n<link rel=\"stylesheet\" href=\"{ basePath
}/assets/styles/salesforce-lightning-design-system.min.css?{ versionKey }\" />\n<link
rel=\"stylesheet\" href=\"{ basePath }/assets/styles/dxp-site-spacing-styling-hooks.min.css?{
versionKey }\" />\n<link rel=\"stylesheet\" href=\"{ basePath
}/assets/styles/dxp-styling-hooks.min.css?{ versionKey }\" />\n<link rel=\"stylesheet\"
href=\"{ basePath }/assets/styles/dxp-slds-extensions.min.css?{ versionKey }\" />\n\n\n<!--
webruntime-branding-shared stylesheets -->",
"isLockerServiceEnabled" : true,
"isRelaxedCSPLevel" : false,
"templateName" : "talon-template-byo"
}
}
sfdc_cms__brandingSet Folder
This content type folder contains one content subfolder per branding set. Each content subfolder contains two or more JSON files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
<apiName>/content.json
DescriptionProperty
Field Type
enumeration on page 156 of type string
brandingSetType
Description
Represents whether the color palette stored in the branding
set is for the entire site or a specific section. You cant change
one branding set type to another.
Valid values are:
APPThe branding set applies to the entire site. There
can be only one branding set of this type.
728
DigitalExperienceBundleMetadata Types
DescriptionProperty
SCOPEDA SCOPED branding set can be applied only
to a section component.
Field Type
string
definitionName
Description
Required. Represents the name for the branding set used in
the site or templates theme.
There are two standard templates that have unique naming:
Build Your Own (LWR) uses talon-template-byo:branding
Microsite uses microsite-template-marketing:branding
Field Type
string
title
Description
Required.
Represents the label of the brandingSet content item.
The maximum length is 100 characters. The title must be
unique within the spaces brandingSet content items.
Field Type
string
type
Description
Required.
Represents the content type. The only supported value is
sfdc_cms__brandingSet.
Field Type
object (map)
values
Description
Required.
Represents a map of branding values that can be applied to a
site.
{
"type" : "sfdc_cms__brandingSet",
"title" : "Build Your Own (LWR)",
"contentBody" : {
"brandingSetType" : "APP",
"definitionName" : "talon-template-byo:branding",
"values" : {
"BackgroundColor" : "#ffffff",
729
DigitalExperienceBundleMetadata Types
"BaseFontSize" : "1rem",
"BodyFont" : "Salesforce Sans",
"BodyFontSize" : "1rem",
"BodyFontStyle" : "normal",
"BodyFontWeight" : "400",
"BodyLetterSpacing" : "0em",
"BodyLineHeight" : "1.5",
"BodySmallFont" : "Salesforce Sans",
"BodySmallFontSize" : "0.75rem",
"BodySmallFontStyle" : "normal",
"BodySmallFontWeight" : "400",
"BodySmallLetterSpacing" : "0em",
"BodySmallLineHeight" : "1.25",
"BodySmallTextColor" : "var(--dxp-g-root-contrast)",
"BodySmallTextDecoration" : "none",
"BodySmallTextTransform" : "none",
"BodyTextColor" : "var(--dxp-g-root-contrast)",
"BodyTextDecoration" : "none",
"BodyTextTransform" : "none",
"ButtonActiveColor" : "var(--dxp-s-button-color-1)",
"ButtonBorderRadius" : "4px",
"ButtonColor" : "var(--dxp-g-brand)",
"ButtonFocusColor" : "var(--dxp-s-button-color-1)",
"ButtonFont" : "Salesforce Sans",
"ButtonFontSize" : "1rem",
"ButtonFontStyle" : "normal",
"ButtonFontWeight" : "400",
"ButtonHoverColor" : "var(--dxp-s-button-color-1)",
"ButtonLargeBorderRadius" : "4px",
"ButtonLargeFontSize" : "1.25rem",
"ButtonLargePadding" : "1.25rem",
"ButtonLetterSpacing" : "0em",
"ButtonLineHeight" : "2",
"ButtonPadding" : "1rem",
"ButtonSmallBorderRadius" : "4px",
"ButtonSmallFontSize" : "0.75rem",
"ButtonSmallPadding" : "0.75rem",
"ButtonTextTransform" : "none",
"ColumnSpacerSizeDesktop" : "1rem",
"ColumnSpacerSizeMobile" : "0.75rem",
"ComponentSpacerSizeDesktop" : "1.5rem",
"ComponentSpacerSizeMobile" : "1.5rem",
"DropdownBackgroundColor" : "var(--dxp-g-root)",
"DropdownBackgroundHoverColor" : "var(--dxp-g-neutral)",
"DropdownBorderColor" : "var(--dxp-g-neutral)",
"DropdownTextColor" : "var(--dxp-g-root-contrast)",
"DropdownTextHoverColor" : "var(--dxp-g-neutral-contrast)",
"FormElementBackgroundColor" : "var(--dxp-g-root)",
"FormElementBorderColor" : "var(--dxp-g-neutral-3)",
"FormElementBorderRadius" : "4px",
"FormElementBorderWidth" : "1px",
"FormElementLabelColor" : "var(--dxp-g-root-contrast)",
"FormElementTextColor" : "var(--dxp-g-root-contrast)",
"HeadingExtraLargeColor" : "var(--dxp-g-root-contrast)",
730
DigitalExperienceBundleMetadata Types
"HeadingExtraLargeFont" : "Salesforce Sans",
"HeadingExtraLargeFontSize" : "2.5rem",
"HeadingExtraLargeFontStyle" : "normal",
"HeadingExtraLargeFontWeight" : "300",
"HeadingExtraLargeLetterSpacing" : "0em",
"HeadingExtraLargeLineHeight" : "1.25",
"HeadingExtraLargeTextDecoration" : "none",
"HeadingExtraLargeTextTransform" : "none",
"HeadingLargeColor" : "var(--dxp-g-root-contrast)",
"HeadingLargeFont" : "Salesforce Sans",
"HeadingLargeFontSize" : "1.75rem",
"HeadingLargeFontStyle" : "normal",
"HeadingLargeFontWeight" : "300",
"HeadingLargeLetterSpacing" : "0em",
"HeadingLargeLineHeight" : "1.25",
"HeadingLargeTextDecoration" : "none",
"HeadingLargeTextTransform" : "none",
"HeadingMediumColor" : "var(--dxp-g-root-contrast)",
"HeadingMediumFont" : "Salesforce Sans",
"HeadingMediumFontSize" : "1.25rem",
"HeadingMediumFontStyle" : "normal",
"HeadingMediumFontWeight" : "300",
"HeadingMediumLetterSpacing" : "0em",
"HeadingMediumLineHeight" : "1.25",
"HeadingMediumTextDecoration" : "none",
"HeadingMediumTextTransform" : "none",
"HeadingSmallColor" : "var(--dxp-g-root-contrast)",
"HeadingSmallFont" : "Salesforce Sans",
"HeadingSmallFontSize" : "1.125rem",
"HeadingSmallFontStyle" : "normal",
"HeadingSmallFontWeight" : "300",
"HeadingSmallLetterSpacing" : "0em",
"HeadingSmallLineHeight" : "1.25",
"HeadingSmallTextDecoration" : "none",
"HeadingSmallTextTransform" : "none",
"HorizontalRowPaddingDesktop" : "1rem",
"HorizontalRowPaddingMobile" : "0.75rem",
"LinkColor" : "var(--dxp-g-brand)",
"LinkHoverColor" : "var(--dxp-s-link-text-color-1)",
"LinkTextDecoration" : "none",
"LinkTextDecorationFocus" : "underline",
"LinkTextDecorationHover" : "underline",
"MaxContentWidthDesktop" : "1800px",
"MaxContentWidthMobile" : "none",
"MobileBaseFontSize" : "1rem",
"PrimaryAccentColor" : "#005fb2",
"PrimaryAccentForegroundColor" : "#ffffff",
"SiteLogo" : "",
"TextColor" : "#1a1b1e",
"VerticalRowPaddingDesktop" : "1rem",
"VerticalRowPaddingMobile" : "0.75rem",
"_BackgroundColor1" : "#ebebeb",
"_BackgroundColor2" : "#c2c2c2",
"_BackgroundColor3" : "#858585",
731
DigitalExperienceBundleMetadata Types
"_ButtonActiveColorContrast" : "var(--dxp-g-brand-contrast-1)",
"_ButtonColor1" : "var(--dxp-g-brand-1)",
"_ButtonColorContrast" : "var(--dxp-g-brand-contrast)",
"_ButtonFocusColorContrast" : "var(--dxp-g-brand-contrast-1)",
"_ButtonHoverColorContrast" : "var(--dxp-g-brand-contrast-1)",
"_DestructiveColor" : "#c23934",
"_DestructiveColor1" : "#a2302b",
"_DestructiveColor2" : "#611d1a",
"_DestructiveColor3" : "#010000",
"_DestructiveForegroundColor" : "#ffffff",
"_DestructiveForegroundColor1" : "#ffffff",
"_DestructiveForegroundColor2" : "#ffffff",
"_DestructiveForegroundColor3" : "#ffffff",
"_InfoColor" : "#16325c",
"_InfoColor1" : "#0e203b",
"_InfoColor2" : "#000000",
"_InfoColor3" : "#000000",
"_InfoForegroundColor" : "#ffffff",
"_InfoForegroundColor1" : "#ffffff",
"_InfoForegroundColor2" : "#ffffff",
"_InfoForegroundColor3" : "#ffffff",
"_LinkColor1" : "var(--dxp-g-brand-1)",
"_NeutralColor" : "#ecebea",
"_NeutralColor1" : "#d9d7d5",
"_NeutralColor2" : "#b2aeaa",
"_NeutralColor3" : "#76716b",
"_NeutralForegroundColor" : "#000000",
"_NeutralForegroundColor1" : "#000000",
"_NeutralForegroundColor2" : "#000000",
"_NeutralForegroundColor3" : "#ffffff",
"_OfflineColor" : "#444444",
"_OfflineColor1" : "#303030",
"_OfflineColor2" : "#070707",
"_OfflineColor3" : "#000000",
"_OfflineForegroundColor" : "#ffffff",
"_OfflineForegroundColor1" : "#ffffff",
"_OfflineForegroundColor2" : "#ffffff",
"_OfflineForegroundColor3" : "#ffffff",
"_PrimaryAccentColor1" : "#004989",
"_PrimaryAccentColor2" : "#001e38",
"_PrimaryAccentColor3" : "#000000",
"_PrimaryAccentForegroundColor1" : "#ffffff",
"_PrimaryAccentForegroundColor2" : "#ffffff",
"_PrimaryAccentForegroundColor3" : "#ffffff",
"_SiteLogoUrl" : "",
"_SuccessColor" : "#4bca81",
"_SuccessColor1" : "#36b66c",
"_SuccessColor2" : "#237747",
"_SuccessColor3" : "#07190f",
"_SuccessForegroundColor" : "#000000",
"_SuccessForegroundColor1" : "#000000",
"_SuccessForegroundColor2" : "#ffffff",
"_SuccessForegroundColor3" : "#ffffff",
"_TextColor1" : "#000000",
732
DigitalExperienceBundleMetadata Types
"_TextColor2" : "#000000",
"_TextColor3" : "#000000",
"_WarningColor" : "#ffb75d",
"_WarningColor1" : "#ffa534",
"_WarningColor2" : "#e27d00",
"_WarningColor3" : "#673900",
"_WarningForegroundColor" : "#000000",
"_WarningForegroundColor1" : "#000000",
"_WarningForegroundColor2" : "#000000",
"_WarningForegroundColor3" : "#ffffff"
}
}
}
sfdc_cms__languageSettings Folder
This content type folder contains one content subfolder called languages. The languages content subfolder contains two or more JSON
files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
<apiName>/content.json
DescriptionProperty
Field Type
string
defaultLocale
Description
Represents the default locale for a workspace. The language
listed here is the default fallback language for all of the
workspaces languageTypes.
Field Type
languageType[]
languages
Description
Required.
Represents the languages available in the space. Each
languageType contains values related to that particular
language.
Field Type
string
languageType.fallbacklocale
Description
Represents the locale to use when no content is available for
the selected locale. For example, if a site visitor chooses
Japanese from the language selector but theres no content
733
DigitalExperienceBundleMetadata Types
DescriptionProperty
for that page in Japanese, content is displayed in the fallback
locale.
The fallbackLocale's isAuthoringOnly value must be
false.
Only one level of fallback is allowed. Here are examples for a
workspace with a locale of en_US, and with Spanish, French,
and Finnish as supported locales.
Not allowed: Spanish falls back to French, and French falls
back to Finnish. This configuration includes two levels of
fallback.
Allowed: Spanish falls back to French, and French falls back
to English. en_US is the workspaces default.
Allowed: Spanish falls back to French, and French has no
fallback.
This property is displayed only if the
languageType.fallbackLocale is different from
the workspaces default locale.
Field Type
boolean
languageType.isActive
Description
Indicates whether the language is active (true) or inactive
(false). The only supported value is true.
Field Type
boolean
languageType.isAuthoringOnly
Description
Indicates whether the language is scoped only to authoring
workspace (true) or not (false). The default value is
false.
When set to true, the languageType and its associated
translations arent visible to site visitors. When set to false,
site visitors can see the languageType and its associated
translations.
Field Type
string
languageType.label
Description
Required. Defines the display label for a language. The display
label appears in any language selector components that you
add to your site and in the language selector in Experience
Builder.
734
DigitalExperienceBundleMetadata Types
DescriptionProperty
The default value is the locale name. For example, if
languageType.locale=fr, then
languageType.label=French.
Field Type
string
languageType.locale
Description
Required. Represents the languageCode appended with the
countryCode, separated by an underscore. For example,
en_US indicates a languageCode of English, and a
countryCode of United States.
Defines the locale, or geographic region, of a language. Locales
determine the display format for date and time, user names,
address, and commas and periods in numbers.
Each languageType.locale and
languageType.label combination can be used only
one time per workspace.
Field Type
string
title
Description
Required.
Represents the label of the content item.
Field Type
Description
Required.
type
Represents the content type. The only allowed value is
sfdc_cms__languageSettings.
{
"type" : "sfdc_cms__languageSettings",
"title" : "LanguageContent",
"contentBody" : {
"languages" : [ {
"locale" : "en_US",
"label" : "English (US)",
"isActive" : true,
"isAuthoringOnly" : false
} ],
"defaultLocale" : "en_US"
}
}
735
DigitalExperienceBundleMetadata Types
sfdc_cms__route Folder
This content type folder contains one content subfolder for each of the sites routes. Each route content subfolder contains two or more
JSON files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
<apiName>/content.json
DescriptionProperty
Field Type
content link
activeViewId
Description
Required.
Represents the apiName of the routes active view.
Must reference an existing view in the same workspace.
Field Type
string[]
configurationTags
Description
Represents the configuration tags for the route. The only
allowed value is all-in-static-site.
Note: Dont edit this property, because its an internal
property.
Field Type
enumeration of type string
pageAccess
Description
Identifies the status of a route as public or private.
When set to the default value UseParent, the status of the
site determines the status of the route. This value isnt editable
from the user interface for routes that are always private.
Valid values are:
UseParent
Public
RequiresLogin
Note: You can change the pageAccess value only
if the site is authenticated.
Field Type
string
routeType
736
DigitalExperienceBundleMetadata Types
DescriptionProperty
Description
Required.
Identifies the type of route. The routeType value must be
unique within a workspace. This value must match the
viewType on page 749 value in the corresponding view
content item.
Field Type
string
title
Description
Required.
Represents the label of the route.
Field Type
string
type
Description
Required.
Represents the content type. The only supported value is
sfdc_cms__route.
Field Type
string
urlPrefix
Description
Required.
Represents the base URL for the route.
{
"type" : "sfdc_cms__route",
"title" : "Error",
"contentBody" : {
"activeViewId" : "error",
"configurationTags" : [ ],
"pageAccess" : "UseParent",
"routeType" : "error",
"urlPrefix" : "error"
}
}
sfdc_cms__site Folder
This content type folder exists at the root level and contains one content subfolder. The content subfolder contains two or more JSON
files:
737
DigitalExperienceBundleMetadata Types
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
<apiName>/content.json
DescriptionProperty
Field Type
enumeration of type string
authenticationType
Description
Required.
Indicates whether guest users have access to the site.
Valid values are:
AUTHENTICATEDThe site isnt public. Only
authenticated users can access the site after logging in.
AUTHENTICATED_WITH_PUBLIC_ACCESS_ENABLEDThe
site is an authenticated site, but the Public can access
the site checkbox is enabled in Experience Builder in
Settings > General. Guest users can access the site.
UNAUTHENTICATEDThe unauthenticated site is
publicly available to anyone on the web, and doesnt
support login or authentication. UNAUTHENTICATED
is a legacy value. We recommend using
AUTHENTICATED_WITH_PUBLIC_ACCESS_ENABLED
access to allow guest user access.
Field Type
string
title
Description
Required.
Represents the label of the content item.
Field Type
string
type
Description
Required.
Represents the content type. The only allowed value is
sfdc_cms__site.
{
"type" : "sfdc_cms__site",
"title" : "Capricorn_Coffee",
"contentBody" : {
738
DigitalExperienceBundleMetadata Types
"authenticationType" : "AUTHENTICATED"
}
}
sfdc_cms__theme Folder
This content type folder contains one content subfolder, representing the sites theme. The content subfolder contains two or more
JSON files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
<apiName>/content.json
DescriptionProperty
Field Type
content link
activeBrandingSetId
Description
Required.
Represents the apiName of the sites active branding set.
Must reference an existing brandingSet with a type of APP in
the same workspace.
Field Type
string
definitionName
Description
Required.
Represents the definition name of a theme.
Must match the templates theme definition name.
Field Type
layout[]
layouts
Description
Required.
Represents an array of the theme layouts available in the
workspace and provides details about each theme layout.
The template and features used in the workspace determine
which layouts are required. For example, the
ServiceNotAvailable layout is required if the site
includes a Service Not Available page.
Field Type
content link
layouts.layoutId
739
DigitalExperienceBundleMetadata Types
DescriptionProperty
Description
Required.
Represents the apiName of an available theme layout. Must
refer to an existing theme layout in the same workspace.
Field Type
string
layouts.layoutType
Description
Represents the name of the theme layout specified in
Experience Builder.
An inner theme layout is required. The inner theme layout is
applied by default to all of a sites pages except for login pages.
Field Type
string
title
Description
Required.
Represents the name of the theme.
Field Type
string
type
Description
Required.
Represents the content type. The only allowed value is
sfdc_cms__theme.
{
"type" : "sfdc_cms__theme",
"title" : "Build Your Own (LWR)",
"contentBody" : {
"activeBrandingSetId" : "Build_Your_Own_LWR",
"definitionName" : "byo",
"layouts" : [ {
"layoutId" : "snaThemeLayout",
"layoutType" : "ServiceNotAvailable"
}, {
"layoutId" : "scopedHeaderAndFooter",
"layoutType" : "Inner"
} ]
}
}
740
DigitalExperienceBundleMetadata Types
sfdc_cms__themeLayout Folder
This content type folder contains one content subfolder for each theme layout in the site. Each content subfolder contains two or more
JSON files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
Note: We recommend that you dont add, reorder, or delete a component within a locked region using the DigitalExperienceBundle.
To find out which regions are locked, in Experience Builder, view the Page Structure tab for the page that youre working on. If the
region that youre modifying has a lock icon next to it, its a locked region.
<apiName>/content.json
DescriptionProperty
Field Type
regionType[]
children
Description
Represents individual regions within a layout.
Field Type
componentType
component
Description
Required.
Contains the layout details for this theme layout in regions and
components.
Field Type
map
componentType.attributes
Description
A map of design attribute values used by the component
definition to render the definition.
Field Type
map
componentType.attributes.dxpStyle
Description
Lets you define visibility, padding, and margin values for a
component.
Visibility controls whether the component is visible on desktop,
tablet, and mobile versions of your site.
Margin and padding are map types that contain string
properties for top, right, bottom, and left spacing. Padding
controls space within a component. Margin controls space
around the outside of a component. Units for margin and
padding can be px, rem, or %, and all four spacing values must
741
DigitalExperienceBundleMetadata Types
DescriptionProperty
use the same unit. This field is available in API version 57.0 and
later.
Field Type
regionType[]
componentType.children
Description
Represents regions within a component.
Field Type
string
componentType.definition
Description
Required.
Represents the name of the Lightning Web Component (LWC)
using the format namespace:componentName.
Must be one of the theme layouts defined as part of the default
theme, or use the target
lightningCommunity__Theme_Layout. The default theme
layouts differ per theme. For example, the Build Your Own
(BYO) template uses the BYO theme, with the allowed theme
layouts community_byo:scopedHeaderandFooter
and community_layout:simpleThemeLayout.
Field Type
UUID
componentType.id
Description
Required.
Represents the UUID of a component.
Field Type
content link
componentType.scopedBrandingSetId
Description
Represents the brandingSet that applies to this component.
The brandingSet must be of type SCOPED.
This property is applicable only if the components
definitionName is community_layout:section.
Field Type
string
componentType.customCssClasses
Description
Represents the custom CSS classes applied to the host element
of the component. Must be a space-delimited list of valid CSS
classes. This field is available in API version 59.0 and later.
742
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
string
componentType.title
Description
Represents a component variation name. Available in API
version 59.0 and later.
Field Type
string
componentType.type
Description
Required.
Allowed values are:
component
mutationComponent
Field Type
componentType[]
componentType.variations
Description
Represents a component variation within a component.
Available in API version 59.0 and later.
Field Type
rule type
componentVariationType.rule
Description
A visibility rule associated with a component variation. Available
in API version 59.0 and later.
Field Type
string
componentVariationType.variationId
Description
The unique ID of a component variation. Available in API
version 59.0 and later.
Field Type
contentOperationType
contentOperations
Description
A content operation of the variation or visibility type.
Field Type
operationsType[]
contentOperationsType.operations
Description
Component visibility operation.
743
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
integer
expressionCriteriaType.criterionNumber
Description
The sequence number of an expression criteria. Available in
API version 59.0 and later.
Field Type
string
expressionCriteriaType.operator
Description
Operator of the criteria or condition in a visibility rule.
Supported operators are:
EQUAL
NE: Does not equal
CONTAINS
NC: Does not contain
LT: Less than
GT: Greater than
LE: Less than or equal to
GE: Greater than or equal to
StartsWith
Field Type
string
expressionCriteriaType.resource
Description
The resource of the criteria or condition in a visibility rule.
Field Type
object
expressionCriteriaType.value
Description
The value of the criteria or condition in a visibility rule. The
value can be number, boolean, or string.
Field Type
boolean
operationsType.isActive
Description
When true, the visibility operation is active.
Field Type
boolean
operationsType.isHiddenOnOperationSuccess
744
DigitalExperienceBundleMetadata Types
DescriptionProperty
Description
When true, the component is hidden when the operation
is successful.
Field Type
RuleType
operationsType.rule
Description
The component visibility rule.
Field Type
componentVariationType[]
operationsType.ruleToVariationList
Description
Variation rules associated with a specific component ID. Only
15 variations are allowed in one ruleToVariationList, which
means only 15 variations can correspond to a specific targetId.
Available in API version 59.0 and later.
Field Type
string
operationsType.targetId
Description
The component ID where the visibility rule is applied.
Field Type
componentType[]
regionType.children
Description
Represents individual components within the region.
Field Type
UUID
regionType.id
Description
Required.
Represents the UUID of a region.
Field Type
string
regionType.name
Description
Required.
Represents the name of the region.
Field Type
string
regionType.title
745
DigitalExperienceBundleMetadata Types
DescriptionProperty
Description
Represents the label for a region.
Field Type
string
regionType.type
Description
Required.
region is the only allowed value.
Field Type
componentType[]
regionType.variations
Description
Represents a component variation within a region. Available
in API version 59.0 and later.
Field Type
string
ruleType.criteriaType
Description
The condition or criteria type of the rule. Allowed values include
AllCriteriaMatch and AnyCriterionMatches.
Field Type
string
ruleType.customFormula
Description
A custom formula created from expression criteria for a visibility
rule. Available in API version 59.0 and later.
Field Type
string
ruleType.description
Description
The description of a visibility rule.
Field Type
expressionCriteriaType[]
ruleType.expressionCriteria
Description
The expression criteria of a visibility rule.
Field Type
string
ruleType.name
Description
The name of a visibility rule.
746
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
string
title
Description
Required.
Represents the label of the content item.
Field Type
string
type
Description
Required.
Represents the content type. The only allowed value is
sfdc_cms__themeLayout.
{
"type" : "sfdc_cms__themeLayout",
"title" : "Service Not Available Theme Layout",
"contentBody" : {
"component" : {
"id" : "50458146-12d8-4dd7-a37b-62f71615c1a0",
"type" : "component",
"children" : [ {
"title": "Theme Header",
"id": "8fc2497b-fae7-4570-bc69-63a7a229e6fc",
"type": "region",
"name": "header",
"children": [
{
"id": "05224a3a-8044-9h2h-9187-b3f43155344d",
"type": "component",
"definition": "community_builder:htmlEditor",
"attributes": {
"richTextValue": "<div style=\"display: flex; justify-content: center;
align-items: center; margin: 50px 0; flex-direction: column; text-align: center;\"><div
style=\"background-image: url(assets/img/desert.svg); background-size: cover;
background-position: center; height: 300px; width: 100%; max-width: 600px; min-width:
300px;\"></div><h1 class=\"slds-text-heading_medium slds-p-bottom_x-small\">Start Building
Your Page</h1> <div>Drag and drop a component into the content slots.</div></div>"
},
"variations": [
{
"id": "5d700461-4c2a-4930-98e5-366ec2a4d41e",
"title": "Variation Country USA",
"type": "mutationComponent",
"definition": "community_builder:htmlEditor",
"attributes": {
"richTextValue": "<div style=\"display: flex; justify-content: center;
align-items: center; margin: 50px 0; flex-direction: column; text-align: center;\"><div
747
DigitalExperienceBundleMetadata Types
style=\"background-image: url(assets/img/desert.svg); background-size: cover;
background-position: center; height: 300px; width: 100%; max-width: 600px; min-width:
300px;\"></div><h1 class=\"slds-text-heading_medium slds-p-bottom_x-small\">Start Building
Your Page</h1> <div>Drag and drop a component into the content slots.</div></div>"
}
}
]
}
]
},
{
"title" : "Theme Footer",
"id" : "05224a3a-8044-9h2h-9187-b3f43155344d",
"type" : "region",
"name" : "footer"
} ],
"definition" : "community_layout:simpleThemeLayout",
"attributes": {}
}, "contentOperations": {
"operations": [
{
"targetId": "05224a3a-8044-9h2h-9187-b3f43155344d",
"isHiddenOnOperationSuccess": false,
"isActive": true,
"rule": {
"name": "708b6ff0-d50c-4cea-a492-kkjk4b174e86",
"description": "",
"criteriaType": "AllCriteriaMatch",
"expressionCriteria": [
{
"resource": "User.Record.FirstName",
"operator": "Equal",
"value": "Clark"
}
]
}
},
{
"targetId": "05224a3a-8044-9h2h-9187-b3f43155344d",
"ruleToVariationList": [
{
"variationId": "5d700461-4c2a-4930-98e5-366ec2a4d41e",
"rule": {
"name": "6e1ea488-13d8-477a-a9d7-93f442cc7936",
"description": "",
"criteriaType": "CustomLogicMatches",
"customFormula": "(1 && 3) || 2",
"expressionCriteria": [
{
"resource": "User.Record.Country",
"operator": "Equal",
"value": "USA",
"criterionNumber": 1
},
748
DigitalExperienceBundleMetadata Types
{
"resource": "User.Record.City",
"operator": "Equal",
"value": "Chicago",
"criterionNumber": 2
},
{
"resource": "User.Record.PostalCode",
"operator": "Equal",
"value": "60131",
"criterionNumber": 3
}
]
}
}
]
}
]
}
}
}
sfdc_cms__view Folder
This content type folder contains one content subfolder per view. Each content subfolder contains two or more JSON files:
_meta.json
content.json
If applicable, additional JSON files that represent variations of the content item
Each Experience Builder site is built from single-page applications, which are web apps that load a single HTML page. Single-page
applications consist of multiple views that update the page dynamically as the user interacts with it. A view is made up of regions that
contain other regions or components in the rendered page for the user. Single-page applications in your site are defined in the
sfdc_cms__appPage folder.
Each content.json file in the sfdc_cms__view folder contains a hidden region named sfdcHiddenRegion. The hidden
region contains a component with a definition of community_builder:seoAssistant that represents the SEO assistant
component. This component corresponds to the SEO page properties that you can configure in Experience Builder and isn't visible on
your pages. To improve search engine results, use the SEO assistant component to set the customHeadTags, description, and
pageTitle properties for your public and custom site pages. You cant edit the other properties associated with the SEO assistant
component. To learn more about what the title, description, and custom head tags properties represent and which head tags are allowed,
see SEO Page Properties in Experience Builder.
Note: We recommend that you dont add, reorder, or delete a component within a locked region using the DigitalExperienceBundle.
To find out which regions are locked, in Experience Builder, view the Page Structure tab for the page that youre working on. If the
region that youre modifying has a lock icon next to it, its a locked region.
<apiName>/content.json
DescriptionProperty
Field Type
regionType[]
children
749
DigitalExperienceBundleMetadata Types
DescriptionProperty
Description
Represents individual regions within a view.
Field Type
componentType
component
Description
Required.
Represents the view layout and contains regions and
components that help render a view.
Field Type
map
componentType.attributes
Description
A map of design attribute values used by the component
definition to render the definition.
Field Type
map
componentType.attributes.dxpStyle
Description
Lets you define visibility, padding, and margin values for a
component.
Visibility controls whether the component is visible on desktop,
tablet, and mobile versions of your site.
Margin and padding are map types that contain string
properties for top, right, bottom, and left spacing. Padding
controls space within a component. Margin controls space
around the outside of a component. Units for margin and
padding can be px, rem, or %, and all four spacing values must
use the same unit. This field is available in API version 57.0 and
later.
Field Type
regionType[]
componentType.children
Description
Represents regions within a component.
Field Type
string
componentType.definition
Description
Required.
Represents the name of the Lightning Web Component (LWC)
in the format namespace:componentName.
750
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
UUID
componentType.id
Description
Required.
Represents the UUID of a component.
Field Type
content link
componentType.scopedBrandingSetId
Description
Represents the brandingSet that applies to this component.
The brandingSet must be of type SCOPED.
This property is applicable only if the components
definitionName is community_layout:section.
Field Type
string
componentType.customCssClasses
Description
Represents the custom CSS classes applied to the host element
of the component. Must be a space-delimited list of valid CSS
classes. This field is available in API version 59.0 and later.
Field Type
string
componentType.title
Description
Represents a component variation name. Available in API
version 59.0 and later.
Field Type
string
componentType.type
Description
Required.
Allowed values are:
component
mutationComponent
Field Type
componentType[]
componentType.variations
Description
Represents a component variation within a component.
Available in API version 59.0 and later.
751
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
rule type
componentVariationType.rule
Description
A visibility rule associated with a component variation. Available
in API version 59.0 and later.
Field Type
string
componentVariationType.variationId
Description
The unique ID of a component variation. Available in API
version 59.0 and later.
Field Type
contentOperationType
contentOperations
Description
A content operation of the variation or visibility type.
Field Type
integer
expressionCriteriaType.criterionNumber
Description
The sequence number of an expression criteria. Available in
API version 59.0 and later.
Field Type
operationsType[]
contentOperationsType.operations
Description
Component visibility operation.
Field Type
string
expressionCriteriaType.operator
Description
Operator of the criteria or condition in a visibility rule.
Supported operators are:
EQUAL
NE: Does not equal
CONTAINS
NC: Does not contain
LT: Less than
GT: Greater than
LE: Less than or equal to
GE: Greater than or equal to
752
DigitalExperienceBundleMetadata Types
DescriptionProperty
StartsWith
Field Type
string
expressionCriteriaType.resource
Description
The resource of the criteria or condition in a visibility rule.
Field Type
object
expressionCriteriaType.value
Description
The value of the criteria or condition in a visibility rule. The
value can be number, boolean, or string.
Field Type
boolean
operationsType.isActive
Description
When true, the visibility operation is active.
Field Type
boolean
operationsType.isHiddenOnOperationSuccess
Description
When true, the component is hidden when the operation
is successful.
Field Type
RuleType
operationsType.rule
Description
The component visibility rule.
Field Type
componentVariationType[]
operationsType.ruleToVariationList
Description
Variation rules associated with a specific component ID. Only
15 variations are allowed in one ruleToVariationList, which
means only 15 variations can correspond to a specific targetId.
Available in API version 59.0 and later.
Field Type
string
operationsType.targetId
Description
The component ID where the visibility rule is applied.
753
DigitalExperienceBundleMetadata Types
DescriptionProperty
Field Type
componentType[]
regionType.children
Description
Represents individual components within the region.
Field Type
UUID
regionType.id
Description
Required.
Represents the UUID of a region.
Field Type
string
regionType.name
Description
Required.
Represents the name of the region.
Field Type
string
regionType.title
Description
Represents the label for a region.
Field Type
string
regionType.type
Description
Required.
region is the only allowed value.
Field Type
componentType[]
regionType.variations
Description
Represents a component variation within a region. Available
in API version 59.0 and later.
Field Type
string
ruleType.criteriaType
Description
The condition or criteria type of the rule. Allowed values include
AllCriteriaMatch and AnyCriterionMatches.
Field Type
string
ruleType.customFormula
754
DigitalExperienceBundleMetadata Types
DescriptionProperty
Description
A custom formula created from expression criteria for a visibility
rule. Available in API version 59.0 and later.
Field Type
string
ruleType.description
Description
The description of a visibility rule.
Field Type
expressionCriteriaType[]
ruleType.expressionCriteria
Description
The expression criteria of a visibility rule.
Field Type
string
ruleType.name
Description
The name of a visibility rule.
Field Type
string
themeLayoutType
Description
Required.
Represents the apiName of the views active theme layout.
Must reference an existing theme layout in the same
workspace.
Field Type
string
title
Description
Represents the name of the view. Limited to 80 characters.
Note: We recommend keeping the title value and
the pageTitle value in sync. If you update either
value for a view, ensure that you manually update the
other value in the same content.json file to
match.
Field Type
string
type
Description
Required.
755
DigitalExperienceBundleMetadata Types
DescriptionProperty
Represents the content type. The only allowed value is
sfdc_cms__view.
Field Type
string
viewType
Description
Required.
Identifies the type of view. The viewType value must be
unique within a workspace. This value must match the
routeType on page 736 value in the corresponding
route content item.
{
"type" : "sfdc_cms__view",
"title" : "Home",
"contentBody" : {
"themeLayoutType" : "Inner",
"viewType" : "home",
"component" : {
"id" : "40c14c97-1846-4872-8e9e-cdf3d11beb34",
"type" : "component",
"children" : [ {
"title" : "Content",
"id" : "c507f23d-6e2a-457a-9656-2377846dd639",
"type" : "region",
"children" : [ {
"id" : "21f99012-3a2f-488e-bf48-f782dc7b4300",
"type" : "component",
"children" : [ {
"title" : "Column 1",
"id": "05224a3a-8044-4bfb-9187-b3f43155344d",
"type" : "region",
"children" : [ {
"id" : "05224a3a-8044-4bfb-9187-b3f43155344d",
"type" : "component",
"definition" : "community_builder:htmlEditor",
"attributes" : {
"dxpStyle" : {
"isVisible" : false,
"margin" : {
"bottom" : "20px",
"left" : "20px",
"right" : "20px",
"top" : "20px"
},
"padding" : {
"bottom" : "20px",
"left" : "20px",
756
DigitalExperienceBundleMetadata Types
"right" : "20px",
"top" : "20px"
}
},
"richTextValue" : "<div style=\"display: flex; justify-content: center;
align-items: center; margin: 50px 0; flex-direction: column; text-align: center;\"><div
style=\"background-image: url(assets/img/desert.svg); background-size: cover;
background-position: center; height: 300px; width: 100%; max-width: 600px; min-width:
300px;\"></div><h1 class=\"slds-text-heading_medium slds-p-bottom_x-small\">Start Building
Your Page</h1> <div>Drag and drop a component into the content slots.</div></div>"
},
"variations": [
{
"id": "5d700461-4c2a-4930-98e5-366ec2a4d41e",
"title": "Variation Country USA",
"type": "mutationComponent",
"definition": "community_builder:htmlEditor",
"attributes": {
"richTextValue": "<div style=\"display: flex; justify-content:
center; align-items: center; margin: 50px 0; flex-direction: column; text-align:
center;\"><div style=\"background-image: url(assets/img/desert.svg); background-size:
cover; background-position: center; height: 300px; width: 100%; max-width: 600px; min-width:
300px;\"></div><h1 class=\"slds-text-heading_medium slds-p-bottom_x-small\">Start Building
Your Page</h1> <div>Drag and drop a component into the content slots.</div></div>"
}
}
]
"customCssClasses": "myClass"
} ],
"name" : "col1"
} ],
"definition" : "community_layout:section",
"attributes" : {
"backgroundImageConfig" : "",
"backgroundImageOverlay" : "rgba(0,0,0,0)",
"sectionConfig" :
"{\"UUID\":\"21f99012-3a2f-488e-bf48-f782dc7b4300\",\"columns\":[{\"UUID\":\"5019aeeb-6437-4194-8369-22c19aa45dc9\",\"columnName\":\"Column
1\",\"columnKey\":\"col1\",\"columnWidth\":\"12\",\"seedComponents\":null}]}"
}
} ],
"name" : "content"
}, {
"title" : "sfdcHiddenRegion",
"id" : "8157e041-9c41-460a-b596-c45babbbd53b",
"type" : "region",
"children" : [ {
"id" : "2d536aae-a859-4264-ba9e-9a569daf7213",
"type" : "component",
"definition" : "community_builder:seoAssistant",
"attributes" : {
"customHeadTags" : "",
"description" : "",
"pageTitle" : "Home",
"recordId" : "{!recordId}"
757
DigitalExperienceBundleMetadata Types
}
} ],
"name" : "sfdcHiddenRegion"
} ],
"definition": "community_layout:sldsFlexibleLayout"
},
"contentOperations": {
"operations": [
{
"targetId": "05224a3a-8044-4bfb-9187-b3f43155344d",
"isHiddenOnOperationSuccess": false,
"isActive": true,
"rule": {
"name": "a53bb452-003f-4015-a751-0403c70731a1",
"description": "",
"criteriaType": "AllCriteriaMatch",
"expressionCriteria": [
{
"resource": "User.isGuest",
"operator": "Equal",
"value": false
}
]
}
},
{
"targetId": "05224a3a-8044-9h2h-9187-b3f43155344d",
"ruleToVariationList": [
{
"variationId": "5d700461-4c2a-4930-98e5-366ec2a4d41e",
"rule": {
"name": "6e1ea488-13d8-477a-a9d7-93f442cc7936",
"description": "",
"criteriaType": "CustomLogicMatches",
"customFormula": "(1 && 3) || 2",
"expressionCriteria": [
{
"resource": "User.Record.Country",
"operator": "Equal",
"value": "USA",
"criterionNumber": 1
},
{
"resource": "User.Record.City",
"operator": "Equal",
"value": "Chicago",
"criterionNumber": 2
},
{
"resource": "User.Record.PostalCode",
"operator": "Equal",
"value": "60131",
"criterionNumber": 3
}
758
DigitalExperienceBundleMetadata Types
]
}
}
]
}
]
}
}
}
Declarative Metadata Sample Definition
The following is an example of a DigitalExperienceBundle component.
<?xml version="1.0" encoding="UTF-8"?>
<DigitalExperienceBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<description>content</description>
<label>isv1</label>
</DigitalExperienceBundle>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>site/isv1</members>
<name>DigitalExperienceBundle</name>
</types>
<version>56.0</version>
</Package>
Usage
Tip: Before you update the JSON files of an Experience Builder site, we recommend making a copy of the sites folder as a backup.
To retrieve and deploy DigitalExperienceBundle, use legacy sfdx commands.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DigitalExperienceConfig
Represents details for your organizations workspaces, such as the site label, site URL path prefix, and workspace type.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
759
DigitalExperienceConfigMetadata Types
File Suffix and Directory Location
DigitalExperienceConfig components have the suffix .digitalExperienceConfig and are stored in the
digitalExperienceConfigs folder.
Version
DigitalExperienceConfig components are available in API version 56.0 and later.
Special Access Rules
You can use DigitalExperienceConfig for enhanced LWR sites created after the Winter 23 release.
Fields
DescriptionField Name
Field Type
string
label
Description
Required.
The name of the site.
Field Type
Site
site
Description
Required.
Contains site-related settings, such as the sites URL path prefix.
Field Type
string
space
Description
Required.
References the workspace that contains the sites content items such as brandingSets,
themes, views, and routes.
Site
Represents site-related information, such as the URL path prefix.
DescriptionField Name
Field Type
string
urlPathPrefix
760
DigitalExperienceConfigMetadata Types
DescriptionField Name
Description
The first part of the path on the site's URL that distinguishes this site from other sites.
For example, if your site URL is MyDomainName.my.site.com/partners, then partners
is the urlPathPrefix.
Declarative Metadata Sample Definition
The following is an example of a DigitalExperienceConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<DigitalExperienceConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Capricorn_Coffee</label>
<site>
<urlPathPrefix>CapricornCoffee</urlPathPrefix>
</site>
<space>site/Capricorn_Coffee1</space>
</DigitalExperienceConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Capricorn_Coffee1</members>
<name>DigitalExperienceConfig</name>
</types>
<version>56.0</version>
</Package>
Usage
To retrieve and deploy DigitalExperienceConfig, use legacy sfdx commands.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DisclosureDefinition
Represents information that defines a disclosure type, such as details of the publisher or vendor who created or implemented the report.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
761
DisclosureDefinitionMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DisclosureDefinition components have the suffix .disclosureDefinition and are stored in the disclosureDefinitions
folder.
Version
DisclosureDefinition components are available in API version 57.0 and later.
Special Access Rules
The DisclosureAndComplianceHubAddOn license is required to access this object along with user access for the Disclosure Compliance
Hub permission set license.
Fields
DescriptionField Name
Field Type
string
description
Description
The description about the disclosure definition.
Field Type
string
disclosureType
Description
Required.
The API name of the disclosure type associated with this definition.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default is false.
Field Type
string
masterLabel
Description
Required.
762
DisclosureDefinitionMetadata Types
DescriptionField Name
A user-friendly name for DisclosureDefinition, which is defined when the
DisclosureDefinition is created.
Declarative Metadata Sample Definition
The following is an example of a DisclosureDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<DisclosureDefinition
xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is GRI Disclosure Definition</description>
<disclosureType>disclstype10</disclosureType>
<isProtected>false</isProtected>
<masterLabel>GRI</masterLabel>
</DisclosureDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<members>GRI</members>
<name>DisclosureDefinition</name>
</types>
<types>
<members>dt12</members>
<name>DisclosureType</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DisclosureDefinitionVersion
Represents the version information about the disclosure definition.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
763
DisclosureDefinitionVersionMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DisclosureDefinitionVersion components have the suffix .disclosureDefinitionVersion and are stored in the
disclosureDefinitionVersions folder.
Version
DisclosureDefinitionVersion components are available in API version 57.0 and later.
Special Access Rules
The DisclosureAndComplianceHubAddOn and OmniStudioDesignerAddon licenses are required to access this object along with user
access for the Disclosure Compliance Hub and OmniStudio Admin permission set licenses.
Fields
DescriptionField Name
Field Type
AuthoringMode (enumeration of type string)
authoringMode
Description
Specifies the authoring mode used to launch the disclosure authoring experience.
Possible values are:
Microsoft 365 Word
Omniscript and Microsoft 365 Word
Omniscript Form
Field Type
string
description
Description
The description about the disclosure definition version.
Field Type
string
disclosureDefCurrVer
Description
For internal use only.
Field Type
string
disclosureDefinition
764
DisclosureDefinitionVersionMetadata Types
DescriptionField Name
Description
Required.
The API name of the disclosure definition associated with this version.
Field Type
string
documentTemplateGlobalKey
Description
The document template global key associated with the DOCX template for the
disclosure definition version.
Field Type
boolean
isActive
Description
Indicates whether the disclosure definition version is an active version (true) or not
(false).
The default value is false.
Field Type
boolean
isCurrentVersion
Description
Indicates whether this is the current version of the disclosure definition specified in
the disclosureDefinition field (true) or not (false).
The default value is false.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default is false.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for DisclosureDefinitionVersion, which is defined when the
DisclosureDefinitionVersion is created.
Description
The API name of the Omniscript configuration that's associated with the disclosure
definition version. This field is required only when authoringModeisnt
Microsoft 365 Word.
omniScriptCnfgApiName
765
DisclosureDefinitionVersionMetadata Types
DescriptionField Name
Field Type
string
omniScriptConfiguration
Description
The ID of the Omniscript configuration record.
Note: The value of this field is automatically populated using the API name of
the OmniScript configuration specified in the omniScriptCnfgApiName
field.
Field Type
string
versionNumber
Description
Required.
The version of the disclosure definition published by the author.
Declarative Metadata Sample Definition
The following is an example of a DisclosureDefinitionVersion component.
<?xml version="1.0" encoding="UTF-8"?>
<DisclosureDefinitionVersion xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is GRI Disclosure Definition Version</description>
<versionNumber>disclosure definition version number</versionNumber>
<isActive>false</isActive>
<disclosureDefinition>df10</disclosureDefinition>
<omniScriptConfiguration>omni script configuration</omniScriptConfiguration>
<omniScriptCnfgApiName>omni script config api name</omniScriptCnfgApiName>
<isCurrentVersion>true</isCurrentVersion>
<disclosureDefCurrVer>df10.Id</disclosureDefCurrVer>
<documentTemplateGlobalKey>document template global key</documentTemplateGlobalKey>
<authoringMode>OmniScriptForm</authoringMode>
<masterLabel>GRI</masterLabel>
<isProtected>false</isProtected>
</DisclosureDefinitionVersion>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<members>GRI</members>
<name>DisclosureDefinitionVersion</name>
</types>
<types>
<members>df10</members>
766
DisclosureDefinitionVersionMetadata Types
<name>DisclosureDefinition</name>
</types>
<types>
<members>dt10</members>
<name>DisclosureType</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DisclosureType
Represents the types of disclosures that are done by an individual or an organization and the associated metadata.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DisclosureType components have the suffix .disclosureType and are stored in the disclosureTypes folder.
Version
DisclosureType components are available in API version 57.0 and later.
Special Access Rules
The DisclosureAndComplianceHubAddOn license is required to access this object along with user access for the Disclosure Compliance
Hub permission set license.
Fields
DescriptionField Name
Field Type
string
description
Description
The description about the disclosure type.
767
DisclosureTypeMetadata Types
DescriptionField Name
Field Type
string
disclosureBodyLogo
Description
The logo ID of the standard body to which an individual or a company is making a
disclosure.
Field Type
string
disclosureBodyUrl
Description
The URL of the disclosure standard body.
Field Type
string
disclosureCategory
Description
Required.
The name of the clause category that's used for disclosure.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default is false.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for DisclosureType, which is defined when the DisclosureType
is created.
Declarative Metadata Sample Definition
The following is an example of a DisclosureType component.
<?xml version="1.0" encoding="UTF-8"?>
<DisclosureType
xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is ESG Disclosure Type</description>
<disclosureBodyLogo>asdf</disclosureBodyLogo>
<disclosureCategory>EnvSocGvnc</disclosureCategory>
<disclosureBodyUrl>disclosure body url</disclosureBodyUrl>
<isProtected>false</isProtected>
768
DisclosureTypeMetadata Types
<masterLabel>ESG</masterLabel>
</DisclosureType>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<members>ESG</members>
<name>DisclosureType</name>
</types>
<types>
<name>StaticResource</name>
<members>asdf</members>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DiscoveryAIModel
Represents the metadata associated with a model used in Einstein Discovery.
A model is a sophisticated, custom algorithm that Einstein Discovery generates based on a comprehensive, statistical understanding of
past outcomes. Einstein Discovery uses models to predict future outcomes. A model accepts the values of one or more predictor variables
as input and produces a predicted outcome as output, along with (optionally) top factors and improvements. In Package Manager, this
type is listed as "Discovery Model".
You can also build models using a third-party modeling tool, and then import them into Salesforce using Model Manager in Analytics
Studio.
Note: Write operations for DiscoveryAIModel objects are generally not supported.
Declarative Metadata File Suffix and Directory Location
A DiscoveryAIModel is stored in the discovery folder. DiscoveryAIModels have two files:
file with .model suffix contains the model's actual data
file named ModelName.model-meta.xml suffix contains the model's metadata
Here is a sample package.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Maximize_Sales</members>
769
DiscoveryAIModelMetadata Types
<name>DiscoveryAIModel</name>
</types>
<version>53.0</version>
</Package>
Version
DiscoveryAIModels are available in API version 51.0 and later.
Fields
DescriptionField TypeField Name
Algorithm that Einstein Discovery used to create the model
associated with this story.
DiscoveryAlgorithmTypealgorithmType
Threshold value. Applies only to binary classification models. For
regression models, this is null.
doubleclassificationThreshold
Model description.stringdescription
Model label. If you package a model, this label appears in Package
Manager.
stringlabel
One or more model fields (variables).DiscoveryModelField[]modelFields
Model run-time type.DiscoveryModelRuntimeTypemodelRuntimeType
Name of the field that is predicted.stringpredictedField
Type of prediction. One of the following strings:DiscoveryPredictionTypepredictionType
Regression
Classification
Unknown
Source type.DiscoveryModelSourceTypesourceType
Model status (enabled or disabled).DiscoveryAIModelStatusstatus
JSON object that represents metrics about the model when it was
trained.
stringtrainingMetrics
One or more model transformations.DiscoveryModelTransformtransformations
DiscoveryAlgorithmType
Represents the algorithm that Einstein Discovery used to create the model.
770
DiscoveryAIModelMetadata Types
DescriptionField TypeField Name
Tournament Model. Genetic algorithm used to generate
high-quality solutions to optimization and search problems, like
optimizing decision trees for better performance.
stringBest
Generalized Linear Model. Regression-based algorithm.stringGlm
Gradient Boost Machine. Decision tree-based ensemble machine
learning algorithm.
stringGbm
XGBoost. Decision tree-based ensemble machine learning
algorithm.
stringXgboost
Random Forest. Supervised learning algorithm that uses multiple
decision trees, randomization, and other optimization techniques.
stringDrf
DiscoveryModelField
Represents a field (variable) in the model.
DescriptionField TypeField Name
Indicates whether the field is disparate impact (true) or not
(false).
booleanisDisparateImpact
Indicates whether the field is sensitive (true) or not (false).booleanisSensitive
Field label displayed in the UI.stringlabel
Field name.stringname
Field type. Enumerated.DiscoveryModelFieldTypetype
A list of field values.string[]values
DiscoveryModelTransform
Represents a transformation in the model.
DescriptionField TypeField Name
The configuration for the transformation.stringconfig
A list of the source field names.string[]sourceFieldNames
A list of the target field names.string[]targetFieldNames
Type of transformation.DiscoveryAIModelTransformationTypetype
771
DiscoveryAIModelMetadata Types
DiscoveryAIModelTransformationType
Represents the type of transformation to apply before making a prediction.
DescriptionField TypeField Name
Typographic clustering transformation.stringTypographicClustering
Sentiment analysis transformation.stringSentimentAnalysis
Free text clustering transformation.stringFreeTextClustering
Numerical imputation transformation.stringNumericalImputation
Catagorical imputation transformation.stringCatagoricalImputation
Time series forecast transformation.stringTimeSeriesForecast
Extract month of year transformation.stringExtractMonthOfYear
Extract day of week transformation.stringExtractDayOfWeek
Zip code analysis transformation.stringZipCodeAnalysis
DiscoveryModelFieldType
Represents the data type of a model field.
DescriptionField TypeField Name
Text data type.stringText
Number data type.stringNumber
Date data type.stringDate
DiscoveryModelRuntimeType
Represents the model run-type.
DescriptionField TypeField Name
The model run-type is Einstein Discovery.stringDiscovery
The model run-type is H20.stringH2O
The model run-type is Tensorflow v2.4.4.stringT
The model run-type is Tensorflow v2.7.0.stringTf27
The model run-type is Scikit Learn v1.0.2.stringSC102
772
DiscoveryAIModelMetadata Types
DiscoveryModelSourceType
Represents the source tool used to build the model: Discovery or an external tool (the model was uploaded into Salesforce).
DescriptionField TypeField Name
Einstein Discovery built the model.stringDiscovery
An external tool built the model. The model was then uploaded
into Salesforce.
stringUserUpload
Note: This source type is not supported in the Metadata
API.
DiscoveryAIModelStatus
Represents the status of the model (Enabled or Disabled).
DescriptionField TypeField Name
The model is disabled (inactive).stringDisabled
The model is uploading.stringUploading
The model failed to upload.stringUploadFailed
The model upload is complete.stringUploadCompleted
The model is validating.stringValidating
The model validation failed.stringValidationFailed
The model validation is complete.stringValidationCompleted
The model is enabled (active).stringEnabled
Declarative Metadata Sample Definitions
Here is a sample DiscoveryAIModel:
<?xml version="1.0" encoding="UTF-8"?>
<DiscoveryAIModel xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<content xsi:nil="true"/>
<algorithmType>Glm</algorithmType>
<classificationThreshold>0.7383</classificationThreshold>
<label>Maximize Tenure</label>
<modelFields>
<label>Field</label>
<name>Field</name>
<type>Text</type>
</modelFields>
<modelFields>
773
DiscoveryAIModelMetadata Types
<label>PTO</label>
<name>PTO</name>
<type>Number</type>
</modelFields>
<modelFields>
<label>Level</label>
<name>Level</name>
<type>Text</type>
</modelFields>
<modelFields>
<label>Salary</label>
<name>Salary</name>
<type>Number</type>
</modelFields>
<modelFields>
<label>Tenure</label>
<name>Tenure</name>
<type>Number</type>
</modelFields>
<modelRuntimeType>Discovery</modelRuntimeType>
<predictedField>Tenure</predictedField>
<predictionType>Classification</predictionType>
<sourceType>Discovery</sourceType>
<status>Enabled</status>
</DiscoveryAIModel>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DiscoveryGoal
Represents the metadata associated with an Einstein Discovery prediction definition.
A prediction definition is a container object in Einstein Discovery that is associated with one or more deployed models. If a prediction
definition contains multiple models, then each model produces predictions for a different segment of the data. A prediction definition
can contain up to ten active models. In Package Manager, this type is listed as "Discovery Prediction".
Declarative Metadata File Suffix and Directory Location
A DiscoveryGoal is stored in the discovery folder. DiscoveryGoals have a .goal file suffix. Here is a sample package.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>employees_Tenure</members>
<name>DiscoveryGoal</name>
</types>
<version>53.0</version>
</Package>
774
DiscoveryGoalMetadata Types
Version
DiscoveryGoals are available in API version 51.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the prediction definition is active (True) or not
(False).
booleanactive
One or more deployed models associated with this prediction
definition.
DiscoveryDeployedModel[]deployedModels
Name of the prediction definition.stringlabel
Model card for this prediction definition.DiscoveryModelCard[]modelCards
Outcome variable of this prediction definition.DiscoveryGoalOutcomeoutcome
Type of prediction: Regression, Classification, or
Unknown.
DiscoveryPredictionTypepredictionType
Automated writeback field for predictions. A custom field on the
Salesforce object specified in subscribedEntity.
stringpushbackField
Note: Removing a pushback field from the goal metadata
causes the field to be deleted from the Salesforce object as
well.
Type of writeback field for predictions.DiscoveryPushbackTypepushbackType
Salesforce object associated with this model.stringsubscribedEntity
If specified, one or more filter expressions that define the conditions
under which an observation has attained its terminal state (the
DiscoveryFilter[]terminalStateFilters
actual outcome has been reached). For performance monitoring,
Einstein Discovery determines model accuracy by comparing a
models predicted outcomes with actual (observed) outcomes.
DiscoveryDeployedModel
Represents a model deployed in Salesforce.
DescriptionField TypeField Name
Indicates whether the deployed model is active (True) or inactive
(False).
booleanactive
Full name of the DiscoveryAIModel being deployed.stringaiModel
775
DiscoveryGoalMetadata Types
DescriptionField TypeField Name
Threshold value. Applies only to binary classification models. For
regression models, this is null.
doubleclassificationThreshold
One or more mappings between model variables and either fields
(in Salesforce objects) or columns (in CRM Analytics datasets).
DiscoveryFieldMap[]fieldMappings
If specified, one or more segmentation filters for the deployed
model. When making a prediction, the first model that has filters
DiscoveryFilter[]filters
matching a specific input row will be used to make the prediction.
No filters indicates that the model matches all input rows.
Label for the deployed model. Appears in Model Manager.stringlabel
Name of the deployed model.stringname
Actionable fields associated with improvements.DiscoveryPrescribableField[]prescribableFields
DiscoveryFieldMap
Represents a mapping between model variables and field values.
DescriptionField TypeField Name
Field in a Salesforce object or column in a CRM Analytics dataset.stringmappedField
Model variable.stringmodelField
Join key for a Salesforce object. Null if sourceType is
AnalyticsDatasetField.
stringsobjectFieldJoinKey
If the mapping is to a CRM Analytics dataset, this is the name of
the dataset. Otherwise, null.
stringsource
If the mapping is to a CRM Analytics dataset, this is the lookup
column on that dataset used to perform the join. Otherwise, null.
stringsourceFieldJoinKey
Data source type for field mapping.DiscoveryFieldMapSourceTypesourceType
DiscoveryFieldMapSourceType
Represents the data source type for field mapping: SalesforceField or AnalyticsDatasetField.
DescriptionField TypeField Name
Field in a Salesforce object.stringSalesforceField
Column in a CRM Analytics dataset.stringAnalyticsDatasetField
776
DiscoveryGoalMetadata Types
DiscoveryFilter
Represents a field filter.
DescriptionField TypeField Name
Name of the field to filter.stringfield
Operator used to calculate the filter.DiscoveryFilterOperatoroperator
Type of filter value.DiscoveryFilterFieldTypetype
One or more values selected for the filter.DiscoveryFilterValue[]values
DiscoveryFilterOperator
Represents a filter operator.
DescriptionField TypeField Name
Equal to operator (=).stringEqual
Not equal to operator (<>).stringNotEqual
Greater than operator (>).stringGreaterThan
Greater than or equal to operator (>=).stringGreaterThanOrEqual
Less than operator (<).stringLessThan
Less than or equal to operator (<=).stringLessThanOrEqual
Between operator.stringBetween
Not between operator.stringNotBetween
In set operator.stringInSet
Not in operator.stringNotIn
Contains operator.stringContains
Starts with operator.stringStartsWith
Ends with operator.stringEndsWith
Is null operator.stringIsNull
Is not null operator.stringIsNotNull
DiscoveryFilterFieldType
Represents the data type of the filter field.
777
DiscoveryGoalMetadata Types
DescriptionField TypeField Name
Text field type.stringText
Number field type.stringNumber
Date field type.stringDate
Datetime field type.stringDateTime
Boolean field type.stringBoolean
DiscoveryFilterValue
Represents a filter value.
DescriptionField TypeField Name
Type of filter value.DiscoveryFilterValueTypetype
Value.DiscoveryFilterValuevalue
DiscoveryFilterValueType
Represents the type of filter value.
DescriptionField TypeField Name
Filter value is a constant.stringConstant
Filter value is a placeholder.stringPlaceHolder
DiscoveryPrescribableField
Represents custom improvement text.
DescriptionField TypeField Name
One or more strings for custom improvement text. Uses the default
improvement text if none are specified.
DiscoveryCustomPrescribableFieldDefinition[]customDefinitions
Name of the model field that is actionable.stringname
DiscoveryCustomPrescribableFieldDefinition
Represents a field definition in custom improvement text.
778
DiscoveryGoalMetadata Types
DescriptionField TypeField Name
Represents one or more filters associated with custom
improvement text.
DiscoveryFilter[]filters
If specified, represents the user-provided template from which the
custom text is computed. If not specified, then the default text is
used.
stringtemplate
DiscoveryModelCard
Represents a model card associated with an Einstein Discovery prediction definition.
DescriptionField TypeField Name
Contact email for this model card.stringcontactEmail
Contact name for this model card.stringcontactName
Title for this model card.stringlabel
Sections in the model card.stringsections
DiscoveryGoalOutcome
Represents the outcome variable of the model.
DescriptionField TypeField Name
Name of the outcome variable.stringfield
Label for the outcome variable.stringfieldLabel
Goal for the outcome variable.DiscoveryOutcomeGoalgoal
Mapped field.stringmappedField
DiscoveryOutcomeGoal
Represents the goal for an outcome.
DescriptionField TypeField Name
Maximize the outcome.stringMinimize
Minimize the outcome.stringMaximize
Reserved for future use.stringNone
779
DiscoveryGoalMetadata Types
DiscoveryPredictionType
Represents the prediction type for a model.
DescriptionField TypeField Name
Unknown prediction type.stringUnknown
Regression prediction (numeric use case).stringRegression
Binary classification prediction.stringClassification
Multiclass classification prediction.stringMulticlassClassification
DiscoveryPushbackType
Represents the type of writeback field. Must be set to AiRecordInsight.
DescriptionField TypeField Name
Automatic writeback type. Required.stringAiRecordInsight
Currently not supported. Reserved for future use.stringDirect
Declarative Metadata Sample Definitions
Here is a sample DiscoveryGoal:
<?xml version="1.0" encoding="UTF-8"?>
<DiscoveryGoal xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<active>true</active>
<deployedModels>
<active>true</active>
<aiModel>Maximize_Tenure</aiModel>
<fieldMappings>
<mappedField>Opportunity.Amount</mappedField>
<modelField>PTO</modelField>
<sourceType>SalesforceField</sourceType>
</fieldMappings>
<fieldMappings>
<mappedField>Opportunity.ExpectedRevenue</mappedField>
<modelField>Salary</modelField>
<sourceType>SalesforceField</sourceType>
</fieldMappings>
<fieldMappings>
<mappedField>Level</mappedField>
<modelField>Level</modelField>
<sobjectFieldJoinKey>Opportunity.Name</sobjectFieldJoinKey>
<source>employees</source>
<sourceFieldJoinKey>Name</sourceFieldJoinKey>
<sourceType>AnalyticsDatasetField</sourceType>
780
DiscoveryGoalMetadata Types
</fieldMappings>
<fieldMappings>
<mappedField>Opportunity.StageName</mappedField>
<modelField>Field</modelField>
<sourceType>SalesforceField</sourceType>
</fieldMappings>
<filters>
<field>Opportunity.StageName</field>
<operator>Equal</operator>
<values>
<type>Constant</type>
<value>Qualification</value>
</values>
</filters>
<label>employees</label>
<name>employees</name>
<prescribableFields>
<customDefinitions>
<filters>
<field>Salary</field>
<operator>LessThan</operator>
<type>Number</type>
<values>
<type>PlaceHolder</type>
<value>[value_low]</value>
</values>
</filters>
<template>Increase [field_name] by [diff]</template>
</customDefinitions>
<customDefinitions>
<filters>
<field>Salary</field>
<operator>GreaterThan</operator>
<type>Number</type>
<values>
<type>PlaceHolder</type>
<value>[value_low]</value>
</values>
</filters>
<template xsi:nil="true"/>
</customDefinitions>
<name>Salary</name>
</prescribableFields>
<prescribableFields>
<customDefinitions>
<filters>
<field>Level</field>
<operator>LessThan</operator>
<type>Number</type>
<values>
<type>PlaceHolder</type>
<value>[value_low]</value>
</values>
</filters>
781
DiscoveryGoalMetadata Types
<template xsi:nil="true"/>
</customDefinitions>
<customDefinitions>
<filters>
<field>Level</field>
<operator>GreaterThan</operator>
<type>Number</type>
<values>
<type>PlaceHolder</type>
<value>[value_low]</value>
</values>
</filters>
<template xsi:nil="true"/>
</customDefinitions>
<name>Level</name>
</prescribableFields>
<prescribableFields>
<name>Field</name>
</prescribableFields>
</deployedModels>
<label>employees_Tenure</label>
<outcome>
<field>Tenure</field>
<fieldLabel>Tenure</fieldLabel>
<goal>Maximize</goal>
<mappedField>Opportunity.Amount</mappedField>
</outcome>
<predictionType>Regression</predictionType>
<pushbackField>My_Pushback_Field__c</pushbackField>
<subscribedEntity>Opportunity</subscribedEntity>
<terminalStateFilters>
<field>Opportunity.Amount</field>
<operator>GreaterThan</operator>
<values>
<type>Constant</type>
<value>5</value>
</values>
</terminalStateFilters>
<terminalStateFilters>
<field>Opportunity.Amount</field>
<operator>LessThan</operator>
<values>
<type>Constant</type>
<value>10</value>
</values>
</terminalStateFilters>
</DiscoveryGoal>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
782
DiscoveryGoalMetadata Types
DiscoveryStory
Represents the metadata associated with a story used in Einstein Discovery.
A story defines the data and analytical settings that Einstein Discovery uses to generate insights and build predictive models. Story
settings include the outcome variable, whether to maximize or minimize the outcome variable, the data to analyze in a CRM Analytics
dataset, and other preferences. Story settings tell Einstein Discovery how to conduct the analysis and communicate its results. In Package
Manager, this type is listed as "Discovery Story".
Note: Write operations for DiscoveryStory objects are generally not supported.
Declarative Metadata File Suffix and Directory Location
A DiscoveryStory is stored in the discovery folder. DiscoveryStory have two files:
file with .story suffix contains the storys actual data
file named ModelName.story-meta.xml suffix contains the storys metadata
Here is a sample package.xml file:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Subscriber_Changes</members>
<name>DiscoveryStory</name>
</types>
<version>55.0</version>
</Package>
Version
DiscoveryStorys are available in API version 54.0 and later.
Fields
DescriptionField TypeField Name
Required. The CRM Analytics app the story is associated with.stringapplication
Optional. The autopilot status for the story. One of the following
strings:
DiscoveryStoryAutopilotStatusautopilot
Enabled
Disabled
Optional. The threshold for classification predictions for the story.doubleclassificationThreshold
Required. The story label. If you package a story, this label appears
in Package Manager.
stringlabel
Required. The selected outcome of the story.DiscoveryStoryOutcomeoutcome
783
DiscoveryStoryMetadata Types
DescriptionField TypeField Name
Required. The source ID for the story.stringsourceContainer
Required. The source type of the story. One of the following strings:DiscoveryStorySourceTypesourceType
AnalyticsDataset
LiveDataset
Report
Optional. The validation ID for the story.stringvalidationContainder
DiscoveryStoryOutcome
Represents the selected outcome of the generated story.
DescriptionField TypeField Name
Optional. The value if the story failed.stringfailureValue
Required. The field configuration for the story.stringfield
Required. The story outcome goal. One of the following strings:DiscoveryStoryOutcomeGoalgoal
Maximize
Minimize
None
Required. The story outcome label.stringlabel
Optional. The value if the story succeeded.stringsuccessValue
Required. The story outcome type. One of the following strings:DiscoveryStoryOutcomeTypetype
Categorical
Count
Number
Text
Declarative Metadata Sample Definitions
Here is a sample DiscoveryStory:
<?xml version="1.0" encoding="UTF-8"?>
<DiscoverStory xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<application>MyStoryApp</application>
<autopilot>Enabled</autopilot>
<classificationThreshold>0.7383</classificationThreshold>
<label>SubscriberChanges</label>
<outcome>
784
DiscoveryStoryMetadata Types
<field>Subscriber</field>
<goal>Minimize</goal>
<label>SubscriberChangeOutcome</label>
<successValue>Success</successValue>
<type>Numerical</type>
</outcome>
<sourceContainer>01X00000000xxxx1AB</sourceContainer>
<sourceType>AnalyticsDataset</sourceType>
</DiscoveryStory>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Document
Represents a Document. All documents must be in a document folder, such as sampleFolder/TestDocument.
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
Retrieving Documents
You cant use the wildcard (*) symbol with documents in package.xml. To retrieve the list of documents for populating
package.xml with explicit names, call listMetadata() and pass in DocumentFolder as the type. Note that DocumentFolder
is not returned as a type in describeMetadata(). Document is returned from describeMetadata() with an associated
attribute of inFolder set to true. If that attribute is set to true, you can construct the type by using the component name with the
word Folder, such as DocumentFolder.
The following example shows folders in package.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyDBFolder/MyDBName</members>
<name>Dashboard</name>
</types>
<types>
<members>MyDocumentFolder/MyDocumentName</members>
<name>Document</name>
</types>
<types>
<members>unfiled$public/MarketingProductInquiryResponse</members>
<members>unfiled$public/SalesNewCustomerEmail</members>
<name>EmailTemplate</name>
</types>
<types>
<members>MyReportFolder/MyReportName</members>
<name>Report</name>
</types>
<version>61.0</version>
</Package>
785
DocumentMetadata Types
For each document an accompanying metadata file named DocumentFilename-meta.xml is created in the document folder.
For example, for a document TestDocument.png in the sampleFolder folder, theres a TestDocument.png-meta.xml in
the documents/sampleFolder of the package.
Version
Documents are available in API version 10.0 and later.
In API version 17.0 and later, you can delete a folder containing documents moved to the Recycle Bin. When you delete the folder, any
related documents in the Recycle Bin are permanently deleted.
In API version 18.0 and later, documents do not need an extension.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Content of the document. Base 64-encoded binary data. Prior to making
an API call, client applications must encode the binary attachment data
base64content
as base64. Upon receiving a response, client applications must decode
the base64 data to binary. This conversion is usually handled for you by
a SOAP client. This field is inherited from the MetadataWithContent
component.
A description of the document. Enter a description to distinguish this
document from others.
stringdescription
The name of the document, including the folder name. In version 17.0
and earlier, the fullName included the document extension. In version
stringfullName
18.0 and later, the fullName does not include the file extension. The
fullName can contain only underscores and alphanumeric characters.
It must be unique, begin with a letter, not include spaces, not end with
an underscore, and not contain two consecutive underscores. If this field
contained characters before version 14.0 that are no longer allowed, the
characters were stripped out of this field, and the previous value of the
field was saved in the name field. This field is inherited from the
Metadata component.
Required. Indicates whether the document is confidential (true) or not
(false). This field and public are mutually exclusive; you cannot
set both to true.
booleaninternalUseOnly
Contains one or more words that describe the document. A check for
matches to words in this field is performed when doing a search.
stringkeywords
The list of characters allowed in the fullName field has been reduced
for versions 14.0 and later. This field contains the value contained in the
stringname
fullName field before version 14.0. This field is only populated if the
value of the fullName field contained characters that are no longer
accepted in that field.
786
DocumentMetadata Types
DescriptionField TypeField Name
Required. Indicates whether the document is an image available for
HTML email templates and does not require a Salesforce username and
booleanpublic
password to view in an email (true) or not (false). If the images will
be used as a custom app logo or custom tab icon, both of which require
a Salesforce username and password to view, set this field to false.
This field and internalUseOnly are mutually exclusive; you cannot
set both to true.
Declarative Metadata Sample Definition
The following is the definition of a document:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="http://soap.sforce.com/2006/04/metadata">
<internalUseOnly>false</internalUseOnly>
<name>Q2 Campaign Analysis</name>
<public>false</public>
<description>Analyze Q2 campaign effectiveness</description>
</Document>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Folder
DocumentCategory
Represents a document category.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DocumentCategory components have the suffix .documentCategory and are stored in the documentCategory folder.
Version
DocumentCategory components are available in API version 59.0 and later.
787
DocumentCategoryMetadata Types
Special Access Rules
Fields
DescriptionField Name
Field Type
string
description
Description
A description of the DocumentCategory.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default value is false.
Field Type
string
masterLabel
Description
Required.
The master label of the DocumentCategory. This internal label doesnt get translated.
Declarative Metadata Sample Definition
The following is an example of a DocumentCategory component.
<?xml version="1.0" encoding="UTF-8"?>
<DocumentCategory xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>Address_Proof</masterLabel>
</DocumentCategory>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>DocumentCategory</name>
</types>
<version>59.0</version>
</Package>
788
DocumentCategoryMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DocumentCategoryDocumentType
Represents the junction between a DocumentCategory and a DocumentType. Puts a DocumentType in a DocumentCategory.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DocumentCategoryDocumentType components have the suffix .documentCategoryDocumentType and are stored in the
documentCategoryDocumentTypes folder.
Version
DocumentCategoryDocumentType components are available in API version 59.0 and later.
Special Access Rules
Fields
DescriptionField Name
Field Type
string
documentCategory
Description
Required.
The master label of the related DocumentCategory.
Field Type
string
documentType
Description
Required.
The master label of the related DocumentType.
Field Type
boolean
isProtected
789
DocumentCategoryDocumentTypeMetadata Types
DescriptionField Name
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default value is false.
Field Type
string
masterLabel
Description
Required.
The master label of the DocumentCategoryDocumentType. This internal label doesnt
get translated.
Declarative Metadata Sample Definition
The following is an example of a DocumentCategoryDocumentType component.
<?xml version="1.0" encoding="UTF-8"?>
<DocumentCategoryDocumentType xmlns="http://soap.sforce.com/2006/04/metadata">
<documentCategory>Address_Proof</documentCategory>
<documentType>Utility_Bill</documentType>
<masterLabel>junction1</masterLabel>
</DocumentCategoryDocumentType>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>DocumentCategory</name>
</types>
<types>
<members>*</members>
<name>DocumentCategoryDocumentType</name>
</types>
<types>
<members>*</members>
<name>DocumentType</name>
</types>
<version>59.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
790
DocumentCategoryDocumentTypeMetadata Types
DocumentChecklistSettings
Represents an orgs DocumentChecklistItem settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
DocumentChecklistSettings components are stored in the DocumentChecklist.settings file in the settings folder. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
DocumentChecklistSettings components are available in API versions 55.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the custom sharing rule for document checklist items
is enabled for your org (true) or not (false). The default value is
false.
booleandciCustomSharing
Indicates whether deletion of document checklist items is enabled for
your org (true) or not (false). The default value is false.
booleandeleteDCIWithFiles
Declarative Metadata Sample Definition
The following is an example of a DocumentChecklistSettings.settings component.
<?xml version="1.0" encoding="UTF-8"?>
<DocumentChecklistSettings
xmlns="http://soap.sforce.com/2006/04/metadata">
<dciCustomSharing>true</dciCustomSharing>
<deleteDCIWithFiles>true</deleteDCIWithFiles>
</DocumentChecklistSettings>
Example Package Manifest
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>DocumentChecklist</members>
<name>Settings</name>
791
DocumentChecklistSettingsMetadata Types
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DocumentType
Represents a document type.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DocumentType components have the suffix .documentType and are stored in the documentTypes folder.
Version
DocumentType components are available in API version 59.0 and later.
Special Access Rules
Fields
DescriptionField Name
Field Type
string
description
Description
A description of the DocumentType.
Field Type
boolean
isActive
Description
Required.
Specifies whether the DocumentType is active.
792
DocumentTypeMetadata Types
DescriptionField Name
Field Type
string
masterLabel
Description
Required.
The master label of the DocumentType. This internal label doesnt get translated.
Declarative Metadata Sample Definition
The following is an example of a DocumentType component.
<?xml version="1.0" encoding="UTF-8"?>
<DocumentType xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Utility_Bill</description>
<isActive>true</isActive>
<masterLabel>Utility_Bill</masterLabel>
</DocumentType>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>DocumentType</name>
</types>
<version>59.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DuplicateRule
Represents a rule that specifies how duplicate records in an object are detected. This type extends the Metadata metadata type and
inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
DuplicateRule components have the .duplicateRule suffix and are stored in the duplicateRules/ directory. The name
of the component file is based on the name of the object associated with the rule. For example, the component file name
793
DuplicateRuleMetadata Types
duplicateRules/Account.Standard_Account_Duplicate_Rule.duplicateRule describes a duplicate rule
component associated with the Account object.
Version
DuplicateRule components are available in API version 61.0 and later.
Fields
DescriptionField TypeField Name
Required. Determines what the duplicate rule does when users or the
DuplicateRule API try to insert a record that is a duplicate. Valid values
are:
Allow
For users, if operationsOnInsert is set to alert, the UI
displays the value of alertText in a dialog. The dialog prompts
DupeActionType
(enumeration of
type string)
actionOnInsert
users to continue or cancel. If the user chooses to continue, the
insertion proceeds. If the user chooses to cancel, the record isnt
inserted.
The DuplicateRule API returns an error code and a message. To
complete the insertion, the code must set the allowSave field
in DuplicateRuleHeader to true and reissue the request.
If operationsOnInsertisnt set to alert, the UI inserts the
record without issuing an alert. The API inserts the record and doesnt
return an error code.
Block
For users, the UI displays an error message and prevents them from
inserting the new record. The DuplicateRule API returns an error and
doesnt insert the record.
Required. Determines what the duplicate rule does when users or the
DuplicateRule API try to update a record, and the result is a duplicate.
Valid values are:
Allow
For users, if operationsOnUpdate is set to alert, the UI
displays the value of alertText in a dialog. The dialog prompts
DupeActionType
(enumeration of
type string)
actionOnUpdate
users to continue or cancel. If the user chooses to continue, the
update proceeds. If the user chooses to cancel, the record isnt
updated.
The DuplicateRule API returns a message. To complete the update,
the code must set the allowSave field in DuplicateRuleHeader
to true and reissue the request.
If operationsOnUpdateisnt set to alert, the UI updates
the record without issuing an alert. The API updates the record and
doesnt return an error code.
794
DuplicateRuleMetadata Types
DescriptionField TypeField Name
Block
For users, the UI displays an error message and prevents them from
continuing. The DuplicateRule API returns an error.
Text thats sent when the duplicate rule is triggered. The text is only sent
if isActive is true. In the UI, the text displays as a message. The
DuplicateRule API returns the message in its response.
You can set a value for alertText only when you have
actionOnInsert or actionOnUpdate (or both) set to Allow.
stringalertText
Otherwise, you receive a validation error when you add or update this
component.
Required. Text that describes the duplicate rule. The value is
customer-supplied, but isnt visible in the UI.
stringdescription
Required. Criteria that define how to find records to consider when
looking for duplicates. For example, use duplicateRuleFilter
to exclude records from the match when looking for duplicates.
DuplicateRuleFilterduplicateRuleFilter
Required. One or more MatchingRule components for the DuplicateRule.
A MatchingRule controls what constitutes a match between records.
DuplicateRuleMatchRule[]duplicateRuleMatchRules
Required. If true, the DuplicateRule detects duplicate records.
Otherwise, the rule has no effect.
booleanisActive
Required. Label for this DuplicateRule. This value is the internal label for
the rule.
stringmasterLabel
Required. Controls the action to take when actionOnInsert is set
to Allow and the duplicate rule is triggered. Either one or both of
these values can be set in the array:
alert
If set, the action specified in actionOnInsert occurs; otherwise,
the insert proceeds.
string[]operationsOnInsert
report
If set, the insert operation is added to the report of duplicates.
Required. Controls the action to take when actionOnUpdate is set
to Allow and the duplicate rule is triggered. Either one or both of
these values can be set in the array:
alert
If set, the action specified in actionOnUpdate occurs; otherwise,
the update proceeds.
string[]operationsOnUpdate
report
If set, the update operation is added to the report of duplicates.
795
DuplicateRuleMetadata Types
DescriptionField TypeField Name
Required. Determines how record sharing rules affect duplicate
management. Valid values are:
EnforceSharingRules
Sharing rules affect duplicate management. If a duplicate rule is
triggered because an insert or update duplicates an existing record,
DupeSecurityOptionType
(enumeration of
type string)
securityOption
but the running user doesnt have sharing access to that record, the
insert or update proceeds. The sharing rule doesnt prevent the user
from creating or updating the record because the record is hidden
from the user. No message is issued.
BypassSharingRules
Sharing rules dont affect duplicate management. If a duplicate rule
is triggered because an insert or update duplicates an existing record,
sharing rules are ignored, but other access restrictions apply.
Required. Determines the order in which duplicate rules are applied.intsortOrder
DuplicateRuleMatchRule
Describes the MatchingRule associated with the DuplicateRule. The MatchingRule identifies duplicate records.
DescriptionField TypeField Name
Required. The name of the target object of the matching rule. For
example, if you define a duplicate rule for Contact records, and you want
stringmatchRuleSObjectType
to match with Lead records, the value of matchRuleSObjectType
is Lead.
Required. Value that corresponds to the value of developerName
in the MatchingRule for this duplicate rule.
stringmatchingRule
Required. Foreign key to an ObjectMapping that maps fields from the
duplicate rules object to fields in the target object specified by
matchRuleSObjectType.
ObjectMappingobjectMapping
DuplicateRuleFilter
Specifies filter criteria for a DuplicateRule. Salesforce only applies the DuplicateRule if the record matches the criteria.
DescriptionField TypeField Name
Required. A string of boolean operators that establishes the filter logic
for the filter items specified in duplicateRuleFilterItems.
stringbooleanFilter
Required. A list of DuplicateRuleFilterItem components.DuplicateRuleFilterItem[]duplicateRuleFilterItems
796
DuplicateRuleMetadata Types
DuplicateRuleFilterItem
This type extends the FilterItem type and inherits all its fields.
DescriptionField TypeField Name
Required. The order of this item in the duplicate rule filter.intsortOrder
Required. The object that has the field specified in the field field of
DuplicateRuleFilterItem. See the documentation for FilterItem for the
definition of field.
stringtable
ObjectMapping
Represents a map of fields in the input object of the DuplicateRule to fields in the output object of DuplicateRule. The input object is
the object associated with the DuplicateRule. The output object can be the same object or a different object with similar fields.
For example, you can have a DuplicateRule that looks for duplicates between the Contact object and the Lead object. In this case, the
input object is Contact, and the output object is Lead.
DescriptionField TypeField Name
Required. The input object for the duplicate rule. The DuplicateRule is
associated with this object. For example, if you define a duplicate rule
stringinputObject
for Contact records, and you want to match with Lead records, the value
of inputObject is Contact.
Required. The mapping of source object fields to target object fields for
the duplicate rule.
ObjectMappingField[]mappingFields
Required. The output object for the duplicate rule. This value is the same
as the value of the matchRuleSObjectType field in
stringoutputObject
DuplicateRuleMatchRule. Any duplicate rules that this object has are
ignored when the DuplicateRule API uses the ObjectMapping.
ObjectMappingField
A field name in the input object of the DuplicateRule, and the corresponding field name in the output object.
DescriptionField TypeField Name
Required. Field in the object specified by the inputObject field in
ObjectMapping. This field is mapped to the field in outputField,
stringinputField
which is assumed to be a field in the object specified by the
outputObject field in ObjectMapping.
Required. Field in the object specified by the outputObject field
in ObjectMapping. The field is mapped to the field name in
stringoutputField
inputField, which is assumed to be a field in the object specified
by the inputObject in ObjectMapping.
797
DuplicateRuleMetadata Types
Declarative Metadata Sample Definition
The following is an example of a DuplicateRule component.
<?xml version="1.0" encoding="UTF-8"?>
<DuplicateRule xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<actionOnInsert>Allow</actionOnInsert>
<actionOnUpdate>Allow</actionOnUpdate>
<alertText>You are creating a duplicate record. Use an existing record
instead.</alertText>
<description>Detects a contact that duplicates a Lead</description>
<duplicateRuleFilter>
<booleanFilter xsi:nil="true"/>
<duplicateRuleFilterItems>
<field>Username</field>
<operation>equals</operation>
<value>[email protected]</value>
<sortOrder>1</sortOrder>
<table>User</table>
</duplicateRuleFilterItems>
</duplicateRuleFilter>
<duplicateRuleMatchRules>
<matchRuleSObjectType>Lead</matchRuleSObjectType>
<matchingRule>ContactToLeadDuplicate_matching_rule</matchingRule>
<objectMapping>
<inputObject>Contact</inputObject>
<mappingFields>
<inputField>FirstName</inputField>
<outputField>FirstName</outputField>
</mappingFields>
<mappingFields>
<inputField>LastName</inputField>
<outputField>LastName</outputField>
</mappingFields>
<outputObject>Lead</outputObject>
</objectMapping>
</duplicateRuleMatchRules>
<isActive>true</isActive>
<masterLabel>ContactToLeadDuplicate</masterLabel>
<operationsOnInsert>Alert</operationsOnInsert>
<operationsOnInsert>Report</operationsOnInsert>
<operationsOnUpdate>Alert</operationsOnUpdate>
<operationsOnUpdate>Report</operationsOnUpdate>
<securityOption>EnforceSharingRules</securityOption>
<sortOrder>1</sortOrder>
</DuplicateRule>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ContactToLeadDuplicate</members>
<name>DuplicateRule</name>
798
DuplicateRuleMetadata Types
</types>
<version>38.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EclairGeoData
Represents an Analytics custom map chart. Custom maps are user-defined maps that are uploaded to Analytics and are used just as
standard maps are. Custom maps are accessed in Analytics from the list of maps available with the map chart type.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
EclairGeoData components have the suffix geodata and are stored in the eclair folder.
Version
EclairGeoData components are available in API version 39.0 and later.
Fields
DescriptionField TypeField Name
A list of EclairMap objects. Each EclairMap object specifies the bounding
box (if any) and the map name that appears in the user interface.
EclairMap[]maps
Required. Label for this object. This display value is the internal label that
is not translated.
stringmasterLabel
EclairMap
DescriptionField TypeField Name
When bounding-box coordinates are used, this contains the bottom coordinate.doubleboundingBoxBottom
When bounding-box coordinates are used, this contains the left side coordinate.doubleboundingBoxLeft
When bounding-box coordinates are used, this contains the right side
coordinate.
doubleboundingBoxRight
When bounding-box coordinates are used, this contains the top coordinate.doubleboundingBoxTop
799
EclairGeoDataMetadata Types
DescriptionField TypeField Name
Required. The user-interface name of the map. This name appears in the maps
list for the map chart in Analytics.
stringmapLabel
Required. Label for this object. This display value is the internal label that is not
translated.
stringmapName
Required. The type of map projection used to create the map. Valid values are:stringprojection
Equirectangular
Mercator
AlbersUSA
Declarative Metadata Sample Definition
The following is an example of an EclairGeoData component:
<EclairGeoData xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<content xsi:nil="true"/>
<maps>
<boundingBoxBottom>0.0</boundingBoxBottom>
<boundingBoxLeft>100.0</boundingBoxLeft>
<boundingBoxRight>100.0</boundingBoxRight>
<boundingBoxTop>0.0</boundingBoxTop>
<mapLabel>WorldMap0 Label</mapLabel>
<mapName>WorldMap0</mapName>
<projection>Equirectangular</projection>
</maps>
<maps>
<boundingBoxBottom>1.0</boundingBoxBottom>
<boundingBoxLeft>101.0</boundingBoxLeft>
<boundingBoxRight>101.0</boundingBoxRight>
<boundingBoxTop>1.0</boundingBoxTop>
<mapLabel>WorldMap1 Label</mapLabel>
<mapName>WorldMap1</mapName>
<projection>Mercator</projection>
</maps>
<masterLabel>WorldMapGeoDataToCreate Label</masterLabel>
</EclairGeoData>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>EclairGeoData</name>
</types>
800
EclairGeoDataMetadata Types
<version>39.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmailServicesFunction
Represents an email service. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
EmailServicesFunction components have the suffix .xml and are stored in the emailservices folder.
Version
EmailServicesFunction components are available in API version 42.0 and later.
Fields
DescriptionField TypeField Name
Required. The name of the Apex class that the email service uses to
process inbound messages.
stringapexClass
Required. Indicates the types of attachments the email service accepts.
One of the following values:
EmailServicesAttOptions
(enumeration of
type string)
attachmentOption
NoneThe email service accepts the message but discards any
attachment.
NoContentThe attachment metadata (filename, MIME type,
and so on) is provided to the Apex class, but the body is set to null.
TextOnlyThe email service only accepts the following types
of attachments:
Attachments with a Multipurpose Internet Mail Extension (MIME)
type of text.
Attachments with a MIME type of application/octet-stream and
a file name that ends with either a .vcf or .vcs extension. These
are saved as text/x-vcard and text/calendar MIME types,
respectively.
BinaryOnlyThe email service only accepts binary attachments,
such as image, audio, application, and video files.
AllThe email service accepts any type of attachment.
801
EmailServicesFunctionMetadata Types
DescriptionField TypeField Name
Required. Indicates what the email service does with messages that fail
or do not support any of the authentication protocols if the
isAuthenticationRequired field is true.
One of the following values:
EmailServicesErrorAction
(enumeration of
type string)
authenticationFailureAction
UseSystemDefaultThe system default is used.
BounceThe email service returns the message to the sender
with a notification that explains why the message was rejected.
DiscardThe email service deletes the message without
notifying the sender.
RequeueThe email service queues the message for processing
in the next 24 hours. If the message is not processed within 24 hours,
the email service returns the message to the sender with a
notification that explains why the message was rejected.
Required. Indicates what the email service does with messages received
from senders who are not listed in the authorizedSenders field
on either the email service or email service address.
One of the following values:
EmailServicesErrorAction
(enumeration of
type string)
authorizationFailureAction
UseSystemDefaultThe system default is used.
BounceThe email service returns the message to the sender
with a notification that explains why the message was rejected.
DiscardThe email service deletes the message without
notifying the sender.
RequeueThe email service queues the message for processing
in the next 24 hours. If the message is not processed within 24 hours,
the email service returns the message to the sender with a
notification that explains why the message was rejected.
Configures the email service to only accept messages from the email
addresses or domains listed in this field. If the email service receives a
stringauthorizedSenders
message from an unlisted email address or domain, the email service
performs the action specified in the
authorizationFailureAction field. Leave this field blank if
you want the email service to receive email from any email address.
A list of EmailServiceAddress records.EmailServicesAddress[]emailServicesAddresses
The destination email address for error notification email messages when
isErrorRoutingEnabled is true.
emailerrorRoutingAddress
Required. Indicates what the email service does with messages it receives
when the email service itself is inactive.
One of the following values:
EmailServicesErrorAction
(enumeration of
type string)
functionInactiveAction
UseSystemDefaultThe system default is used.
802
EmailServicesFunctionMetadata Types
DescriptionField TypeField Name
BounceThe email service returns the message to the sender
with a notification that explains why the message was rejected.
DiscardThe email service deletes the message without
notifying the sender.
RequeueThe email service queues the message for processing
in the next 24 hours. If the message is not processed within 24 hours,
the email service returns the message to the sender with a
notification that explains why the message was rejected.
Required. The name of the email service in the API. This name can contain
only underscores and alphanumeric characters and must be unique in
stringfunctionName
your org. The value in this 64-character field must begin with a letter,
not include spaces, not end with an underscore, and not contain two
consecutive underscores.
In managed packages, this field prevents naming conflicts on package
installations. This field is automatically generated, but you can supply
your own value if you create the record using the API. With this field, a
developer can change the objects name in a managed package and
the changes are reflected in a subscribers organization.
Note: When creating large sets of data, always specify a unique
functionName for each record. If no functionName is
specified, performance may slow while Salesforce generates one
for each record.
Indicates whether this object is active (true) or not (false).booleanisActive
Configures the email service to verify the legitimacy of the sending server
before processing a message. The email service uses the SPF, SenderId,
booleanisAuthenticationRequired
and DomainKeys protocols to verify the sender's legitimacy: If the sending
server passes at least one of these protocols and does not fail any, the
email service accepts the email. If the server fails a protocol or does not
support any of the protocols, the email service performs the action
specified in the authenticationFailureAction field.
When incoming email messages cant be processed, indicates whether
error notification email messages are routed to a chosen address or to
the senders.
booleanisErrorRoutingEnabled
If true, text attachments are supplied to the Apex code as a
Messaging.BinaryAttachment instead of as a
booleanisTextAttachmentsAsBinary
Messaging.TextAttachment. This means that the body is
supplied as an Apex Blob instead of as an Apex String.
Not currently in use.booleanisTlsRequired
803
EmailServicesFunctionMetadata Types
DescriptionField TypeField Name
Required. Indicates what the email service does with messages if the
total number of messages processed by all email services combined has
reached the daily limit for your organization.
One of the following values:
EmailServicesErrorAction
(enumeration of
type string)
overLimitAction
UseSystemDefaultThe system default is used.
BounceThe email service returns the message to the sender
with a notification that explains why the message was rejected.
DiscardThe email service deletes the message without
notifying the sender.
RequeueThe email service queues the message for processing
in the next 24 hours. If the message is not processed within 24 hours,
the email service returns the message to the sender with a
notification that explains why the message was rejected.
The system calculates the limit by multiplying the number of user licenses
by 1,000.
EmailServicesAddress
Each email service has one or more email addresses to which users can send messages for processing. An email service only processes
messages it receives at one of its addresses.
DescriptionField TypeField Name
Configures the email service address to only accept messages from the email
addresses or domains listed in this field. If the email service address receives a
stringauthorizedSenders
message from an unlisted email address or domain, the email service performs
the action specified in the authorizationFailureAction field of
its associated email service. Leave this field blank if you want the email service
address to receive email from any email address.
Required. The name of the object in the API. This name can contain only
underscores and alphanumeric characters and must be unique in your org. It
stringdeveloperName
must begin with a letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores. This 25-character field must be
unique among other EmailServicesAddress records under the same
EmailServiceFunction parent.
In managed packages, this field prevents naming conflicts on package
installations. This field is automatically generated, but you can supply your own
value if you create the record using the API. With this field, a developer can
change the objects name in a managed package and the changes are reflected
in a subscribers organization.
Note: When creating large sets of data, always specify a unique
developerName for each record. If no developerName is
804
EmailServicesFunctionMetadata Types
DescriptionField TypeField Name
specified, performance might be slow while Salesforce generates one
for each record.
Indicates whether this object is active (true) or not (false).booleanisActive
Required. The local-part of the email service address, which is the string that
comes before the @ symbol. For the local-part of a Salesforce email address,
all alphanumeric characters are valid, plus the following special characters:
! # $ % & amp; ' * / = ? ^ _ + - ` { | } ~ ,
stringlocalPart
The dot character (.) is also valid as long as it's not the first or last character.
Email addresses arent case sensitive.
Required. The username of the user whose permissions the email service
assumes when processing messages sent to this address.
stringrunAsUser
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmailTemplate
Represents a template for an email, mass email, list email, or Sales Engagement email. Supported in first-generation managed packages
only.
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
Note: First-generation packaging only is supported for Lightning email templates.
File Suffix and Directory Location
The file suffix is .email for the template file. The accompanying metadata file is named EmailTemplateName-meta.xml.
EmailTemplate components are stored in the email folder in the corresponding package directory. For example, for an email template
named SampleTemplate in the sampleFolder folder, theres a SampleTemplate-meta.xml in the email/sampleFolder
of the package.
Retrieving Email Templates
You cant use the wildcard (*) symbol with email templates in package.xml. To retrieve the list of email templates for populating
package.xml with explicit names, call listMetadata() and pass in EmailTemplate as the type.
The following example shows folders in package.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
805
EmailTemplateMetadata Types
<members>MyDBFolder/MyDBName</members>
<name>Dashboard</name>
</types>
<types>
<members>MyDocumentFolder/MyDocumentName</members>
<name>Document</name>
</types>
<types>
<members>unfiled$public/MarketingProductInquiryResponse</members>
<members>unfiled$public/SalesNewCustomerEmail</members>
<name>EmailTemplate</name>
</types>
<types>
<members>MyReportFolder/MyReportName</members>
<name>Report</name>
</types>
<version>61.0</version>
</Package>
Version
Email templates are available in API version 12.0 and later.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
The API version if it's a Visualforce email template. Every Visualforce email
template has an API version specified at creation. This field is available in API
version 16.0 and later.
doubleapiVersion
A list of references to documents in your organization. These documents are
included as attachments in the email template. Each document is referenced
by its path, for example MyFolder/MyDocument.txt.
string[]attachedDocuments
A list of attachments for the email template.Attachment[]attachments
Required. Indicates whether this template is offered to users when sending an
email (true) or not (false).
booleanavailable
Content of the email template. Base 64-encoded binary data. Before making an
API call, client applications must encode the binary attachment data as base64.
base64Binarycontent
Upon receiving a response, client applications must decode the base64 data to
binary. This conversion is handled for you by a SOAP client. This field contains:
Binary content of the email body if type is set to text
HTML email content if type is set to html
HTML body if type is set to custom
Visualforce body if type is set to visualforce
806
EmailTemplateMetadata Types
DescriptionField TypeField Name
This field is inherited from the MetadataWithContent component.
The email template description describes the reason for creating the template.stringdescription
Required for Classic email templates. The default encoding setting is Unicode:
UTF-8. Change it if your template requires data in a different format.
Valid values include:
Encoding (enumeration
of type string)
encodingKey
UTF-8Unicode (UTF-8)
ISO-8859-1General US & Western Europe (ISO-88591, ISO-LATIN-1)
Shift_JISJapanese (Shift-JIS)
ISO-2022-JPJapanese (JIS)
EUC-JPJapanese (EUC-JP)
x-SJIS_0213Japanese (Shift-JIS_2004)
ks_c_5601-1987Korean (ks_c_5601-1987)
Big5Traditional Chinese (Big5)
GB2312Simplified Chinese (GB2312)
Big5-HKSCSTraditional Chinese Hong Kong (Big5HKSCS)
Lightning email templates dont use this field. Instead, the encoding values are
taken directly from the users encoding settings.
The email template developer name used as a unique identifier for API access.
The fullName can contain only underscores and alphanumeric characters.
stringfullName
It must be unique, begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores. If this field contained
characters before version 14.0 that are no longer allowed, the characters were
stripped out of this field, and the previous value of the field was saved in the
name field. This field is inherited from the Metadata component.
The letterhead name associated with this email template. Only available when
type is set to html.
stringletterhead
Required. Email template name. The list of characters allowed in the fullName
field has been reduced for versions 14.0 and later. This field contains the value
contained in the fullName field before version 14.0.
stringname
The list of package versions for any managed packages containing components
that are referenced by this email template. This field is only relevant for Visualforce
email templates.
For more information about managed packages, see Second-Generation
Managed Packages in the Salesforce DX Developer Guide. This field is available in
API version 16.0 and later.
PackageVersion[]packageVersions
Reserved for future use with Lightning Experience.Object Name
(enumeration of type
string)
relatedEntityType
807
EmailTemplateMetadata Types
DescriptionField TypeField Name
Required. The style of the template. This field is only available when type is set
to html.
Valid style values include:
EmailTemplateStyle
(enumeration of type
string)
style
none
freeForm
formalLetter
promotionRight
promotionLeft
newsletter
products
The email subject.
The limit is 1,000 characters for Lightning email templates and 230 characters
for Classic email templates.
stringsubject
The text of the email body if type is set to html or custom.stringtextOnly
Required. The email template type.
The valid values are:
EmailTemplateType
(enumeration of type
string)
type
text - all users can create or change text email templates.
html - administrators and users with the Edit HTML Templates permission
can create HTML email templates based on a letterhead.
custom - administrators and users with the Edit HTML Templates
permission can create custom HTML email templates without using a
letterhead. You must either know HTML or obtain the HTML code to insert
in your email template.
visualforce - administrators and users with the Customize Application
permission can create email templates using Visualforce.
Indicates the user interface where this template is usable. Valid values are:EmailTemplateUiType
(enumeration of type
string)
UiType
Aloha (Salesforce Classic)
SFX (Lightning Experience)
SFX_Sample (Lightning Experience Sample)
If UiType is SFX, the type must be custom.
Packaging is supported for Salesforce Classic email templates only.
Example:
<EmailTemplate>
<available>true</available>
808
EmailTemplateMetadata Types
<description>Notification that user has been added to a community.</description>
<encodingKey>UTF-8</encodingKey>
<name>Communities: New Member Welcome Email</name>
<style>none</style>
<subject>Welcome to {!Community_Name}</subject>
<type>custom</type>
<uiType>Aloha</uiType>
</EmailTemplate>
Attachment
Attachment represents an email attachment.
DescriptionField TypeField
Required. The attachment content. Base 64-encoded binary
data. Before making an API call, client applications must encode
base64Binarycontent
the binary attachment data as base64. Upon receiving a
response, client applications must decode the base64 data to
binary. This conversion is handled for you by a SOAP client.
Required. The attachment file name.stringname
Declarative Metadata Sample Definition
Here's a sample XML definition of an email template.
<?xml version="1.0" encoding="UTF-8"?>
<EmailTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<available>true</available>
<description>Sample Email Template</description>
<encodingKey>ISO-8859-1</encodingKey>
<name>Sample Email Template</name>
<style>none</style>
<subject>Sample email subject</subject>
<textOnly>Your case has been resolved.</textOnly>
<type>custom</type>
</EmailTemplate>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Letterhead
809
EmailTemplateMetadata Types
EmbeddedServiceBranding
Represents the branding for each Embedded Service deployment. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
EmbeddedServiceBranding components are stored in the developer_name.EmbeddedServiceBranding file in the
EmbeddedServiceBranding folder.
Version
EmbeddedServiceBranding is available in API version 39.0 and later.
Fields
DescriptionField TypeField Name
Accent branding color used in the embedded component, displayed as
a hexadecimal value. Changes made to this field in the API arent reflected
in the embedded component.
stringcontrastInvertedColor
Accent branding color used in the embedded component, displayed as
a hexadecimal value.
stringcontrastPrimaryColor
Required. The Embedded Service configuration that this branding applies
to.
stringembeddedServiceConfig
Font used in the text of the embedded component.stringfont
Height of the embedded component. Available in API version 43.0 and
later.
intheight
Required. The name of the Embedded Service configuration node.stringmasterLabel
Color used for the header in the embedded component, displayed as a
hexadecimal value.
stringnavBarColor
Color used for the text and icons in the header in the embedded
component, displayed as a hexadecimal value. Available in API version
49.0 and later.
stringnavBarTextColor
Primary branding color used in the embedded component, displayed
as a hexadecimal value.
stringprimaryColor
Secondary branding color used in the embedded component, displayed
as a hexadecimal value.
stringsecondaryColor
810
EmbeddedServiceBrandingMetadata Types
DescriptionField TypeField Name
Secondary branding color used for the header in the embedded
component, displayed as a hexadecimal value. It applies to the header
stringsecondaryNavBarColor
in the chat feature when it's trying to reconnect because of lost internet
connection. Available in API version 49.0 and later.
Width of the embedded component. Available in API version 43.0 and
later.
intwidth
Declarative Metadata Sample Definition
The following is an example of an EmbeddedServiceBranding file.
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceBranding xmlns="http://soap.sforce.com/2006/04/metadata">
<contrastInvertedColor>#ffffff</contrastInvertedColor>
<contrastPrimaryColor>#333333</contrastPrimaryColor>
<embeddedServiceConfig>EswConfig001</embeddedServiceConfig>
<font>Salesforce Sans</font>
<height>498</height>
<masterLabel>EmbeddedServiceBranding_Parent04IRM000000002a_16033cd2c16</masterLabel>
<navBarColor>#222222</navBarColor>
<primaryColor>#222222</primaryColor>
<secondaryColor>#005290</secondaryColor>
<width>320</width>
</EmbeddedServiceBranding>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmbeddedServiceConfig
Represents a setup node for creating an Embedded Service for Web deployment. This type extends the Metadata metadata type and
inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
EmbeddedServiceConfig components have the suffix .EmbeddedServiceConfig and are stored in the
EmbeddedServiceConfig folder.
811
EmbeddedServiceConfigMetadata Types
Version
EmbeddedServiceConfig is available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
Specifies whether a user must be logged in to access an embedded
component. Available in API version 45.0 and later.
booleanareGuestUsersAllowed
Type of login method selected for this Embedded Service deployment.
Valid values are:
EmbeddedServiceAuthMethod
(enumeration of
type string)
authMethod
CommunitiesLoginCustomers log in using Communities.
CustomLoginCustomers log in using your own custom
authentication.
Available in API version 43.0 and later.
The branding set that has all of the branding configurations for this
Embedded Service configuration. Available in API version 52.0 and later.
stringbranding
The custom Lightning component thats used in this Embedded Service
deployment in its minimized state. Available in API version 43.0 to 45.0.
stringcustomMinimizedComponent
The conversation type of this Embedded Service deployment. Valid
values are:
EmbeddedServiceDeploymentType(enumeration
of type string)
deploymentFeature
EmbeddedMessagingMessaging for In-App and Messaging
for Web deployments
Flows
FieldService
LiveAgent
None
Available in API version 52.0 and later.
The platform this Embedded Service is deployed to. Valid values are:EmbeddedServiceDeploymentType
(enumeration of
type string)
deploymentType
MobileFor future use
Web
Available in API version 51.0 and later.
The settings of the Embedded Service deployment whose
deploymentFeature is FieldService. Available in API version
46.0 and later.
EmbeddedServiceAppointmentSettings[]embeddedServiceAppointmentSettings
The custom components used in this Embedded Service deployment.
Available in API version 44.0 and later.
EmbeddedServiceCustomComponent
on page 814[]
embeddedServiceCustomComponents
The custom labels used in this Embedded Service deployment. Available
in API version 44.0 and later.
EmbeddedServiceCustomLabel
on page 815[]
embeddedServiceCustomLabels
812
EmbeddedServiceConfigMetadata Types
DescriptionField TypeField Name
The customizations used in this Embedded Service deployment. Each
customization is associated with a static resource. Available in API version
50.0 and later.
EmbeddedServiceCustomization
on page 815[]
embeddedServiceCustomizations
Represents a setup node for creating an embedded flow. Available in
API version 45.0 and later.
EmbeddedServiceFlowConfig
on page 817[]
embeddedServiceFlowConfig
All of the flows used by this Embedded Service deployment. Available
in API version 45.0 and later.
EmbeddedServiceFlow
on page 816[]
embeddedServiceFlows
The layout of an Appointment Management deployment of an
Embedded Service. Available in API version 44.0 and later.
EmbeddedServiceLayout[]embeddedServiceLayouts
Indicates if this Embedded Service deployment is enabled (true).booleanisEnabled
Indicates whether Terms and Conditions is displayed. Displaying Terms
and Conditions is supported if the deploymentFeature is either
booleanisTermsAndConditionsEnabled
EmbeddedMesssaging or LiveAgent. The default is false.
Available in API version 59.0 and later.
Indicates whether acceptance of the Terms and Conditions is required
before starting a chat. Displaying Terms and Conditions is supported if
booleanisTermsAndConditionsRequired
the deploymentFeature is either EmbeddedMesssaging
or LiveAgent. The default is false. Available in API version 59.0
and later.
Required. The name of the Embedded Service configuration node.
Available in API version 37.0 and later.
stringmasterLabel
Specifies whether the prompt that the customer log in again during a
flow is hidden (true) or not (false). When its hidden, the customer
booleanshouldHideAuthDialog
is taken directly to your login page. This field is set to false by default.
Available in API version 43.0 and later.
Required. The name of the Experience site or website connected to this
Embedded Service deployment. Available in API version 37.0 and later.
stringsite
EmbeddedServiceAppointmentSettings
Returns the settings of an Embedded Service deployment whose deploymentFeature is FieldService. Available in API
version 46.0 and later.
DescriptionField Name
Field Type
string
appointmentConfirmImg
Description
The URL of the image to display when an appointment is confirmed.
813
EmbeddedServiceConfigMetadata Types
DescriptionField Name
Field Type
boolean
enabled
Description
Required.
Indicates whether this deployment is enabled. The default is false.
Field Type
string
homeImg
Description
The URL of the image to display on the appointment management widget home
screen.
Field Type
string
logoImg
Description
The URL of the logo to display in the appointment management widget.
Field Type
boolean
shouldShowExistingAppointment
Description
Indicates whether existing appointments are displayed in the appointment
management widget. The default is false.
Field Type
boolean
shouldShowNewAppointment
Description
Indicates whether new appointments are displayed in the appointment management
widget. The default is false.
EmbeddedServiceCustomComponent
Returns a custom component thats associated with an EmbeddedServiceConfig setup.
DescriptionField TypeField Name
The name of the custom component.stringcustomComponent
The type of custom component. Valid values
are:
EmbeddedServiceCustomComponent
(enumeration of type string)
customComponentType
LA_Prechat (component for
pre-chat in Embedded Chat)
814
EmbeddedServiceConfigMetadata Types
DescriptionField TypeField Name
LA_Minimized (component for the
minimized chat window)
LA_PlainTextChatMessage
(component for the text area in
Embedded Chat)
EmbeddedServiceCustomLabel
Returns a custom label thats associated with an EmbeddedServiceConfig setup.
DescriptionField TypeField Name
The customized label that appears in the
embedded component.
stringcustomLabel
The feature that this embedded component
uses. Valid values are:
EmbeddedServiceFeature (enumeration of
type string)
feature
Base
ChannelMenu
EmbeddedMessagingMessaging
for In-App and Messaging for Web
deployments
FieldService
Flows
LiveAgent
NotInUse
The type of label for this embedded
component. The value corresponds to the
EmbeddedServiceLabelKey (enumeration
of type string)
labelKey
label within a label group (substate of chat
state or page type).
EmbeddedServiceCustomization
Returns the customization associated with the Embedded Service feature. Available in API version 50.0 and later.
DescriptionField TypeField Name
Required. The name of the customization
applied to the embedded service. This name
stringcustomizationName
can contain only underscores and
alphanumeric characters and must be
unique in an EmbeddedServiceConfig setup.
It must begin with a letter, not include
815
EmbeddedServiceConfigMetadata Types
DescriptionField TypeField Name
spaces, not end with an underscore, and
not contain two consecutive underscores.
A description of the customization.stringdescription
Required. The reference to the static
resource that contains the javascript file of
the customization.
EmbeddedServiceResource on page 816[]embeddedServiceResources
EmbeddedServiceResource
Returns the static resource associated with the Embedded Service Chat feature customization. Available in API version 50.0 and later.
DescriptionField TypeField Name
Required. The ID of the static resource that
contains the javascript file of the
customization.
stringresource
Required. The embedded service feature to
customize. Valid values are:
EmbeddedServiceResourceType
(enumeration of type string)
resourceType
ChatInvitationUse for Chat
deployments.
SettingsFileUse if youre
configuring a settings file for a Channel
Menu deployment.
EmbeddedServiceFlow
Returns an embedded flow thats associated with an EmbeddedServiceConfig setup.
DescriptionField TypeField Name
The developer name of the flow.stringflow
The type of flow. Valid values are:EmbeddedServiceFlowType(enumeration
of type string)
flowType
FS_CancelAppointment
FS_Flow
FS_ModifyAppointment
FS_NewAppointment
LA_Survey
Indicates whether users are required to log
in to access the Embedded Service
booleanisAuthenticationRequired
component. The value cant be true for
816
EmbeddedServiceConfigMetadata Types
DescriptionField TypeField Name
the FS_Flow value and must be true
for all other values.
EmbeddedServiceFlowConfig
Returns the EmbeddedServiceFlowConfig type.
DescriptionField TypeField Name
Indicates whether the embedded flow is
enabled.
booleanenabled
EmbeddedServiceLayout
Returns the layout of an Embedded Service deployment whose deploymentFeature is FieldService. Available in API version
44.0 and later.
DescriptionField
Type
Field Name
The appointment statuses that the layout of the Embedded Service deployment is valid
for.
EmbeddedServiceLayoutRule[]embeddedServiceLayoutRules
The FlexiPage that represents the layout of this Embedded Service deployment.stringlayout
The type of layout applied to the Embedded Service deployment.
Values are:
EmbeddedServiceLayoutType
(enumeration
of
layoutType
FS_AppointmentHome
type
string)
EmbeddedServiceLayoutRule
Returns an appointment status for which the Embedded Service layout is valid for. This subtype is for Embedded Service deployments
whose deploymentFeature is FieldService. Available in API version 44.0 and later.
DescriptionField TypeField Name
The service appointment status that the EmbeddedServiceLayout subtype
is valid for.
stringappointmentStatus
817
EmbeddedServiceConfigMetadata Types
Declarative Metadata Sample Definition
The following is an example of an EmbeddedServiceConfig file.
This is an example of an EmbeddedServiceConfig file.
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<authMethod>CommunitiesLogin</authMethod>
<customMinimizedComponent>customMinimized</customMinimizedComponent>
<masterLabel>EswFS</masterLabel>
<shouldHideAuthDialog>false</shouldHideAuthDialog>
<site>SiteName</site>
</EmbeddedServiceConfig>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmbeddedServiceFieldService
Represents a setup node for creating an embedded Appointment Management deployment. This type extends the Metadata metadata
type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
EmbeddedServiceFieldService components are stored in a developer_name.EmbeddedServiceFieldService file in the
EmbeddedServiceFieldService folder.
Version
EmbeddedServiceFieldService is available in API version 43.0 and later.
Fields
DescriptionField TypeField Name
Name of the appointment booking flow for this embedded Appointment
Management (beta) deployment.
stringappointmentBookingFlowName
Name of the appointment cancellation flow for this embedded
Appointment Management (beta) deployment.
stringcancelApptBookingFlowName
Required. The name of the Embedded Service configuration node.stringembeddedServiceConfig
818
EmbeddedServiceFieldServiceMetadata Types
DescriptionField TypeField Name
Required. Indicates whether this embedded Appointment Management
deployment is enabled (true).
booleanenabled
URL of the image used for the confirmation card in embedded
Appointment Management (beta).
stringfieldServiceConfirmCardImg
URL of the image used for the home screen in embedded Appointment
Management (beta).
stringfieldServiceHomeImg
URL of the logo used for the home screen in embedded Appointment
Management (beta).
stringfieldServiceLogoImg
Required. Name of the embedded Appointment Management (beta)
deployment.
stringmasterLabel
Name of the appointment modification flow for this embedded
Appointment Management (beta) deployment.
stringmodifyApptBookingFlowName
Specifies whether to display a button on the home screen for customers
to access their existing appointments (true) or not (false). This field
is false by default.
booleanshouldShowExistingAppointment
Specifies whether to display a button on the home screen for customers
to create a new appointment (true) or not (false). This field is
false by default.
booleanshouldShowNewAppointment
Declarative Metadata Sample Definition
The following is an example of an EmbeddedServiceFieldService file.
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceFieldService xmlns="http://soap.sforce.com/2006/04/metadata">
<appointmentBookingFlowName>ESW_FS_BookAppt_Main_Flow</appointmentBookingFlowName>
<cancelApptBookingFlowName>ESW_FS_CancelAppt_Flow</cancelApptBookingFlowName>
<embeddedServiceConfig>EswFS</embeddedServiceConfig>
<enabled>true</enabled>
<fieldServiceConfirmCardImg>https://google.com/AppointmentConfirmationImg.png</fieldServiceConfirmCardImg>
<fieldServiceHomeImg>https://google.com/HeroImg.png</fieldServiceHomeImg>
<fieldServiceLogoImg>https://google.com/logo.png</fieldServiceLogoImg>
<masterLabel>EmbeddedServiceFieldService_Parent04IRM000000007p2AA_162d4270834</masterLabel>
<modifyApptBookingFlowName>ESW_FS_ModifyAppt_Main_Flow</modifyApptBookingFlowName>
<shouldShowExistingAppointment>true</shouldShowExistingAppointment>
<shouldShowNewAppointment>true</shouldShowNewAppointment>
</EmbeddedServiceFieldService>
819
EmbeddedServiceFieldServiceMetadata Types
Usage
Note: Any changes you make to the image fields override what youve entered in Setup. We recommend setting your image
URLs in Setup.
EmbeddedServiceFlowConfig
Represents a setup node for creating an embedded flow. This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
EmbeddedServiceFlowConfig components are stored in the developer_name.EmbeddedServiceFlowConfig file in the
EmbeddedServiceFlowConfig folder.
Version
EmbeddedServiceFlowConfig is available in API version 45.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the embedded flow is enabled (true) or not
(false). Defaults to false.
booleanenabled
Declarative Metadata Sample Definition
The following is an example of an EmbeddedServiceFlowConfig file.
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceFlowConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<enabled>true</enabled>
</EmbeddedServiceFlowConfig>
EmbeddedServiceLiveAgent
Represents a setup node for creating an embedded chat deployment. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
820
EmbeddedServiceFlowConfigMetadata Types
File Suffix and Directory Location
EmbeddedServiceLiveAgent components are stored in the developer_name.EmbeddedServiceLiveAgent file in the
EmbeddedServiceLiveAgent folder.
Version
EmbeddedServiceLiveAgent is available in API version 38.0 and later.
Fields
DescriptionField TypeField Name
Avatar image for this embedded chat deployment.stringavatarImg
The custom Lightning Component thats used for the pre-chat page in
this embedded chat deployment.
stringcustomPrechatComponent
Required. The name of the embedded service configuration node.stringembeddedServiceConfig
The quick action used by the pre-chat form.EmbeddedServiceQuickActionembeddedServiceQuickActions
Required. Indicates whether this embedded chat deployment is enabled
(true).
booleanenabled
Required. The font size for the text in the embedded chat window. One
of the following values:
EmbeddedServiceFontSize
(enumeration of
type string)
fontSize
Small
Medium
Large
Header background image for this embedded chat window. Removed
in API version 49.0.
stringheaderBackgroundImg
Indicates whether offline support is enabled for this embedded chat
deployment. Available in API version 43.0 and later.
booleanisOfflineCaseEnabled
Indicates whether queue position (displaying the chat visitors place in
line while they wait for an agent) is enabled for this embedded chat
deployment. Available in API version 43.0 and later.
booleanisQueuePositionEnabled
The rest endpoint for chats.stringliveAgentChatUrl
The rest endpoint for cChat content.stringliveAgentContentUrl
Required. Reference to a chat button created in Chat setup.stringliveChatButton
Required. Reference to a deployment created in Chat setup.stringliveChatDeployment
Required. Name of the embedded chat deployment.stringmasterLabel
Offline support case form background image for this embedded chat
window. Available in API version 43.0 and later.
stringofflineCaseBackgroundImg
821
EmbeddedServiceLiveAgentMetadata Types
DescriptionField TypeField Name
Pre-chat background image for this embedded chat window.stringprechatBackgroundImg
Required. Indicates whether the embedded chat pre-chat form is enabled
for this deployment.
stringprechatEnabled
JSON object of all the fields of the selected pre-chat form in Chat setup.stringprechatJson
Required. The scenario for the embedded chat window that determines
which objects to relate to the chat. One of the following values:
EmbeddedServiceScenario
(enumeration of
type string)
scenario
Sales
Service
Basic
Company logo image for this embedded chat window.stringsmallCompanyLogoImg
Chat waiting image for this embedded chat window.stringwaitingStateBackgroundImg
EmbeddedServiceQuickAction
Returns a quick action thats associated with an EmbeddedServiceLiveAgent setup. The quick action includes the pre-chat form fields
that the embedded chat window displays and shows the order in which the fields are displayed.
DescriptionField TypeField Name
Reference to the embedded chat deployment.stringembeddedServiceLiveAgent
Order in which this quick action appears in the embedded chat pre-chat form.intorder
Reference to a quick action.stringquickActionDefinition
Quick action type. One of the following values:EmbeddedServiceQuickActionType
(enumeration of type
string)
quickActionType
PrechatPre-chat
OfflineCaseOffline support (Cases)
Available in API version 43.0 and later.
Declarative Metadata Sample Definition
The following is an example of an EmbeddedServiceLiveAgent file.
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceLiveAgent xmlns="http://soap.sforce.com/2006/04/metadata">
<avatarImg>https://google.com/avatar.png</avatarImg>
<customPrechatComponent>auraCustomPrechat</customPrechatComponent>
<embeddedServiceConfig>EswConfig001</embeddedServiceConfig>
<embeddedServiceQuickActions>
<embeddedServiceLiveAgent>EmbeddedServiceLiveAgent_Parent04Ixx0000000001EAA_15ec5bd2971</embeddedServiceLiveAgent>
822
EmbeddedServiceLiveAgentMetadata Types
<order>1</order>
<quickActionDefinition>Snapins_Contact_QuickAction_08hRM000000001h</quickActionDefinition>
</embeddedServiceQuickActions>
<embeddedServiceQuickActions>
<embeddedServiceLiveAgent>EmbeddedServiceLiveAgent_Parent04Ixx0000000001EAA_15ec5bd2971</embeddedServiceLiveAgent>
<order>1</order>
<quickActionDefinition>Snapins_Case_OfflineCaseQuickAction_08hRM000000001h</quickActionDefinition>
<quickActionType>OfflineCase</quickActionType>
</embeddedServiceQuickActions>
<embeddedServiceQuickActions>
<embeddedServiceLiveAgent>EmbeddedServiceLiveAgent_Parent04Ixx0000000001EAA_15ec5bd2971</embeddedServiceLiveAgent>
<order>2</order>
<quickActionDefinition>Snapins_Case_QuickAction_08hRM000000001h</quickActionDefinition>
</embeddedServiceQuickActions>
<enabled>true</enabled>
<fontSize>Medium</fontSize>
<headerBackgroundImg>https://google.com/headerBackgroundImg.png</headerBackgroundIm>
<isOfflineCaseEnabled>true</isOfflineCaseEnabled>
<isQueuePositionEnabled>true</isQueuePositionEnabled>
<liveChatButton>chatButton01</liveChatButton>
<liveChatDeployment>liveAgentDeployment01</liveChatDeployment>
<masterLabel>EmbeddedServiceLiveAgent_Parent04Ixx0000000001EAA_15ec5bd2971</masterLabel>
<offlineCaseBackgroundImg>https://google.com/offlineCaseBackgroundImg.png</offlineCaseBackgroundImg>
<prechatBackgroundImg>https://google.com/prechatBackgroundImg.png</prechatBackgroundImg>
<prechatEnabled>true</prechatEnabled>
<scenario>Service</scenario>
<smallCompanyLogoImg>https://google.com/smallCompanyLogoImg.png</smallCompanyLogoImg>
<waitingStateBackgroundImg>https://google.com/waitingImage.png</waitingStateBackgroundImg>
</EmbeddedServiceLiveAgent>
Usage
EmbeddedServiceLiveAgent represents a Chat configuration that is added to your web page. The EmbeddedServiceLiveAgent record
contains a unique combination of a chat button and the Chat deployment that the administrator selects during setup.
To create an EmbeddedServiceLiveAgent record:
1. Create a Chat Deployment record.
2. Create a Chat Button record.
823
EmbeddedServiceLiveAgentMetadata Types
3. Create an EmbeddedServiceConfig record.
4. Set the fields for the Chat Deployment record, Chat Button record, and EmbeddedServiceConfig record as references on the
EmbeddedServiceLiveAgent record.
Any changes you make to the image fields override what youve entered in Setup. We recommend setting your image URLs in Setup.
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmbeddedServiceMenuSettings
Represents a setup node for creating a channel menu deployment. Channel menus list the ways in which customers can contact your
business. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
EmbeddedServiceMenuSettings components are stored in the developer_name.EmbeddedServiceMenuSettings folder.
Version
EmbeddedServiceMenuSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
The developer name of the associated BrandingSet.stringbranding
Represents a customized label that appears in the
embedded component for a particular channel menu
deployment.
EmbeddedServiceCustomLabel[]embeddedServiceCustomLabels
The customizations used in this Embedded Service
deployment. Each customization is associated with
EmbeddedServiceCustomization
on page 825[]
embeddedServiceCustomizations
a static resource. Available in API version 50.0 and
later.
Represents a channel menu item that lists a way in
which customers can contact your business.
EmbeddedServiceMenuItem[]embeddedServiceMenuItems
If true (default), the deployment is enabled. If
false, the deployment is disabled.
booleanisEnabled
824
EmbeddedServiceMenuSettingsMetadata Types
DescriptionField TypeField Name
Required. The name of the channel menu
deployment.
stringmasterLabel
Required. The name of the Experience site or website
connected to this channel menu deployment.
stringsite
EmbeddedServiceCustomLabel
Represents the custom labels used in your channel menu deployment.
DescriptionField TypeField Name
The customized label that appears in the channel menu.stringcustomLabel
The feature using the custom label. For channel menu
deployments, the value is ChannelMenu.
EmbeddedServiceFeature
(enumeration of type string)
feature
The type of label for this embedded component. The value
corresponds to the label within a label group (substate of chat
state or page type).
EmbeddedServiceLabelKey
(enumeration of type string)
labelKey
EmbeddedServiceCustomization
Returns the customization associated with the Embedded Service feature. Available in API version 50.0 and later.
DescriptionField TypeField Name
Required. The name of the customization
applied to the embedded service. This name
stringcustomizationName
can contain only underscores and
alphanumeric characters and must be
unique in an EmbeddedServiceConfig setup.
It must begin with a letter, not include
spaces, not end with an underscore, and
not contain two consecutive underscores.
A description of the customization.stringdescription
Required. The reference to the static
resource that contains the javascript file of
the customization.
EmbeddedServiceResource on page 825[]embeddedServiceResources
EmbeddedServiceResource
Returns the static resource associated with the Embedded Service Chat feature customization. Available in API version 50.0 and later.
825
EmbeddedServiceMenuSettingsMetadata Types
DescriptionField TypeField Name
Required. The ID of the static resource that
contains the javascript file of the
customization.
stringresource
Required. The embedded service feature to
customize. Only the Chat feature is
supported. Valid values are:
EmbeddedServiceResourceType
(enumeration of type string)
resourceType
ChatInvitation
EmbeddedServiceMenuItem
Represents an item in a channel menu.
DescriptionField TypeField Name
The ID of the channel type. If channelType is
Phone or CustomURL, this field is null.
stringchannel
The type of communication channel. Values are:EmbeddedServiceChannelType
(enumeration of type string)
channelType
EmbeddedMessaging
EmbeddedServiceConfig
MessagingChannel
Phone
CustomURL
A custom URL that appears in the menu. The
shouldOpenUrlInSameTab field determines
where the URL opens.
stringcustomUrl
The items order in the menu, such as 1 or 2.intdisplayOrder
Represents the custom labels used in your channel
menu item.
EmbeddedServiceCustomLabel[]embeddedServiceCustomLabels
The icon URL for the menu item. Icons can be used
only for phone, SMS, custom URL, and chat menu
items.
stringiconUrl
If true, the menu item is displayed on page load.
Available in API version 49.0 and later.
booleanisDisplayedOnPageLoad
A unique custom name for the menu item, which is
visible in the user interface.
stringitemName
If true, the menu item is hidden in iOS.booleanosOptionsHideInIOS
If true, the menu item is hidden in Linux operating
system.
booleanosOptionsHideInLinuxOS
826
EmbeddedServiceMenuSettingsMetadata Types
DescriptionField TypeField Name
If true, the menu item is hidden in Mac operating
system.
booleanosOptionsHideInMacOS
If true, the menu item is hidden in any operating
system other than iOS, Linux, Mac, and Windows.
booleanosOptionsHideInOtherOS
If true, the menu item is hidden in Windows
operating system.
booleanosOptionsHideInWindowsOS
The phone number for menu items whose
channelType is Phone.
stringphoneNumber
If the menu items channelType is CustomURL,
this field indicates whether the link opens in the same
tab (true) or a new tab (false).
booleanshouldOpenUrlInSameTab
Declarative Metadata Sample Definition
The following is an example of an EmbeddedServiceMenuSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<EmbeddedServiceMenuSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<embeddedServiceCustomLabels>
<customLabel>CM_Container_Header_Primary_Greeting_3MsRM0000004CB5_6181150</customLabel>
<labelKey>CM_Container_Header_Primary_Greeting</labelKey>
</embeddedServiceCustomLabels>
<embeddedServiceCustomLabels>
<customLabel>CM_Container_Header_Secondary_Greeting_3MsRM0000004CB5_4637097</customLabel>
<labelKey>CM_Container_Header_Secondary_Greeting</labelKey>
</embeddedServiceCustomLabels>
<embeddedServiceMenuItems>
<channel>Chat</channel>
<channelType>EmbeddedServiceConfig</channelType>
<displayOrder>1</displayOrder>
<embeddedServiceCustomLabels>
<customLabel>CM_Container_MenuItems_WebChatUnavailable_3miRM0000004CuZ_8003848</customLabel>
<labelKey>CM_Container_MenuItems_WebChatUnavailable</labelKey>
</embeddedServiceCustomLabels>
<embeddedServiceCustomLabels>
<customLabel>CM_Container_MenuItems_WebChatAvailable_3miRM0000004CuZ_5823055</customLabel>
<labelKey>CM_Container_MenuItems_WebChatAvailable</labelKey>
</embeddedServiceCustomLabels>
<itemName>Chat1</itemName>
<osOptionsHideInIOS>false</osOptionsHideInIOS>
827
EmbeddedServiceMenuSettingsMetadata Types
<osOptionsHideInLinuxOS>true</osOptionsHideInLinuxOS>
<osOptionsHideInMacOS>false</osOptionsHideInMacOS>
<osOptionsHideInOtherOS>false</osOptionsHideInOtherOS>
<osOptionsHideInWindowsOS>true</osOptionsHideInWindowsOS>
<shouldOpenUrlInSameTab>false</shouldOpenUrlInSameTab>
</embeddedServiceMenuItems>
<embeddedServiceMenuItems>
<channelType>Phone</channelType>
<displayOrder>2</displayOrder>
<itemName>Phone1</itemName>
<osOptionsHideInIOS>true</osOptionsHideInIOS>
<osOptionsHideInLinuxOS>false</osOptionsHideInLinuxOS>
<osOptionsHideInMacOS>true</osOptionsHideInMacOS>
<osOptionsHideInOtherOS>false</osOptionsHideInOtherOS>
<osOptionsHideInWindowsOS>false</osOptionsHideInWindowsOS>
<phoneNumber>1234567890</phoneNumber>
<shouldOpenUrlInSameTab>false</shouldOpenUrlInSameTab>
</embeddedServiceMenuItems>
<embeddedServiceMenuItems>
<channelType>CustomURL</channelType>
<customUrl>https://google.com</customUrl>
<displayOrder>3</displayOrder>
<itemName>url1</itemName>
<osOptionsHideInIOS>false</osOptionsHideInIOS>
<osOptionsHideInLinuxOS>false</osOptionsHideInLinuxOS>
<osOptionsHideInMacOS>false</osOptionsHideInMacOS>
<osOptionsHideInOtherOS>false</osOptionsHideInOtherOS>
<osOptionsHideInWindowsOS>false</osOptionsHideInWindowsOS>
<shouldOpenUrlInSameTab>false</shouldOpenUrlInSameTab>
</embeddedServiceMenuItems>
<isEnabled>true</isEnabled>
<masterLabel>ChannelMenuSettings</masterLabel>
<site>SnapInCommunity</site>
</EmbeddedServiceMenuSettings>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
EnablementMeasureDefinition
Represents an Enablement measure, which specifies the job-related activity that a user performs to complete a milestone or outcome
in an Enablement program. A measure identifies a source object and optional related objects, with optional field filters and filter logic,
for tracking the activity. To avoid deployment errors, deploy measures before you deploy programs.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
828
EnablementMeasureDefinitionMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
EnablementMeasureDefinition components have the suffix .enablementMeasureDefinition and are stored in the
enablementMeasureDefinitions folder.
Version
EnablementMeasureDefinition components are available in API version 61.0 and later.
Special Access Rules
To access Enablement measures, the Design and Deliver Enablement Programs permission is required. This permission is available with
the Enablement add-on license.
Fields
DescriptionField Name
Field Type
string
description
Description
An internal description for the measure to help Enablement admins understand the
activity thats tracked.
Field Type
string
developerName
Description
Required. The unique programmatic name for the measure record.
Field Type
string
masterLabel
Description
Required. A user-friendly name for the measure, which is defined when the measure
is created.
Field Type
EnablementMeasureSourceObjectDefinition
sourceMeasureObject
Description
Required. The source object that tracks the activity you're measuring.
829
EnablementMeasureDefinitionMetadata Types
DescriptionField Name
Field Type
EnblProgramMeasureStatus (enumeration of type string)
status
Description
Required. Indicates whether the measure is published for use in Enablement programs.
Values are:
DraftThe measure is saved, but not activated for use in programs.
PublishedThe measure is activated for use in programs. In Lightning
Experience, this value is Active.
EnablementMeasureSourceObjectDefinition
Defines the source object, fields, field values, and calculation method for the job-related activity youre measuring.
DescriptionField Name
Field Type
string
aggregateFieldApiName
Description
The unique programmatic name for the field that the aggregateFunction uses
for calculating.
For example, if youre measuring how much revenue a sales rep has won, the value
of aggregateFunction is Sum and the value of aggregateFieldApiName
is Amount, which is the programmatic name of the Amount field on the Opportunity
object.
Field Type
EnablementAggregationType (enumeration of type string)
aggregateFunction
Description
Required. The method for calculating progress towards the milestone or outcome
from records that qualify for the measures criteria.
Values are:
Average
Count
Sum
For example, if youre measuring the number of deals won, the function is Count.
If the function is Average or Sum, aggregateFieldApiName is required.
Field Type
string
dateFieldApiName
830
EnablementMeasureDefinitionMetadata Types
DescriptionField Name
Description
Required. The unique programmatic name for the field that defines when users get
credit for the activity youre measuring. For example, if youre measuring the number
of deals won, this value can be ClosedDate, the programmatic name of the Close
Date field on the Opportunity object.
Field Type
string
displayFieldApiName
Description
Required. The unique programmatic name for the field that primarily identifies records
that qualify for the activity youre measuring. For example, if youre measuring the
number of deals won, youre tracking the Opportunity object, and maybe you want
to identify opportunities by their name. In this case, this field can be Name, the
programmatic name of the Opportunity Name field on the Opportunity object.
Field Type
string
filterLogic
Description
An expression that determines how to evaluate the optional field filters for the object.
Field Type
EnablementMeasureFilterDefinition[]
filters
Description
The fields on the object and corresponding field values that further specify criteria for
the activity youre measuring.
Field Type
string
objectApiName
Description
Required. The unique programmatic name for the source object that tracks the activity
youre measuring. For example, if youre measuring the number of deals won, this
value is Opportunity, the programmatic name of the Opportunity object.
Field Type
EnablementMeasureRelatedObjectDefinition[]
relatedMeasureObjects
Description
The optional related objects that further specify criteria for the activity youre measuring.
Related objects can also specify additional filters.
Field Type
string
userFieldApiName
831
EnablementMeasureDefinitionMetadata Types
DescriptionField Name
Description
Required. The unique programmatic name for the field that defines who gets credit
for the activity youre measuring. For example, if youre measuring the number of deals
won by a sales rep, this value can be OwnerId, the developer name of the
Opportunity Owner field on the Opportunity object.
EnablementMeasureFilterDefinition
Represents the fields on the source object or related objects and the corresponding field values that further specify criteria for the activity
youre measuring.
DescriptionField Name
Field Type
string
fieldApiName
Description
Required. The unique programmatic name for the field that youre filtering by. For
example, if youre tracking activity on the Opportunity object and want to filter by the
Stage field, this value can be StageName.
Field Type
string
fieldValue
Description
Required. The field value to filter by. For example, if youre tracking activity on the
Opportunity object and want to filter by the Stage field, this value can be Closed
Won.
Field Type
EnablementFilterOperator (enumeration of type string)
operator
Description
Required. The logic for evaluating the specified field and field value.
Values are:
Contains
DoesNotContain
DoesNotEqual
EndsWith
Equals
GreaterThan
GreaterThanOrEqual
In
832
EnablementMeasureDefinitionMetadata Types
DescriptionField Name
IsNull
LessThan
LessThanOrEqual
NotIn
StartsWith
Field Type
int
sequenceNumber
Description
Required. A number that specifies the order of the filter, relative to other filters, starting
at 1.
EnablementMeasureRelatedObjectDefinition
Represents objects related to the source object. Related objects can further specify criteria for the activity youre measuring. Related
objects can also have additional filters. For example, maybe youre measuring deals won for a specific product line. In this case, the source
object is Opportunity, the related object is Opportunity Product, and the related object can have a filter for the specific product name.
DescriptionField Name
Field Type
string
filterLogic
Description
An expression that determines how to evaluate the optional field filters for the object.
Field Type
EnablementMeasureFilterDefinition[]
filters
Description
The fields on the related object and the corresponding field values that further specify
criteria for the activity youre measuring.
Field Type
string
idFieldApiName
Description
Required. The programmatic name of the field that links the related object to the
primary object. For example, if the primary object is Opportunity and the related object
is Opportunity Product, this value is OpportunityId, the developer name of the
Opportunity field on the Opportunity Product object.
Field Type
string
objectApiName
833
EnablementMeasureDefinitionMetadata Types
DescriptionField Name
Description
Required. The unique programmatic name for the related object. For example, if the
related object is Opportunity Product, this value is OpportunityLineItem.
Declarative Metadata Sample Definition
The following is an example of an EnablementMeasureDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<EnablementMeasureDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Total amount in pipeline measure</description>
<developerName>TotalAmountInPipeline</developerName>
<masterLabel>Total Amount in Pipeline</masterLabel>
<status>Draft</status>
<sourceMeasureObject>
<aggregateFieldApiName>Amount</aggregateFieldApiName>
<aggregateFunction>Sum</aggregateFunction>
<dateFieldApiName>CreatedDate</dateFieldApiName>
<displayFieldApiName>Name</displayFieldApiName>
<objectApiName>Opportunity</objectApiName>
<userFieldApiName>OwnerId</userFieldApiName>
<filters>
<fieldApiName>StageName</fieldApiName>
<fieldValue>Closed Won</fieldValue>
<operator>Equals</operator>
<sequenceNumber>1</sequenceNumber>
</filters>
<relatedMeasureObjects>
<objectApiName>OpportunityLineItem</objectApiName>
<idFieldApiName>OpportunityId</idFieldApiName>
<filterLogic>1 OR 2</filterLogic>
<filters>
<fieldApiName>UnitPrice</fieldApiName>
<fieldValue>10000</fieldValue>
<operator>GreaterThan</operator>
<sequenceNumber>1</sequenceNumber>
</filters>
<filters>
<fieldApiName>TotalPrice</fieldApiName>
<fieldValue>10000</fieldValue>
<operator>GreaterThan</operator>
<sequenceNumber>2</sequenceNumber>
</filters>
</relatedMeasureObjects>
</sourceMeasureObject>
</EnablementMeasureDefinition>
834
EnablementMeasureDefinitionMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>TotalAmountInPipeline</members>
<name>EnablementMeasureDefinition</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EnablementProgramDefinition
Represents an Enablement program, which includes exercises and measurable milestones to help users such as sales reps achieve specific
outcomes related to your companys revenue goals.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
EnablementProgramDefinition components have the suffix .enablementProgramDefinition and are stored in the
enablementProgramDefinitions folder.
Version
EnablementProgramDefinition components are available in API version 61.0 and later.
Special Access Rules
To access Enablement programs, the Design and Deliver Enablement Programs permission is required. This permission is available with
the Enablement add-on license.
For partner programs in supported Experience Cloud sites, a supported Partner Relationship Management (PRM) add-on license is also
required.
835
EnablementProgramDefinitionMetadata Types
Fields
DescriptionField Name
Field Type
string
description
Description
Required. A summary of the programs goals and content thats visible to users.
Field Type
string
developerName
Description
Required. The unique programmatic name for the program record.
Field Type
boolean
doesAllowSelfEnrollment
Description
Indicates whether users can self-enroll in programs that are shared with them (true)
or take only assigned programs (false). The default value is false.
Field Type
string
masterLabel
Description
Required. A user-friendly name for the program, which is defined when the program
is created.
Field Type
string
name
Description
Required. The name of the program thats visible to users.
Field Type
string
network
Description
The Experience Cloud site where a program is published for partner users.
Field Type
EnablementProgramSection[]
sections
Description
Groups of milestones and exercises within a program.
Field Type
EnablementProgramTask[]
tasks
836
EnablementProgramDefinitionMetadata Types
DescriptionField Name
Description
The outcome, milestones, and exercises in the program.
Field Type
string
type
Description
Required. Indicates whether the program is for sales users in Lightning Experience
(Enablement) or partner users in supported Experience Cloud sites
(PtnrEnablement).
EnablementProgramSection
Represents a logical, trackable group of milestones and exercises within an Enablement program. When users take programs, they can
expand or collapse sections.
DescriptionField Name
Field Type
string
developerName
Description
Required. The unique programmatic name for the section.
Field Type
string
name
Description
Required. The title of the section thats visible to users when they take the program.
Field Type
int
sequenceNumber
Description
Required. A number that specifies the order of the section, relative to other sections,
starting at 0.
Field Type
EnablementProgramTask[]
tasks
Description
The milestones and exercises in the section.
EnablementProgramTask
Represents an outcome, milestone, or exercise in an Enablement program. A program task is also known as a program item.
837
EnablementProgramDefinitionMetadata Types
DescriptionField Name
Field Type
int
day
Description
Required. The day of the program when the item is due, relative to the program's start
date. For example, if a user is expected to complete an exercise where they watch a
product demo by day 2, this fields value is 2. For an outcome, this field specifies the
number of days the full program takes. For example, if your program lasts 60 days, the
value of this field is 60 for the outcome. This fields value contributes to the programs
due date that users see when they take the program.
Field Type
string
description
Description
Required. A summary of the outcome, milestone, or exercise thats visible to users
when they take the program.
Field Type
string
developerName
Description
Required. The unique programmatic name for the outcome, milestone, or exercise.
Field Type
EnablementProgramTaskExercise
exercise
Description
The content used with an exercise.
If taskSubCategory is ActionItem, this field isnt included when retrieving
metadata.
Field Type
EnablementProgramTaskMilestone
milestone
Description
The definition of an outcome or milestone, including the Enablement measures used
and the criteria for completing the goal.
Field Type
string
name
Description
Required. The title of the outcome, milestone, or exercise thats visible to users when
they take the program.
Field Type
int
sequenceNumber
838
EnablementProgramDefinitionMetadata Types
DescriptionField Name
Description
Required. A number that specifies the order of the milestone or exercise, relative to
other milestones or exercises that have the same due date in the program or in the
same section, starting at 0. This number determines the order of items that users see
for that day in the program.
Field Type
ProgramTaskDefCategory (enumeration of type string)
taskCategory
Description
Required. The type of the program item.
Values are:
Exercise
Milestone
Milestone is used for both the programs final outcome and incremental milestones.
Field Type
string
taskSubCategory
Description
Required. The type of exercise. This value determines the content associated with the
exercise. For example, if the field value is Video, the exercise must reference video
content from the Enablement workspace in the Digital Experiences app. Possible values
are:
ActionItem
AudioRecording
Document
FeedbackRequest
Other
OtherExercise
ScheduledEvent
TextLesson
Trailhead
Video
When taskCategory is Milestone, the value of taskSubCategory must
be Other.
EnablementProgramTaskExercise
Represents the content used with an exercise in an Enablement program.
839
EnablementProgramDefinitionMetadata Types
DescriptionField Name
Field Type
EnablementProgramTaskCmsContent
cmsContent
Description
The definition of content managed in the Enablement workspace in the Digital
Experiences app when taskSubCategory on EnablementProgramTask is
AudioRecording, Document, OtherExercise, ScheduledEvent,
TextLesson, or Video.
Field Type
EnablementProgramTaskExternalContent
externalContent
Description
The definition of Trailhead content when taskSubCategory on
EnablementProgramTask is Trailhead.
Field Type
EnablementProgramTaskFeedbackContent
feedbackContent
Description
The definition of an assessment survey or Einstein prompt template when
taskSubCategory on EnablementProgramTask is FeedbackRequest.
EnablementProgramTaskCmsContent
Defines content managed in the Enablement workspace in the Digital Experiences app for the Audio Recording, Document, Other,
Scheduled Event, Text Lesson, or Video exercise types.
DescriptionField Name
Field Type
string
contentKey
Description
Required. The unique programmatic ID of the Digital Experiences content for the
exercise.
EnablementProgramTaskExternalContent
Defines Trailhead content for the Trailhead exercise type.
DescriptionField Name
Field Type
string
externalId
840
EnablementProgramDefinitionMetadata Types
DescriptionField Name
Description
Required. The API name of the Trailhead module used with the exercise.
Field Type
ProgramExtContentDefProvider (enumeration of type string)
providerType
Description
Required. The supported external content platform or system.
Values are:
Trailhead
EnablementProgramTaskFeedbackContent
Defines the assessment survey or Einstein prompt template for the Feedback Request exercise type.
DescriptionField Name
Field Type
int
inviteeCount
Description
The number of peers or managers that the user is required to invite for giving feedback
when type is PeerFeedback. Each peer or manager receives an invitation to the
assessment survey associated with the Feedback Request exercise.
When type is AIFeedback, this value is always 1.
Field Type
string
promptTemplate
Description
The prompt template to use with this exercise when type is AIFeedback.
Field Type
string
surveyDeveloperName
Description
The unique programmatic name for the assessment survey thats sent to peers and
managers when type is PeerFeedback.
Field Type
string
type
Description
Required. The type of feedback used with the exercise.
Values are:
841
EnablementProgramDefinitionMetadata Types
DescriptionField Name
AIFeedbackUsers submit a video call, and Einstein generates feedback from
the calls transcription. With this type, promptTemplate is required.
PeerFeedbackUsers submit a URL to a sample of their work, and select
peers and managers to review their work. Selected peers and managers complete
an assessment survey. With this type, surveyId is required.
EnablementProgramTaskMilestone
Defines the requirements for an outcome or milestone, including the Enablement measures used for tracking activity and the criteria
for completing the outcome or milestone.
DescriptionField Name
Field Type
EnblCompositeMilestoneType (enumeration of type string)
compositeMilestoneType
Description
The type of logic to use for evaluating the activity from two Enablement measures in
a composite milestone.
Values are:
Addition
Division
Percentage
Field Type
boolean
isMilestoneAnOutcome
Description
Required. Indicates whether the program item is the programs final outcome (true)
or an incremental milestone (false).
Field Type
EnablementProgramTaskMilestoneMeasure[]
milestoneMeasures
Description
The Enablement measures used with the outcome or milestone.
Field Type
double
milestoneTarget
Description
The target value for a user to achieve to get credit for completing the outcome or
milestone. The unit depends on the specific measure used with the outcome or
milestone. For example, if the measure is the dollar amount of all closed opportunities,
then the field value is measured in dollars.
842
EnablementProgramDefinitionMetadata Types
DescriptionField Name
Field Type
int
minimumSampleSize
Description
The number of records to evaluate when calculating progress for an outcome or
milestone that uses an average-based measure. Use this field with
milestoneTarget. For example, if you want users to achieve an average deal
size of $50,000 after closing 4 deals, then this fields value is 4 and
milestoneTarget is 50000.
EnablementProgramTaskMilestoneMeasure
Defines the Enablement measure used with an outcome or milestone.
DescriptionField Name
Field Type
string
measureDefinitionDeveloperName
Description
The unique programmatic name of the Enablement measure used with the outcome
or milestone.
Field Type
int
sequenceNumber
Description
A number that specifies the order of the Enablement measure when multiple measures
are used with one outcome or milestone, starting at 0. For example, in a composite
milestone that uses the Percentage function, the measure that provides the numerator
value is sequence 0 and the measure that provides the denominator value is sequence
1.
Declarative Metadata Sample Definition
The following is an example of an EnablementProgramDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<EnablementProgramDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Get started with sales at Cloud Kicks and close your first
deal!</description>
<developerName>Get_Started_Close_First_Deal_Program</developerName>
<doesAllowSelfEnrollment>false</doesAllowSelfEnrollment>
<masterLabel>Welcome to Sales at Cloud Kicks</masterLabel>
<name>Welcome to Sales at Cloud Kicks</name>
<sections>
<developerName>section_2a044cfa_42b5_4469_bbf5_261a8643f664</developerName>
843
EnablementProgramDefinitionMetadata Types
<name>Learn the Ropes in Your First Week</name>
<sequenceNumber>0</sequenceNumber>
<tasks>
<day>1</day>
<description>Learn the basics of sales at Cloud Kicks.</description>
<developerName>task_698d5b14_c5c1_4c5e_9006_14df26d97ac7</developerName>
<exercise>
<externalContent>
<externalId>sales-rep-training</externalId>
<providerType>Trailhead</providerType>
</externalContent>
</exercise>
<name>Sales Rep Training</name>
<sequenceNumber>0</sequenceNumber>
<taskCategory>Exercise</taskCategory>
<taskSubCategory>Trailhead</taskSubCategory>
</tasks>
<tasks>
<day>2</day>
<description>Watch our CEO explain the company vision.</description>
<developerName>task_ec7793e3_3bd5_43eb_8ba4_d8a526c7b78c</developerName>
<exercise>
<cmsContent>
<contentKey>MCFHN7EKKKUJBOPLXMJWZ7XWK3LA</contentKey>
</cmsContent>
</exercise>
<name>See Our Company Vision</name>
<sequenceNumber>1</sequenceNumber>
<taskCategory>Exercise</taskCategory>
<taskSubCategory>Video</taskSubCategory>
</tasks>
<tasks>
<day>3</day>
<description>Action Item</description>
<developerName>task_0aa20778_dfdd_4999_a17d_864f46073b4c</developerName>
<name>Action Item</name>
<sequenceNumber>2</sequenceNumber>
<taskCategory>Exercise</taskCategory>
<taskSubCategory>ActionItem</taskSubCategory>
</tasks>
<tasks>
<day>4</day>
<description>Try out your first sales patch at Cloud Kicks and get feedback
from our in-house experts.</description>
<developerName>task_bfa29142_7c66_431a_b668_db948bca07c0</developerName>
<exercise>
<feedbackContent>
<inviteeCount>1</inviteeCount>
<surveyDeveloperName>discovery_call_assessment</surveyDeveloperName>
</feedbackContent>
</exercise>
<name>Feedback from Peers and Managers</name>
<sequenceNumber>3</sequenceNumber>
<taskCategory>Exercise</taskCategory>
844
EnablementProgramDefinitionMetadata Types
<taskSubCategory>FeedbackRequest</taskSubCategory>
</tasks>
<tasks>
<day>5</day>
<description>Complete a discovery calls by day 5.</description>
<developerName>task_9613fe33_8004_4e73_b7d5_938184ffe5d0</developerName>
<isMilestoneAnOutcome>false</isMilestoneAnOutcome>
<milestone>
<milestoneMeasures>
<measureDefinitionDeveloperName>salesforceTemplate_CallsEmails</measureDefinitionDeveloperName>
</milestoneMeasures>
<milestoneTarget>1.0</milestoneTarget>
</milestone>
<name>Log a Discovery Call by Day 5</name>
<sequenceNumber>4</sequenceNumber>
<taskCategory>Milestone</taskCategory>
<taskSubCategory>Other</taskSubCategory>
</tasks>
<tasks>
<day>6</day>
<description>Browse our sales leaders blog for more insights.</description>
<developerName>task_27921899_94e6_470a_8896_9f08b9b176e6</developerName>
<exercise>
<cmsContent>
<contentKey>MC7VUB2BYTA5FKFLNNX7EYORYEYE</contentKey>
</cmsContent>
</exercise>
<name>Review Tips from Sales Leaders</name>
<sequenceNumber>7</sequenceNumber>
<taskCategory>Exercise</taskCategory>
<taskSubCategory>OtherExercise</taskSubCategory>
</tasks>
</sections>
<tasks>
<day>30</day>
<description>Close your first opportunity. Take make sure it's counted, set the
opportunity Stage field to Closed Won.</description>
<developerName>task_enablementProgramOutcomeCard</developerName>
<isMilestoneAnOutcome>true</isMilestoneAnOutcome>
<milestone>
<milestoneMeasures>
<measureDefinitionDeveloperName>measure_CloseFirstDeal</measureDefinitionDeveloperName>
</milestoneMeasures>
<milestoneTarget>1.0</milestoneTarget>
</milestone>
<name>outcome</name>
<sequenceNumber>0</sequenceNumber>
<taskCategory>Milestone</taskCategory>
<taskSubCategory>Other</taskSubCategory>
</tasks>
845
EnablementProgramDefinitionMetadata Types
<type>Enablement</type>
</EnablementProgramDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Get_Started_Close_First_Deal_Program</members>
<name>EnablementProgramDefinition</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EntitlementProcess
Represents the settings for an entitlement process.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Entitlement process values are stored in files in the entitlementProcesses directory. Each file has the name of a process and
the suffix .entitlementProcess. Each file contains one entitlement process or, if entitlement versioning is enabled, one version
of an entitlement process.
The name of the file is the name of the entitlement process with the version appended to the end, if applicable (for example, an entitlement
process named gold_support can have the file name gold_support_v2.entitlementProcess). This file name corresponds to the
slaProcess.NameNorm field exposed through SOAP API. This file name is distinct from the name field, which represents what
displays in the user interface and, if versioning is enabled, can be shared among multiple versions of the same entitlement process. The
slaProcess.NameNorm field contains the lowercase version of the name field shown in the user interface.
Version
Entitlement processes are available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the entitlement process is active
(true) or not (false).
booleanactive
846
EntitlementProcessMetadata Types
DescriptionField TypeField Name
The business hours that apply to the entitlement process.
This field is available in API version 30.0 and later.
stringbusinessHours
The description of the entitlement process.stringdescription
For milestone processes on which a case enters the
process based on a custom date/time field on the case,
specifies which date and time are used. Valid values are:
stringentryStartDateField
SlaStartDate (entitlement process start date)
CreatedDate (date case was opened)
ClosedDate (date case was closed)
LastModifiedDate (date case was last modified)
StopStartDate (date case was stopped)
For milestone processes on which a case exits the process
when custom criteria are met, and for which filter logic
is added, specifies that logic.
stringexitCriteriaBooleanFilter
For milestone processes on which a case exits the process
when custom criteria are met, specifies those criteria.
FilterItem[]exitCriteriaFilterItems
For milestone processes on which a case exits the process
when a custom formula evaluates to true, specifies that
formula.
stringexitCriteriaFormula
Indicates whether the entitlement process is the default
version (true) or not (false).
This field is available in API version 28.0 and later.
booleanisVersionDefault
Represents a milestone on the entitlement process.EntitlementProcessMilestoneItem[]milestones
The name of the entitlement process as it displays in the
user interface.
stringname
Indicates the type of record that the entitlement process
can run on.
stringSObjectType
Identifies the sequence of versions to which this
entitlement process belongs. This fields contents can be
stringversionMaster
any value as long as its identical among all versions of
the entitlement process.
This field is available in API version 28.0 and later.
The description of the entitlement process version.
This field is available in API version 28.0 and later.
stringversionNotes
847
EntitlementProcessMetadata Types
DescriptionField TypeField Name
The version number of the entitlement process. Must be
1 or greater.
This field is available in API version 28.0 and later.
intversionNumber
EntitlementProcessMilestoneItem
Represents a milestone item on an entitlement process.
Fields
DescriptionField TypeField Name
The business hours that apply to the milestone.
This field is available in API version 30.0 and later.
stringbusinessHours
For milestones that apply only when criteria are met
and for which filter logic is added, specifies that logic.
stringcriteriaBooleanFilter
For milestones that apply only when criteria are met,
specifies those criteria.
FilterItem[]milestoneCriteriaFilterItems
For milestones that apply only when a formula
evaluates to true, specifies that formula.
stringmilestoneCriteriaFormula
The name of the milestone.stringmilestoneName
The name of the Apex class that is used to calculate
the trigger time. This field is available in API version
30.0 and later.
stringminutesCustomClass
The number of minutes from when the case enters the
entitlement process that the milestone occurs.
intminutesToComplete
The actions triggered when the milestone is completed.WorkflowActionReference[]successActions
The time triggers on an entitlement process milestone.EntitlementProcessMilestoneTimeTrigger[]timeTriggers
When the milestone starts: when the milestone criteria
are met (true) or when the case enters the entitlement
process (false).
booleanuseCriteriaStartTime
EntitlementProcessMilestoneTimeTrigger
Represents the time trigger on an entitlement process milestone.
848
EntitlementProcessMetadata Types
Fields
DescriptionField TypeField Name
The actions to take when the time trigger is reached, if, at that time,
the milestone isnt completed.
WorkflowActionReference[]actions
The length of time between the time trigger activation and the
milestone target completion date. This length of time can be a
inttimeLength
negative or positive value. Negative values indicate that the target
completion date hasnt yet arrived and correspond to warning time
triggers. Positive values indicate that the target completion date has
passed and correspond to violation time triggers.
Specifies the type of unit used to determine when a workflow is
triggered. Valid values are:
MilestoneTimeUnits
(enumeration of type
string)
workflowTimeTriggerUnit
Minutes
Hours
Days
Declarative Metadata Sample Definition
Heres a sample entitlement process.
<?xml version="1.0" encoding="UTF-8"?>
<EntitlementProcess xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<description>eppersone</description>
<entryStartDateField>SlaStartDate</entryStartDateField>
<exitCriteriaBooleanFilter>1 OR 2</exitCriteriaBooleanFilter>
<exitCriteriaFilterItems>
<field>Case.IsClosed</field>
<operation>equals</operation>
<value>true</value>
</exitCriteriaFilterItems>
<exitCriteriaFilterItems>
<field>Case.Description</field>
<operation>startsWith</operation>
<value>foo</value>
</exitCriteriaFilterItems>
<milestones>
<milestoneName>m1</milestoneName>
<minutesToComplete>1</minutesToComplete>
<successActions>
<name>emailBob</name>
<type>Alert</type>
</successActions>
<timeTriggers>
<actions>
<name>emailAlice</name>
<type>Alert</type>
849
EntitlementProcessMetadata Types
</actions>
<actions>
<name>setEscalateToTrue</name>
<type>FieldUpdate</type>
</actions>
<timeLength>1</timeLength>
<workflowTimeTriggerUnit>Minutes</workflowTimeTriggerUnit>
</timeTriggers>
<timeTriggers>
<actions>
<name>setStopToTrue</name>
<type>FieldUpdate</type>
</actions>
<timeLength>2</timeLength>
<workflowTimeTriggerUnit>Minutes</workflowTimeTriggerUnit>
</timeTriggers>
<useCriteriaStartTime>false</useCriteriaStartTime>
</milestones>
<milestones>
<milestoneCriteriaFilterItems>
<field>Case.Priority</field>
<operation>equals</operation>
<value>High</value>
</milestoneCriteriaFilterItems>
<milestoneName>m2</milestoneName>
<minutesToComplete>120</minutesToComplete>
<useCriteriaStartTime>true</useCriteriaStartTime>
<successActions>
<name>emailBob</name>
<type>Alert</type>
</successActions>
</milestones>
</EntitlementProcess>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EntitlementTemplate
Represents an entitlement template. Entitlement templates are predefined terms of customer support that you can quickly add to
products. For example, you can create entitlement templates for Web or phone support so that users can easily add entitlements to
products offered to customers.
EntitlementTemplate extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
EntitlementTemplate components are stored in the entitlementTemplates directory of the corresponding package directory.
The file name matches the unique name of the entitlement template, and the extension is .entitlementTemplate.
850
EntitlementTemplateMetadata Types
Version
Lightning Platform EntitlementTemplate components are available in API version 18.0 and higher.
Fields
DescriptionField TypeField
The entitlement's supported business hours.stringbusinessHours
Lets you limit the number of cases the entitlement supports.intcasesPerEntitlement
The entitlement process associated with the entitlement.stringentitlementProcess
true if entitlements created from this template service a
limited number of cases; false otherwise.
booleanisPerIncident
The number of days the entitlement is in effect.intterm
The type of entitlement, such as Web or phone support.stringtype
Declarative Metadata Sample Definition
A sample XML definition of an entitlement template is shown below.
<?xml version="1.0" encoding="UTF-8"?>
<EntitlementTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<businessHours>AlternateBusinessHours</businessHours>
<casesPerEntitlement>12</casesPerEntitlement>
<entitlementProcess>Process1</entitlementProcess>
<isPerIncident>true</isPerIncident>
<term>33</term>
<type>Phone Support</type>
</EntitlementTemplate>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EscalationRules
Represents case escalation rules to escalate cases automatically if they arent resolved within a certain time. You can access rules metadata
for all applicable objects, for a specific object, or for a specific rule on a specific object.
The package.xml syntax for accessing all escalation rules for all objects is:
<types>
<members>*</members>
<name>EscalationRules</name>
</types>
851
EscalationRulesMetadata Types
All rules for a specific object use a similar syntax without the wildcard. For example, all escalation rules for the Case object would use
this syntax:
<types>
<members>Case</members>
<name>EscalationRules</name>
</types>
You can also access specific escalation rules for an object. The following example only accesses the samplerule and newrule escalation
rules on the Case object. Notice that for this example the type name syntax is EscalationRule and not EscalationRules.
<types>
<members>Case.samplerule</members>
<members>Case.newrule</members>
<name>EscalationRule</name>
</types>
File Suffix and Directory Location
EscalationRules for an object have the suffix .escalationRules and are stored in the escalationRules folder. For example,
all Case escalation rules are stored in the Case.escalationRules file.
Version
EscalationRules components are available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Represents one escalation rule and specifies whether its active or not.
Escalation rules are processed in the order they appear in the
EscalationRules container.
EscalationRule[] on
page 852
escalationRule
EscalationRule
DescriptionField TypeField Name
Indicates whether the escalation rule is active (true) or
not (false).
booleanactive
Inherited from Metadata, this field is defined in the WSDL
for this metadata type. It must be specified when creating,
stringfullname
updating, or deleting. See createMetadata() to see
an example of this field specified for a call.
This value can't be null.
Contains the definitions of the rule entries in the escalation
rule.
RuleEntry[]ruleEntry
852
EscalationRulesMetadata Types
RuleEntry
Represents the fields used by the rule.
DescriptionField TypeField Name
Advanced filter conditions that were specified for the rule.stringbooleanFilter
The hours when escalation actions are performed. Specify
only if businessHoursSource is set to Static.
stringbusinessHours
Valid values are:BusinessHoursSourceType
(enumerations of type string)
businessHoursSource
None
Case
Static
The items in the list that define the assignment criteria.FilterItemcriteriaItems
Indicates whether the escalation is disabled when the
record is modified true) or not (false).
booleandisableEscalationWhenModified
The actions to perform when the escalation criteria are met.EscalationAction[]escalationAction
Indicates the start time for the escalation. Valid values are:EscalationStartTimeType
(enumeration of type string)
escalationStartTime
CaseCreation
CaseLastModified
The validation formula.
Specify either formula or criteriaItems, but not
both fields.
stringformula
EscalationAction
Describes the action to take for an escalation rule.
DescriptionField TypeField Name
The name of the user or queue the item is assigned to.stringassignedTo
Specifies the template to use for the email that is
automatically sent to the new owner specified by the
escalation rule.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringassignedToTemplate
Valid values are:AssignToLookupValueType
(enumeration of type string)
assignedToType
User
Queue
853
EscalationRulesMetadata Types
DescriptionField TypeField Name
The number of minutes until the escalation occurs.intminutesToEscalation
Indicates that the owner of the case is notified when the
case is escalated true) or not (false).
booleannotifyCaseOwner
Specifies the email address of the user to notify.stringnotifyEmail
Specifies the user to notify.stringnotifyTo
Specifies the template to user for the notification email.stringnotifyToTemplate
Declarative Metadata Sample Definition
The following is an example EscalationRules component:
<EscalationRules xmlns="http://soap.sforce.com/2006/04/metadata">
<escalationRule>
<fullName>samplerule</fullName>
<active>false</active>
<ruleEntry>
<businessHours>test</businessHours>
<businessHoursSource>Static</businessHoursSource>
<criteriaItems>
<field>Case.Description</field>
<operation>contains</operation>
<value>test</value>
</criteriaItems>
<escalationAction>
<assignedTo>[email protected]</assignedTo>
<assignedToTemplate>emailtemplatename</assignedToTemplate>
<assignedToType>User</assignedToType>
<minutesToEscalation>1440</minutesToEscalation>
<notifyCaseOwner>false</notifyCaseOwner>
</escalationAction>
<escalationStartTime>CaseLastModified</escalationStartTime>
</ruleEntry>
</escalationRule>
</EscalationRules>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EventDelivery
Represents how an event instance maps to a target payload. Removed in API version 46.0. This type extends the Metadata metadata
type and inherits its fullName field.
854
EventDeliveryMetadata Types
File Suffix and Directory Location
Event delivery components have the suffix file path .delivery, and are stored in the eventDeliveries folder.
Version
Event delivery components are available in API versions 41.0 to 45.0.
Limits
Your org can have a maximum of 2500 EventDelivery object instances.
Fields
DescriptionField TypeField Name
An array of parameters to deliver in addition to the published events data.EventParameterMap[]eventParameters
Required. The ID of the subscription to deliver the data to.stringeventSubscription
User-defined non-unique identifier.stringreferenceData
Required. Determines what action occurs when the event is delivered to the listeners on
behalf of the subscribers.
Valid values are:
EventDeliveryType
(enumeration of type
string)
type
StartFlowWhen the event occurs, its delivered to a flow of type CustomEvent.
Those flows are built through Process Builder.
ResumeFlowReserved for future use.
EventParameterMap
Parameters to deliver in addition to the published events data.
If type is StartFlow, you must include a parameter where parameterName is FlowVersionName and parameterValue
is the name of the flow that you want to start. The flow name must include its version number. For example, myFlow-3.
Each event delivery can have up to 10 parameters.
DescriptionField TypeField Name
The parameter name.stringparameterName
The parameter value.stringparameterValue
855
EventDeliveryMetadata Types
Declarative Metadata Sample Definition
The following is an example of an event delivery file.
<?xml version="1.0" encoding="UTF-8"?>
<EventDelivery xmlns="http://soap.sforce.com/2006/04/metadata">
<eventParameters>
<parameterName>FlowVersionName</parameterName>
<parameterValue>My_Event_Based_Process-1</parameterValue>
</eventParameters>
<eventSubscription>MySubscription</eventSubscription>
<referenceData>My_Event_Based_Process_1</referenceData>
<type>StartFlow</type>
</EventDelivery>
The following is an example package.xml that deploys or retrieves all the available event delivery metadata in your org.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EventDelivery</members>
<name>*</name>
</types>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EventRelayConfig
Represents the configuration of an event relay, which relays platform events and change data capture events from Salesforce to Amazon
EventBridge.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
EventRelayConfig components have the suffix .eventRelay and are stored in the eventRelays folder.
Version
EventRelayConfig components are available in API version 56.0 and later.
856
EventRelayConfigMetadata Types
Special Access Rules
You must have the Customize Application permission to deploy and retrieve this type.
You can update only the state and relayOption fields and not eventChannel or destinationResourceName.
Fields
DescriptionField Name
Field Type
string
destinationResourceName
Description
Required. The developer name of the named credential, which stores the AWS account
information. The destinationResourceName value contains the callout:
prefix. For example: callout:MyRelayNamedCredential
Field Type
string
eventChannel
Description
Required. The full name of the event channel used in the event relay. For example:
MyRelayChannel__chn
Field Type
string
label
Description
The label for the event relay. The label is displayed in the user interface. Make sure you
use a meaningful label that describes your event relay and try to make it unique.
Field Type
string
relayOption
Description
A JSON-encoded string that contains an option for resuming an event relay after the
system recovers from an error. This option is used if the event relay can't resume after
the last relayed event. The options available are:
{\"ReplayRecovery\":\"LATEST\"}(Default) Start relaying events
from new events received in the event bus. Use this option if you arent interested
in missed events while the relay was down.
{\"ReplayRecovery\":\"EARLIEST\"}Resend all events stored in
the event bus and relay new events thereafter. The event bus stores events for up
to three days. Use this option if you want to reprocess all stored events and catch
up on missed events.
Field Type
EventRelayAdminState (enumeration of type string)
state
857
EventRelayConfigMetadata Types
DescriptionField Name
Description
The execution state of the event relay. Possible values are:
RUNThe event relay is running and actively relaying event messages from
Salesforce to Amazon EventBridge.
PAUSEAn administrator paused the event relay. No events are relayed to
Amazon EventBridge during this status. All current state information is saved.
STOP(Default) The event relay is stopped and no events are relayed to Amazon
EventBridge. All current state information is deleted.
The event relay is created with a default state of STOP if you don't specify this
field. If you specify this field when creating an event relay, the only valid value you
can set is STOP.
Field Type
string
usageType
Description
Reserved for future use.
Declarative Metadata Sample Definition
The following is an example of an EventRelayConfig component with the file name Carbon_Comparison_Relay.eventRelay.
<?xml version="1.0" encoding="UTF-8"?>
<EventRelayConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<destinationResourceName>callout:AWS_Account</destinationResourceName>
<eventChannel>Carbon_Comparison_Channel__chn</eventChannel>
<label>Carbon Comparison Relay</label>
<relayOption>{\"ReplayRecovery\":\"LATEST\"}</relayOption>
<state>STOP</state>
</EventRelayConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Carbon_Comparison_Relay</members>
<name>EventRelayConfig</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
858
EventRelayConfigMetadata Types
EventSubscription
Represents a subscription to an event type. Removed in API version 46.0. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
EventSubscription components have the suffix file path .subscription, and are stored in the eventSubscriptions folder.
Version
Event subscription components are available in API versions 41.0 to 45.0.
Limits
Your org can have a maximum of:
4,000 total event subscriptions
2,000 active event subscriptions
Fields
DescriptionField TypeField Name
If the subscription isnt active, it never receives any events.booleanactive
An array of parameters that must be true for published events.EventParameterMap[]eventParameters
Required. The name of the platform event.stringeventType
Required. If the subscriber is a flow of type CustomEvent, referenceData is
flowName_versionNumber. For example, Printer_Management_2.
stringreferenceData
EventParameterMap
An array of parameters that must be true for published events. For example, subscribe to Vendor Response events only if Status__c
is Shipped.
Each event subscription can have up to 10 parameters.
DescriptionField TypeField Name
Required. The published events field name.stringparameterName
The value that must be true.stringparameterValue
859
EventSubscriptionMetadata Types
Declarative Metadata Sample Definition
The following is an example of an active event subscription.
<?xml version="1.0" encoding="UTF-8"?>
<EventSubscription xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<eventType>Printer_Status__e</eventType>
<referenceData>Printer_Management</referenceData>
</EventSubscription>
The following is an example of an inactive event subscription that sets event parameters.
<?xml version="1.0" encoding="UTF-8"?>
<EventSubscription xmlns="http://soap.sforce.com/2006/04/metadata">
<name>MySubscription</name>
<active>false</active>
<eventParameters>
<parameterName>Ink_Status__c</parameterName>
<parameterValue>low</parameterValue>
</eventParameters>
<eventParameters>
<parameterName>Serial_Number__c</parameterName>
<parameterValue>00123456789</parameterValue>
</eventParameters>
<eventType>Printer_Status__e</eventType>
<referenceData>My_Event_Based_Process_1</referenceData>
</EventSubscription>
The following is an example package.xml that deploys or retrieves all the available event subscription metadata in your org.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>EventSubscription</name>
</types>
<version>41.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExperienceBundle
Represents a text-based code structure of the settings and site components, such as pages, branding sets, and themes that make up an
Experience Builder site. Developers can quickly update and deploy Experience Builder sites programmatically using their preferred
development tools. This type extends the Metadata metadata type and inherits its fullName field.
860
ExperienceBundleMetadata Types
File Suffix and Directory Location
ExperienceBundle components have the suffix .json and are stored in the experiences folder when retrieved. Each Experience
Builder site in your org has its own folder. Each of these folders contains other folders for the supported properties.
The ExperienceBundle can contain one or more site definitions under the experiences folder. Each site definition has resource
folders for brandingSets, config, routes, themes, variations, and views, each with additional, related configuration information in JSON
files. Heres an example site definition, showing the resource folders.
Version
ExperienceBundle components are available in API version 46.0 and later.
Special Access Rules
To use the ExperienceBundle metadata type for Aura-based Experience Builder sites, from Setup, enter Digital Experiences
in the Quick Find box, and then select Settings. Select Enable ExperienceBundle Metadata API, and save your changes. LWR sites
use ExperienceBundle by default.
Fields
DescriptionField TypeField Name
The list of resources in this ExperienceBundle. Each resource represents an
artifact of a site such as brandingSets, config, routes, themes, variations, and
views.
ExperienceResources[]experienceResources
Required. Represents the name of the ExperienceBundle.stringlabel
861
ExperienceBundleMetadata Types
DescriptionField TypeField Name
Required. Identifies the kind of site. Only Experience Builder sites are supported,
using the value ChatterNetworkPicasso.
SiteType (enumeration
of type string)
type
Specify a URL prefix for an Experience Builder site. For example, in the site URL
SitesSubdomainName.force.com/customers, customers is the UrlPathPrefix.
stringurlPathPrefix
Note: For authenticated LWR sites created before Winter 23 and Aura
sites, the URL path prefix ends in /s, and the part of the path without
the /s must match the Network metadata types URL. For
unauthenticated LWR sites and authenticated LWR sites created after
Winter 23 through Experience Builder or Connect API, this path doesnt
contain /s, and the path can be anything as long as theres no conflict.
Sample meta.xml file
<?xml version="1.0" encoding="UTF-8"?>
<ExperienceBundle
xmlns="http://soap.sforce.com/2006/04/metadata">
<label>SampleStarterSite2</label>
<type>ChatterNetworkPicasso</type>
<urlPathPrefix>SampleStarterSite2/s</urlPathPrefix>
</ExperienceBundle>
ExperienceResources
Represents a list of sites in the bundle.
DescriptionField TypeField Name
The list of resources in this ExperienceBundle. Each resource represents a
property for the site, such as brandingSets, config, routes, themes, and views.
ExperienceResource[]experienceResource
ExperienceResource
Represents specific site information included in the ExperienceBundle.
Each type has a folder in the structure. Each folder contains one or more files providing information about that type and the site. Each
corresponds to a specific folder and file in the ExperienceBundle.
DescriptionField TypeField Name
Required. Name of resource file.stringfileName
Required. Only JSON is allowed.stringformat
The JSON content of each file.base64source
Required. The type of the resource. Valid values are:stringtype
brandingSets
862
ExperienceBundleMetadata Types
DescriptionField TypeField Name
config
routes
themes
views
Folders and Bundled Definitions
Each ExperienceBundle includes folders and associated data that is contained in JSON files.
brandingSets Folder
This folder contains one JSON file per branding set, named brandingSets_name.json. Each file has the same structure and
properties.
<brandingSets_name>.json
DescriptionTypeProperty
Required in LWR sites. Not applicable for Aura sites. Represents whether the
color palette stored in the branding set is for the entire site or a specific section.
stringbrandingSetType
You cant change one branding set type to another. Available in API Version
52.0 and later.
Valid values are:
APP: The branding set applies to the entire site. There can be only one
branding set of this type.
SCOPED: The branding set applies to a specific section.
Required. Represents the name for the branding set that is used in grouping
branding sets under a theme. Defined as theme:branding-theme.
For example, if the site theme is Stella, the definitionName would be
stella:branding-stella.
stringdefinitionName
In addition, there are several standard templates that have unique naming:
Customer Account Portal uses cpt:branding-cpt
Customer Service uses service:branding-service
Help Center uses helpCenter:branding-helpCenter
Partner Central uses prm:branding-prm
Build Your Own uses starter:branding-starter
Note: The combination of definitionName + label must be
unique in your org.
Represents the components GUID.UUIDid
863
ExperienceBundleMetadata Types
DescriptionTypeProperty
Represents the name of the branding set.stringlabel
Note: The combination of definitionName + label must be
unique in your org.
Represents the component type. The only supported value is brandingSet.stringtype
Required. Represents a map of branding values that can be applied to a site.mapvalues
{
"values" : {
"HeaderBackgroundColor" : "#FFFFFF",
"TextTransformStyle" : "none",
"BorderColor" : "#D4D4D4",
"DetailTextColor" : "#5A5A5A",
"HeaderFonts" : "Ek Mukta",
"CardBackgroundColor" : "rgba(255, 255, 255, 0)",
"LoginBackgroundColor" : "#F4F4F4",
"_ActionColorTrans" : "rgba(25, 124, 190, 0.9)",
"LoginBackgroundImage" :
"../../../../sfsites/picasso/core/external/salesforceIdentity/images/background.jpg?v=1",
"PageBackgroundColor" : "#F5F7FA",
"_HeaderTextColor" : "rgba(34,34,34,.8)",
"_NavigationMenuHoverColor" : "rgba(255,255,255,.2)",
"_HeaderInputBackgroundColor" : "rgba(255,255,255,.4)",
"TextColor" : "#222222",
"NavigationMenuTextColor" : "#222222",
"_HeaderPlaceholderTextColor" : "rgba(85,85,85,.8)",
"_OverlayTextColorShadow" : "#000000",
"ActionColor" : "#0099DE",
"CompanyLogo" : "",
"_LinkColorDarker" : "#135F90",
"_ActionColorDarker" : "#135F90",
"_HoverColor" : "rgba(25, 124, 190, 0.05)",
"ErrorFontColor" : "#ff9e9e",
"OverlayTextColor" : "#FFFFFF",
"PrimaryFont" : "Ek Mukta",
"LinkColor" : "#3558D6"
},
"definitionName" : "cpt:branding-cpt",
"label" : "Customer Account Portal",
"id" : "283407c3-5938-4a6b-b97f-621cda6968c8",
"type" : "brandingSet"
}
config Folder
The config folder contains several JSON files.
sitename.json
864
ExperienceBundleMetadata Types
languages.json
nativeConfig.json
page_name.json
Note: One for each single-page application in the site: loginAppPage.json and mainAppPage.json
sitename.json File Properties
DescriptionTypeProperty
For LWR sites, indicates whether guest users have access to the site.stringauthenticationType
Note: For Aura sites, use isAvailableToGuests instead.
Valid values are:
AUTHENTICATED: The site isnt public. Only authenticated users can
access the site after logging in.
AUTHENTICATED_WITH_PUBLIC_ACCESS_ENABLED: The site is
an authenticated site, but the Public can access the site checkbox is
enabled in Experience Builder in Settings > General. Guest users can
access the site.
UNAUTHENTICATED: The unauthenticated site is publicly available to
anyone on the web, and doesnt support login or authentication. Guest
users can access the site. UNAUTHENTICATED isnt supported for LWR
sites created after Winter 23 through Experience Builder or Connect API.
To allow guest user access, we recommend using
AUTHENTICATED_WITH_PUBLIC_ACCESS_ENABLED.
Available in API version 51.0 and later.
Represents the ID of the route to use when a user forgets their password.UUIDforgotPasswordRouteId
Note: Unsupported if the active Experience Builder template for the
site doesn't support login (such as Help Center).
For Aura sites, indicates whether public users have access to the site (true)
or not (false). The default value is false.
booleanisAvailableToGuests
Note: For LWR sites, use authenticationType instead.
Indicates whether the list of components is filtered based on the current page
type (true) or not (false). Some components require specific parameters
booleanisFilteredComponentsView
from the page and don't work unless you manually configure them. The default
value is false.
Indicates whether Lightning Locker is enabled (true) or disabled (false).
The default value is true.
Before disabling Lightning Locker, you must set isRelaxedCSPLevel to
true. Available in API version 55.0 and later.
booleanisLockerServiceEnabled
865
ExperienceBundleMetadata Types
DescriptionTypeProperty
Indicates whether the display order of page components is prioritized (true)
or not (false). The default value is false.
booleanisProgressiveRenderingEnabled
Represents the ID of the login page.UUIDloginAppPageId
Note: Unsupported if the active Experience Builder template for the
site doesn't support login (such as Help Center).
Required. Represents the ID of the main page.UUIDmainAppPageId
Represents the name of the domain to use for indexing a sites pages. Improves
search engine results.
Available in API version 48.0 and later.
stringpreferredDomain
Represents the domain to use for indexing a sites pages. Improves search
engine results.
Removed in API version 48.0. Use preferredDomain instead.
stringpreferredDomainId
Represents the ID of the login route to use for self-registration.UUIDselfRegistrationRouteId
Note: Unsupported if the active Experience Builder template for the
site doesn't support login (such as Help Center).
Represents the component type. The only supported value is site.stringtype
trustedSitesForScript container
When implemented, theres one trustedSitesForScript container in sitename.json.
DescriptionTypeProperty
Represents the component's GUID.UUIDid
Indicates if allowlisted item is active (true) and must be respected or inactive
(false) and must not be treated as an allowlisted source. Default is false.
booleanisActive
Name of the allowlisted source as it appears in the UI.stringtrustedSiteName
The fully qualified URL of the allowlisted source.stringtrustedSiteUrl
Represents the component type. The only supported value is
trustedSitesForScripts.
stringtype
{
"isAvailableToGuests" : false,
"isFilteredComponentsView" : false,
"mainAppPageId" : "df9907cb-6e68-4ca1-8bb2-51173ca5374e",
"loginAppPageId" : "58e9939a-84b2-498d-bbc5-7a89d89087fa",
"selfRegistrationRouteId" : "ad5c8bf1-297f-4ad3-b47c-0e35d85f10ef",
"forgotPasswordRouteId" : "e3139f6f-44d8-4eec-be9d-3609ce063039",
866
ExperienceBundleMetadata Types
"isProgressiveRenderingEnabled" : false,
"preferredDomain" : "none",
"selfRegistrationRouteId" : "b8fe8ab1-f266-41e1-a63b-4791165f3c1d",
"trustedSitesForScript" : [ {
"id" : "92c489e2-0b7b-4a48-9c88-bef7e8fe6f1b",
"isActive" : true,
"trustedSiteName" : "test",
"trustedSiteUrl" : "https://123.com",
"type" : "trustedSitesForScripts"
}, {
"id" : "92c489e2-0b7b-4a48-9c88-bef7e8fe6f1c",
"isActive" : true,
"trustedSiteName" : "test1",
"trustedSiteUrl" : "https://1234.com",
"type" : "trustedSitesForScripts"
} ],
"type" : "site"
}
languages.json File Properties
DescriptionTypeProperty
Required. Represents the base language code plus the country code where
used.
stringdefaultCode
Required. Defines the display label for the language.stringdefaultLabel
Represents the component's GUID.UUIDid
Represents the component type. The only supported value is
languageContainer.
stringtype
Theres one section per supported language as a container in languages.json
language container
DescriptionTypeProperty
Represents the country code of the selected language. This string can be empty.
It applies only when the selected language has variations depending on the
stringcountryCode
country, like Arabic (Algeria) and Arabic (Bahrain). In this case, use
countryCode to distinguish between them.
For example:{ languageCode" : "ar", "CountryCode" :
"DZ", "Label" : "Arabic (Algeria) (DZ)",}, { "Code"
: "ar", "CountryCode" : "BH", "Label" : "Arabic
(Bahrain) (BH)",}
Represents the language to use when no content is available for the selected
language. For example, if a site visitor chooses Japanese from the language
UUIDfallbackLanguageId
selector, but theres no content for that page in Japanese, then content is
displayed in the fallback language.
867
ExperienceBundleMetadata Types
DescriptionTypeProperty
Only one level of fallback is allowed for LWR sites. Here are examples for an
LWR site where English is the default language, and Spanish, French, and Finnish
are available site languages.
Not allowed: Spanish falls back to French, and French falls back to Finnish.
This configuration includes two levels of fallback.
Allowed: Spanish falls back to French, and French falls back to English. This
configuration is allowed because English is the sites default language.
Allowed: Spanish falls back to French, and French has no fallback. This
configuration includes only one level of fallback.
Represents the component's GUID.UUIDid
Indicates whether a language is available to site visitors in the language selector
(true) or not (false). The default value is true.
booleanisActive
Defines the display label for a language. The display label appears in any
language selector components that you add to your site and in the language
selector in Experience Builder.
stringlabel
Represents the language code for the selected language.stringlanguageCode
Represents the component type. The only supported value is language.stringtype
{
"defaultCode" : "en_US",
"defaultLabel" : "English (US)",
"id" : "04597c83-0b9d-4f16-9f4d-4ec28bd553b4",
"type" : "languageContainer",
"languages" : [ {
"languageCode" : "af",
"countryCode" : "",
"isActive" : true,
"label" : "Afrikaans",
"fallbackLanguageId" : "c6e7fe67-55e0-47b3-ad58-bf49539249f0",
"id" : "22036d6f-11ce-4f7b-b7f0-f2c409f817ea",
"type" : "language"
}
]
}
The page file represents single-page applications in the site. One file per page, named page_name.json.
Note: Each Experience Builder site is actually a single-page application, which is a web app that loads a single HTML page.
Single-page applications use multiple views to update the page dynamically as the user interacts with it.
nativeConfig.json File Properties
DescriptionTypeProperty
Required. Controls whether the hamburger menu is shown.booleanshowHamburgerMenu
868
ExperienceBundleMetadata Types
DescriptionTypeProperty
Required. Controls whether and which App Version Update message is shown.
To avoid service disruptions, users must be on the app version that supports
enhanced domains.
booleanmobilePublisherAppUpdateConfig
Represents the component's GUID.UUIDid
Represents the component type. The only supported value is
nativeConfig.
stringtype
{
"id": "a70a0e5e-0400-4531-94dc-8f587daa5946",
"nativeMobileNavConfig": {
"showBackButton": true,
"showHamburgerMenuWithBackButton": false
},
"mobilePublisherAppUpdateConfig": {
"enableAppUpdate" : true,
"forceAppUpdate" : true,
"minVersion" : {
"ios" : {
"version" : "10.0"
},
"android" : {
"version" : "10.1"
}
}
},
"nativeTabMenu": {
"branding": {
"iconTintColorUnselected": "#C9C5C5",
"barTintColor": "#FF00FF",
"iconTintColor": "#555321"
},
"menuItems": [
{
"iconAsset": "icon_homepng",
"targetUrl": "/"
},
{
"name": "Test",
"iconAsset": "icon_filespng",
"targetUrl": "/files"
}
]
},
"showNavMenu": true,
"type": "nativeConfig"
}
nativeMobileNavConfig container
869
ExperienceBundleMetadata Types
A required container for the configuration for the Native Navigation Bar component.
DescriptionTypeProperty
Controls whether the Back button is shown on iOS devices.booleanshowBackButton
Controls whether the hamburger menu is shown, in addition to
the Back button, on iOS devices.
booleanshowHamburgerMenuWithBackButton
mobilePublisherAppUpdateConfig container
A required container for the configuration of the App Version Update message.
DescriptionTypeProperty
Controls whether the App Version Update message is shown, to
encourage users to update by giving them a choice of whether
to do so.
Set the properties to "enableAppUpdate" : true, and
"forceAppUpdate" : false to show the message that
encourages your users to update.
booleanenableAppUpdate
If you dont want to show an update message, for example if all
your users are on the correct version or your site uses a custom
domain, set the property to "enableAppUpdate" :
false, and dont use the forceAppUpdate property.
Controls whether the App Version Update message to require
users to update is shown.
Set the properties to "enableAppUpdate" : true, and
"forceAppUpdate" : true to show the message that
requires your users to update.
booleanforceAppUpdate
Controls the iOS and Android Minimum App Versions. These
property values are currently hard coded to ensure that the app
versions supporting enhanced domains are used.
stringminVersion
nativeTabMenu container
A required container for the configuration of the hamburger menu and Back button behavior.
DescriptionTypeProperty
Settings for the Native Navigation Bar component branding. Valid keys are:mapbranding
iconTintColorUnselected
iconTintColor
barTintColor
Supply a valid 6 digit hexadecimal as the value for all properties.
870
ExperienceBundleMetadata Types
DescriptionTypeProperty
Items which must be displayed in the Native Navigation Bar component.listmenuItems
menuItems container
A container within the nativeTabMenu container that specifies the items displayed in the tab bar of the Native Navigation Bar component.
DescriptionTypeProperty
Optional. The label of the tab bar menu item.stringname
Required. The relative URL to which the tab bar menu item points.stringtargetUrl
Required. Name of the ContentAsset to use for the tab bar menu item.stringiconAsset
page_name.json File Properties
DescriptionTypeProperty
Settings for the CMS Connect header and footer. Valid values are:mapcmsSettings
headerName
headerUrl
headerPersonalization
footerName
footerUrl
footerPersonalization
Both source and target org must have the CMSConnect and CMSPersonalization
org perms enabled for settings to be retrieved.
Required. Represents the UUID of the site's current theme. This field is available
for mainAppPage.json and loginAppPage.json (where
applicable).
UUIDcurrentThemeId
Required. Allows the addition of custom markup to the site's main page
<head> tag. Similar to using Experience Builder > Setting > Advanced >
Head Markup See Salesforce Help for markup guidance.
stringheadMarkup
Required. Represents the component's GUID.UUIDid
Controls the ability to run scripts and script access to third-party hosts. The
default is false. This field is available for mainAppPage.json and
loginAppPage.json (where applicable).
booleanisRelaxedCSPLevel
Required. Represents the name of the page.stringlabel
Required. The unique developer name of the template. Allowed values are:stringtemplateName
Help Center Template (which represents the Help Center template)
CPT Community Template (which represents the Customer Account Portal
template)
871
ExperienceBundleMetadata Types
DescriptionTypeProperty
Service Community Template (which represents the Customer Service
template)
Starter Template (which represents the Build Your Own template)
PRM Community Template (which represents the Partner Central template)
talon-template-byo (which represents the Build Your Own (LWR) template)
Custom_template_name (which is the name of a customized
template that was exported as a Bolt Solution)
Required. Represents the component type. The only supported value is
appPage.
stringtype
{
"headMarkup" : null,
"isRelaxedCSPLevel" : false,
"templateName" : "Starter Template",
"cmsSettings" : { },
"currentThemeId" : "ff52089c-6ad9-4dd9-b5b5-251d4a117ce3",
"label" : "main",
"id" : "df9907cb-6e68-4ca1-8bb2-51173ca5374e",
"type" : "appPage"
}
routes Folder
The routes folder contains one JSON file per page, named <page_name>.json.
<page_name>.json
DescriptionTypeProperty
Required. Represents the default view of the route. Used when there are no
defined audiences or the user doesnt match any audience.
Available in API version 48.0 and later.
UUIDactiveViewId
Required. Represents the single page application (SPA) page for the route. It
points to either main.json or login.json.
UUIDappPageId
Required. Represents the configuration tags for the route. The only supported
value is allow-in-static-site. Available in API Version 51.0 and later.
string[]configurationTags
Note: This is an internal property and must not be edited.
Required. Represents the unique API name thats defined when creating a new
route. Available in API version 59.0 and later.
string[]devName
Required. Represents the component GUID. Inherited from the component.UUIDid
Required. Represents the name of the route. Inherited from the component.stringlabel
872
ExperienceBundleMetadata Types
DescriptionTypeProperty
Required. The name of the custom object API. (Not available for standard
objects.)
stringobjectApiName
Required. Identifies the status of a route as public or private. When set to the
default value UseParent, the status of the site determines the status of the
stringpageAccess
route. Not editable from the user interface for routes that are always private.
Valid values are UseParent, Public, and RequiresLogin.
Required. Identifies the type of route. Value is unique among all routes that
share the same SPA page. The value in viewType must match.
stringrouteType
Required. Represents the component type. The only supported value is route.stringtype
Required. Represents the base URL for the route.stringurlPrefix
{
"urlPrefix" : "",
"appPageId" : "b5fe94e2-071f-47b2-b76d-427a624cb407",
“configurationTags” : “allow-in-static-site”
"routeType" : "home",
"pageAccess" : "UseParent",
"label" : "Home",
"id" : "c7263124-7bc4-4147-a39a-25fe7e305b98",
"type" : "route"
}
themes Folder
The themes folder contains one JSON file per theme named theme_name.json.
theme_name.json
DescriptionTypeProperty
The id of the branding set currently in use. The branding set's
definitionName must match the theme's brandingSetReference.
UUIDactiveBrandingSetId
Custom CSS for pages created in the Experience Builder template.stringcustomCSS
Required. The unique developer name of the theme. Most themes derive their
names directly, for example Jepson uses jespon for its developerName.
Standard templates have unique values:
stringdeveloperName
cpt for Customer Account Portal
service for Customer Service
helpCenter for Help Center
prm for Partner Central
starter for Build Your Own
873
ExperienceBundleMetadata Types
DescriptionTypeProperty
Required. Represents the component's GUID.UUIDid
Represents the name of the theme.stringlabel
Required. Maps ThemeLayoutType to UUID, and contains the definition
of the ThemeLayout. Login and Inner theme layouts are always required.
maplayouts
Required. Represents the component type. The only supported value is theme.stringtype
{
"developerName" : "cpt",
"layouts" : {
"Login" : "12162c3e-06ac-43a9-adc7-db36ae5140b0",
"Inner" : "c09d58be-0622-4fc4-806a-ed34174929f9"
},
"customCSS" : "",
"activeBrandingSetId" : "283407c3-5938-4a6b-b97f-621cda6968c8",
"label" : "Customer Account Portal",
"id" : "ff52089c-6ad9-4dd9-b5b5-251d4a117ce3",
"type" : "theme",
"views" : [ {
"componentName" : "salesforceIdentity:loginBody2",
"label" : "Login",
"id" : "12162c3e-06ac-43a9-adc7-db36ae5140b0",
"type" : "view",
"regions" : [ {
"regionName" : "header",
"id" : "f8354922-11f2-495d-9d89-0a51943af2b0",
"type" : "region",
"components" : [ ]
} ]
} ]
}
Note: Views can be children of a theme. These children are structured the same as views in the views folder.
variations Folder
Experience variations let you change the default behavior of the Experience Builder site based on the audience. The variations
folder contains one JSON file per experience variation. The file is named experienceVariation_name.json.
Note:
Experience variations are available in API version 47.0 and later.
The name of your JSON file must match the developerName of your variation to avoid issues when deploying a site more
than one time.
Four distinct types of variations are supported: branding sets, page variations, component visibility, and component attributes. The
different variations are indicated through the componentVariant container.
874
ExperienceBundleMetadata Types
For example, you want the site to show a page variation for the home page when a user meets certain audience criteria. To achieve this,
create an audience and then target that audience to your experience variation using targetId in the componentVariant
container of the experience variation definition file.
experienceVariation_name.json
DescriptionTypeProperty
Required. A list of component variants that belong to this experience variation.listcomponentVariants
Note: Only one component variant per experience variation is allowed.
Required. The unique developer name of the experience variation. This name
is used in the targetValue field of a Personalization API target and cant
be updated after its set.
stringdeveloperName
Note: For more information, see Audience.
Required. Represents the GUID of the component.UUIDid
Required. Represents the type of the component. The only supported value is
experienceVariation.
stringtype
When implemented, theres one container in each experienceVariation_name.json file describing the variation.
componentVariant container
DescriptionTypeProperty
Required. Represents the GUID of the component.UUIDid
Required. Defines the property overrides for the given theme, route, or
component targetId.
For example, if the targetId is pointing to a theme, you can override the
defaultBrandingSet property of the theme to use a different branding
set for this experience variation.
mappropertyOverrides
Supported property overrides:
activeBrandingSetId
Defines which branding set to use when targetId is a theme. Uses the
format:
"activeBrandingSetId" : "ID_of_brandingset"
activeViewId
Defines which page variation to use when targetId is a route. Uses
the format:
"activeViewId" : "ID_of_view"
875
ExperienceBundleMetadata Types
DescriptionTypeProperty
componentAttributes
Supported only for CMS Collection components and navigation
components, such as Navigation Menu or Tile Menu. Components can be
placed in header and footer regions, and also in the view body.
Defines which navigation linkset to display when targetId is a
navigation component.
The value of the property is a JSON container with a single key-value
pair denoting the attribute and the value of the attribute.
NavigationMenuEditorRefresh is the only supported
attribute. Uses the format:
"componentAttributes" : {
"NavigationMenuEditorRefresh" :
"linkset_name"
}
Defines which content collection to display when targetId is a
CMS Collection component.
The value of the property is a JSON container with a single key-value
pair denoting the path to the attribute and the value of the attribute.
config/dataProviderDefinition/attributes/dataProviderInfo/apiName
is the only supported attribute. Uses the format:
"componentAttributes" : {
"config/dataProviderDefinition/attributes
/dataProviderInfo/apiName":"collection_name"
}
isVisible
Defines whether a component is visible for the audience when targetId
is a component. Unsupported for components in header or footer regions.
Uses the format:
"isVisible": boolean
Note:
Only one entry in the map is allowed.
For a component, you can vary either its visibility or attributes but
not both together.
Required. The UUID of the item whose properties youre overriding. Must be
the ID of a theme, route, or component.
UUIDtargetId
Required. Represents the type of the component. The only supported value is
experienceVariation.
stringtype
876
ExperienceBundleMetadata Types
Example of an experience variation for a branding set
{
"id": "64e93604-78fa-11e9-8f9e-2a86e4085a59",
"developerName": "BrandingVariation",
"type": "experienceVariation",
"componentVariants": [{
"id": "4bf0af78-8d73-11e9-bc42-526af7764f64",
"type": "componentVariant",
// Theme UUID
"targetId": "c810858e-78fa-11e9-8f9e-2a86e4085a59",
"propertyOverrides": {
// Brandingset UUID
"activeBrandingSetId": "be9f4760-78fa-11e9-8f9e-2a86e4085a59"
}
}]
}
Example of an experience variation for a page variation
{
"id": "64e93604-78fa-11e9-8f9e-2a86e4085a59",
"developerName": "PageVariation",
"type": "experienceVariation",
"componentVariants": [{
"id": "4bf0af78-8d73-11e9-bc42-526af7764f64",
"type": "componentVariant",
// Route UUID
"targetId": "c810858e-78fa-11e9-8f9e-2a86e4085a59",
"propertyOverrides": {
// View UUID
"activeViewId": "be9f4760-78fa-11e9-8f9e-2a86e4085a59"
}
}]
}
Example of an experience variation for component visibility
{
"id": "64e93604-78fa-11e9-8f9e-2a86e4085a59",
"developerName": "ComponentVisibilityVariation",
"type": "experienceVariation",
"componentVariants": [{
"id": "4bf0af78-8d73-11e9-bc42-526af7764f64",
"type": "componentVariant",
// Component UUID
"targetId": "c810858e-78fa-11e9-8f9e-2a86e4085a59",
"propertyOverrides": {
"isVisible": true
}
}]
}
877
ExperienceBundleMetadata Types
Example of a component variation for a CMS Collection component
{
"id" : "6ce1260f-cb01-45a0-8947-f2d85602a3db"
"developerName": "Home_CMS_Collection_Component_Properties",
"type": "experienceVariation",
"componentVariants": [{
"id" : "3gh1260f-cb01-45a0-8947-f2d92037a4db"
"type": "componentVariant",
"targetId": "d77369e6-7230-43e7-9b59-6e91c47b3273",
"propertyOverrides": {
"componentAttributes": {
"config/dataProviderDefinition/attributes/dataProviderInfo/apiName":"SilverCollection"
}
},
}],
}
Example of a component variation for Navigation Menu component
{
"id" : "8cf943b8-525d-4c13-a719-6ebc7d61a81e",
"developerName" : "Default_Navigation_Menu_Component_Properties",
"type" : "experienceVariation",
"componentVariants" : [{
"id" : "5be1260f-cb01-45a0-8947-f2d85602a4db",
"type" : "componentVariant",
"targetId" : "fdf9eb51-ddc5-4e79-9ea8-5b94f5ca8db4",
"propertyOverrides" : {
"componentAttributes" : {
"NavigationMenuEditorRefresh" : "NavMenu1"
}
},
}],
}
views Folder
The views folder contains several JSON files that each define a view. Each Experience Builder site is built from single-page applications,
which are web apps that load a single HTML page. Single-page applications consist of multiple views that update the page dynamically
as the user interacts with it.
A view is made up of regions that contain other regions or components in the rendered page for the user. Within the views folder
theres one file per view, named view_name.json.
Note: Single-page applications in your site are defined in the page files of the config folder.
view_name.json
DescriptionTypeProperty
Required. Single page application (SPA) page ID of the view. It points to either
main.json or login.json.
UUIDappPageId
878
ExperienceBundleMetadata Types
DescriptionTypeProperty
Required. The FQN of the layout component. The component must implement
forceCommunity:layout or, for theme layouts,
forceCommunity:themeLayout
stringcomponentName
Required. Represents the GUID of the component.UUIDid
Required. The name that appears in Experience Builder > Settings >
Theme > Configure.
stringlabel
Theme layout type of the view (exposed only for views).stringthemeLayoutType
Required. Represents the type of the component. The only supported value is
view.
stringtype
Required. Matches routeType for the route.stringviewType
There are one or more regions as a container in each <view_name>.json
region container
DescriptionTypeProperty
Required. Represents the component GUID.UUIDid
Specifies region labels for tabs.stringregionLabel
Note: This property is present only for tab regions that are children of
a component.
Required. Matches the design attribute in the design file of the layout
component.
stringregionName
Required. Represents the component type. The only supported value is
region.
stringtype
Each <view_name>.json file contains a hidden region called sfdcHiddenRegion. The hidden region contains a component
that represents the SEO assistant component. In Aura sites, the components definition is forceCommunity:seoAssistant,
and in LWR sites, the components definition is community_builder:seoAssistant. This component corresponds to the
SEO page properties that you can configure in Experience Builder and isnt visible on your pages. To improve search engine results, use
the SEO assistant component to set the customHeadTags, description, and pageTitle properties for your public and
custom site pages. You cant edit the other properties associated with the SEO assistant component. To learn more about what the title,
description, and custom head tags properties represent and which head tags are allowed, see SEO Page Properties in Experience Builder.
There are one or more components as a container in the region section of each <view_name>.json
component container
DescriptionTypeProperty
Required. The design attribute values of the component.HashMapcomponentAttributes
879
ExperienceBundleMetadata Types
DescriptionTypeProperty
Required. The FQN of the component. Only components that can be used in
the component panel in Experience Builder can be used in this field.
stringcomponentName
Required. Represents the component GUID.UUIDid
Note: If you add a component to ExperienceBundle, you can enter any
value because the system automatically generates a UUID for the
component when deployed.
Sets priority value for progressive rendering of the component. Possible Values:
HIGHEST, HIGH, NEUTRAL
enums.priorityrenderPriority
Note: Only evaluated if the site has progressive rendering turned on
in Experience Builder > Settings > Advanced.
Map of different rendition keys to UUIDs of RenditionComponents.HashMaprenditionMap
Required for LWR sites. Not applicable for Aura sites. Represents the ID of a
branding set for a specific community_layout:section component.
Available in API Version 52.0 and later.
UUIDscopedBrandingSetID
Required. Represents the component type. The only supported value is
component.
stringtype
Each component can have a rendition container in each <view_name>.json
rendition container
DescriptionTypeProperty
Required. Represents the component GUID.UUIDid
Map of different variations of a component, such as different languages of text.maprenditionValue
Required. Represents the component type. The only supported value is
renditionComponent.
stringtype
{
"themeLayoutType" : "Inner",
"viewType" : "account-management",
"appPageId" : "df9907cb-6e68-4ca1-8bb2-51173ca5374e",
"componentName" : "siteforce:sldsOneColLayout",
"label" : "Account Management",
"id" : "9ca8fa47-8e87-4915-a6f7-c2d8d37f3076",
"type" : "view",
"regions" : [ {
"regionName" : "content",
"id" : "969ada98-7d72-4e45-8a10-7db51fae247c",
"type" : "region",
"components" : [ {
880
ExperienceBundleMetadata Types
"componentName" : "forceCommunity:tabset",
"componentAttributes" : {
"tabsetConfig" :
"{\"UUID\":\"4711850e-ffdc-4375-a45e-f716bcdbbb1c\",\"activeTab\":\"tab1\",
\"useOverflowMenu\":false,\"tabs\":[{\"UUID\":\"bc8fb51f-4783-43d4-9376-60c07677a367\",\"tabName\":\"Members\",
\"tabKey\":\"tab1\",\"locked\":false,\"allowGuestUser\":false,\"seedComponents\":[{\"fqn\":\"forceCommunity:relatedList\",
\"attributes\":{\"parentRecordId\":\"{!CurrentUser.accountId}\",\"relatedListName\":\"Users\",\"customTitle\":\"Members\",
\"showCustomTitle\":\"true\",\"showBreadCrumbs\":\"false\",\"showRowNumbers\":\"false\",\"showManualRefreshButton\":\"false\"}}]},
{\"UUID\":\"f2793a99-b757-4be4-846f-dc98a13a8139\",\"tabName\":\"Branding\",\"tabKey\":\"tab2\",\"locked\":false,
\"allowGuestUser\":false,\"seedComponents\":[{\"fqn\":\"forceCommunity:accountBrandRecord\",
\"attributes\":{\"recordId\":\"{!CurrentUser.accountId}\"}}]}]}",
"regions" : ""
},
"renderPriority" : "NEUTRAL",
"renditionMap" : { },
"id" : "4711850e-ffdc-4375-a45e-f716bcdbbb1c",
"type" : "component",
"renditions" : [ {
"renditionValue" : {
"LumenInstanceAttributes" : {
"richTextValue" : "<p>new text</p>"
}
},
"id" : "9d8878df-f520-4010-861c-57b930a3daab",
"type" : "renditionComponent"
} ]
} ]
} ]
}
Declarative Metadata Sample Definition
Heres an example of an ExperienceBundle declaration. For individual folder and file examples for the bundled code, see brandingSets,
config, routes, themes, variations, and views.
<xsd:complexType name="ExperienceBundle">
<xsd:complexContent>
<xsd:extension base="tns:Metadata">
<xsd:sequence>
<xsd:element name="experienceResources" minOccurs="0"
type="tns:ExperienceResources"/>
881
ExperienceBundleMetadata Types
<xsd:element name="label" type="xsd:string"/>
<xsd:element name="type" type="tns:SiteType"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ExperienceResources">
<xsd:sequence>
<xsd:element name="experienceResource" minOccurs="0" maxOccurs="unbounded"
type="tns:ExperienceResource"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ExperienceResource">
<xsd:sequence>
<xsd:element name="fileName" type="xsd:string"/>
<xsd:element name="format" type="xsd:string"/>
<xsd:element name="source" minOccurs="0" type="xsd:base64Binary"/>
<xsd:element name="type" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
Usage
Tip: Before you update the .json files of an Experience Builder site, we recommend making a copy of the sites folder as a backup.
When you add a component to ExperienceBundle, you can enter any value for the id, because the system automatically generates a
UUID for the component when deployed.
When deploying an Experience Builder site with ExperienceBundle, ensure that the SiteDotCom type isnt included in the manifest file.
ExperienceBundle doesnt support retrieving and deploying across different API versions. If youre trying to upgrade ExperienceBundle
metadata from an earlier API version to a later onefor example, from API version 48.0 to 49.0take the following steps:
1. Set the API version in the package.xml manifest file to 48.0 and deploy the package.
2. Then, set the API version in package.xml to 49.0.
3. To get the latest ExperienceBundle updates, retrieve the package.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ExperienceBundleSettings
Developer Guide: ExperienceBundle for Experience Builder Sites
ExperiencePropertyTypeBundle (Beta)
Represents a property type. When you create a custom property type for a Lightning web component, deploy this bundle to your org.
882
ExperiencePropertyTypeBundle (Beta)Metadata Types
Note: This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service
is subject to the applicable Beta Services Terms provided at Agreements and Terms.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Structure and Directory Location
ExperiencePropertyTypeBundle components are stored in the experiencePropertyTypeBundles folder. Heres an example of how the
folder is structured.
+--myMetadataPackage
+--experiencePropertyTypeBundles (1)
+--addressProperty (2)
+--schema.json (3)
+--design.json (4)
In the experiencePropertyTypeBundles folder (1) is a folder for each custom property type.
Each custom property type folder is named in the format propertyTypeName. In this example (2), the name is addressProperty.
Each propertyTypeName folder contains a JSON file or files that define the property type.
A schema.json file (3), which is a JSON schema that drives the property type validation
An optional design.json file (4), which provides the user experience and property editor information for that property type
Version
ExperiencePropertyTypeBundle components are available in API version 58.0 and later.
Special Access Rules
The ExperiencePropertyTypeBundle metadata type is available only for use with Lightning web components on LWR sites.
Fields
DescriptionField Name
Field Type
string
description
Description
Explanatory text about the property type.
Field Type
string
masterLabel
883
ExperiencePropertyTypeBundle (Beta)Metadata Types
DescriptionField Name
Description
Required. A user-friendly name for ExperiencePropertyTypeBundle, which is defined
when the ExperiencePropertyTypeBundle is created.
Field Type
ExperiencePropertyTypeBundleResource[]
resources
Description
A list of source files in the experiencePropertyTypeBundles folder.
ExperiencePropertyTypeBundleResource
Represents a resource inside ExperiencePropertyTypeBundle.
DescriptionField Name
Field Type
string
fileName
Description
Required. The file name of the resource.
Field Type
string
filePath
Description
Required. The file path of the resource.
Field Type
base64Binary
source
Description
Required. The content of the resource.
Declarative Metadata Sample Definition
This package.xml file retrieves all the ExperiencePropertyTypeBundle components in an org.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExperiencePropertyTypeBundle</name>
</types>
<version>58.0</version>
</Package>
884
ExperiencePropertyTypeBundle (Beta)Metadata Types
In the retrieved .zip file, each property type is nested under an experiencePropertyTypeBundles folder.
This example shows the directory structure in the .zip file of a property type named addressProperty.
experiencePropertyTypeBundles
addressProperty
schema.json
design.json
Here are the contents of the files in the addressProperty directory. The addressProperty is a complex type that includes subproperties
for firstName, lastName, address, city, state, and postal code. Each subproperty is a primitive type.
Contents of schema.json:
{
"title": "Simple Address Type",
"lightning:type": "lightning__objectType",
"properties": {
"firstName": {
"lightning:type": "lightning__textType",
"title": "First Name"
},
"lastName": {
"lightning:type": "lightning__textType",
"title": "Last Name"
},
"address": {
"lightning:type": "lightning__textType",
"title": "Address Line 1"
},
"city": {
"lightning:type": "lightning__textType",
"title": "City"
},
"state": {
"lightning:type": "lightning__textType",
"title": "State"
},
"postalCode": {
"lightning:type": "lightning__numberType",
"title": "Postal Code"
}
},
"required": ["firstName", "lastName"]
}
Contents of design.json (an optional file):
{
"definition": "lightning/tabsetLayout",
"children": [
{
"definition": "lightning/tabLayout",
“attributes”: {
“label”: “First Tab”
},
“children”: [
885
ExperiencePropertyTypeBundle (Beta)Metadata Types
{
"definition": "lightning/propertyLayout",
"attributes": {
"property": "aProperty"
}
},
{
"definition": "lightning/propertyLayout",
"attributes": {
"property": "bProperty"
}
},
]
},
{
"definition": "lightning/tabLayout",
“attributes”: {
“label”: “Second Tab”
},
“children”: [
{
"definition": "lightning/propertyLayout",
"attributes": {
"property": "cProperty"
}
},
]
},
]
}
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
External Link: Custom Property Types and Property Editors (Beta)
ExplainabilityMsgTemplate
Represents information about the template that contains the decision explanation message for a specified expression set step type.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
886
ExplainabilityMsgTemplateMetadata Types
File Suffix and Directory Location
ExplainabilityMsgTemplate components have the suffix .explainabilityMsgTemplate and are stored in the
ExplainabilityMsgTemplates folder.
Version
ExplainabilityMsgTemplate components are available in API version 56.0 and later.
Fields
DescriptionField Name
Field Type
ExpressionSetStepType (enumeration of type string)
expressionSetStepType
Description
Required.
The step type in an expression set that uses the explainability message template.
Valid values are:
Aggregation
Branch
BusinessElement
Calculation
Condition
DecisionTableLookup
ListEnabledGroup
ListFilter
MatrixLookup
ReferenceProcedure
Field Type
EvaluationResult (enumeration of type string)
evaluationResult
Description
Required.
The type of result for which the message template can be used. The step type for
which the result is evaluated can be a condition, conditional group, or branch.
Valid values are:
Failed
Passed
NoResult
887
ExplainabilityMsgTemplateMetadata Types
DescriptionField Name
Field Type
boolean
isDefault
Description
Indicates whether the decision explainer template for a specified step type is default
(true) or not (false).
Field Type
string
masterLabel
Description
Required.
Master label the for ExplainabilityMsgTemplate.
Field Type
string
message
Description
Required.
The message associated with the template for a specific expression set step type.
Declarative Metadata Sample Definition
The following is an example of an ExplainabilityMsgTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<ExplainabilityMsgTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<evaluationResult>Passed</evaluationResult>
<expressionSetStepType>Condition</expressionSetStepType>
<isDefault>false</isDefault>
<masterLabel>ML EMT testDM</masterLabel>
<message>EMT Testing</message>
</ExplainabilityMsgTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExplainabilityMsgTemplate</name>
</types>
<version>61.0</version>
</Package>
888
ExplainabilityMsgTemplateMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExpressionSetDefinition
Represents an expression set definition.
Note: Before deploying an expression set or an expression set version to a target org, review these Expression Set Migration
Considerations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExpressionSetDefinition components have the suffix .expressionSetDefinition and are stored in the
expressionSetDefinition folder.
Version
ExpressionSetDefinition components are available in API version 55.0 and later.
Fields
DescriptionField Name
Field Type
string
description
Description
The description of an expression set definition.
Field Type
ExpsSetInterfaceSourceType (enumeration of type string)
interfaceSourceType
Description
The interface source type designed by the consuming cloud that's making a customized
expression set builder available to its users.
Valid values are:
PricingProcedure
QualificationProcedure
Sample
Available in API version 59.0 and later.
889
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Field Type
string
label
Description
Required.
The UI label of an expression set definition.
Field Type
ExpsSetProcessType (enumeration of type string)
processType
Description
The process type that uses the expression set rule.
Valid values are:
BreBusiness Rules Engine
TransactionJournal
TierProcessing
CustomLoyalty
Field Type
boolean
template
Description
Defines whether an expression set is a template or not.
Field Type
ExpressionSetDefinitionVersion[]
versions
Description
Represents an array of expression set version definitions in an expression set.
Note: This array must contain at least one version.
ExpressionSetDefinitionVersion
Represents a definition of an expression set version.
DescriptionField Name
Field Type
string
description
Description
Describes the version of an expression set definition.
Field Type
dateTime
endDate
890
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
The date until which the expression set definition is available for use.
Field Type
string
expressionSetDefinition
Description
The full name of an expression set definition.
Field Type
string
label
Description
Required.
The UI label of an expression set definition.
Field Type
boolean
shouldShowExplExternally
Description
Indicates whether the decision explanation is exposed to external users (true) or not
(false). The default value is false. Available in API version 56.0 and later.
Field Type
dateTime
startDate
Description
Required.
The date from when the expression set definition is available for use.
Field Type
ExpsSetStatus (enumeration of type string)
status
Description
Required.
The status of an expression set definition.
Possible values are:
Active
Draft
Inactive
InvalidDraft
Obsolete
Field Type
ExpressionSetStep[]
steps
891
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
Represents an array of steps created in an expression set version.
Field Type
boolean
uiTier
Description
Indicates whether the API call originated from the design time builder or a package.
Note: This field is for internal use only.
Field Type
ExpressionSetVariable[]
variables
Description
Represents an array of variables in an expression set version.
Field Type
int
versionNumber
Description
Required.
The version number of an expression set definition.
ExpressionSetStep
Represents a step in an expression set version.
DescriptionField Name
Field Type
BusinessKnowledgeModel (enumeration of type string)
actionType
Description
Specifies the type of action this step executes.
Valid values are:
AssignParameterValues
AssignBadgeToMember
BreAggregator
BreAggregatorAssignment
CheckMemberBadgeAssignment
ChangeMemberTier
CreditPoints
Crud
DebitPoints
892
ExpressionSetDefinitionMetadata Types
DescriptionField Name
GetMemberAttributesValues
GetOutputsFromDecisionMatrix
GetOutputsFromDecisionTable
GetMemberAttributesValues
GetMemberPointBalance
GetMemberPromotions
GetMemberTier
IncreaseUsageForCumulativePromotion
IssueVoucher
IncreaseUsageForCumulativePromotion
RunFlow
RunProgramProcess
TestCustomElement
UpdateUsageForCumulativePromotion
UpdatePointBalance
UpdateCurrentValueForMemberAttribute
Field Type
ExpressionSetAdvancedCondition
advancedCondition
Description
Represents an advanced condition step.
Field Type
ExpressionSetAggregation
aggregation
Description
Represents an aggregation step.
Field Type
ExpressionSetAssignment
assignment
Description
Represents an assignment step.
Field Type
ExpressionSetConditionExpression
conditionExpression
Description
Represents a condition step.
Field Type
ExpressionSetCustomElement
customElement
893
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
Represents a custom element step that contains the input and output mappings. Available
in API version 56.0 and later.
Field Type
ExpressionSetDecisionTable
decisionTable
Description
Represents a decision matrix or decision table step.
Field Type
string
description
Description
Describes an expression set definition version step.
Field Type
string
failedExplainerTemplate
Description
The explainability message template thats used when the result type of a condition step
in an expression set is Failed.
Field Type
ExplainabilityMessageTemplateTokenMapping (enumeration of type string)
failedMessageTokenMappings
Description
List of the token resource mappings of the failed explainability message template. Valid
values are:
expressionSetMessageToken
resourceReference
Available in API version 59.0 and later.
Field Type
string
label
Description
Required.
The UI label of an expression set definition version step.
Field Type
string
name
Description
Required.
The full name of an expression set definition version step.
894
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Field Type
string
noResultExplainerTemplate
Description
The explainability message template thats used when the result type of a condition step
in an expression set is No Result. Available in API version 59.0 and later.
Field Type
ExplainabilityMessageTemplateTokenMapping (enumeration of type string)
noResultMessageTokenMappings
Description
List of the token resource mappings of the no result explainability message template. Valid
values are:
expressionSetMessageToken
resourceReference
Available in API version 59.0 and later.
Field Type
string
parentStep
Description
The name of the parent step in an expression set definition version thats associated with
a step.
Field Type
string
passedExplainerTemplate
Description
The explainability message template thats used when the result type of a condition step
in an expression set is Passed.
Field Type
ExplainabilityMessageTemplateTokenMapping (enumeration of type string)
passedMessageTokenMappings
Description
List of the token resource mappings of the passed explainability message template. Valid
values are:
expressionSetMessageToken
resourceReference
Available in API version 59.0 and later.
Field Type
boolean
resultIncluded
895
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
Indicates whether the step output must be included in the expression result (true) or not
(false).
Field Type
int
sequenceNumber
Description
Required.
The sequence number of a step in an expression set definition version.
Field Type
boolean
shouldExposExecPathMsgOnly
Description
Indicates whether the message in the explainability message template is exposed for only
the branch path that was run.
Field Type
boolean
shouldExposeConditionDetails
Description
Indicates whether the details of the condition are shown in the decision explanation.
Field Type
boolean
shouldShowExplExternally
Description
Indicates whether the decision explanations are shown to external users.
Field Type
ExpsSetStepType (enumeration of type string)
stepType
Description
Required.
Specifies the type of step in an expression set definition version.
Valid values are:
AdvancedCondition
Branch
BusinessKnowledgeModel
Condition
DefaultPath
SubExpression
Field Type
ExpressionSetSubExpression
subExpression
896
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
Represents a sub expression step.
ExpressionSetAdvancedCondition
Represents an advanced condition step.
DescriptionField Name
Field Type
string
conditionLogic
Description
Required.
The condition thats defined for an advanced condition.
Field Type
ExpressionSetConditionCriteria []
criteria
Description
Represents an array of criteria defined in the advanced condition.
Field Type
string
errorMessage
Description
An error message for a failed advanced condition.
Field Type
string
resultParameter
Description
An expression set definition version variable associated with the result of a step.
Field Type
string
successMessage
Description
A success message for a successful advanced condition.
ExpressionSetConditionCriteria
Represents a criterion defined in an advanced condition.
897
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Field Type
ExpsSetConditionOperator (enumeration of type string)
operator
Description
Required.
Specifies the operator for evaluating an expression.
Valid values are:
Contains
DoesNotContain
Equals
GreaterThan
GreaterThanOrEquals
IsNull
IsNotNull
LessThan
LessThanOrEquals
NoEquals
Field Type
int
sequenceNumber
Description
Required.
The position of the condition in a step that contains multiple conditions.
Field Type
string
sourceFieldName
Description
Required.
The expression set definition version variable associated with the result of a condition
criterion.
Field Type
string
value
Description
Specifies the condition of a criterion.
Field Type
ExpsSetValueType (enumeration of type string)
valueType
Description
Specifies the type of value.
Valid values are:
898
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Formula
Literal
Lookup
Parameter
Picklist
ExpressionSetAggregation
Represents an aggregation step.
DescriptionField Name
Field Type
string
aggregatedParameter
Description
Required.
The expression set definition version variable associated with the result of a condition
criterion.
Field Type
ExpsSetAggregationFunction (enumeration of type string)
aggregateFunction
Description
Required.
Specifies the aggregation function used in a step.
Valid values are:
Avg
Max
Min
Sum
Field Type
string
expression
Description
Required.
Specifies the expression of an aggregation.
ExpressionSetAssignment
Represents an assignment step.
899
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Field Type
string
aggregatedParameter
Description
Required.
The expression set definition version variable associated with a step detail.
Field Type
string
expression
Description
Required.
The expression thats defined for a step.
ExpressionSetConditionExpression
Represents a condition in a condition step.
DescriptionField Name
Field Type
string
errorMessage
Description
An error message for a failed condition.
Field Type
string
expression
Description
Required.
The expression thats defined for a step.
Field Type
string
resultParameter
Description
The expression set definition version variable associated with the result of a step.
Field Type
string
successMessage
Description
A success message for a successful condition.
900
ExpressionSetDefinitionMetadata Types
ExpressionSetCustomElement
Represents a custom element in an expression set. Available in API version 56.0 and later.
DescriptionField Name
Field Type
ExpressionSetElementParameter[]
parameters
Description
Represents the list of parameters in the custom element.
ExpressionSetElementParameter
Represents a parameter within a custom element of an expression set. Available in API version 56.0 and later.
DescriptionField Name
Field Type
boolean
input
Description
Required.
Indicates whether the custom element parameter is input (true) or not (false).
The default value is true.
Field Type
string
name
Description
Required.
The name of the custom element parameter.
Field Type
boolean
output
Description
Required.
Indicates whether the custom element parameter is output (true) or not (false).
The default value is true.
Field Type
ExpsSetValueType (enumeration of type string)
type
Description
The type of custom element parameter.
Values are:
901
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Formula
Literal
Lookup
Parameter
PickList
The default value is Parameter.
Field Type
string
value
Description
Required.
The name of the expression set variable.
ExpressionSetDecisionTable
Represents a decision table or decision matrix in a step.
DescriptionField Name
Field Type
string
decisionTableName
Description
Required.
The decision matrix or decision table name used in a step.
Field Type
ExpressionSetElementParameter[]
mappings
Description
The mapping information between various parameters in an ExpressionSetDecisionTable.
Available in API version 59.0 and later.
Field Type
string
type
Description
Required.
The type in a step. It can be a decision table or decision matrix.
ExpressionSetSubExpression
Represents a sub expression in a step.
902
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Field Type
string
expressionSet
Description
Required.
The sub expression name used in a step.
ExpressionSetVariable
Represents a definition of an expression set variable.
DescriptionField Name
Field Type
boolean
collection
Description
Indicates whether a variable stores a collection of values (true) or not (false).
Field Type
ExpsSetDataType (enumeration of type string)
dataType
Description
Required.
The data type of an expression set variable.
Valid values are:
ActionOutput
Boolean
Currency
Date
DateTime
DecisionMatrix
DecisionTable
Numeric
Percent
Sobject
SubExpression
Text
Field Type
int
decimalPlaces
903
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
The decimal digits in the currency, number, or percent data type for an expression set
variable.
Field Type
string
description
Description
The description of the variable used in an expression set.
Field Type
ExpressionSetVariableField []
fields
Description
Represents an array of fields in an object that is used as a variable in an expression set.
Field Type
boolean
input
Description
Indicates whether an expression set variable is used as an input (true) in an expression
or not (false).
Field Type
string
lookupName
Description
The API name of a decision matrix, a decision table, or a sub expression.
Field Type
ExpsSetVariableLookupType (enumeration of type string)
lookupType
Description
The type of the lookup used in an expression set definition.
Valid values are:
DecisionMatrix
DecisionTable
SubExpression
Field Type
string
name
Description
Required.
The full name of the variable used in an expression set definition.
904
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Field Type
string
objectName
Description
The name of the sObject.
Field Type
boolean
output
Description
Indicates whether an expression set variable is used as an output in an expression(true)
or not (false).
Field Type
string
resultStep
Description
The step that produces the expression set variable.
Field Type
ExpsSetVariableType (enumeration of type string)
type
Description
Required.
The type of variable in an expression set definition.
Valid values are:
Constant
Formula
Variable
Field Type
string
value
Description
Represents a constant value or a formula.
Note: It stores the default value of a variable.
ExpressionSetVariableField
Represents a definition of a field in an object that is used as a variable in an expression set.
DescriptionField Name
Field Type
ExpsSetDataType (enumeration of type string)
dataType
905
ExpressionSetDefinitionMetadata Types
DescriptionField Name
Description
Required.
Specifies the type of data stored in an expression set variable.
Valid values are:
ActionOutput
Boolean
Currency
Date
DateTime
DecisionMatrix
DecisionTable
Numeric
Percent
Sobject
SubExpression
Text
Field Type
int
decimalPlaces
Description
The decimal digits in the currency, number, or percent data type for an expression set
variable.
Field Type
ExpressionSetVariableField []
fields
Description
Represents an array of fields in an object that is used as a variable in an expression set.
Field Type
string
lookupName
Description
The API name of a decision matrix, a decision table, or a sub expression.
Field Type
ExpsSetVariableLookupType (enumeration of type string)
lookupType
Description
Required.
The type of lookup used in an expression set definition.
Valid values are:
DecisionMatrix
906
ExpressionSetDefinitionMetadata Types
DescriptionField Name
DecisionTable
SubExpression
Field Type
string
name
Description
Required.
The full name of the field used in an expression set variable.
Field Type
string
objectName
Description
The name of the sObject.
Declarative Metadata Sample Definition
The following is an example of an ExpressionSetDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<ExpressionSetDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<label>ExpSetWithAllSteps</label>
<processType>Bre</processType>
<template>false</template>
<description></description>
<interfaceSourceType>Sample</interfaceSourceType>
<versions>
<fullName>ExpSetWithAllSteps_V1</fullName>
<expressionSetDefinition>ExpSetWithAllSteps</expressionSetDefinition>
<label>ExpSetWithAllSteps V1</label>
<shouldShowExplExternally>false</shouldShowExplExternally>
<startDate>2022-08-09T22:04:56.000Z</startDate>
<endDate>2023-08-09T22:04:56.000Z</endDate>
<status>Draft</status>
<uiTier>false</uiTier>
<description>ExpSetWithAllSteps_V1</description>
<steps>
<description>Aggregate</description>
<actionType>BreAggregator</actionType>
<aggregation>
<aggergatedParameter>result</aggergatedParameter>
<aggregateFunction>Avg</aggregateFunction>
<expression>AVG ( result )</expression>
</aggregation>
<label>Aggregate</label>
<name>Aggregate</name>
<resultIncluded>true</resultIncluded>
<sequenceNumber>5</sequenceNumber>
907
ExpressionSetDefinitionMetadata Types
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<steps>
<label>Branch</label>
<name>Branch</name>
<resultIncluded>false</resultIncluded>
<sequenceNumber>4</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>Branch</stepType>
</steps>
<steps>
<actionType>AssignParameterValues</actionType>
<assignment>
<assignedParameter>b</assignedParameter>
<expression>SUM ( a , 10 )</expression>
</assignment>
<label>Calculation</label>
<name>Calculation</name>
<resultIncluded>true</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<steps>
<actionType>AssignParameterValues</actionType>
<assignment>
<assignedParameter>result</assignedParameter>
<expression>b * 100</expression>
</assignment>
<label>Calculation</label>
<name>Calculation10</name>
<parentStep>DefaultLane</parentStep>
<resultIncluded>false</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<steps>
<actionType>AssignParameterValues</actionType>
<assignment>
<assignedParameter>result</assignedParameter>
<expression>b * 1</expression>
</assignment>
<label>Calculation</label>
<name>Calculation3</name>
908
ExpressionSetDefinitionMetadata Types
<parentStep>Condition</parentStep>
<resultIncluded>false</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<steps>
<actionType>AssignParameterValues</actionType>
<assignment>
<assignedParameter>result</assignedParameter>
<expression>SUM ( b , 10 )</expression>
</assignment>
<label>Calculation</label>
<name>Calculation5</name>
<parentStep>Condition4</parentStep>
<resultIncluded>false</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<steps>
<actionType>AssignParameterValues</actionType>
<assignment>
<assignedParameter>result</assignedParameter>
<expression>b * 10</expression>
</assignment>
<label>Calculation</label>
<name>Calculation8</name>
<parentStep>Condition7</parentStep>
<resultIncluded>false</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<steps>
<conditionExpression>
<successMessage>success</successMessage>
<errorMessage>error</errorMessage>
<expression>IS10 == b</expression>
<resultParameter>condition_output__1</resultParameter>
</conditionExpression>
<label>Condition</label>
<name>Condition</name>
<resultIncluded>false</resultIncluded>
<sequenceNumber>2</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
909
ExpressionSetDefinitionMetadata Types
<stepType>Condition</stepType>
</steps>
<steps>
<advancedCondition>
<successMessage>success</successMessage>
<errorMessage>error</errorMessage>
<conditionLogic>1</conditionLogic>
<criteria>
<operator>Equals</operator>
<sequenceNumber>1</sequenceNumber>
<sourceFieldName>condition_output__1</sourceFieldName>
<value>true</value>
<valueType>Literal</valueType>
</criteria>
<resultParameter>condition_output__3</resultParameter>
</advancedCondition>
<label>Condition</label>
<name>Condition4</name>
<resultIncluded>false</resultIncluded>
<sequenceNumber>3</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>AdvancedCondition</stepType>
</steps>
<steps>
<conditionExpression>
<expression>IS10 == b</expression>
<resultParameter>condition_output__2</resultParameter>
</conditionExpression>
<label>Condition</label>
<name>Condition7</name>
<parentStep>Branch</parentStep>
<resultIncluded>false</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>Condition</stepType>
</steps>
<steps>
<label>Default Lane</label>
<name>DefaultLane</name>
<parentStep>Branch</parentStep>
<resultIncluded>false</resultIncluded>
<sequenceNumber>2</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>false</shouldShowExplExternally>
<stepType>DefaultPath</stepType>
</steps>
<steps>
<actionType>AssignParameterValues</actionType>
<assignment>
910
ExpressionSetDefinitionMetadata Types
<assignedParameter>a</assignedParameter>
<expression>3</expression>
</assignment>
<failedExplainerTemplate>CalculationFailure</failedExplainerTemplate>
<failedMessageTokenMappings>
<expressionSetMessageToken>y2</expressionSetMessageToken>
<resourceReference>a</resourceReference>
</failedMessageTokenMappings>
<label>CalculationStepWithTokensAndMappings</label>
<name>CalculationStepWithTokensAndMappings</name>
<passedExplainerTemplate>CalculationSuccess</passedExplainerTemplate>
<passedMessageTokenMappings>
<expressionSetMessageToken>y1</expressionSetMessageToken>
<resourceReference>a</resourceReference>
</passedMessageTokenMappings>
<resultIncluded>false</resultIncluded>
<sequenceNumber>1</sequenceNumber>
<shouldExposExecPathMsgOnly>true</shouldExposExecPathMsgOnly>
<shouldExposeConditionDetails>false</shouldExposeConditionDetails>
<shouldShowExplExternally>true</shouldShowExplExternally>
<stepType>BusinessKnowledgeModel</stepType>
</steps>
<variables>
<collection>false</collection>
<dataType>Boolean</dataType>
<description>condition_output__3</description>
<input>false</input>
<name>condition_output__3</name>
<output>false</output>
<resultStep>Condition4</resultStep>
<type>Variable</type>
<value>False</value>
</variables>
<variables>
<collection>false</collection>
<dataType>Numeric</dataType>
<decimalPlaces>2</decimalPlaces>
<description>a</description>
<input>true</input>
<name>a</name>
<output>false</output>
<type>Variable</type>
<value>10</value>
</variables>
<variables>
<collection>false</collection>
<dataType>Boolean</dataType>
<description>condition_output__1</description>
<input>false</input>
<name>condition_output__1</name>
<output>false</output>
<resultStep>Condition</resultStep>
<type>Variable</type>
<value>False</value>
911
ExpressionSetDefinitionMetadata Types
</variables>
<variables>
<collection>false</collection>
<dataType>Boolean</dataType>
<description>condition_output__2</description>
<input>false</input>
<name>condition_output__2</name>
<output>false</output>
<resultStep>Condition7</resultStep>
<type>Variable</type>
<value>False</value>
</variables>
<variables>
<collection>false</collection>
<dataType>Numeric</dataType>
<decimalPlaces>2</decimalPlaces>
<description>IS10</description>
<input>false</input>
<name>IS10</name>
<output>false</output>
<type>Constant</type>
<value>10</value>
</variables>
<variables>
<collection>false</collection>
<dataType>Numeric</dataType>
<decimalPlaces>2</decimalPlaces>
<description>b</description>
<input>false</input>
<name>b</name>
<output>true</output>
<type>Variable</type>
</variables>
<variables>
<collection>false</collection>
<dataType>Numeric</dataType>
<decimalPlaces>2</decimalPlaces>
<description>result</description>
<input>false</input>
<name>result</name>
<output>true</output>
<type>Variable</type>
</variables>
<versionNumber>1</versionNumber>
</versions>
</ExpressionSetDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExpressionSetDefinition</name>
912
ExpressionSetDefinitionMetadata Types
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExpressionSetObjectAlias
Represents information about the alias of the source object thats used in an expression set.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExpressionSetObjectAlias components have the suffix .expressionSetObjectAlias and are stored in the
expressionSetObjectAlias folder.
Version
ExpressionSetObjectAlias components are available in API version 56.0 and later.
Fields
DescriptionField Name
Field Type
ExpsSetObjectDataType (enumeration of type string)
dataType
Description
Required.
The data type of the object alias.
Values are:
JSON
sObject
Field Type
ExpressionSetObjectAliasField[]
mappings
Description
The mapping between a source field and its corresponding field alias.
913
ExpressionSetObjectAliasMetadata Types
DescriptionField Name
Field Type
string
objectApiName
Description
Required.
The API name of the top-level object, when the data type is sObject. The key of the
top-level object, when the data type is JSON.
Field Type
ExpsSetProcessType (enumeration of type string)
usageType
Description
Required.
The type of application associated with the industry that's using an expression set.
Your Salesforce org admin can define the values.
ExpressionSetObjectAliasField
The fields associated with the source object for which the object alias is created.
DescriptionField Name
Field Type
string
fieldAlias
Description
Required.
The field alias associated with the source field name.
Field Type
string
sourceFieldName
Description
Required.
The name of the source field for which the field alias is created. The source field name
under an object alias must be unique.
Declarative Metadata Sample Definition
The following is an example of an ExpressionSetObjectAlias component.
<?xml version="1.0" encoding="UTF-8"?>
<ExpressionSetObjectAlias xmlns="http://soap.sforce.com/2006/04/metadata">
<dataType>sObject</dataType>
914
ExpressionSetObjectAliasMetadata Types
<mappings>
<fieldAlias>dum2</fieldAlias>
<sourceFieldName>CreatedBy.Contact.Name</sourceFieldName>
</mappings>
<mappings>
<fieldAlias>dum3</fieldAlias>
<sourceFieldName>CreatedBy.Name</sourceFieldName>
</mappings>
<mappings>
<fieldAlias>dum1</fieldAlias>
<sourceFieldName>Owner.Contact.Name</sourceFieldName>
</mappings>
<objectApiName>Account</objectApiName>
<usageType>Bre</usageType>
</ExpressionSetObjectAlias>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExpressionSetObjectAlias</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExternalClientApplication
Represents the header file for an external client application configuration.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExternalClientApplication components have the suffix .eca and are stored in the externalClientApps folder.
Version
ExternalClientApplication components are available in API version 59.0 and later.
915
ExternalClientApplicationMetadata Types
Special Access Rules
Access to the ExternalClientApplication type requires orgs to enable the Opt in to External Client Apps permission in Setup.
Fields
DescriptionField Name
Field Type
string
contactEmail
Description
The email address that Salesforce uses to contact the external client app admin for
the subscriber org.
Field Type
string
contactPhone
Description
The phone number that Salesforce uses to contact the external client app admin for
the subscriber org.
Field Type
string
description
Description
A description for the app.
Field Type
ExtlClntAppDistState (enumeration of type string)
distributionState
Description
The distribution state of an external client app.
Values are:
Local
Managed. For internal use only.
Packaged
Field Type
string
iconUrl
Description
The URL for the icon image.
Field Type
string
infoUrl
Description
Reserved for future use.
916
ExternalClientApplicationMetadata Types
DescriptionField Name
Field Type
boolean
isProtected
Description
A package construct that developers use to control the visibility of components in
subscriber orgs. Default is false.
Field Type
string
label
Description
The label for the external client app.
Field Type
string
logoUrl
Description
The URL for the logo image.
Field Type
ExtlClntAppManagedType (enumeration of type string)
managedType
Description
For internal use only.
Field Type
string
orgScopedExternalApp
Description
A unique ID consisting of the org ID and the name of this external client app. Either
defined by the developer or auto-generated during the first deployment. The expected
value uses this format: [Organization_ID]:[External Client App
Name].
Declarative Metadata Sample Definition
This example shows an ExternalClientApplication component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalClientApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<contactEmail>[email protected]</contactEmail>
<description>Test external client app</description>
<distributionState>Local</distributionState>
<iconUrl>https://icon.example.com</iconUrl>
<infoUrl>https://info.example.com</infoUrl>
<logoUrl>https://logo.example.com</logoUrl>
<label>myeca</label>
<isProtected>false</isProtected>
917
ExternalClientApplicationMetadata Types
<orgScopedExternalApp>Org_ID:External_Client_App_Name</orgScopedExternalApp>
</ExternalClientApplication>
This example package.xml references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalClientApplication</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppGlobalOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthConfigurablePolicies</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppConfigurablePolicies</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExternalCredential
Represents the details of how Salesforce authenticates to the external system.
Note: All credentials stored within this entity are encrypted under a framework that is consistent with other encryption frameworks
on the platform. Salesforce encrypts your credentials by auto-creating org-specific keys. Credentials encrypted using the previous
encryption scheme have been migrated to the new framework.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExternalCredential components have the suffix .externalCredential and are stored in the externalCredentials folder.
918
ExternalCredentialMetadata Types
Version
ExternalCredential components are available in API version 56.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
AuthenticationProtocol (enumeration of type string)
authenticationProtocol
Description
Required.
The authentication protocol thats required to access the external system. Valid values
are:
AwsSv4
Custom User-created authentication. Specify the permission set, sequence
number, and authentication parameters. Each authentication parameter requires
a name and value.
Jwt Reserved for future use
JwtExchange Reserved for future use
NoAuthentication Reserved for future use
Oauth
Password Reserved for future use
For connections to Amazon Web Services using Signature Version 4, use AwsSv4.
For connections using a direct token system, select Jwt.
For Simple URL data sources, select Custom with no parameters.
For cloud-based Files Connect external systems, select Oauth. For on-premises
systems, select Password.
Field Type
string
description
Description
A meaningful description of the external credential.
Field Type
ExternalCredentialParameter[]
externalCredentialParameters
Description
One or more sets of parameters that further configure the external credential.
919
ExternalCredentialMetadata Types
DescriptionField Name
Field Type
string
label
Description
Required.
Name of the external credential.
ExternalCredentialParameter
Represents the parameters that configure an external credential. External credential parameters are used to configure external credential
callouts through a combination of the type, name, and value and lookup fields. Available in API version 56.0 and later.
These parameters are used internally to provide a flexible architecture and are exposed here for packaging reasons.
DescriptionField Name
Field Type
string
authProvider
Description
Reference to an authentication provider that the AuthProvider component
represents, which defines the service that provides the login process and approves
access to the external system.
Type
string
certificate
Description
If the value of parameterType is SigningCertificate, then this field
references the certificate.
Field Type
string
description
Description
A human readable description of this external credential parameter.
Field Type
string
externalAuthIdentityProvider
Description
Reserved for internal use.
Field Type
string
parameterGroup
920
ExternalCredentialMetadata Types
DescriptionField Name
Description
Groups a parameter along with its respective principal. For example, with dynamic
scopes, the user can apply a scope AuthParameter only when authenticated
against a specific principal with a matching parameterGroup value.
If a value for parameterGroup isnt provided, parameterGroup defaults to
the parameterName value for PER_USER and NAMED_PRINCIPAL. For all other
parameters parameterGroup defaults to DEFAULT_GROUP.
Field Type
string
parameterName
Description
Required.
The name of the external credential parameter.
Field Type
ExternalCredentialParamType (enumeration of type string)
parameterType
Description
Required.
The type of external credential parameter. The value of this field drives the behavior
of the parameter. Valid values are:
AdditionalRefreshStatusCode: Allows the user to specify 4xx HTTP
status codes that trigger Salesforce to refresh expired or invalid access tokens, in
addition to the standard 401 HTTP status code response.
AuthHeader: Allows the user to specify custom authentication headers to be
added to the callout at run time. When using AuthHeader, the
parameterName field must be the header name as a string, and
parameterValue must be a formula of a header value that is evaluated at
run time. sequenceNumber determines the order in which headers are sent
out in the callout. Headers with lower numbers are sent out first.
AuthParameter: Allows users to add additional authentication settings.
parameterName defines the parameter to set. For example, AwsRegion
sets the AWS Region parameter to apply for an AWS Signature V4 authentication
protocol and parameterValue is the value for the AWS Region.
AuthProtocolVariant: Used to specify a variant of an authentication
protocol. For example, Aws Sts as a variant when the ParameterName is
AwsSv4 and the ParameterValue is AwsSv4_STS.
AuthProvider: Specifies that this parameter configures an authentication
provider referenced by the authProvider field.
AuthProviderUrl: Specifies the authentication endpoint URL. For example,
if the authentication type is OAuth with JWT Bearer Flow, then
parameterValue is an authentication token endpoint.
921
ExternalCredentialMetadata Types
DescriptionField Name
AuthProviderUrlQueryParameter: Allows the user to specify custom
query parameters to be added to the callout to the authentication provider at run
time. Currently, supported only for AWS Signature V4 with STS. The allowed
AuthProviderUrlQueryParameter values are AwsExternalId and
AwsDuration, used with AWS STS.
AwsStsPrincipal: Configures AWS Signature V4 along with STS.
parameterName is AwsStsPrincipal and parameterValue isnt
specified.
CreatedByNamespace: Reserved for internal use.
JwtBodyClaim: Specifies a JWT (JSON Web Token) body claim, where
parameterName is the key and parameterValue is the value. For example,
the parameter name for a JWT audience is aud.
JwtHeaderClaim: Specifies a JWT header claim, where parameterName
is the key and parameterValue is the value. For example, the parameter
name for a JWT key identifier is kid.
NamedPrincipal: Specifies that the parameter uses the same set of user
credentials for all users who access the external system.
PerUserPrincipal: Provides access control at the individual user level.
SigningCertificate: Specifies the certificate used for an authentication
signature. Use the certificate field to specify the certificate name. Used for
OAuth with JWT Bearer Flow and AwsSv4 STS with RolesAnywhere authentication.
Field Type
string
parameterValue
Description
If the parameterType field describes a literal value then the literal value is stored
in this field.
Field Type
string
principal
Description
If the value of the parameterType field is either NamedPrincipal or
PerUserPrincipal, this field points to a permission set. That value then
determines the set of users that are allowed to use credentials provided by the
credential provider. The value of the parameterName field specifies the name of
this principal.
First available in API version 56.0, this field is removed in API version 58.0 and
later.
Field Type
int
sequenceNumber
922
ExternalCredentialMetadata Types
DescriptionField Name
Description
Specifies the order of principals to apply when a user participates in more than one
principal. For example, a user could be part of multiple permission sets that are
applicable for a credential provider. Priority is from lower to higher numbers.
You can set this field only when parameterType is NamedPrincipal.
Declarative Metadata Sample Definition
The following is an example of an ExternalCredential component.
<ExternalCredential xmlns="http://soap.sforce.com/2006/04/metadata">
<label>SampleExternalCredential</label>
<authenticationProtocol>AwsSv4</authenticationProtocol>
<externalCredentialParameters>
<parameterName>Principal</parameterName>
<parameterType>NamedPrincipal</parameterType>
<sequenceNumber>1</sequenceNumber>
</externalCredentialParameters>
<externalCredentialParameters>
<parameterName>AwsService</parameterName>
<parameterValue>iam</parameterValue>
<parameterType>AuthParameter</parameterType>
</externalCredentialParameters>
<externalCredentialParameters>
<parameterName>AwsRegion</parameterName>
<parameterValue>us-east-1</parameterValue>
<parameterType>AuthParameter</parameterType>
</externalCredentialParameters>
</ExternalCredential>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalCredential</name>
</types>
<version>56.0</version>
</Package>
923
ExternalCredentialMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
NamedCredential
Salesforce Help: Named Credentials
Named Credentials Developer Guide: Get Started with Named Credentials
Named Credentials Developer Guide: Named Credential API Links
Apex Developer Guide: Invoking Callouts Using Apex
Apex Developer Guide: Named Credentials as Callout Endpoints
ExternalAIModel
Represents the state of a given model for an Einstein for Service feature, such as Einstein Reply Recommendations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExternalAIModel components have the suffix .externalAIModel and are stored in the externalAIModels folder.
Version
ExternalAIModel components are available in API version 51.0 and later.
Special Access Rules
This type is available only when an org is configured to access the application in the applicationSourceType field. For example,
if applicationSourceType is set to ARTICLE_RECOMMENDATION, this type is available only if Einstein Article
Recommendations is enabled in the org and the Main Services Agreement has been accepted.
Fields
DescriptionField TypeField Name
Required. The target application for the configuration. Valid values are:ApplicationSourceType
(enumeration of
type string)
applicationSourceType
REPLY_RECOMMENDATION Einstein Reply
Recommendations
ARTICLE_RECOMMENDATION Einstein Article
Recommendations
924
ExternalAIModelMetadata Types
DescriptionField TypeField Name
UTTERANCE_RECOMMENDATION Einstein Bot utterances
FAQ Einstein Bot frequently asked questions
Required. Unique key which identifies external model
corresponding this applicationType
stringexternalModelKey
Required. The current state of a given model. Valid values are:ExternalModelStatus
(enumeration of
type string)
externalModelStatus
DISABLED
ENABLED
PAUSED
Required. A reference to the configuration.stringname
Threshold override value for this model. Nillable.doublethreshold
Training job path corresponding to the given model. Nillable.stringtrainingJobName
Declarative Metadata Sample Definition
The following is an example of an ExternalAIModel component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalAIModel xmlns="http://soap.sforce.com/2006/04/metadata">
<applicationSourceType>REPLY_RECOMMENDATION</applicationSourceType>
<externalModelKey>0f16dea6-b886-44df-9cfa-4d96b51d6594</externalModelKey>
<externalModelStatus>ENABLED</externalModelStatus>
<name>SR1601228426202</name>
<threshold>0.9</threshold>
<trainingJobName>TestJob</trainingJobName>
</ExternalAIModel>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalAIModel</name>
</types>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
925
ExternalAIModelMetadata Types
ExternalServiceRegistration
Represents the External Service configuration for an org. This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
ExternalServiceRegistration components have the suffix .externalServiceRegistration and are stored in the
externalServiceRegistrations folder.
Version
ExternalServiceRegistration components are available in API version 39.0 and later.
Note: In API version 47.0 and earlier, External Services supported Interagent and a limited subset of OpenAPI 2.0. As of API version
48.0, External Services supports OpenAPI 2.0 but doesnt support InteragentHyperSchema. As of API version 54.0, External Services
supports a limted subset of OpenAPI 3.0. See External Services Considerations in Salesforce Help.
Fields
DescriptionField TypeField Name
The external service description defined when the service is created.stringdescription
Required. The service name as it appears on the External Services wizard.stringlabel
The reference by name to be used for the service.stringnamedCredential
The reference by ID to be used for the named credential. When used,
supersedes namedCredential. Available in API version 57.0 and
later.
referenceNamedCredentialReferenceId
Items defined for this operation.ExternalServiceOperation[]operations
Indicates the source of the API specification registered with the External
Services wizard. Valid values include:
ExternalServiceRegistrationProviderType
(enumeration of
type string)
registrationProviderType
Custom - The API spec was manually configured.
Mulesoft - The API spec was selected from Mulesoft.
SchemaInferred - The API spec was provided during the HTTP
Callout configuration process. Available in API version 57.0 and later.
The content of the JSON schema in the OpenAPI 2.0 format. Nillable.stringschema
The full, absolute URL to the schema. Populated when a user selects
Absolute URL during registration.
stringschemaAbsoluteUrl
The schema format. OpenAPI for Open API 2.0 or InteragentHyperSchema
for API version 47.0 and earlier. If not specified, schema type is derived
based on the schema content. Nillable.
stringschemaType
926
ExternalServiceRegistrationMetadata Types
DescriptionField TypeField Name
The file's extension. Populated when a user selects Upload from local
during registration.
stringschemaUploadFileExtension
The file's name without the file extension. Populated when a user selects
Upload from local during registration.
stringschemaUploadFileName
The path should begin with "/" and be relative to the named credential
endpoint.
stringschemaUrl
Used to map non-supported media types for this external service
registration to supported media types. Nillable. Available in API version
53.0 and later.
stringserviceBinding
Required. Indicates service registration status. Valid values include:stringstatus
complete - The API spec is valid and the registration is ready to
use.
incomplete - The service registration hasnt completed.
The internal version of External Services used to register the API
specification. Available in API version 55.0 and later.
intsystemVersion
1 - Retired legacy External Services.
2 - External Services with limitations on object and operation name
length.
3 - Current version. External Services with automatically derived
developer names fitting within 80 characters.
ExternalServiceOperation
DescriptionField TypeField Name
Required. Indicates whether the operation is active (true), or inactive
(false).
booleanactive
Required. The operations name.stringname
Declarative Metadata Sample Definition
The following is an example of an ExternalServiceRegistration component that references an external credit service.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalServiceRegistration xmlns="http://soap.sforce.com/2006/04/metadata">
<label>BankService</label>
<namedCredential>Bank</namedCredential>
<schema>{
"swagger": "2.0",
"basePath": "/",
"info": {
927
ExternalServiceRegistrationMetadata Types
"version": "1.0",
"title": "External Service for demo bank",
"description": "### External Service for demo bank",
"x-vcap-service-name": "DemoBankRestServices"
},
...
"paths": {
"/accounts/{accountName}": {
...
}
},
"definitions": {
"accountDetails": {
...
},
"errorModel": {
...
}
}
}</schema>
<schemaType>OpenApi</schemaType>
<schemaUrl>/accounts/schema</schemaUrl>
<status>Complete</status>
</ExternalServiceRegistration>
serviceBinding
The following JSON-encoded string defines the mapping of a non-supported media type to a supported media type for external service
request and response body serialization.
{"compatibleMediaTypes":{
"application/x-acme-json":"application/json"
}}
The non-supported media type application/x-acme-json is mapped to the supported media type application/json
for this External Services registration. The External Services runtime takes into account the non-supported media type for request and
response header processing and serializes the request and response content by the mapped supported media type.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Salesforce Help: Media Type Mapping in External Service Registrations
ExtlClntAppConfigurablePolicies
Represents the policies for an external client app to disable or enable plugins.
928
ExtlClntAppConfigurablePoliciesMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExtlClntAppConfigurablePolicies components have the suffix .ecaPlcy and are stored in the extlClntAppPolicies folder.
Version
ExtlClntAppConfigurablePolicies components are available in API version 60.0 and later.
Special Access Rules
The View all External Client Apps, view their settings, and edit their policies user permission is required for users with admin roles to
configure OAuth policies.
Fields
DescriptionField Name
Field Type
string
externalClientApplication
Description
Required.
The name of the external client app associated with the OAuth plugins.
Field Type
boolean
isEnabled
Description
Required.
If true, all plugins are enabled unless individually disabled. If false, all plugins are
disabled. The default value is true. Available in API version 60.0 and later.
Field Type
boolean
isOauthPluginEnabled
Description
If true, the OAuth plugin is enabled. If false the OAuth plugin is disabled. The
default value is true. Available in API version 60.0 and later.
Field Type
string
label
Description
The OAuth policies name for the external client app.
929
ExtlClntAppConfigurablePoliciesMetadata Types
Declarative Metadata Sample Definition
This example shows an ExtlClntAppConfigurablePolicies component.
<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppConfigurablePolicies xmlns="http://soap.sforce.com/2006/04/metadata">
<externalClientApplication>myeca</externalClientApplication>
<isEnabled>true</isEnabled>
<isOauthPluginEnabled>true</isOauthPluginEnabled>
<label>myecapolicy</label>
</ExtlClntAppConfigurablePolicies>
This example package.xml references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalClientApplication</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppGlobalOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthConfigurablePolicies</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppConfigurablePolicies</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExtlClntAppGlobalOauthSettings
Represents the global settings for the OAuth plugin in an external client app. These settings include private and sensitive OAuth consumer
information that cant be packaged and must not be added to source control.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
930
ExtlClntAppGlobalOauthSettingsMetadata Types
File Suffix and Directory Location
ExtlClntAppGlobalOauthSettings components have the suffix .ecaGlblOauth and are stored in the
extlClntAppGlobalOauthSets folder.
Version
ExtlClntAppGlobalOauthSettings components are available in API version 59.0 and later.
Special Access Rules
Access to the OAuth plugin requires orgs to enable the Allow Access to OAuth Consumer Secrets via Metadata API permission in Setup.
The View External Client Apps Consumer Secrets in Metadata user permission is required for users with developer roles to configure
global OAuth settings.
Fields
DescriptionField Name
Field Type
string
callbackUrl
Description
The endpoint that Salesforce calls back to your external client app during OAuth. Its
the OAuth redirect_uri.
Field Type
string
certificate
Description
If the app uses a certificate, the PEM-encoded certificate string. When provided, it
enables the JWT Bearer flow. Available in API version 60.0 and later.
Field Type
string
consumerKey
Description
A value used by the consumer for identification to Salesforce. Referred to as client_id
in OAuth 2.0.
Field Type
string
consumerSecret
Description
A value that is combined with the consumerKey and used by the consumer for
identification to Salesforce. Referred to as client_secret in OAuth 2.0.
Field Type
string
externalClientApplication
931
ExtlClntAppGlobalOauthSettingsMetadata Types
DescriptionField Name
Description
Required.
Name of the external client application.
Field Type
ExternalAppIdTokenConfig
idTokenConfig
Description
The settings for the ID token.
Field Type
boolean
isClientCredentialsFlowEnabled
Description
If set to true, the OAuth 2.0 client credentials flow is enabled. Available in API version
60.0 and later.
Field Type
boolean
isCodeCredFlowEnabled
Description
If set to true, the external client app can use the Authorization Code and Credentials
Flow and its variations for headless login, passwordless login, and guest user identity
services in an off-platform app. Headless registration isnt currently supported for
external client apps. The default value is false.
To use this field, the Authorization Code and Credentials Flow must be enabled for
your org in OAuth and OpenID Connect settings.
Available in API version 61.0 and later.
Field Type
boolean
isCodeCredPostOnly
Description
If set to true, for the Authorization Code and Credentials Flow, the external client
app is required to send the users credentials to the Salesforce
services/oauth2/authorize endpoint in the body of a POST request. If set
to false, the app can send a POST or GET request with the users credentials in the
request body or in a Basic authorization header. The default value is false.
To use this field, the Authorization Code and Credentials Flow must be enabled for
your external client app. Headless registration, a variation of this flow, isnt currently
supported for external client apps.
Available in API version 61.0 and later.
Field Type
boolean
isConsumerSecretOptional
932
ExtlClntAppGlobalOauthSettingsMetadata Types
DescriptionField Name
Description
If set to false (default), the external apps client secret is required in exchange for
an access token in the OAuth 2.0 web server flow. If set to true, the external apps
client secret is optional.
Field Type
boolean
isDeviceFlowEnabled
Description
If set to true, the external client app can use the OAuth 2.0 device flow. Available in
API version 60.0 and later.
Field Type
boolean
isIntrospectAllTokens
Description
If set to true, authorizes the external app to introspect all access and refresh all
tokens. If set to false (default), the external client app can introspect its own tokens.
Field Type
boolean
isNamedUserJwtEnabled
Description
If set to true, the external client app issues JSON Web Token (JWT)-based access
tokens. If set to false, it issues opaque access tokens. The default value is false.
For installed apps, JWT-based access tokens must also be enabled in your external
client apps OAuth policies.
Available in API version 61.0 and later.
Field Type
boolean
isPkceRequired
Description
If set to true (default) Proof Key for Code for Exchange (PKCE) is required for OAuth
integration. If set to false, PKCE is optional.
Field Type
boolean
isRefreshTokenRotationEnabled
Description
If set to true, the refresh token rotation is enabled. Available in API version 60.0 and
later.
Field Type
boolean
isSecretRequiredForRefreshToken
933
ExtlClntAppGlobalOauthSettingsMetadata Types
DescriptionField Name
Description
If set to true (default), the apps client secret is required in the authorization request
of a refresh token and hybrid refresh token flow. If set to false and an app sends
the client secret in the authorization request, Salesforce still validates it.
Field Type
boolean
isSecretRequiredForTokenExchange
Description
If set to true, the apps client secret is required for token exchange. Available in API
version 60.0 and later.
Field Type
boolean
isTokenExchangeEnabled
Description
If set to true, token exchange is enabled. Available in API version 60.0 and later.
Field Type
string
label
Description
External Client Application Global OAuth Settings name.
Field Type
boolean
shouldRotateConsumerKey
Description
If set to true, the OAuth external client app's consumer key is replaced with a newly
generated key on metadata deploy.. To maintain security, if this field is set to true,
you must include the ignore warnings attribute in the deploy command. Default is
false.
Field Type
boolean
shouldRotateConsumerSecret
Description
If set to true, the OAuth external client apps consumer secret is replaced with a
newly generated secret on metadata deploy. To maintain security, if this field is set to
true, you must include the ignore warnings attribute in the deploy command. Default
is false.
ExternalAppIdTokenConfig
Represents configurations that determine the ID token attributes.
934
ExtlClntAppGlobalOauthSettingsMetadata Types
DescriptionField Name
Field Type
string
idTokenAudience
Description
The audience that this ID token is intended for.
Field Type
boolean
idTokenIncludeAttributes
Description
Indicates whether attributes are included in the ID token (true) or not (false).
Field Type
boolean
idTokenIncludeStandardClaims
Description
Indicates whether standard claims about the authentication event are included in the
ID token (true) or not (false).
Field Type
int
idTokenValidityInMinutes
Description
The length of time that the ID token is valid for after its issued. The value can be 1720
minutes.
Declarative Metadata Sample Definition
This example shows an ExtlClntAppGlobalOauthSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppGlobalOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<callbackUrl>https://www.example.com</callbackUrl>
<externalClientApplication>myeca</externalClientApplication>
<idTokenConfig>
<idTokenAudience>SalesforceAudience</idTokenAudience>
<idTokenIncludeStandardClaims>true</idTokenIncludeStandardClaims>
<idTokenValidityInMinutes>0</idTokenValidityInMinutes>
</idTokenConfig>
<isConsumerSecretOptional>false</isConsumerSecretOptional>
<isIntrospectAllTokens>false</isIntrospectAllTokens>
<isPkceRequired>true</isPkceRequired>
<isSecretRequiredForRefreshToken>false</isSecretRequiredForRefreshToken>
<label>myecaglobalset</label>
<shouldRotateConsumerKey>false</shouldRotateConsumerKey>
<shouldRotateConsumerSecret>false</shouldRotateConsumerSecret>
</ExtlClntAppGlobalOauthSettings>
935
ExtlClntAppGlobalOauthSettingsMetadata Types
This example package.xml references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalClientApplication</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppGlobalOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthConfigurablePolicies</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppConfigurablePolicies</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExtlClntAppOauthConfigurablePolicies
Represents the policies configured by the admin for an OAuth-enabled external client app.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExtlClntAppOauthConfigurablePolicies components have the suffix .ecaOauthPlcy and are stored in the
extlClntAppOauthPolicies folder.
Version
ExtlClntAppOauthConfigurablePolicies components are available in API version 59.0 and later.
936
ExtlClntAppOauthConfigurablePoliciesMetadata Types
Special Access Rules
The View all External Client Apps, view their settings, and edit their policies user permission is required for users with admin roles to
configure OAuth policies.
Fields
DescriptionField Name
Field Type
string
apexHandler
Description
Name of the Apex handler. Available in API version 61.0 and later.
Field Type
string
clientCredentialsFlowUser
Description
The execution user for the OAuth 2.0 client credentials flow. Salesforce returns access
tokens on behalf of this user. This user must have the API Only permission. Available
in API version 60.0 and later.
Field Type
string
commaSeparatedCustomScopes
Description
Custom scope names in a comma-separated list. Available in API version 61.0 and later.
Field Type
string
commaSeparatedPermissionSet
Description
Permission set IDs in a comma-separated list.
Field Type
ExtlClntAppOauthPoliciesAttribute[]
customAttributes
Description
Unique attributes to be included as admin defaults. The maximum number accepted
is 128. Each custom attribute must have a unique key and use an available field.
Field Type
string
executeHandlerAs
Description
Username of the Apex handler's execution user. Available in API version 61.0 and later.
Field Type
string
externalClientApplication
937
ExtlClntAppOauthConfigurablePoliciesMetadata Types
DescriptionField Name
Description
Required.
The name of the external client app associated with this OAuth policies file.
Field Type
int
guestJwtTimeout
Description
The amount of time before a JWT-based access token issued to a guest user expires.
Values are:
11 Minute
55 Minutes
1010 Minutes
1515 Minutes
3030 Minutes
Available in API version 61.0 and later.
Field Type
string
ipRelaxationPolicyType
Description
The policy that determines IP restrictions.
Values are:
Enforce
Bypass
Bypass_2factor
Enforce_RelaxRefresh
Field Type
boolean
isClientCredentialsFlowEnabled
Description
If true, the client credentials flow is enabled. The default value is false. Available
in API version 60.0 and later.
Field Type
boolean
isGuestCodeCredFlowEnabled
Description
If true, the external client app can use the guest user variation of the Authorization
Code and Credentials Flow. To use this flow variation, the external client app must also
be configured to issue JWT-based access tokens. The default value is false. Available
in API version 61.0 and later.
938
ExtlClntAppOauthConfigurablePoliciesMetadata Types
DescriptionField Name
Field Type
boolean
isNamedUserJwtEnabled
Description
If true, the external client app issues JWT-based access tokens instead of opaque
access tokens. The default value is false. Available in API version 61.0 and later.
Field Type
boolean
isTokenExchangeFlowEnabled
Description
If truetrue, the token exchange flow is enabled. The default value is false.
Available in API version 60.0 and later.
Field Type
string
label
Description
The OAuth policies name for the external client app.
Field Type
int
namedUserJwtTimeout
Description
The amount of time before a JWT-based access token issued to a named user expires.
Values are:
11 Minute
55 Minutes
1010 Minutes
1515 Minutes
3030 Minutes
Available in API version 61.0 and later.
Field Type
PermittedUsersPolicyType (enumeration of type string)
permittedUsersPolicyType
Description
The policy that determines which users are allowed in the external client app.
Values are:
AdminApprovedPreAuthorized
AllSelfAuthorized
Field Type
PolicyAction (enumeration of type string)
policyAction
939
ExtlClntAppOauthConfigurablePoliciesMetadata Types
DescriptionField Name
Description
Requires users to verify their identity with two-factor authentication when they log in
to the external client app. Use RaiseSessionLevel along with
requiredSessionLevel to determine the security posture.
Values are:
Block
RaiseSessionLevel
Field Type
RefreshTokenPolicyType (enumeration of type string)
refreshTokenPolicyType
Description
The type of policy that determines when a token must be refreshed.
Values are:
Infinite
SpecificInactivity
SpecificLifetime
Zero
Field Type
int
refreshTokenValidityPeriod
Description
The number of units of measure used to specify validity when refresh token policy
type is set to SpecificInactivity or SpecificLifetime.
Field Type
string
refreshTokenValidityUnit
Description
The unit of measurement that is used to specify validity when refresh token policy
type is set to SpecificInactivity or SpecificLifetime.
Values are:
Days
Hours
Months
Field Type
SessionSecurityLevel (enumeration of type string)
requiredSessionLevel
Description
Defines the security posture.
Values are:
HIGH_ASSURANCE
940
ExtlClntAppOauthConfigurablePoliciesMetadata Types
DescriptionField Name
LOW
STANDARD
Field Type
int
sessionTimeoutInMinutes
Description
Length of time the external client apps session lasts.
Field Type
string
singleLogoutUrl
Description
URL where Salesforce sends a logout request when users log out of Salesforce.
Field Type
string
startUrl
Description
URL where users are directed after they authenticate.
ExtlClntAppOauthPoliciesAttribute
Represents admin-defined attributes that provide personal information to customize the external client app for a specific use case.
DescriptionField Name
Field Type
string
formula
Description
Required.
The existing field that includes the desired information. For example,
Organization.Country.
Field Type
string
key
Description
Required.
A unique name for the attribute. For example, country.
941
ExtlClntAppOauthConfigurablePoliciesMetadata Types
Declarative Metadata Sample Definition
This example shows an ExtlClntAppOauthConfigurablePolicies component.
<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppOauthConfigurablePolicies xmlns="http://soap.sforce.com/2006/04/metadata">
<externalClientApplication>myeca</externalClientApplication>
<label>myecapolicy</label>
<apexHandler>MyEcaOauthApexHandler</apexHandler>
<executeHandlerAs>[email protected]</executeHandlerAs>
<refreshTokenPolicyType>SpecificLifetime</refreshTokenPolicyType>
<refreshTokenValidityPeriod>1</refreshTokenValidityPeriod>
<refreshTokenValidityUnit>Days</refreshTokenValidityUnit>
<ipRelaxationPolicyType>Enforce</ipRelaxationPolicyType>
<permittedUsersPolicyType>AdminApprovedPreAuthorized</permittedUsersPolicyType>
<commaSeparatedPermissionSet>PermSetExample</commaSeparatedPermissionSet>
<commaSeparatedCustomScopes>CustomScopeExample</commaSeparatedCustomScopes>
<sessionTimeoutInMinutes>1</sessionTimeoutInMinutes>
<requiredSessionLevel>HIGH_ASSURANCE</requiredSessionLevel>
<policyAction>RaiseSessionLevel</policyAction>
<singleLogoutUrl>https://www.example.com</singleLogoutUrl>
<startUrl>https://www.example.com</startUrl>
</ExtlClntAppOauthConfigurablePolicies>
This example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalClientApplication</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppGlobalOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthConfigurablePolicies</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppConfigurablePolicies</name>
</types>
<version>60.0</version>
</Package>
942
ExtlClntAppOauthConfigurablePoliciesMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExtlClntAppOauthSettings
Represents the settings configuration for the external client apps OAuth plugin.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ExtlClntAppOauthSettings components have the suffix .ecaOauth and are stored in the extlClntAppOauthSettings folder.
Version
ExtlClntAppOauthSettings components are available in API version 59.0 and later.
Special Access Rules
Access to the OAuth plugin requires orgs to enable the Allow Access to OAuth Consumer Secrets via Metadata API permission in Setup.
The View External Client Apps Consumer Secrets in Metadata user permission is required for users with developer roles to configure
OAuth settings.
Fields
DescriptionField Name
Field Type
boolean
areAttributesIncludedInAssetToken
Description
Indicates whether custom attributes associated with the external client app are included
in the JSON Web Token (JWT) payload of an asset token issued as a result of the asset
token flow. The default value is false.
Available in API version 61.0 and later.
Field Type
boolean
areCustomPermsIncludedInAssetToken
Description
Indicates whether custom permissions associated with the external client app are
included in the JWT payload of an asset token issued as a result of the asset token flow.
The default value is false.
943
ExtlClntAppOauthSettingsMetadata Types
DescriptionField Name
Available in API version 61.0 and later.
Field Type
string
assetTokenAudiences
Description
Required for the OAuth asset token flow. The audience (aud) claim in the JWT payload
of an asset token issued by the external client app. This claim identifies who the asset
token is intended for. The value must be an array of case-sensitive strings, each
containing a StringOrURI value. Specify an audience for each intended consumer
of the asset token.
Available in API version 61.0 and later.
Field Type
string
assetTokenSigningCertificate
Description
Required for the asset token flow. The ID of the self-signed certificate used to sign
asset tokens issued by the external client app. The certificate size is limited to 4 KB. If
your certificate is too large, try using a DER-encoded file to reduce the size.
Available in API version 61.0 and later.
Field Type
int
assetTokenValidity
Description
Required for the asset token flow. The period of time for which the asset token is valid
after its issued, expressed as the number of seconds from 1970-01-01T0:0:0Z measured
in UTC. The validity period must be within 3 minutes of the expiration time of the
assertion.
Available in API version 61.0 and later.
Field Type
string
commaSeparatedOauthScopes
Description
OAuth scopes for the external client app, written as a comma-separated list.
Field Type
ExtlClntAppOauthSettingsAttribute[]
customAttributes
Description
Unique attributes to be included as developer defaults. The maximum number accepted
is 128. Each custom attribute must have a unique key and use an available field.
Field Type
string
externalClientApplication
944
ExtlClntAppOauthSettingsMetadata Types
DescriptionField Name
Description
Required.
The external client app associated with this OAuth plugin.
Field Type
string
label
Description
Label for the external client app.
Field Type
string
oauthLink
Description
An auto-generated value that combines the org ID and the OAuth Consumer ID.
Field Type
string
singleLogoutUrl
Description
URL where Salesforce sends a logout request when users log out of Salesforce.
Field Type
ExtlClntAppOauthIpRange[]
trustedIpRanges
Description
Specifies the ranges of IP addresses that can access the app without requiring the user
to authenticate with the external client app. The maximum number of IP ranges is
128.
ExtlClntAppOauthSettingsAttribute
Represents developer-defined attributes that are used to include additional information in the external client apps. Developers use these
attributes to customize the app for specific use cases.
DescriptionField Name
Field Type
string
formula
Description
Required.
The existing field that includes the desired information. For example,
Organization.Country.
945
ExtlClntAppOauthSettingsMetadata Types
DescriptionField Name
Field Type
string
key
Description
Required.
A unique name for the attribute. For example, country.
ExtlClntAppOauthIpRange
Represents the range of IP addresses that are trusted by the external client app.
DescriptionField Name
Field Type
string
description
Description
Identifies the purpose of the range, such as which part of a network corresponds to
this range.
Field Type
string
endIpAddress
Description
Required.
Last address in the IP range, inclusive. Required with start address.
Field Type
string
startIpAddress
Description
Required.
First address in the IP range, inclusive. Required with end address.
Declarative Metadata Sample Definition
The following is an example of an ExtlClntAppOauthSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ExtlClntAppOauthSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<externalClientApplication>myeca</externalClientApplication>
<label>My Oauth Settings</label>
<trustedIpRanges>
<startIpAddress>10.55.2.0</startIpAddress>
<endIpAddress>10.55.2.255</endIpAddress>
946
ExtlClntAppOauthSettingsMetadata Types
<description>Building 6</description>
</trustedIpRanges>
<trustedIpRanges>
<startIpAddress>10.55.12.0</startIpAddress>
<endIpAddress>10.55.12.255</endIpAddress>
</trustedIpRanges>
<customAttributes>
<key>userattribute</key>
<formula>User.Country</formula>
</customAttributes>
<commaSeparatedOauthScopes>Basic, Web</commaSeparatedOauthScopes>
</ExtlClntAppOauthSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ExternalClientApplication</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppGlobalOauthSettings</name>
</types>
<types>
<members>*</members>
<name>ExtlClntAppOauthConfigurablePolicies</name>
</types>
<version>59.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FeatureParameterBoolean
Represents a boolean feature parameter in the Feature Management App (FMA). Feature parameters let you drive app behavior and
track activation metrics in subscriber orgs that install your package. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
947
FeatureParameterBooleanMetadata Types
File Suffix and Directory Location
FeatureParameterBoolean components have the suffix .featureParameterBoolean. The components are stored in the
featureParameters folder, which contains components for all the feature parameter metadata types.
Version
FeatureParameterBoolean components are available in API version 41.0 and later.
Special Access Rules
Available to package developers who have access to the Feature Management App (FMA). For details, see Manage Features in the
Second-Generation Managed Packaging Developer Guide.
Fields
DescriptionField TypeField Name
After a package containing the components is installed,
indicates whether the feature parameters value is
FeatureParameterDataFlowDirectiondataFlowDirection
editable in your License Management Org (LMO) and
read-only in your customers org or the other way around.
The feature parameter name that appears in the user
interface.
stringmasterLabel
The default value for this feature parameter. You can
reference this value in your code, just like you reference
other values in a subscribers org.
booleanvalue
FeatureParameterDataFlowDirection
Represents the direction of the data flow between your License Management Org (LMO) and the customers org.
DescriptionField TypeField Name
After a package containing the components is installed,
indicates whether the feature parameters value is
stringFeatureParameterDataFlowDirection
editable in your License Management Org (LMO) and
read-only in your customers org or the other way around.
Valid values are:
LmoToSubscriber
SubscriberToLmo
948
FeatureParameterBooleanMetadata Types
Declarative Metadata Sample Definition
The following is an example of a FeatureParameterBoolean component.
<?xml version="1.0" encoding="UTF-8"?>
<FeatureParameterBoolean xmlns="http://soap.sforce.com/2006/04/metadata">
<dataflowDirection>SubscriberToLmo</dataflowDirection>
<masterLabel>Budget Tracking Enabled</masterLabel>
<value>false</value>
</FeatureParameterBoolean>
The following is an example package.xml that references the previous definition (and the definitions for the other feature parameter
types).
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>FeatureParameterBoolean</name>
</types>
<types>
<members>*</members>
<name>FeatureParameterDate</name>
</types>
<types>
<members>*</members>
<name>FeatureParameterInteger</name>
</types>
<version>41.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FeatureParameterDate
Represents a date feature parameter in the Feature Management App (FMA). Feature parameters let you drive app behavior and track
activation metrics in subscriber orgs that install your package. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
FeatureParameterDate components have the suffix .featureParameterDate. The components are stored in the
featureParameters folder, which contains components for all the feature parameter metadata types.
949
FeatureParameterDateMetadata Types
Version
FeatureParameterDate components are available in API version 41.0 and later.
Special Access Rules
Available to package developers who have access to the Feature Management App (FMA). For details, see Manage Features in the
Second-Generation Managed Packaging Developer Guide.
Fields
DescriptionField TypeField Name
After a package containing the components is installed,
indicates whether the feature parameters value is
FeatureParameterDataFlowDirectiondataFlowDirection
editable in your License Management Org (LMO) and
read-only in your customers org or the other way around.
The feature parameter name that appears in the user
interface.
stringmasterLabel
The default value for this feature parameter. You can
reference this value in your code, just like you reference
other values in a subscribers org.
datevalue
FeatureParameterDataFlowDirection
Represents the direction of the data flow between your License Management Org (LMO) and the customers org.
DescriptionField TypeField Name
After a package containing the components is installed,
indicates whether the feature parameters value is
stringFeatureParameterDataFlowDirection
editable in your License Management Org (LMO) and
read-only in your customers org or the other way around.
Valid values are:
LmoToSubscriber
SubscriberToLmo
Declarative Metadata Sample Definition
The following is an example of a FeatureParameterDate component.
<?xml version="1.0" encoding="UTF-8"?>
<FeatureParameterDate xmlns="http://soap.sforce.com/2006/04/metadata">
<dataflowDirection>SubscriberToLmo</dataflowDirection>
<masterLabel>Activation Date</masterLabel>
950
FeatureParameterDateMetadata Types
<value>2017-10-23</value>
</FeatureParameterDate>
The following is an example package.xml that references the previous definition (and the definitions for the other feature parameter
types).
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>FeatureParameterBoolean</name>
</types>
<types>
<members>*</members>
<name>FeatureParameterDate</name>
</types>
<types>
<members>*</members>
<name>FeatureParameterInteger</name>
</types>
<version>41.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FeatureParameterInteger
Represents an integer feature parameter in the Feature Management App (FMA). Feature parameters let you drive app behavior and
track activation metrics in subscriber orgs that install your package. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
FeatureParameterInteger components have the suffix .featureParameterInteger. The components are stored in the
featureParameters folder, which contains components for all the feature parameter metadata types.
Version
FeatureParameterInteger components are available in API version 41.0 and later.
951
FeatureParameterIntegerMetadata Types
Special Access Rules
Available to package developers who have access to the Feature Management App (FMA). For details, see Manage Features in the
Second-Generation Managed Packaging Developer Guide.
Fields
DescriptionField TypeField Name
After a package containing the components is installed,
indicates whether the feature parameters value is
FeatureParameterDataFlowDirectiondataFlowDirection
editable in your License Management Org (LMO) and
read-only in your customers org or the other way around.
The feature parameter name that appears in the user
interface.
stringmasterLabel
The default value for this feature parameter. You can
reference this value in your code, just like you reference
other values in a subscribers org.
intvalue
FeatureParameterDataFlowDirection
Represents the direction of the data flow between your License Management Org (LMO) and the customers org.
DescriptionField TypeField Name
After a package containing the components is installed,
indicates whether the feature parameters value is
stringFeatureParameterDataFlowDirection
editable in your License Management Org (LMO) and
read-only in your customers org or the other way around.
Valid values are:
LmoToSubscriber
SubscriberToLmo
Declarative Metadata Sample Definition
The following is an example of a FeatureParameterInteger component.
<?xml version="1.0" encoding="UTF-8"?>
<FeatureParameterInteger xmlns="http://soap.sforce.com/2006/04/metadata">
<dataflowDirection>SubscriberToLmo</dataflowDirection>
<masterLabel>Current Project Count</masterLabel>
<value>42</value>
</FeatureParameterInteger>
952
FeatureParameterIntegerMetadata Types
The following is an example package.xml that references the previous definition (and the definitions for the other feature parameter
types).
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>FeatureParameterBoolean</name>
</types>
<types>
<members>*</members>
<name>FeatureParameterDate</name>
</types>
<types>
<members>*</members>
<name>FeatureParameterInteger</name>
</types>
<version>41.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FieldRestrictionRule
Represents a field visibility rule that controls whether a field is visible to a user, based on the fields inclusion in a field set. If Enhanced
Personal Information Management setting was enabled before Spring 22, field visibility is based on the fields compliance categorization.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
FieldRestrictionRule components have the suffix .rule and are stored in the fieldRestrictionRules folder.
Version
FieldRestrictionRule components are available in API version 52.0 and later.
Special Access Rules
To access this type, you must have the Manage Sharing permission.
To create and manage Employee field visibility rules, you must be assigned a Workplace Command Center permission set license
and the Provides access to Workplace Command Center features system permission.
To create and manage User field visibility rules, you must enable Digital Experiences and the Enhanced Personal Information
Management feature.
953
FieldRestrictionRuleMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether the rule is active (true) or not (false). The default
value is false.
booleanactive
Required. The data classification compliance categorization or field set
that is targeted by the rule. The rule applies to fields that are marked
string[]classification
with this categorization or included in this field set. If you enabled
Enhanced Personal Information Management before Spring 22 (API
version 54.0), you can use Salesforce's default compliance categorization
values or values that you add yourself. If you enabled Enhanced Personal
Information Management after Spring 22 (API version 54.0), use the
PersonalInfo_EPIM field set or a field set that you add yourself.
The type of classification method used in your org. If you enabled
Enhanced Personal Information Management before Spring 22 (API
ClassificationType
(enumeration of
type string)
classificationType
version 54.0), use ComplianceCategory. If you enabled Enhanced
Personal Information Management after Spring 22, use FieldSet.
ComplianceCategory
FieldSet
The default value is ComplianceCategory. Available in API version
54.0 and later.
Required. The description of the rule.stringdescription
Required. The type of rule. Possible values are:EnforcementType
(enumeration of
type string)
enforcementType
FieldRestrictField visibility rule. Only this value is valid.
RestrictDo not use.
ScopingDo not use.
Required. The name of the rule.stringmasterLabel
Required. The criteria that determine which fields are visible to the
specified users. For example, the field can check if the logged-in user
matches the Employees ID.
stringrecordFilter
Required. The object for which you're creating the rule. Only the
Employee and User objects are supported.
stringtargetEntity
Required. The users that this rule applies to, such as all active users or
users with a specified role or profile.
stringuserCriteria
Required. The rule's version number.intversion
954
FieldRestrictionRuleMetadata Types
Declarative Metadata Sample Definition
The following is an example of a FieldRestrictionRule component, which uses the ComplianceCategory classification type. The classification
value is one of Salesforce's default compliance categorization values, but you can create a custom compliance categorization value to
use instead.
<?xml version="1.0" encoding="UTF-8"?>
<FieldRestrictionRule xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<classification>PII</classification>
<classificationType>ComplianceCategory</classificationType>
<description>Is Owner of Employee</description>
<enforcementType>FieldRestrict</enforcementType>
<masterLabel>Is Owner Field Restriction Rule</masterLabel>
<recordFilter>OwnerId = $User.Id</recordFilter>
<targetEntity>Employee</targetEntity>
<userCriteria>$User.IsActive = true</userCriteria>
<version>1</version>
</FieldRestrictionRule>
The following is an example of a FieldRestrictionRule component, which uses the FieldSet classification type. The classification value is
Salesforce's default field set for personal information, but you can create a field set to use instead.
<?xml version="1.0" encoding="UTF-8"?>
<FieldRestrictionRule xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<classification>PersonalInfo_EPIM</classification>
<classificationType>FieldSet</classificationType>
<description>Is Owner of Employee</description>
<enforcementType>FieldRestrict</enforcementType>
<masterLabel>Is Owner Field Restriction Rule</masterLabel>
<recordFilter>OwnerId = $User.Id</recordFilter>
<targetEntity>Employee</targetEntity>
<userCriteria>$User.IsActive = true</userCriteria>
<version>1</version>
</FieldRestrictionRule>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>FieldRestrictionRule</name>
</types>
<version>52.0</version>
</Package>
FlexiPage
Represents the metadata associated with a Lightning page. A Lightning page represents a customizable screen made up of regions
containing Lightning components.
955
FlexiPageMetadata Types
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Note: A Lightning page region can contain up to 100 components.
This type extends the Metadata metadata type and inherits its fullName field.
Note: 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.
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.
For more information on Lightning pages, see 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
DescriptionField TypeField Name
The optional description text of the Lightning page.stringdescription
The list of events associated with the Lightning page.
This field is available in API version 53.0 and later.
FlexiPageEvent[]events
The list of regions of a page.FlexiPageRegion[]flexiPageRegions
Required. The label for the Lightning page, which displays in
Setup.
stringmasterLabel
956
FlexiPageMetadata Types
DescriptionField TypeField Name
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.
stringpageTemplate
The name of the Lightning page that this page inherits
behavior from.
This field is available in API version 37.0 or later.
stringparentFlexiPage
The list of all actions, and their order, that display on a
Lightning app page. In the Salesforce mobile app, the actions
appear in the action bar.
This field is available in API version 34.0 and later.
PlatformActionListplatformActionlist
The list of quick actions associated with the Lightning page.QuickActionListquickActionList
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 cant be changed.
stringsobjectType
This field is available in API version 37.0 or later.
Required. The template associated with the Lightning page.
This field is available in API version 39.0 and later.
FlexiPageTemplateInstancetemplate
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:
FlexiPageType (enumeration
of type string)
type
CdpRecordPageA 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 Data Cloud enabled.
AppPageA Lightning page that is used as the home
page for a custom app.
CommAppPageA 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.
CommCheckoutPageA 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.
CommFlowPage A Lightning page used to override a
flow page, as created in the Experience Builder. This value
is available in API version 45.0 and later.
CommForgotPasswordPageA Lightning page
thats used to override a forgot-password page, as created
957
FlexiPageMetadata Types
DescriptionField TypeField Name
in Experience Builder. This value is available in API version
39.0 and later.
CommFlowPageAn out-of-the-box flow page, as
created in Experience Builder. This value is available in API
version 45.0 and later.
CommGlobalSearchResultPage A Lightning page
used to override the global search result page, as created
in Experience Builder. This value is available in API version
41.0 and later.
CommLoginPageA Lightning page thats used to
override the login page, as created in Experience Builder.
This value is available in API version 39.0 and later.
CommNoSearchResultsPageAn 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.
CommObjectPageA Lightning page used to override
an object page, as created in Experience Builder. This value
is available in API version 38.0 and later.
CommOrderComfirmationPageA 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.
CommQuickActionCreatePageA 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.
CommRecordPageA 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.
CommRelatedListPageA 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.
CommSearchResultPageA 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.
CommSelfRegisterPageA Lightning page used
to override the self-registration page, as created in
958
FlexiPageMetadata Types
DescriptionField TypeField Name
Experience Builder. This value is available in API version
39.0 and later.
CommThemeLayoutPageA 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.
EmbeddedServicePage This value is available in API
version 45.0 and later.
EmailContentPage 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.
EmailTemplatePage 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.
ForecastingPage 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.
HomePageA Lightning page that is used to override
the Home page in Lightning Experience. This value is
available in API version 37.0 and later.
MailAppAppPageAn 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.
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.
RecordPageA Lightning page used to override an
object record page in Lightning Experience. This value is
available in API version 37.0 and later.
RecordPreview 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.
959
FlexiPageMetadata Types
DescriptionField TypeField Name
UtilityBarA Lightning page used as the utility bar
in Lightning Experience apps. This value is available in API
version 38.0 and later.
VoiceExtensionA 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.
This field is available in API version 32.0 and later.
FlexiPageEvent
An event associated with the Lightning page. Available in API version 53.0 and later.
DescriptionField TypeField Name
Required. The name of the event source item. If the
source is a custom Lightning web component, this
field is the name of the component.
In API 53.0, a source can be only a Lightning web
component.
stringsourceName
The list of properties associated with the event source.FlexiPageEventSourceProperty[]sourceProperties
Required. The type of item assigned as the event
source.
In API version 53.0, this field can have only a value of
Component.
FlexipageEventSourceTypeEnum
(enumeration of type string)
sourceType
The list of targets associated with the event source.FlexiPageEventTarget[]targets
FlexiPageEventSourceProperty
A property associated with an event. Available in API version 53.0 and later.
DescriptionField TypeField Name
Required. In API version 53.0 and later, the value of this
field can be only eventName.
stringname
Required. If the name field value is eventName, this
field is the name of the event.
If the event source is a Lightning web component, this
value must be the same as the event name defined in
the source components js-meta.xml file.
stringvalue
960
FlexiPageMetadata Types
FlexiPageEventTarget
A target associated with an event source on the Lightning page. Available in API version 53.0 and later.
DescriptionField TypeField Name
A list of key-value pairs for an events source-to-target
bindings.
FlexiPageEventPropertyMapping[]mappings
Required.
The only valid value is updateProperties.
stringmethod
Required. The name of the event target.
Valid values are:
stringname
flexipage:componentService
List of properties of the event target.FlexiPageEventTargetProperty[]properties
Required. The type of item assigned as the event target.
Valid values are:
FlexiPageEventTargetTypeEnum
(enumeration of type string)
type
FlexipageServicesA component on the
Lightning page.
FlexiPageEventPropertyMapping
A key-value pair for an events source-to-target bindings. Available in API version 53.0 and later.
DescriptionField TypeField Name
Required. Name of the target property that changes
when the event is triggered.
stringname
Value of the target property when the event occurs.
For properties of type string, integer, and boolean, you
can use an expression to define their value. Valid
stringvalue
expression format is
{!Event.eventPropertyName}. Event is the
only context supported for expressions in interactions.
FlexiPageEventTargetProperty
A property on the event sources target represented as a key-value pair. Available in API version 53.0 and later.
DescriptionField TypeField Name
Required. In API version 53.0 and later, the value of this
field can be only componentIdentifier
stringname
961
FlexiPageMetadata Types
DescriptionField TypeField Name
Required. The ComponentInstance identifier
value for the component.
stringvalue
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.
DescriptionField TypeField Name
This field is available in Digital Experiences in API 45.0 or later,
but is reserved for future use for all other areas.
Valid values are:
RegionFlagStatus
(enumeration of type string)
appendable
disabled
enabled
This field is assessed in combination with replaceable
and prependable
If all the properties are set to enabled, the region is
unlocked
If all the properties are set to disabled, the region is
locked
If none of the properties are specified OR any of these three
properties are missing, the region is unlocked.
This field is available in API version 35.0 or later.
Properties and name of the component instance.
This field was removed in API version 49.0. In API version 49.0
and later, use the itemInstances field instead.
ComponentInstance[]componentInstances
Array of item instances, which can contain components and
fields.
This field is available in API version 49.0 or later.
ItemInstance[]itemInstances
This field is reserved for future use.
Valid values are:
FlexiPageRegionMode
(enumeration of type string)
mode
Append
Prepend
Replace
This field is available in API version 35.0 or later.
Required. Unique name of the FlexiPage region.stringname
962
FlexiPageMetadata Types
DescriptionField TypeField Name
This field is available in Digital Experiences in API 45.0 or later,
but is reserved for future use for all other areas.
Valid values are:
RegionFlagStatus
(enumeration of type string)
prependable
disabled
enabled
This field is assessed in combination with appendable and
replaceable.
If all the properties are set to enabled, the region is
unlocked
If all the properties are set to disabled, the region is
locked
If none of the properties are specified OR any of these three
properties are missing, the region is unlocked.
This field is available in API version 35.0 or later.
This field is available in Digital Experiences in API 45.0 or later,
but is reserved for future use for all other areas.
Valid values are:
RegionFlagStatus
(enumeration of type string)
replaceable
disabled
enabled
This field is assessed in combination with appendable and
prependable.
If all the properties are set to enabled, the region is
unlocked
If all the properties are set to disabled, the region is
locked
If none of the properties are specified OR any of these three
properties are missing, the region is unlocked.
This field is available in API version 35.0 or later.
Required. The type of FlexiPage region.
Valid values are:
FlexiPageRegionType
(enumeration of type string)
type
BackgroundRepresents a region for background
utility items, which arent visible in the UI. Supported for
utility bars only.
Facet
Region
This field is available in API version 35.0 or later.
963
FlexiPageMetadata Types
ItemInstance
Instance of a component or field on a Lightning page. Available in API version 49.0 or later.
DescriptionField TypeField Name
Properties and name of the component instance.ComponentInstancecomponentInstance
API name, label, and visibility rule information of the
field component. This field is available only on
Lightning pages that use Dynamic Forms.
FieldInstancefieldInstance
ComponentInstance
Instance of a component in a page, such as a filter list.
DescriptionField TypeField Name
The value of a single property in a component instance.ComponentInstanceProperty[]componentInstanceProperties
Required. The name of a single instance of a
component.
stringcomponentName
Required. The unique name of the ComponentInstance.
Provides a way to uniquely identify an individual
stringidentifier
instance of a component on a Lightning page. This
field has a maximum limit of 120 characters.
This field is available in API version 53.0 and later.
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.
UiFormulaRulevisibilityRule
This field is available in API version 41.0 and later.
ComponentInstanceProperty
Value of a single property in a component instance. ComponentInstanceProperty has a maximum limit of 10,000 characters.
DescriptionField TypeField Name
Name of the property, unique within the component instance.
For Lightning components, this value is the
<aura:attribute> as defined in the .cmp file.
stringname
If this field value is null, then the
ComponentInstanceProperty values apply to the Lightning
ComponentInstancePropertyTypeEnum
(enumeration of type string)
type
component. If this field value is decorator, then the
964
FlexiPageMetadata Types
DescriptionField TypeField Name
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 components 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.
Reference or value of the property.
When defining a Related List component, to use a parent
record set the parentFieldApiName value to
stringvalue
object.field_name. If you dont want to use a parent
record, set the value to object.Id.
An array of values in a component instance. Available in API
version 49.0 and later.
ComponentInstancePropertyListvalueList
Tabs
When you give a standard label to a tab in a Tabs componentsuch as Activity, Collaborate, or Detailsand 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, lets 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.
<componentInstances>
<componentInstanceProperties>
<name>title</name>
<value>Standard.Tab.activity</value>
</componentInstanceProperties>
<componentName>flexipage:tab</componentName>
</componentInstances>
Save Options
965
FlexiPageMetadata Types
Save options are available on pages of type RecordPage only, when users edit an account or when they create, edit, or clone a case
or lead. Save options are configured as a ComponentInstanceProperty under FlexiPageTemplateInstance.
Set the ComponentInstanceProperty name to saveOptions and use value to define the checkbox values. The value field in
this case is not a ComponentInstancePropertyList, but instead is a string representation of a JSON array of name and value pairs representing
each checkbox name and its value.
UI LabelAvailable ValuesAvailable
Objects
API Name
Evaluate this account against territory
rules on save
AccountUseDefaultAssignmentRule
NONE
APPLY_OPTION_WITHOUT_CHECKBOX_DISPLAY
SHOW_CHECKBOX_WITH_DEFAULT_OFF
SHOW_CHECKBOX_WITH_DEFAULT_ON
Assign using active assignment ruleLeadUseDefaultAssignmentRule
NONE
SHOW_CHECKBOX_WITH_DEFAULT_OFF
SHOW_CHECKBOX_WITH_DEFAULT_ON
Assign using active assignment ruleCaseUseDefaultAssignmentRule
NONE
APPLY_OPTION_WITHOUT_CHECKBOX_DISPLAY
SHOW_CHECKBOX_WITH_DEFAULT_OFF
SHOW_CHECKBOX_WITH_DEFAULT_ON
Send notification email to ContactCasetriggerOtherEmail
NONE
SHOW_CHECKBOX_WITH_DEFAULT_OFF
SHOW_CHECKBOX_WITH_DEFAULT_ON
UI ResultValue
Dont display the checkbox and dont apply any save
options during save.
NONE
Dont display the checkbox, but apply the save option
value during save.
APPLY_OPTION_WITHOUT_CHECKBOX_DISPLAY
Display the checkbox, unchecked by default.SHOW_CHECKBOX_WITH_DEFAULT_OFF
Display the checkbox, checked by default.SHOW_CHECKBOX_WITH_DEFAULT_ON
For example, you can set cases, when saved, to run the Assign using active assignment rule without displaying a checkbox, and
display the Send notification email to Contact checkbox, checked by default.
saveOptions =
[{"name":"UseDefaultAssignmentRule","value":"APPLY_OPTION_WITHOUT_CHECKBOX_DISPLAY"},
{"name":"triggerOtherEmail","value":"SHOW_CHECKBOX_WITH_DEFAULT_ON"}]
966
FlexiPageMetadata Types
Note: Set assignment rules, territory rules, and email templates before configuring them as save options.
ComponentInstancePropertyList
Value of an element in an array in a component instance.
DescriptionField TypeField Name
An array of elements in a component instance.ComponentInstancePropertyListItem[]valueListItems
ComponentInstancePropertyListItem
Name of an element in an array in a component instance.
DescriptionField TypeField Name
Name of an element in an array in a component instance.stringvalue
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.
For example, if you have an array of actions with API names Clone and Edit, the array is represented as valueList, with two
valueListItems. One valueListItems has the value Clone, and one valueListItems has the value Edit.
<componentInstances>
<componentInstanceProperties>
<name>actionApiName</name>
<valueList>
<valueListItems>
<value>Clone</value>
</valueListItems>
<valueListItems>
<value>Edit</value>
</valueListItems>
</valueList>
</componentInstanceProperties>
</componentInstances>
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.
DescriptionField TypeField Name
Specifies advanced filter conditions such as 1 AND
2.
stringbooleanFilter
967
FlexiPageMetadata Types
DescriptionField TypeField Name
List of one or more filters that, when evaluated,
determine component visibility.
UiFormulaCriterion[]criteria
UiFormulaCriterion
A single filter that when evaluated, helps define component visibility on a Lightning page. Available in API version 41.0 and later.
DescriptionField TypeField Name
Required. The field upon which the filter is based. For
example, AMOUNT.
stringleftValue
Required. Defines the operator used to filter the data.
Valid values are:
stringoperator
CONTAINS
EQUAL
NEnot equal
GTgreater than
GEgreater than or equal
LEless than or equal
LTless than
The value by which you want to evaluate the
components visibility. For example, 1000000.
stringrightValue
You can use these expressions in the leftValue field when setting filters for component visibility.
{!$Client.FormFactor}Use this expression to control component visibility based on the device the page is being rendered
on. Valid values are Small (phone), Medium (tablet), and Large (Lightning Experience desktop). Setting the value to Small
for record pages is supported only in orgs that are enabled for the new Salesforce mobile app. This expression is supported for app
pages in API version 41.0 and later, and record pages in API version 47.0 and later.
{!$Permission.CustomPermission.permissionName}Use this expression to control component visibility based
on the custom permissions of the user viewing the Lightning page. Supported for app, Home, and record pages only.
{!$Permission.StandardPermission.permissionName}Use this expression to control component visibility
based on the standard permissions of the user viewing the Lightning page. Supported for app, Home, and record pages only.
{!Record.field}Supported for record pages only.
{!$User.field}Supported for app, Home, and record pages only.
For example, to display a component only when it renders on a phone, add this filter: {!$Client.FormFactor} EQUAL
"SMALL". Or, to display a component only to the System Administrator, use {!$User.Profile.Name} EQUAL "System
Administrator".
Expressions in component visibility rules can span no more than five fields. For example,
{!Record.Account.Owner.Manager.Manager.Manager.LastName} has six spans and therefore isnt supported.
968
FlexiPageMetadata Types
FieldInstance
Represents a single field component that resides on a Lightning page. Available in API version 49.0 and later. This subtype is available
only on Lightning Pages that have enabled Dynamic Forms.
DescriptionField TypeField Name
Properties of the field instance. Contains a name and
value pair for each property associated with the field.
FieldInstanceProperty on page 969[]fieldInstanceProperties
The API name of the field, prefixed with its context. For
example, record fields are prefixed with Record..
stringfieldItem
Required. The unique name of the FieldInstance.
Provides a way to uniquely identify an individual
stringidentifier
instance of a field on a Dynamic Forms-enabled
Lightning page. This field has a maximum limit of 120
characters.
This field is available in API version 53.0 and later.
A set of one or more filters that define the conditions
under which the component displays on the page. If
UiFormulaRulevisibilityRule
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.
FieldInstanceProperty
Represents a single property of a field instance. Available in API version 49.0 and later. This subtype is available only on Lightning pages
that have enabled Dynamic Forms.
DescriptionField TypeField Name
Name of the property, unique within the field instance.
In API version 49.0, the only valid value for this field is
uiBehavior.
stringname
Reference or value of the property.
In API version 49.0, valid values for this field are
stringvalue
None
Readonly
Required
FlexiPageTemplateInstance
FlexiPageTemplateInstance represents an instance of a Lightning page template.
969
FlexiPageMetadata Types
DescriptionField TypeField Name
Required. The name of a single instance of a template.stringname
The value of a single property in a template instance.
Valid only for:
ComponentInstanceProperty[]properties
CommThemeLayoutPage
Dynamic Forms-enabled pages of type
RecordPage that are associated with account,
case, or lead objects
Contains a name and value pair for each theme layout
property associated with the page template. In
Experience 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 a Lightning app page. Available in API version 34.0 and
later.
DescriptionField TypeField Name
Required. The context of the action list. Valid values are:PlatformActionListContext
(enumeration of
type string)
actionListContext
Assistant
BannerPhoto
Chatter
Dockable
FeedElement
Flexipage
Global
ListView
ListViewDefinition
ListViewRecord
Lookup
MruList
MruRow
ObjectHomeChart
Photo
Record
RecordEdit
RelatedList
RelatedListRecord
970
FlexiPageMetadata Types
DescriptionField TypeField Name
The actions in the PlatformActionList.PlatformActionListItem[]platformActionListItems
When the ActionListContext is RelatedList or RelatedListRecord,
this field represents the API name of the related list to which the action
belongs.
stringrelatedSourceEntity
PlatformActionListItem
PlatformActionListItem represents an action in the PlatformActionList. Available in API version 34.0 and later.
DescriptionField TypeField Name
Required. The API name for the action in the list.stringactionName
Required. The type of action. Valid values are:PlatformActionType
(enumeration of type
string)
actionType
ActionLinkAn 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.
CustomButtonWhen clicked, opens a URL or a Visualforce page in
a window or executes JavaScript.
InvocableAction
ProductivityActionProductivity actions are predefined and
attached to a limited set of objects. Productivity actions include Send Email,
Call, Map, View Website, and Read News. Except for the Call action, you
cant edit productivity actions.
QuickActionA global or object-specific action.
StandardButtonA predefined Salesforce button such as New, Edit,
and Delete.
Required. The placement of the action in the list.intsortOrder
The subtype of the action. For quick actions, the subtype is
QuickActionType. For custom buttons, the subtype is
stringsubtype
WebLinkTypeEnum. For action links, subtypes are Api, ApiAsync,
Download, and Ui. Standard buttons and productivity actions have no
subtype.
Declarative Metadata Sample Definition
Heres a sample XML FlexiPage component definition for a custom opportunity record page. It includes a tab set and a rich text component
with visibility rules assigned to it.
971
FlexiPageMetadata Types
Note: As an Experience Builder site page, three initial regions in the definition show the header region as locked, the content
region as unlocked, and the footer region as unlocked.
<?xml version="1.0" encoding="UTF-8"?>
<FlexiPage xmlns="http://soap.sforce.com/2006/04/metadata">
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>collapsed</name>
<value>false</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>hideChatterActions</name>
<value>false</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>numVisibleActions</name>
<value>3</value>
</componentInstanceProperties>
<componentName>force:highlightsPanel</componentName>
</componentInstance>
</itemInstances>
<name>header</name>
<type>Region</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>hideUpdateButton</name>
<value>false</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>variant</name>
<value>linear</value>
</componentInstanceProperties>
<componentName>runtime_sales_pathassistant:pathAssistant</componentName>
</componentInstance>
</itemInstances>
<name>subheader</name>
<type>Region</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>entityNames</name>
<valueList>
<valueListItems>
<value>Opportunity</value>
</valueListItems>
</valueList>
</componentInstanceProperties>
972
FlexiPageMetadata Types
<componentInstanceProperties>
<name>maxRecords</name>
<value>3</value>
</componentInstanceProperties>
<componentName>flexipage:recentItems</componentName>
</componentInstance>
</itemInstances>
<name>Facet-afbed70e-277a-41f5-9919-34651ff97773</name>
<type>Facet</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>relatedListComponentOverride</name>
<value>NONE</value>
</componentInstanceProperties>
<componentName>force:relatedListContainer</componentName>
</componentInstance>
</itemInstances>
<name>facet-77f21b6f-ad73-4d79-838a-79e0df27cc63</name>
<type>Facet</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentName>force:detailPanel</componentName>
</componentInstance>
</itemInstances>
<name>facet-c22fcfa7-d6f2-46ab-ac03-6c92e7398da1</name>
<type>Facet</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentName>runtime_sales_activities:activityPanel</componentName>
</componentInstance>
</itemInstances>
<name>Facet-u9v2x6h8u4k</name>
<type>Facet</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>body</name>
<value>Facet-afbed70e-277a-41f5-9919-34651ff97773</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>title</name>
<value>Recent Items</value>
</componentInstanceProperties>
<componentName>flexipage:tab</componentName>
</componentInstance>
973
FlexiPageMetadata Types
</itemInstances>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>active</name>
<value>true</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>body</name>
<value>facet-77f21b6f-ad73-4d79-838a-79e0df27cc63</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>title</name>
<value>Standard.Tab.relatedLists</value>
</componentInstanceProperties>
<componentName>flexipage:tab</componentName>
</componentInstance>
</itemInstances>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>body</name>
<value>facet-c22fcfa7-d6f2-46ab-ac03-6c92e7398da1</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>title</name>
<value>Standard.Tab.detail</value>
</componentInstanceProperties>
<componentName>flexipage:tab</componentName>
</componentInstance>
</itemInstances>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>body</name>
<value>Facet-u9v2x6h8u4k</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>title</name>
<value>Standard.Tab.activity</value>
</componentInstanceProperties>
<componentName>flexipage:tab</componentName>
</componentInstance>
</itemInstances>
<name>facet-27334405-c871-463f-bc20-b3713bbb4884</name>
<type>Facet</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>tabs</name>
<value>facet-27334405-c871-463f-bc20-b3713bbb4884</value>
</componentInstanceProperties>
974
FlexiPageMetadata Types
<componentName>flexipage:tabset</componentName>
</componentInstance>
</itemInstances>
<name>main</name>
<type>Region</type>
</flexiPageRegions>
<flexiPageRegions>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>decorate</name>
<value>true</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>richTextValue</name>
<value>&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span
style=&quot;background-color: rgb(255, 255, 255); font-size: 18px; color: rgb(11, 11,
11);&quot;&gt;A million dollar opportunity closed! Oh yeah!&lt;/span&gt;&lt;/p&gt;</value>
</componentInstanceProperties>
<componentName>flexipage:richText</componentName>
<visibilityRule>
<booleanFilter>1 AND 2</booleanFilter>
<criteria>
<leftValue>{!Record.Amount}</leftValue>
<operator>GE</operator>
<rightValue>1000000</rightValue>
</criteria>
<criteria>
<leftValue>{!Record.StageName}</leftValue>
<operator>EQUAL</operator>
<rightValue>Closed Won</rightValue>
</criteria>
</visibilityRule>
</componentInstance>
</itemInstances>
<itemInstances>
<componentInstance>
<componentInstanceProperties>
<name>decorate</name>
<value>true</value>
</componentInstanceProperties>
<componentInstanceProperties>
<name>richTextValue</name>
<value>&lt;p style=&quot;text-align: center;&quot;&gt;&lt;span
style=&quot;background-color: rgb(255, 255, 255); font-size: 16px; color: rgb(244, 0,
0);&quot;&gt;This component is for mobile users only.&lt;/span&gt;&lt;/p&gt;</value>
</componentInstanceProperties>
<componentName>flexipage:richText</componentName>
<visibilityRule>
<criteria>
<leftValue>{!$Client.formFactor}</leftValue>
<operator>EQUAL</operator>
<rightValue>Small</rightValue>
975
FlexiPageMetadata Types
</criteria>
</visibilityRule>
</componentInstance>
</itemInstances>
<itemInstances>
<componentInstance>
<componentName>forceChatter:recordFeedContainer</componentName>
</componentInstance>
</itemInstances>
<name>sidebar</name>
<type>Region</type>
</flexiPageRegions>
<masterLabel>New Opportunity Page</masterLabel>
<sobjectType>Opportunity</sobjectType>
<template>
<name>flexipage:recordHomeWithSubheaderTemplateDesktop</name>
</template>
<type>RecordPage</type>
</FlexiPage>
And, heres the sample package.xml file that references the FlexiPage component definition:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>New Opportunity Page</fullName>
<types>
<members>New_Opportunity_Page</members>
<name>FlexiPage</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Flow
Represents the metadata associated with a flow. Use Flow to create an application that takes users through a series of pages to query
and update records in the database. You can also execute logic and provide branching capability based on user input to build dynamic
applications.
Important: Where possible, we changed non-inclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
For information about the corresponding UI-based flow building tool, see Flow Builder in Salesforce Help.
Here are the limitations related to how you can use Metadata API to work with flows:
You cant use Metadata API to access a flow installed from a managed package unless the flow is a template.
Spaces in a flow file name can lead to errors when you deploy the flow. You can include spaces at the beginning or end of a name,
but these spaces are removed when you deploy the flow.
976
FlowMetadata Types
You can deploy changes to an active flow if in a non-production org, such as a scratch or sandbox org. To deploy changes in a
production org, you must enable the Deploy processes and flows as active preference. After you deploy changes to an active
flow, the flows detail page shows a new flow version thats active. The new version includes your changes.
You can delete a flow version if it isnt active and doesnt have any paused interviews. If the flow version has paused interviews, wait
for those interviews to resume and finish, or delete them.
Warning: Dont edit the metadata of retrieved Process Builder processes, such as flow components whose processType is
Workflow or InvocableProcess. If you deploy process metadata that you edited, you cant open the process in the target
org.
Declarative Metadata File Suffix and Directory Location
Flows are stored in the Flow directory of the corresponding package directory. The file name matches the flows unique full name,
and the extension is .flow.
Version
The flow Metadata API is available in API version 24.0 and later.
Flow
This metadata type represents a valid definition of a flow. This type extends the Metadata metadata type and inherits its fullName
field.
DescriptionField TypeField Name
An array of nodes that defines calls to action. This field is available
in API version 31.0 and later.
Array of FlowActionCall objectsactionCalls
An array of nodes that defines calls to Apex plug-ins.Array of FlowApexPluginCall
objects
apexPluginCalls
The API version that defines the execution behavior of the flow.
This field is available in API version 50.0 and later. Flows created
numberapiVersion
before API version 50.0 show an API version of 0 on the Flows
list view in Setup. To show the correct API version number, create
another version of the flow, and set the API version for running
the flow to 49.0 or later.
An array of assignment nodes.Array of FlowAssignment
objects
assignments
An array of static choice options.Array of FlowChoice objectschoices
An array of nodes that process collections. This field is available
in API version 50.0 and later.
Array of
FlowCollectionProcessor on
page 1003 objects
collectionProcessors
An array of constants.Array of FlowConstant objectsconstants
An array of decision nodes.Array of FlowDecision objectsdecisions
977
FlowMetadata Types
DescriptionField TypeField Name
Description of the flow.stringdescription
An array that constructs a set of choice options based on a
database lookup.
Array of FlowDynamicChoiceSet
objects
dynamicChoiceSets
The environment in which the flow can run. Valid values are:FlowEnvironment (enumeration
of type string)
environments
DefaultThe flow can run offline or from a Visualforce
component, Lightning page, flow action, or custom Aura
component.
SlackThe flow can run in Slack and the default
environment. You specify the Slack flow environment when
you save the flow.
This field is available in API version 55.0 and later.
An array of formulas.Array of FlowFormula objectsformulas
Required. Inherited from the Metadata component. Name of
the file in Metadata API.
A unique name for the flow that contains only underscores and
alphanumeric characters. The name must be unique across the
stringfullName
org, begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
To deploy or retrieve a version, you can specify the version
number. For example, sampleFlow-3 specifies version 3 of
the flow whose unique name is sampleFlow. If you dont specify
a version number, the flow is the latest version.
In API version 43.0 and earlier, this field included the version
number. In API version 44 and later, this field no longer includes
the version number.
Label for the interview. This label helps users and administrators
differentiate interviews from the same flow.
In the user interface, this label appears in the Paused Flow
Interviews component on the users Home tab and in the list of
paused flow interviews in Setup.
stringinterviewLabel
Override the default behavior and restrict access to enabled
profiles or permission sets by setting this property to true.
booleanisAdditionalPermissionRequiredToRun
The default value is false. This field is available in API version
47.0 and later.
Indicates whether the process or flow is a template. The default
value is false. When installed from managed packages,
booleanisTemplate
subscribers cant view or clone processes or flows because of
intellectual property (IP) protection. But when those processes
and flows are templates, subscribers can open them in a builder,
978
FlowMetadata Types
DescriptionField TypeField Name
clone them, and customize the clones. This field is available in
API version 45.0 and later.
Required. Label for the flow.stringlabel
An array of nodes for iterating through collections. This field is
available in API version 30.0 and later.
Array of FlowLoop objectsloops
The name of the workflow rule that the flow was migrated from.
This field is available in API version 54.0 and later.
stringmigratedFromWorkflowRuleName
An array of stage nodes in an orchestration. This field is available
in API version 53.0 and later.
Array of FlowOrchestratedStage
objects
orchestratedStages
Metadata values for the flow.
This field is available in API version 31.0 and later.
Array of FlowMetadataValue
objects
processMetadataValues
The type of the flow, as determined by the active version, or the
latest version, if theres no active version. Valid values are:
FlowProcessType (enumeration
of type string)
processType
ActionCadenceAutolaunchedFlowA flow thats
executed when a user completes a cadence step. This value
is available in API version 56.0 and later.
ActionCadenceStepFlowA screen flow used as
a cadence step. This value is available in API version 56.0
and later.
AppointmentsA flow for Lightning Scheduler. This
value is available in API version 44.0 and later.
AutoLaunchedFlowA flow that doesnt require user
interaction.
CheckoutFlowA flow used in Lightning B2B
Commerce to create a checkout in a store. This value is
available in API version 48.0 and later.
ContactRequestFlowA flow that lets customers
request to be contacted by customer support. This flow is
used to create contact request records. This value is available
in API version 45.0 and later.
CustomerLifecycleA Salesforce Surveys flow that
lets you associate survey questions with different stages in
customer lifecycles. This value is available in API version 49.0
and later and only when the Customer Lifecycle Designer
license is enabled.
CustomEventA process that is invoked when it
receives a platform event message. In the UI, its an event
process. This value is available in API version 41.0 and later.
EvaluationFlowA flow for evaluating custom entry
and exit conditions in an orchestration. Uses the
isOrchestrationConditionMet output variable
979
FlowMetadata Types
DescriptionField TypeField Name
and discards values from any other output variables. This
value is available in API version 54.0 and later.
FieldServiceMobileA flow for the Field Service
mobile app. This value is available in API version 39.0 and
later.
FieldServiceWebA flow for embedded
Appointment Booking. Its UI label is Field Service Embedded
Flow. This value is available in API version 41.0 and later.
FlowA flow that requires user interaction because it
contains one or more screens or local actions, choices, or
dynamic choices. In the UI and Salesforce Help, its a screen
flow. Screen flows can be launched from the UI, such as with
a flow action, Lightning page, or web tab.
FSCLendingA flow for Financial Services Cloud
Mortgage. This value is available in API version 46.0 and later.
IndicatorResultFlowA flow for Outcome
Management that calculates and creates indicator results
for a selected indicator performance period. This value is
available with the Outcome Management license in API
version 60.0 and later.
IndividualObjectLinkingFlowA flow that
associates individuals with interactions such as voice calls,
messaging sessions, or case-related emails. This value is
available in API version 58.0 and later.
InvocableProcessA process that another process
or the Invocable Actions resource in REST API invokes. This
value is available in API version 38.0 and later.
JourneyAn audience-driven flow for Marketing Cloud.
This value is available in API version 57.0 and later.
LoginFlowA flow for login. This value is available in
API version 51.0 and later.
LoyaltyManagementFlowA flow for the Loyalty
Management app thats invokable by loyalty program
processes. This value is available in API version 54.0 and later.
OrchestratorAn orchestration that organizes flows
into groups of steps contained in a series of stages. This
value is available in API version 53.0 and later.
PromptFlowA flow for Prompt Builder. Pass data
between Prompt Builder and the flow. This value is available
in API version 60.0 and later.
RecommendationStrategyBuild
recommendations for your users. A recommendation
launches its assigned flow. This value is available in API
version 54.0 and later. See Flow Builder Strategies.
980
FlowMetadata Types
DescriptionField TypeField Name
RoutingFlowA flow for Salesforce Omni-Channel
routing and other business logic. This value is available in
API version 52.0 and later.
SurveyA flow for Salesforce Surveys. From the UI, this
type of flow is created in Survey Builder. This value is
available in API version 42.0 and later.
SurveyEnrichA Salesforce Surveys flow that uses
the Survey Data Mapper. From the UI, this type of flow is
created in the Survey Builder and requires an associated
survey flow type. This value is available in API version 49.0
or later and only when the Customer Lifecycle Designer
license is enabled.
WorkflowA process that is invoked when a record is
created or edited. In the UI and Salesforce Help, its a record
change process.
Across flow versions, you can change the type only from Flow
to AutoLaunchedFlow or vice versa. Before you change
the flow type, make sure that the flow contains only the
elements, resources, and functionality that the new flow type
supports.
These values are reserved for future or Salesforce internal use.
ActionCadenceFlow
ActionPlan
AppProcess
CartAsyncFlow
DigitalForm
JourneyBuilderIntegration
LoginFlow
ManagedContentFlow
OrchestrationFlow
SalesEntryExperienceFlow
TransactionSecurityFlow
UserProvisioningFlow
This field is available in API version 31.0 and later.
An array of nodes for creating records in the database.Array of FlowRecordCreate
objects
recordCreates
An array of nodes for deleting records in the database.Array of FlowRecordDelete
objects
recordDeletes
An array of nodes for looking up records in the database.Array of FlowRecordLookup
objects
recordLookups
981
FlowMetadata Types
DescriptionField TypeField Name
An array of nodes for rolling back transactions in the screen flow.
This field is available in API version 52.0 and later.
Array of FlowRecordRollback
objects
recordRollbacks
An array of nodes for updating records in the database.Array of FlowRecordUpdate
objects
recordUpdates
The context that the flow runs in. Valid values are:FlowRunInMode (enumeration
of type string)
runInMode
DefaultModeHow the flow is launched determines
whether the flow runs in user context or in system context.
In the UI, this value appears as User or System
ContextDepends on How Flow is Launched.
SystemModeWithSharingThe flow respects
org-wide default settings, role hierarchies, sharing rules,
manual sharing, teams, and territories. The flow doesnt
respect object permissions, field-level access, or other
permissions of the running user. In the UI, this value appears
as System Context with SharingEnforces
Record-Level Access.
SystemModeWithoutSharing—The flow can access
all data. In the UI, this value appears as System Context
without SharingAccess All Data. This value is available
in API version 49.0 and later.
This field is available in API version 48.0 and later.
An array of screen nodes.Array of FlowScreen objectsscreens
Reserved for future use.stringsegment
An array of stage resources that you can use throughout the
flow. This field is available in API version 42.0 and later.
Array of FlowStage objectsstages
The flows Start element, which specifies how and when the
flow starts. This field is available in API version 47.0 and later.
FlowStart objectstart
Specifies which node or element is the starting point in the flow.
This field isnt used in flows created or saved in Flow Builder in
Winter 20 and later. Those flows use the start field instead
to specify how the flow starts.
stringstartElementReference
The activation status of the flow. Valid values are:FlowVersionStatus (enumeration
of type string)
status
Active
DraftIn the UI, this status appears as Inactive.
ObsoleteIn the UI, this status appears as Inactive.
InvalidDraftIn the UI, this status appears as
Draft.
An array of step nodes.Array of FlowStep objectssteps
982
FlowMetadata Types
DescriptionField TypeField Name
An array of subflows. This field is available in API version 25.0
and later.
Array of FlowSubflow objectssubflows
An array of text templates.Array of FlowTextTemplate
objects
textTemplates
The ID that defines the time zone in which the flow runs. This
field is available in API version 56.0 and later.
stringtimeZoneSidKey
An array of data transformations. This field is available in API
version 59.0 and later.
Array of FlowTransform objectstransforms
The run order of a record-triggered flow, from 1 to 2,000. See
Guidelines for Defining the Run Order of Record-Triggered Flows
inttriggerOrder
for an Object in Salesforce Help. This field is available in API
version 54.0 and later.
An array of variable definitions.Array of FlowVariable objectsvariables
An array of wait nodes. This field is available in API version 32.0
and later.
Array of FlowWait objectswaits
FlowActionCall
Defines a call to an action from the flow. It extends FlowNode.
This metadata type is available in API version 31.0 and later.
DescriptionField TypeField Name
Required. Name for the action. Must be unique across
actions with the same actionType.
stringactionName
Required. The action type. Valid values are:InvocableActionType (enumeration of type
string)
actionType
activateSessionPermSetActivates a
session-based permission set for the running user.
addMessageToChatAdds a message to an
existing Salesforce Anywhere chat. This value is available
in API version 49.0 and later.
addMessageToQuipChatAdds a Quip message
to an existing chat room. This value is available in API
version 46.0 and later.
addMessageToQuipDocumentAdds a Quip
message to an existing Quip document, spreadsheet,
or slide. This value is available in API version 46.0 and
later.
addQuipDocumentToFolderAdds an existing
Quip document, spreadsheet, or slide to an existing
983
FlowMetadata Types
DescriptionField TypeField Name
folder. This value is available in API version 46.0 and
later.
addUsersToChatAdds users to an existing
Salesforce Anywhere chat. This value is available in API
version 49.0 and later.
addUsersToQuipDocumentAdds users,
identified by their email addresses, to an existing Quip
document, spreadsheet, or slide. This value is available
in API version 46.0 and later.
addUsersToQuipChatAdds users, identified
by their email addresses, to an existing Quip chat room.
This value is available in API version 46.0 and later.
attachQuipDocumentToRecordAttaches a
Quip document, spreadsheet, or slide to a Salesforce
record. This value is available in API version 46.0 and
later.
apexInvokes an Apex method that has the
@invocableMethod annotation.
archiveKnowledgeArticlesArchives a list
of published Knowledge articles. This value is available
in API version 45.0 and later.
assignKnowledgeArticlesMass assigns
knowledge articles from article list views. This value is
available in API version 44.0 and later.
buildIdentityVerificationCalls an action
that builds the identity verification context using the
identity verification process definition specified in
IdVerfProcessDefinition and information passed into
the flow. Stores the result in the VerificationContext
variable. This value is available in API version 55.0 and
later.
cdpRunIdentityResolutionRuns a Data
Cloud identity resolution process. This value is available
in API version 57.0 and later.
chatCreates a Salesforce Anywhere chat. This value
is available in API version 49.0 and later.
chatterPostPosts to Chatter.
choosePricebookSelects a price book.
contactRequestActionCreates a contact
request record. This value is available in API version 45.0
and later.
componentInvokes the Lightning component that
implements the
lightning:availableForFlowActions
984
FlowMetadata Types
DescriptionField TypeField Name
interface and that is referenced by actionName. This
value is available in API version 43.0 and later.
contentWorkspaceEnableFoldersEnables
folders in a library.
copyQuipDocumentCreates a copy of an existing
Quip document, spreadsheet, or slide, and gives it a
new title. This value is available in API version 46.0 and
later.
createDraftFromOnlineKnowledgeArticleCreates
a draft from a published knowledge article. This value
is available in API version 45.0 and later.
createInvoiceFromFulfillmentOrderCreates
an invoice from a purchase order. Available to B2B
Commerce. This value is available in API version 49.0
and later.
createQuipChatCreates a Quip chat room. This
value is available in API version 46.0 and later.
createQuipDocumentCreates a Quip
document, spreadsheet, or slide. This value is available
in API version 46.0 and later.
createQuipFolderCreates a Quip folder. This
value is available in API version 46.0 and later.
customNotificationActionSends a custom
notification. This value is available in API version 46.0
and later.
deactivateSessionPermSetDeactivates a
session-based permission set for the running user.
deleteKnowledgeArticleDeletes a draft
version (translation or master-language) or an entire
archived knowledge article. This value is available in API
version 46.0 and later.
dynamicSendSurveyInvitationSends
customized notifications to users about important
events or updates to the records that theyre working
on. This value is available in API version 51.0 and later.
editQuipDocumentModifies the contents of an
existing Quip document, spreadsheet, or slide. This value
is available in API version 46.0 and later.
emailAlertSends an email by referencing a
workflow email alert
emailSimpleSends an email by using flow
resources
externalServiceInvokes an External Service
operation that makes an HTTP request to an external
985
FlowMetadata Types
DescriptionField TypeField Name
system made available by an External Service schema
registered through Setup. This value is available in API
version 46.0 and later.
findMatchingIndividualsFinds contact,
lead, or employee records that match a search term.
flowInvokes an autolaunched flow. This action type
isnt available for flows with a processType of Flow or
AutolaunchedFlow. To invoke an autolaunched flow
from one of those types, use FlowSubflow. This value
is available in API version 32.0 and later.
getArticleSmartLinkUrlGets the Smart
Link URL of the Salesforce Knowledge article. Smart links
go to the right article and version, even when a new
version is published or the URL name changes. This
value is available in API version 54.0 and later.
getResourcesForMnlSchedulingRecommends
resources to use to manually schedule the start of a care
visit or recurring visits. You must enable Home Health
to use this action. This value is available in API version
61.0 and later.
getVerificationDataCalls an invocable
action to get verification data for
selectedPrimaryVerificationContext and adds the results
to selectedPrimaryVerificationContext. This value is
available in API version 54.0 and later.
internalTestActionReserved for internal use.
internalTestConnectApiActionReserved
for internal use.
limitRepetitionsLimit the number of times
the same recommendation or offer appears on the same
record or for the same user during a time period in a
recommendation strategy flow. This value is available
in API version 55.0 and later.
lockRecordLock or unlock a workflow-enabled
or approval-enabled record for editing during an
approval and specify who can edit the record while it's
locked.
massUpdateAccountForecastBulk updates
forecasts asynchronously. This value is available in API
version 48.0 and later.
massUpdateSalesAgreementBulk updates
sales agreements asynchronously. This value is available
in API version 48.0 and later.
quickActionInvokes a QuickAction.
986
FlowMetadata Types
DescriptionField TypeField Name
publishKnowledgeArticlesMass publishes
knowledge articles from article list views. This value is
available in API version 44.0 and later.
rescheduleRecurringHomeVisitsReschedules
all the home visits based on the recurrence pattern and
scheduling policy provided. This value is available in API
version 60.0 and later.
restoreKnowledgeArticleVersionRestores
an archived version of a knowledge article. This value
is available in API version 45.0 and later.
scheduleGroupVisitsCreate visiting records
for patient home visits by bundling them into a group
and scheduling either a single start-of-care visit or a
series of recurring visits associated with the bundled
records. This value is available in API version 60.0 and
later.
sendAlertSends Salesforce Anywhere alerts to
users. This value is available in API version 49.0 and later.
sendNotificationSends an available
notification type. This value is available in API version
54.0 and later.
sendSurveyInvitationSends email survey
invitations to leads, contacts, and users in your org
based on an action, such as when a customer support
case closes. This value is available in API version 47.0
and later.
pardotSlackCompletionActionNotificationSends
a user a Slack notification when a prospect completes
an activity in Account Engagement.
performSurveySentimentAnalysisPerform
survey sentiment analysis to create or update the AI
Sentiment Result records. This value is available in API
version 55.0 and later.
skillsBasedRoutingCreates a
PendingServiceRouting record used for Omni-Channel
skills-based routing. This value is available in version
44.0 and later.
slackArchiveChannelArchives a Slack
channel in a Slack workspace. This value is available in
API version 54.0 and later.
slackCheckUsersAreConnectedToSlackIndicates
whether a collection of Salesforce users is connected
to a given Slack app. This value is available in API version
54.0 and later.
987
FlowMetadata Types
DescriptionField TypeField Name
slackCreateChannelCreates a Slack channel
in a Slack workspace. This value is available in API version
54.0 and later.
slackGetConversationInfoRetrieves the
name of a Slack channel or group direct message and
finds out whether its archived. This value is available in
API version 54.0 and later.
slackInviteUsersToChannelAdds users
who are connected to a given Slack app to a Slack
channel or group direct message. This value is available
in API version 54.0 and later.
slackPinMessagePin or unpin a message in a
Slack channel or group direct message. This value is
available in API version 54.0 and later.
slackPostMessageSend a message to a Slack
channel or group direct message. This value is available
in API version 54.0 and later.
slackSendMessageToLaunchFlowSend a
message to a Slack channel, direct message, or the
Messages tab of a Slack app that includes a button that
a recipient can use to launch a screen flow. This value
is available in API version 55.0 and later.
slackUpdateMessageEdits a message that was
previously sent to a Slack channel or group direct
message. This value is available in API version 54.0 and
later.
submitKnowledgeArticleForTranslationSubmits
a published or draft knowledge article for translation.
This value is available in API version 46.0 and later.
submitSubmits a record for approval.
These values are used in Omnichannel Inventory. If no
version is specified, the value is available in API version 51.0
and later.
ociCreateReservationCreates one or more
inventory reservations at a location or location group.
ociFulfillReservationFulfills one or more
inventory reservations at a location.
ociGetAvailabilityGets inventory availability
data for one or more products at one or more inventory
locations or location groups.
ociReleaseReservationReleases one or
more inventory reservations.
988
FlowMetadata Types
DescriptionField TypeField Name
ociTransferReservationTransfers one or
more inventory reservations between locations or
location groups.
These values are used in the B2B Commerce Checkout Flow.
If no version is specified, the value is available in API version
47.0 and later.
updateCheckoutSessionStateActionUpdates
the checkout session next state for checkout flows. This
value is available in API version 49.0 and later.
priceCartRequests prices for all items in a cart
during B2B Commerce checkout. This value is available
in API version 47.0 and later.
checkoutSessionActionInitiates or retrieves
an existing Checkout Session for Checkout Flows.
Available to B2B Commerce. This value is available in
API version 49.0 and later.
cancelCartAsyncOperationCancels a
WebCarts async operation. Available to B2B Commerce.
This value is available in API version 49.0 and later.
calcCartPromotionsActionRequests a full
cart promotion calculation of all applicable line items
in the Web Cart during B2B Commerce checkout. This
value is available in API version 52.0 and later.
checkCartInventoryActionRequests an
inventory for all items in a Web Cart during B2B
Commerce checkout. This value is available in API
version 47.0 and later.
calcCartShipmentActionCalculates the
shipping cost for all items in a Web Cart during B2B
Commerce checkout. This value is available in API
version 47.0 and later.
cartToOrderActionCreates a Salesforce
Standard Order in draft mode. This value is available in
API version 47.0 and later.
activateOrderActionActivates a draft order,
which creates an order summary. This value is available
in API version 47.0 and later.
For values used in Business Rules Engine, see Flow for
Business Rules Engine.
These values are used in the Commerce Checkout Flow. If
no version is specified, the value is available in API version
55.0 and later.
addCartItemAdds an item to a cart during
Commerce checkout.
989
FlowMetadata Types
DescriptionField TypeField Name
createCartCreates a cart during Commerce
checkout.
deleteCartDeletes a cart during Commerce
checkout.
These values are used in Salesforce CMS Workflows and
Approvals. If no version is specified, the value is available in
API version 58.0 and later.
managedContentPublishVariantPublishes
a content variant associated with a flow. This value is
available in API version 59.0 and later.
managedContentRoleStepInteractiveAssigns
a content variant review to a CMS role.
managedContentUnpublishVariantUnpublishes
a published content variant associated with a flow. This
value is available in API version 59.0 and later.
managedContentVariantSetLockStatusSets
the locked status of a content variant.
managedContentVariantSetReadyStatusSets
the ready for publication status of a content variant.
For values used in Digital Lending, see Flow for Digital
Lending.
These values are used in Order Management. If no version
is specified, the value is available in API version 48.0 and
later.
addOrderItemSummarySubmitAdds order
item summaries to an order summary. This value is
available in API version 54.0 and later.
adjustOrderItemSummariesPreviewPreviews
the expected results of applying a price adjustment to
order item summaries from an order summary without
actually applying it. This value is available in API version
49.0 and later.
adjustOrderItemSummariesSubmitApplies
a price adjustment to order item summaries from an
order summary. This value is available in API version
49.0 and later.
authorizePaymentAuthorizes a card payment.
This value is available in API version 55.0 and later.
cancelFulfillmentOrderItemRemoves
items from a fulfillment order.
cancelOrderItemSummariesPreviewPreviews
the expected results of canceling order item summaries
990
FlowMetadata Types
DescriptionField TypeField Name
from an order summary without actually canceling
them.
cancelOrderItemSummariesSubmitCancels
order item summaries from an order summary.
confirmHeldFulfillmentOrderCapacityConfirms
held fulfillment order capacity. This value is available in
API version 55.0 and later.
createCreditMemoOrderSummaryCreates
a credit memo for an order summary.
createFulfillmentOrderCreates one or
more fulfillment orders and fulfillment order products
for an order delivery group summary, which defines a
recipient and delivery method.
createFulfillmentOrdersCreates
fulfillment orders and fulfillment order products for
multiple order delivery group summaries, each of which
defines a recipient and delivery method. This value is
available in API version 51.0 and later.
createInvoiceFromChangeOrdersCreates
an invoice for one or more change orders. This value is
available in API version 56.0 and later.
createInvoiceFromFulfillmentOrderCreates
an invoice for a fulfillment order.
createOrderPaymentSummaryCreates an
order payment summary for an authorization or
payments belonging to an order summary.
createOrderSummaryCreates an order
summary for an order.
createReturnOrderCreates a return order and
return order items for an order.
ensureFundsOrderSummaryAsyncTriggers
an asynchronous background process to ensure funds
through a payment provider for an invoice belonging
to an order summary.
ensureRefundsOrderSummaryAsyncTriggers
an asynchronous background process to ensure refunds
through a payment provider for an invoice belonging
to an order summary.
getFulfillmentOrderCapacityValuesGets
fulfillment order capacity information. This value is
available in API version 55.0 and later.
holdFulfillmentOrderCapacityHolds
fulfillment order capacity. This value is available in API
version 55.0 and later.
991
FlowMetadata Types
DescriptionField TypeField Name
orderRoutingFindRoutesWithFewestSplitsEvaluates
ordered product quantities against available inventory
to determine the smallest combination of locations that
can fulfill the order. This value is available in API version
51.0 and later.
orderRoutingFindRoutesWithFewestSplitsUsingOCIEvaluates
ordered product quantities against available inventory
at specified location groups and locations to determine
the smallest combination of locations that can fulfill the
order. This value is available in API version 54.0 and later.
orderRoutingRankByAverageDistanceCalculates
the average distance from sets of inventory locations
to an order recipient, and returns the sets sorted by that
average distance. This value is available in API version
51.0 and later.
releaseHeldFulfillmentOrderCapacityReleases
held fulfillment order capacity. This value is available in
API version 55.0 and later.
returnOrderItemSummariesPreviewPreviews
the expected results of returning order item summaries
from an order summary without actually returning them.
returnOrderItemSummariesSubmitReturns
order item summaries from an order summary.
returnReturnOrderItemsProcesses return
order line items.
These values are used in Financial Services Cloud.
createFinancialRecordsCreates person
accounts, contacts, financial accounts, properties, assets,
and liabilities from a residential loan application. This
value is available in API version 49.0 and later.
For values used in Fundraising for Nonprofit Cloud, see Flow
for Fundraising.
For values used in Health Cloud, see Flow for Health Cloud.
For values used in Life Sciences Cloud, see Flow for Life
Sciences Cloud.
For values used in Manufacturing Cloud, see Flow for
Manufacturing Cloud.
These values are used in Rebate Management.
addRebateMemberListAdds a list of members
to a rebate program. This value is available in API version
51.0 and later.
calculateProjectedRebateAmountCalculates
the projected rebate amount for rebate types associated
992
FlowMetadata Types
DescriptionField TypeField Name
with a specified transaction ID. This value is available in
API version 54.0 and later.
calculateRebateAmountAndUpsertPayoutCalculates
the rebate amount and upserts the rebate payout for
the specified aggregate record. This value is available
in API version 51.0 and later.
getBenefitAndCalculateRebateAmount
Gets benefit details, and optionally calculates the rebate
amount for the specified aggregate record. This value
is available in API version 51.0 and later.
getEligibleProgramRebateTypesRetrieves
the eligible program rebate types for a mapped object.
This value is available in API version 52.0 and later.
generateRebatePayoutPeriodsGenerates
payout periods for a rebate program based on the
frequency specified in the program. This value is
available in API version 51.0 and later.
processRebatesBatchCalculationJobProcesses
a rebate batch calculation job from the Data Processing
Engine. This value is available in API version 51.0 and
later.
processProgramRebateTypeProductsInsert
or delete records in the Program Rebate Type Product
object. This value is available in API version 53.0 and
later.
rebatesProcessCSVProcesses an uploaded
CSV file using Bulk API 2.0 and converts the files data
into records in the target object. This value is available
in API version 51.0 and later.
upsertCustomRebatePayoutUpserts the
custom calculated rebate payout for the specified
aggregate record. This value is available in API version
51.0 and later.
For values used in Referral Marketing, see Flow for Referral
Marketing.
These values are used in Loyalty Management.
adjustPointsAdjusts loyalty points for a
specified program member or journal transaction. This
value is available in API version 51.0 and later.
assignTierBenefits Assigns Member Benefits
to a member tier for benefits that are associated with a
Benefit Action. This value is available in API version 51.0
and later.
993
FlowMetadata Types
DescriptionField TypeField Name
cancelAccrualCancels a specific set of accrual
transactions.
creditPointsCredits loyalty points to a specified
program members balance. This value is available in
API version 51.0 and later.
cancelRedemptionReverts a specific set of
redemption transactions. This value is available in API
version 51.0 and later.
changeTierChanges the tier for a specified
program member. This value is available in API version
51.0 and later.
changeTierWhenNoErrorsChanges tier for
a specified loyalty program member only when all the
input parameters meet the criteria. This value is available
in API version 51.0 and later.
debitPointsDebits loyalty points to a specified
program members balance. This value is available in
API version 51.0 and later.
executeMemberBenefitProcesses the benefit
action associated with the benefit, which is assigned to
a loyalty program member. This value is available in API
version 51.0 and later.
generateMemberReferralCodeGenerates
a unique 8-character referral code for a loyalty program
member. This value is available in API version 57.0 and
later.
getMemberActiveSegmentsRetrieve active
Data Cloud market segments that a loyalty program
member is a part of.
getTierGets the current tier for a specified
program member. This value is available in API version
51.0 and later.
getPointsBalanceGets the loyalty points
balance for a specified program member. This value is
available in API version 51.0 and later.
getLoyaltyPromotionGets active loyalty
promotions based on a transaction journal. This value
is available in API version 53.0 and later.
getLoyaltyPromotionBasedOnSalesforceCDPGets
promotions for a member based on the market segment
the member belongs to. This value is available in API
version 53.0 and later.
994
FlowMetadata Types
DescriptionField TypeField Name
issueVoucherIssues a voucher for a member or
contract. This value is available in API version 51.0 and
later.
mergeLoyaltyProgramMembershipMerges
two active loyalty program member records that both
belong to the same loyalty program. This value is
available in API version 56.0 and later.
transferMemberPointsToGroupsTransfers
points from an individual member or a corporate
member to the members associated group. This value
is available in API version 53.0 and later.
updateProgressForCumulativePromotionUsageUpdates
the progress a member has made towards attaining a
cumulative type promotion. This value is available in
API version 53.0 and later.
unmergeLoyaltyProgramMembershipUnmerges
loyalty program member records that have a Merged
status. The action unmerges memberships in the
Merged status from the previously merged membership.
This value is available in API version 56.0 and later.
runProgramProcessTriggers an active loyalty
program process. This value is available in API version
56.0 and later.
runProgramProcessForTransactionJournalTriggers
an active loyalty program process whose process type
is TransactionJournal. This value is available in API
version 54.0 and later.
These values are for Decision Table.
decisionTableActionRuns an active decision
table definition. This value is available in API version
51.0 and later.
refreshDecisionTableRefreshes the decision
table cache. This value is available in API version 51.0
and later.
These values are for the Batch Management jobs.
batchJobActionRuns the batch management
jobs definitions. This value is available in API version
51.0 and later.
submitFailedRecordsBatchJobResubmits
an existing batch job with failed records for processing.
This value is available in API version 52.0 and later.
This value is for Data Processing Engine.
995
FlowMetadata Types
DescriptionField TypeField Name
dataProcessingEngineActionRuns the
data processing engine definitions. This value is available
in API version 51.0 and later.
This value is used for Einstein Visit Recommendation.
saveRecommendationDecisionSave visit
and task recommendation decisions. This value is
available in API version 51.0 and later.
These values are used in Field Service. If no version is
specified, the value is available in API version 52.0 and later.
addWorkPlansCreates work plan and work step
objects from the work plan library.
addWorkStepsCreates work step objects from
the work plan library.
deleteWorkPlansDeletes all the work plans
and work steps associated with a work order or work
order line item.
generateWorkPlansGenerates work plans
based off rules defined in the work plan library.
For values used in Intelligent Form Reader, see Flow for
Intelligent Form Reader.
For values used in Intelligent Document Reader, see Flow
for Intelligent Document Reader.
This value is used in Public Sector Solutions.
createBenefitDisbursementCreates a
benefit disbursement for an eligible benefit assignment.
This value is available in API version 57.0 and later.
runRecordAggrBatchProcDefRuns a Data
Processing Engine definition to process an asynchronous
batch job that creates or updates record aggregation
results. This value is available in API version 59.0 and
later.
For values used in Net Zero Cloud, see Flow for Net Zero
Cloud.
For values used in Asset Lifecycle, see Flow for Asset
Lifecycle.
For values used in Salesforce Pricing, see Flow for Salesforce
Pricing.
For values used in Dynamic Revenue Orchestrator, see Flow
for Dynamic Revenue Orchestrator.
For values used in Quote and Order Capture, see Flow for
Quote and Order Capture.
996
FlowMetadata Types
DescriptionField TypeField Name
This value is used in Einstein generative AI features.
generatePromptResponseGenerates a
response based on the large language model (LLM)
response for the specified prompt template and inputs.
This value is available in API version 60.0 and later.
These values are used in Einstein Bots. If no version is
specified, the value is available in API version 56.0 and later.
getDataCategoryDetailsGets the labels
and API names for a specified data category associated
with the Knowledge object and its child categories.
getDataCategoryGroupsGets the labels and
API names of the active data category groups associated
with the Knowledge object thats visible to the current
user.
searchKnowledgeArticlesSearches for
knowledge articles with specified search terms,
language, data category group, and data category.
These values are reserved for future use.
thanks
metricRefresh
exportSurveyResponses
This value is used for Einstein Initiate Language Processing
Action.
initiateNaturalLangProcessingCreate
a record for the AI natural language processing result
and initiate text processing by using the service
specified in the related record. This value is available in
API version 60.0 and later.
This value is used in Media Cloud.
vlocity_cmt__MediaIntegrationProcedureInvocableCall
an Integration Procedure from a Salesforce Flow to
process media content. This value is available in API
version 60.0 and later.
These values are used in the Get Forecast Guidance flow.
getForecastContext Gets the forecast context
for a specified user. This value is available in API version
61.0 and later.
getForecastOpportunities Gets forecast
opportunities for a user that matches the specified
criteria. This value is available in API version 61.0 and
later.
997
FlowMetadata Types
DescriptionField TypeField Name
Specifies which node to execute after this action call.FlowConnectorconnector
An array of data type mappings for input and output values
that have the generic sObject data type. This field is available
in API version 48.0 and later.
Array of FlowDataTypeMapping objectsdataTypeMappings
Specifies which node to execute if the action call results in
an error.
FlowConnectorfaultConnector
Required. Specifies the transactional model for flows that
execute invocable actions. Valid values are:
FlowTransactionModel (enumeration of
type string)
flowTransactionModel
Automatic Creates a transaction if the invocable
action supports it and theres pending DML.
CurrentTransaction Keeps the invocable
action running in the same transaction.
NewTransaction Creates a transaction before
the invocable action is executed.
This field is available in API version 51.0 and later.
An array of input parameters from the flow to the action.Array of FlowActionCallInputParameter
objects
inputParameters
Specifies the name of the versioned action. Supported only
when nameSegment is specified. This field is available in
API version 58.0 and later.
stringnameSegment
An array of output parameters from the action to the flow.Array of FlowActionCallOutputParameter
objects
outputParameters
Indicates whether the actions output parameters are
automatically available in the flow without creating any
booleanstoreOutputAutomatically
variables. When the value is true, you can reference an
output parameter by specifying the API name of the Action
element in the flow. The default value is false. When the
value is false, create variables manually to store output
values from the action.
This field is available in API version 48.0 and later.
Specifies the version of the versioned action. By default, the
value is 1. Supported only when versionSegment is specified.
This field is available in API version 58.0 and later.
intversionSegment
FlowActionCallInputParameter
Defines an input parameter from the flow to the action. It extends FlowBaseElement and inherits all its fields. This metadata type is
available in API version 31.0 and later.
998
FlowMetadata Types
DescriptionField TypeField Name
Required. Unique name for the input parameter.stringname
Defines the value of the input parameter.FlowElementReferenceOrValuevalue
FlowActionCallOutputParameter
Defines an output parameter from the action to the flow. It extends FlowBaseElement and inherits all its fields. This metadata type is
available in API version 31.0 and later.
DescriptionField TypeField Name
Required. Specifies the variable to which you want to assign the
output parameter value.
stringassignToReference
Required. Unique name for the output parameter.stringname
FlowApexPluginCall
Defines a call to an Apex plug-in from the flow. It extends FlowNode and inherits all its fields.
DescriptionField TypeField Name
Required. The name of the Apex class.stringapexClass
Specifies which node to execute after this Apex plug-in call.FlowConnectorconnector
Specifies which node to execute if the Apex plug-in call
results in an error.
FlowConnectorfaultConnector
An array of input parameters from the flow to the Apex
plug-in.
Array of
FlowApexPluginCallInputParameter objects
inputParameters
An array of output parameters from the Apex plug-in to the
flow.
Array of
FlowApexPluginCallOutputParameter
objects
outputParameters
FlowApexPluginCallInputParameter
Defines an input parameter from the flow to the Apex plug-in. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Required. Unique name for the input parameter.stringname
Defines the value of the input parameter.FlowElementReferenceOrValuevalue
999
FlowMetadata Types
FlowApexPluginCallOutputParameter
Defines an output parameter from the Apex plug-in to the flow. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Required. Specifies the variable to which you want to assign the
output parameter value.
stringassignToReference
Required. Unique name for the output parameter.stringname
FlowAssignment
Defines an assignment node that can dynamically change the value of a variable in the flow. It extends FlowNode and inherits all of its
fields.
DescriptionField TypeField Name
An array of assignment operations thats executed in the given
order, starting from the index 0.
Array of
FlowAssignmentItem
objects
assignmentItems
Specifies which node to execute after this assignment node.FlowConnectorconnector
FlowAssignmentItem
Defines an operation to apply to a variable. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Reference to the variable to which you want to apply the
specified operator.
stringassignToReference
Operation to apply to the variable reference in the
assignToReference field. For valid values, see
FlowAssignmentOperator.
FlowAssignmentOperator
(enumeration of type string)
operator
Defines the value that you want the operator to apply to
the variable reference in the assignToReference
field.
FlowElementReferenceOrValuevalue
FlowAssignmentOperator
An enumeration of type string that specifies the operation to apply to the variable in the assignToReference field. See Flow
Operators in Assignment Elements in Salesforce Help.
These values are valid.
1000
FlowMetadata Types
DescriptionEnumeration Value
When the assignToReference field is a variable of type number or currency, this operator
adds the value to the variable.
When the assignToReference field is a variable of type date, this operator adds the
value in days to the variable.
Add
When the assignToReference field is a variable of type string, this operator appends
the value to the end of the string.
When the assignToReference field is a variable of type picklist, this operator appends
the value to the end of the last item in the picklist.
When the assignToReference field is a variable of type multipicklist, this operator
appends the value to the end of the last item in the multi-select picklist. To instead add an
item to the end of the multi-select picklist, use the AddItem operator.
When the assignToReference field is the $Flow.ActiveStages global variable,
this operator appends the value as a new item at the end of $Flow.ActiveStages.
When the assignToReference field is a collection variable, this operator appends the
value to the end of the collection. Support for a collection variable as the value is available
in API version 43.0 and later, but only via Metadata API. From Flow Builder, you cant save an
Assignment element that contains a collection variable in the Value column for the Add
operator.
The Add operator isnt supported when the assignToReference field is a variable of
type boolean, dateTime, or sObject.
Supported only when the assignToReference field is a collection variable or the
$Flow.ActiveStages global variable. Adds the value as a new item at the beginning
AddAtStart
of the collection. When the value is a collection variable, the operator adds all items at the
beginning of the collection. This operator is available in API version 43.0 and later.
Supported only when the assignToReference field is a variable of type multipicklist.
Adds the value to the picklist, including the semicolon thats required to mark a value as
a separate item. This operator is available in API version 34.0 and later.
AddItem
Assigns the value to the variable in the assignToReference field.Assign
Supported only when the value is a collection variable or the $Flow.ActiveStages
global variable. Counts the number of stages or items in the collection, and assigns that number
AssignCount
to the variable in the assignToReference field. Corresponds to equals count in
the user interface. This operator is available in API version 43.0 and later.
Supported only when the assignToReference field is a collection variable or the
$Flow.ActiveStages global variable. Finds the first instance of the value within the
RemoveAfterFirst
variable in the assignToReference field. Removes everything after that first instance
from the variable. This operator is available in API version 43.0 and later.
Supported only when the assignToReference field is a collection variable or the
$Flow.ActiveStages global variable. Removes all instances of the value from the
RemoveAll
variable in the assignToReference field. When the value is a collection variable, the
operator removes all instances of each item from the variable in the assignToReference
field. This operator is available in API version 43.0 and later.
1001
FlowMetadata Types
DescriptionEnumeration Value
Supported only when the assignToReference field is a collection variable or the
$Flow.ActiveStages global variable. Finds the first instance of the value within the
RemoveBeforeFirst
variable in the assignToReference field. Removes everything before that first instance
from the variable. This operator is available in API version 43.0 and later.
Supported only when the assignToReference field is a collection variable or the
$Flow.ActiveStages global variable. Removes the first instance of the value from
RemoveFirst
the variable in the assignToReference field. This operator is available in API version 43.0
and later.
Supported only when the assignToReference field is a collection variable or the
$Flow.ActiveStages global variable. Removes the item at the specified position. For
RemovePosition
example, if the collection contains three items, such as Red, Green, and Blue, and the value
is 2, the second item, Green, is removed from the collection variable. This operator is available
in API version 43.0 and later.
Make sure that the value at run time is a positive integer within the range of the number of
items in the collection variable.
Supported only when assignToReference and value are both collection variables.
Keeps items that are in both collections and removes the rest from the collection variable in
the assignToReference field. This operator is available in API version 43.0 and later.
RemoveUncommon
Supported only when the assignToReference field is a variable of type currency, date,
or number.
When the assignToReference field is a variable of type number or currency, this operator
subtracts the value from the variable.
Subtract
When the assignToReference field is a variable of type date, this operator subtracts the
value in days from the variable.
FlowChoice
A choice resource is a standalone choice option that you can reference or reuse throughout the flow. It extends FlowElement and inherits
all of its fields.
DescriptionField TypeField Name
Required. Choice label to display in the screen.stringchoiceText
Required. Valid types are:FlowDataType (enumeration of type
string)
dataType
Currency
Date
Number
String
Boolean
1002
FlowMetadata Types
DescriptionField TypeField Name
Enables the choice to allow user input when the choice is
selected. Not supported for choices in multi-select fields.
FlowChoiceUserInputuserInput
Actual value thats used during flow execution, for example,
in assignments, calls to Apex plug-ins, and record elements. If
null, this choice always has the value of null.
FlowElementReferenceOrValuevalue
FlowChoiceUserInput
Allows the choice to include a user input field that appears when the user selects a choice. User input isnt supported for choices in
multi-select fields. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Indicates whether users are required to enter something into the
field when they select the choice.
booleanisRequired
Text thats displayed to prompt the user for input at runtime.
Supports merge fields.
stringpromptText
A rule used at runtime to validate the user input.FlowInputValidationRulevalidationRule
FlowCollectionProcessor
Defines a node that processes the contents of a collection, depending on the collectionProcessorType. FlowCollectionProcessor
is available in API version 50.0 and later. FlowCollectionProcessor extends FlowNode and inherits all its fields.
DescriptionField TypeField Name
The name of the variable thats assigned to the next value of
the collection.
stringassignNextValueToReference
The type of the collection processor. Valid values are:FlowCollectionProcessorTypecollectionProcessorType
SortCollectionProcessorThis value is
available in API version 50.0 and later.
RecommendationMapCollectionProcessor
This value is available in API version 53.0 and later.
FilterCollectionProcessor This value is
available in API version 53.0 and later.
The collection being sorted, filtered, or assigned to
recommendations.
stringcollectionReference
Defines how the filtering conditions are evaluated. Valid values
are:
stringconditionLogic
And
Or
1003
FlowMetadata Types
DescriptionField TypeField Name
Custom logic, such as (1 AND (2 OR
3))
Formula
An array of conditions for the input collection.Array of FlowCondition objectsconditions
Specifies which node to execute after processing the collection.FlowConnectorconnector
The formula expression that filters the input collection. If the
formula evaluates to true, the record is added to the output
collection.
stringformula
The maximum number of records to include in the generated
collection. Theres no default value. All items of the collection
are kept if its greater than the size of the collection.
If sortField and sortOrder are also specified, the records are
sorted before the limit takes effect.
intlimit
This field is available in API version 51.0 and later.
This field is nillable in API version 51.0 and later.
The rules to map each field of the collection variable.Array of FlowCollectionMapItem objectsmapItems
The sObject type of the output collection.stringoutputSObjectType
An array of options to sort the items in the collection. This field
is available in API version 51.0 and later.
Array of FlowCollectionSortOption
objects
sortOptions
FlowCollectionSortOption
Sets the sorting field, sort order, and placement of empty or null values in the sorted collection. This metadata type is available in API
version 51.0 and later.
DescriptionField TypeField Name
Place empty or null values first in the sorted list by setting this
value to true. The default value is false.
booleandoesPutEmptyStringAndNullFirst
Determines the sorting of records that meet the filter criteria.
Required for record collections and collections of Apex-defined
variables.
If the collection is a primitive data type, such as a list of string
or integer values, sortField isnt supported.
stringsortField
The order that the collection is sorted in. Valid values are:SortOrder (enumeration of type string)sortOrder
AscAscending
DescDescending
1004
FlowMetadata Types
FlowCondition
Defines a condition for a rule. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
The type of condition that a requirement in an orchestration
is used for. Valid values are:
FlowWaitConditionType (enumeration
of type string)
conditionType
EntryCondition
ExitCondition
Required. Unique name of the element that serves as the
left side of the condition expression.
stringleftValueReference
Required. Comparison operators in conditions for flow
elements and resources. Valid values are:
FlowComparisonOperator
(enumeration of type string)
operator
Contains
EndsWith
EqualTo
GreaterThan
GreaterThanOrEqualTo
In This value is available in API version 56.0 and later.
IsBlankA text value with zero characters or with
only whitespace. Use to determine whether a text field
or variable is blank. For other data type values, use to
determine whether a field or variable is null. This value
is available in API version 61.0 and later.
IsChanged— This value is available in API version 52.0
and later.
IsEmptyAn empty collection. This value is available
in API version 61.0 and later.
IsNullA value that is either not set or references
no value. Use to determine whether a field or variable
value is set to no value.
LessThan
LessThanOrEqualTo
None Save a flow with an incomplete condition, so
you can finish building the flow later. This value is
available in API version 58.0 and later.
NotEqualTo
NotIn This value is available in API version 56.0 and
later.
StartsWith
WasSelected Requires a choice on the left side.
1005
FlowMetadata Types
DescriptionField TypeField Name
WasSet This value is available in API version 30.0
and later.
WasVisited Requires a node on the left side.
Unique name of an element or the actual value, such as text
or a number, for the right side of the condition expression.
FlowElementReferenceOrValuerightValue
FlowConnector
Connectors determine the order in which the nodes of the flow are executed. A connector defines and links to the subsequent node. It
extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Make the connector a Go To Connector by setting this value to
true. The default value is false. This value is available in API
version 53.0 and later. See Flow Connectors.
booleanisGoTo
Required. Which node to execute after completing the current
node.
stringtargetReference
FlowCollectionMapItem
Defines the rule to assign a value to the field reference. This metadata type is available in API version 51.0 and later.
DescriptionField TypeField Name
Required. Specifies the reference to the field to which the
specified operator is applied.
stringassignToFieldReference
Required. Applies to the variable reference in the
assignToFieldReference field.
FlowAssignmentOperator (enumeration
of type string)
operator
Required. Defines the value that the operator applies to the
variable reference in the assignToFieldReference
field.
FlowElementReferenceOrValuevalue
FlowDataTypeMapping
This data type mapping defines the specific sObject data type for input and out values that have the generic sObject data type. It extends
FlowBaseElement and inherits all its fields. This metadata type is available in API version 48.0 and later.
DescriptionField TypeField Name
Required. API name of the input or output
variable. The T__ prefix is required for
stringtypeName
input variables. The U__ prefix is required
1006
FlowMetadata Types
DescriptionField TypeField Name
for output variables. For example,
T__inputCollection represents the
API name of the input variable
inputCollection.
Required. API name of the specific sObject
data type that this value maps to. For
example, Account.
stringtypeValue
FlowConstant
A constant resource defines a fixed value that can be used throughout your flow. It extends FlowElement and inherits all its fields.
DescriptionField TypeField Name
Required. Valid types are:FlowDataType (enumeration of type
string)
dataType
Currency
Date
Number
String
Boolean
Default value of the constant. This field cant have merge fields, nor
can it reference another resource besides
$GlobalConstant.EmptyString.
FlowElementReferenceOrValuevalue
FlowDecision
A node that evaluates a set of rules and routes the flow execution based on the first rule that evaluates to true. It extends FlowNode and
inherits all its fields.
DescriptionField TypeField Name
Specifies which node to execute if none of the rules evaluate to
true.
FlowConnectordefaultConnector
Label for the default connector.stringdefaultConnectorLabel
An array of rules for the decision. The rules are evaluated in the
order that theyre listed, and the connector of the first true rule is
Array of FlowRule objectsrules
used. If no rules are true, then the default connector is used. In Flow
Builder, rules are referred to as decision outcomes.
1007
FlowMetadata Types
FlowDynamicChoiceSet
Retrieves data or metadata from an object and dynamically generates a set of choices at run time. It extends FlowElement and inherits
all its fields. Depending on the fields that are set, this element represents a record choice or a picklist choice.
A record choice dynamically generates choices based on records that meet specified filter criteria. If a dynamic choice doesnt have
the picklistField and picklistObject parameters set, its a record choice and it cant have a data type of Picklist
or Multipicklist.
A picklist choice dynamically generates choices based on the available values for a picklist or multi-select picklist field. If a dynamic
choice has the picklistField and picklistObject parameters set, its a picklist choice and it must have a data type of
Picklist or Multipicklist.
DescriptionField TypeField Name
The collection thats used to generate choices. This field is
available in API version 54.0 and later.
stringcollectionReference
Required. Valid types are:FlowDataType (enumeration of type
string)
dataType
Boolean
Currency
Date
MultipicklistPicklist choices only
Number
PicklistPicklist choices only
Record
String
Picklist and Multipicklist are available in API
version 35.0 and later. Record is available in API version
54.0 and later.
Required for record choices. Specifies the object field. The
values of the object field are displayed to the user as choice
labels for selecting a record.
For example, for an account, if you want the dynamically
generated choices to be displayed as the account names
stringdisplayField
from the records that are retrieved from the database, specify
Name in displayField.
Not supported for picklist choices. Picklist choices always
display the labels for the retrieved picklist values.
An array of filters to apply to the records retrieved from the
database. For example, filter accounts to include only the
accounts that were created in the past three months.
Not supported for picklist choices.
Array of FlowRecordFilter objectsfilters
1008
FlowMetadata Types
DescriptionField TypeField Name
Maximum number of choices to include in the generated
set of choices. Maximum and default: 200.
If sortField and sortOrder are also specified, the
records are sorted before the limit takes effect.
intlimit
This field is available in API version 25.0 and later.
This field is nillable in API version 45.0 and later.
Required for record choices. The object whose fields you
want to retrieve from the database and use to generate the
stringobject
set of choices. For example, use Account to dynamically
generate choices from the information in account records
in the database.
Not supported for picklist choices.
An array that assigns fields from the user-selected record to
variables that can be used elsewhere in the flow. For
Array of FlowOutputFieldAssignment
objects
outputAssignments
example, when the user selects an account name from the
dynamically generated list of choice options,
outputAssignments can assign the ID and AnnualRevenue
from the user-selected account to variables that you specify.
Not supported for picklist choices.
Required for picklist choices. The field whose available values
you want to retrieve from the database and use to generate
stringpicklistField
the picklist choice. For example, use Industry to dynamically
generate one choice for each available value on the Industry
picklist field.
Not supported for record choices.
This field is available in API version 35.0 and later.
Required for picklist choices. The object whose field
metadata you want to retrieve from the database and use
stringpicklistObject
to generate the picklist choice. For example, use Account
to dynamically generate choices from a picklist field on the
Account object.
Not supported for record choices.
This field is available in API version 35.0 and later.
Field thats used for sorting records that meet the filter
criteria. If this field isnt specified, the returned records arent
sorted.
You can only sort records by fields that have the Sort API
field property, as specified in SOAP API.
stringsortField
Not supported for picklist choices.
1009
FlowMetadata Types
DescriptionField TypeField Name
This field is available in API version 25.0 and later.
Order in which to sort the records. If this field isnt specified,
then the results arent sorted.
Valid values are:
SortOrder (enumeration of type string)sortOrder
AscAscending
DescDescending
Not supported for picklist choices.
This field is available in API version 25.0 and later.
Stored value for the choice, which can differ from what is
displayed to the user as the choice options
stringvalueField
(displayField). For example, the displayField
could be the account Name while the valueField is the
account Id.
Not supported for picklist choices. Picklist choices always
store the API value for the retrieved picklist values.
FlowElement
Base class for all flow elements. This class is an abstract class. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Description of the flow element.stringdescription
Unique name of the flow element.stringname
FlowBaseElement
Base class for all flow elements that require contextual information in metadata values. This class is an abstract class. FlowBaseElement
is available in API version 32.0 and later.
DescriptionField TypeField Name
Contextual information for the element.Array of FlowMetadataValue
objects
processMetadataValues
FlowMetadataValue
Defines contextual information that can be passed between elements in a flow. Flow metadata values can be used in an application
that produces or consumes flows. FlowMetadataValue is available in API version 31.0 and later.
1010
FlowMetadata Types
DescriptionField TypeField Name
Required. Name for the metadata value. This name doesnt need
to be unique across all elements.
stringname
Reference or value for the metadata value.FlowElementReferenceOrValuevalue
FlowElementReferenceOrValue
Defines a reference to an existing element or a particular value that you specify. Make sure that you specify only one of the fields.
DescriptionField TypeField Name
Use this field to specify a JSON response value of an Apex-defined record. Use
this field only for FlowScreenFieldInputParameter and
stringapexValue
FlowActionCallInputParameter. If you want to specify a different
data type or element reference, dont use this field.
Use this field to specify a boolean value. If you want to specify a different data
type or element reference, dont use this field.
booleanbooleanValue
Use this field to specify a dateTime value. If you want to specify a different data
type or element reference, dont use this field. This field is available in API version
30.0 and later.
dateTimedateTimeValue
Use this field to specify a date value. If you want to specify a different data type
or element reference, dont use this field.
datedateValue
Use this field to specify the name of an existing element. If you want to specify
a value instead of an element reference, dont use this field.
stringelementReference
Use this field to specify the formula results data type of the transformed data.
Corresponds to the target data field in Flow Builder. This field requires the
FlowDataType
(enumeration of
string)
formulaDataType
formulaExpression field. This field is available in API version 59.0 and
later. See FlowTransform
Valid values are:
Apex
Boolean
Currency
Date
DateTime
Number
String
sObjectThis value corresponds to a record variable.
Use this field to specify the formula expression that transforms the data in the
flow. In Flow Builder, it corresponds to the target data field in the Transform
stringformulaExpression
element. This field requires the formulaDataType field. This field is available
in API version 59.0 and later. See FlowTransform.
1011
FlowMetadata Types
DescriptionField TypeField Name
Use this field to specify a double value. If you want to specify a different data
type or element reference, dont use this field.
doublenumberValue
Use this field to specify the name of an existing setup reference. Required for
Omni-Channel elements. If you want to specify a value instead of a setup
stringsetupReference
reference, dont use this field. Required when setupReferenceType is
specified.
Use this field to specify the type of setup reference. Required when
setupReference is specified.
stringsetupReferenceType
Use this field to specify a JSON response value of an sObject record. Use this
field only for FlowScreenFieldInputParameter and
stringsobjectValue
FlowActionCallInputParameter. If you want to specify a different
data type or element reference, dont use this field.
Use this field to specify a string value. If you want to specify a different data type
or element reference, dont use this field.
When the FlowMetadataValue's name field is set to BuilderType or
OriginalBuilderType, the valid value is LightningFlowBuilder.
The value is reserved for internal use.
stringstringValue
Reserved for future use.stringtransformValueReference
FlowFormula
Calculates a value using functions and elements in the flow. It extends FlowElement and inherits all its fields.
DescriptionField TypeField Name
The data type for the formula. Valid values are:FlowDataType (enumeration
of type string)
dataType
Boolean
Currency
Date
DateTime
Number
String
dataType defaults to Number if it isnt defined in a formula.
This field is available in API version 31.0 and later.
Required. Salesforce formula expression. The return value must
match the data type. For API version 30.0 and earlier, the return
value must be numeric.
stringexpression
Scale of the return value, specifically, the number of digits to the
right of the decimal point. Available only when the data type is
intscale
1012
FlowMetadata Types
DescriptionField TypeField Name
Number or Currency. Corresponds to the Decimal Places field in
Flow Builder.
FlowInputFieldAssignment
Assigns the value for a record field based on a resource or static value. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Required. The name of the field to assign a value to when a record
is created or updated.
stringfield
The value to assign to the field.FlowElementReferenceOrValuevalue
FlowInputValidationRule
Validation rules verify that the data entered by the user meets the specified requirements. If the validation rule evaluates to false, then
the specified error message is displayed.
DescriptionField TypeField Name
Required. The error message to display when
formulaExpression is false.
stringerrorMessage
Required. A formula thats used to validate the user input.stringformulaExpression
FlowLoop
A construct for iterating through a collection. It extends FlowNode and inherits all its fields. FlowLoop is available in API version 30.0 and
later.
DescriptionField TypeField Name
The variable thats assigned to the current value in the collection before navigating
to the target of nextValueConnector.
stringassignNextValueToReference
The collection being looped through.stringcollectionReference
Valid values are:iterationOrder
(enumeration of
type string)
iterationOrder
AscIterate through the collection in the order the values are listed (first
to last).
DescIterate through the collection in the reverse order the values are
listed (last to first).
A reference to the next element in the collection.FlowConnectornextValueConnector
1013
FlowMetadata Types
DescriptionField TypeField Name
The element to navigate to when all entries in the collection have been iterated
through.
FlowConnectornoMoreValuesConnector
FlowNode
A node is a type of element thats visible in the flow diagram. It extends FlowElement and inherits all its fields.
DescriptionField TypeField Name
Reserved for internal use.FlowElementSubtype
(enumeration of
type string)
elementSubtype
Name of the node. This non-unique label is different from the unique name of
the node, which is inherited from FlowElement.
stringlabel
Required. Horizontal location of the node, in pixels from the left.intlocationX
Required. Vertical location of the node, in pixels from the top.intlocationY
FlowOrchestratedStage
A stage node that contains steps in an orchestration. It extends FlowNode and inherits all its fields. This metadata type is available in API
version 53.0 and later.
DescriptionField TypeField Name
Specifies which node to execute after this stage.FlowConnectorconnector
An array of input parameters from the stage to the
evaluation flow. These parameters specify an exit
condition for the stage.
Array of
FlowStageStepExitActionInputParameter
objects
exitActionInputParameters
The name of the evaluation flow used as an exit
condition for the stage.
stringexitActionName
An array of output parameters from the evaluation flow
to the stage. These parameters specify an exit condition
for the stage.
Array of
FlowStageStepExitActionOutputParameter
objects
exitActionOutputParameters
The type of the evaluation flow for the custom exit
condition. Valid values are:
InvocableActionType (enumeration of type
string)
exitActionType
EvaluationFlow
Defines how the stage exit conditions are evaluated.
Valid values are:
stringexitConditionLogic
And
Or
1014
FlowMetadata Types
DescriptionField TypeField Name
Custom logic, such as (1 AND (2
OR 3))
Formula
An array of requirements that must be met to exit the
stage.
Array of FlowCondition objectsexitConditions
Not used.FlowConnectorfaultConnector
Indicates whether an asynchronous background step
is run in the context of the user who completed the
most recently completed interactive step.
booleanrunAsUser
An array of stage step resources.Array of FlowStageStep objectsstageSteps
FlowOutputFieldAssignment
Assigns a record fields value to a variable that can be used elsewhere in the flow. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Required. Reference to the variable where you want to store the
value of the record field.
stringassignToReference
Required. Name of the field whose value is to be assigned after a
record lookup.
stringfield
FlowRecordCreate
Create a record in the database using values from the flow. It extends FlowNode and inherits all its properties.
Note: The flow record create, lookup, update, and delete operations are different from the CRUD-based metadata
calls create(), retrieve(), update(), and delete(). The flow record methods apply to record operations from
within a flow, which arent the same as doing any metadata calls to CRUD setup entities.
DescriptionField TypeField Name
Reference to the variable where you want to store the
ID after the record is created.
stringassignRecordIdToReference
Specifies which node to execute after creating the record.FlowConnectorconnector
Specifies which node to execute if the attempt to create
a record results in an error.
FlowConnectorfaultConnector
An array that assigns values to the specified fields of the
record being created.
Array of FlowInputFieldAssignment
objects
inputAssignments
Specifies the record variable whose field values are used
to populate the new records fields.
stringinputReference
1015
FlowMetadata Types
DescriptionField TypeField Name
Required. The object type that the element creates.stringobject
Indicates whether the record ID is automatically available
in the flow without creating any variables. When the
booleanstoreOutputAutomatically
value is true, you can reference the record ID by
specifying the API name of the Create Records element
in the flow. The default value is false. When the value
is false, create a variable to store the record ID.
This field is available in API version 48.0 and later.
FlowRecordDelete
Deletes one or more records in the database. It extends FlowNode and inherits all its fields.
Note: The flow record create, lookup, update, and delete operations are different from the CRUD-based metadata
calls create(), retrieve(), update(), and delete(). The flow record methods apply to record operations from
within a flow, which arent the same as doing any metadata calls to CRUD setup entities.
DescriptionField TypeField Name
Specifies which node to execute after deleting the record.FlowConnectorconnector
Specifies which node to execute if the attempt to delete a record results
in an error.
FlowConnectorfaultConnector
An array that specifies the criteria used to select which records to delete
from the database. For example, delete accounts whose last activity was
older than a specified date.
Array of
FlowRecordFilterobjects
filters
Specifies the record variable whose record ID is used to identify which
record to delete in the database.
stringinputReference
Required. The name of the object whose records are deleted.stringobject
FlowRecordFilter
Sets the criteria for searching records in the database. It extends FlowBaseElement and inherits all its fields.
DescriptionField TypeField Name
Required. The field to be used for filtering records.stringfield
Required. Valid values are:FlowRecordFilterOperator (enumeration
of type string)
operator
EqualTo
NotEqualTo
GreaterThan
LessThan
1016
FlowMetadata Types
DescriptionField TypeField Name
GreaterThanOrEqualTo
LessThanOrEqualTo
StartsWith
EndsWith
Contains
IsNull
Reference or value used with the field and operator to filter records.FlowElementReferenceOrValuevalue
FlowRecordLookup
Finds records in the database and stores their field values in the flow. Corresponds to a Get Records element in Flow Builder. It extends
FlowNode and inherits all its fields.
Note: The flow record create, lookup, update, and delete operations are different from the CRUD-based metadata
calls create(), retrieve(), update(), and delete(). The flow record methods apply to record operations from
within a flow, which arent the same as doing any metadata calls to CRUD setup entities.
DescriptionField TypeField Name
Specifies that all values are set to
null when no record is found.
booleanassignNullValuesIfNoRecordsFound
Supported only when
storeOutputAutomatically
is false.
This field is available in API version 30.0
and later.
Specifies which node to execute after
getting records from the database.
FlowConnectorconnector
Specifies which node to execute if the
attempt to get records results in an
error.
FlowConnectorfaultConnector
The filter logic thats applied to the filter
condition requirements. To require all
stringfilterLogic
conditions, use AND. To require any
conditions, use OR. For custom
condition logic, enter the entire logic
string. For example, 1 AND 2 OR
(3 AND 4). This field is available in
API version 50.0 and later.
1017
FlowMetadata Types
DescriptionField TypeField Name
An array that specifies the criteria used
to select the record from the database.
If the filters return more than one
record, theyre sorted according to the
Array of FlowRecordFilter objectsfilters
specified sortField and
sortOrder. If
outputReference specifies a
non-collection record variable or if
getFirstRecordOnly is true,
only the first record in the sorted list is
selected.
If sortField or sortOrder isnt
specified, records arent returned in any
particular order. If
outputReference specifies a
non-collection record variable or if
getFirstRecordOnly is true,
only the first record in the unsorted list
is selected.
Indicates whether to store field values
for only one record, even when
booleangetFirstRecordOnly
multiple records meet the filter criteria.
Supported only when
storeOutputAutomatically
is true. When
storeOutputAutomatically
is false, what determines whether
one or multiple records are stored is
whether outputReference
specifies a record variable or a record
collection variable.
This field is available in API version 47.0
and later.
Name of the object from which to
select the record.
stringobject
An array that assigns fields from the
selected record to variables that can be
Array of FlowOutputFieldAssignment
objects
outputAssignments
used elsewhere in the flow. Supported
only when
storeOutputAutomatically
is false.
Specifies the record variable or record
collection variable that stores the
stringoutputReference
1018
FlowMetadata Types
DescriptionField TypeField Name
queried fields values. Supported only
when
storeOutputAutomatically
is false.
An array that specifies which fields from
the selected record are saved to the
specified record variable.
Array of stringsqueriedFields
The field thats used for sorting the
records that meet the filter criteria. If
stringsortField
this field isnt specified, the returned
records arent sorted.
You can only sort records by fields that
have the Sort API field property, as
specified in SOAP API.
This field is available in API version 25.0
and later.
Order in which to sort the records. If
this field isnt specified, then the results
arent sorted.
Valid values are:
SortOrder (enumeration of type string)sortOrder
AscAscending
DescDescending
This field is available in API version 25.0
and later.
Indicates whether the returned records
field values are automatically available
booleanstoreOutputAutomatically
in the flow without creating any
variables. When the value is true, the
flow can reference a field by specifying
the name of the Get Records element
and the record field, such as
Get_Contacts.AccountId.
Supported only when
processType is Flow or
AutoLaunchedFlow.
This field is available in API version 47.0
and later.
1019
FlowMetadata Types
FlowRecordRollback
Rolls back the current transaction and cancels its pending record changes. Corresponds to the Roll Back Records element in Flow Builder.
Available only in screen flows.
FlowRecordRollback extends FlowNode and inherits all its fields. This metadata type is available in API version 52.0 and later.
DescriptionField TypeField Name
Specifies which node to execute after rolling back the current
transaction.
FlowConnectorconnector
FlowRecordUpdate
Finds records in the database and updates them with values from the flow. It extends FlowNode and inherits all its fields.
Note: The flow record create, lookup, update, and delete operations are different from the CRUD-based metadata
calls create(), retrieve(), update(), and delete(). The flow record methods apply to record operations from
within a flow, which arent the same as doing any metadata calls to CRUD setup entities.
DescriptionField TypeField Name
Specifies which node to execute after completing the record
update.
FlowConnectorconnector
Specifies which node to execute if the attempt to update a
record results in an error.
FlowConnectorfaultConnector
An array that specifies the criteria used to select the records to
update in the database.
Array of FlowRecordFilter objectsfilters
An array that assigns values to the specified fields of the record
being updated.
Array of
FlowInputFieldAssignment
objects
inputAssignments
Specifies the record variable whose field values are used to
update the records fields.
stringinputReference
Required. Name of the object whose records are updated.stringobject
FlowRule
Defines the conditions and logic that enables a rule to evaluate to true. It extends FlowElement and inherits all of its fields.
DescriptionField TypeField Name
Specifies logic for the conditions. Value can be:stringconditionLogic
andEvaluates to true if all of its conditions are true.
orEvaluates to true if any conditions are true.
1020
FlowMetadata Types
DescriptionField TypeField Name
Advanced logic like 1 AND (2 OR 3)Evaluates to true
if the first condition is true and either the second or third
condition is true.
When you use advanced logic, the string can contain up to
1,000 characters.
An array of conditions for the rule.Array of FlowCondition
objects
conditions
Specifies which node to execute if this rule evaluates to true in
a decision first.
FlowConnectorconnector
If set to true, conditions evaluate to true only if the record
didnt meet the required conditions before the triggering update
booleandoesRequireRecordChangedToMeetCriteria
but now meets the conditions after the update. This field is available
in API version 50.0 and later.
Required. Label for the connector.stringlabel
FlowSchedule
Specifies when and how frequently to run the flow. This metadata type is available in API version 47.0 and later.
DescriptionField TypeField Name
Specifies how frequently to run the flow. Valid values are:FlowStartFrequency
(enumeration of type string)
frequency
Once
Daily
Weekly
OnActivateThis value is available in API version 49.0 and
later.
The date when the flow runs, or when the flows run schedule starts
recurring.
datestartDate
The time of day when the flow runs, based on the orgs default time
zone.
timestartTime
FlowScheduledPath
Defines a scheduled path. It extends FlowElement and inherits all its fields. This metadata type is available in API version 51.0 and later.
DescriptionField TypeField Name
Specifies which node to execute after this scheduled path.FlowConnectorconnector
Label for the scheduled path.stringlabel
1021
FlowMetadata Types
DescriptionField TypeField Name
The maximum number of scheduled path interviews to execute in
a single batch, from 1 to 200. Default is 200.
intmaxBatchSize
Number of months, days, hours, or minutes to offset the time that
the scheduled path executes. Negative values offset the time to
intoffsetNumber
execute before the provided time. Positive values offset the time
to execute after the provided time.
Specify the time unit used to offset when the scheduled path
executes. Possible values are:
FlowScheduledPathOffsetUnit
(enumeration of type string)
offsetUnit
MonthsThis value is available in API version 56.0 and later.
Days
Hours
Minutes
The type of scheduled path. null is used for time-triggered and
record-triggered paths. The default value is null.
FlowScheduledPathType
(enumeration of type string)
pathType
AsyncAfterCommitThe scheduled path runs
asynchronously after a save.
Field used to determine when the scheduled path executes. The
fields object is defined in FlowStart.
stringrecordField
Specify if a field or event is used to determine when the scheduled
path executes. Possible values are:
FlowScheduledPathTimeSource
(enumeration of type string)
timeSource
RecordField
RecordTriggerEvent
FlowScreen
Screens capture information from users and display information to users. It extends FlowNode and inherits all its fields.
DescriptionField TypeField Name
Indicates whether to show (true) or hide (false) the Previous
button on the screen at runtime. When true, the Previous button
booleanallowBack
appears only if the user visited a previous screen in the flow path
and if showFooter for the screen is set to true. Set this field
to false when revisiting the previous screen triggers an action that
you dont want repeated, such as a credit card transaction.
This field is available in API version 26.0 and later.
Default: true
You can set either allowBack or allowFinish to false, but
not both.
1022
FlowMetadata Types
DescriptionField TypeField Name
Indicates whether to show (true) or hide (false) the Finish
button on the screen at runtime. When true, the Finish button
booleanallowFinish
appears only if the screen element is the end of a flow path, and if
showFooter for the screen is set to true. The default value is
true.
Set to false if user is required to go back to a previous screen
to continue or complete the flow. For example, dont include a
Finish button on a screen that tells the user to go back and make
corrections on a previous screen.
You can set allowBack or allowFinish to false, but
not both.
This field is available in API version 26.0 and later.
Indicates whether to show (true) or hide (false) the Pause
button on the screen at runtime. The default value is true.
A flow screen displays the Pause button if all these conditions are
true.
booleanallowPause
Let users pause flows is enabled in the organizations process
automation settings.
allowPause for the screen is set to true.
If the flow is embedded in a Visualforce page, the
<flow:interview> component has its showAllowPause
attribute set to true.
The showFooter field for the screen is set to true.
This field is available in API version 33.0 and later.
A label for the Back button.stringbackButtonLabel
Specifies which node to execute after the screen node.FlowConnectorconnector
An array of fields to display on the screen.Array of FlowScreenField
objects
fields
Text that appears if the end user clicks a link for help text.
Supports merge fields in API version 26.0 and later.
stringhelpText
A label for the Next or Finish button.stringnextOrFinishButtonLabel
A label for the Pause button.stringpauseButtonLabel
A confirmation message that appears when an end user clicks
Pause.
This field is available in API version 33.0 and later.
stringpausedText
Reserved for future use.rules
1023
FlowMetadata Types
DescriptionField TypeField Name
Indicates whether to show (true) or hide (false) the screens
footer at Lightning runtime. Classic runtime isnt supported. The
default value is true.
The footer includes navigation actions for the screen. If
showFooter is hidden, use Lightning components on the screen
to show navigation actions.
booleanshowFooter
This field is available in API version 42.0 and later.
Indicates whether to show (true) or hide (false) the screens
header at Lightning runtime. Classic runtime isnt supported. The
default value is true.
The header includes access to help text for the screen. If
showHeader is hidden, use Lightning components on the screen
to show help text.
booleanshowHeader
This field is available in API version 42.0 and later.
FlowScreenField
Represents a screen component. FlowScreenField extends FlowElement and inherits all its fields.
DescriptionField TypeField Name
An array of references to FlowChoices or
FlowDynamicChoiceSets. The resulting choice
Array of stringschoiceReferences
options appear in the order specified in this
array, where the element at index 0 provides
the top-most choice option. Supported for
these types of screen components.
RadioButtons
DropdownBox
MultiSelectCheckboxes
MultiSelectPicklist
Multi-select checkboxes and multi-select
picklist fields are available in API version 26.0
and later.
Data type of the screen component. Only
supported for the InputField, RadioButtons, and
FlowDataType (enumeration of type
string)
dataType
DropdownBox types of screen components.
Valid data types are:
Boolean
Currency
Date
1024
FlowMetadata Types
DescriptionField TypeField Name
DateTime
Number
String
Boolean input fields, which appear as checkbox
fields at runtime, are available in API version
26.0 and later.
Only the string data type is supported for
multi-select checkboxes and multi-select
picklist fields. Multi-select fields are available
in API version 26.0 and later.
Date/time input fields are available in API
version 43.0 and later.
Reserved for future use.Array of FlowDataTypeMapping
objects
dataTypeMappings
The name of the FlowChoice element to use
as the default value for the screen component.
stringdefaultSelectedChoiceReference
Supported for these types of screen
components.
RadioButtons
DropdownBox
MultiSelectCheckboxes
MultiSelectPicklist
For DropdownBox field types only, if
defaultSelectedChoiceReference
is empty or null, the reference at index 0 of
choiceReferences is used as the default
value.
You can specify only one FlowChoice element
as the default value for multi-select checkboxes
and multi-select picklist fields. Multi-select
fields are available in API version 26.0 and later.
The value that is used by default when the
screen component requires users to provide
FlowElementReferenceOrValuedefaultValue
input. Only supported for InputField,
LargeTextArea, and PasswordField.
The name of the Lightning component to
display. This field is available in API version 42.0
and later.
stringextensionName
1025
FlowMetadata Types
DescriptionField TypeField Name
An array of columns to display in a section, or
an array of fields to display in a column. This
field is available in API version 49.0 and later.
Array of FlowScreenField objectsfields
Field label that is displayed on the screen.
Supports merge fields.
stringfieldText
Required. The type of field to display on a flow
screen. Valid values are:
FlowScreenFieldType (enumeration
of type string)
fieldType
DisplayText
InputField
LargeTextArea
PasswordField
RadioButtons
DropdownBox
MultiSelectCheckboxesThis
value is available in API version 26.0 and
later.
MultiSelectPicklistThis value
is available in API version 26.0 and later.
ComponentInstanceThis value is
available in API version 42.0 and later.
ComponentChoice and
ComponentInputThis value is
available in API version 48.0 and later for
the Survey processType value only.
Region Specifies that a screen field in
a section is a column. This value is available
in API version 51.0 and later.
RegionContainerSpecifies that a
screen field is a section. This value is
available in API version 51.0 and later.
ObjectProvidedSpecifies that a
screen field is a field from a Salesforce
object. This value is available in API version
51.0 and later.
At runtime, each multi-select field stores its
field value as a concatenation of the
user-selected choice values, separated by
semicolons. Any semicolons in the selected
choice values are removed when added to the
multi-select field value.
1026
FlowMetadata Types
DescriptionField TypeField Name
Text that appears if the end user clicks the help
icon ( ) for the screen component.
Supports merge fields in API version 26.0 and
later.
stringhelpText
An array of input parameters. Supported only
when fieldType is
ComponentInstance.
This field is available in API version 42.0 and
later.
Array of
FlowScreenFieldInputParameter
objects
inputParameters
Controls whether the flow remembers the
input value if the user moves to any screen and
FlowScreenFieldInputsRevisited
(enumeration of type string)
inputsOnNextNavToAssocScrn
then returns to the screen component. Valid
values are:
UseStoredValuesUses values from
when the user last visited this screen.
ResetValuesRefreshes inputs to
incorporate changes elsewhere in the flow.
The default value is UseStoredValues.
This property applies to screen components in
API version 51.0 and later and to record fields
on flow screens in API version 57.0 and later.
Indicates whether the user must select a choice
or provide input. Not supported for DisplayText
or boolean inputField.
booleanisRequired
Reserved for future use.booleanisVisible
Specifies the Salesforce object field for an
ObjectProvided field.
stringobjectFieldReference
An array of output parameters. Supported only
when fieldType is
Array of
FlowScreenFieldOutputParameter
objects
outputParameters
ComponentInstance and when
storeOutputAutomatically is
false.
This field is available in API version 42.0 and
later.
Stores information about a section component
header. Possible values include:
FlowRegionContainerType
(enumeration of type string)
regionContainerType
SectionWithHeader
SectionWithoutHeader
1027
FlowMetadata Types
DescriptionField TypeField Name
Available only when the component type is
Section. This field is available in API version
55.0 and later.
Controls the number of digits to the right of
the decimal point up to 17 places. If you leave
intscale
this field blank or set it to zero, only whole
numbers appear when your flow runs.
Available only when the data type is Number
or Currency. Corresponds to the Decimal Places
field in Flow Builder.
Indicates whether the screen components
output parameters are automatically available
booleanstoreOutputAutomatically
in the flow without creating any variables.
When the value is true, you can reference an
output parameter by specifying the name of
the screen component and the output
parameter, such as
Mailing_Address.City.
Supported only when fieldType is
ComponentInstance.
This field is available in API version 47.0 and
later.
A rule thats used to validate the user input
when the screen component is of type
InputField, LargeTextArea, or PasswordField.
FlowInputValidationRulevalidationRule
A condition-based rule thats used to render or
hide the screen component.
This field is available in API version 47.0 and
later.
FlowVisibilityRulevisibilityRule
FlowScreenFieldInputParameter
Defines an input parameter from the flow to the extension. It extends FlowBaseElement and inherits all its fields.
FlowScreenFieldInputParameter is available in API version 42.0.
DescriptionField TypeField Name
Required. Unique name for the input
parameter.
stringname
Defines the value of the input parameter.FlowElementReferenceOrValuevalue
1028
FlowMetadata Types
FlowScreenFieldOutputParameter
Defines an output parameter from the extension to the flow. It extends FlowBaseElement and inherits all its fields.
FlowScreenFieldOutputParameter is available in API version 42.0.
DescriptionField TypeField Name
Required. Specifies the variable to which you
want to assign the output parameter value.
stringassignToReference
Required. Unique name for the output
parameter.
stringname
FlowStage
A section of your flow that can be represented in the UI, such as with breadcrumbs. It extends FlowElement and inherits all its fields.
When an interview starts, any stages where isActive is true are added to the $Flow.ActiveStages global variable, which
holds a collection of stages. Each stages stageOrder determines the order theyre added in. The stage with the lowest stageOrder
is assigned to the $Flow.CurrentStage global variable.
DescriptionField TypeField Name
Indicates whether the stage is active by default.booleanisActive
A user-friendly label for this stage.stringlabel
Indicates how the stage is ordered against other stages. The
stageOrder value must be unique within the flow.
intstageOrder
FlowStageStep
A step resource defines a step within a stage node. This metadata type is available in API version 53.0 and later.
DescriptionField TypeField Name
Required. Name of the flow associated with
the step.
stringactionName
Required. The type of the step. Valid values
are:
InvocableActionType (enumeration of type
string)
actionType
stepBackground
stepInteractive
stepMuleSoft
An array of users, groups, or queues that are
assigned to complete the interactive step.
FlowStageStepAssigneeassignees
An array of input parameters from the step
to the evaluation flow that are used as an
entry condition for the step.
FlowStageStepEntryActionInputParameterentryActionInputParameters
1029
FlowMetadata Types
DescriptionField TypeField Name
The name of the evaluation flow used as an
entry condition for the step.
stringentryActionName
An array of output parameters from the
evaluation flow to the step used to
determine if the step can be started.
Array of
FlowStageStepEntryActionOutputParameter
objects
entryActionOutputParameters
The type of the evaluation flow used as a
custom entry condition for the step. Valid
values are:
InvocableActionType (enumeration of type
string)
entryActionType
EvaluationFlow
Defines how the entry requirements for a
step are evaluated. Valid values are:
stringentryConditionLogic
And
Or
Custom logic, such as (1
AND (2 OR 3))
Formula
An array of requirements that must be met
to start the step.
Array of FlowCondition objectsentryConditions
An array of input parameters from the step
to the evaluation flow. These parameters
specify an exit condition for the step.
Array of
FlowStageStepExitActionInputParameter
objects
exitActionInputParameters
The name of the step exit evaluation flow.stringexitActionName
An array of output parameters from the
evaluation flow to the step. These
Array of
FlowStageStepExitActionOutputParameter
objects
exitActionOutputParameters
parameters specify an exit condition for the
step.
The type of the evaluation flow used as a
custom exit condition for the step. The only
possible value is EvaluationFlow.
InvocableActionType (enumeration of type
string)
exitActionType
Defines how the exit requirements for an
interactive step are evaluated. Valid values
are:
stringexitConditionLogic
And
Or
Custom logic, such as (1
AND (2 OR 3))
Formula
1030
FlowMetadata Types
DescriptionField TypeField Name
An array of requirements to be met for
exiting an interactive step.
Array of FlowCondition objectsexitConditions
An array of input parameters from the step
to its associated flow.
Array of FlowStageStepInputParameter
objects
inputParameters
Required. The label for the step.stringlabel
An array of output parameters from a flow
to its associated step.
Array of FlowStageStepOutputParameter
objects
outputParameters
Indicates whether the background step is
processed asynchronously.
booleanrequiresAsyncProcessing
Reserved for internal use.FlowElementSubtype (enumeration of type
string)
stepSubtype
FlowStageStepAssignee
An assignee associated with an Interactive step. Applicable only for interactive steps. This metadata type is available in API version 53.0
and later.
DescriptionField TypeField Name
Required. Names of the user, group, or queue assigned to the
interactive step.
FlowElementReferenceOrValueassignee
Required. The type of the assignee associated with the interactive
step. Valid values are:
FlowStageStepAssigneeType
(enumeration of type string)
assigneeType
Group
Queue
User
FlowStageStepEntryActionInputParameter
Defines an input parameter from the step to its associated evaluation flow. It extends FlowBaseElement and inherits all its fields. This
metadata type is available in API version 53.0 and later.
DescriptionField TypeField Name
Required. The unique name for the input parameter of the
evaluation flow used by a step as an entry condition.
stringname
Defines the value of the input parameter of the evaluation flow
used by a step as an entry condition.
FlowElementReferenceOrValuevalue
1031
FlowMetadata Types
FlowStageStepEntryActionOutputParameter
Defines an output parameter from an evaluation flow used to determine if the step meets entry criteria. It extends FlowBaseElement
and inherits all its fields. This metadata type is available in API version 53.0 and later.
DescriptionField TypeField Name
Reserved for future use.stringassignToReference
Required. A unique name for the output parameter of the evaluation
flow used by a step as an entry condition. Valid values are:
stringname
isOrchestrationConditionMet
FlowStageStepExitActionInputParameter
Defines an input parameter from the stage or step to its associated evaluation flow. It extends FlowBaseElement and inherits all its fields.
This metadata type is available in API version 53.0 and later.
DescriptionField TypeField Name
Required. A unique name for the input parameter of the evaluation
flow used by a stage or step as an exit condition.
stringname
Defines the value of the input parameter of the evaluation flow
used by a stage or step as an exit condition.
FlowElementReferenceOrValuevalue
FlowStageStepExitActionOutputParameter
Defines an output parameter from an evaluation flow used to determine if the stage or step meets exit criteria. It extends FlowBaseElement
and inherits all its fields. This metadata type is available in API version 53.0 and later.
DescriptionField TypeField Name
Reserved for future use.stringassignToReference
Required. A unique name for the output parameter of the evaluation
flow used by a stage or step as an exit condition. The only possible
value is isOrchestrationConditionMet.
stringname
FlowStageStepInputParameter
Defines an input parameter from the step to the flow. It extends FlowBaseElement and inherits all its fields. This metadata type is available
in API version 53.0 and later.
DescriptionField TypeField Name
Required. Unique name for the input parameter for a flow associated
with the step.
stringname
1032
FlowMetadata Types
DescriptionField TypeField Name
Defines the value of the input parameter of the flow associated
with a step.
FlowElementReferenceOrValuevalue
FlowStageStepOutputParameter
Defines an output parameter from the step to the flow. It extends FlowBaseElement and inherits all its fields. This metadata type is
available in API version 53.0 and later.
DescriptionField TypeField Name
Reserved for future use.stringassignToReference
Required. Unique name for the output parameter for a flow
associated with the step.
stringname
FlowStart
Represents the flows Start element, which specifies how the flow starts. In an autolaunched flow, the Start element also defines when
and how frequently to run the flow. To run the flow only for specific records, the Start element can define filter criteria.
FlowStart extends FlowNode and inherits all its fields except name and label. This metadata type is available in API version 47.0 and
later.
DescriptionField TypeField Name
An array of capabilities that can pass data with the flow. Only one
capability is supported in API version 60.0 and later. This field is
available in API version 60.0 and later.
Array of FlowCapability
objects
capabilityTypes
Specifies which element to execute first.FlowConnectorconnector
If set to true, conditions evaluate to true only if the record
didnt meet the required conditions before the triggering update
booleandoesRequireRecordChangedToMeetCriteria
but now meets the conditions after the update. This field is available
in API version 50.0 and later.
Specifies when a unified individual can join a flow. Valid values are:FlowEntryType (enumeration
of type string)
entryType
AfterCompletionUnified individuals can join the flow
only after they complete all previous flow runs of the same flow
definition.
AlwaysUnified individuals can always join the flow.
This field is available in API version 60.0 and later.
A formula thats used to filter what records execute the flow during
a save. Available only in record-triggered flows. This field is available
in API version 55.0 and later.
stringfilterFormula
1033
FlowMetadata Types
DescriptionField TypeField Name
The filter logic thats applied to the filter condition requirements.
To require all conditions, use AND. To require any conditions, use
stringfilterLogic
OR. For custom condition logic, enter the entire logic string, for
example 1 AND 2 OR (3 AND 4). This field is available in
API version 50.0 and later.
An array of filters to apply when retrieving records from the
database. For example, filter accounts to include only the records
that havent been updated in the last 4 weeks.
Array of FlowRecordFilter
objects
filters
Specifies who to run the flow as. Possible values are:stringflowRunAsUser
TriggeringUserRun the flow as the user that triggered
the flow.
DefaultWorkflowUserRun the flow as the default
workflow user.
This field is available in API version 60.0 and later.
Required only for form-triggered flows. The content key value for
the form used to trigger the flow. This field is available in API version
59.0 and later.
stringform
The object whose records you want to retrieve from the database.
A flow interview starts for each record that meets the filter
conditions.
stringobject
Indicates whether to republish the segment and update segment
membership before the flow runs or on the segments Data Cloud
booleanpublishSegment
publish schedule. When the value is true, the segment
is immediately republished before the flow runs, and ignores the
segment's publish schedule. When the value is false, the
segment is republished on the segment's Data Cloud publish
schedule, but the segment isn't republished if the schedule is set
to Do not refresh.
The default value is false.
This field is available in API version 60.0 and later.
Specifies what type of record changes can start the flow. Possible
values are:
RecordTriggerType
(enumeration of type string)
recordTriggerType
CreateWhen a record is created.
UpdateWhen a record is updated.
CreateAndUpdateWhen a record is created and
updated.
DeleteWhen a record is deleted. This value is available in
API version 50.0 and later.
NoneFor flows that arent record-triggered flows. This value
is available in API version 55.0 and later.
1034
FlowMetadata Types
DescriptionField TypeField Name
Available only when triggerType is RecordBeforeSave.
This field is available in API version 48.0 and later.
Required when triggerType is Scheduled. Specifies when
and how frequently the flow runs.
FlowScheduleschedule
Specifies the flows scheduled paths. This field is available in API
version 51.0 and later.
Array of FlowScheduledPath
objects
scheduledPaths
The segment used to trigger the flow. This field is available in API
version 56.0 and later.
stringsegment
Reserved for future use.stringTimeZoneSidKey
Specifies what causes the flow to run. If you exclude this field, the
flow has no trigger and starts only when a user or app launches the
flow. Possible values are:
FlowTriggerType
(enumeration of type string)
triggerType
CapabilityWhen capabilityTypes is set, the
flow starts when the capability is run. This value is available in
API version 60.0 and later.
DataCloudDataChange The flow starts when data
model object (DMO) or calculated insight object (CIO)
conditions are met. This value is available in API version 59.0
and later.
EventDrivenJourneyReserved for internal use.
PlatformEventThe flow starts when a platform event
message is received. This value is available in API version 49.0
and later.
RecordAfterSaveThe flow starts after a record is saved.
This value is available in API version 49.0 and later.
RecordBeforeDeleteDeleting a record triggers an
autolaunched flow before the record is deleted from the
database. This value is available in API version 50.0 and later.
RecordBeforeSaveCreating and/or updating a record
triggers an autolaunched flow to make more updates to that
record before its saved to the database. This value is available
in API version 48.0 and later.
ScheduledThe flow starts at the scheduled time. This
value is available in API version 47.0 and later.
ScheduledJourney The flow starts only at the
scheduled time and frequency. This value is available in API
version 49.0 and later.
Segment At the scheduled time, the flow send emails to
individuals included in the chosen segment. This value is
available in API version 56.0 and later.
1035
FlowMetadata Types
DescriptionField TypeField Name
Available only when processType is AutoLaunchedFlow
or PromptFlow. This field is available in API version 47.0 and
later.
FlowCapability
Defines the data structure of a capability. When the capability is invoked, it triggers the flow to run and data is passed between the flow
and capability. It extends FlowElement and inherits all of its fields. This metadata type is available in API version 60.0 and later.
DescriptionField TypeField Name
Required. The specified capability that the flow integrates with. The
valid format is Name://Name, for example,
PromptBuilder://SalesEmail
stringcapabilityName
An array of capability inputs. The flow sets the input values and
passes the data to the capability.
Array of FlowCapabilityInput
objects
inputs
FlowCapabilityInput
Defines the data structure of a capability input. It extends FlowElement and inherits all of its fields. This metadata type is available in API
version 60.0 and later.
DescriptionField TypeField Name
Required. The input name is the same for the capability and the
flow.
stringcapabilityInputName
The data type of the capability input. Valid types are:stringdataType
sObjectThis value corresponds to a record variable. This
value is available in API version 60.0 and later.
StringThis value is available in API version 61.0 and later.
Required. Indicates whether the input is a collection of values. The
default value is false.
booleanisCollection
FlowStep
Steps function as placeholders when youre building a flow. It extends FlowNode and inherits all its fields.
DescriptionField TypeField Name
Specifies which node to execute after the step node.Array of FlowConnector
objects
connectors
1036
FlowMetadata Types
FlowSubflow
A subflow element references another flow, which it calls at run time. The flow that contains the subflow element is referred to as the
parent flow. FlowSubflow extends FlowNode and inherits all its fields. Its available in API version 25.0 and later.
DescriptionField TypeField Name
Specifies which node to execute after the subflow.FlowConnectorconnector
References the flow to call at runtime. The value must
be an API name of a flow and it cant contain an
appended hyphen and version number.
stringflowName
An array of input variable assignments that are set at the
start of the flow.
Array of FlowSubflowInputAssignment
objects
inputAssignments
An array of output variable assignments that are set at
the end of the flow.
Array of
FlowSubflowOutputAssignment objects
outputAssignments
Indicates whether the subflows output parameters are
automatically available in the flow without creating any
booleanstoreOutputAutomatically
variables. When the value is true, you can reference
an output parameter by specifying the API name of the
subflow in the flow. When the value is false, create
variables manually to store output values from the
subflow. The default value is false.
This field is available in API version 49.0 and later.
FlowSubflowInputAssignment
Assigns an element or value from the parent flow to a variable in the referenced flow. Input assignments occur when the subflow calls
the referenced flow. It extends FlowBaseElement and inherits all its fields. Its available in API version 25.0 and later.
DescriptionField TypeField Name
Required. Unique name for the variable in the referenced
flow.
stringname
Defines the value to assign to the variable.FlowElementReferenceOrValuevalue
FlowSubflowOutputAssignment
Assigns the value of a variable from the referenced flow to a variable in the parent flow. Output assignments occur when the referenced
flow is finished running. It extends FlowBaseElement and inherits all its fields. Its available in API version 25.0 and later.
DescriptionField TypeField Name
Unique name for the variable in the parent flow.stringassignToReference
Required. Unique name for the variable in the referenced flow.stringname
1037
FlowMetadata Types
FlowTransform
Defines a node that can dynamically transform the value of source data to target data in the flow. It extends FlowNode and inherits all
of its fields. This metadata type is available in API version 59.0 and later.
DescriptionField TypeField Name
The Apex class of the target data after transformation if its data type
is Apex.
stringapexClass
Specifies which node to execute after this data transformation.Array of FlowConnector
objects
connector
Required. Specifies the data type of the transformed data. In Flow
Builder, it corresponds to the target data in the Transform element.
Valid types are:
FlowDataType (enumeration
of type string)
dataType
Apex
Boolean
Currency
Date
DateTime
Number
String
sObjectThis value corresponds to a record variable.
Indicates whether the variable is a collection of values. The default
value is false.
booleanisCollection
Object type of this variable resource if its data type is sObject.stringobjectType
Controls the number of digits to the right of the decimal point up
to 17 places. If you leave this field blank or set it to zero, only whole
numbers appear when your flow runs.
Corresponds to the Decimal Places field in Flow Builder.
intscale
An array of values for data transformationArray of FlowTransformValue
objects
transformValues
FlowTransformValue
Defines the values for transforming specific data in the flow. It extends FlowBaseElement and inherits all its fields. This metadata type is
available in API version 59.0 and later.
DescriptionField TypeField Name
An array of actions for data transformationArray of
FlowTransformValueAction
objects
transformValueActions
1038
FlowMetadata Types
DescriptionField TypeField Name
Reserved for future use.stringtransformValueName
Reserved for future use.stringtransformValueLabel
Reserved for future use.stringtransformValueDescription
FlowTransformValueAction
Defines the data and actions to transform in the flow. It extends FlowBaseElement and inherits all its fields. This metadata type is available
in API version 59.0 and later.
DescriptionField TypeField Name
An array of input parameters for data transformation. This field is
available in API version 60.0 and later.
Array of
FlowTransformValueActionInputParameter
objects
inputParameters
API name of the field for transformed data in a data transformation
mapping. In Flow Builder, it corresponds to the target data field in
the Transform element.
stringoutputFieldApiName
Required. The type of transformation from source data to target
data. Valid types are:
FlowTransformValueActionType
(enumeration of type string)
transformType
CountCalculates the number of items in a source collection.
InnerJoinReserved for future use.
MapSpecifies a mapping between the datasets in flows. In
Flow Builder, it corresponds to the mapping between source
data fields and target data fields.
SumAdds the numeric values of a field on each item in a
collection.
Defines the value of the transformed data. In Flow Builder, the value
of this field corresponds to the result of the target data field in the
Transform element.
FlowElementReferenceOrValuevalue
FlowTransformValueActionInputParameter
Defines the input parameters of the source data for data transformation. This metadata type is available in API version 60.0 and later.
DescriptionField TypeField Name
A
key
stringname
that
specifies
the
configuration
1039
FlowMetadata Types
DescriptionField TypeField Name
of
input
parameters
for
this
data
transformation
when
transformType
is
set
to
Sum
or
Count.
Valid
values
are:
aggregationFieldThe
field
on
each
item
in
a
source
collection
thats
used
to
calculate
the
transformed
value.
aggregationValuesThe
source
collection
thats
used
to
calculate
the
transformed
value.
Defines
the
FlowElementReferenceOrValuevalue
1040
FlowMetadata Types
DescriptionField TypeField Name
value
of
the
specified
key
in
name.
FlowTextTemplate
Defines a text template that can be used throughout the flow. It extends FlowElement and inherits all its fields.
DescriptionField TypeField Name
If set to true, the flow resource remembers the View as Plain Text
setting used for the text template after the flow resource is saved.
booleanisViewedAsPlainText
If set to false, the flow resource uses the View as Rich Text
setting.
The default value is false.
Actual text of the template. Supports merge fields.stringtext
FlowVariable
With variables, creates updatable values to use in the flow. FlowVariable extends FlowElement and inherits all its fields.
DescriptionField TypeField Name
The Apex class of this variable if its data type
is Apex. This field is available in API version
46.0 and later.
stringapexClass
Required. Valid types are:FlowDataType (enumeration of type string)dataType
ApexThis value is available in API
version 46.0 and later.
Boolean
Currency
Date
DateTimeThis value is available in
API version 30.0 and later.
Number
MultipicklistThis value is
available in API version 34.0 and later.
1041
FlowMetadata Types
DescriptionField TypeField Name
PicklistThis value is available in
API version 34.0 and later.
String
sObjectThis value corresponds to
a record variable.
Indicates whether the variable is a collection
of values. This field is available in API version
booleanisCollection
30.0 and later. In API version 32.0 and later,
a collection variable can be of any data type.
The default value is False.
Indicates whether the variable can be set at
the start of the flow using URL parameters,
booleanisInput
Visualforce controllers, or subflow inputs.
This field is available in API version 25.0 and
later.
Default value:
False for a variable created in API
version 25.0 and later or in the Flow
Builder in Summer 12 and later.
True for a variable created in API
version 24.0 or in Flow Builder in Spring
12 and earlier.
Disabling input or output access for an
existing variable can break the functionality
of applications and pages that call the flow
and access the variable. For example, you
can access variables from URL parameters,
processes, and other flows.
Indicates whether the variables value can
be accessed from Visualforce controllers and
booleanisOutput
other flows. This field is available in API
version 25.0 and later.
Default value:
False for a variable created in API
version 25.0 and later or in the Flow
Builder in Summer 12 and later.
True for a variable created in API
version 24.0 or in Flow Builder in Spring
12 and earlier.
Disabling input or output access for an
existing variable can break the functionality
1042
FlowMetadata Types
DescriptionField TypeField Name
of applications and pages that call the flow
and access the variable. For example, you
can access variables from URL parameters,
processes, and other flows.
Object type of this variable if its data type is
sObject.
stringobjectType
Controls the number of digits to the right
of the decimal point up to 17 places. If you
intscale
leave this field blank or set it to zero, only
whole numbers appear when your flow
runs.
Corresponds to the Decimal Places field in
Flow Builder.
Default value of this variable.
Default values arent supported if the
variables data type is Picklist or
Multipicklist.
FlowElementReferenceOrValuevalue
FlowVisibilityRule
Visibility rules render a flow screen component when visibility rule conditions are met. Hides a flow screen component when visibility
rule conditions arent met. This metadata type is available in API version 47.0 and later.
DescriptionField TypeField Name
Specifies logic for the conditions. Value can be:stringconditionLogic
andEvaluates to true only if all its conditions evaluate to
true.
orEvaluates to true if any of its conditions evaluate to
true.
Advanced logic like 1 AND (2 OR 3)Evaluates to true
if the first condition is true and either the second or third
condition is true.
When you use advanced logic, the string must consist of 1,000
or fewer characters.
An array of conditions that must be true for the flow to wait for this
event.
Array of FlowCondition
objects
conditions
1043
FlowMetadata Types
FlowWait
Waits for one or more defined events to occur. FlowWait extends FlowNode and inherits all its fields. FlowWait is available in API version
32.0 and later.
DescriptionField TypeField Name
Specifies which node to execute if the
conditions are false for every event in the
Wait element.
FlowConnectordefaultConnector
Label for the default connector.stringdefaultConnectorLabel
Specifies which node to execute if the
attempt to wait results in an error. If any of
FlowConnectorfaultConnector
the wait events fail, the flow takes the fault
connector.
Reserved for future use.stringtimeZoneId
An array of events that the Wait element is
waiting for.
If the conditions for every event evaluate to
false, the defaultConnector is
used.
Array of FlowWaitEvent objectswaitEvents
FlowWaitEvent
An event that a FlowWait element is waiting for. FlowWaitEvent extends FlowElement and inherits all its fields. FlowWaitEvent is available
in API version 32.0 and later.
DescriptionField TypeField Name
Specifies logic for the conditions. Value can
be:
stringconditionLogic
andEvaluates to true only if all its
conditions evaluate to true
orEvaluates to true if any of its
conditions evaluate to true
Advanced logic like 1 AND (2 OR
3)Evaluates to true if the first
condition is true and either the
second or third condition is true
When you use advanced logic, the
string must consist of 1,000 or fewer
characters.
1044
FlowMetadata Types
DescriptionField TypeField Name
The API name of the event that resumes the
flow. This field is available in API version 60.0
and later.
stringassociatedElement
An array of conditions that must be true
for the flow to wait for this event.
Array of FlowCondition objectsconditions
Specifies which node to execute if this event
is the first event that occurs.
FlowConnectorconnector
Required. The events type. The type
determines which input parameters are
stringeventType
available to define this event. Valid values
are:
AlarmEventThis event is an alarm
based off an absolute date/time value.
DateRefAlarmEventThis event
is an alarm based off a date/time field
on a record.
Reserved for future use.TimeextendUntil
An array of filters to apply when retrieving
records from the database. For example,
FlowRecordFilter XREF MEfilters
filter accounts to include only the records
that havent been updated in the last 4
weeks. This field is available in API version
60.0 and later.
The filter logic thats applied to the filter
condition requirements. To require all
stringfilterlogic
conditions, use AND. To require any
conditions, use OR. For custom condition
logic, enter the entire logic string, for
example 1 AND 2 OR (3 AND 4). This field is
available in API version 60.0 and later.
An array of the events input parameters.
The parameter values are set by using values
from the flow.
Array of FlowWaitEventInputParameter
objects
inputParameters
Required. Label for the wait event.stringlabel
The object that contains the event you want
to use to resume the flow. This field is
available in API version 60.0 and later.
stringobject
Reserved for future use.intoffset
Reserved for future use.FlowScheduledPathOffsetUnit (enumeration
of type string)
offsetUnit
1045
FlowMetadata Types
DescriptionField TypeField Name
An array of the events output parameters.
The parameter values are assigned from the
event to variables in the flow.
Array of FlowWaitEventOutputParameter
objects
outputParameters
Specifies what type of record changes can
resume the flow. Possible values are:
RecordTriggerType XREF MErecordTriggerType
CreateWhen a related record is
created
UpdateWhen a related record is
updated
CreateAndUpdateWhen a
related record is created and updated
This field is available in API version 60.0 and
later.
FlowWaitEventInputParameter
An input parameter for FlowWaitEvent. The parameters value is set by using values from the flow. It extends FlowBaseElement and
inherits all its fields. FlowWaitEventInputParameter is available in API version 32.0 and later.
DescriptionField TypeField Name
Unique name for the input parameter.stringname
Defines the value of the input parameter.FlowElementReferenceOrValuevalue
FlowWaitEventOutputParameter
An output parameter for FlowWaitEvent. The parameters value is assigned to a variable in the flow so that it can be referenced in another
part of the flow. It extends FlowBaseElement and inherits all its fields. FlowWaitEventOutputParameter is available in API version 32.0
and later.
DescriptionField TypeField Name
Required. Specifies the variable to which
you want to assign the output parameter
value.
stringassignToReference
Required. Unique name for the output
parameter.
stringname
Upgrade Flow Files to API Version 44.0 or Later
In API version 43.0 and earlier, the Flow objects fullName field included the flows version number. Starting in API version 44, the field
no longer includes the version number. Before you deploy using API version 44.0 via Metadata API or Salesforce CLI, make sure that:
1046
FlowMetadata Types
The flows directory doesnt include any unused flow versions.
For each active flow, the status field is Active. Any flow without a status value is deployed or retrieved with a status
value of Draft.
The flowDefinitions directory is empty.
For Metadata API only.
The package.xml file is set to API version 44.0.
For the latest version of each flow, the file name doesnt include a version number. For example, change myflow-3.flow to
myflow.flow.
For Salesforce CLI only.
The sfdx-project.json file is set to "sourceApiVersion": "44.0".
For the latest version of each flow, the file name doesnt include a version number. For example, change
myflow-1.flow-meta.xml to myflow.flow-meta.xml.
As part of this upgrade, flow definitions are no longer necessary when you deploy or retrieve via Metadata API. If you deploy with flow
definitions, the active version numbers in the flow definitions override the status fields in the flows. For example, the active version
number in the flow definition is version 3, and the latest version of the flow is version 4 with the status field as Active. After you
deploy your flow, the active version is version 3.
After you finished this upgrade, you can integrate with a version control system without worrying about flow file names changing. To
reduce deployment issues when you push the source code into a scratch org, make sure that you dont reuse an existing scratch org.
For more information, see Deploy Processes and Flows as Active in Salesforce Help.
Declarative Metadata Sample Definition
Heres a sample XML definition of a flow.
<?xml version="1.0" encoding="UTF-8"?>
<Flow xmlns="http://soap.sforce.com/2006/04/metadata">
<actionCalls>
<name>Get_Info</name>
<label>Get Info</label>
<locationX>380</locationX>
<locationY>242</locationY>
<actionName>GetFirstFromCollection</actionName>
<actionType>apex</actionType>
<connector>
<targetReference>Update_If_Existing</targetReference>
</connector>
<dataTypeMappings>
<typeName>T__inputCollection</typeName>
<typeValue>Account</typeValue>
</dataTypeMappings>
<dataTypeMappings>
<typeName>U__outputMember</typeName>
<typeValue>Account</typeValue>
</dataTypeMappings>
<flowTransactionModel>CurrentTransaction</flowTransactionModel>
<inputParameters>
<name>inputCollection</name>
<value>
1047
FlowMetadata Types
<elementReference>accts.accounts</elementReference>
</value>
</inputParameters>
<nameSegment>GetFirstFromCollection</nameSegment>
<storeOutputAutomatically>true</storeOutputAutomatically>
<versionSegment>1</versionSegment>
</actionCalls>
<actionCalls>
<name>Post_to_Contact_s_Feed</name>
<label>Post to Contact&apos;s Feed</label>
<locationX>50</locationX>
<locationY>890</locationY>
<actionName>chatterPost</actionName>
<actionType>chatterPost</actionType>
<connector>
<targetReference>Confirm</targetReference>
</connector>
<flowTransactionModel>CurrentTransaction</flowTransactionModel>
<inputParameters>
<name>text</name>
<value>
<elementReference>chatterMessage</elementReference>
</value>
</inputParameters>
<inputParameters>
<name>subjectNameOrId</name>
<value>
<elementReference>contact.Id</elementReference>
</value>
</inputParameters>
<nameSegment>chatterPost</nameSegment>
<storeOutputAutomatically>true</storeOutputAutomatically>
<versionSegment>1</versionSegment>
</actionCalls>
<apiVersion>49.0</apiVersion>
<assignments>
<name>Set_Contact_ID</name>
<label>Set Contact ID</label>
<locationX>50</locationX>
<locationY>674</locationY>
<assignmentItems>
<assignToReference>contact.Id</assignToReference>
<operator>Assign</operator>
<value>
<elementReference>existingId</elementReference>
</value>
</assignmentItems>
<connector>
<targetReference>Update_Contact</targetReference>
</connector>
</assignments>
<decisions>
<name>Update_If_Existing</name>
<label>Update If Existing?</label>
1048
FlowMetadata Types
<locationX>380</locationX>
<locationY>350</locationY>
<defaultConnector>
<isGoTo>true</isGoTo>
<targetReference>Create_Contact</targetReference>
</defaultConnector>
<defaultConnectorLabel>No</defaultConnectorLabel>
<rules>
<name>Update_Yes</name>
<conditionLogic>and</conditionLogic>
<conditions>
<leftValueReference>updateExisting</leftValueReference>
<operator>EqualTo</operator>
<rightValue>
<booleanValue>true</booleanValue>
</rightValue>
</conditions>
<connector>
<targetReference>Find_a_Match</targetReference>
</connector>
<label>Yes</label>
</rules>
</decisions>
<decisions>
<name>Update_or_Create</name>
<label>Update or Create?</label>
<locationX>182</locationX>
<locationY>566</locationY>
<defaultConnector>
<targetReference>Create_Contact</targetReference>
</defaultConnector>
<defaultConnectorLabel>Create New</defaultConnectorLabel>
<rules>
<name>Update_Existing</name>
<conditionLogic>and</conditionLogic>
<conditions>
<leftValueReference>existingId</leftValueReference>
<operator>IsNull</operator>
<rightValue>
<booleanValue>false</booleanValue>
</rightValue>
</conditions>
<connector>
<targetReference>Set_Contact_ID</targetReference>
</connector>
<label>Update Existing</label>
</rules>
</decisions>
<dynamicChoiceSets>
<name>accounts</name>
<dataType>String</dataType>
<displayField>Name</displayField>
<object>Account</object>
<outputAssignments>
1049
FlowMetadata Types
<assignToReference>contact.AccountId</assignToReference>
<field>Id</field>
</outputAssignments>
<valueField>Id</valueField>
</dynamicChoiceSets>
<environments>Default</environments>
<formulas>
<name>created_or_updated</name>
<dataType>String</dataType>
<expression>IF({!Create_Contact}, &quot;created&quot;,
&quot;updated&quot;)</expression>
</formulas>
<interviewLabel>New Contact {!$Flow.CurrentDateTime}</interviewLabel>
<isAdditionalPermissionRequiredToRun>true</isAdditionalPermissionRequiredToRun>
<isTemplate>true</isTemplate>
<label>New Contact</label>
<processMetadataValues>
<name>BuilderType</name>
<value>
<stringValue>LightningFlowBuilder</stringValue>
</value>
</processMetadataValues>
<processMetadataValues>
<name>CanvasMode</name>
<value>
<stringValue>AUTO_LAYOUT_CANVAS</stringValue>
</value>
</processMetadataValues>
<processMetadataValues>
<name>OriginBuilderType</name>
<value>
<stringValue>LightningFlowBuilder</stringValue>
</value>
</processMetadataValues>
<processType>Flow</processType>
<recordCreates>
<name>Create_Contact</name>
<label>Create Contact</label>
<locationX>314</locationX>
<locationY>674</locationY>
<connector>
<isGoTo>true</isGoTo>
<targetReference>Post_to_Contact_s_Feed</targetReference>
</connector>
<inputReference>contact</inputReference>
</recordCreates>
<recordLookups>
<name>Find_a_Match</name>
<label>Find a Match</label>
<locationX>182</locationX>
<locationY>458</locationY>
<assignNullValuesIfNoRecordsFound>true</assignNullValuesIfNoRecordsFound>
<connector>
<targetReference>Update_or_Create</targetReference>
1050
FlowMetadata Types
</connector>
<filterLogic>and</filterLogic>
<filters>
<field>FirstName</field>
<operator>EqualTo</operator>
<value>
<elementReference>contact.FirstName</elementReference>
</value>
</filters>
<filters>
<field>LastName</field>
<operator>EqualTo</operator>
<value>
<elementReference>contact.LastName</elementReference>
</value>
</filters>
<object>Contact</object>
<outputAssignments>
<assignToReference>existingId</assignToReference>
<field>Id</field>
</outputAssignments>
</recordLookups>
<recordUpdates>
<name>Update_Contact</name>
<label>Update Contact</label>
<locationX>50</locationX>
<locationY>782</locationY>
<connector>
<targetReference>Post_to_Contact_s_Feed</targetReference>
</connector>
<inputReference>contact</inputReference>
</recordUpdates>
<screens>
<name>Confirm</name>
<label>Confirm</label>
<locationX>50</locationX>
<locationY>998</locationY>
<allowBack>false</allowBack>
<allowFinish>true</allowFinish>
<allowPause>true</allowPause>
<fields>
<name>confirmation_message</name>
<fieldText>Thanks! &lt;a href=&quot;/{!contact.Id}&quot;&gt;The contact&lt;/a&gt;
was {!created_or_updated}.</fieldText>
<fieldType>DisplayText</fieldType>
</fields>
<showFooter>true</showFooter>
<showHeader>true</showHeader>
</screens>
<screens>
<name>Contact_Info</name>
<label>Contact Info</label>
<locationX>380</locationX>
<locationY>134</locationY>
1051
FlowMetadata Types
<allowBack>true</allowBack>
<allowFinish>true</allowFinish>
<allowPause>true</allowPause>
<connector>
<targetReference>Get_Info</targetReference>
</connector>
<fields>
<name>contactName</name>
<extensionName>flowruntime:name</extensionName>
<fieldType>ComponentInstance</fieldType>
<inputsOnNextNavToAssocScrn>UseStoredValues</inputsOnNextNavToAssocScrn>
<isRequired>true</isRequired>
<outputParameters>
<assignToReference>contact.FirstName</assignToReference>
<name>firstName</name>
</outputParameters>
<outputParameters>
<assignToReference>contact.LastName</assignToReference>
<name>lastName</name>
</outputParameters>
</fields>
<fields>
<name>Account</name>
<choiceReferences>accounts</choiceReferences>
<dataType>String</dataType>
<fieldText>Account</fieldText>
<fieldType>DropdownBox</fieldType>
<isRequired>true</isRequired>
</fields>
<fields>
<name>update_toggle</name>
<extensionName>flowruntime:toggle</extensionName>
<fieldType>ComponentInstance</fieldType>
<inputParameters>
<name>label</name>
<value>
<stringValue>If this contact already exists, update the existing
record.</stringValue>
</value>
</inputParameters>
<inputParameters>
<name>messageToggleActive</name>
<value>
<stringValue>Update existing</stringValue>
</value>
</inputParameters>
<inputParameters>
<name>messageToggleInactive</name>
<value>
<stringValue>Create other contact</stringValue>
</value>
</inputParameters>
<inputsOnNextNavToAssocScrn>UseStoredValues</inputsOnNextNavToAssocScrn>
<isRequired>true</isRequired>
1052
FlowMetadata Types
<outputParameters>
<assignToReference>updateExisting</assignToReference>
<name>value</name>
</outputParameters>
</fields>
<showFooter>true</showFooter>
<showHeader>true</showHeader>
</screens>
<start>
<locationX>254</locationX>
<locationY>0</locationY>
<connector>
<targetReference>Contact_Info</targetReference>
</connector>
</start>
<status>Draft</status>
<textTemplates>
<name>chatterMessage</name>
<isViewedAsPlainText>false</isViewedAsPlainText>
<text>The contact was {!created_or_updated}.</text>
</textTemplates>
<variables>
<name>accts</name>
<apexClass>ComplexObjectExample</apexClass>
<dataType>Apex</dataType>
<isCollection>false</isCollection>
<isInput>false</isInput>
<isOutput>false</isOutput>
</variables>
<variables>
<name>contact</name>
<dataType>SObject</dataType>
<isCollection>false</isCollection>
<isInput>false</isInput>
<isOutput>false</isOutput>
<objectType>Contact</objectType>
</variables>
<variables>
<name>existingId</name>
<dataType>String</dataType>
<isCollection>false</isCollection>
<isInput>false</isInput>
<isOutput>false</isOutput>
</variables>
<variables>
<name>updateExisting</name>
<dataType>Boolean</dataType>
<isCollection>false</isCollection>
<isInput>false</isInput>
<isOutput>false</isOutput>
</variables>
</Flow>
1053
FlowMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Salesforce Help: Deploy Processes and Flows as Active
FlowCategory
Represents a list of flows that are grouped by category. Flows arent added directly to a Lightning Bolt Solution. Instead, add the category
the flows are in to the Lightning Bolt Solution. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
FlowCategory components have the suffix .flowCategory and are stored in the flowCategories folder.
Version
FlowCategory components are available in API version 43.0 and later.
Fields
DescriptionField TypeField Name
The description of this flow category.stringdescription
The list of flows in this flow category.FlowCategoryItems[]flowCategoryItems
Required. The label for this flow category, which appears in Setup.stringmasterLabel
FlowCategoryItems
Represents the list of flows in a flow category.
DescriptionField TypeField Name
Required. The name of the flow.stringflow
1054
FlowCategoryMetadata Types
Declarative Metadata Sample Definition
The following is an example of a FlowCategory component.
<?xml version="1.0" encoding="UTF-8"?>
<FlowCategory xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<flowCategoryItems>
<flow>PausableFlow</flow>
</flowCategoryItems>
<flowCategoryItems>
<flow>BankingFlow</flow>
</flowCategoryItems>
<masterLabel>updateBenefits</masterLabel>
<description>All the update benefits.</description>
</FlowCategory>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>updateBenefits</members>
<name>FlowCategory</name>
</types>
<version>43.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FlowDefinition
Represents the flow definitions description and active flow version number.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Important: In API version 44.0, we recommend upgrading your flows to flow metadata file names without version numbers and
discontinue using the FlowDefinition object to activate or deactivate a flow. Then use the Flow object to activate or deactivate a
flow. For more information, see Upgrade Flow Files to API Version 44.0 on page 1046.
If you deploy with flow definitions, the active version numbers in the flow definitions override the status fields in the flows. For
example, the active version number in the flow definition is version 3, and the latest version of the flow is version 4 with the status
field as Active. After you deploy your flow, the active version is version 3.
Declarative Metadata File Suffix and Directory Location
FlowDefinitions are stored in the flowDefinitions directory of the corresponding package directory. The file name matches the
flow definition's unique full name, and the extension is .flowDefinition.
1055
FlowDefinitionMetadata Types
Version
FlowDefinition on page 1055 is available in API version 34.0 and later.
DescriptionField TypeField Name
The version number of the active flow.intactiveVersionNumber
Reserved for internal use.intapiVersion
Description of the flow definition.stringdescription
Label for the flow definition. In managed packages, this field inherits
the flows active version name. To change this label from a
subscribers org, edit the packaged flow name.
stringmasterLabel
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FlowTest
Represents the metadata associated with a flow test. Before you activate a record-triggered flow, you can test it to verify its expected
results and identify flow run-time failures.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
FlowTest components have the suffix .flowtest and are stored in the flowtests folder.
Version
FlowTest components are available in API version 55.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
1056
FlowTestMetadata Types
Fields
DescriptionField Name
Field Type
string
description
Description
The description of the flow test, such as what it does or how it works.
Field Type
string
flowApiName
Description
Required.
The API name of the flow associated with the flow test.
Field Type
string
label
Description
Required.
The label of the flow test.
Field Type
FlowTestPoint[]
testPoints
Description
An array of test points for the test.
FlowTestPoint
Defines a flow test point that is evaluated when a flow test runs. Each test point is evaluated in the order that its listed.
DescriptionField Name
Field Type
FlowTestAssertion[]
assertions
Description
An array of assertions for the test.
Field Type
string
elementApiName
Description
Required.
The element API names for the start of the flow and the end of the flow.
1057
FlowTestMetadata Types
DescriptionField Name
Possible values are:
Start
Finish
Field Type
FlowTestParameter[]
parameters
Description
An array of parameters for the test.
FlowTestAssertion
Defines an assertion for a test point that is evaluated when a flow test runs. If one assertion evaluates to false, the test run fails.
DescriptionField Name
Field Type
FlowTestCondition[]
conditions
Description
An array of conditions for an assertion.
Field Type
string
errorMessage
Description
The custom message that appears in Flow Builder if its associated condition evaluates
to false.
FlowTestCondition
Defines a condition for an assertion that is evaluated when a flow test runs. If one condition evaluates to false, the assertion fails.
DescriptionField Name
Field Type
string
leftValueReference
Description
Required.
The reference to the flow resource that the specified operator applies to.
Field Type
FlowComparisonOperator (enumeration of type string)
operator
1058
FlowTestMetadata Types
DescriptionField Name
Description
Required.
The operation that is applied to the resource reference in the
leftValueReference field.
Possible values are:
Contains
EndsWith
EqualTo
GreaterThan
GreaterThanOrEqualTo
InThis value is available in API version 56.0 and later.
IsBlankThis value is available in API version 61.0 and later.
IsChanged
IsEmptyThis value is available in API version 61.0 and later.
IsNull
LessThan
LessThanOrEqualTo
NotEqualTo
NotInThis value is available in API version 56.0 and later.
StartsWith
WasSelected
WasSet
WasVisited
Field Type
FlowTestReferenceOrValue on page 1059
rightValue
Description
The value that the operator applies to the resource reference in the
leftValueReference field.
FlowTestReferenceOrValue
Defines a specific value that the operator applies to the resource reference in flow test assertions and conditions.
DescriptionField Name
Field Type
boolean
booleanValue
1059
FlowTestMetadata Types
DescriptionField Name
Description
Specifies a boolean value.
Field Type
dateTime
dateTimeValue
Description
Specifies a dateTime value.
Field Type
date
dateValue
Description
Specifies a dateValue value.
Field Type
double
numberValue
Description
Specifies a number value.
Field Type
string
sobjectValue
Description
Specifies an sObject value.
Field Type
string
stringValue
Description
Specifies a string value.
FlowTestParameter
Defines parameters for the triggering record in the Start test point.
DescriptionField Name
Field Type
string
leftValueReference
Description
Required.
The name of the parameter. When type is
InputTriggeringRecordInitial or
InputTriggeringRecordUpdated, the value for leftValueReference
1060
FlowTestMetadata Types
DescriptionField Name
must be $Record. When type is ScheduledPath, the value for
leftValueReference must be ScheduledPathApiName.
Field Type
FlowTestParameterType (enumeration of type string)
type
Description
Required.
The type of parameter.
Possible values are:
InputTriggeringRecordInitial
InputTriggeringRecordUpdated
ScheduledPathAvailable in API version 56.0 and later.
Field Type
FlowTestReferenceOrValue
value
Description
Required.
The value that the operator applies to the resource reference in the
leftValueReference field.
Declarative Metadata Sample Definition
The following is an example of a FlowTest component.
<?xml version="1.0" encoding="UTF-8"?>
<FlowTest xmlns="http://soap.sforce.com/2006/04/metadata">
<flowApiName>Example_Test</flowApiName>
<label>Test Two</label>
<testPoints>
<elementApiName>Start</elementApiName>
<parameters>
<leftValueReference>$Record</leftValueReference>
<type>InputTriggeringRecordInitial</type>
<value>
<sobjectValue>{&quot;AnnualRevenue&quot;:100000,&quot;BillingCity&quot;:&quot;New
York&quot;}}</sobjectValue>
</value>
</parameters>
<parameters>
<leftValueReference>ScheduledPathApiName</leftValueReference>
<type>ScheduledPath</type>
<value>Every_Monday</value>
</parameters>
<parameters>
1061
FlowTestMetadata Types
<leftValueReference>$Record</leftValueReference>
<type>InputTriggeringRecordUpdated</type>
<value>
<sobjectValue>{&quot;AnnualRevenue&quot;:100000,&quot;BillingCity&quot;:&quot;New
York&quot;}</sobjectValue>
</value>
</parameters>
</testPoints>
<testPoints>
<assertions>
<conditions>
<leftValueReference>$Record.Industry</leftValueReference>
<operator>EqualTo</operator>
<rightValue>
<stringValue>Other</stringValue>
</rightValue>
</conditions>
<errorMessage>Industry was not set.</errorMessage>
</assertions>
<elementApiName>Finish</elementApiName>
</testPoints>
</FlowTest>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Test_Two</members>
<name>FlowTest</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Folder
Represents a folder. This type extends the Metadata metadata type and inherits its fullName field.
Five folder types currently exist in Salesforce:
Document folder
Email folder (available for Salesforce Classic email templates only)
Email Template folder
Report folder
Dashboard folder
1062
FolderMetadata Types
Folder type names end with the Folder suffix. For example, the type name of a document folder is DocumentFolder.
File Suffix and Directory Location
Folders are stored in the corresponding component directory of the package. These directories are named documents, email,
emailTemplates, reports, and dashboards. Folders dont have a text file representationtheyre containers for files. For
each folder, an accompanying metadata file named FolderName.folderType-meta.xml is created at the same directory
level. The FolderName.folderType-meta.xml metadata file contains the metadata information for that folder, such as the
accessType. For example, for a documents folder named sampleFolder, theres a
sampleFolder.documentFolder-meta.xml within the documents folder of the package.
Version
Folders are available in API version 11.0 and later.
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Required. The type of access for this folder. Valid values are:FolderAccessTypes
(enumeration of
type string)
accessType
Shared. This folder is accessible only by the specified set of users.
Public. This folder is accessible by all users, including portal users.
PublicInternal. This folder is accessible by all users, excluding
portal users. This setting is available for report and dashboard folders
in organizations with a partner portal or Customer Portal enabled.
Hidden. This folder is hidden from all users.
The name used as a unique identifier for API access. The fullName
can contain only underscores and alphanumeric characters. It must be
stringfullName
unique, begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores. This field is
inherited from the Metadata component.
Required. The name of the document folder.stringname
If Public is the value for accessType, this field indicates the type
of access all users have to the contents of the folder. Valid values include:
PublicFolderAccess
(enumeration of
type string)
publicFolderAccess
ReadOnly. All users can read the contents of the folder, but no
user can change the contents.
ReadWrite. All users can read or change the contents of the
folder.
Sharing access for the folder. See Sharing Considerations in Salesforce
Help.
SharedTosharedTo
1063
FolderMetadata Types
Declarative Metadata Sample Definition
The following is the package manifest definition of a document folder that contains a document:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>basic</fullName>
<types>
<members>sampleFolder</members>
<members>sampleFolder/TestDocument.txt</members>
<name>Document</name>
</types>
<version>61.0</version>
</Package>
The following is an example of the sampleFolder-meta.xml metadata file for the sampleFolder document folder:
<?xml version="1.0" encoding="UTF-8"?>
<DocumentFolder xmlns="http://soap.sforce.com/2006/04/metadata">
<accessType>Public</accessType>
<name>sampleFolder</name>
<publicFolderAccess>ReadWrite</publicFolderAccess>
</DocumentFolder>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
1. FolderShare
Represents the settings for enhanced analytics folder sharing. Users can control access to reports or dashboards by giving others
Viewer, Editor, or Manager access to the folder that contains the report or dashboard.
SEE ALSO:
Dashboard
Document
EmailTemplate
Report
FolderShare
Represents the settings for enhanced analytics folder sharing. Users can control access to reports or dashboards by giving others Viewer,
Editor, or Manager access to the folder that contains the report or dashboard.
Important: During package installation, FolderShare for DashboardFolder and ReportFolder is ignored.
1064
FolderShareMetadata Types
File Suffix and Directory Location
FolderShare objects are stored in the reports and dashboards directories. For each report or dashboard folder it contains, theres
a metadata file named FolderName-meta.xml. The FolderName-meta.xml metadata file contains the metadata information
for that folder, such as the accessLevel. For example, if the reports directory contains a reports folder named
myReportsFolder, it also has a myReportsFolder-meta.xml file at the same level as myReportsFolder.
Version
FolderShare components are available in API version 28 and later.
Fields
DescriptionField TypeField Name
Required. Specifies the combination of actions that can be taken on
the folder. Valid values are:
FolderShareAccessLevel
(enumeration of type string)
accessLevel
View. User can run a report or refresh a dashboard, but cant edit
them. All users have at least Viewer access to report and dashboard
folders that have been shared with them. (Some users can have
administrative permissions that give them greater access.)
EditAllContents. Users can view and modify the reports or
dashboards in the folder, and move them to and from any other
folders that they have equivalent access to.
Manage. Users can do everything Viewers and Editors can do,
plus control other users access to a folder.
Required. Specifies the user, group, or role that has the specified access
level to the folder.
stringsharedTo
Required. Specifies the type of entity that the folder is shared with.
Valid values are:
FolderSharedToType (enumeration
of type string)
sharedToType
Group. Users in a specified public group have the specified access
level to the folder.
Manager. Available in API version 29.0 and later.
ManagerAndSubordinatesInternal. Available in API
version 29.0 and later.
Role. Users with a specified role have the specified access level
to the folder.
RoleAndSubordinates. Users with a specified role, and users
with a role subordinate to that role, have the specified access level
to the folder. In Salesforce orgs created before February 8, 2024,
this value is available by default. In orgs created on February 8,
2024 or later, this value is only available after digital experiences
is enabled.
RoleAndSubordinatesInternal. Users with a specified
role and users with a role subordinate to that role, except public
1065
FolderShareMetadata Types
DescriptionField TypeField Name
portal users, have the specified access level to the folder. In
Salesforce orgs created before February 8, 2024, this value is only
available after digital experiences is enabled. In orgs created on
February 8, 2024 or later, this value is available by default.
Organization. All internal users have the specified access level
to the folder.
Territory. Users in a specified territory have the specified
access level to the folder.
TerritoryAndSubordinates. Users in a specified territory,
and users in territories subordinate to the specified territory, have
the specified access level to the folder.
AllPrmUsers. All PRM Portal users have the specified level of
access to the folder.
User. The specified individual user has the specified level of access
to the folder.
PartnerUser. The specified individual user of a partner portal
has the specified level of access to the folder.
AllCspUsers. All Customer Success Portal users have the
specified level of access to the folder.
CustomerPortalUser. The specified individual user of a
customer portal has the specified level of access to the folder.
PortalRole. Users with a specified role in a portal have the
specified access level to the folder.
PortalRoleAndSubordinates. Portal users with a specified
role, and portal users with a role subordinate to that role, have the
specified access level to the folder.
Declarative Metadata Sample Definition
The following is an example of a FolderShare component for a dashboard folder:
<?xml version="1.0" encoding="UTF-8"?>
<DashboardFolder xmlns="http://soap.sforce.com/2006/04/metadata">
<folderShares>
<accessLevel>View</accessLevel>
<sharedTo>R1</sharedTo>
<sharedToType>Role</sharedToType>
</folderShares>
</DashboardFolder>
Heres an example of a FolderShare component for a report folder:
<?xml version="1.0" encoding="UTF-8"?>
<ReportFolder xmlns="http://soap.sforce.com/2006/04/metadata">
<folderShares>
<accessLevel>View</accessLevel>
1066
FolderShareMetadata Types
<sharedTo>R1</sharedTo>
<sharedToType>Role</sharedToType>
</folderShares>
</ReportFolder>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
ForecastingFilter
Represents the custom filter for including or excluding data from opportunity forecasts.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ForecastingFilter components have the suffix .forecastingFilter and are stored in the forecastingFilters folder.
Version
ForecastingFilter components are available in API version 55.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
filterLogic
Description
The logic that controls the evaluation of conditions. Only AND is supported. For example,
1 AND 2 AND 3.
Field Type
string
forecastingType
1067
ForecastingFilterMetadata Types
DescriptionField Name
Description
Required. The ID of the forecast type. Can be linked only to forecast types created in Summer
21 and later.
Field Type
string
forecastingTypeSource
Description
Required. The ID of the forecast type source. Can be linked only to forecast type sources
created in Summer 21 or later and with a forecast source definition with source object of
'Opportunity.'
Field Type
string
masterLabel
Description
Required. The label for this object, which displays in Setup. The label is in the default language
locale for the organization. If theres no default language locale, the label is in en_US.
Declarative Metadata Sample Definition
The following is an example of a ForecastingFilter component.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingFilter xmlns="http://soap.sforce.com/2006/04/metadata">
<filterLogic>1 AND 2</filterLogic>
<forecastingType>d</forecastingType>
<forecastingTypeSource>d7</forecastingTypeSource>
<masterLabel>FF_OpportunityLineItem</masterLabel>
</ForecastingFilter>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ForecastingFilter</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1068
ForecastingFilterMetadata Types
ForecastingFilterCondition
Represents the custom filter condition logic for including or excluding data from opportunity forecasts.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ForecastingFilterCondition components have the suffix .ForecastingFilterCondition and are stored in the
ForecastingFilterConditions folder.
Version
ForecastingFilterCondition components are available in API version 55.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
fieldName
Description
Required. The name of the opportunity field to be filtered.
Field Type
string
forecastingFilter
Description
Required. The ID of the forecast filter.
Field Type
string
forecastingSourceDefinition
Description
The ID of the forecasting source definition.
Field Type
string
masterLabel
1069
ForecastingFilterConditionMetadata Types
DescriptionField Name
Description
Required. The label for this object, which displays in Setup. The label is in the default language
locale for the organization. If theres no default language locale, the label is in en_US.
Field Type
FilterOperation (enumeration of type string)
operation
Description
Required. The operator in the filter condition. Possible values are:
equals
greaterOrEqualgreater than or equal to
greaterThan
lessOrEqualless than or equal to
lessThan
notEqualnot equal to
Field Type
int
sortOrder
Description
Required. The index value for the condition. This value represents the condition in the
FilterLogic field on the ForecastingFilter object. For example, 1.
Field Type
string
value
Description
The value of the filter condition. If multiple values are specified, they must be separated by
a comma delimiter.
Note: If you have multiple currencies enabled, and add a custom filter on a currency
field as part of your forecast type definition, the corporate currency at the time the
filter was created is used. If you have a single currency enabled, the absolute value is
used in your filter condition.
Declarative Metadata Sample Definition
The following is an example of a ForecastingFilterCondition component.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingFilterCondition xmlns="http://soap.sforce.com/2006/04/metadata">
<colName>mostlikely</colName>
<fieldName>Amount</fieldName>
<forecastingFilter>d</forecastingFilter>
<forecastingSourceDefinition>d7</forecastingSourceDefinition>
<masterLabel>FFC_Opportunity</masterLabel>
<operation>greaterThan</masterLabel>
1070
ForecastingFilterConditionMetadata Types
<sortOrder>1</masterLabel>
<value>100000</value>
</ForecastingFilterCondition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ForecastingFilterCondition</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
A forecast type can contain up to three filter conditions.
ForecastingSourceDefinition
Represents the object, measure, date type, and hierarchy that a forecast uses to project sales.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ForecastingSourceDefinition components have the suffix .forecastingSourceDefinition and are stored in
the forecastingSourceDefinitions folder.
Version
ForecastingSourceDefinition components are available in API version 52.0 and later.
1071
ForecastingSourceDefinitionMetadata Types
Fields
DescriptionField TypeField Name
Name of the forecast category that is associated with the forecast type.
Possible values are:
stringcategoryField
Opportunity.ForecastCategoryName
Field that is used for the forecast types date type. For example, the
CloseDate field on Opportunity is used for opportunity close
date-based forecast types. Possible values are:
stringdateField
Opportunity.CloseDate
OpportunityLineItem.ServiceDate
OpportunityLineItemSchedule.ScheduleDate
Use this field to group forecasts by product family. Possible values are:stringfamilyField
Product2.Family
Required. Controlling label for this forecasting source definition.stringmasterLabel
Field that is used for the forecast types measure. For example, the
Amount field on Opportunity is associated with revenue-based forecast
types. Possible values are*:
stringmeasureField
Opportunity.Amount
Opportunity.Custom
Opportunity.TotalOpportunityQuantity
OpportunityLineItem.Custom
OpportunityLineItem.Quantity
OpportunityLineItem.TotalPrice
OpportunityLineItemSchedule.Custom
OpportunityLineItemSchedule.Quantity
OpportunityLineItemSchedule.Revenue
OpportunitySplit.Custom
OpportunitySplit.SplitAmount
*Where Custom represents the name of the custom field that a forecast
types measure is based on. Example: Use Megawatts__c to forecast
energy consumption.
Required. Object associated with this forecasting source definition.
Possible values are:
stringsourceObject
Opportunity
OpportunityLineItem
OpportunityLineItemSchedule
OpportunitySplit
1072
ForecastingSourceDefinitionMetadata Types
DescriptionField TypeField Name
Product2
For a territory-based forecast type, indicates the field that is used for
territory information. Possible values are:
stringterritory2Field
Opportunity.Territory2Id
For user role-based forecast types, this value is null.
Specifies who owns the forecast. Possible values are:stringuserField
Opportunity.OwnerId
OpportunitySplit.SplitOwnerId
Declarative Metadata Sample Definition
The following is an example of a ForecastingSourceDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingSourceDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>TestFsd</masterLabel>
<sourceObject>Opportunity</sourceObject>
<measureField>Opportunity.Amount</measureField>
<dateField>Opportunity.CloseDate</dateField>
<userField>Opportunity.OwnerId</userField>
<categoryField>Opportunity.ForecastCategoryName</categoryField>
</ForecastingSourceDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ForecastingSourceDefinition</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
Forecast types that were available before API version 52.0 can be activated, deactivated, and deleted but not created. To enable an
existing forecast type, update the active flag.
1073
ForecastingSourceDefinitionMetadata Types
Forecast types that are available only in API version 52.0 and later can be created, activated, deactivated, and deleted. If the forecast
type doesnt exist, it is created in the inactive state. If the forecast type exists, the active flag is updated. Deploy the zip file twice to
create and activate the forecast type.
Deploy Metadata API types in the following sequence: ForecastingSettings, ForecastingType, ForecastingSourceDefinition, and then
ForecastingTypeSource. If all are specified in the package file, the sequence is followed automatically.
ForecastingType
Represents a forecast type.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ForecastingType components have the suffix .forecastingType and are stored in the forecastingTypes folder.
Version
ForecastingType components are available in API version 52.0 and later.
Fields
DescriptionField TypeField Name
Required. If true, the forecast type is active. If false, the forecast
type isnt active. The default value is false.
booleanactive
Required. If true, the forecast type is based on a revenue measure. If
false, the forecast type is based on a quantity measure. The default
value is true.
booleanamount
Required. The date type that forecast amounts are based on.stringdateType
OpportunityCloseDate: Base forecasts on opportunity close
dates.
ProductDate: Base forecasts on opportunity product line item
dates, if available.
ScheduleDate: Base forecasts on opportunity product schedule
dates, if available.
The following values are available in API version 52.0 and later, in
Performance Edition and in Unlimited Edition with Sales Cloud.
1074
ForecastingTypeMetadata Types
DescriptionField TypeField Name
OLIMeasureCloseDateOnly: Base forecasts on opportunity
close dates.
ProductDateOnly: Base forecasts on opportunity product line
item dates, if available.
ScheduleDateOnly: Base forecasts on opportunity product
schedule dates, if available.
Required. The name of the forecasting type. The DeveloperName
is called name in ForecastingSettings on page 1719 and Forecasting Type
in custom reports.
stringdeveloperName
Indicates the forecast group assigned to the forecast type. Required if
hasCustomGroup is true.
stringforecastingGroupDeveloperName
Indicates whether the forecasting type has a forecast group, based on
a custom picklist assigned. Use ForecastingGroup and
booleanhasCustomGroup
ForecastingGroupItems subtypes in ForecastingSettings to identify the
group and the values.
Required. If true, the forecast type includes product families. If false,
the forecast type doesnt include product families. The default value is
false.
booleanhasProductFamily
Required. Controlling label for this ForecastingType value. This display
value is the internal label that doesnt get translated.
stringmasterLabel
Indicates whether the forecasting type has a split type and, if so, the
name of the split type.
stringopportunitySplitType
Indicates whether the forecasting type has an opportunity line item
(product) split type and, if so, the name of the line item split type.
Available in API version 58.0 and later.
stringopptyLineItemSplitType
Required. If true, the forecast type is based on a quantity measure. If
false, the forecast type is based on a revenue measure. The default
value is false.
booleanquantity
Required. Indicates whether the role type has a ForecastingType, and if
so, which ForecastingType. Possible values are R (user role-based forecast
type) and Y (Territory2-based forecast type).
stringroleType
Indicates whether the ForecastingType has a Territory2 model and, if so,
the name of the Territory2 model.
stringterritory2Model
Declarative Metadata Sample Definition
The following is an example of a ForecastingType component using the role hierarchy.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingType xmlns="http://soap.sforce.com/2006/04/metadata">
1075
ForecastingTypeMetadata Types
<active>false</active>
<amount>true</amount>
<dateType>0</dateType>
<developerName>qqw</developerName>
<hasProductFamily>false</hasProductFamily>
<masterLabel>qqw</masterLabel>
<quantity>false</quantity>
<roleType>R</roleType>
</ForecastingType>
The following is an example of a ForecastingType component using the territory hierarchy.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingType xmlns="http://soap.sforce.com/2006/04/metadata">
<active>false</active>
<amount>false</amount>
<dateType>0</dateType>
<developerName>New_Model6</developerName>
<hasProductFamily>false</hasProductFamily>
<masterLabel>Opportunity Quantity by Territory</masterLabel>
<quantity>true</quantity>
<roleType>Y</roleType>
<territory2Model>New_Model6</territory2Model>
</ForecastingType>
The following is an example of a ForecastingType component using an opportunity split type.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingType xmlns="http://soap.sforce.com/2006/04/metadata">
<active>false</active>
<amount>true</amount>
<dateType>0</dateType>
<developerName>split12</developerName>
<hasProductFamily>false</hasProductFamily>
<masterLabel>split12</masterLabel>
<opportunitySplitType>Custom_Revenue</opportunitySplitType>
<quantity>false</quantity>
<roleType>R</roleType>
</ForecastingType>
The following is an example of a ForecastingType component using an opportunity line item split type.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingType xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<amount>true</amount>
<dateType>0</dateType>
<developerName>productrevenuesplit</developerName>
<hasProductFamily>true</hasProductFamily>
<masterLabel>productrevenuesplit</masterLabel>
<opportunitySplitType>Revenue</opportunitySplitType>
<opptyLineItemSplitType>Revenue</opptyLineItemSplitType>
<quantity>false</quantity>
<roleType>R</roleType>
</ForecastingType>
1076
ForecastingTypeMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ForecastingType</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
Legacy forecast types that were available before API version 52.0 can be deactivated but not activated, created, or deleted.
Forecast types that are available only in API version 52.0 and later can be created, activated, deactivated, and deleted. If the forecast
type doesnt exist, its created in the inactive state. If the forecast type exists, the active flag is updated. Deploy the zip file twice to
create and activate the forecast type.
Deploy Metadata API types in this sequence: ForecastingSettings, ForecastingType, ForecastingSourceDefinition, and then
ForecastingTypeSource. If all are specified in the package file, the sequence is followed automatically.
ForecastingTypeSource
Represents the mapping of a forecasting source definition to a forecast type.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ForecastingTypeSource components have the suffix .forecastingTypeSource and are stored in the
ForecastingTypeSources folder.
Version
ForecastingTypeSource components are available in API version 52.0 and later.
1077
ForecastingTypeSourceMetadata Types
Fields
DescriptionField TypeField Name
Required. ID of the forecasting source definition.stringforecastingSourceDefinition
Required. ID of the forecast type. Can be linked only to forecast types
created in Summer 21 and later.
stringforecastingType
Required. Controlling label for this forecasting type source.stringmasterLabel
For forecast types not based on the Opportunity object and not based
on a custom measure, this value represents the parent
ForecastingSourceDefinition of the linked ForecastingSourceDefinition.
stringparentSourceDefinition
Opportunity Product is the parent of Opportunity.
Opportunity Split is the parent of Opportunity.
Line Item Schedule is the parent of Opportunity Product.
Represents the field that links the source objects of the parent
ForecastingSourceDefinition to the child ForecastingSourceDefinition.
Possible values are:
stringrelationField
OpportunityLineItem.OpportunityId
OpportunityLineItem.Product2Id
OpportunityLineItemSchedule.OpportunityLineItemId
OpportunitySplit.OpportunityId
Required. Represents a grouping of forecasting source definitions.intsourceGroup
Declarative Metadata Sample Definition
The following are two examples of a ForecastingTypeSource component. The first bases forecasts on the Opportunity Product object.
The second bases forecasts on the Line Item Schedule object.
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingTypeSource xmlns="http://soap.sforce.com/2006/04/metadata">
<forecastingSourceDefinition>FSD_OpportunityLineItem</forecastingSourceDefinition>
<forecastingType>d</forecastingType>
<masterLabel>ForecastingTypeSource_d7</masterLabel>
<parentSourceDefinition>FSD_OpportunityLineItemSchedule1</parentSourceDefinition>
<relationField>OpportunityLineItemSchedule.OpportunityLineItemId</relationField>
<sourceGroup>1</sourceGroup>
</ForecastingTypeSource>
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingTypeSource xmlns="http://soap.sforce.com/2006/04/metadata">
<forecastingSourceDefinition>FSDOpportunityLineItemSchedule</forecastingSourceDefinition>
<forecastingType>c3</forecastingType>
<masterLabel>ForecastingTypeSource_c37syR</masterLabel>
1078
ForecastingTypeSourceMetadata Types
<sourceGroup>1</sourceGroup>
</ForecastingTypeSource>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ForecastingTypeSource</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage
Forecast types that were available before API version 52.0 can be activated, deactivated, and deleted but not created. To enable an
existing forecast type, update the active flag.
Forecast types that are available only in API version 52.0 and later can be created, activated, deactivated, and deleted. If the forecast
type doesnt exist, it is created in the inactive state. If the forecast type exists, the active flag is updated. Deploy the zip file twice to
create and activate the forecast type.
Deploy Metadata API types in the following sequence: ForecastingSettings, ForecastingType, ForecastingSourceDefinition, and then
ForecastingTypeSource. If all are specified in the package file, the sequence is followed automatically.
FuelType
Represents a custom fuel type in an org.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
FuelType components have the suffix .fuelType and are stored in the fuelTypes folder.
Version
FuelType components are available in API version 57.0 and later.
1079
FuelTypeMetadata Types
Special Access Rules
The Net Zero Cloud permission set license is required to access this object along with the user access for carbon accounting and org
access for custom fuels and unit of measures (UOMs).
Fields
DescriptionField Name
Field Type
string
description
Description
Description about the fuel type.
Field Type
boolean
isActive
Description
Indicates whether the fuel type is active (true) or not (false).
The default value is false.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
The default value is false.
Field Type
boolean
isStationaryAssetFuel
Description
Indicates whether the fuel type is used in stationary assets (true) or not (false).
The default value is false.
Field Type
boolean
isVehicleAssetFuel
Description
Indicates whether the fuel type is used in a vehicle asset (true) or not (false).
The default value is false.
Field Type
string
masterLabel
Description
Required.
1080
FuelTypeMetadata Types
DescriptionField Name
A user-friendly name for FuelType, which is defined when the FuelType is created.
Declarative Metadata Sample Definition
The following is an example of a FuelType component.
<?xml version="1.0" encoding="UTF-8"?>
<FuelType xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is Petrol Fuel Type</description>
<isProtected>true</isProtected>
<isActive>true</isActive>
<isStationaryAssetFuel>true</isStationaryAssetFuel>
<isVehicleAssetFuel>true</isVehicleAssetFuel>
<masterLabel>Petrol</masterLabel>
</FuelType>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Petrol</members>
<members>Diesel</members>
<members>Kerosine</members>
<name>FuelType</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FuelTypeSustnUom
Represents a mapping between the custom fuel types and their corresponding unit of measure (UOM) values defined by a customer in
an org.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
1081
FuelTypeSustnUomMetadata Types
File Suffix and Directory Location
FuelTypeSustnUom components have the suffix .fuelTypeSustnUom and are stored in the fuelTypeSustnUoms folder.
Version
FuelTypeSustnUom components are available in API version 57.0 and later.
Special Access Rules
The Net Zero Cloud permission set license is required to access this object along with the user access for carbon accounting and org
access for custom fuels and UOMs.
Fields
DescriptionField Name
Field Type
string
fuelType
Description
Required.
The name of the fuel type thats mapped to the unit of measure.
Possible values are:
AutogasLPG
Biodiesel
Biomass
CityGas
CompressedNaturalGasCNG
Cooling
Diesel
Electricity
Ethanol
FuelOil
Gasoline
Heat
HeavyOil
ITElectricity
JetFuel
Kerosene
LightOil
LiquidNaturalGasLNG
1082
FuelTypeSustnUomMetadata Types
DescriptionField Name
MobileDiesel
NaturalGas
Propane
Refrigerant
Steam
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
The default value is false.
Field Type
string
masterLabel
Description
A user-friendly name for FuelTypeSustnUom, which is defined when the
FuelTypeSustnUom is created.
Field Type
string
unitOfMeasure
Description
Required.
The unit of measure thats mapped to the fuel type.
Possible values are:
1000m3
GJ
GWh
Kiloliters
Liters
MJ
MMBtu
MWh
Therms
Tonnes
UkGallons
UsGallons
ccf
kG
kWh
1083
FuelTypeSustnUomMetadata Types
DescriptionField Name
kcal
lbs
longTons
m3
shortTons
Declarative Metadata Sample Definition
The following is an example of a FuelTypeSustnUom component.
<?xml version="1.0" encoding="UTF-8"?>
<FuelTypeSustnUom xmlns="http://soap.sforce.com/2006/04/metadata">
<fuelType>FuelOil</fuelType>
<isProtected>false</isProtected>
<masterLabel>FuelOil_Liters</masterLabel>
<unitOfMeasure>Liters</unitOfMeasure>
</FuelTypeSustnUom>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<members>FuelOil_Liters</members>
<members>Gas_1000m3</members>
<members>Heat_kWh</members>
<name>FuelTypeSustnUom</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FunctionReference
Represents information about a deployed Salesforce Function that can be invoked from the org. This type extends the Metadata metadata
type and inherits its fullName field.
File Suffix and Directory Location
FunctionReference does not support direct access and should be managed using Salesforce CLI commands associated with Functions.
A FunctionReference component file has the suffix .functions and is stored in the functions directory.
1084
FunctionReferenceMetadata Types
Version
FunctionReference components are available in API version 52.0 and later.
Special Access Rules
FunctionReference components cant be used directly. Always use Salesforce CLI commands associated with Functions to properly
deploy Functions and associate Functions with orgs. Attempting to manipulate FunctionReference components directly without using
Functions CLI commands is not supported.
Fields
DescriptionField TypeField Name
Represents the description of the Salesforce Function.stringdescription
Represents the label for the Salesforce Function.stringlabel
Represents a set of permissions that's used to control org resources that
the Function has access to.
stringpermissionSet
FundraisingConfig
Represents a collection of settings to configure the fundraising product.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
FundraisingConfig components have the suffix .fundraisingConfig and are stored in the fundraisingConfigs folder.
Version
FundraisingConfig components are available in API version 58.0 and later.
Special Access Rules
Your org must have Fundraising Access license as a part of the Nonprofit Cloud to access this object.
1085
FundraisingConfigMetadata Types
Fields
DescriptionField Name
Field Type
DonorMatchingMethod (enumeration of type string)
donorMatchingMethod
Description
Reserved for future use.
Field Type
int
failedTransactionCount
Description
The count of consecutive failed past transactions before the gift commitment status
is changed to Failing. If set to 0, the status is never auto-changed to Failing.
Field Type
string
householdSoftCreditRole
Description
Reserved for future use.
Field Type
int
installmentExtDayCount
Description
The duration in the number of days before or after an unpaid transaction in a gift
commitment is marked as another installment in the gift commitment schedule. The
unpaid transaction within the grace period is considered a gift transaction.
Field Type
boolean
isHshldSoftCrAutoCrea
Description
Reserved for future use.
Field Type
int
lapsedUnpaidTrxnCount
Description
The count of consecutive unpaid past transactions before the gift commitment status
is changed to Lapsed. If set to 0, the status is never auto-changed to Lapsed.
Field Type
string
masterLabel
Description
A user-friendly name for FundraisingConfig, which is defined when the
FundraisingConfig is created.
1086
FundraisingConfigMetadata Types
DescriptionField Name
Field Type
boolean
shouldClosePaidRcrCmt
Description
Indicates whether to automatically close a recurring gift commitment when it has no
ongoing or future schedule and no unpaid transaction (true) or not (false).
The default value is false. Available in API version 59.0 and later.
Field Type
boolean
shouldCreateRcrSchdTrxn
Description
Indicates whether the next transaction in a recurring schedule is automatically created
(true) or not (false).
The default value is true. Available in API version 59.0 and later.
Declarative Metadata Sample Definition
The following is an example of a FundraisingConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<FundraisingConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<lapsedUnpaidTrxnCount>5</lapsedUnpaidTrxnCount>
<householdSoftCreditRole>Admin</householdSoftCreditRole>
<isHshldSoftCrAutoCrea>true</isHshldSoftCrAutoCrea>
<installmentExtDayCount>7</installmentExtDayCount>
<donorMatchingMethod>No_Matching</donorMatchingMethod>
<failedTransactionCount>12</failedTransactionCount>
<shouldCreateRcrSchdTrxn>true</shouldCreateRcrSchdTrxn>
<shouldClosePaidRcrCmt>false</shouldClosePaidRcrCmt>
<masterLabel>MasterLabel</masterLabel>
</FundraisingConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>FundraisingConfig</name>
</types>
<version>59.0</version>
</Package>
1087
FundraisingConfigMetadata Types
GatewayProviderPaymentMethodType
Represents an entity that allows integrators and payment providers to choose an active payment to receive an order's payment data
rather than allowing the Salesforce Order Management platform to select a default payment method. This object is available in API
version 51 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Version
gatewayProviderPaymentMethodType components are available in API version 51 and later.
Special Access Rules
Fields
DescriptionField Name
Field Type
textarea
comment
Description
Additional details about the gateway provider payment method type record. Max
length is 1000 characters.
Field Type
string
gtwyProvPaymentMethodType
Description
Links the Salesforce payment method to the payment method used in the Salesforce
Order Management storefront. Your payment gateway integration uses this field when
finding a payment method to link to a payment.
The value of GtwyProviderPaymentMethodType must match the payment
method value sent to the order's Payment Instrument in Salesforce Order Management.
Here are examples of payment method values that Salesforce could receive from
Salesforce Order Management.
CREDIT_CARD
BASIC_CREDIT
CreditCard
GooglePay
ApplePay
Field Type
string
masterLabel
1088
GatewayProviderPaymentMethodTypeMetadata Types
DescriptionField Name
Description
Required. The gateway provider payment method type name that appears in the user
interface.
Field Type
reference
paymentGatewayProvider
Description
Specifies the payment gateway provider that Salesforce Order Management should
use when processing payments. One payment gateway provider can be related to
multiple payment method types.
Field Type
picklist
paymentMethodType
Description
Specifies the type of payment method used on an order in Salesforce Order
Management.
Possible values are:
AlternativePaymentMethod
CardPaymentMethod
DigitalWallet
Field Type
reference
recordType
Description
ID of the record type entity related to the gateway provider payment method type.
This is a relationship field.
Declarative Metadata Sample Definition
The following is an example of a GatewayProviderPaymentMethodType component.
<?xml version="1.0" encoding="UTF-8"?>
<GatewayProviderPaymentMethodType xmlns="http://soap.sforce.com/2006/04/metadata">
<gtwyProviderPaymentMethodType>Klarna</gtwyProviderPaymentMethodType>
<masterLabel>Test</masterLabel>
<paymentGatewayProvider>adyen__Adyen</paymentGatewayProvider>
<paymentMethodType>AlternativePaymentMethod</paymentMethodType>
<recordType>AlternativePaymentMethod.Klarna</recordType>
</GatewayProviderPaymentMethodType>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
1089
GatewayProviderPaymentMethodTypeMetadata Types
<types>
<members>*</members>
<name>GatewayProviderPaymentMethodType</name>
</types>
<version>51.0</version>
</Package>
GenAiFunction
Represents a copilot action that can be added to Einstein Copilot.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
GenAiFunction components have the suffix .genAiFunction and are stored in the genAiFunctions folder.
Version
GenAiFunction components are available in API version 60.0 and later.
Special Access Rules
GenAiFunction is available only if Einstein Copilot is enabled in your org.
Fields
DescriptionField Name
Field Type
string
description
Description
A description explaining the general purpose and domain of the action.
Field Type
string
invocationTarget
Description
Required. Target invocation used by invocation operations.
Field Type
PlannerFunctionInvocableTargetType (enumeration of type string)
invocationTargetType
1090
GenAiFunctionMetadata Types
DescriptionField Name
Description
Required. Invocable action types used by invocation operations.
Values are:
apex
flow
prompt
Field Type
boolean
isConfirmationRequired
Description
Indicates whether confirmation is required for this action.
Field Type
string
masterLabel
Description
Required. The master label for the generative AI action.
Declarative Metadata Sample Definition
The following is an example of a GenAiFunction component.
<?xml version="1.0" encoding="UTF-8"?>
<GenAiFunction xmlns="http://soap.sforce.com/2006/04/metadata">
<description>get tracking information</description>
<invocationTarget>TrackShipment</invocationTarget>
<invocationTargetType>apex</invocationTargetType>
<isConfirmationRequired>false</isConfirmationRequired>
<masterLabel>get_tracking_info</masterLabel>
</GenAiFunction>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>GenAiFunction</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1091
GenAiFunctionMetadata Types
GenAiPlanner
Represents a copilot planner service that uses a large language model (LLM) and a reasoning strategy to decompose a given task into
smaller subtasks, identify the most suitable actions for each subtask, and invoke them.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
GenAiPlanner components have the suffix .genAiPlanner and are stored in the genAiPlanners folder.
Version
GenAiPlanner components are available in API version 60.0 and later.
Special Access Rules
GenAiPlanner is available only if Einstein Copilot is enabled in your org.
Fields
DescriptionField Name
Field Type
string
capabilities
Description
Required. A set of tags associated with the copilot planner service definition.
Field Type
string
description
Description
A description explaining the general purpose and domain of the copilot planner service
definition.
Field Type
GenAiPlannerFunctionDef[]
genAiFunctions
Description
A list of copilot action definitions.
Field Type
string
masterLabel
1092
GenAiPlannerMetadata Types
DescriptionField Name
Description
Required. The master label of the copilot planner service definition.
Field Type
PlannerType (enumeration of type string)
plannerType
Description
Required. A particular approach to problem solving that is given as prompt instructions
to a large language model (LLM).
Values are:
AiCopilot__ReActUses a reactive planning strategy to solve problems
with the LLM. This strategy consists of prompting the LLM to generate the next
step in response to an event and the current context. It differs from a sequential
planner in that it doesnt plan more than one step ahead of time.
AiCopilot__SequentialPlannerIntentClassifierUses an
intent classifier prompt and a sequential planner prompt. With each text input,
the planner asks the LLM to generate a step-by-step plan to finish the goal. It plans
first, then executes.
GenAiPlannerFunctionDef
Represents a copilot action definition.
DescriptionField Name
Field Type
string
genAiFunctionName
Description
Required. The name of the copilot action.
Declarative Metadata Sample Definition
The following is an example of a GenAiPlanner component.
<?xml version="1.0" encoding="UTF-8"?>
<GenAiPlanner xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Copilot planner description</description>
<masterLabel>EmployeeCopilotPlanner</masterLabel>
<plannerType>AiCopilot__SequentialPlannerIntentClassifier</plannerType>
</GenAiPlanner>
1093
GenAiPlannerMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>GenAiPlanner</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
GenAiPromptTemplate
Represents the definition of a prompt template, including its related objects and fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
GenAiPromptTemplate components have the suffix .genAiPromptTemplate and are stored in the
genAiPromptTemplates folder.
Version
GenAiPromptTemplate components are available in API version 60.0 and later.
Special Access Rules
GenAiPromptTemplate is available only if Prompt Builder is enabled in your org and you have the Prompt Template Manager permission.
To send GenAiPromptTemplate components from one Salesforce org to another, you must use change sets.
Fields
DescriptionField Name
Field Type
int
activeVersion
1094
GenAiPromptTemplateMetadata Types
DescriptionField Name
Description
Specifies the version number of the active prompt template version.
Field Type
string
description
Description
A description of the prompt template.
Field Type
string
masterLabel
Description
A user-friendly name for GenAiPromptTemplate, which is defined when the
GenAiPromptTemplate is created.
Field Type
string
relatedEntity
Description
The Salesforce record type that the prompt template is associated with.
Field Type
string
relatedField
Description
The Salesforce field that the prompt template is associated with.
Field Type
GenAiPromptTemplateVersion on page 1096[]
templateVersions
Description
An array of prompt template versions.
Field Type
string
type
Description
Represents the template type that the prompt template is based on. Valid values are:
einstein_gpt__fieldCompletion
einstein_gpt__salesEmail
einstein_gpt__recordSummary
einstein_gpt__flex
Field Type
GenAiPromptTemplateVisibilityType (enumeration of type string)
visibility
Description
Indicates the scope of visibility for the prompt template. Valid values are:
1095
GenAiPromptTemplateMetadata Types
DescriptionField Name
API
Global
GenAiPromptTemplateVersion
Represents a version of a prompt template.
DescriptionField Name
Field Type
string
content
Description
Text of the prompt template version.
Field Type
string
description
Description
Description of the prompt template version.
Field Type
GenAiPromptTemplateInput on page 1097[]
inputs
Description
An array of prompt template inputs associated with the prompt template version.
Field Type
string
primaryModel
Description
The model associated with the prompt template version.
Field Type
GenAiPromptTemplateStatus (enumeration of type string)
status
Description
Indicates the activation status of the prompt template in Prompt Builder. Valid values
are:
PublishedPrompt template appears as Active in Prompt Builder.
Published prompt templates cant be edited in Salesforce, but are currently editable
from the Metadata API. We recommend that you dont edit published prompt
templates from the API.
DraftPrompt Template appears as Inactive in Prompt Builder.
1096
GenAiPromptTemplateMetadata Types
DescriptionField Name
Field Type
GenAiPromptTemplateDataProvider on page 1098[]
templateDataProviders
Description
An array of prompt template data providers associated with the prompt template
version.
Field Type
int
versionNumber
Description
Required. Version number of the prompt template version. Versions are counted
sequentially from 1.
GenAiPromptTemplateInput
Represents an input for a prompt template, such as a Salesforce record, field, or Apex primitive data type.
DescriptionField Name
Field Type
string
apiName
Description
Required. Name of the prompt template input parameter.
Field Type
string
definition
Description
Required. The URI definition of the input parameter. For example,
SOBJECT://Account and SOBJECT://Account/Description.
Field Type
string
description
Description
Description of the prompt template input parameter.
Field Type
string
masterLabel
Description
A user-friendly name for GenAiPromptTemplateInput, which is defined when the
GenAiPromptTemplateInput is created.
Field Type
string
referenceName
1097
GenAiPromptTemplateMetadata Types
DescriptionField Name
Description
Required. Name of the prompt template input to use in expressions. For example,
Input:Recipient and Input:Sender</referenceName>.
Field Type
boolean
required
Description
Required. Specifies whether this input parameter is required (true) or optional
(false).
GenAiPromptTemplateDataProvider
Represents a source of data for a prompt template version, such as an invocable action, flow, or Apex method.
DescriptionField Name
Field Type
string
definition
Description
Required. The URI definition of the data provider, such
as flow://ns__CallToActionFlow.
Field Type
GenAiPromptTemplateDataProviderParam on page 1098[]
parameters
Description
An array of parameters associated with the data provider.
Field Type
string
referenceName
Description
Required. Name of the data provider to use in expressions.
GenAiPromptTemplateDataProviderParam
Represents a parameter that a data provider uses to retrieve information.
DescriptionField Name
Field Type
string
definition
1098
GenAiPromptTemplateMetadata Types
DescriptionField Name
Description
Required. URI definition of the parameter. For example,
SOBJECT://User</definition>.
Field Type
boolean
isRequired
Description
Specifies whether the parameter is required (true) or optional (false).
Field Type
string
parameterName
Description
Required. Name of the parameter.
Field Type
string
valueExpression
Description
Value or expression of the parameter to use in prompt template text. For example,
{!$Input:Recipient}.
Declarative Metadata Sample Definition
The following is an example of a GenAiPromptTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<GenAiPromptTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<activeVersion>1</activeVersion>
<description>Recommend relevant financial products to client based on their needs and
goals</description>
<masterLabel>Recommend Relevant Products</masterLabel>
<relatedEntity>Contact</relatedEntity>
<templateVersions>
<content>You are a financial advisor at {!$Input:Sender.CompanyName} and your name
is {!$Input:Sender.Name}. You are writing an email to a prospective client recommending
relevant financial products based on their data and goals. Reference the data below to
generate your email, recommending only relevant products for the customer that match our
recommendation criteria for each product.
Client name: {!$Input:Recipient.Name}
Client age: {!$Input:Recipient.Age__c}
Client occupation: {!$Input:Recipient.Occupation__c}
Client income: {!$Input:Recipient.Income__c}
Client financial goals: {!$Input:Recipient.Financial_Goals__c}
{!$Flow:Fetch_Products.Prompt}
Generate a subject line that can increase the open rate using words and content that is
1099
GenAiPromptTemplateMetadata Types
related to the email body content. It must be no more than 10 words.
Start the opening message of the email with an ice-breaker talking about relevant challenges
or opportunities with personal finance and how you can help.
Indirectly allude to a point of common interest, shared background, or relevant experience
with {!$Input:Recipient.Name}. You aim to subtly reference or highlight this connection
to establish rapport, demonstrate relevance, and foster a sense of familiarity.
Indirectly encourage the lead {!$Input:Recipient.Name} to respond to your email by showing
that you are willing to discuss opportunities for working together and answer any questions
they may have.
Be concise in your email.</content>
<inputs>
<apiName>Sender</apiName>
<definition>SOBJECT://User</definition>
<referenceName>Input:Sender</referenceName>
<required>true</required>
</inputs>
<inputs>
<apiName>Recipient</apiName>
<definition>SOBJECT://Contact</definition>
<referenceName>Input:Recipient</referenceName>
<required>true</required>
</inputs>
<primaryModel>sfdc_ai__DefaultOpenAIGPT4</primaryModel>
<status>Published</status>
<templateDataProviders>
<definition>flow://Fetch_Products</definition>
<parameters>
<definition>SOBJECT://User</definition>
<isRequired>true</isRequired>
<parameterName>Sender</parameterName>
<valueExpression>{!$Input:Sender}</valueExpression>
</parameters>
<parameters>
<definition>SOBJECT://Contact</definition>
<isRequired>true</isRequired>
<parameterName>Recipient</parameterName>
<valueExpression>{!$Input:Recipient}</valueExpression>
</parameters>
<referenceName>Flow:Fetch_Products</referenceName>
</templateDataProviders>
<versionNumber>1</versionNumber>
</templateVersions>
<type>einstein_gpt__salesEmail</type>
<visibility>Global</visibility>
</GenAiPromptTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>GenAiPromptTemplate</name>
</types>
1100
GenAiPromptTemplateMetadata Types
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
GenAiPromptTemplateActv
Represents the activation status of a Salesforce-provided prompt template.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
GenAiPromptTemplateActv components have the suffix .genAiPromptTemplateActivation and are stored in the
genAiPromptTemplateActivations folder.
Version
GenAiPromptTemplateActv components are available in API version 60.0 and later.
Special Access Rules
GenAiPromptTemplate is available only if Prompt Builder is enabled in your org and you have the Prompt Template Manager permission.
To send GenAiPromptTemplateActv components from one Salesforce org to another, you must use change sets.
Fields
DescriptionField Name
Field Type
GenAiPromptTemplateActvAccessLevel (enumeration of type string)
accessLevel
Description
Indicates which users can access the Salesforce-provided prompt template. Valid values
are:
AllowedUsers with access to Prompt Builder can see the prompt template.
1101
GenAiPromptTemplateActvMetadata Types
DescriptionField Name
BlockedOnly admin users with access to Prompt Builder can see the prompt
template.
Field Type
string
developerName
Description
Name of the activation record. This name can contain only underscores and
alphanumeric characters. It must begin with a letter, not include spaces, not end with
an underscore, and not contain two consecutive underscores.
Field Type
string
masterLabel
Description
A user-friendly name for GenAiPromptTemplateActv, which is defined when the
GenAiPromptTemplateActv is created.
Field Type
string
templateDeveloperName
Description
Name of the Salesforce-provided prompt template that the activation record is
associated with.
Declarative Metadata Sample Definition
The following is an example of a GenAiPromptTemplateActv component.
<?xml version="1.0" encoding="UTF-8"?>
<GenAiPromptTemplateActv xmlns="http://soap.sforce.com/2006/04/metadata">
<MasterLabel> Activation Record for Prompt Template </MasterLabel>
<PromptTemplateDeveloperName>einstein_gpt__introductionLeadEmail
</PromptTemplateDeveloperName>
<DeveloperName>HideIntroductionLeadEmail</DeveloperName>
<Description>Status of template </Description>
<AccessLevel>BLOCKED</AccessLevel>
</GenAiPromptTemplateActv>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>GenAiPromptTemplateActv</name>
<members>HideIntroductionLeadEmail.genAiPromptTemplateActivation</members>
</types>
<version>60.0</version>
</Package>
1102
GenAiPromptTemplateActvMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
GlobalPicklist
Represents a global picklist, or the set of shared picklist values that custom picklist fields can use. In contrast, the custom picklist fields
that are based on a global picklist are of type CustomValue. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
GlobalPicklist components have the suffix .globalPicklist and are stored in the globalPicklist folder.
Version
GlobalPicklist components are available in API version 37.0 only. In API version 38.0 and later, GlobalPicklist is replaced by the GlobalValueSet
type.
Fields
DescriptionField TypeField Name
Its useful to state the global picklists purpose, and which objects its intended
for. Limit: 255 characters.
stringdescription
Requires at least one value. The list of values, or picklist value set, thats defined
for a global picklist. The picklist value set is inherited by any custom picklist
GlobalPicklistValue[]globalPicklistValues
field thats based on that global picklist. Each value is of type GlobalPicklistValue.
A global picklist can have up to 1,000 total values, including inactive values.
Required. A global picklists name, which is defined when the global picklist is
created. Appears as Label in the user interface.
stringmasterLabel
Indicates whether a global picklists value set is sorted in alphabetical order.
By default this value is false.
stringsorted
Declarative Metadata Sample Definition
This Territories.globalPicklist is an example of a GlobalPicklist component.
<?xml version="1.0" encoding="UTF-8"?>
<GlobalPicklist xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Updated:This is a basic global picklist</description>
1103
GlobalPicklistMetadata Types
<globalPicklistValues>
<fullName>Northwest</fullName>
<default>false</default>
</globalPicklistValues>
<globalPicklistValues>
<fullName>Northeast</fullName>
<default>false</default>
</globalPicklistValues>
<globalPicklistValues>
<fullName>South</fullName>
<default>true</default>
</globalPicklistValues>
<globalPicklistValues>
<fullName>Southwest</fullName>
<default>false</default>
<isActive>false</isActive>
</globalPicklistValues>
<masterLabel>Territories</masterLabel>
<sorted>true</sorted>
</GlobalPicklist>
This example package.xml references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Territories</members>
<name>GlobalPicklist</name>
</types>
<version>37.0</version>
</Package>
GlobalPicklistValue
Represents the definition of a value used in a global picklist. Custom picklist fields can inherit the picklist value set from a global picklist.
This type extends the Metadata metadata type and inherits its fullName field.
Note: GlobalPicklistValue components dont have file suffixes or directories because theyre lists of values and not custom fields.
For file-based operations they can be accessed through GlobalPicklist (which is in API v37.0 only).
Version
GlobalPicklistValue components are available in API version 37.0 only. In API version 38.0 and later, GlobalPicklistValue is replaced by
CustomValue on page 675.
1104
GlobalPicklistValueMetadata Types
Fields
DescriptionField TypeField Name
The color assigned to the picklist value when its used in charts on reports
and dashboards. The color is in hexadecimal format; for example,
stringcolor
#FF6600. If a color is not specified, its assigned dynamically upon chart
generation.
Required. Indicates whether this value is the default selection for the
global picklist and the custom picklists that share its picklist value set.
This field is set to true by default.
booleandefault
The global picklist values description. Its useful to include a description
for a global picklist value so the reason for creating it can be tracked.
Limit: 255 characters.
stringdescription
Indicates whether this value is currently active or inactive. The default
value is true. Users can select only active values from a picklist. An API
booleanisActive
retrieve operation for global picklist values returns all active and inactive
values in the picklist. (Meanwhile, retrieving the values of a non-global,
unrestricted picklist returns only the active values.)
PicklistValue
This metadata type defines a value in the picklist and specifies whether this value is the default value. This type extends the
GlobalPicklistValue metadata type and inherits all its fields. In API version 36.0 and earlier, PicklistValue extends the Metadata type and
inherits its fullName field.
Note the following when working with picklist values:
When you retrieve a standard object, all picklist values are retrieved, not just the customized picklist values.
When you deploy changes to standard picklist fields, picklist values are added as needed.
To deactivate a global picklist value, you can invoke an update() call on GlobalPicklist with the value omitted, or with the values
isActive field set to false. Or, you can invoke an update() call directly on GlobalPicklistValue with the isActive field
set to false.
If picklist values are missing from a component definition, they get deactivated when deployed. Deactivation occurs for picklist
values of both standard and custom fields.
DescriptionField TypeField Name
Indicates whether this value lets users email a quote PDF (true), or not
(false). This field is only relevant for the Status field in quotes. This
field is available in API version 18.0 and later.
booleanallowEmail
Indicates whether this value is associated with a closed status (true),
or not (false). This field is only relevant for the standard Status
booleanclosed
field in cases and tasks. This field is available in API version 16.0 and up
to version 36.0. In version 37.0, this field is in GlobalPicklistValue.
1105
GlobalPicklistValueMetadata Types
DescriptionField TypeField Name
A list of values in the controlling field that are linked to this picklist value.
The controlling field can be a checkbox or a picklist. This field is available
string[]controllingFieldValues
in API version 14.0 and later. The values in the list depend on the field
type:
Checkbox: checked or unchecked.
Picklist: The fullname of the picklist value in the controlling
field.
Indicates whether this value is associated with a converted status (true),
or not (false). This field is relevant for only the standard Lead
booleanconverted
Status field in leads. Your organization can set its own guidelines for
determining when a lead is qualified, but typically, you want to convert
a lead as soon as it becomes a real opportunity that you want to forecast.
For more information, see Convert Qualified Leads in the Salesforce
online help. This field is available in API version 16.0 and later.
Indicates whether this value is available in your Self-Service Portal (true),
or not (false). This field is only relevant for the standard Case
Reason field in cases.
Self-Service provides an online support channel for your customers -
allowing them to resolve their inquiries without contacting a customer
booleancssExposed
service representative. For more information about Self-Service, see
Setting Up Your Self-Service Portal in the Salesforce online help.
Note: Starting with Spring 12, the Self-Service portal isnt
available for new Salesforce orgs. Existing orgs continue to have
access to the Self-Service portal.
This field is available in API version 16.0 and later.
Indicates whether this value is associated with a forecast category
(true), or not (false). This field is only relevant for the standard
Stage field in opportunities.
ForecastCategories
(enumeration of
type string)
forecastCategory
Omitted
Pipeline
BestCase
Forecast
Closed
This field is available in API version 16.0 and later.
Indicates whether this value is a high priority item (true), or not
(false). This field is only relevant for the standard Priority field
booleanhighPriority
in tasks. For more information about tasks, see Start Using Tasks in the
Salesforce online help. This field is available in API version 16.0 and later.
1106
GlobalPicklistValueMetadata Types
DescriptionField TypeField Name
Indicates whether this value is a probability percentage (true), or not
(false). This field is only relevant for the standard Stage field in
opportunities. This field is available in API version 16.0 and later.
intprobability
A picklist value corresponding to a reverse role name for a partner. If the
role is subcontractor, then the reverse role might be general
stringreverseRole
contractor. Assigning a partner role to an account in Salesforce creates
a reverse partner relationship so that both accounts list the other as a
partner. This field is only relevant for partner roles.
For more information, see Partner Fields in the Salesforce online help.
This field is available in API version 18.0 and later.
Indicates whether this value is associated with a reviewed status (true),
or not (false). This field is only relevant for the standard Status
booleanreviewed
field in solutions. For more information about opportunities, see Creating
Solutions in the Salesforce online help. This field is available in API
version 16.0 and later.
Indicates whether this value is associated with a closed or won status
(true), or not (false). This field is only relevant for the standard
booleanwon
Stage field in opportunities. This field is available in API version 16.0
and later.
Declarative Metadata Sample Definition
For an example of GlobalPicklistValue components with a package.xml that references them, see GlobalPicklist.
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
GlobalValueSet
Represents the metadata for a global picklist value set, which is the set of shared values that custom picklist fields can use. A global value
set isnt a field itself. In contrast, the custom picklist fields that are based on a global picklist are of type ValueSet. This type extends the
Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
GlobalValueSet components have the suffix .globalValueSet and are stored in the globalValueSets folder.
1107
GlobalValueSetMetadata Types
Version
GlobalValueSet components are available in API version 38.0 and later. In API version 37.0, this component is the GlobalPicklist type.
Fields
DescriptionField TypeField Name
Requires at least one value. The list of values, or global value set, thats defined
for a global picklist. The global value set is inherited by any custom picklist field
CustomValue[]customValue
that uses that value set. Each value is of type customValue. A global value set
can have up to 1,000 total values, including inactive values.
Its useful to state the global value sets purpose and which objects its intended
for. Limit: 255 characters.
stringdescription
Required. A global value sets name, which is defined when the global value
set is created. Appears as Label in the user interface.
stringmasterLabel
Required. Indicates whether a global value set is sorted in alphabetical order.
By default this value is false.
booleansorted
Declarative Metadata Sample Definition
This UpsellGlobal.globalValueSet is an example of a GlobalValueSet component.
<?xml version="1.0" encoding="UTF-8"?>
<GlobalValueSet xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Updated:This is a basic global value set.</description>
<masterLabel>UpsellGlobal</masterLabel>
<customValue>
<fullName>Maybe</fullName>
<default>false</default>
<label>Maybe</label>
</customValue>
<customValue>
<fullName>No</fullName>
<default>false</default>
<label>No</label>
</customValue>
<customValue>
<fullName>Yes</fullName>
<default>false</default>
<label>Yes</label>
</customValue>
<sorted>false</sorted>
</GlobalValueSet>
This example package.xml references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
1108
GlobalValueSetMetadata Types
<types>
<members>UpsellGlobal</members>
<name>GlobalValueSet</name>
</types>
<version>40.0</version>
</Package>
Any global value set created in API version 57.0 or later automatically has the __gvs suffix appended to the developer name. When
you make any CRUD-based call with the GlobalValueSet type, you must append the suffix to the fullName field when you reference the
type.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
GlobalValueSetTranslation
Contains details for a global value set translation. Global value sets are lists of values that can be shared by multiple custom picklist fields,
optionally across objects. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
GlobalValueSetTranslation components have the suffix .globalValueSetTranslation and are stored in the
globalValueSetTranslations folder.
Translations are stored in a file with a format of ValueSetName-lang.globalValueSetTranslation, where
ValueSetName is the global value sets name, and lang is the translation language.
Version
GlobalValueSetTranslation components are available in API version 38.0 and later.
Fields
DescriptionField TypeField
The translated name of a value in a translated global value set.
Each valueTranslation is paired with a masterLabel,
which is the original (untranslated) name of the value.
ValueTranslation[]valueTranslation
ValueTranslation
The original value name and the translated value name in a translated global value set.
1109
GlobalValueSetTranslationMetadata Types
DescriptionField TypeField
Required. The original (untranslated) name of a value in a global
value set. Each valueTranslation has a masterLabel
paired with its translation.
stringmasterLabel
The translated name of a value in a translated global value set.stringtranslation
Declarative Metadata Sample Definition
This example shows a GlobalValueSetTranslation component. When a value isnt translated, its translation becomes a comment thats
paired with its masterLabel.
<?xml version="1.0" encoding="UTF-8"?>
<GlobalValueSetTranslation xmlns="http://soap.sforce.com/2006/04/metadata">
<valueTranslation>
<masterLabel>Three</masterLabel>
<translation>Trois</translation>
</valueTranslation>
<valueTranslation>
<masterLabel>Four</masterLabel>
<translation>Quatre</translation>
</valueTranslation>
<valueTranslation>
<masterLabel>Five</masterLabel>
<translation><!-- Five --></translation>
</valueTranslation>
</GlobalValueSetTranslation>
This example is a package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Numbers-fr</members>
<name>GlobalValueSetTranslation</name>
</types>
<version>38.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Translations
1110
GlobalValueSetTranslationMetadata Types
Group
Represents a set of public groups, which can have users, roles, and other groups.
Declarative Metadata File Suffix and Directory Location
The file suffix for group components is .group and components are stored in the groups directory of the corresponding package
directory.
Version
Group components are available in API version 24.0 and later.
Special Access Rules
As of Spring 20 and later, only authenticated internal and external users can access this type.
Fields
Note: Members of the public group are not migrated when you deploy the group type.
This metadata type represents the valid values that define a group:
DescriptionField TypeField Name
Indicates whether records shared with users in this group are also shared
with users higher in the role hierarchy (true) or not (false). This field
booleandoesIncludeBosses
is only available for public groups. This field corresponds to the Grant
Access Using Hierarchies checkbox in Setup.
The unique identifier for API access. The fullName can contain only
underscores and alphanumeric characters. It must be unique, begin with
stringfullName
a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. This field is inherited from the Metadata
component. Corresponds to Group Name in the user interface.
Required. The name of the group. Corresponds to Label in the user
interface.
stringname
Declarative Metadata Sample Definition
The following is the definition of a group.
<?xml version="1.0" encoding="UTF-8"?>
<Group xmlns="http://soap.sforce.com/2006/04/metadata">
<doesIncludeBosses>true</doesIncludeBosses>
<fullName>admin</fullName>
1111
GroupMetadata Types
<name>test</name>
</Group>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
HomePageComponent
Represents the metadata associated with a home page component. You can customize the Home tab in Salesforce Classic to include
components such as sidebar links, a company logo, a dashboard snapshot, or custom components that you create. Use to create, update,
or delete home page component definitions.
For more information, see Salesforce Classic Home Tab Page Layouts in the Salesforce Help.
This type extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
The file suffix for home page components is .homePageComponent and components are stored in the homepagecomponents
directory of the corresponding package directory.
Version
Home page components are available in API version 12.0 and later.
HomePageComponent
This metadata type represents the valid values that define a home page component:
DescriptionField TypeField Name
The text body inside the HTML page component.stringbody
The name can only contain characters, letters, and the underscore (_)
character. The name must start with a letter, and cant end with an
underscore or contain two consecutive underscore characters.
Inherited from the Metadata component, this field isnt defined in the
WSDL for this component. It must be specified when creating, updating,
or deleting. See create() to see an example of this field specified for a call.
stringfullName
Required for Visualforce Area components. Indicates the height (in pixels)
of the component.
This field is available in API version 31.0 and later.
intheight
1112
HomePageComponentMetadata Types
DescriptionField TypeField Name
If the pageComponentType is links, then zero or more names
of custom page links can be specified.
string[]links
ObjectWebLink
CustomPageWebLink
This field is only available for Visualforce Area components and indicates
the API name of the Visualforce page that is associated with the
component.
This field is available in API version 31.0 and later.
stringpage
Required. Valid values are:PageComponentType
(enumeration of type
string)
pageComponentType
links
htmlArea
imageOrNote
visualforcePage (This value is available in API version 31.0
and later.)
This field is only available for Visualforce Area components and specifies
whether the component displays with a label (true) or not (false).
This field is available in API version 31.0 and later.
booleanshowLabel
This field is only available for Visualforce Area components and specifies
whether the component displays with scrollbars (true) or not (false).
This field is available in API version 31.0 and later.
booleanshowScrollbars
This field is only available for HTML and Visualforce Area components,
and indicates whether its a narrow or wide home page component. Valid
values are:
PageComponentWidth
(enumeration of type
string)
width
narrowComponents
wideComponents
Declarative Metadata Sample Definition
The following is the definition of a home page component. See Declarative Metadata Sample Definition and Declarative Metadata Sample
Definition for related samples.
<?xml version="1.0" encoding="UTF-8"?>
<HomePageComponent xmlns="http://soap.sforce.com/2006/04/metadata">
<height>200</height>
<page>MyVisualforcePage</page>
<pageComponentType>visualforcePage</pageComponentType>
<showLabel>true</showLabel>
<showScrollbars>true</showScrollbars>
1113
HomePageComponentMetadata Types
<width>wideComponents</width>
</HomePageComponent>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
HomePageLayout
WebLink
HomePageLayout
Represents the metadata associated with a home page layout. You can customize home page layouts and assign the layouts to users
based on their user profile.
File Suffix and Directory Location
Home page layouts are stored in the homePageLayouts directory of the corresponding package directory. The extension is
.homePageLayout.
Version
Home page components are available in API version 12.0 and later. This type extends the Metadata metadata type and inherits its
fullName field.
Fields
This metadata type represents the valid values that define a home page layout:
DescriptionField TypeField Name
The name can only contain characters, letters, and the underscore (_)
character. The name must start with a letter, and cant end with an
underscore or contain two consecutive underscore characters.
Inherited from the Metadata component, this field isnt defined in the
WSDL for this component. It must be specified when creating, updating,
or deleting. See create() to see an example of this field specified for a call.
stringfullName
The list of elements in the narrow column on the left side of the home
page.
string[]narrowComponents
The list of elements in the wide column on the right side of the home
page.
string[]wideComponents
1114
HomePageLayoutMetadata Types
Declarative Metadata Sample Definition
The following is the definition of a home page layout. See Declarative Metadata Sample Definition on page 1113 and Declarative Metadata
Sample Definition on page 643 for related samples.
<?xml version="1.0" encoding="UTF-8"?>
<HomePageLayout xmlns="http://soap.sforce.com/2006/04/metadata">
<narrowComponents>google</narrowComponents>
</HomePageLayout>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
HomePageComponent
WebLink
IdentityVerificationProcDef
Represents the definition of the identity verification process.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
IdentityVerificationProcDef components have the suffix .IdentityVerificationProcDef and are stored in the
IdentityVerificationProcDefs folder.
Version
IdentityVerificationProcDef components are available in API version 54.0 and later.
Special Access Rules
The Health Cloud permission set license is required to use this metadata type.
1115
IdentityVerificationProcDefMetadata Types
Fields
DescriptionField Name
Field Type
IdentityVerificationProcDtl[]
identityVerificationProcDtls
Description
A list of Identity Verification Process Detail elements.
Field Type
string
masterLabel
Description
Required.
The label of the Identity Verification Process Definition record.
Field Type
IdentityVerificationSearchLayoutType (enumeration of type string)
searchLayoutType
Description
Required.
The display layout of the search component.
Valid values are:
Stack
Tab
IdentityVerificationProcDtl
Represents the verification-related details such as search criteria, verification criteria, or the custom apex class.
DescriptionField Name
Field Type
string
apexClass
Description
The Apex class that is used to search and verify data in an external system.
Field Type
IdentityVerificationDataSourceType (enumeration of type string)
dataSourceType
Description
Required.
The source type of the data.
Valid values are:
1116
IdentityVerificationProcDefMetadata Types
DescriptionField Name
External
Salesforce
Field Type
string
developerName
Description
Required.
The developer name of Identity verification process detail. Can contain only underscores
and alphanumeric characters and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Field Type
string
displayRecordFieldName
Description
The name of the field that contains information about the record that's shown to the
user after identity verification is successful. Available in API version 58.0 and later.
Field Type
IdentityVerificationProcFld[]
identityVerificationProcFlds
Description
A list of Identity Verification Process Field elements.
Field Type
boolean
isActive
Description
Indicates whether the record is active (true) or not (false).
Field Type
boolean
isRetryAllowedAfterLimit
Description
For internal use only.
Field Type
string
linkedIdVerfProcessDet
Description
The record containing the details of the linked identity verification process. Available
in API version 58.0 and later.
Field Type
string
masterLabel
1117
IdentityVerificationProcDefMetadata Types
DescriptionField Name
Description
Required.
The label of the Identity Verification Process Detail record.
Field Type
string
objectName
Description
The name of the object on which the search is performed and data is verified.
Field Type
int
optionalVerifiersMinVerfCount
Description
The number of optional verifiers that must be checked.
Field Type
int
retryLimit
Description
For internal use only.
Field Type
string
searchFilter
Description
A comma-separated list of predefined filter conditions that are used to refine the scope
of the search.
Field Type
string
searchRecordUniqueIdField
Description
The field storing the unique identifier of a record displayed in the search results.
Field Type
string
searchResultSortBy
Description
The values that are used to sort the search results.
Field Type
int
searchSequenceNumber
Description
Required.
The sequence in which the search is performed and the search result is displayed.
1118
IdentityVerificationProcDefMetadata Types
DescriptionField Name
Field Type
IdentityVerificationSearchType (enumeration of type string)
searchType
Description
Required.
The type of search being performed.
Valid values are:
Object-Based
Text-Based
IdentityVerificationProcFld
Represents a set of fields necessary to configure the questions that CCA asks the caller before providing them with the information they
need.
DescriptionField Name
Field Type
string
customFieldLabel
Description
The custom label for the field that contains the verification data.
Field Type
IdentityVerificationProcFldDataSourceType (enumeration of type string)
dataSourceType
Description
Required.
The source type of the data.
Valid values are:
External
Salesforce
Field Type
string
developerName
Description
Required.
The developer name of Identity Verification Process Field. Can contain only underscores
and alphanumeric characters and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Available in API version 58.0 and later.
1119
IdentityVerificationProcDefMetadata Types
DescriptionField Name
Field Type
IdentityVerificationProcFldFieldDataType (enumeration of type string)
fieldDataType
Description
The data type of the field in the external data source that's defined in the identity
verification process detail. Available in API version 58.0 and later.
Valid values are:
address
checkbox
currency
dateonly
datetime
email
number
other
percent
phone
picklist
reference
text
timeonly
url
Field Type
string
fieldName
Description
Required.
The label of the field that contains the verification data based on the selected field
type. Available in API version 58.0 and later.
Field Type
IdentityVerificationProcFldFieldType (enumeration of type string)
fieldType
Description
Required.
Indicates the type of field.
Valid values are:
additionalResultField
optionalVerifier
requiredVerifier
1120
IdentityVerificationProcDefMetadata Types
DescriptionField Name
resultField
searchField
searchFilter
Field Type
string
fieldValueFormula
Description
Stores the formula that is applied to the field value.
Field Type
boolean
isActive
Description
Indicates whether the record is active (true) or not (false).
Field Type
boolean
isManualInput
Description
Indicates whether the user can manually enter the identity verification details (true)
or not (false).
The default value of this field is false.
Available in API version 58.0 and later.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for Identity Verification Process Field.
Field Type
int
sequenceNumber
Description
Required.
The sequence number of the field.
Declarative Metadata Sample Definition
This is an example of an IdentityVerificationProcDef component.
<?xml version="1.0" encoding="UTF-8"?>
<IdentityVerificationProcDef xmlns="http://soap.sforce.com/2006/04/metadata">
<identityVerificationProcDtls>
1121
IdentityVerificationProcDefMetadata Types
<fullName>Sample93AccountSearch</fullName>
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93AccountSearch</developerName>
<identityVerificationProcFlds>
<fullName>Sample93AccountName</fullName>
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93AccountName</developerName>
<fieldName>Name</fieldName>
<fieldType>requiredVerifier</fieldType>
<isActive>false</isActive>
<masterLabel>Sample93 Account Name</masterLabel>
<fieldValueFormula>abcd</fieldValueFormula>
<customFieldLabel>Name</customFieldLabel>
<sequenceNumber>1</sequenceNumber>
<isManualInput>false</isManualInput>
</identityVerificationProcFlds>
<identityVerificationProcFlds>
<fullName>Sample93Phone</fullName>
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93Phone</developerName>
<fieldName>phone</fieldName>
<fieldType>optionalVerifier</fieldType>
<isActive>false</isActive>
<masterLabel>Sample93 Phone</masterLabel>
<sequenceNumber>93</sequenceNumber>
<isManualInput>false</isManualInput>
</identityVerificationProcFlds>
<identityVerificationProcFlds>
<fullName>Sample93PostalCode</fullName>
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93PostalCode</developerName>
<fieldName>BillingPostalCode</fieldName>
<fieldType>optionalVerifier</fieldType>
<isActive>true</isActive>
<masterLabel>Sample93 Postal Code</masterLabel>
<sequenceNumber>4</sequenceNumber>
<isManualInput>false</isManualInput>
</identityVerificationProcFlds>
<identityVerificationProcFlds>
<fullName>Sample93Account</fullName>
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93Account</developerName>
<fieldName>Name</fieldName>
<fieldType>resultField</fieldType>
<isActive>false</isActive>
<masterLabel>Sample93 Account</masterLabel>
<sequenceNumber>1</sequenceNumber>
<isManualInput>false</isManualInput>
</identityVerificationProcFlds>
<isActive>true</isActive>
<masterLabel>Sample93 Account Search</masterLabel>
<objectName>Account</objectName>
<searchRecordUniqueIdField>Id</searchRecordUniqueIdField>
<searchSequenceNumber>1</searchSequenceNumber>
1122
IdentityVerificationProcDefMetadata Types
<searchType>Text-Based</searchType>
<searchResultSortBy>Name</searchResultSortBy>
<optionalVerifiersMinVerfCount>1</optionalVerifiersMinVerfCount>
<isRetryAllowedAfterLimit>false</isRetryAllowedAfterLimit>
<retryLimit>5</retryLimit>
<searchFilter></searchFilter>
<displayRecordFieldName>LastModifiedById</displayRecordFieldName>
</identityVerificationProcDtls>
<masterLabel>Sample93 Verification Flow</masterLabel>
<searchLayoutType>Tab</searchLayoutType>
</IdentityVerificationProcDef>
This is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>IdentityVerificationProcDef</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IdentityVerificationProcDtl
Represents the search functionality configuration and the minimum number of optional verifiers for identity verification. This type extends
the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
IdentityVerificationProcDtl components have the suffix .IdentityVerificationProcDtl and are stored in the
IdentityVerificationProcDtls folder.
Version
IdentityVerificationProcDtl components are available in API version 54.0 and later.
Special Access Rules
The Health Cloud permission set license is required to use this metadata type.
1123
IdentityVerificationProcDtlMetadata Types
Fields
DescriptionField Name
Field Type
string
apexClass
Description
Reserved for future use.
Field Type
IdentityVerificationDataSourceType (enumeration of type string)
dataSourceType
Description
Required.
The source type of the data.
Valid values are:
ExternalReserved for future use.
Salesforce
Field Type
IdentityVerificationProcFld[]
identityVerificationProcFlds
Description
A list of Identity Verification Process Field elements.
Field Type
boolean
isActive
Description
Indicates whether the record is active (true) or not (false).
The default value is false.
Field Type
string
masterLabel
Description
Required.
The label of the Identity Verification Process Detail record.
Field Type
string
objectName
Description
The name of the object on which the search is performed and data is verified.
Field Type
int
optionalVerifiersMinVerfCount
1124
IdentityVerificationProcDtlMetadata Types
DescriptionField Name
Description
The minimum number of optional verifiers that must be checked.
Field Type
string
searchFilter
Description
Conditions on which to filter the search results.
For example, if you want to perform the search only on Person Account records, enter
isPersonAccount = true.
Field Type
string
searchRecordUniqueIdField
Description
The field that stores the unique identifier of the records that are displayed in the search
results.
Field Type
string
searchResultSortBy
Description
The values that are used to sort the search results.
For example, if you want to sort the results by policy date, enter PolicyDate__c
Desc.
Field Type
int
searchSequenceNumber
Description
Required.
Enter 1 as the search sequence number.
Note: In API version 54.0 and later, this field is reserved for future use, and the
value you enter doesn't affect sequencing.
Field Type
IdentityVerificationSearchType (enumeration of type string)
searchType
Description
Required.
The type of search being performed.
Valid values are:
Object-BasedReserved for future use.
Text-Based
1125
IdentityVerificationProcDtlMetadata Types
IdentityVerificationProcFld
Represents a set of fields necessary to configure the questions that CCA asks the caller before providing them with the information they
need.
DescriptionField Name
Field Type
string
customFieldLabel
Description
The custom label for the field that contains the verification data.
Field Type
IdentityVerificationProcFldDataSourceType (enumeration of type string)
dataSourceType
Description
Required.
The source type of the data.
Valid values are:
External
Salesforce
Field Type
string
developerName
Description
Required.
The developer name of Identity Verification Process Field. Can contain only underscores
and alphanumeric characters and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Available in API version 58.0 and later.
Field Type
IdentityVerificationProcFldFieldDataType (enumeration of type string)
fieldDataType
Description
The data type of the field in the external data source that's defined in the identity
verification process detail. Available in API version 58.0 and later.
Valid values are:
address
checkbox
currency
dateonly
datetime
email
1126
IdentityVerificationProcDtlMetadata Types
DescriptionField Name
number
other
percent
phone
picklist
reference
text
timeonly
url
Field Type
string
fieldName
Description
Required.
The label of the field that contains the verification data based on the selected field
type. Available in API version 58.0 and later.
Field Type
IdentityVerificationProcFldFieldType (enumeration of type string)
fieldType
Description
Required.
Indicates the type of field.
Valid values are:
additionalResultField
optionalVerifier
requiredVerifier
resultField
searchField
searchFilter
Field Type
string
fieldValueFormula
Description
Stores the formula that is applied to the field value.
Field Type
boolean
isActive
Description
Indicates whether the record is active (true) or not (false).
1127
IdentityVerificationProcDtlMetadata Types
DescriptionField Name
Field Type
boolean
isManualInput
Description
Indicates whether the user can manually enter the identity verification details (true)
or not (false).
The default value of this field is false.
Available in API version 58.0 and later.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for Identity Verification Process Field.
Field Type
int
sequenceNumber
Description
Required.
The sequence number of the field.
Declarative Metadata Sample Definition
The following is an example of an identityVerificationProcDtl component.
<?xml version="1.0" encoding="UTF-8"?>
<IdentityVerificationProcDtl xmlns="http://soap.sforce.com/2006/04/metadata">
<dataSourceType>Salesforce</dataSourceType>
<isActive>true</isActive> <developerName>Sample93AccountSearch</developerName>
<identityVerificationProcFlds>
<fullName>Sample93AccountName</fullName>
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93AccountName</developerName>
<fieldName>Name</fieldName>
<fieldType>requiredVerifier</fieldType>
<isActive>false</isActive>
<masterLabel>Sample93 Account Name</masterLabel>
<fieldValueFormula>abcd</fieldValueFormula>
<customFieldLabel>Name</customFieldLabel>
<sequenceNumber>1</sequenceNumber>
<isManualInput>false</isManualInput>
</identityVerificationProcFlds>
<identityVerificationProcFlds>
<fullName>Sample93Phone</fullName>
1128
IdentityVerificationProcDtlMetadata Types
<dataSourceType>Salesforce</dataSourceType>
<developerName>Sample93Phone</developerName>
<fieldName>phone</fieldName>
<fieldType>optionalVerifier</fieldType>
<isActive>false</isActive>
<masterLabel>Sample93 Phone</masterLabel>
<sequenceNumber>93</sequenceNumber>
<isManualInput>false</isManualInput>
</identityVerificationProcFlds>
<masterLabel>detail1</masterLabel>
<fullName>detail1</fullName>
<objectName>Account</objectName>
<optionalVerifiersMinVerfCount>11</optionalVerifiersMinVerfCount>
<searchFilter>asd</searchFilter>
<searchRecordUniqueIdField>Id</searchRecordUniqueIdField>
<searchResultSortBy>asd</searchResultSortBy>
<searchSequenceNumber>1</searchSequenceNumber>
<searchType>Text-Based</searchType>
</IdentityVerificationProcDtl>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>IdentityVerificationProcDtl</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IdentityVerificationProcFld
Represents the search and verification fields used in identity verification. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
IdentityVerificationProcFld components have the suffix .IdentityVerificationProcFld and are stored in the
IdentityVerificationProcFlds folder.
1129
IdentityVerificationProcFldMetadata Types
Version
IdentityVerificationProcFld components are available in API version 54.0 and later.
Special Access Rules
The Health Cloud permission set license is required to use this metadata type.
Fields
DescriptionField Name
Field Type
string
customFieldLabel
Description
The custom label for the field that contains the verification data.
Note: Translation of custom field labels isn't supported in API version 54.0.
Field Type
IdentityVerificationProcFldDataSourceType (enumeration of type string)
dataSourceType
Description
Required.
The source type of the data.
Valid values are:
External
Note: An external data source isnt supported in API version 54.0.
Salesforce
Type
picklist
fieldDataType
Properties
Filter, Group, Nillable, Restricted picklist, Sort
Description
The type of data stored in an external data source field.
Possible values are:
address
checkbox
currency
dateonly
datetime
1130
IdentityVerificationProcFldMetadata Types
DescriptionField Name
email
number
other
percent
phone
picklist
reference
text
timeonly
url
Field Type
string
fieldName
Description
Required.
The label of the field that contains the verification data based on the selected field
type.
Field Type
IdentityVerificationProcFldFieldType (enumeration of type string)
fieldType
Description
Required.
Indicates the type of field.
Possible values are:
additionalResultFieldFetches data as part of the search query, but
the data isnt displayed in search results. Use this value if, for example, you want
to fetch the policy number and the age of the policy owner as a result of the search,
but the agent isnt supposed to see this data. You can write custom logic to process
this additional data.
optionalVerifierOptional verifier.
requiredVerifierRequired verifier.
resultFieldDisplays field type in search results. Use this value if, for
example, when an agent searches for a caller, youd like the search results to include
the account name, phone number, and email ID.
searchFieldReserved for future use.
searchFilterA comma-separated list of predefined filter conditions that
are used to refine the scope of the search.
Field Type
string
fieldValueFormula
1131
IdentityVerificationProcFldMetadata Types
DescriptionField Name
Description
Reserved for future use.
Field Type
boolean
isActive
Description
Indicates whether the record is active (true) or not (false).
The default value is false.
Field Type
boolean
isManualInput
Description
Indicates whether the user can manually enter the identity verification details (true)
or not (false).
The default value is false.
This field is available in API version 58.0 and later.
Field Type
string
masterLabel
Description
Required.
The label of the Identity Verification Process Field record.
Field Type
int
sequenceNumber
Description
Required.
The sequence number of the field.
Declarative Metadata Sample Definition
The following is an example of an IdentityVerificationProcFld component.
<?xml version="1.0" encoding="UTF-8"?>
<IdentityVerificationProcFld xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<customFieldLabel>field1</customFieldLabel>
<dataSourceType>External</dataSourceType>
<fieldName>sasa</fieldName>
<fieldType>requiredVerifier</fieldType>
1132
IdentityVerificationProcFldMetadata Types
<fullName>field1</fullName>
<isActive>false</isActive>
<masterLabel>field1</masterLabel>
<sequenceNumber>1</sequenceNumber>
</IdentityVerificationProcFld>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>IdentityVerificationProcFld</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
InboundCertificate
Represents a mutual authentication certificate that is imported to your Salesforce org.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
InboundCertificate components have the suffix .inboundCertificate and are stored in the inboundCertificates
folder.
Special Access Rules
InboundCertificate is available when the MutualAuthentication permission is enabled in your org.
Version
InboundCertificate components are available in API version 49.0 and later.
Fields
This metadata type contains the following fields:
1133
InboundCertificateMetadata Types
DescriptionField TypeField Name
Required. The date on which the certificate expires.dateexpirationDate
Required. The certificates issuer.stringissuer
Required. A friendly name that you create for the certificate. Limited to
64 characters.
stringmasterLabel
Required. The serial number for the certificate.stringserialId
Declarative Metadata Sample Definition
The following is an example of an InboundCertificate component.
<InboundCertificate xmlns="http://soap.sforce.com/2006/04/metadata">
<expirationDate>2021-02-04</expirationDate>
<issuer>C=USA,ST=CA,L=San
Francisco,O=Salesforce.com,OU=00Dxx0000006Jm7,CN=newTestCert</issuer>
<masterLabel>TestMutualAuthCert2</masterLabel>
<serialId>29161320252531323757470546071624</serialId>
</InboundCertificate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>InboundCertificate</name>
</types>
<version>49.0</version>
</Package>
Usage
To prevent simple impersonation from compromising security, you can require clients and servers to prove their identity to each other
with a mutual authentication certificate.
InboundNetworkConnection
Represents a private connection between a third-party data service and a Salesforce org. The connection is inbound because the callouts
are coming into Salesforce.This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
InboundNetworkConnection components have the suffix .inboundNetworkConnection and are stored in the
inboundNetworkConnections folder.
1134
InboundNetworkConnectionMetadata Types
Version
InboundNetworkConnection components are available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
Required. Specifies the cloud provider of the connection. The only valid
value is AwsPrivateLink.
ExternalConnectionType
(enumeration of
type string)
connectionType
Required. A description of the connection. Maximum of 255 characters.stringdescription
Name-value pairs that describe the properties of the inbound network
connection. Specify a name-value pair for each of the properties.
InboundNetworkConnPropertyinboundNetworkConnProperties
Required. Specifies whether the connection is active (true) or
not(false). The default value is false.
booleanisActive
Required. A user-friendly label for the connection.stringlabel
Required. Connection status. The connection is initially Unprovisioned
and moves through the other states automatically after an admin
performs a Provision, Sync, or Teardown action. The valid values are:
ExternalConnectionStatus
(enumeration of
type string)
status
Unprovisioned
Allocating
PendingAcceptance
PendingActivation
RejectedRemotely
DeletedRemotely
TeardownInProgress
Ready
InboundNetworkConnProperty
Represents a name-value pair that describes the properties of the inbound network connection.
DescriptionField TypeField Name
Required. The name of a property used to establish an
InboundNetworkConnection. Valid values are:
InboundConnPropertyName
(enumeration of type
string)
propertyName
AwsVpcEndpointIdThe unique endpoint ID for connections to an
AWS Virtual Private Cloud (VPC). The value is read-only when the status
is Ready.
RegionThe region in which the VPC is hosted.
1135
InboundNetworkConnectionMetadata Types
DescriptionField TypeField Name
SourceIpRangesThe ranges of source IP address allocated to this
inbound connection by the Salesforce-managed VPC in your cloud provider.
Required. The value of InboundConnPropertyName. An example of the
propertyValue of Region is us-west-2.
The propertyValue of SourceIpRanges is a JSON string that lists
the start and end IP address for each range. This example shows two IP address
ranges.
[
{
stringpropertyValue
"startIp":"10.10.10.0",
"endIp":"10.10.10.3"
},
{
"startIp":"100.100.100.0",
"endIp":"100.100.100.15"
}
]
Declarative Metadata Sample Definition
The following sample definition has the suffix .inboundNetworkConnection.
<?xml version="1.0" encoding="UTF-8"?>
<InboundNetworkConnection xmlns="http://soap.sforce.com/2006/04/metadata">
<connectionType>AwsPrivateLink</connectionType>
<description>This is an Inbound Connection to make API calls into
Salesforce</description>
<inboundNetworkConnProperties>
<propertyName>Region</propertyName>
<propertyValue>us-west-2</propertyValue>
</inboundNetworkConnProperties>
<inboundNetworkConnProperties>
<propertyName>AwsVpcEndpointId</propertyName>
<propertyValue>vpce-02ccb5fac2bacaceb</propertyValue>
</inboundNetworkConnProperties>
<inboundNetworkConnProperties>
<propertyName>SourceIpRanges</propertyName>
<propertyValue>[ { "startIp":"10.10.10.0", "endIp":"10.10.10.3" }, {
"startIp":"100.100.100.0", "endIp":"100.100.100.15" } ]</propertyValue>
</inboundNetworkConnProperties>
<isActive>true</isActive>
<label>MyInboundConnection</label>
<status>Unprovisioned</status>
</InboundNetworkConnection>
1136
InboundNetworkConnectionMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>sampleInboundConnection</fullName>
<types>
<members>MyInboundConnection</members>
<name>InboundNetworkConnection</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IndustriesPricingSettings
Represents the settings for Salesforce Pricing.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
IndustriesPricingSettings values are stored in the IndustriesPricing.settings file in the settings folder.
The .settings files are different from other named components, because theres only one settings file for each settings component.
Version
IndustriesPricingSettings components are available in API version 60.0 and later.
Special Access Rules
This metadata type is available with Salesforce Pricing.
Fields
DescriptionField Name
Field Type
boolean
enableHighAvailability
1137
IndustriesPricingSettingsMetadata Types
DescriptionField Name
Description
Reserved for internal use.
Field Type
boolean
enablePricingWaterfall
Description
Indicates whether to enable Price Waterfall (true) or not (false). The default value
is false. Price Waterfall provides insights that include price breakups and reasons
for every step of the pricing process.
Field Type
boolean
enablePricingWaterfallPersistence
Description
Indicates whether to enable Price Waterfall Persistence (true) or not (false). The
default value is false. Price Waterfall Persistence stores the process logs that provide
insights into the internal pricing processes.
Field Type
boolean
enableSalesforcePricing
Description
Indicates whether to enable Salesforce Pricing (true) or not (false). The default
value is false.
Declarative Metadata Sample Definition
This example shows a sample IndustriesPricingSettings component.
<IndustriesPricingSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableHighAvailability>true</enableHighAvailability>
<enablePricingWaterfall>true</enablePricingWaterfall>
<enablePricingWaterfallPersistence>true</enablePricingWaterfallPersistence>
<enableSalesforcePricing>true</enableSalesforcePricing>
</IndustriesPricingSettings>
This example shows a sample package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IndustriesPricing</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
1138
IndustriesPricingSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
InstalledPackage
Represents a first-generation managed package to be installed or uninstalled. Deploying a newer version of a currently installed package
upgrades the package. To install an unlocked or second-generation managed package, use the sf package install Salesforce
CLI command.
Note: You cant deploy a package along with other metadata types. When you deploy InstalledPackage, it must be the only
metadata type specified in the manifest file.
File Suffix and Directory Location
The package is specified in the installedPackages directory, in a file named after the packages namespace prefix. The file
extension is .installedPackage.
Version
InstalledPackage is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
Required. Determines the state of Remote Site Settings (RSS) and Content
Security Policy (CSP) at the time of installing the package and must be
set to either of these values.
true
Keep the isActive state of any RSS or CSP in the package.
booleanactivateRSS
false
Override the isActive state of any RSS or CSP in the package and set
it to false.
The default value is false. Available in API version 43.0 and later.
Specifies the package password.stringpassword
Determines user access for the installed package.
Valid values are:
stringsecurityType
AdminsOnly
AllUsers
The default value is AllUsers. Available in API version 57.0 and later.
1139
InstalledPackageMetadata Types
DescriptionField TypeField Name
Required. The version number of the package. The version number has
the format majorNumber.minorNumber.patchNumber (for
example, 2.1.3).
stringversionNumber
Declarative Metadata Sample Definition
The following example specifies a sample package to be installed or uninstalled.
<?xml version="1.0" encoding="UTF-8"?>
<InstalledPackage xmlns="http://soap.sforce.com/2006/04/metadata">
<versionNumber>1.0</versionNumber>
<password>optional_password</password>
<securityType>AdminsOnly</securityType>
<activateRSS>true</activateRSS>
</InstalledPackage>
The securityType field is optional. If its not specified, the default security type is AllUsers.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IntegrationProviderDef
Represents an integration definition associated with a service process. Stores data for the Industries: Send Apex Async Request and
Industries: Send External Async Request invocable actions.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
IntegrationProviderDef components have the suffix .integrationProviderDefinition and are stored in the
.integrationProviderDefinition folder.
Version
IntegrationProviderDef components are available in API version 57.0 and later.
Special Access Rules
Access to the IntegrationProviderDef type requires the AccessToServiceProcess permission.
1140
IntegrationProviderDefMetadata Types
Fields
DescriptionField Name
Field Type
boolean
active
Description
Specifies whether this Integration Definition is active. The default is false.
Field Type
string
apexClass
Description
The custom Apex class that the related Industries: Send Apex Async Request invocable
action invokes. Specify either apexClass or fileBasedApexClass but not both. Applies
only if the type is Apex.
Field Type
string
description
Description
A meaningful explanation of the Integration Definition.
Field Type
string
developerName
Description
Required.
A system name for the Integration Definition.
Field Type
string
externalServiceOperationName
Description
The external service operation that the related Industries: Send External Async Request
invocable action invokes. Applies only if the type is LowCode.
Field Type
string
externalServiceRegistration
Description
The external service that the related Industries: Send External Async Request invocable
action invokes. Applies only if the type is LowCode.
Field Type
string
fileBasedApexClass
1141
IntegrationProviderDefMetadata Types
DescriptionField Name
Description
The Salesforce-provided Apex class that the related Industries: Send Apex Async Request
invocable action invokes. Specify either apexClass or fileBasedApexClass but not both.
Applies only if the type is Apex.
Field Type
string
inputDataProcessor
Description
The optional Integration Procedure that processes the sent data. Applies only if the
type is LowCode.
Field Type
IntegrationProviderAttr[]
integrationProviderAttributes
Description
Custom attributes that store data associated with an Integration Definition.
Field Type
string
outputDataProcessor
Description
The optional Integration Procedure that processes the returned data. Applies only if
the type is LowCode.
Field Type
string
providerLabel
Description
Required.
A meaningful name for the Integration Definition.
Field Type
DefinitionType (enumeration of type string)
type
Description
Required.
What the Integration Definition calls, either an Apex class or an external service.
Values are:
Apex
LowCode
IntegrationProviderAttr
A custom attribute that stores data associated with an Integration Definition.
1142
IntegrationProviderDefMetadata Types
DescriptionField Name
Field Type
AttrDataType (enumeration of type string)
dataType
Description
Required.
The data type of the attribute.
Values are:
Date
DateTime
Double
Integer
Percentage
String
Boolean
Field Type
dateTime
dateTimeValue
Description
The value of the attribute if the dataType is DateTime.
Field Type
date
dateValue
Description
The value of the attribute if the dataType is Date.
Field Type
string
description
Description
A meaningful explanation of the attribute.
Field Type
string
developerName
Description
Required.
A system name for the attribute.
Field Type
double
doubleValue
Description
The value of the attribute if the dataType is Double.
1143
IntegrationProviderDefMetadata Types
DescriptionField Name
Field Type
int
integerValue
Description
The value of the attribute if the dataType is Integer.
Field Type
string
label
Description
Required.
A meaningful name for the attribute.
Field Type
double
percentageValue
Description
The value of the attribute if the dataType is Percentage.
Field Type
boolean
required
Description
Required.
Specifies whether the attribute is required.
Field Type
string
stringValue
Description
The value of the attribute if the dataType is String.
Field Type
boolean
trueOrFalseValue
Description
The value of the attribute if the dataType is Boolean.
Declarative Metadata Sample Definition
The following is an example of an IntegrationProviderDef component.
<?xml version="1.0" encoding="UTF-8"?>
<IntegrationProviderDef xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>EmailUpdate</developerName>
<providerLabel>EmailUpdate</providerLabel>
<type>Apex</type>
<apexClass>SendEmailUpdate</apexClass>
1144
IntegrationProviderDefMetadata Types
<integrationProviderAttributes>
<developerName>EmailAddress</developerName>
<label>EmailAddress</label>
<dataType>String</dataType>
<stringValue>[email protected]</stringValue>
<required>true</required>
</integrationProviderAttributes>
</IntegrationProviderDef>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>IntegrationProviderDef</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IPAddressRange
Represents a range of IP addresses to include in or exclude from the specified feature.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
IP Address Range components have the suffix .IPAddressRange and are stored in the IPAddressRanges folder.
Version
IPAddressRange components are available in API version 52.0 and later.
Special Access Rules
To access IpAddressRange, enable the HtmlEmail permission in your org.
1145
IPAddressRangeMetadata Types
Fields
DescriptionField Name
Field Type
string
Description
Description
Not required. The description of the IP address range. For example, the name of the
company that owns the IP address range.
Field Type
string
developerName
Description
Not required. Gives you a way to distinguish ipAddressRange entries among developers
in your org.
Field Type
string
endIpAddress
Description
The end of the IP address range. Must be an IPv4 or IPv6 Internet address and equal
to or greater than the startIpAddress.
Field Type
picklist
ipAddressFeature
Description
The feature that uses the range of IP addresses. Possible values are:
EmailIpFiltering (default) Filter email engagement activities such as
email opens and email clicks.
Field Type
picklist
ipAddressUsageScope
Description
Whether the specified IP addresses are included or excluded. Possible values are:
Exclusion
Inclusion
Field Type
boolean
isProtected
Description
Whether the specified IP address range is protected. The default is false.
Field Type
string
masterLabel
1146
IPAddressRangeMetadata Types
DescriptionField Name
Description
Master label for the IP address range. This internal label doesnt get translated.
Field Type
string
startIpAddress
Description
The start of the IP address range. Must be an IPv4 or IPv6 Internet address and equal
to or smaller than the endIpAddress.
Declarative Metadata Sample Definition
The following is an example of an ipAddressName component.
<?xml version="1.0" encoding="UTF-8"?>
<IPAddressRange xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Filter emails from google.com</description>
<endIpAddress>221.224.222.158</endIpAddress>
<ipAddressFeature>EmailIpFiltering</ipAddressFeature>
<ipAddressUsageScope>Exclusion</ipAddressUsageScope>
<masterLabel>MasterLabelValue</masterLabel>
<startIpAddress>221.224.0.158</startIpAddress>
<isProtected>false</isProtected>
</IPAddressRange>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>IPAddressRange</name>
</types>
<version>1.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
KeywordList
Represents a list of keywords used in Experience Cloud site moderation. This keyword list is a type of moderation criteria that defines
offensive language or inappropriate content that you dont want in your site.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1147
KeywordListMetadata Types
This type extends the Metadata metadata type and inherits its fullName field.
Keep the following things in mind when creating keyword list criteria:
Your org can have up to 30 keyword list criteria. This limit is per org, not per Experience Cloud site.
A keyword list can have up to 2,000 keywords.
Capitalization and trailing punctuation are ignored when matching your keywords to user-generated content. For example, if your
criteria includes BadWord, its matched when a user types BADWORD or badword.
File Suffix and Directory Location
KeywordList components have the suffix .keywords and are stored in the moderation directory of the corresponding package
directory. The file name format follows site_name.keyword_list_developer_name.keywords.
Version
KeywordList components are available in API version 36.0 and later.
Special Access Rules
To view, create, edit, and delete a keyword list, you need the Manage Experiences or Create and Set Up Experiences permission. As of
Spring 20 and later, only users with permission to edit moderation rules can access this object.
Fields
DescriptionField TypeField Name
A description of the keyword list.stringDescription
The keywords you want moderate in your Experience Cloud site.Keyword[]keywords
Required. Label for the keyword list.stringmasterLabel
Keyword
Keywords in the keyword list.
DescriptionField TypeField Name
Required. Keywords you want to moderate.stringkeyword
Keywords can only be up to 100 characters and can include letters,
numbers, spaces, and special characters.
Wildcard characters arent supported.
1148
KeywordListMetadata Types
Declarative Metadata Sample Definition
The following is an example of a KeywordList component.
<?xml version="1.0" encoding="UTF-8"?>
<KeywordList xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>Bad Word List</masterLabel>
<description>List of bad words updated by Joe in Nov 2015.</description>
<keywords>
<keyword>bad-word</keyword>
</keywords>
<keywords>
<keyword>b a d w o r d</keyword>
</keywords>
<keywords>
<keyword>b@dword</keyword>
</keywords>
</KeywordList>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>KeywordList</name>
<members>site1.badword_list</members>
</types>
<version>36.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Layout
Represents the metadata associated with a page layout. For more information, see Page Layouts in Salesforce Help.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
Note: To edit the Ideas layout, specify it by name in the package.xml file. In package.xml, use this code to retrieve the
Ideas layout.
<types>
<members>Idea-Idea Layout</members>
<name>Layout</name>
</types>
1149
LayoutMetadata Types
File Suffix and Directory Location
Layouts are stored in the layouts directory of the corresponding package directory. The extension is .layout.
Note: Retrieving a component of this metadata type in a project makes the component appear in any Profile and PermissionSet
components that are retrieved in the same package.
Version
Layouts are available in API version 13.0 and later.
Fields
This metadata type represents the valid values that define a page layout.
DescriptionField TypeField Name
The custom buttons for this layout. Each button is a
reference to a WebLink on the same object. For example,
string[]customButtons
a ButtonLink refers to a Weblink on the same standard or
custom object named ButtonLink.
Represents custom console components (Visualforce pages,
lookup fields, or related lists; Canvas apps not available) on
CustomConsoleComponentscustomConsoleComponents
a page layout. Custom console components only display
in the Salesforce console.
Only relevant if showEmailCheckbox is set; indicates the
default value of that checkbox.
booleanemailDefault
List of standard buttons to exclude from this layout. For
example,
string[]excludeButtons
<excludeButtons>Delete</excludeButtons>
excludes the Delete button from this layout.
Represents the values that define the feed view of a
feed-based page layout. Feed-based layouts are available
FeedLayoutfeedLayout
on Account, Case, Contact, Lead, Opportunity, custom, and
external objects. They include a feed view and a detail view.
Layout headers are currently only used for tagging, and
only appear in the UI if tagging is enabled. Valid string
values are:
LayoutHeader[]
(enumeration of type string)
headers
PersonalTaggingtag is private to user.
PublicTaggingtag is viewable any other user
who can access the record.
The main sections of the layout containing fields, s-controls,
and custom links. The order here determines the layout
order.
LayoutSection[]layoutSections
1150
LayoutMetadata Types
DescriptionField TypeField Name
A mini layout is used in the mini view of a record in the
Console tab, hover details, and event overlays.
MiniLayoutminiLayout
Fields for the special multiline layout fields that appear in
OpportunityProduct layouts. These fields are otherwise
similar to miniLayoutFields.
string[]multilineLayoutFields
The list of actions and their order that appear in the
Salesforce mobile app action bar for the layout.
This field is available in API version 34.0 and later.
PlatformActionListplatformActionList
The list of quick actions that display in the full Salesforce
site for the page layout. This field is available in API version
28.0 and later.
QuickActionListquickActionList
The Related Content section of the page layout. This field
is available in API version 29.0 and later.
RelatedContentrelatedContent
The related lists for the layout, listed in the order they
appear in the user interface.
RelatedListItem[]relatedLists
The list of related objects that appears in the mini view of
the console. In database terms, these objects are foreign
string[]relatedObjects
key fields on the object for the layout. For more information,
see Choose Related Objects for the Agent Consoles Mini
View in Salesforce Help.
Only relevant if
showRunAssignmentRulesCheckbox is set;
indicates the default value of that checkbox.
booleanrunAssignmentRulesDefault
Only allowed on Case, CaseClose, and Task layouts. If set, a
checkbox appears to show email.
booleanshowEmailCheckbox
If set, the highlights panel displays on pages in the
Salesforce console. This field is available in API version 22.0
and later.
booleanshowHighlightsPanel
If set, the interaction log displays on pages in the Salesforce
console. This field is available in API version 22.0 and later.
booleanshowInteractionLogPanel
Only allowed on Case layouts. If set, the Knowledge sidebar
displays on cases in the Salesforce console. This field is
available in API version 20.0 and later.
booleanshowKnowledgeComponent
Only allowed on Case, Lead, and Account objects. If set, a
checkbox appears on the page to show assignment rules.
booleanshowRunAssignmentRulesCheckbox
Only allowed on CaseClose layout. If set, the built-in solution
information section shows up on the page.
booleanshowSolutionSection
1151
LayoutMetadata Types
DescriptionField TypeField Name
Only allowed on Case layout. If set, the Submit & Add
Attachment button displays on case edit pages to portal
users in the Customer Portal.
booleanshowSubmitAndAttachButton
Controls the appearance of the highlights panel in
Salesforce Classic, which summarizes key fields in a grid at
SummaryLayoutsummaryLayout
the top of a page layout, when Case Feed is enabled. This
field is available in API version 18.0 and later.
CustomConsoleComponents
Represents custom console components (Visualforce pages, lookup fields, or related lists; Canvas apps not available) on a page layout.
Custom console components only appear in the Salesforce console. Available in API version 25.0 and later.
DescriptionField TypeField Name
Represents custom console components on primary tabs in the Salesforce
console. Available in API version 25.0 and later.
PrimaryTabComponentsprimaryTabComponents
Represents custom console components on subtabs in the Salesforce
console. Available in API version 25.0 and later.
SubtabComponentssubtabComponents
PrimaryTabComponents
Represents custom console components on primary tabs in the Salesforce console. Available in API version 25.0 and later.
DescriptionField TypeField Name
Represents a custom console component (Visualforce page, lookup field,
or related lists; Canvas apps not available) on a section of a page layout.
ConsoleComponent[]component
Custom console components only appear in the Salesforce console. This
field is available in API version 29.0 and earlier.
Represents a location and style to display more than one custom console
component on the sidebars of the Salesforce console. You can specify
Container[]containers
up to five components for each of the four locations (left, right, top, and
bottom). This field is available in API version 30.0 and later.
ConsoleComponent
Represents a custom console component (Visualforce page, lookup field, or related lists; Canvas apps not available) on a section of a
page layout. Custom console components only appear in the Salesforce console. Available in API version 25.0 and later.
1152
LayoutMetadata Types
DescriptionField TypeField Name
Required for components with a location of top or bottom. The height
of the custom console component. The value must be specified in pixels
and be greater than 0 but less than 999.
intheight
Required. The location of the custom console component on the page
layout. Valid values are right, left, top, and bottom. A component can
have one location for each page layout.
stringlocation
Required. The unique name of the custom console component. For
example, ConsoleComponentPage.
stringvisualforcePage
Required for components with a location of left or right. The width of the
custom console component. The value must be specified in pixels and
be greater than 0 but less than 999.
intwidth
Container
Represents a location and style to display more than one custom console component in the sidebars of the Salesforce console. For
example, you can show multiple components in the right sidebar of the console with a style of either stack, tabs, or accordion. Available
in API version 30.0 and later.
DescriptionField TypeField Name
Required for components with a location of top or bottom. The height
of the components container. The unit field determines the unit of
measurement, in pixels or percent.
intheight
Required. If set to true, stacked console components in the sidebars
autosize vertically. Set to true by default for newly created console
components. Available in API version 32.0 and later.
booleanisContainerAutoSizeEnabled
Required. The location of the components container. Valid values include:stringregion
right
left
top
bottom
Represents a specific custom console component to display in the
components container.
SidebarComponent[]sidebarComponents
Required. The style of the container to display multiple components.
Valid values include:
stringstyle
stacka content area with multiple frames.
tabsa single content area with a list of multiple panels.
accordiana collapsible content area.
1153
LayoutMetadata Types
DescriptionField TypeField Name
Required. The unit of measurement, in pixels or percent, for the height
or width of the components container.
Pixel values are simply the number of pixels, for example, 500, and must
be greater than 0 but less than 999. Percentage values must include the
stringunit
percent sign, for example, 20%, and must be greater than 0 but less than
100.
Required for components with a location of right or left. The width of the
components container. The unit field determines the unit of
measurement, in pixels or percent.
intwidth
SidebarComponent
Represents a specific custom console component to display in a container that hosts multiple components in one of the sidebars of the
Salesforce console. You can specify up to five components for each of the four container locations (left, right, top, and bottom). Available
in API version 30.0 and later.
DescriptionField TypeField Name
Specifies the component type. Valid values are KnowledgeOne,
Lookup, Milestones, RelatedList, Topics, Files, and
stringcomponentType
CaseExperts. This field is available in API version 31.0 and later. The
Files and CaseExperts values are available in API version 32.0
and later.
Case Experts is available through a pilot program.
If the component is a lookup field, the name of the quick action used to
create a record. This field is available in API version 42.0 and later.
stringcreateAction
If the component is a lookup field, lets users associate a record with this
field. This field is available in API version 42.0 and later.
booleanenableLinking
If false, the createAction and updateAction cant be retrieved.
Required for components with a location of top or bottom. The height
of the component in the container. The unit field determines the unit
of measurement, in pixels or percent.
intheight
The name of the component as it appears to console users. Available for
components in a container with the style of tabs or accordion.
stringlabel
If the component is a lookup field, the name of the field.stringlookup
If the component is a Visualforce page, the name of the Visualforce page.stringpage
If the component is a related list, the name of the list. This field is available
in API version 31.0 and later.
RelatedList[]relatedlists
1154
LayoutMetadata Types
DescriptionField TypeField Name
The unit of measurement, in pixels or percent, for the height or width of
the component in the container.
Pixel values are simply the number of pixels, for example, 500, and must
be greater than 0 but less than 999. Percentage values must include the
stringunit
percent sign, for example, 20%, and must be greater than 0 but less than
100.
If the component is a lookup field, the name of the quick action used to
update a record. This field is available in API version 42.0 and later.
stringupdateAction
Required for components with a location of right or left. The width of the
component in the container. The unit field determines the unit of
measurement, in pixels or percent.
intwidth
RelatedList
Represents related list custom components on the sidebars of the Salesforce console. Available in API version 31.0 and later.
DescriptionField TypeField Name
If set to true, the related list is hidden from detail pages where it
appears as a component to prevent duplicate information from showing.
booleanhideOnDetail
The name of the component as it appears to console users.stringname
SubtabComponents
Represents custom console components on subtabs in the Salesforce console. Available in API version 25.0 and later.
DescriptionField TypeField Name
Represents a custom console component (Visualforce page, lookup field,
or related lists; Canvas apps not available) on a section of a page layout.
ConsoleComponent[]component
Custom console components only appear in the Salesforce console. This
field is available in API version 29.0 and earlier.
Represents a location and style to display more than one custom console
component on the sidebars of the Salesforce console. You can specify
Container[]containers
up to five components for each of the four locations (left, right, top, and
bottom). This field is available in API version 30.0 and later.
FeedLayout
Represents the values that define the feed view of a feed-based page layout. Feed-based layouts are available on Account, Case, Contact,
Lead, Opportunity, custom, and external objects. They include a feed view and a detail view. Available in API version 30.0 and later.
1155
LayoutMetadata Types
DescriptionField TypeField Name
Specifies whether the publisher is automatically collapsed when the
page loads (true) or not (false).
booleanautocollapsePublisher
Specifies whether the feed-based page layout uses a compact feed
(true) or not (false). If set to true, feed items on the page are
collapsed by default, and the feed view has an updated design.
booleancompactFeed
Where the feed filters list is included in the layout. Valid values are:FeedLayoutFilterPosition
(enumeration of type
string)
feedFilterPosition
centerDropDownas a dropdown list in the center column.
leftFixedas a fixed list in the left column.
leftFloatas a floating list in the left column.
The individual filters displayed in the feed filters list.FeedLayoutFilter[]feedFilters
Specifies whether the feed expands horizontally to take up all available
space on the page (true) or not (false).
booleanfullWidthFeed
Specifies whether the sidebar is hidden (true) or not (false).booleanhideSidebar
The individual components displayed in the left column of the feed view.FeedLayoutComponent[]leftComponents
The individual components displayed in the right column of the feed
view.
FeedLayoutComponent[]rightComponents
FeedLayoutComponent
Represents a component in the feed view of a feed-based page layout. Available in API version 30.0 and later.
DescriptionField TypeField Name
Required. The type of component. Valid values are:FeedLayoutComponentType
(enumeration of type
string)
componentType
HelpAndToolLinksicons that link to the help topic for the
page, the page layout, and, the printable view of the page. Available
only on Case layouts.
CustomButtonsa custom button.
Followingan icon that toggles between a Follow button (if
the user viewing a record doesnt already follow it) and a Following
indicator (if the user viewing a record does follow it).
Followersa list of users who follow the record.
CustomLinksa custom link.
Milestonesthe milestone tracker, which lets users see the
status of a milestone on a case. Available only on Case layouts.
Topicsa list of topics related to the record.
CaseUnifiedFilesa list of all files that are attached to the
case.
Visualforcea custom Visualforce component.
1156
LayoutMetadata Types
DescriptionField TypeField Name
The height, in pixels, of the component. Doesnt apply to
standardComponents
intheight
The name of a Visualforce page being used as a custom component.stringpage
FeedLayoutFilter
Represents a feed filter option in the feed view of a feed-based page layout. A filter must have only standardFilter or
feedItemType set. Available in API version 30.0 and later.
DescriptionField TypeField Name
The name of a CustomFeedFilter component. Names are prefixed with
the name of the parent object. For example,
Case.MyCustomFeedFilter.
stringfeedFilterName
The type of filter. Valid values are:FeedLayoutFilterType
(enumeration of type
string)
feedFilterType
AllUpdatesshows all feed items on a record.
FeedItemTypeshows feed items only for a particular type of
activity on the record.
The type of feed item to display. Valid values are:FeedItemType
(enumeration of type
string)
feedItemType
ActivityEventfeed items related to activity on tasks and
events associated with a case. Available only on Case layouts.
AdvancedTextPostfeed items related to group
announcements posted on a feed. This value is available in API
version 31.0 and later.
AnnouncementPostNot used.
ApprovalPostfeed items related to approvals that are
submitted on a feed.
AttachArticleEventfeed items for activity related to
attaching articles to cases. Available only on Case layouts.
BasicTemplateFeedItemNot used.
CallLogPostfeed items for activity from the Log a Call action.
Available only on layouts for objects that support Activities (tasks
and events).
CanvasPostfeed items related to posts that a canvas app
makes on a feed.
CaseCommentPostfeed items for activity from the Case Note
action. Available only on Case layouts.
ChangeStatusPostfeed items for activity from the Change
Status action. Available only on Case layouts.
ChatTranscriptPostfeed items for activity related to
attaching Chat transcripts to cases. Available only on Case layouts.
1157
LayoutMetadata Types
DescriptionField TypeField Name
CollaborationGroupCreatedfeed items related to
creating a public group.
CollaborationGroupUnarchivedNot used.
ContentPostfeed items related to attaching a file to a post.
CreatedRecordEventfeed items related to creating a record
from the publisher.
DashboardComponentSnapshotfeed items related to
posting a dashboard snapshot on a feed.
EmailMessageEventfeed items for activity from the Email
action. Available only on Case layouts.
FacebookPostNot used.
LinkPostfeed items related to attaching a URL to a post.
MilestoneEventfeed items for changes to the milestone
status on a case. Available only on Case layouts.
PollPostfeed items related to posting a poll on a feed.
ProfileSkillPostfeed items related to skills added to a
users Chatter profile. This value is available in API version 31.0 and
later.
QuestionPostfeed items related to posting a question on a
feed. This value is available in API version 31.0 and later.
ReplyPostfeed items for activity from the Portal action.
Available only on Case layouts.
RypplePostfeed items related to creating a Thanks badge in
WDC.
SocialPostfeed items for activity on Twitter from the Social
Post action.
TextPostfeed items for creating a text post from the publisher.
TrackedChangefeed items related to a change or group of
changes to a tracked field.
UserStatusNot used.
>
MiniLayout
Represents a mini view of a record in the Console tab, hover details, and event overlays.
DescriptionField TypeField Name
The fields for the mini-layout, listed in the order they appear in the UI.
Fields that appear here must appear in the main layout.
string[]fields
1158
LayoutMetadata Types
DescriptionField TypeField Name
The mini related list, listed in the order they appear in the UI. You cant
set sorting on mini related lists. Fields that appear here must appear in
the main layout.
RelatedListItem[]relatedLists
LayoutSection
LayoutSection represents a section of a page layout, such as the Custom Links section.
DescriptionField TypeField Name
Indicates if this sections label is custom or standard (built-in). Custom
labels can be any text, but must be translated. Standard labels have a
booleancustomLabel
predefined set of valid values, for example System Information, which
are automatically translated.
Controls if this section appears in the detail page. In the UI, this setting
corresponds to the checkbox in the section details dialog.
booleandetailHeading
Controls if this section appears in the edit page.booleaneditHeading
The label; either standard or custom, based on the customLabel
flag.
stringlabel
The columns of the layout, depending on the style. 1, 2, or 3 columns,
ordered left to right, are possible.
LayoutColumn[]layoutColumns
The style of the layout:LayoutSectionStyle
(enumeration of type
string)
style
TwoColumnsTopToBottom - Two columns, tab goes top to
bottom
TwoColumnsLeftToRight - Two columns, tab goes left to
right
OneColumn - One column
CustomLinks - Contains custom links only
LayoutColumn
LayoutColumn represents the items in a column within a layout section.
DescriptionField TypeField Name
The individual items within a column (ordered from top to bottom).LayoutItem[]layoutItems
This field is reserved for Salesforce. The field resolves an issue with some
SOAP libraries. Any value entered in the field is ignored.
stringreserved
1159
LayoutMetadata Types
LayoutItem
LayoutItem represents the valid values that define a layout item. An item must have only one of the following values set: component,
customLink, field, s-control, page, analyticsCloudComponent, or reportChartComponent.
DescriptionField TypeField Name
Determines the field behavior. Note: KAVs, attempting
to explicitly specify UiBehavior results in an exception.
UiBehavior must not be specified. Valid string values:
UiBehavior (enumeration of type string)behavior
EditThe layout field can be edited but isnt
required
RequiredThe layout field can be edited and is
required
ReadonlyThe layout field is read-only
Reference to a canvas app.
This field is available in API version 31.0 and later.
stringcanvas
Reference to a component. Value must be
sfa:socialCard.
This field is available in API version 30.0 and later. This
field is allowed only inside a RelatedContentItem.
stringcomponent
sfa:socialCard is supported only on page layouts
for contacts, accounts, and leads.
The customLink reference. This field is allowed only
inside a CustomLink layoutSection.
stringcustomLink
Controls if this layout item is a blank space.booleanemptySpace
The field name reference, relative to the layout object,
for example Description or MyField__c.
stringfield
For s-control and pages only, the height in pixels.intheight
Reference to a Visualforce page.stringpage
Refers to a CRM Analytics dashboard that you can add
to a standard or custom object page.
This field is available in API version 34.0 and later.
AnalyticsCloudComponentLayoutItemanalyticsCloudComponent
Refers to a report chart that you can add to a standard
or custom object page.
ReportChartComponentLayoutItemreportChartComponent
Reference to an s-control.stringscontrol
For s-control and pages only, whether to show the label.booleanshowLabel
For s-control and pages only, whether to show scrollbars.booleanshowScrollbars
1160
LayoutMetadata Types
DescriptionField TypeField Name
For s-control and pages only, the width in pixels or
percent. Pixel values are simply the number of pixels, for
stringwidth
example, 500. Percentage values must include the
percent sign, for example, 20%.
AnalyticsCloudComponentLayoutItem
Represents the settings for a CRM Analytics dashboard on a standard or custom page. Available in API version 34.0 and later.
DescriptionField TypeField Name
Required. Specifies the type of CRM Analytics asset to add. The available
asset type is dashboard.
stringassetType
Required. Unique development name of the dashboard to add.stringdevName
Error string; only populated if an error occurred in the underlying
dashboard.
stringerror
Communicates initial dashboard filters for mapping data fields in the
dashboard to the objects fields, so that the dashboard shows only the
data thats relevant for the record being viewed.
stringfilter
Specifies the height of the dashboard, in pixels. The default is 400.intheight
Controls whether users see a dashboard that has an error. When this
attribute is set to true, if the dashboard has an error, the dashboard
booleanhideOnError
doesnt appear on the page. When set to false, the dashboard appears
but doesnt show any data except the error. An error can happen when
a user doesnt have access to CRM Analytics or to the dashboard. The
default is true.
If set to true, and the dashboard is shareable, then the dashboard
shows the Share icon. Users can click the icon to open the Share dialog
booleanshowSharing
and post or download from the dashboard. If set to false, the
dashboard doesnt show the Share icon. This field is available in API
version 37.0 and later.
If true, includes the dashboards title above the dashboard. If false,
the dashboard appears without a title. The default is true.
booleanshowTitle
Specifies the width of the dashboard, in pixels or percent. Pixel values
are simply the number of pixels, for example, 500. Percentage values
must include the percent sign, for example, 20%. The default is 100%.
stringwidth
ReportChartComponentLayoutItem
Represents the settings for a report chart on a standard or custom page.
1161
LayoutMetadata Types
DescriptionField TypeField Name
Indicates whether to use cached data when displaying the chart. When
the attribute is set to true, data is cached for 24 hours. If the attribute
is set to false, the report isnt run every time the page is refreshed.
This field is available in API version 29.0 and later.
booleancacheData
Unique development name of the field by which a report chart is filtered
to return data relevant to the page. If set, the ID field for the parent object
stringcontextFilterableField
of the page or report type is the chart data filter. The parent object for
the report type and the page must match for a chart to return relevant
data.
Error string; only populated if an error occurred in the underlying report.
This field is available in API version 31.0 and later.
stringerror
Controls whether users see a chart that has an error. When theres an
error and this attribute is set, the chart doesnt show any data except the
booleanhideOnError
error. An error can happen for many reasons, such as when a user doesnt
have access to fields used by the chart or a chart has been removed from
the report. Set the attribute to true to hide the chart from a page on
error.
This field is available in API version 29.0 and later.
If true, filters the report chart to return data thats relevant to the page.booleanincludeContext
Unique development name of a report that includes a chart.stringreportName
If true, applies the title from the report to the chart.booleanshowTitle
The chart size is medium when no value is specified. Valid values:
ReportChartComponentSize
size
SMALL
(enumeration of type
string)
MEDIUM
LARGE
PlatformActionList
PlatformActionList represents the list of actions and their order that appear in the Salesforce mobile app action bar for the layout. Available
in API version 34.0 and later.
DescriptionField TypeField Name
Required. The context of the action list. Valid values are:PlatformActionListContext
(enumeration of
type string)
actionListContext
Assistant
BannerPhoto
Chatter
Dockable
1162
LayoutMetadata Types
DescriptionField TypeField Name
FeedElement
Flexipage
Global
ListView
ListViewDefinition
ListViewRecord
Lookup
MruList
MruRow
ObjectHomeChart
Photo
Record
RecordEdit
RelatedList
RelatedListRecord
The actions in the PlatformActionList.PlatformActionListItem[]platformActionListItems
When the ActionListContext is RelatedList or RelatedListRecord,
this field represents the API name of the related list to which the action
belongs.
stringrelatedSourceEntity
PlatformActionListItem
PlatformActionListItem represents an action in the PlatformActionList. Available in API version 34.0 and later.
DescriptionField TypeField Name
The API name for the action in the list.stringactionName
The type of action. Valid values are:PlatformActionType
(enumeration of type
string)
actionType
ActionLinkAn 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.
CustomButtonWhen clicked, opens a URL or a Visualforce page in
a window or executes JavaScript.
InvocableAction
ProductivityActionProductivity actions are predefined and
attached to a limited set of objects. Productivity actions include Send Email,
Call, Map, View Website, and Read News. Except for the Call action, you
cant edit productivity actions.
QuickActionA global or object-specific action.
1163
LayoutMetadata Types
DescriptionField TypeField Name
StandardButtonA predefined Salesforce button such as New, Edit,
and Delete.
The placement of the action in the list.intsortOrder
The subtype of the action. For quick actions, the subtype is
QuickActionType. For custom buttons, the subtype is
stringsubtype
WebLinkTypeEnum. For action links, subtypes are Api, ApiAsync,
Download, and Ui. Standard buttons and productivity actions have no
subtype.
QuickActionList
QuickActionList represents the list of actions associated with the page layout. Available in API version 28.0 and later.
DescriptionField TypeField Name
Array of zero or more QuickActionList objects.QuickActionListItem[]quickActionListItems
QuickActionListItem
QuickActionListItem represents an action in the QuickActionList. Available in API version 28.0 and later.
DescriptionField TypeField Name
The API name of the action.stringquickActionName
RelatedContent
RelatedContent represents the Mobile Cards section of the page layout. Available in API version 29.0 and later.
DescriptionField TypeField Name
A list of layout items in the Mobile Cards section of the page layout.RelatedContentItem[]relatedContentItems
RelatedContentItem
RelatedContentItem represents an individual item in the RelatedContentItem list. Available in API version 29.0 and later.
DescriptionField TypeField Name
An individual LayoutItem in the Mobile Cards section.LayoutItemlayoutItem
1164
LayoutMetadata Types
RelatedListItem
RelatedListItem represents a related list in a page layout.
DescriptionField TypeField Name
A list of custom buttons that are used on the related list.string[]customButtons
A list of buttons that are excluded from the related list.string[]excludeButtons
A list of fields that are displayed in the related list.
Retrieval of standard fields on related lists uses aliases instead of field or
API names. For example, the Fax, Mobile, and Home Phone fields
are retrieved as Phone2, Phone3, and Phone4, respectively.
string[]fields
A list of quick actions that are used on the related list.string[]quickActions
Required. The name of the related list.stringrelatedList
The name of the field that is used for sorting.stringsortField
If the sortField is set, the sortOrder field determines the sort
order.
SortOrder
(enumeration of type
string)
sortOrder
Asc - Sort in ascending order
Desc - Sort in descending order
SummaryLayout
When Case Feed is enabled, controls the appearance of the highlights panel in Salesforce Classic, which summarizes key fields in a grid
at the top of a page layout. Available in API version 25.0 and later.
DescriptionField TypeField Name
Required. The name of the layout label.stringmasterLabel
Required. Number of columns in the highlights pane, from 1 through 4
(inclusive).
intsizeX
Required. Number of rows in each column, either 1 or 2.intsizeY
Reserved for future use. If provided, the setting is visible to users.intsizeZ
Controls the appearance of an individual field and its column and row
position within the highlights panel grid, when Case Feed is enabled. At
least one is required.
SummaryLayoutItem[]summaryLayoutItems
Highlights panel style. Valid string values are:SummaryLayoutStyle
(enumeration of type
string)
summaryLayoutStyle
Default
QuoteTemplate
DefaultQuoteTemplate
CaseInteraction
1165
LayoutMetadata Types
DescriptionField TypeField Name
QuickActionLayoutLeftRight (Available in API version 28.0 and later.)
QuickActionLayoutTopDown (Available in API version 28.0 and later.)
SummaryLayoutItem
Controls the appearance of an individual field and its column and row position within the highlights panel grid, when Case Feed is
enabled. You can have two fields per each grid in a highlights panel. Available in API version 25.0 and later.
DescriptionField TypeField Name
The customLink reference, if the item is a custom link.stringcustomLink
The field name reference, relative to the page layout. Must be a standard
or custom field that also exists on the detail page.
stringfield
Required. The items column position in the highlights panel grid. Must
be within the range of sizeX.
intposX
Required. The items row position in the highlights panel grid. Must be
within the range of sizeY.
intposY
Reserved for future use. If provided, the setting is visible to users.intposZ
Declarative Metadata Sample Definition
This sample defines a page layout.
<?xml version="1.0" encoding="UTF-8"?>
<Layout xmlns="http://soap.sforce.com/2006/04/metadata">
<customConsoleComponents>
<primaryTabComponents>
<container>
<region>left</region>
<style>Stack</style>
<unit>Pixel</unit>
<width>101</width>
<sidebarComponent>
<width>60</width>
<page>simplepage1</page>
<unit>Percentage</unit>
</sidebarComponent>
<sidebarComponent>
<width>40</width>
<page>Hello_World</page>
<unit>Percentage</unit>
</sidebarComponent>
</container>
</primaryTabComponents>
<subtabComponents>
1166
LayoutMetadata Types
<component>
<location>top</location>
<visualforcePage>ConsoleComponentPage2</visualforcePage>
<height>200</height>
</component>
</subtabComponents>
</customConsoleComponents>
<customButtons>ButtonLink</customButtons>
<layoutSections>
<editHeading>true</editHeading>
<label>Information</label>
<layoutColumns>
<layoutItems>
<behavior>Required</behavior>
<field>Name</field>
</layoutItems>
<layoutItems>
<height>180</height>
<scontrol>LayoutSControl</scontrol>
<showLabel>true</showLabel>
<showScrollbars>true</showScrollbars>
<width>50%</width>
</layoutItems>
<layoutItems>
<reportChartComponent>
<contextFilterableField>CUST_ID</contextFilterableField>
<includeContext>true</includeContext>
<reportName>Open_Accounts_by_Cases</reportName>
<showTitle>false</showTitle>
<size>LARGE</size>
<reportChartComponent>
</layoutItems>
</layoutColumns>
<layoutColumns>
<layoutItems>
<behavior>Edit</behavior>
<field>OwnerId</field>
</layoutItems>
<layoutItems>
<behavior>Edit</behavior>
<field>CurrencyIsoCode</field>
</layoutItems>
</layoutColumns>
<style>TwoColumnsTopToBottom</style>
</layoutSections>
<layoutSections>
<editHeading>true</editHeading>
<label>System Information</label>
<layoutColumns>
<layoutItems>
<behavior>Readonly</behavior>
<field>CreatedById</field>
</layoutItems>
<layoutItems>
1167
LayoutMetadata Types
<behavior>Readonly</behavior>
<field>Alpha1__c</field>
</layoutItems>
<layoutItems>
<height>200</height>
<page>mcanvasPage</page>
<showLabel>true</showLabel>
<showScrollbars>false</showScrollbars>
<width>100%</width>
</layoutItems>
</layoutColumns>
<layoutColumns>
<layoutItems>
<behavior>Readonly</behavior>
<field>LastModifiedById</field>
</layoutItems>
<layoutItems>
<behavior>Edit</behavior>
<field>TextArea__c</field>
</layoutItems>
</layoutColumns>
<style>TwoColumnsTopToBottom</style>
</layoutSections>
<layoutSections>
<customLabel>true</customLabel>
<detailHeading>true</detailHeading>
<label>Custom Links</label>
<layoutColumns>
<layoutItems>
<customLink>CustomWebLink</customLink>
</layoutItems>
</layoutColumns>
<style>CustomLinks</style>
</layoutSections>
<quickActionList>
<quickActionListItems>
<quickActionName>FeedItem.TextPost</quickActionName>
</quickActionListItems>
<quickActionListItems>
<quickActionName>FeedItem.ContentPost</quickActionName>
</quickActionListItems>
<quickActionListItems>
<quickActionName>FeedItem.LinkPost</quickActionName>
</quickActionListItems>
<quickActionListItems>
<quickActionName>FeedItem.PollPost</quickActionName>
</quickActionListItems>
</quickActionList>
<relatedContent>
<relatedContentItems>
<layoutItem>
<component>sfa:socialPanel</component>
</layoutItem>
<relatedContentItems>
1168
LayoutMetadata Types
</relatedContent>
<miniLayoutFields>Name</miniLayoutFields>
<miniLayoutFields>OwnerId</miniLayoutFields>
<miniLayoutFields>CurrencyIsoCode</miniLayoutFields>
<miniLayoutFields>Alpha1__c</miniLayoutFields>
<miniLayoutFields>TextArea__c</miniLayoutFields>
<miniRelatedLists>
<relatedList>RelatedNoteList</relatedList>
</miniRelatedLists>
<relatedLists>
<fields>StepStatus</fields>
<fields>CreatedDate</fields>
<fields>OriginalActor</fields>
<fields>Actor</fields>
<fields>Comments</fields>
<fields>Actor.Alias</fields>
<fields>OriginalActor.Alias</fields>
<relatedList>RelatedProcessHistoryList</relatedList>
</relatedLists>
<relatedLists>
<relatedList>RelatedNoteList</relatedList>
</relatedLists>
</Layout>
This example shows a layout using <summaryLayout>.
<?xml version="1.0" encoding="UTF-8"?>
<Layout xmlns="http://soap.sforce.com/2006/04/metadata">
<layoutSections>
<editHeading>true</editHeading>
<label>System Information</label>
<layoutColumns>
<layoutItems>
<behavior>Readonly</behavior>
<field>CreatedById</field>
</layoutItems>
<layoutItems>
<behavior>Required</behavior>
<field>Name</field>
</layoutItems>
</layoutColumns>
<layoutColumns>
<layoutItems>
<behavior>Readonly</behavior>
<field>LastModifiedById</field>
</layoutItems>
</layoutColumns>
<style>TwoColumnsTopToBottom</style>
</layoutSections>
<summaryLayout>
<masterLabel>Great Name</masterLabel>
<sizeX>4</sizeX>
<sizeY>2</sizeY>
<summaryLayoutItems>
<posX>0</posX>
1169
LayoutMetadata Types
<posY>0</posY>
<field>Name</field>
</summaryLayoutItems>
</summaryLayout>
</Layout>
This example shows a feed-based layout.
<Layout>
...
<feedLayout>
<leftComponents>
<componentType>customLinks</componentType>
</leftComponents>
<rightComponents>
<componentType>follow</componentType>
</rightComponents>
<rightComponents>
<componentType>followers</componentType>
</rightComponents>
<rightComponents>
<componentType>visualforce</componentType>
<page>accountCustomWidget</page>
<height>200</height>
</rightComponents>
<hideSidebar>true</hideSidebar>
<feedFilterPosition>centerDropDown</feedFilterPosition>
<feedFilters>
<feedFilerType>allUpdates</feedFilerType>
</feedFilters>
<feedFilters>
<feedFilerType>feedItemType</feedFilerType>
<feedItemType>CallLogPost</feedItemType>
</feedFilters>
<feedFilters>
<feedFilerType>feedItemType</feedFilerType>
<feedItemType>TextPost</feedItemType>
</feedFilters>
</feedLayout>
...
</Layout>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Letterhead
Represents formatting options for the letterhead in an email template. A letterhead defines the logo, page color, and text settings for
your HTML email templates. Use letterheads to ensure a consistent look and feel in your companys emails.
1170
LetterheadMetadata Types
For more information, see Create Classic Letterheads for Email Templates in the Salesforce online help. This type extends the Metadata
metadata type and inherits its fullName field.
File Suffix and Directory Location
The file suffix for letterheads is .letter and components are stored in the letterhead directory of the corresponding package
directory.
Version
Letterheads are available in API version 12.0 and later.
Fields
With the exception of logo, and horizontal and vertical alignment, all of these fields are required.
DescriptionField TypeField Name
Required. Indicates whether this letterhead can be used
(true) or not (false), for example, in an email template.
booleanavailable
Required. The background color, in hexadecimal, for example
#FF6600.
stringbackgroundColor
Required. The body color in hexadecimal.stringbodyColor
Required. The style for the bottom line. Valid style values
include:
LetterheadLine (enumeration of type string)bottomLine
color. The color of the line in hexadecimal, as a string
value.
height. The height of the line, as an int value.
Text description of how this letterhead differs from other
letterheads.
stringdescription
The internal name of the letterhead, based on the name,
but with white spaces and special characters escaped out
for validity.
stringfullName
Required. The style for the footer.LetterheadHeaderFooterfooter
Required. The style for the header.LetterheadHeaderFooterheader
Required. The style for the middle border line in your
letterhead. Valid style values include:
LetterheadLinemiddleLine
color. The color of the line in hexadecimal, as a string
value.
height. The height of the line, as an int value.
Required. The name of the letterhead.stringname
1171
LetterheadMetadata Types
DescriptionField TypeField Name
Required. The style for the top horizontal line below the
header. Valid style values include:
LetterheadLinetopLine
color. The color of the line in hexadecimal, as a string
value.
height. The height of the line, as an int value.
LetterheadHeaderFooter
LetterheadHeaderFooter represents the properties of a header or footer.
DescriptionField TypeField
Required. The background color of the header or footer in
hexadecimal format.
stringbackgroundColor
Required. The height of the header or footer.DashboardComponent[]height
The horizontal alignment of the header or footer. Valid values
are:
LetterheadHorizontalAlignment
(enumeration of type string)
horizontalAlignment
None
Left
Center
Right
The logo which is a reference to a document, for example
MyFolder/MyDocument.gif.
stringlogo
The vertical alignment of the header or footer. Valid values are:LetterheadVerticalAlignment
(enumeration of type string)
verticalAlignment
None
Top
Middle
Bottom
LetterheadLine
LetterheadLine represents the properties of a line.
DescriptionField TypeField
Required. The color of the line in hexadecimal format.stringcolor
Required. The height of the line.intheight
1172
LetterheadMetadata Types
Declarative Metadata Sample Definition
<?xml version="1.0" encoding="UTF-8"?>
<Letterhead xmlns="http://soap.sforce.com/2006/04/metadata">
<available>true</available>
<backgroundColor>#CCCCCC</backgroundColor>
<bodyColor>#33FF33</bodyColor>
<bottomLine>
<color>#3333FF</color>
<height>5</height>
</bottomLine>
<description>INITIAL</description>
<footer>
<backgroundColor>#FFFFFF</backgroundColor>
<height>100</height>
<horizontalAlignment>Left</horizontalAlignment>
<verticalAlignment>Top</verticalAlignment>
</footer>
<header>
<backgroundColor>#FFFFFF</backgroundColor>
<height>100</height>
<horizontalAlignment>Left</horizontalAlignment>
<verticalAlignment>Top</verticalAlignment>
</header>
<middleLine>
<color>#AAAAFF</color>
<height>5</height>
</middleLine>
<name>SimpleLetterheadLabel</name>
<topLine>
<color>#FF99FF</color>
<height>5</height>
</topLine>
</Letterhead>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
LightningBolt
Represents the definition of a Lightning Bolt Solution, which can include custom apps, flow categories, and Experience Builder templates.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
LightningBolt components have the suffix .lightningBolt and are stored in the lightningBolts folder.
1173
LightningBoltMetadata Types
Version
LightningBolt components are available in API version 43.0 and later.
Special Access Rules
To add Experience Builder templates to a Lightning Bolt Solution, enable digital experiences in your org.
Fields
DescriptionField TypeField Name
Required. The primary industry that the Lightning Bolt Solution is aimed
at. Valid values are:
LightningBoltCategory
(enumeration of
type string)
category
Communications
Education
FinancialServices
GeneralBusiness
Government
HealthcareLifeSciences
HighTech
Manufacturing
Media
Nonprofits
ProfessionalServices
RealEstate
Retail
TravelTransportationHospitality
The list of feature descriptions of this Lightning Bolt Solution.
LightningBoltFeatures[]lightningBoltFeatures
The list of images of this Lightning Bolt Solution.LightningBoltImages[]lightningBoltImages
The list of items (custom apps, flow categories, and Experience Builder
templates) that comprise this Lightning Bolt Solution.
LightningBoltItems[]lightningBoltItems
Required. The label of the Lightning Bolt Solution, which appears on the
solution detail page.
stringmasterLabel
Required. The name of the partner org associated with this Lightning
Bolt Solution.
stringpublisher
Required. The summary description of the Lightning Bolt Solution.stringsummary
1174
LightningBoltMetadata Types
LightningBoltFeatures
Represents the list of feature descriptions of a Lightning Bolt Solution.
DescriptionField TypeField Name
A description of the feature of the Lightning Bolt Solution.stringdescription
Required. An integer specifying the position of this feature relative to others
in the list. 1 is the first position, and 4 is the max position.
intorder
Required. The title of the feature, which appears on the solution detail page.stringtitle
LightningBoltImages
Represents the list of images of a Lightning Bolt Solution.
DescriptionField TypeField Name
Required. The developer name of the ContentAsset type, which is used
as a preview image for this Lightning Bolt Solution.
stringimage
Required. An integer specifying the position of this image relative to others in
the list. 1 is the first position, and 3 is the max position.
intorder
LightningBoltItems
Represents the list of items (custom apps, flow categories, and Experience Builder templates) that comprise a Lightning Bolt Solution.
DescriptionField TypeField Name
Required. The name of the item, which appears on the solution detail page.stringname
Required. The type of the item included in the Lightning Bolt Solution. Valid
values are:
stringtype
CommunityTemplateDefinition
CustomApplication
FlowCategory
Declarative Metadata Sample Definition
The following is an example of a LightningBolt component.
<?xml version="1.0" encoding="UTF-8"?>
<LightningBolt xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<category>Sales</category>
<lightningBoltFeatures>
<description>bb</description>
1175
LightningBoltMetadata Types
<order>1</order>
<title>aa</title>
</lightningBoltFeatures>
<lightningBoltImages>
<image>prm1</image>
<order>1</order>
</lightningBoltImages>
<lightningBoltItems>
<name>PolaConsole</name>
<type>CustomApplication</type>
</lightningBoltItems>
<lightningBoltItems>
<name>Banking_Service_Console</name>
<type>CustomApplication</type>
</lightningBoltItems>
<lightningBoltItems>
<name>Banking_Service_Portal</name>
<type>CommunityTemplateDefinition</type>
</lightningBoltItems>
<lightningBoltItems>
<name>Banking_Sales_Portal</name>
<type>CommunityTemplateDefinition</type>
</lightningBoltItems>
<lightningBoltItems>
<name>myorgdev__updatebenefits</name>
<type>FlowCategory</type>
</lightningBoltItems>
<masterLabel>BoltTe</masterLabel>
<publisher>aaaa</publisher>
<summary>This is a summary.</summary>
</LightningBolt>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>BoltTe</members>
<name>LightningBolt</name>
</types>
<version>43.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LightningComponentBundle
Represents a Lightning web component bundle. A bundle contains Lightning web component resources.
1176
LightningComponentBundleMetadata Types
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Special Access Rules
LightningComponentBundle components can be created only in orgs with defined namespaces.
As of Summer 20 and later, only your Salesforce org's internal users can access this type.
Fields
DescriptionField TypeField Name
A double value that binds the component to a Salesforce API version.doubleapiVersion
A list of capabilities. A capability is something that a component can do, as
opposed to a target, which defines where you can use a component. Available
in API version 48.0 and later.
Capabilities[]capabilities
A description of the Lightning web component.stringdescription
Indicates whether imports between files are done explicitly by the developer
(true) or implicitly by the framework (false).
booleanisExplicitImport
Indicates whether a component is usable in a managed package (true) or
not (false).
booleanisExposed
A list of resources inside a bundle.LwcResources[]lwcResources
The component title that appears in the list view.stringmasterLabel
Configurations for each target. Each target is a Lightning page type. For example,
this configuration allows a Lightning web component to be used on a Contact
record page in Lightning App Builder.
<targetConfigs>
<targetConfig targets="lightning__RecordPage">
base64BinarytargetConfigs
<objects>
<object>Contact</object>
</objects>
</targetConfig>
</targetConfigs>
A list of targets where the Lightning web component is supported. Each target
is a Lightning page type that can be configured in Lightning App Builder.
Targets[]targets
Capabilities
Represents a list of capabilities. A capability is something that a component can do, as opposed to a target, which defines where you
can use a component. Available in API version 48.0 and later.
1177
LightningComponentBundleMetadata Types
DescriptionField TypeField
Specifies something that a component can do. The only valid
value is lightningCommunity__RelaxedCSP, which
stringcapability
enables a component installed from a managed package to run
in an Experience Cloud site that has Lightning Locker disabled.
LwcResources
Represents a list of resources inside a LightningComponentBundle.
DescriptionField TypeField
A resource inside a LightningComponentBundle.LwcResourcelwcResource
LwcResource
Represents a resource inside a LightningComponentBundle.
DescriptionField TypeField
Required. The file path of a resource.stringfilePath
Required. The content of a resource.base64Binarysource
Targets
Represents a list of supported containers for a Lightning web component.
DescriptionField TypeField
Specifies the type of Lightning page the component can be
added to in Lightning App Builder.
Valid values are:
stringtarget
lightning__AppPageEnables a component to be
used on a Lightning app page.
lightning__HomePageEnables a component to
be used on a custom Lightning Home page.
lightning__RecordPageEnables a component
to be used on a Lightning record page, such as Account or
Contact.
1178
LightningComponentBundleMetadata Types
Declarative Metadata Sample Definition
This package.xml file retrieves all the LightningComponentBundle components in an org.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>LightningComponentBundle</name>
</types>
<version>45.0</version>
</Package>
In the retrieved zip file, each Lightning web component is nested under an lwc folder.
This example shows the directory structure in the zip file of one component with a name of hello.
lwc
hello
hello.html
hello.js
hello.js-meta.xml
Here are the contents of the files in the hello directory.
Content of hello.html:
<template>
<lightning-card title="Hello" icon-name="custom:custom14">
<div class="slds-m-around_medium">
Hello, {greeting}!
</div>
</lightning-card>
</template>
Content of hello.js:
import { LightningElement, track } from 'lwc';
export default class Hello extends LightningElement {
@track greeting = 'World';
}
Content of hello.js-meta.xml.
<?xml version="1.0" encoding="UTF-8"?>
<LightningComponentBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>45.0</apiVersion>
<isExposed>true</isExposed>
<targets>
<target>lightning__AppPage</target>
<target>lightning__RecordPage</target>
<target>lightning__HomePage</target>
</targets>
</LightningComponentBundle>
1179
LightningComponentBundleMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LightningExperienceTheme
Represents the details of a custom theme, including the BrandingSet. Themes enable admins to specify configurable attributes, such as
three colors and five images. The colors and some of the images override SLDS token values and influence the generation of app.css.
To activate a custom theme with Metadata API, set the activeThemeField on the LightningExperienceSettings component to
the API name of the LightningExperienceTheme.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
LightningExperienceTheme components have the suffix .lightningExperienceTheme and are stored in the
lightningExperienceThemes folder.
Version
LightningExperienceTheme components are available in API version 42.0 and later.
Special Access Rules
The LightningExperieceTheme type is available when the S1DesktopAllowed permission is enabled in your org.
Fields
DescriptionField TypeField Name
Required. The ID of the BrandingSet properties associated with this
LightningExperienceTheme.
stringdefaultBrandingSet
The optional description text of this LightningExperienceTheme. Limited
to 1000 characters.
stringdescription
Required. The label for this LightningExperienceTheme, which displays
in Setup. Limited to 70 characters.
stringmasterLabel
If true, the LightningExperienceTheme overrides the splash screen
image.
booleanshouldOverrideLoadingImage
1180
LightningExperienceThemeMetadata Types
Declarative Metadata Sample Definition
The following is an example of a LightningExperienceTheme component. See BrandingSet on page 417 for an example of the BrandingSet
component.
<?xml version="1.0" encoding="UTF-8"?>
<LightningExperienceTheme xmlns="http://soap.sforce.com/2006/04/metadata">
<defaultBrandingSet>SummerCelebrationBrand</defaultBrandingSet>
<description>Theme for summer celebration week.</description>
<masterLabel>Summer Celebration</masterLabel>
<shouldOverrideLoadingImage>false</shouldOverrideLoadingImage>
</LightningExperienceTheme>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>LEXTHEMINGThemeName</members>
<name>BrandingSet</name>
</types>
<types>
<members>Summer Celebration</members>
<name>LightningExperienceTheme</name>
</types>
<version>42.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LightningMessageChannel
Represents the metadata associated with a Lightning Message Channel. A Lightning Message Channel represents a secure channel to
communicate across UI technologies, such as Lightning Web Components, Aura Components, and Visualforce.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Note: Before you include a Lightning Message Channel in a managed package, review these considerations.
To pass the AppExchange Security Review, you must set the isExposed field to false.
If you set the isExposed field to true, you cant change the value to false at a later time. This consideration applies
to Lightning Message Channels in managed packages and Lightning Message Channels that other components reference.
Visualforce supports only Lightning Message Channels where isExposed is true, so managed packages with a Lightning
Message Channel in Visualforce cant pass the AppExchange Security Review. See Considerations and Limitations in the
Visualforce Developer Guide.
You cant remove Lightning Message Channel metadata from a managed package.
1181
LightningMessageChannelMetadata Types
File Suffix and Directory Location
LightningMessageChannel components have the suffix .messageChannel and are stored in the messageChannels folder.
Version
LightningMessageChannel components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
The description of the Lightning Message Channel.stringdescription
Indicates whether a Lightning Message Channel is exposed to
components in other namespaces (true) or not (false). The default
value is false.
booleanisExposed
A list of message payload fields for a given Lightning Message Channel.LightningMessageField
on page 1182[]
lightningMessageFields
Required. The label for a Lightning Message Channel.stringmasterLabel
LightningMessageField
Represents a message payload field for a given Lightning Message Channel.
DescriptionField TypeField Name
The description for a Lightning Message Field.stringdescription
Required. Unique identifier of the Lightning Message Field.stringfieldName
Declarative Metadata Sample Definition
Heres a simple example of a LightningMessageChannel component.
<?xml version="1.0" encoding="UTF-8"?>
<LightningMessageChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>SampleMessageChannel</masterLabel>
<isExposed>true</isExposed>
<description>This is a sample Lightning Message Channel.</description>
</LightningMessageChannel>
Heres an example of a LightningMessageChannel component with LightningMessageFields.
<?xml version="1.0" encoding="UTF-8"?>
<LightningMessageChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>SampleMessageChannel</masterLabel>
<isExposed>true</isExposed>
<description>This is a sample Lightning Message Channel.</description>
1182
LightningMessageChannelMetadata Types
<lightningMessageFields>
<fieldName>recordId</fieldName>
<description>This is the record Id that changed</description>
</lightningMessageFields>
<lightningMessageFields>
<fieldName>recordData</fieldName>
<description>The current data representing the record that changed</description>
</lightningMessageFields>
</LightningMessageChannel>
Heres an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>LightningMessageChannel</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Lightning Web Components Developer Guide: Communicate Across the DOM with Lightning Message Service
Second-Generation Managed Packaging Developer Guide: Components Available in Managed Packages
LightningOnboardingConfig
Represents the feedback provided when users switch from Lightning Experience to Salesforce Classic. Admins can customize the question,
how frequently the form appears, and where the feedback is stored in Chatter from the Adoption Assistance page in Lightning Experience
Setup. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
LightningOnboardingConfig components have the suffix .lightningOnboardingConfig and are stored in the
LightningOnboardingConfigs folder.
Version
LightningOnboardingConfig components are available in API version 49.0 and later.
1183
LightningOnboardingConfigMetadata Types
Special Access Rules
See Switch to Salesforce Classic Feedback Form in Salesforce Help for details.
Fields
DescriptionField TypeField Name
Required. The ID of the Chatter Group where the user feedback is posted.stringcollaborationGroup
Text of the custom question added by the admin. Maximum of 1,000
characters.
stringcustomQuestion
Required. The number of days between showing the feedback form
when a user switches between Lightning Experience and Salesforce
intfeedbackFormDaysFrequency
Classic. A value of 0 indicates that the form is shown for every switch.
Maximum of 30.
Required. Indicates if a feedback form includes a custom question (
true) or not (false).
booleanisCustom
Required. The label of the in-app guidance. Maximum of 80 characters.stringmasterLabel
Required. Indicates the amount of time, in seconds, to delay between
instances of all in-app content, both custom content created by org and
intpromptDelayTime
standard content created by Salesforce. Minimum of 0 hours and 0
minutes. Maximum of 99 hours and 59 minutes.
Required. Indicates if the user feedback can be shared with Salesforce
(true) or not (false). Even if the feedback isnt shared with Salesforce,
booleansendFeedbackToSalesforce
the feedback is shared in the Chatter Group chosen when customizing
the feedback form. The default is false.
Declarative Metadata Sample Definition
The following is an example of a LightningOnboardingConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<LightningOnboardingConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<collaborationGroup>{Org ID}</collaborationGroup>
<customQuestion>Please take a minute to tell us why you’re switching.</customQuestion>
<feedbackFormDaysFrequency>0</feedbackFormDaysFrequency>
<isCustom>true</isCustom>
<masterLabel>Feedback Form</masterLabel>
<promptDelayTime>3600</promptDelayTime>
<sendFeedbackToSalesforce>true</sendFeedbackToSalesforce>
</LightningOnboardingConfig>
1184
LightningOnboardingConfigMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LiveChatAgentConfig
Represents the configuration of an organizations Chat deployment, such as how many chats can be assigned to an agent and whether
chat sounds are enabled.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
LiveChatAgentConfig configurations are referenced in the <developer_name>.liveChatAgentConfig file in the
liveChatAgentConfigs directory.
Version
LiveChatAgentConfig is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
Specifies how agent configurations are assigned to Chat
users. Agent configurations can be assigned to sets of users
or sets of profiles.
AgentConfigAssignmentsassignments
Specifies the greeting that displays when a customer begins
a chat with an agent.
stringautoGreeting
Specifies the maximum number of chats in which an agent
can be engaged at a time.
intcapacity
Specifies the number of seconds an agent can wait to answer
an engaged chat before the chat tab flashes to alert the agent
to answer it.
intcriticalWaitTime
Specifies the custom name for an agent, if one has been set.
Available in API version 29.0 and later.
stringcustomAgentName
Indicates whether the greeting is disabled for agents during
chat transfer and chat conferencing (true) or not (false).
Available in API version 53.0 and later.
booleandisableTransferConferenceGreeting
Indicates whether file transfer is enabled for agents (true)
or not (false). Available in API version 31.0 and later.
booleanenableAgentFileTransfer
1185
LiveChatAgentConfigMetadata Types
DescriptionField TypeField Name
Specifies whether a supervisor can see the content of an
agents message before they send it to a customer (true)
or not (false).
booleanenableAgentSneakPeek
Indicates whether agents can raise an assistance flag to notify
a supervisor that they need help. Available in API version
35.0 and later.
booleanenableAssistanceFlag
Indicates whether an agent appears as away (true) or
not (false) when an agent declines a chat with a customer.
booleanenableAutoAwayOnDecline
Indicates whether an agent appears as away (true) or
not (false) when a chat request that's been pushed to the
agent times out. Available in API version 34.0 and later.
booleanenableAutoAwayOnPushTimeout
Indicates whether chat conferencing is enabled for agents
(true) or not (false). Available in API version 34.0 and
later.
booleanenableChatConferencing
Indicates whether chat monitoring is enabled for support
supervisors (true) or not (false). Available in API version
29.0 and later.
booleanenableChatMonitoring
Indicates whether agents can transfer a chat to another agent
(true) or not (false). Available in API version 36.0 and
later.
booleanenableChatTransferToAgent
Indicates whether agents can transfer a chat to a button
(true) or not (false). Available in API version 36.0 and
later.
booleanenableChatTransferToButton
Indicates whether agents can transfer a chat to a skill group
(true) or not (false). Available in API version 36.0 and
later.
booleanenableChatTransferToSkill
Indicates whether a sound plays (true) or not (false)
when an agent logs out of Chat.
booleanenableLogoutSound
Indicates whether notifications of incoming chats appear for
agents (true) or not (false).
booleanenableNotifications
Indicates whether a sound plays (true) or not (false)
when a customer requests to chat with an agent.
booleanenableRequestSound
Indicates whether previews of customers messages are
displayed as customers type (true) or not (false) in the
agents Chat window. Available in API version 29.0 and later.
booleanenableSneakPeek
Indicates whether an agent can block a visitor by IP address
(true) or not (false). Available in API version 34.0 and
later.
booleanenableVisitorBlocking
1186
LiveChatAgentConfigMetadata Types
DescriptionField TypeField Name
Indicates whether support supervisors can send whisper
messages to agents during a chat (true) or not (false).
Available in API version 29.0 and later.
booleanenableWhisperMessage
Required. Specifies the name of the configuration for agents
default chat settings.
stringlabel
Specifies the Chat status for filtering the Agent Status list in
the Supervisor Panel. Valid values are:
SupervisorAgentStatusFilter
(enumeration of type
string)
supervisorDefaultAgentStatusFilter
Online
Away
Offline
Available in API version 29.0 and later.
Specifies the default button for filtering the Agent Status list
in the Supervisor Panel. Available in API version 29.0 and
later.
stringsupervisorDefaultButtonFilter
Specifies the default skill for filtering the Agent Status list in
the Supervisor Panel. Available in API version 29.0 and later.
stringsupervisorDefaultSkillFilter
Specifies the list of agent skills that are assigned to a
supervisor, as specified in their assigned Chat configuration.
Available in API version 29.0 and later.
SupervisorAgentConfigSkillssupervisorSkills
Specifies the list of chat buttons that agents can transfer
chats to. Available in API version 31.0 and later.
AgentConfigButtonstransferableButtons
Specifies the list of skill groups that agents can transfer chats
to. Available in API version 31.0 and later.
AgentConfigSkillstransferableSkills
AgentConfigAssignments
Represents the assignments of an organizations profiles and users to a Chat configuration.
DescriptionField TypeField Name
Specifies the profiles that are associated with a specific
agent configuration.
AgentConfigProfileAssignmentsprofiles
Specifies the users that are associated with a specific agent
configuration.
AgentConfigUserAssignmentsusers
AgentConfigButtons
Represents the chat buttons that agents who are associated with the Chat configuration can transfer chats to.
1187
LiveChatAgentConfigMetadata Types
DescriptionField TypeField Name
Specifies the chat buttons that agents can transfer chats
to.
string[]button
AgentConfigProfileAssignments
Represents the profiles associated with a specific Chat configuration.
DescriptionField TypeField Name
Specifies the custom name of the profile associated with a
specific agent configuration.
stringprofile
AgentConfigSkills
Represents the skill groups that agents who are associated with the Chat configuration can transfer chats to.
DescriptionField TypeField Name
Specifies the skill groups that agents can transfer chats to.string[]skill
AgentConfigUserAssignments
Represents the users associated with a specific Chat configuration.
DescriptionField TypeField Name
Specifies the username of the user associated with a specific
agent configuration.
stringuser
SupervisorAgentConfigSkills
Represents the agent skills associated with a supervisors Chat configuration. Available in API version 29.0 and later.
DescriptionField TypeField Name
Specifies the agent skills available for filtering the Agent
Status list in the Supervisor Panel.
stringskill
Declarative Metadata Sample Definition
This is a sample of a liveChatAgentConfig file.
<?xml version="1.0" encoding="UTF-8"?>
<LiveChatAgentConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<label>My Agent Configuration 1</label>
1188
LiveChatAgentConfigMetadata Types
<autoGreeting>Hi, how can I help you?</autoGreeting>
<capacity>5</capacity>
<enableAutoAwayOnDecline>true</enableAutoAwayOnDecline>
<enableLogoutSound>true</enableLogoutSound>
<enableNotifications>true</enableNotifications>
<enableRequestSound>true</enableRequestSound>
<enableSneakPeek>true</enableSneakPeek>
<enableWhisperMessage>true</enableWhisperMessage>
<assignments>
<profiles>
<profile>standard</profile>
</profiles>
<users>
<user>[email protected]</user>
</users>
</assignments>
</LiveChatAgentConfig>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LiveChatButton
Represents a Chat deployments settings for the button that customers click to chat with an agent and the chat window, such as the
label that appears on the button and the pre-chat form that appears before a chat begins. This type extends the Metadata metadata
type and inherits its fullName field.
Chats routed with Omni-Channel arent supported in the Metadata API.
File Suffix and Directory Location
LiveChatButton on page 1189 configurations are stored in the <developer_name>.liveChatButton file in the
liveChatButtons directory.
Version
LiveChatButton on page 1189 is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
The type of animation for a chat invitation. Valid
values are:
LiveChatButtonPresentation (enumeration
of type string)
animation
Slide
Fade
1189
LiveChatButtonMetadata Types
DescriptionField TypeField Name
Appear
Custom
The customized greeting message that the
customer receives when an agent accepts a chat
request from the chat button or invitation.
Available in API version 29.0 and later.
stringautoGreeting
Specifies the amount of idle time before the chat
times out. The idle time starts being counted
intchasitorIdleTimeout
after the agent sends the last chat message.
Available in API version 35.0 and later.
Specifies the amount of idle time before a
warning appears. The idle time starts being
intchasitorIdleTimeoutWarning
counted after the agent sends the last chat
message. Available in API version 35.0 and later.
Specifies the page that hosts your chat if that
page differs from the Chat window.
stringchatPage
The agents name as it appears to customers in
the chat window.
Available in API version 29.0 and later.
stringcustomAgentName
Specifies the deployments associated with the
button.
LiveChatButtonDeploymentsdeployments
Indicates whether queuing is enabled (true)
or not (false).
booleanenableQueue
The end position of the chat invitation. Valid
values include:
LiveChatButtonInviteEndPosition
(enumeration of type string)
inviteEndPosition
TopLeft
Top
TopRight
Left
Center
Right
BottomLeft
Bottom
BottomRight
The custom button graphic that appears for the
invitation.
stringinviteImage
1190
LiveChatButtonMetadata Types
DescriptionField TypeField Name
The start position of the chat invitation. Valid
values include:
LiveChatButtonInviteStartPosition
(enumeration of type string)
inviteStartPosition
TopLeft
TopLeftTop
Top
TopRightTop
TopRight
TopRightRight
Right
BottomRightRight
BottomRight
BottomRightBottom
Bottom
BottomLeftBottom
BottomLeft
BottomLeftLeft
Left
TopLeftLeft
Specifies whether the chat button or invitation
is active.
booleanisActive
Specifies the text that appears on the button.stringlabel
Specifies the number of times a chat request can
be rerouted to available agents if all agents reject
intnumberOfReroutingAttempts
the chat request. Available in API version 30.0
and later.
Specifies the image that appears on the button
when no agents are available to chat.
stringofflineImage
Specifies the image that appears on the button
when agents are available to chat.
stringonlineImage
Indicates whether custom routing is enabled for
incoming chat requests (true) or not (false).
Available in API version 30.0 and later.
booleanoptionsCustomRoutingIsEnabled
Indicates whether the visitor idle timeout feature
is enabled. Available in API version 35.0 and later.
booleanoptionsHasChasitorIdleTimeout
Indicates whether a new chat invitation triggers
after a customer accepts a previous chat
invitation (true) or not (false).
booleanoptionsHasInviteAfterAccept
1191
LiveChatButtonMetadata Types
DescriptionField TypeField Name
Indicates whether a new chat invitation triggers
after a customer rejects a previous chat invitation
(true) or not (false).
booleanoptionsHasInviteAfterReject
Indicates whether a chat request, which has been
rejected by all available agents, is rerouted to
booleanoptionsHasRerouteDeclinedRequest
available agents again (true) or not (false).
Available in API version 30.0 and later.
Indicates whether a chat request is automatically
accepted by the agent its assigned to (true)
booleanoptionsIsAutoAccept
or not (false). For chat buttons and automated
chat invitations with routingType set to
MostAvailable or LeastActive.
Available in API version 30.0 and later.
Indicates whether a chat invitation is set to
automatically disappear from a customers screen
booleanoptionsIsInviteAutoRemove
after a certain amount of time (true) or not
(false).
Specifies the maximum number of chat requests
that are allowed to queue.
intoverallQueueLength
Specifies the number of chat requests that are
allowed to queue for an agent with the required
skills.
intperAgentQueueLength
Specifies the name of the post-chat form to
which customers are routed when the chat ends.
stringpostChatPage
Specifies the URL of the post-chat form to which
customers are routed when the chat ends.
stringpostChatUrl
Specifies the name of the pre-chat form to which
customers are routed before a chat begins.
stringpreChatFormPage
Specifies the URL of the pre-chat form to which
customers are routed when the chat begins.
stringpreChatFormUrl
Specifies the number of seconds an agent has
to answer an incoming chat request before the
request is routed to another agent.
intpushTimeOut
Specifies how incoming chats are routed to
agents when a customer pushes a button. Valid
values are:
LiveChatButtonRoutingType (enumeration
of type string)
routingType
Choice
LeastActive
MostAvailable
1192
LiveChatButtonMetadata Types
DescriptionField TypeField Name
Specifies the Salesforce site that hosts your
custom chat button images or custom chat page.
You must have the CustomDomain permission
enabled in your organization before you can use
a Salesforce site with Chat.
stringsite
Specifies the skills associated with the button.
When a customer clicks the button to chat,
LiveChatButtonSkillsskills
theyre automatically routed to agents with those
skills.
Specifies how long the invitation is displayed (in
seconds) to customers before it disappears.
inttimeToRemoveInvite
Required. The chat button type. Valid values are:LiveChatButtonType (enumeration of type
string)
type
Standard
Invite
Specifies the language preferences for the chat
window associated with the button.
LanguagewindowLanguage
LiveChatButtonSkills
Represents the skills associated with a chat button or invitation.
Fields
DescriptionField TypeField Name
Specifies the name of the skill.stringskill
LiveChatButtonDeployments
Represents the deployments associated with a chat button or invitation.
Fields
DescriptionField TypeField Name
Specifies the name of the deployment.stringdeployment
1193
LiveChatButtonMetadata Types
Declarative Metadata Sample Definition
Heres a sample of a liveChatButton file.
<?xml version="1.0" encoding="UTF-8"?>
<LiveChatButton xmlns="http://soap.sforce.com/2006/04/metadata">
<deployments/>
<enableQueue>false</enableQueue>
<isActive>true</isActive>
<label>CustomerSupportButton</label>
<optionsCustomRoutingIsEnabled>false</optionsCustomRoutingIsEnabled>
<optionsHasChasitorIdleTimeout>false</optionsHasChasitorIdleTimeout>
<optionsHasInviteAfterAccept>false</optionsHasInviteAfterAccept>
<optionsHasInviteAfterReject>false</optionsHasInviteAfterReject>
<optionsHasRerouteDeclinedRequest>false</optionsHasRerouteDeclinedRequest>
<optionsIsAutoAccept>false</optionsIsAutoAccept>
<optionsIsInviteAutoRemove>false</optionsIsInviteAutoRemove>
<postChatUrl>https://help.salesforce.com</postChatUrl>
<routingType>Choice</routingType>
<skills>
<skill>Chat</skill>
</skills>
<type>Standard</type>
</LiveChatButton>
Note: If you update your chat button through the Metadata API, be sure to update all Web pages that use the same chat button
code.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LiveChatDeployment
Represents the configuration settings for a specific Chat deployment, such as the branding image for the deployment and whether or
not chat transcripts are automatically saved.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
LiveChatDeployment values are stored in the <developer_name>.liveChatDeployment file in the
liveChatDeployments directory.
Version
LiveChatDeployment is available in API version 28.0 and later.
1194
LiveChatDeploymentMetadata Types
Fields
DescriptionField TypeField Name
Specifies the branding image for the
deployment.
stringbrandingImage
Indicates the amount of time before the chat
times out, in seconds.
intconnectionTimeoutDuration
Indicates the amount of time before a time-out
warning is displayed to the agent, in seconds.
intConnectionWarningDuration
(Pilot) Determines whether a customers queue
position is displayed in a standard chat window
booleandisplayQueuePosition
while the customer waits for an agent to
respond to the chat request (true) or not
(false). This field is available as a pilot in API
version 32.0. To enable this field, contact
Salesforce.
Specifies the list of domains that can host the
deployment.
LiveChatDeploymentDomainWhiteListdomainWhiteList
Indicates whether or not the pre-chat API is
enabled for the deployment (true) or not
(false).
booleanenablePrechatApi
Indicates whether chat transcripts are
automatically saved after a chat ends (true)
or not (false).
booleanenableTranscriptSave
Specifies the name of the deployment.stringlabel
Specifies the branding image for the
deployment that appears when customers
access the deployment on a mobile device.
stringmobileBrandingImage
Specifies the site that hosts the images for the
deployment.
stringsite
Note: You must have the
CustomDomain permission enabled in
your organization before you can use a
Salesforce site with Chat.
Specifies the title of the window associated
with the deployment.
stringwindowTitle
LiveChatDeploymentDomainWhiteList
Represents a Chat deployments domain whitelist.
1195
LiveChatDeploymentMetadata Types
Fields
DescriptionField TypeField Name
Specifies a domain that can host the deployment.stringdomain
Declarative Metadata Sample Definition
This is a sample of a liveChatDeployment file.
<?xml version="1.0" encoding="UTF-8"?>
<LiveChatDeployment xmlns="http://soap.sforce.com/2006/04/metadata">
<label>My Deployment 1</label>
<brandingImage>pkb_image_bannerBg</brandingImage>
<mobileBrandingImage>pkb_image_bgBottom</mobileBrandingImage>
<domainWhiteList>
<domain>mydomain</domain>
<domain>test</domain>
</domainWhiteList>
<enableTranscriptSave>true</enableTranscriptSave>
<site>GL_Knowledge_Base</site>
<windowTitle>My window title</windowTitle>
</LiveChatDeployment>
Note: If you update your deployment through the Metadata API, be sure to update all Web pages that use the same deployment
code.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LiveChatSensitiveDataRule
Represents a rule for masking or deleting data of a specified pattern. Written as a regular expression (regex).
Use this object to mask or delete data of specified patterns, such as credit card, social security, phone and account numbers, or even
profanity. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
LiveChatSensitiveDataRule components have the suffix .liveChatSensitiveDataRule and are stored in the
liveChatSensitiveDataRule folder.
Version
LiveChatSensitiveDataRule components are available in API version 35.0 and later.
1196
LiveChatSensitiveDataRuleMetadata Types
Fields
DescriptionField TypeField Name
Required. The action to take on the text when the sensitive data rule is
triggered. Possbile values are:
SensitiveDataActionType
(enumeration of
type string)
actionType
Remove
Replace
The description of the sensitive data rulefor example, Block social
security numbers.
stringdescription
Required. Determines the roles on which the rule is enforced. The value
is determined using bitwise OR operation. There are seven possible
values:
intenforceOn
1. Rule enforced on Agent
2. Rule enforced on Visitor
3. Rule enforced on Agent and Visitor
4. Rule enforced on Supervisor
5. Rule enforced on Agent and Supervisor
6. Rule enforced on Visitor and Supervisor
7. Rule enforced on Agent, Visitor, and Supervisor
Required. Specifies whether a sensitive data rule is active (true) or not
(false). Default value (if none is provided) is false.
booleanisEnabled
Required. The pattern of text blocked by the rule. Written as a JavaScript
regular expression (regex).
stringpattern
The string of characters that replaces the blocked text (if ActionType
Replace is selected).
stringreplacement
Declarative Metadata Sample Definition
The following is an example of a LiveChatSensitiveDataRule component.
<LiveChatSensitiveDataRule xmlns="http://soap.sforce.com/2006/04/metadata">
<actionType>REPLACE</actionType>
<enforceOn>7</enforceOn>
<isEnabled>true</isEnabled>
<pattern>[aeiou]</pattern>
<replacement</replacement>
</LiveChatSensitiveDataRule>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<!-- To be used from
1197
LiveChatSensitiveDataRuleMetadata Types
support.liveagent.testsuite.unifiedouting.testDeployButtonMDAPIWithExistingQueue -->
<apiAccessLevel>Unrestricted</apiAccessLevel>
<types>
<members>Change_For_all</members>
<name>LiveChatSensitiveDataRule</name>
</types>
<version>35.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LoyaltyProgramSetup
Represents the configuration of a loyalty program process including its parameters and rules. Program processes determine how new
transaction journals are processed. When new transaction journals meet the criteria and conditions for a program process, actions that
are set up in the process are triggered for the transaction journals.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
LoyaltyProgramSetup components have the suffix loyaltyProgramSetup and are stored in the loyaltyProgramSetups
folder.
Version
LoyaltyProgramSetup components are available in API version 54.0 and later for Loyalty Management and in API version 59.0 and later
for Referral Marketing.
Special Access Rules
To use this metadata type, your org must have either B2C - Loyalty, B2C - Loyalty Plus, Loyalty Management - Growth, Loyalty Management
- Advanced, or Referral Marketing license enabled.
1198
LoyaltyProgramSetupMetadata Types
Fields
DescriptionField Name
Field Type
string
label
Description
Name of the loyalty program that the program process is associated with. If a loyalty
program or referral program with the specified name doesn't exist, a new
LoyaltyProgram record is created. The name of a program must contain at least one
alphanumeric character.
Field Type
LoyaltyProgramProcess[] on page 1199
programProcesses
Description
Collection of loyalty program processes associated with a loyalty program or a referral
program.
LoyaltyProgramProcess
Represents a collection of fields relating to a loyalty program process.
DescriptionField Name
Field Type
string
description
Description
The description of the loyalty program process.
Field Type
LoyaltyPgmProcExecutionType (enumeration of type string)
executionType
Description
The mode of processing transaction journals by the loyalty program process.
Possible values are:
Batch
BatchAndRealTime
RealTime
Field Type
string
journalSubType
Description
The subtype of transaction journals processed by the loyalty program process.
1199
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Field Type
string
journalType
Description
The type of transaction journal processed by the loyalty program process.
Possible values for loyalty program:
Accrual
Redemption
Possible value for referral program:
Referral
Field Type
string
loyaltyTierGroup
Description
The tier group of a loyalty program. This field is available in API version 56.0 and later.
This field isnt applicable for referral programs.
Field Type
LoyaltyProgramProcessParameter[] on page 1201
parameters
Description
The parameters associated with the loyalty program process.
Field Type
string
processName
Description
Required.
The name of the loyalty program process.
Field Type
string
processType
Description
Required.
The type of records processed by the loyalty program process. For referral programs,
the process type is TransactionJournal.
Field Type
LoyaltyProgramProcessRule[] on page 1205
rules
Description
The rules associated with the loyalty program process.
1200
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Field Type
LoyaltyPgmProcStatus (enumeration of type string)
status
Description
The status of the loyalty program process.
Possible values are:
Active
Draft
Inactive
Note: Only active program processes can process transaction journals.
LoyaltyProgramProcessParameter
Represents a collection of fields relating to a parameter that's associated with the program process. Parameters are dynamic or fixed
values that are used in rule. You can define the value of a parameter based on its type and data type.
DescriptionField Name
Field Type
LoyaltyProgramProcessCondition on page 1203
condition
Description
The filter condition that decides which records are stored in the parameter.
Field Type
LoyaltyPgmProcParmDataType (enumeration of type string)
dataType
Description
The data type of the parameter. Determines the type of value that can be stored in
the parameter.
Possible values are:
Boolean
Date
DateTime
Numeric
Sobject
Text
Field Type
int
decimalPlaces
Description
The number of decimal places supported by the parameter when it is of the type
Variable and data type Numeric.
1201
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Field Type
string
description
Description
The description of the parameter.
Field Type
boolean
isCollection
Description
Indicates whether the parameter can store multiple values when it is of the type
Variable.
Field Type
boolean
isInput
Description
Indicates whether a parameter can be used as an input outside the loyalty program
process.
Field Type
boolean
isOutput
Description
Indicates whether a parameter can be used as an output outside the loyalty program
process.
Field Type
string
objectName
Description
Name of the object whose records are stored by the parameter when it is of the type
Variable and data type sObject.
Field Type
string
parameterName
Description
Required.
The name of the parameter.
Field Type
LoyaltyPgmProcParmType (enumeration of type string)
parameterType
Description
The type of value the parameter can store.
Possible values are:
Constant
1202
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Formula
Variable
Field Type
string
value
Description
The value of the parameter when it is of the type Variable or Formula and isn't of the
data type sObject.
LoyaltyProgramProcessCondition
Represents a collection of fields relating to a condition. Conditions filter records that parameters store or check whether child actions
must be triggered for a transaction journal.
DescriptionField Name
Field Type
string
conditionCriteria
Description
Required.
The criteria that determine when the condition is met by a record or by a transaction
journal.
Field Type
LoyaltyProgramProcessConditionFilterCriteria[] on page 1203
conditionFilterCriteria
Description
The filter criteria that determines which records or transaction journals are filtered.
Field Type
string
conditionName
Description
Required.
The name of the condition.
LoyaltyProgramProcessConditionFilterCriteria
Represents a collection of fields relating to a filter criteria that's part of a condition. Multiple filter criteria can be added for a condition.
Filter criteria determine which records are filtered by related condition.
1203
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Field Type
LoyaltyPgmProcCondOperator (enumeration of type string)
operator
Description
Required.
The operator of the filter criteria.
Possible values are:
Contains
DoesNotContain
EndsWith
Equals
GreaterThan
GreaterThanOrEquals
IsNotNull
IsNull
LessThan
LessThanOrEquals
NotEquals
StartsWith
Field Type
int
sequence
Description
Required.
The sequence number of the filter criteria within a condition.
Field Type
string
sourceFieldName
Description
Required.
The name of the field used in the filter criteria.
Field Type
string
value
Description
The value of the filter criteria.
Field Type
LoyaltyPgmProcCondType (enumeration of type string)
valueType
1204
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Description
Required.
The type of value specified in the filter criteria.
Possible values are:
Formula
Literal
Lookup
Parameter
LoyaltyProgramProcessRule
Represents a collection of fields relating to a rule. A rule consists of a set of conditions and actions.
DescriptionField Name
Field Type
LoyaltyProgramProcessAction[] on page 1206
actions
Description
The actions associated with the rule.
Field Type
LoyaltyProgramProcessCondition[] on page 1203
conditions
Description
The conditions associated with the rule.
Field Type
string
description
Description
The description of the rule.
Field Type
date
endDate
Description
The date until which the rule processes transaction journals.
Field Type
string
previousRule
Description
The rule that processes new transaction journals before the current rule. The current
rule is triggered when the previous rule completes processing transaction journals.
1205
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Field Type
string
promotion
Description
The promotion associated with the rule. When a promotion is associated with a rule,
the start date, end date, and status of the promotion determines the corresponding
fields of the rule.
Field Type
string
ruleName
Description
Required.
The name of the rule.
Field Type
date
startDate
Description
The date from which the rule starts processing transaction journals.
Field Type
LoyaltyPgmProcRuleStatus (enumeration of type string)
status
Description
The status of the rule.
Possible values are:
Active
Draft
Inactive
Field Type
LoyaltyProgramProcessRuleStepMapping[] on page 1211
stepMappings
Description
The list of step mappings associated with rule.
LoyaltyProgramProcessAction
Represents a collection of fields relating to an action.
DescriptionField Name
Field Type
string
actionName
1206
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Description
Required.
The name of the action.
Field Type
LoyaltyProgramProcessActionParameter[] on page 1210
actionParameters
Description
The parameters of the action.
Field Type
LoyaltyPgmProcActionType (enumeration of type string)
actionType
Description
Required.
The type of action.
Possible values are:
These values are used in Loyalty Management:
AssignParameterValuesAssigns values to parameters.
AssignBadgeToMemberAssigns a badge to a loyalty program member.
This value is available in API version 56.0 and later.
CrudCreates or updates records in the target object. This value is available
in API version 56.0 and later.
CheckMemberBadgeAssignmentChecks whether a badge is assigned
to a loyalty program member. This value is available in API version 56.0 and
later.
ChangeMemberTierChanges the tier of a loyalty program member.
This value is available in API version 56.0 and later.
CreditPointsCredits points to the loyalty program member associated
with the transaction journal that's processed by the rule.
DebitPointsDebits points from the points balance of the loyalty
program member associated with the transaction journal that's processed by
the rule.
GetMemberAttributesValuesGets the details of the loyalty
program members attribute value for the selected engagement attribute. This
value is available in API version 55.0 and later.
GetMemberPointBalanceGets the points balance of a loyalty program
member.
GetMemberPromotionsGet promotions of a loyalty program member.
This value is available in API version 56.0 and later.
GetMemberTierGets the tier details of a loyalty program member.
GetOutputsFromDecisionTableGets outputs provided by a
decision table. This value is available in API version 56.0 and later.
1207
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Adds the specified value to the loyalty program member's usage towards
achieving a cumulative promotion by a specified value.
IncreaseUsageForCumulativePromotionIncreases a loyalty
program members usage for a cumulative promotion.
IssueVoucherIssues a voucher to the loyalty program member
associated with the transaction journal that's processed by the rule.
RedeemVoucherRedeems a voucher for the loyalty program member
associated with the transaction journal that's processed by the rule. This value
is available in API version 58.0 and later.
Updates the loyalty program member's usage towards achieving a
cumulative promotion by a specified value.
RunFlowRuns a flow.
RunProgramProcessRuns an active loyalty program process as a
subprocess. This value is available in API version 56.0 and later.
SendMailSends emails to the loyalty program member for whom the
process is run. This value is available in API version 59.0 and later.
UpdateCurrentValueForMemberAttributeUpdates the loyalty
program member's current attribute value for the selected engagement
attribute. This value is available in API version 55.0 and later.
UpdatePointBalanceUpdates the points balance of the loyalty
program member associated with the transaction journal that's processed by
the rule.
UpdateUsageForCumulativePromotionUpdates a loyalty
program members usage for a cumulative promotion.
These values are used in Referral Marketing:
AssignParameterValuesAssigns values to parameters.
CrudCreates or updates records in the target object.
GetMemberAttributesValuesGets the details of an advocate's
attribute value for the selected engagement attribute.
GetMemberPromotionsGets the promotions of an advocate.
GetOutputsFromDecisionTableGets outputs provided by a
decision table.
IssueVoucherIssues a voucher to an advocate or a referred friend.
RedeemVoucherRedeems a voucher for an advocate or a friend.
SendMailSends emails to a referral programs advocates and referrals.
UpdateCurrentValueForMemberAttributeUpdates an
advocates current attribute value for the selected engagement attribute.
Field Type
LoyaltyPgmProcCrudActType (enumeration of type string)
crudActionType
1208
LoyaltyProgramSetupMetadata Types
DescriptionField Name
Description
The type of operation to perform on target object records by the action. This field is
available from API version 56.0 and later.
Note: This field is required when the actionType field value is CRUD.
Possible values are:
create
update
Field Type
string
decisionTable
Description
The decision that's invoked by the action for the transaction journal that's processed
by the rule.
Field Type
string
decisionTableDatasetLink
Description
The dataset link associated with the selected decision table.
Field Type
string
entityApiName
Description
The API name of the target object. This field is available from API version 56.0 and later.
Note: This field is required when the actionType field value is CRUD.
Field Type
string
flowDefinition
Description
The flow that's run by the action for the transaction journal that's processed by the
rule. The selected flow must be of the type LoyaltyManagementFlow.
Field Type
string
loyaltyProgramProcess
Description
The subprogram processes thats run by the action. This field is available from API
version 56.0 and later.
Note: This field is required when the actionType field value is
RunProgramProcess.
1209
LoyaltyProgramSetupMetadata Types
LoyaltyProgramProcessActionParameter
Represents a collection of fields relating to an action parameter. A parameter is either an input or an output for the action. Input parameters
store the values used by the action. Output parameters store the result of the action.
DescriptionField Name
Field Type
LoyaltyPgmProcActParamOper (enumeration of type string)
operator
Description
The type of operator used in the action. This field is available in API version 56.0 and
later.
Possible value is:
Equals
Field Type
string
parameterName
Description
Required.
The name of parameter. The parameter name must be the same as the input or the
output field that's supported depending on the associated action's type.
Field Type
int
sequenceNumber
Description
The sequence number of the parameter in the action. This field is available in API
version 56.0 and later.
Field Type
string
value
Description
Required.
The value of the parameter.
Field Type
LoyaltyPgmProcActParamType (enumeration of type string)
valueType
Description
The type of value to provide in the parameter. This field is available in API version 56.0
and later.
Possible values are:
LiteralA constant value.
ParameterA runtime value passed using a parameter.
1210
LoyaltyProgramSetupMetadata Types
LoyaltyProgramProcessRuleStepMapping
Represents a collection of fields relating to a step mapping. Map conditions with child actions or map an action without a parent step.
DescriptionField Name
Field Type
string
associatedStep
Description
Required.
The action that's associated with the mapping.
Field Type
string
parentStep
Description
The condition that contains one or more child actions.
Field Type
int
sequence
Description
Required.
The sequence number of the mapping within a rule.
Declarative Metadata Sample Definition
The following is an example of a LoyaltyProgramSetup component.
<?xml version="1.0" encoding="UTF-8"?>
<LoyaltyProgramSetup xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Cloud Kicks Inner Circle</label>
<programProcesses>
<executionType>RealTime</executionType>
<parameters>
<dataType>Numeric</dataType>
<decimalPlaces>0</decimalPlaces>
<isCollection>false</isCollection>
<isInput>false</isInput>
<isOutput>false</isOutput>
<parameterName>VoucherValue</parameterName>
<parameterType>Constant</parameterType>
<value>50</value>
</parameters>
<processName>Issue Vouchers</processName>
<processType>Transaction Journal</processType>
<rules>
<actions>
<actionName>Issue High Transaction Value Voucher</actionName>
1211
LoyaltyProgramSetupMetadata Types
<actionParameters>
<operator>Equals</operator>
<parameterName>VoucherDefinitionName</parameterName>
<sequenceNumber>1</sequenceNumber>
<value>Voucher for High Value Transactions</value>
<valueType>Literal</valueType>
</actionParameters>
<actionParameters>
<operator>Equals</operator>
<parameterName>VoucherCode</parameterName>
<sequenceNumber>2</sequenceNumber>
<value>{!TransactionJournal.Order.Id}</value>
</actionParameters>
<actionParameters>
<operator>Equals</operator>
<parameterName>VoucherEffectiveDate</parameterName>
<sequenceNumber>3</sequenceNumber>
<value>DATEVALUE(&quot;2021-11-21 00:00:00&quot;)</value>
</actionParameters>
<actionParameters>
<operator>Equals</operator>
<parameterName>VoucherExpirationDate</parameterName>
<sequenceNumber>4</sequenceNumber>
<value>DATEVALUE(&quot;2022-01-01 00:00:00&quot;)</value>
</actionParameters>
<actionParameters>
<operator>Equals</operator>
<parameterName>VoucherFaceValue</parameterName>
<sequenceNumber>5</sequenceNumber>
<value>{!VoucherValue}</value>
</actionParameters>
<actionType>IssueVoucher</actionType>
</actions>
<conditions>
<conditionCriteria>1</conditionCriteria>
<conditionFilterCriteria>
<operator>GreaterThanOrEquals</operator>
<sequence>1</sequence>
<sourceFieldName>TransactionJournal.TransactionAmount</sourceFieldName>
<value>100</value>
<valueType>Literal</valueType>
</conditionFilterCriteria>
<conditionName>New Condition</conditionName>
<conditionType>Condition</conditionType>
</conditions>
<endDate>2022-01-01</endDate>
<ruleName>Issue Voucher for Transactions Above $100</ruleName>
<startDate>2021-11-21</startDate>
<status>Draft</status>
<stepMappings>
<associatedStep>New Condition</associatedStep>
<sequence>1</sequence>
</stepMappings>
1212
LoyaltyProgramSetupMetadata Types
<stepMappings>
<associatedStep>Issue High Transaction Value Voucher</associatedStep>
<parentStep>New Condition</parentStep>
<sequence>1</sequence>
</stepMappings>
</rules>
<status>Draft</status>
</programProcesses>
</LoyaltyProgramSetup>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2020 Salesforce, Inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>LoyaltyProgramSetup</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ManagedContentType
Represents the definition of custom content types for use with Salesforce CMS. Custom content types are displayed as forms with defined
fields.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
ManagedContentType components have the suffix managedContentType and are stored in the managedContentTypes
folder.
Version
ManagedContentType components are available in API version 47.0 and later.
1213
ManagedContentTypeMetadata Types
Special Access Rules
ManagedContentType is only available if Salesforce CMS and digital experiences are enabled for your org.
Fields
DescriptionField TypeField Name
Describes the custom content type defined in this ManagedContentType
declaration.
stringdescription
Required. Unique name for the custom content type. For example:
OurSpecialContent_c
stringdeveloperName
Nodes included as part of this custom content type. When rendered as
a form in the Digital Experiences app, each node is represented as an
individual field.
ManagedContentNodeType
on page 1214[]
managedContentNodeTypes
Required. Declares the name of the content type as it appears in the UI.stringmasterLabel
ManagedContentNodeType
Represents the structure of individual nodes within the custom content type.
DescriptionField TypeField Name
Provides assistive text in the UI, displayed as an info bubble for the field. If this
field is empty, no info bubble icon or text is displayed.
For example: <IMG?>
stringhelpText
Declares a field as localizable and consumable by <loc MDAPI reference>
(true) or not (false). Default is false.
booleanisLocalizable
Note: NodeTypes IMG, URL, DATE, and DATETIME cant be
localized.
Declares a field as required (true) or not (false). Fields declared as required
are indicated by a red asterisk. If a value isnt added to the field in the custom
booleanisRequired
content type, the form cant be saved and a standard error is displayed. Default
is false.
Note: When nodeType on page 1215 is set to NAMEFIELD on
a field, isRequired must also be set to True for that field.
Required. Declares the label for the field as it appears in the UI.
In enhanced workspaces, the system generates a Title field by default. To
prevent having multiple Title fields on the UI when you create a custom content
stringnodeLabel
type for use in an enhanced workspace, don't use Title as the label for
nodeLabel.
1214
ManagedContentTypeMetadata Types
DescriptionField TypeField Name
Required. Unique name of the nodeType within the content type.
nodeName is a simple text field that allows up to 100 alphanumeric characters
stringnodeName
and underscores. The name must begin with a letter, not include spaces, cant
have two consecutive underscores, and cant end with an underscore.
In enhanced workspaces, the system generates a Title field by default. To
prevent having multiple Title fields on the UI when you create a custom content
type for use in an enhanced workspace, don't use Title as the label for
nodeName.
Required. Identifies the supported type of content in the node. Passed as a
string. Theres a maximum of 15 node types per content type. Values are case
insensitive but are returned in all capital letters as shown. Valid values are:
MCNodeType
(enumeration of type
string)
nodeType
TEXT
Simple text node (max length=255 characters)
MTEXT
Multi-line text node (max length=2000 characters)
RTE
Rich text node (max length=65536 characters)
IMG
Image node
Note: IMG node types cant be localized. Set isLocalizable
to false for images.
URL
URL node (max length=255 characters)
Note: URL accepts protocol string values starting with http://,
https://, mailto:, tel:, and /.
Note: URL node types cant be localized. Set isLocalizable
to false for URLs.
DATE
Date node
Note: DATE accepts dates only in the format yyyy-MM-dd.
Note: DATE node types cant be localized. Set
isLocalizable to false for dates.
DATETIME
Datetime node
Note: DATETIME accepts date and time in the format:
yyyy-MM-dd'T'HH:mm:ss.SSS'Z' (UTC datetime in ISO 8601 format).
1215
ManagedContentTypeMetadata Types
DescriptionField TypeField Name
Note: DATETIME node types cant be localized. Set
isLocalizable to false for datetime notes.
NAMEFIELD
Note: NAMEFIELD declares the field as the name that represents
the content when referenced in the UI. For example, text entered
in this field displays as a list of available content in the Digital
Experiences app or as a piece of content available for inclusion in a
collection in an Experience Cloud site.
One, and only one, nodeType in your managed content type
must be declared as NAMEFIELD. NAMEFIELD is a string of 200
characters or fewer.
In enhanced workspaces, the system generates a Title field by
default. To prevent having multiple Title fields on the UI when you
create a custom content type for use in an enhanced workspace,
don't use Title as the label for nodeName or nodeLabel for
the NAMEFIELD node. If you've already named nodeName Title,
choose a different label for nodeLabel to prevent confusion on
the content creation page.
When NAMEFIELD is used, isRequired must also be set to
true for the field.
Provides assistive text in the UI, displayed as placeholder, or ghost text, in a
field before any entry is made. For example, Enter a title for your
article...
stringplaceholderText
Declarative Metadata Sample Definition
The following is an example of a ManagedContentType component.
<?xml version="1.0" encoding="UTF-8"?>
<ManagedContentType xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>myContentType</developerName>
<masterLabel>My Content Type</masterLabel>
<description>This is the description for my content type</description>
<managedContentNodeTypes>
<nodeName>title</nodeName>
<nodeLabel>Content Title</nodeLabel>
<nodeType>NAMEFIELD</nodeType>
<placeholderText>Placeholder Text for title</placeholderText>
<helpText>Help Text for title</helpText>
<isLocalizable>true</isLocalizable>
<isRequired>true</isRequired>
</managedContentNodeTypes>
<managedContentNodeTypes>
<nodeName>textnode</nodeName>
1216
ManagedContentTypeMetadata Types
<nodeLabel>Content Text</nodeLabel>
<nodeType>TEXT</nodeType>
<placeholderText>Placeholder Text for Content Text</placeholderText>
<helpText>Help Text for Content Text</helpText>
<isLocalizable>true</isLocalizable>
<isRequired>false</isRequired>
</managedContentNodeTypes>
<managedContentNodeTypes>
<nodeName>richtextnode</nodeName>
<nodeLabel>Content RichText</nodeLabel>
<nodeType>RTE</nodeType>
</managedContentNodeTypes>
<managedContentNodeTypes>
<nodeName>multilinetextnode</nodeName>
<nodeLabel>Content MultilineText</nodeLabel>
<nodeType>MTEXT</nodeType>
</managedContentNodeTypes>
<managedContentNodeTypes>
<nodeName>imagenode</nodeName>
<nodeLabel>Content Image</nodeLabel>
<nodeType>IMG</nodeType>
</managedContentNodeTypes>
</ManagedContentType>
Usage
For each custom content type you create, there must also be a CMS Content page created in any Experience Cloud site that displays the
content. Each Content page serves as the detail page for all content of a single content type. See Create Custom Pages with Experience
Builder.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ManagedEventSubscription (Beta)
Represents a managed event subscription in Pub/Sub API. Use a managed event subscription to track the events that a subscriber client
consumed and resume a subscription where it left off. This type extends the metadata type and inherits its fullName field.
Note: This feature is a Beta Service. Customer may opt to try such Beta Service in its sole discretion. Any use of the Beta Service
is subject to the applicable Beta Services Terms provided at Agreements and Terms.
File Suffix and Directory Location
ManagedEventSubscription components have the suffix .managedEventSubscription and are stored in the
managedEventSubscriptions folder.
1217
ManagedEventSubscription (Beta)Metadata Types
Version
ManagedEventSubscription components are available in API version 60.0 and later.
Special Access Rules
You must have the Customize Application permission to deploy and retrieve this type.
Fields
DescriptionField TypeField Name
The position in the stream where the subscription starts when the client
initiates the subscription for the first time or if the client doesnt commit
a Replay ID. Possible values are:
EventSubscriptionReplayPreset
(enumeration of
type string)
defaultReplay
LATEST(Default) The subscription starts from the latest events
received. This option skips sending events that were published when
the client was disconnected.
EARLIESTThe subscription starts from the earliest events stored
in the event bus. This option sends new events and any other events
less than 72 hours old. You can reprocess all stored events and catch
up on missed events. Use this option sparingly. Subscribing with the
EARLIEST option when a large number of event messages are
stored can slow performance and exhaust the event delivery
allocation.
The position in the stream where the subscription restarts if the
committed Replay ID is invalid. The Replay ID can be invalid if its older
than the event retention window. Possible values are:
EventSubscriptionReplayPreset
(enumeration of
type string)
errorRecoveryReplay
LATEST(Default) The subscription restarts from the latest events
received. This option skips sending events that were published when
the client was disconnected.
EARLIESTThe subscription restarts from the earliest events
stored in the event bus. This option sends new events and any other
events less than 72 hours old. You can reprocess all stored events
and catch up on missed events. Use this option sparingly. Subscribing
with the EARLIEST option when a large number of event
messages are stored can slow performance and exhaust the event
delivery allocation.
The label for the managed subscription.stringlabel
The execution state that the ManagedSubscribe RPC call consumes.
If state is set to RUN, the subscription starts when the
EventSubscriptionAdminState
(enumeration of
type string)
state
ManagedSubscribe RPC call is made. Otherwise, the subscription
doesn't start. If an administrator later changes state from RUN to
STOP, the system notifies the Pub/Sub API client of the new state
value and the subscription disconnects. Also, the stored Replay ID value
1218
ManagedEventSubscription (Beta)Metadata Types
DescriptionField TypeField Name
that was committed previously is deleted. The next time the
ManagedSubscribe RPC call is made after state is changed
from STOP to RUN, the subscription starts from the
defaultReplay value.
The possible values for state are:
RUN(Default) The subscription is running and delivering new
events to the Pub/Sub API client.
STOPThe subscription is stopped. No events are delivered to the
Pub/Sub API client during this state and the previously committed
Replay ID is deleted.
PAUSEReserved for internal use.
The topic name of the platform event or change event or the channel
name of a custom platform event channel or custom or standard change
data capture channel. The topic name can be one of the following values.
stringtopicName
For a platform event/event/EventName__e
For a custom platform event
channel/event/CustomPEChannel__chn
For the standard change event
channel/data/ChangeEvents
For a change event (replace Object with the object
name)/data/ObjectChangeEvent. For example, for
Account, its /data/AccountChangeEvent.
For a custom change event
channel/data/CustomChangeChannel__chn
Reserved for internal use.stringversion
Declarative Metadata Sample Definition
The following is an example of a ManagedEventSubscription component with the file name
My_Managed_Subscription.managedSubscription.
<?xml version="1.0" encoding="UTF-8"?>
<ManagedEventSubscription xmlns="http://soap.sforce.com/2006/04/metadata">
<defaultReplay>LATEST</defaultReplay>
<errorRecoveryReplay>LATEST</errorRecoveryReplay>
<label>My Managed Subscription</label>
<state>RUN</state>
<topicName>/event/Order_Event__e</topicName>
</ManagedEventSubscription>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
1219
ManagedEventSubscription (Beta)Metadata Types
<types>
<members>My_Managed_Subscription</members>
<name>ManagedEventSubscription</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ManagedTopics
Represents navigational and featured topics managed in an Experience Cloud site.
Note: The related Experience Cloud site must exist before you deploy managed topics. (This occurs automatically when deploying
an entire org.)
File Suffix and Directory Location
Components have the suffix managedTopics and are stored in the managedTopics folder. In that folder, you find separate files for each
Experience Cloud site (for example, SiteNameA.managedTopics and SiteNameB.managedTopics).
Version
ManagedTopics components are available in API version 32.0 and later.
Fields
DescriptionField TypeField Name
Represents a specific navigational or featured topic.ManagedTopicManagedTopic
ManagedTopic
DescriptionField TypeField Name
The topic name.stringname
The topic type: Navigational or FeaturedstringmanagedTopicType
An optional description of topic contents. This field is accessible only via
the API; there is no corollary in the user interface.
stringtopicDescription
1220
ManagedTopicsMetadata Types
DescriptionField TypeField Name
The name of a parent topic for which this topic is a child. Child topics are
accessible from the subtopics section of the parent topic page and their
feeds are added to the parent topic feed.
Only navigational topics support parent-child relationships.
stringparentName
The placement of this topic relative to others of the same type. The results
differ depending on topic type:
intposition
For top-level navigational topics, position arranges the Topics
menu in the Experience Cloud site.
For child navigational topics, it arranges sibling topics in the subtopics
section.
For featured topics, it arranges topic thumbnail images on the
Experience Cloud site home page.
Enter a number between 0 and 24. (The maximum amount of navigational
or featured topics is 25.)
Declarative Metadata Sample Definition
The following example retrieves or deploys managed topics for all sites:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ManagedTopics</name>
</types>
<version>32.0</version>
</Package>
The following example shows a package.xml file referencing the ManagedTopics component:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SiteName</members>
<name>ManagedTopics</name>
</types>
<version>32.0</version>
</Package>
The following example shows the ManagedTopics component itself:
<?xml version="1.0" encoding="UTF-8"?>
<ManagedTopics>
<ManagedTopic>
<name>Running</name>
<managedTopicType>Navigational</managedTopicType>
<topicDescription>Training advice</topicDescription>
<parentName></parentName>
1221
ManagedTopicsMetadata Types
<position>0</position>
</ManagedTopic>
<ManagedTopic>
<name>Hiking</name>
<managedTopicType>Navigational</managedTopicType>
<topicDescription>Routes and gear</topicDescription>
<parentName></parentName>
<position>1</position>
</ManagedTopic>
<ManagedTopic>
<name>Trails</name>
<managedTopicType>Navigational</managedTopicType>
<topicDescription>Maps for local favorites</topicDescription>
<parentName>Hiking</parentName>
<position>0</position>
</ManagedTopic>
<ManagedTopic>
<name>Backpacks</name>
<managedTopicType>Navigational</managedTopicType>
<topicDescription>Recommended models</topicDescription>
<parentName>Hiking</parentName>
<position>1</position>
</ManagedTopic>
<ManagedTopic>
<name>Footwear</name>
<managedTopicType>Featured</managedTopicType>
<topicDescription>Suggested types for each sport</topicDescription>
<parentName></parentName>
<position>0</position>
</ManagedTopic>
<ManagedTopic>
<name>Conditioning</name>
<managedTopicType>Featured</managedTopicType>
<topicDescription>How to get fit for any activity</topicDescription>
<parentName></parentName>
<position>1</position>
</ManagedTopic>
</ManagedTopics>
Usage
Managed topic images that are uploaded in API version 50.0 and later are stored as asset files. To migrate managed topic images that
are uploaded in API version 50.0 and later, use the ContentAsset metadata type. To migrate managed topic images that were uploaded
in API version 49.0 and earlier, use the Document metadata type.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1222
ManagedTopicsMetadata Types
MarketingAppExtension
Represents an integration with a third-party app or service that is used to work with prospects.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata type and inherits its fullName field.
File Suffix and Directory Location
MarketingAppExtension components have the suffix .marketingappextension and are stored in the
marketingappextensions folder.
Version
MarketingAppExtension components are available in API version 54.0 and later.
Special Access Rules
The first Salesforce or designated marketing admin to access Marketing App Extensions in an org must have the Manage Public List
Views user permission. Subsequent users dont need the permission to work with the feature.
Fields
DescriptionField Name
Field Type
string
description
Description
The description of the extension for internal reference. Appears in the UI.
Field Type
boolean
isActive
Description
This field makes data for a Marketing App Extension available to use in Account
Engagement automations. Label is Active in Automations.
The default value is false. Appears in the UI.
Field Type
boolean
isProtected
1223
MarketingAppExtensionMetadata Types
DescriptionField Name
Field Type
MarketingAppExtAction on page 1226[]
marketingAppExtActions
Description
This field is a related list of associated external actions.
Field Type
MarketingAppExtActivity on page 1224[]
marketingAppExtActivities
Description
This field is a related list of associated external prospect activities.
Field Type
string
masterLabel
Description
Required. Label for the MarketingAppExtension. In the UI, this field is Extension Name.
MarketingAppExtActivity
Represents an Activity Type, which is a prospect activity that occurs in a third-party app and can be used in Account Engagement
automations.
DescriptionField Name
Field Type
string
description
Description
The description of the activity for internal reference. Appears in the UI.
Field Type
string
endpointUrl
Description
A sample endpoint that can be used to help connect the activity type to a third-party
app. Appears in the UI.
Field Type
boolean
isActive
Description
This field makes data for the Activity Type available to use in Account Engagement
automations. Label is Active in Automations.
The default value is false. Appears in the UI.
Field Type
boolean
isProtected
1224
MarketingAppExtensionMetadata Types
DescriptionField Name
Field Type
string
marketingAppExtension
Description
Required. The Marketing App Extension associated with the activity.
Type
string
masterLabel
Description
Required. Label for the MarketingAppExtActivity. In the UI, this field is Activity Name.
Declarative Metadata Sample Definition
This example retrieves all Activity Types associated with the MarketingAppExtension component.
<?xml version="1.0" encoding="UTF-8"?>
<MarketingAppExtension xmlns="http://soap.sforce.com/2006/04/metadata">
<description>VidLand extension for US region</description>
<isActive>true</isActive>
<marketingAppExtActivities>
<fullName>user_attended</fullName>
<description>User attended activity capture for VidLand</description>
<isActive>true</isActive>
<marketingAppExtension>VidLand_US</marketingAppExtension>
<masterLabel>user attended</masterLabel>
</marketingAppExtActivities>
<marketingAppExtActivities>
<fullName>user_registered</fullName>
<description>User registered activity capture for VidLand</description>
<isActive>true</isActive>
<marketingAppExtension>VidLand_US</marketingAppExtension>
<masterLabel>user registered</masterLabel>
</marketingAppExtActivities>
<masterLabel>VidLand_US</masterLabel>
</MarketingAppExtension>
This example package.xml references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2021 Salesforce, Inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>VidLand_US</members>
<name>MarketingAppExtension</name>
</types>
</Package>
1225
MarketingAppExtensionMetadata Types
This example retrieves a specific Activity Type from the associated MarketingAppExtension component.
<?xml version="1.0" encoding="UTF-8"?>
<MarketingAppExtension xmlns="http://soap.sforce.com/2006/04/metadata">
<description>VidLand extension for US region</description>
<isActive>true</isActive>
<marketingAppExtActivities>
<fullName>user_attended</fullName>
<description>User attended activity capture for VidLand</description>
<isActive>true</isActive>
<marketingAppExtension>VidLand_US</marketingAppExtension>
<masterLabel>user attended</masterLabel>
</marketingAppExtActivities>
<masterLabel>VidLand_US</masterLabel>
</MarketingAppExtension>
This example package.xml references the previous definition.
<<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2021 salesforce.com, inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>VidLand_US.user_attended</members>
<name>MarketingAppExtActivity</name>
</types>
<types>
<members>VidLand_US</members>
<name>MarketingAppExtension</name>
</types>
</Package>
MarketingAppExtAction
Represents an Action Type, which is an action that executes in a third-party app and can be used in Engagement Studio programs.
DescriptionField Name
Field Type
string
actionName
Description
The name of the action for internal use. Appears in the UI.
Field Type
string
actionParams
Description
The parameters for the invocable action. Appears in the UI.
1226
MarketingAppExtensionMetadata Types
DescriptionField Name
Field Type
string
actionSchema
Description
The JSON schema for the invocable action. Appears in the UI.
Type
string
actionSelector
Description
Invocable action selector. Appears in the UI.
Field Type
string
apiName
Description
This name can contain only underscores and alphanumeric characters, and must be
unique in your org. It must begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores. This field is automatically
generated, but you can supply your own value if you create the record using the API.
Appears in the UI.
Field Type
string
Description
Description
The description of the action for internal reference. Appears in the UI.
Field Type
boolean
isActive
Description
This field makes data for the Action Type available to use in Engagement Studio Label
is Active in Automations.
The default value is false. Appears in the UI.
Field Type
boolean
isProtected
Field Type
string
marketingAppExtension
Description
Required. The Marketing App Extension associated with the action.
1227
MarketingAppExtensionMetadata Types
Declarative Metadata Sample Definition
This example retrieves a specific action associated the MarketingAppExtension component.
<?xml version="1.0" encoding="UTF-8"?>
<MarketingAppExtension xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>VidLand_US</fullName>
<description>VidLand extension for US region</description>
<isActive>true</isActive>
<marketingAppExtActions>
<marketingAppExtension>VidLand_US</marketingAppExtension>
<apiName>register_user</apiName>
<isActive>true</isActive>
<description>Register User for VidLand</description>>
<actionSelector>VidLand_Register_User</actionSelector>
<actionSchema>
<![CDATA[
{
"properties": {
"UserId": {
"type": "string",
"title": ""
},
"WebinarId": {
"type": "string",
"value": "webinarIdXYZ"
}
},
"view": {
"components": [{
"definition": "lightning/control",
"scope": "#/properties/UserId"
}]
},
"required": [
"UserId",
"WebinarId",
"From",
"Body"
]
}
]]>
</actionSchema>
<actionParams>
<![CDATA[
{
"isStandard": false,
"type": "apex"
}
]]>
</actionParams>
<actionName>Register User</actionName>
</marketingAppExtActions>
<masterLabel>VidLand US</masterLabel>
</MarketingAppExtension>
1228
MarketingAppExtensionMetadata Types
This example package.xml references the previous definition.
<<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2021 salesforce.com, inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>VidLand_US</members>
<name>MarketingAppExtension</name>
</types>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MatchingRule
Represents a matching rule that is used to identify duplicate records.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Matching rule components have the .matchingRule suffix and are stored in the matchingRules folder. The name of the
component file is the standard or custom object name that is associated with the matching rule.
In API version 39.0 and later, MatchingRule supports the Person Account object.
The component file name is PersonAccount.matchingRule.
The component directory is matchingRules.
Version
MatchingRule is available in API version 33.0 and later.
Fields
DescriptionField TypeField Name
Specifies filter logic conditions.stringbooleanFilter
The description of the matching rule.stringdescription
Required. The name of the matching rule.stringlabel
The criteria that make up a matching rule.MatchingRuleItemmatchingRuleItems
1229
MatchingRuleMetadata Types
DescriptionField TypeField Name
Required. The activation status of the matching rule. Values are:MatchingRuleStatus
(enumeration of
type string)
ruleStatus
Inactive
Deactivating
DeactivationFailed
Active
Activating
ActivationFailed
Important: The only valid values you can declare when
deploying a package are Active and Inactive.
MatchingRuleItem
DescriptionField TypeField Name
Specifies how blank fields affect whether the fields being compared are
considered matches. Valid values are:
BlankValueBehavior
(enumeration of type
string)
blankValueBehavior
MatchBlanks
NullNotAllowed (default)
Required. Indicates which field to compare when determining if a record is
similar enough to an existing record to be considered a match.
stringfieldName
Required. Defines how the fields are compared. Choose between the exact
matching method and various fuzzy matching methods. Valid values are:
MatchingMethod
(enumeration of type
string)
matchingMethod
Exact
FirstName
LastName
CompanyName
Phone
City
Street
Zip
Title
For details on each matching method, see Matching Methods Used with
Matching Rules in the Salesforce Help.
1230
MatchingRuleMetadata Types
Declarative Metadata Sample Definition
The following is a sample XML definition of a matching rule. A matching rule can be associated with either a standard or a custom object.
<?xml version="1.0" encoding="UTF-8"?>
<MatchingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<matchingRules>
<fullName>AccountMatchingRule</fullName>
<label>Matching rule for accounts</label>
<description>this is sample rule description</description>
<matchingRuleItems>
<blankValueBehavior>NullNotAllowed</blankValueBehavior>
<fieldName>BillingCity</fieldName>
<matchingMethod>City</matchingMethod>
</matchingRuleItems>
<matchingRuleItems>
<blankValueBehavior>NullNotAllowed</blankValueBehavior>
<fieldName>Name</fieldName>
<matchingMethod>CompanyName</matchingMethod>
</matchingRuleItems>
<ruleStatus>Inactive</ruleStatus>
</matchingRules>
</MatchingRules>
The following package.xml shows how to reference a matching rule by name. It specifies the type name of MatchingRule.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account.AccountMatchingRule</members>
<name>MatchingRule</name>
</types>
<version>61.0</version>
</Package>
The following package.xml shows how to reference all matching rules by specifying the plural MatchingRules type name and using
a wildcard to include all members.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MatchingRules</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1231
MatchingRuleMetadata Types
MessagingChannel
Represents the metadata associated with an Embedded Service Messaging channel.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
MessagingChannel components have the suffix messagingChannel and are stored in the messagingChannels folder.
Version
MessagingChannel components are available in API version 55.0 and later.
Special Access Rules
This type is available if your org has the Configure Messaging and View Setup and Configuration permissions for Messaging enabled.
Fields
DescriptionField Name
Field Type
MessagingAutoResponse[]
automatedResponses
Description
The auto-responses associated with the messaging channel.
Field Type
MessagingChannelCustomParameter[]
customParameters
Description
The custom parameters associated with the messaging channel.
Field Type
string
description
Description
The channel description.
Field Type
string
masterLabel
1232
MessagingChannelMetadata Types
DescriptionField Name
Description
Required. The channel label.
Field Type
MessagingChannelType (enumeration of type string)
messagingChannelType
Description
Required. Values are:
EmbeddedMessaging
VoiceAvailable in API version 58.0 and later.
Salesforces third-party Messaging channels, such as WhatsApp and Facebook
Messenger, dont use this metadata type.
Field Type
string
sessionHandlerFlow
Description
The Omni-Channel flow used to route the channels messaging sessions.
Field Type
string
sessionHandlerQueue
Description
Required. The queue used to route messages. If a sessionHandlerFlow is also selected,
sessionHandlerQueue is the fallback queue used if a message cant be routed using
the selected flow.
Field Type
MessagingSessionHandlerType (enumeration of type string)
sessionHandlerType
Description
Required. The method used to route messages in the channel. Values are:
Flow
Queue
Field Type
MessagingChannelStandardParameter[]
standardParameters
Description
Parameters added to the messaging channel.
MessagingAutoResponse
Represents an automatic response used in a channel.
1233
MessagingChannelMetadata Types
DescriptionField Name
Field Type
string
response
Description
Required. The text of the response.
Field Type
MessagingAutoResponseType (enumeration of type string)
type
Description
Required. The type of response, which affects when its used in a messaging session.
Values are:
AgentEndEngagementResponse
AgentEngagedResponse
InitialResponse
MessagingChannelCustomParameter
Represent a custom parameter added to a channel.
DescriptionField Name
Field Type
MessagingChannelActionParameterMapping[]
actionParameterMappings
Description
The mapping used to map the parameter value to a flow or task.
Field Type
string
externalParameterName
Description
Required. The external name of the parameter.
Field Type
string
masterLabel
Description
Required. The label of the parameter.
Field Type
int
maxLength
Description
The maximum length of the parameter value.
1234
MessagingChannelMetadata Types
DescriptionField Name
Field Type
string
name
Description
Required. The name of the parameter.
Field Type
FlowDataType (enumeration of type string)
parameterDataType
Description
Required. The format of the parameter. Values are:
Apex
Boolean
Currency
Date
DateTime
Multipicklist
Number
Picklist
SObject
String
MessagingChannelActionParameterMapping
Represents a mapping between a parameter and an Omni-Channel flow or agent task.
DescriptionField Name
Field Type
string
actionParameterName
Description
Required. The name of the flow that the custom or standard parameters are mapped
to.
MessagingChannelStandardParameter
Represents a standard parameter used to pass information into a channel.
DescriptionField Name
Field Type
MessagingChannelActionParameterMapping[]
actionParameterMappings
1235
MessagingChannelMetadata Types
DescriptionField Name
Description
The mapping associated with the parameter.
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
externalInteractionId
Description
An ID assigned to the external interaction, such as a campaign ID.
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
externalInteractionName
Description
The name of the external interaction, such as a campaign name.
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
externalInteractionType
Description
The type of external interaction, such as MarketingCampaign.
Field Type
MessagingChannelStandardParameterType (enumeration of type string)
parameterType
Description
Required. The type of parameter. Values are:
Email
FirstName
LastName
Subject
Declarative Metadata Sample Definition
The following is an example of a MessagingChannel component. This messaging channel passes custom and standard parameters from
the messaging channel to a flow, and it routes to a flow with a fallback queue.
<?xml version="1.0" encoding="UTF-8"?>
<MessagingChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<automatedResponses>
<response>Hello there!</response>
<type>InitialResponse</type>
</automatedResponses>
<automatedResponses>
<response>Your agent is looking into the issue now.</response>
<type>AgentEngagedResponse</type>
</automatedResponses>
<automatedResponses>
1236
MessagingChannelMetadata Types
<response>Bye!</response>
<type>AgentEndEngagementResponse</type>
</automatedResponses>
<customParameters>
<actionParameterMappings>
<actionParameterName>Flow_PhoneNumber</actionParameterName>
</actionParameterMappings>
<externalParameterName>PhoneNumber</externalParameterName>
<masterLabel>Phone Number</masterLabel>
<name>PhoneNumber</name>
<parameterDataType>Number</parameterDataType>
</customParameters>
<masterLabel>Initial Message</masterLabel>
<messagingChannelType>EmbeddedMessaging</messagingChannelType>
<sessionHandlerFlow>FlowName</sessionHandlerFlow>
<sessionHandlerQueue>FallbackQueueName</sessionHandlerQueue>
<sessionHandlerType>Flow</sessionHandlerType>
<standardParameters>
<actionParameterMappings>
<actionParameterName>Flow_LastName</actionParameterName>
</actionParameterMappings>
<parameterType>LastName</parameterType>
</standardParameters>
<standardParameters>
<actionParameterMappings>
<actionParameterName>Flow_FirstName</actionParameterName>
</actionParameterMappings>
<parameterType>FirstName</parameterType>
</standardParameters>
<standardParameters>
<actionParameterMappings>
<actionParameterName>Flow_Email</actionParameterName>
</actionParameterMappings>
<parameterType>Email</parameterType>
</standardParameters>
<standardParameters>
<actionParameterMappings>
<actionParameterName>Flow_Subject</actionParameterName>
</actionParameterMappings>
<parameterType>Subject</parameterType>
</standardParameters>
</MessagingChannel>
If you route the messaging channel to a queue, theres no fallback flow.
<?xml version="1.0" encoding="UTF-8"?>
<MessagingChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>EmbeddedChannel2</masterLabel>
<messagingChannelType>EmbeddedMessaging</messagingChannelType>
<sessionHandlerQueue>DemoQueueName</sessionHandlerQueue>
<sessionHandlerType>Queue</sessionHandlerType>
</MessagingChannel>
1237
MessagingChannelMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MessagingChannel</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Metadata
The base class for all metadata types. You cant edit this object. A component is an instance of a metadata type.
Metadata is analogous to sObject, which represents all standard objects. Metadata represents all components and fields in the Metadata
API. Instead of identifying each component with an ID, each custom object or custom field has a unique fullName, which must be
distinct from standard object names, as it must be when you create custom objects or custom fields in the Salesforce user interface.
Version
Metadata components are available in API version 10.0 and later.
Fields
DescriptionField TypeField Name
Required. The name of the component. For components with parent
objects, such as fields and list views, the name must specify the name of
stringfullName
the parent, for example Account.FirstName. The __c suffix must
be appended to custom object names and custom field names when
youre setting the fullName. For example, a custom field in a custom
object could have a fullName of
MyCustomObject__c.MyCustomField__c.
To reference a component in a package, prepend the packages
namespace prefix to the component name in the fullName field. Use
the following syntax: namespacePrefix__ComponentName.
For example, for the custom field component
MyCustomObject__c.MyCustomField__c and the namespace
MyNS, the full name is
MyNS__MyCustomObject__c.MyCustomField__c.
A namespace prefix is a 1-character to 15-character alphanumeric
identifier that distinguishes your package and its contents from other
1238
MetadataMetadata Types
DescriptionField TypeField Name
publishers packages. For more information, see Create and Register Your
Namespace for Second-Generation Managed Packages.
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomObject
CustomField
MetadataWithContent
MetadataWithContent
MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends
Metadata. You cant edit this object.
Version
MetadataWithContent components are available in API version 14.0 and later.
Fields
DescriptionField TypeField Name
Base 64-encoded binary data. Before making an API call, client applications
must encode the binary attachment data as base64. Upon receiving a
base64Binarycontent
response, client applications must decode the base64 data to binary. This
conversion is handled for you by a SOAP client.
Required. The name of the component. The fullName can contain
only underscores and alphanumeric characters. It must be unique, begin
stringfullName
with a letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores.
Inherited from the Metadata component, this field isnt defined in the
WSDL for this component. It must be specified when creating, updating,
or deleting. See create() to see an example of this field specified for a call.
1239
MetadataWithContentMetadata Types
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Metadata
MfgProgramTemplate
Represents a definition of a program to create a program-based business. A program-based business, also known as a Manufacturing
Program, enables manufacturers to drive their business models with forecasting tools and manage the end-to-end sales process efficiently.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
MfgProgramTemplate components have the suffix .mfgProgramTemplate and are stored in the MfgProgramTemplate
folder.
Version
MfgProgramTemplate components are available in API version 54.0 and later.
Special Access Rules
The program-based business feature setting for Manufacturing Cloud is required to create a program template.
Fields
DescriptionField Name
Field Type
string
description
Description
The description of the manufacturing program template.
Field Type
MfgProgramTemplateItem[]
programTemplateItems
Description
The list of templates associated with the manufacturing program template.
1240
MfgProgramTemplateMetadata Types
DescriptionField Name
Field Type
string
programTemplateName
Description
Required.
The unique identifier for the manufacturing program template.
Field Type
MfgProgramTemplateStatus (enumeration of type string)
status
Description
Required.
The status of the manufacturing program template.
Values are:
Active
Draft
Inactive
The default value is Active.
MfgProgramTemplateItem
A program template item defines each of the templates associated with a manufacturing program. A template item includes program
details, such as a data transformation type and a display order. Transformation type is the method to forecast business visibility to
manufacturers.
DescriptionField Name
Field Type
string
advAccountForecastSet
Description
The forecast set associated with the transformation.
Field Type
string
description
Description
The description of the manufacturing program template item.
Field Type
string
templateItemName
Description
Required.
The name of the manufacturing program template item.
1241
MfgProgramTemplateMetadata Types
DescriptionField Name
Field Type
int
transformationDisplayOrder
Description
Required.
The display order of the transformation in the manufacturing program template.
Field Type
MfgProgramTransformationType (enumeration of type string)
transformationType
Description
Required.
Specifies the type of transformation.
Values are:
BusinessTransformation
ForecastSetRelation
Declarative Metadata Sample Definition
The following is an example of a MfgProgramTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<MfgProgramTemplate xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<description>Program Template</description>
<programTemplateItems>
<templateItemName>Template Item #1</templateItemName>
<transformationDisplayOrder>1</transformationDisplayOrder>
<transformationType>BusinessTransformation</transformationType>
<description>Program Template Item</description>
</programTemplateItems>
<programTemplateName>Sample Program Template</programTemplateName>
<status>Draft</status>
</MfgProgramTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MfgProgramTemplate</name>
</types>
<version>54.0</version>
</Package>
1242
MfgProgramTemplateMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MilestoneType
Represents the name and description of a milestone, which you can use in an entitlement process to track important steps in cases.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Milestone types are stored in the milestoneTypes directory of the corresponding package directory. The extension is
.milestoneType.
Version
MilestoneType on page 1243 is available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
The description of the milestone.stringdescription
The type of recurrence for the milestone. Available in API version 29.0
and later. Valid values are:
MilestoneTypeRecurrenceType
(enumeration of
type string)
RecurrenceType
noneSpecifies no recurrence for the milestone. The milestone
occurs only one time until the entitlement process exits.
recursIndependentlySpecifies independent recurrence
for the milestone.
recursChainedSpecifies sequential recurrence for the
milestone.
Declarative Metadata Sample Definition
Heres a sample milestone type.
<?xml version="1.0" encoding="UTF-8"?>
<MilestoneType xmlns="http://soap.sforce.com/2006/04/metadata">
<description>First Response Time</description>
</MilestoneType>
And, heres the sample package.xml file that references the MilestoneType component definition:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
1243
MilestoneTypeMetadata Types
<types>
<members>* or a valid name of a milestone type</members>
<name>MilestoneType</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MlDomain
Represents an Einstein Intent Set. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
MlDomain components have the suffix .mlDomain and are stored in the mlDomains folder.
Version
MlDomain components are available in API version 43.0 and later.
Special Access Rules
This object is available only if Chat and Einstein Bots are enabled in your org.
Fields
DescriptionField TypeField Name
Einstein Intent Set description.stringdescription
Einstein Intent Set name.stringlabel
List of intents under this Einstein Intent Set.MlIntent[]mlIntents
List of entities under this Einstein Intent Set.MlSlotClass[]mlSlotClasses
MlIntent
An intent in an Einstein Intent Set.
DescriptionField TypeField Name
Einstein Intent Set description.stringdescription
1244
MlDomainMetadata Types
DescriptionField TypeField Name
Required. This unique name prevents conflicts with other Einstein Intent Sets
associated with the same bot version. This name can contain only underscores
stringdeveloperName
and alphanumeric characters and must be unique in your org. It must begin
with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Einstein Intent Set name.stringlabel
List of customer inputs for this intent.MlIntentUtterance[]mlIntentUtterances
List of intents within an Einstein Intent Set used to expand customer inputs for
this intent. Only intents within local Einstein Intent Sets have related intents.
MlRelatedIntent[]relatedMlIntents
MlIntentUtterance
A customer input for this intent.
DescriptionField TypeField Name
A customer input or natural language query that triggers the parent intent.stringutterance
MlRelatedIntent
An intent in an Einstein Intent Set used to expand customer inputs for this intent. Only intents within local Einstein Intent Sets have
related intents.
DescriptionField TypeField Name
Name of the intent that is used to extend the customer inputs of the current
parent intent.
stringrelatedMlIntent
MlSlotClass
An entity in this Einstein Intent Set.
DescriptionField TypeField Name
A list of the data types available for the MISlotClass. Valid values are:MlSlotClassDataType
(enumeration of type
string)
dataType
Text
Number
Boolean
Date
DateTime
1245
MlDomainMetadata Types
DescriptionField TypeField Name
Currency
A description of an Einstein Bot entity.stringdescription
Required. This unique name prevents conflicts with other entities in an Einstein
Intent Set. This name can contain only underscores and alphanumeric
stringdeveloperName
characters, and must be unique in your org. It must begin with a letter, not
include spaces, not end with an underscore, and not contain two consecutive
underscores.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Regular expression used to extract an entity when the type is set to Pattern.stringextractionRegex
Required. Valid values are:MlSlotClassExtractionType
(enumeration of type
string)
extractionType
Pattern
Value
Label that identifies an entity throughout the Salesforce user interface.stringlabel
List of entity values associated with an entity of type Value.MlSlotClassValue[]mlSlotClassValues
MlSlotClassValue
An entity value associated with an entity of type Value.
DescriptionField TypeField Name
Represents a list of terms or synonyms for the current entity value.SynonymGroupsynonymGroup
Single value used to extract an entity of type Value.stringvalue
SynonymGroup
Represents a group of synonymous words or phrases.
DescriptionField TypeField Name
Required. Specifies the languages the value list applies to. If value list items are
specific to a single language, specify only that language. If the value list items
apply to multiple languages, specify multiple languages for one value list.
Language
(enumeration of type
string)
languages
Required. A word or phrase synonymous with other terms in the value list.stringterms
1246
MlDomainMetadata Types
Declarative Metadata Sample Definition
The following is an example of an MlDomain.
<?xml version="1.0" encoding="UTF-8"?>
<MlDomain xmlns="http://soap.sforce.com/2006/04/metadata">
<label>TestDomainMetadata</label>
<description>This is domain 2 for metadata testing</description>
<mlIntents>
<developerName>Test_Intent_New</developerName>
<label>Test Intent New</label>
<mlIntentUtterances>
<utterance>Utterance Hello</utterance>
</mlIntentUtterances>
<mlIntentUtterances>
<utterance>Utterance Hi</utterance>
</mlIntentUtterances>
<mlIntentUtterances>
<utterance>Utterance What</utterance>
</mlIntentUtterances>
</mlIntents>
<mlIntents>
<developerName>Test_Intent_New2</developerName>
<label>Test Intent New 2</label>
</mlIntents>
<mlSlotClasses>
<developerName>Test_Entity1</developerName>
<label>Test Entity 1</label>
<extractionType>Value</extractionType>
<mlSlotClassValues>
<value>Choice value 1</value>
</mlSlotClassValues>
<mlSlotClassValues>
<value>Choice value 2</value>
</mlSlotClassValues>
</mlSlotClasses>
<mlSlotClasses>
<developerName>Test_Entity2</developerName>
<label>Test Entity 2</label>
<extractionType>Pattern</extractionType>
</mlSlotClasses>
<mlSlotClasses>
<dataType>Text</dataType>
<description>Valid Email Address</description>
<developerName>Email</developerName>
<extractionRegex>\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b</extractionRegex>
<extractionType>Pattern</extractionType>
<label>Email</label>
</mlSlotClasses>
<mlSlotClasses>
<developerName>airport</developerName>
<extractionType>Value</extractionType>
<label>airport</label>
<mlSlotClassValues>
<synonymGroup>
1247
MlDomainMetadata Types
<languages>en_US</languages>
<terms>San Francisco</terms>
<terms>The City</terms>
</synonymGroup>
<value>SFO</value>
</mlSlotClassValues>
<mlSlotClassValues>
<synonymGroup>
<languages>en_US</languages>
<terms>Oakland</terms>
<terms>The Town</terms>
</synonymGroup>
<value>OAK</value>
</mlSlotClassValues>
</mlSlotClasses>
</MlDomain>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>TestDomainMetadata</members>
<name>MlDomain</name>
</types>
<version>43.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MLDataDefinition
Represents a modeling data definition, which specifies the data used to create a model. Such data can include filters, fields to include,
fields to exclude, and so on. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
MLDataDefinition components have the suffix .mlDataDefinition and are stored in the mlDataDefinitions folder.
Version
MLDataDefinition is available in API version 50.0 and later.
1248
MLDataDefinitionMetadata Types
Fields
DescriptionField TypeField Name
Required. Represents the name of the data definition. Can contain only
underscores and alphanumeric characters and must be unique in your
stringdeveloperName
org. It must begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this
field.
Required. The developer name of the object from which the model data
is retrieved.
stringentityDeveloperName
Note: After the MLDataDefinition entity is created,
entityDeveloperName cant be updated.
Fields that are excluded from the model.string[]excludedFields
Fields that are included in the model.string[]includedFields
Reserved for future use.MLField[]joinFields
Reserved for future use.stringparentDefinitionDevName
Specifies records to which the prediction scores are written.MLFilterscoringFilter
This field further filters data used in training and scoring when
segmentFilter is combined with both scoringFilter and
trainingFilter. For example, select all records in a specific region.
MLFiltersegmentFilter
Specifies the records that make up the training set.MLFiltertrainingFilter
Required. Valid values are:MLDataDefinitionType
(enumeration of
type string)
type
Candidate
Interaction
Prediction
Recipient
Note: After the model is created, type cant be updated.
MLField
Represents a single field in the data definition. Available in API version 50.0 and later.
DescriptionField TypeField Name
Required. The object that contains the field.stringentity
1249
MLDataDefinitionMetadata Types
DescriptionField TypeField Name
Required. The name of the field.stringfield
Reserved for future use.MLFieldrelatedField
Reserved for future use. Valid values are:MLRelationType
(enumeration of type
string)
relationType
Full
Inner
Leftinner
Leftouter
Required. How the field is used in a prediction. Valid values are:MLFieldType
(enumeration of type
string)
type
Excluded
Expression
Included
Join
Prediction
Pushback
Related
SourceDate
MLFilter
Represents a data filter based on a data comparison. For each comparison, theres a left-hand element, an operator, and a right-hand
element. For each record, only one of these left-hand elements is populated: lhFilter, lhPredictionField, or lhValue.
Similarly, for each record, only one of these right-hand elements is populated: rhFilter, rhPredictionField, or rhValue.
Available in API version 50.0 and later.
DescriptionField TypeField Name
Required. Name of the filter.stringfilterName
Left-hand filter condition.MLFilterlhFilter
Left-hand prediction field.stringlhPredictionField
The value type if a left-hand value is specified. Valid values are:AIValueType
(enumeration of type
string)
lhType
Boolean
Comparison
Currency
Date
DateTime
Number
String
1250
MLDataDefinitionMetadata Types
DescriptionField TypeField Name
Supplier
Varchar
The unit if a left-hand filter is specified. Valid values are:AIFilterUnit
(enumeration of type
string)
lhUnit
Milliseconds
Seconds
Minutes
Hours
Days
Weeks
Months
Years
The left-hand value.stringlhValue
Required. Valid values are:AIFilterOperation
(enumeration of type
string)
operation
And
Or
Not
LessThan
LessThanOrEqual
GreaterThan
GreaterThanOrEqual
Equals
NotEquals
Add
Subtract
Multiply
Divide
IsNull
IsNotNull
StartsWith
EndsWith
Contains
Concat
DoesNotContain
Between
In
Right-hand filter condition.MLFilterrhFilter
1251
MLDataDefinitionMetadata Types
DescriptionField TypeField Name
Right-hand prediction field.stringrhPredictionField
The value type if a right-hand value is specified. Valid values are:AIValueType
(enumeration of type
string)
rhType
Boolean
Comparison
Currency
Date
DateTime
Number
String
Supplier
Varchar
The unit if a right-hand filter is specified. Valid values are:AIFilterUnit
(enumeration of type
string)
rhUnit
Milliseconds
Seconds
Minutes
Hours
Days
Weeks
Months
Years
The right-hand value.stringrhValue
Specifies the order of operations for evaluating the expressions. For example,
if you have two conditions, this field specifies which condition is evaluated
first.
intsortOrder
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MLPredictionDefinition
Represents a prediction definition that specifies details about the prediction. This type extends the Metadata metadata type and inherits
its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1252
MLPredictionDefinitionMetadata Types
File Suffix and Directory Location
MLPredictionDefinition components have the suffix .mlPrediction and are stored in the mlPredictions folder.
Version
MLPredictionDefinition is available in API version 50.0 and later.
Fields
DescriptionField TypeField Name
Required. Represents the developer name of the parent AI application. Can
contain only underscores and alphanumeric characters and must be unique
stringaiApplicationDeveloperName
in your org. It must begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
Description of the prediction.stringdescription
Required. Represents the name of the prediction definition. Can contain only
underscores and alphanumeric characters and must be unique in your org. It
stringdeveloperName
must begin with a letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores.
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Label that identifies the ML prediction definition throughout the Salesforce
user interface.
stringmasterLabel
Reserved for future use.MLFilternegativeExpression
Reserved for future use.MLFilterpositiveExpression
Field that the prediction is based on.stringpredictionField
Reflects the priority of the MLPD object when an AIApplication has multiple
child MLPDs. Nillable.
intpriority
Field that the prediction writes scores to.stringpushbackField
Required. The status of the prediction. Valid values are:MLPredictionDefinitionStatus
(enumeration of type
string)
status
Enabled
Disabled
Draft
Required. The type of model that returns the prediction values. Valid values
are:
AIPredictionType
(enumeration of type
string)
type
BinaryClassification
DeepLearningIntentClassification
DeepLearningNameEntityRecognition
1253
MLPredictionDefinitionMetadata Types
DescriptionField TypeField Name
GlobalDeepLearningIntentClassification
GlobalDeepLearningNameEntityRecognition
LanguageDetection
MulticlassClassification
Regression
ScoringSpecificOutcome
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MobileApplicationDetail
Represents the packaging attributes for a mobile connected app. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
MobileApplicationDetail components have the suffix MobileApplicationDetail and are stored in the
MobileApplicationDetails folder.
Version
MobileApplicationDetail components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Base 64-encoded binary data file for the mobile app.base64applicationBinaryFile
Filename for the mobile app binary data file.stringapplicationBinaryFileName
iOS apps only: the unique application bundle identifier.stringapplicationBundleIdentifier
The length of the mobile app binary data file.intapplicationFileLength
iOS apps only: the application icon.stringapplicationIconFile
iOS apps only: the application icon filename.stringapplicationIconFileName
URL to install the mobile app.stringapplicationInstallUrl
1254
MobileApplicationDetailMetadata Types
DescriptionField TypeField Name
Required. Platform that supports the mobile app. The valid values are:DevicePlatformType
(enumeration of
type string)
devicePlatform
android
ios
Supported device type for mobile app. The valid values are:stringdeviceType
minitablet
phone
tablet
Minimum OS version required to install the mobile app.stringminimumOsVersion
Specifies whether the mobile app is private (true) or not (false).booleanprivateApp
Required. Version number of the mobile app.stringversion
Usage
When you create a connected app in Salesforce Classic or Lightning Experience and enter mobile app settings, those settings are stored
in a MobileApplicationDetail component. In this example, the metadata retrieved for a connected app includes MobileApplicationDetail
metadata.
<?xml version="1.0" encoding="UTF-8"?>
<<ConnectedApp xmlns="http://soap.sforce.com/2006/04/metadata">
<contactEmail>[email protected]</contactEmail>
<label>MobileApplicationDetailConnectedApp</label>
<mobileAppConfig>
<applicationBinaryFile></applicationBinaryFile>
<applicationInstallUrl>https://appstore.apple.com/MobileApplicationDetail
</applicationInstallUrl>
<devicePlatform>ios</devicePlatform>
<deviceType>phone</deviceType>
<privateApp>false</privateApp>
<version>0.0.0.0</version>
</mobileAppConfig>
< . mobileStartUrl>https://www.salesforce.com</mobileStartUrl>
</ConnectedApp>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
MobileSecurityAssignment
Represents the assignment of mobile app security policies to a profile. The policies apply to the Salesforce mobile app with Enhanced
Mobile App Security enabled.
1255
MobileSecurityAssignmentMetadata Types
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
MobileSecurityAssignment components have the suffix .mobileSecurityAssignment and are stored in the
mobileSecurityAssignments folder.
Version
MobileSecurityAssignment components are available in API version 54.0 and later.
Special Access Rules
The Enhanced Mobile App Security add-on subscription and the Enforce Enhanced Mobile App Security user permission are required
to use this metadata type.
Fields
DescriptionField Name
Field Type
string
connectedApplication
Description
The name of the connected app thats associated with the mobile security policies
assignment.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default is false.
Field Type
string
masterLabel
Description
Required. A user-friendly name for MobileSecurityAssignment, which is defined when
the MobileSecurityAssignment component is created.
1256
MobileSecurityAssignmentMetadata Types
DescriptionField Name
Field Type
string
profile
Description
The profile that the mobile security policies are assigned to.
Declarative Metadata Sample Definition
The following is an example of a MobileSecurityAssignment component.
<?xml version="1.0" encoding="UTF-8"?>
<MobileSecurityAssignment xmlns="http://soap.sforce.com/2006/04/metadata">
<connectedApplication>MyMobileConnectedApp</connectedApplication>
<isProtected>false</isProtected>
<masterLabel>MyMobileSecurityAssignment</masterLabel>
<profile>admin</profile>
</MobileSecurityAssignment>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MobileSecurityAssignment</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MobileSecurityPolicy
Represents a mobile app security policy on the Salesforce mobile app with Enhanced Mobile App Security enabled. For a full description
of each policy, see Enable and Configure Mobile App Security Policies.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
1257
MobileSecurityPolicyMetadata Types
File Suffix and Directory Location
MobileSecurityPolicy components have the suffix .mobileSecurityPolicy and are stored in the mobileSecurityPolicies
folder.
Version
MobileSecurityPolicy components are available in API version 53.0 and later.
Special Access Rules
The Enhanced Mobile App Security add-on subscription and the Enforce Enhanced Mobile App Security user permission are required
to use this metadata type.
Fields
DescriptionField Name
Field Type
dateTime
effectiveDate
Description
The date that a mobile security policy is enforced.
Field Type
boolean
isEnabled
Description
Required. Indicates whether the mobile security policy is enabled. The default value
is false, which means that the policy is disabled.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default value is false.
Field Type
string
masterLabel
Description
Required. A user-friendly name for MobileSecurityPolicy, which is defined when the
MobileSecurityPolicy component is created.
Field Type
MobileSecurityMobilePlatform (enumeration of type string)
mobilePlatform
1258
MobileSecurityPolicyMetadata Types
DescriptionField Name
Description
The mobile operating system of the mobile security policy.
Values are:
Android
iOS
Field Type
string
mobileSecurityAssignment
Description
The name of the mobile security assignment associated with the mobile security policy.
See MobileSecurityAssignment on page 1255.
Field Type
string
ruleValue
Description
Required. The value of the mobile security policy rule.
Field Type
MobileSecurityPolicyRuleValueType (enumeration of type string)
ruleValueType
Description
Required. The type of mobile security policy rule.
Values are:
Boolean
Text
TextList
Field Type
MobileSecurityPolicySeverityLevel (enumeration of type string)
severityLevel
Description
Required. The severity level of a mobile security policy.
Values are:
Critical Wipes app data and logs user out
ErrorBlocks access to the app until the issue is resolved, but doesnt log user
out
Info Blocks prohibited action or logs user action and informs user
WarnNotifies the user of the violation and recommends how to resolve, but
user is able to continue using the app
Field Type
MobileSecurityPolicyType (enumeration of type string)
type
1259
MobileSecurityPolicyMetadata Types
DescriptionField Name
Description
Required. The type of mobile security policy.
Values are:
AllowedDeviceList
Block3dTouch
BlockCalendar
BlockCamera
BlockContacts
BlockCustomKeyboard
BlockFileBackup
BlockMicrophone
BlockOsSharing
BlockedDeviceList
BrowserUriScheme
CheckBiometric
DevicePasscode
DisableUrlCaching
JailbrokenDevice
LogCertPin
LogEmail
LogPhonecall
LogPolicyResult
LogScreenshot
LogTextmessage
LogoutAfterRestart
LogoutOnBiometricChange
MalwareDetection
ManInMiddle
MaxOffline
MaximumAppVersion
MaximumOsVersion
MinimumAppVersion
MinimumOsVersion
MinimumSecurityPatchVersion
MininumAppVersion
PhonecallUriScheme
Screenshot
1260
MobileSecurityPolicyMetadata Types
Declarative Metadata Sample Definition
The following is an example of a MobileSecurityPolicy component.
<?xml version="1.0" encoding="UTF-8"?>
<MobileSecurityPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<effectiveDate>2022-08-09T22:04:56.000Z</effectiveDate>
<isEnabled>true</isEnabled>
<isProtected>false</isProtected>
<masterLabel>MyMobileSecurityPolicy</masterLabel>
<mobileSecurityAssignment>MyMobileSecurityAssignment</mobileSecurityAssignment>
<ruleValue>true</ruleValue>
<ruleValueType>Boolean</ruleValueType>
<severityLevel>info</severityLevel>
<type>BlockCalendar</type>
<mobilePlatform>Android</mobilePlatform>
</MobileSecurityPolicy>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MobileSecurityPolicy</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MobSecurityCertPinConfig
Represents the authentication server certificate pin configuration on the Salesforce mobile app with Enhanced Mobile Security.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
MobSecurityCertPinConfig components have the suffix .mobSecurityCertPinConfig and are stored in the
mobSecurityCertPinConfigs folder.
1261
MobSecurityCertPinConfigMetadata Types
Version
MobSecurityCertPinConfig components are available in API version 53.0 and later.
Special Access Rules
The Enhanced Mobile App Security add-on subscription and the Enforce Enhanced Mobile App Security user permission are required
to use this metadata type.
Fields
DescriptionField Name
Field Type
string
certificateHash
Description
Required. The unique identifier for the certificate.
Field Type
string
domainName
Description
Required.
The name of the domain for the server that you want to pin the certificate to. For
example, https://MyDomainName.my.salesforce.com.
Field Type
boolean
isEnabled
Description
Required. Indicates whether authentication server certificate pinning is enabled. The
default value is false, which means that certificate pinning is disabled.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default value is false.
Field Type
boolean
isSubdomainIncluded
Description
Required. Indicates whether subdomains use the same certificate pinning configuration
as the specified domainName. The default value is false.
1262
MobSecurityCertPinConfigMetadata Types
DescriptionField Name
Field Type
string
masterLabel
Description
Required. A user-friendly name for MobSecurityCertPinConfig, which is defined when
the MobSecurityCertPinConfig component is created.
Field Type
MobileSecurityMobilePlatform (enumeration of type string)
mobilePlatform
Description
The mobile operating system.
Values are:
Android
iOS
Field Type
string
mobileSecurityAssignment
Description
The name of the mobile security assignment associated with the mobile security policy.
See MobileSecurityAssignment on page 1255.
Field Type
MobileSecurityPolicySeverityLevel (enumeration of type string)
severityLevel
Description
Required. The severity level of the mobile security policy.
Values are:
Critical Wipes app data and logs user out
ErrorBlocks access to the app until the issue is resolved, but doesnt log user
out
Info Blocks prohibited action or logs user action and informs user
WarnNotifies the user of the violation and recommends how to resolve, but
user is able to continue using the app
Field Type
MobileSecurityCertPinType (enumeration of type string)
type
Description
Required. The type of pin.
Values are:
AuthServer
Resource
1263
MobSecurityCertPinConfigMetadata Types
Declarative Metadata Sample Definition
The following is an example of a MobSecurityCertPinConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<MobileSecurityCertPinConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<certificateHash>AaBbCcDdEeFfGg</certificateHash>
<domainName>login.salesforce.com</domainName>
<isEnabled>true</isEnabled>
<isProtected>false</isProtected>
<masterLabel>AuthenticationServerCertificatePinning</masterLabel>
<mobilePlatform>Android</mobilePlatform>
<mobileSecurityAssignment>MyMobileSecurityAssignment</mobileSecurityAssignment>
<severityLevel>info</severityLevel>
<type>AuthServer</type>
</MobileSecurityCertPinConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MobileSecurityCertPinConfig</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ModerationRule
Represents a rule used in your Experience Cloud site to moderate member-generated content. Each rule specifies the member-generated
content the rule applies to, the criteria to enforce the rule on, and the moderation action to take. Moderation rules help protect your
site from spammers, bots, and offensive or inappropriate content. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Moderation rules created with the Metadata API are more powerful than moderation rules set up in the Experience Management UI. For
example, in the UI you could create a rule that moderates posts and comments. In the Metadata API you could create a rule that moderates
only the Link Name of a Link feed type. Use the Metadata API to express complex moderation rules.
Important: Dont update moderation rules you create using the Metadata API in the Experience Management UI. If you do, you
overwrite relevant Metadata API fields or the fields are ignored.
Keep the following things in mind when creating moderation rules:
Your org can have up to 30 rules. This limit is per org, not per site. This limit includes both content rules and rate rules.
Each rule can have up to three keyword criteria.
1264
ModerationRuleMetadata Types
Rules that block content run first, followed by rules to review and approve content, then rules that replace content, and last by rules
that flag content. If two or more rules perform the same action, the oldest rule runs first, based on the date the rule was created.
Rules to replace content dont run when the content also applies to a review rulewe want community managers to review the
original content.
File Suffix and Directory Location
ModerationRule components have the suffix .rule and are stored in the moderation directory of the corresponding package
directory. The file name format follows site_name.moderation_rule_developer_name.rule.
Version
ModerationRule components are available in API version 36.0 and later.
Special Access Rules
To view, create, edit, and delete moderation rules, you need the Manage Experiences or Create and Set Up Experiences permission. As
of Spring 20 and later, only users with permission to edit moderation rules can access this object.
Fields
DescriptionField TypeField Name
Required. Indicates the moderation action that you want to take. The
valid values are:
ModerationRuleAction
(enumeration of
type string)
action
Block
Review
Replace
Flag
FreezeAndNotify (Reserved for future use.)
Indicates the moderation action limit. Available in API 39.0 and later.intactionLimit
Required. Indicates whether the moderation rule is active (true) or
inactive (false).
booleanactive
A description of the moderation rule.stringdescription
Indicates the types of user-generated content this moderation rule
applies to.
ModerateEntityField[]entitiesAndFields
Required. Label for the moderation rule.stringmasterLabel
Indicates the notification limit of the moderation rule. Available in API
39.0 and later.
intnotifyLimit
Represents the member criteria to use in moderation rules. Available in
API 39.0 and later.
stringuserCriteria
1265
ModerationRuleMetadata Types
DescriptionField TypeField Name
The message you want your members to see when their content is
blocked. Use the %BLOCKED_KEYWORD% variable to display up to
stringuserMessage
five blocked words in the user message. If you dont specify a message,
the member sees the standard message: You cant use
%BLOCKED_KEYWORD% or other inappropriate words in this site.
Review your content and try again.
ModeratedEntityField
The fields and entities you want to moderate.
DescriptionField TypeField Name
Required. Indicates the types of user-generated content the moderation rule
applies to. Post and comments only apply to content created in groups and
user profiles. All feed types, such as polls and links, are supported.
stringentityName
Indicates the field the moderation rule applies to.stringfieldName
Note: To moderate feed posts, use entityName FeedItem with
fieldName RawBody. To moderate feed comments, use
entityName FeedComment with fieldName
RawCommentBody. The RawBody and RawCommentBody
fields arent available in any other API.
Indicates the keyword list that you want to moderate against.KeywordList stringkeywordList
ModerationRuleType
Required. Indicates the type of rule to run on user-generated content.
DescriptionField TypeField Name
Required. Indicates the type of rule to run on user-generated content. Valid
values are:
(enumeration of type
string)
type
Content
Rate
Available in API 39.0 and later.
RateLimitTimePeriod
Required. Indicates the time period that is applied to the rate limit.
1266
ModerationRuleMetadata Types
DescriptionField TypeField Name
Required. Indicates the time period that is applied to the rate limit. Valid values
are:
(enumeration of type
string)
timePeriod
Short
Medium
Available in API 39.0 and later.
Declarative Metadata Sample Definition
The following is an example of a ModerationRule component.
<?xml version="1.0" encoding="UTF-8"?>
<ModerationRule xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Blocks Bad Word List in posts, comments, Link URLs, titles, and poll
choices.</description>
<masterLabel>Blocking Rule</masterLabel>
<action>Block</action>
<active>true</active>
<userMessage>You can't use %BLOCKED_KEYWORD% or other inappropriate words in this site.
Review your content and try again.</userMessage>
<!-- Applies the rule to FeedComment.RawCommentBody (an internal only field), if it
contains words from the keyword list specified -->
<entitiesAndFields>
<entityName>FeedComment</entityName>
<fieldName>RawCommentBody</fieldName>
<keywordList>site1.badword_list</keywordList>
</entitiesAndFields>
<entitiesAndFields>
<entityName>FeedItem</entityName>
<fieldName>LinkUrl</fieldName>
<keywordList>site1.badword_list</keywordList>
</entitiesAndFields>
<!-- Applies the rule to FeedItem.RawBody (an internal only field), if it contains words
from the keyword list specified -->
<entitiesAndFields>
<entityName>FeedItem</entityName>
<fieldName>RawBody</fieldName>
<keywordList>site1.badword_list</keywordList>
</entitiesAndFields>
<entitiesAndFields>
<entityName>FeedItem</entityName>
<fieldName>Title</fieldName>
<keywordList>site1.badword_list</keywordList>
</entitiesAndFields>
<entitiesAndFields>
<entityName>FeedPollChoice</entityName>
<fieldName>ChoiceBody</fieldName>
<keywordList>site1.badword_list</keywordList>
</entitiesAndFields>
</ModerationRule>
1267
ModerationRuleMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>ModerationRule</name>
<members>site1.blocking_rule</members>
</types>
<version>36.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MutingPermissionSet
Represents a set of disabled permissions and is used in conjunction with PermissionSetGroup.
This type extends the PermissionSet metadata type.
Declarative Metadata File Suffix and Directory Location
Muting permission sets are stored in the mutingpermissionsets directory. The file name matches the muting permission set
API name and the extension is .mutingpermissionset. For example, a mutingpermissionsets with the name
Finance_Mgmt_MutingPermSet is stored in
mutingpermissionsets/Finance_Mgmt_MutingPermSet.mutingpermissionset.
Version
This object is available in API version 46.0 and later.
Special Access Rules
As of Summer 20 and later, only users who have one of these permissions can access this type:
View Setup and Configuration
Manage Session Permission Set Activations
Assign Permission Sets
Manage Profiles and Permission Sets
To view the following settings, assignments, and permissions for standard and custom objects in a specified muting permission set, the
View Setup and Configuration permission is required.
Client settings
Field permissions
Layout assignments
Object permissions
1268
MutingPermissionSetMetadata Types
Permission dependencies
Permission set tab settings
Permission set group components
Record types
Fields
MutingPermissionSet has the same fields as PermissionSet, plus a single field, label, used to name a MutingPermissionSet. Unlike
PermissionSet, settings enabled by MutingPermissionSet are turned off for the permission set group that its a component of.
DescriptionField TypeField
Required. The name of the muting permission set.stringlabel
Declarative Metadata Sample Definition
The following example deploys a MutingPermissionSet used in a Permission Set Group intended for users submitting job applications
for a custom application. The muting permission set has administrative permissions enabled to ensure that theyre muted in the Permission
Set Group.
<?xml version="1.0" encoding="UTF-8"?>
<MutingPermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Job Apps User Muted</label>
<description>Mutes any administrative tasks for the Job Apps user</description>
<hasActivationRequired>false</hasActivationRequired>
<license>Salesforce</license>
<applicationVisibilities>
<application>JobApps__Approval</application>
<visible>true</visible>
</applicationVisibilities>
<classAccesses>
<apexClass>ApprovalUtility</apexClass>
<enabled>true</enabled>
</classAccesses>
<customPermissions>
<enabled>true</enabled>
<name>JobAppApprover</name>
</customPermissions>
<fieldPermissions>
<editable>false</editable>
<field>Job_Request__c.Salary__c</field>
<readable>true</readable>
</fieldPermissions>
<objectPermissions>
<allowCreate>true</allowCreate>
<allowDelete>true</allowDelete>
<allowEdit>true</allowEdit>
<allowRead>true</allowRead>
<customizeSetup>true</customizeSetup>
<deleteSetup>true</deleteSetup>
<modifyAllRecords>true</modifyAllRecords>
1269
MutingPermissionSetMetadata Types
<object>Approval_Confirmation__c</object>
<viewAllRecords>true</viewAllRecords>
<viewSetup>true</viewSetup>
</objectPermissions>
<pageAccesses>
<apexPage>Job_Approval_Web_Form</apexPage>
<enabled>true</enabled>
</pageAccesses>
<recordTypeVisibilities>
<recordType>Approval_Confirmation__c.DevManager</recordType>
<visible>true</visible>
</recordTypeVisibilities>
<tabSettings>
<tab>Approval_Confirmation__c</tab>
<visibility>Visible</visibility>
</tabSettings>
</MutingPermissionSet>
The following is an example package.xml manifest used to retrieve the MutingPermissionSet metadata for an organization.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Job_Apps_User</members>
<name>PermissionSetGroup</name>
</types>
<types>
<members>Job_Apps_User_Muted</members>
<name>MutingPermissionSet</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
PermissionSet
MyDomainDiscoverableLogin
Represents the configuration settings when the My Domain login page type is Discovery. Login Discovery provides an identity-first login
experience, where the login page contains the identifier field only. Based on the identifier entered, a handler determines how to
authenticate the user. This type extends the Metadata metadata type and inherits its fullName field.
1270
MyDomainDiscoverableLoginMetadata Types
File Suffix and Directory Location
MyDomainDiscoverableLogin components have the suffix .myDomainDiscoverableLogin in the
myDomainDiscoverableLogins folder.
Version
MyDomainDiscoverableLogin components are available in API version 48.0 and later.
Fields
DescriptionField TypeField Name
Required. The Apex handler class that contains the Discovery
authentication logic.
stringapexHandler
The user who is executing the handler. Requires the Manage User
permission.
stringexecuteApexHandlerAs
The login prompt when the My Domain login page type is Discovery.
This label supports localization with custom labels.
stringusernameLabel
Declarative Metadata Sample Definition
The following is an example of a MyDomainDiscoverableLogin component.
<?xml version="1.0" encoding="UTF-8"?>
<MyDomainDiscoverableLogin xmlns="http://soap.sforce.com/2006/04/metadata">
<apexHandler>MyDomainDiscLoginHandler</apexHandler>
<executeApexHandlerAs>[email protected]</executeApexHandlerAs>
<usernameLabel>Enter your email</usernameLabel>
</MyDomainDiscoverableLogin>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>MyDomainDiscoverableLogin</name>
</types>
<version>48.0</version>
</Package>
Usage
Use this type to access the My Domain Login Discovery Page. This type of login page prompts users to identity themselves with an email
address, phone number, or custom identifier. My Domain Login Discovery performs an interview-based login process, where users are
prompted to provide identity for authentication. For example, users receive a verification code that they enter to complete the login
process.
1271
MyDomainDiscoverableLoginMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
NamedCredential
Represents a named credential, which specifies the URL of a callout endpoint and its required authentication parameters in one definition.
A named credential can be specified as an endpoint to simplify the setup of authenticated callouts.
Note: All credentials stored within this entity are encrypted under a framework that is consistent with other encryption frameworks
on the platform. Salesforce encrypts your credentials by auto-creating org-specific keys. Credentials encrypted using the previous
encryption scheme have been migrated to the new framework.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
NamedCredential components have the suffix .namedCredential and are stored in the namedCredentials folder.
Version
NamedCredential components are available in API version 33.0 and later.
Special Access Rules
As of Spring 20 and later, only users with the View Setup and Configuration permission can access this type.
Fields
DescriptionField Name
Field Type
boolean
allowMergeFieldsInBody
Description
Specifies whether Apex code can use merge fields to populate the HTTP request body
with org data when a callout is made. Corresponds to Allow Merge Fields in HTTP
Body in the user interface. Defaults to false.
This field is available in API version 41.0 and later.
Field Type
boolean
allowMergeFieldsInHeader
1272
NamedCredentialMetadata Types
DescriptionField Name
Description
Specifies whether Apex code can use merge fields to populate the HTTP header with
org data when a callout is made. Corresponds to Allow Merge Fields in HTTP Header
in the user interface. Defaults to false.
This field is available in API version 41.0 and later.
Field Type
string
authProvider
Description
The authentication provider that the AuthProvider component represents.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
string
authTokenEndpointUrl
Description
The URL where JWTs are exchanged for access tokens.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
awsAccessKey
Description
First part of the access key used to sign programmatic requests to AWS. Use when
AWS Signature Version 4 is your authentication protocol.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
awsAccessSecret
Description
The second part of the access key used to sign programmatic requests to AWS. Use
when AWS Signature Version 4 is your authentication protocol.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
awsRegion
1273
NamedCredentialMetadata Types
DescriptionField Name
Description
Specifies which AWS Region the named credential accesses.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
awsService
Description
Specifies which AWS resource the named credential accesses.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
calloutStatus (enumeration of type string)
calloutStatus
Description
Specifies whether the named credential is enabled for callouts. Valid values are:
Disabled: The named credential is disabled for callouts.
Enabled: The named credential is enabled for callouts.
This field is available in API version 59.0 and later.
Field Type
string
certificate
Description
If you specify a certificate, your Salesforce org supplies it when establishing each
two-way SSL connection with the external system. The certificate is used for digital
signatures, which verify that requests are coming from your Salesforce org.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
string
endpoint
Description
The URL or root URL of the callout endpoint. Corresponds to URL in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
boolean
generateAuthorizationHeader
1274
NamedCredentialMetadata Types
DescriptionField Name
Description
Specifies whether Salesforce generates an authorization header and applies it to each
callout that references the named credential. Corresponds to Generate Authorization
Header in the user interface. Defaults to true.
This field is available in API version 41.0 and later.
Field Type
string
jwtAudience
Description
External service or other allowed recipients for the JWT. Written as JSON, with a quoted
string for a single audience and an array of quoted strings for multiple audiences.
Single audience example: aud1 Multiple audiences example: [aud1, aud2, aud3].
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
string
jwtFormulaSubject
Description
Formula string calculating the Subject of the JWT. API names and constant strings, in
single quotes, can be included. Allows a dynamic Subject unique per user requesting
the token. For example, 'User='+$User.Id. Use this field when
principalType is set to PerUser. Corresponds to Per User Subject
in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
jwtIssuer
Description
Specify who issued the JWT using a case-sensitive string.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
jwtSigningCertificate
Description
Certificate verifying the JWTs authenticity to external sites.
This field is valid only when NamedCredentialType is set to Legacy.
1275
NamedCredentialMetadata Types
DescriptionField Name
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
jwtTextSubject
Description
Static text, without quotes, that specifies the JWT Subject. Use this field when
principalType is set to NamedUser. Corresponds to Named Principal
Subject in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
int
jwtValidityPeriodSeconds
Description
Specify the number of seconds that the token is valid.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 46.0, this field is deprecated in API version 56.0
and later.
Field Type
string
label
Description
Required.
A user-friendly name for the named credential that appears in the Salesforce user
interface, such as in list views.
Field Type
NamedCredentialParameter[]
namedCredentialParameters
Description
Reference to the (one or more) NamedCredentialParameter used to configure a named
credential.
This field is available in API version 56.0 and later.
Field Type
NamedCredentialType (enumeration of type string)
namedCredentialType
Description
Specifies the type or behavior of this named credential. Valid values are:
Legacy: The named credential is a legacy type, which means that it doesnt use
the schema introduced in the Winter 23 release. Used for backward compatibility.
1276
NamedCredentialMetadata Types
DescriptionField Name
PrivateEndpoint: The named credential sends traffic through a private
connection, bypassing the public internet. If the credential type is
PrivateEndpoint, you must specify the value of
OutboundNetworkConnection.
SecuredEndpoint: The named credential is extensible and uses external
credentials to control authentication and permissions.
Standard: Reserved for internal use.
This field is available in API version 56.0 and later.
Field Type
string
oauthRefreshToken
Description
The OAuth refresh token. Used to obtain a new access token for an end user when a
token expires.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
string
oauthScope
Description
Specifies the scope of permissions to request for the access token. Corresponds to
Scope in the user interface.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
string
oauthToken
Description
The access token thats issued by your authorization server.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
string
outboundNetworkConnection
Description
Specifies the outbound network connection that uses the named credential to send
callouts to AWS.
This field is valid only when NamedCredentialType is set to Legacy.
First available in API version 49.0, this field is deprecated in API version 56.0
and later.
1277
NamedCredentialMetadata Types
DescriptionField Name
Field Type
string
password
Description
The password to be used by your org to access the external system. Ensure that the
credentials have adequate privileges to access the external system. Depending on
how you set up access, you might need to provide the administrator password.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
ExternalPrincipalType (enumeration of type string)
principalType
Description
Determines whether you're using one set or multiple sets of credentials to access the
external system. Corresponds to Identity Type in the user interface. Values are:
Anonymous
NamedUser
PerUser
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
Field Type
AuthenticationProtocol (enumeration of type string)
protocol
Description
The authentication protocol thats required to access the external system. Valid values
are:
AwsSv4
Jwt
JwtExchange
NoAuthentication
Oauth
Password
For connections to Amazon Web Services using Signature Version 4, use AwsSv4.
For connections using a direct token system, select Jwt. If using an intermediary
authorization provider to process JWTs and return access tokens, use JwtExchange.
For Simple URL data sources, select NoAuthentication.
For cloud-based Files Connect external systems, select Oauth. For on-premises
systems, select Password.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
1278
NamedCredentialMetadata Types
DescriptionField Name
Field Type
string
username
Description
The username to be used by your org to access the external system. Ensure that the
credentials have adequate privileges for performing callouts to the external system.
Depending on how you set up access, you might need to provide the administrator
username.
This field is valid only when NamedCredentialType is set to Legacy.
This field is deprecated in API version 56.0.
NamedCredentialParameter
Represents the parameters that configure a named credential. Named credential parameters are used to configure Named Credential
callouts through a combination of the type, name, and value/lookup fields. Available in API version 56.0 and later.
These parameters are used internally to provide a flexible architecture and are exposed here for packaging reasons.
DescriptionField Name
Field Type
string
certificate
Description
If the value of the parameterType field is ClientCertificate then this
field references the certificate.
Field Type
string
description
Description
A human-readable description of this named credential parameter.
Field Type
string
externalCredential
Description
If the value of the parameterType field is Authentication, then this field
references an external credential that in turn references a set of authenticated user
credentials.
Field Type
boolean
managedFeatureEnabledCallout
Description
Reserved for internal use.
1279
NamedCredentialMetadata Types
DescriptionField Name
Field Type
string
outboundNetworkConnection
Description
The lookup field for the OutboundNetworkConnection parameter type. Used
when namedCredentialType is PrivateEndpoint.
Field Type
string
parameterName
Description
Required.
The name of the named credential parameter.
Field Type
NamedCredentialParamType (enumeration of type string)
parameterType
Description
Required.
The type of the named credential parameter. Valid values are:
AllowedManagedPackageNamespaces: Allows managed packages
identified by specified namespaces to use the named credential and make callouts
through it.
Authentication: Specifies that this parameter configures authentication
using the credentials specified in the external credential, referenced by the
externalCredential field.
ClientCertificate: Specifies that this parameter configures a client
certificate, referenced by the certificate field.
ConnectionStatus: Reserved for internal use.
CreatedByNamespace: Reserved for internal use.
CustomParameter: Reserved for internal use.
HttpHeader: Allows the user to specify custom headers to be added to the
callout at run time. When using HttpHeader, the parameterName field
must be the header name as a string, and parameterValue must be a formula
of a header value that is evaluated at run time.
ManagedByComponent: Reserved for internal use.
ManagedByFeature: Reserved for internal use.
OutboundNetworkConnection: Specifies a lookup to an outbound network
connection. When using this parameter type, the
outboundNetworkConnection field is a string representing the lookup.
Used when namedCredentialType is PrivateEndpoint.
StandardNamedCredentialType: Reserved for internal use.
Url: Specifies that this parameter configures the URL of the endpoint. Store the
actual URL in the parameterValue field.
1280
NamedCredentialMetadata Types
DescriptionField Name
Field Type
string
parameterValue
Description
If the parameterType field describes a literal value, such as Url, then the literal
value is stored in this field, such as https://iam.amazonaws.com/.
Field Type
boolean
readOnlyNamedCredential
Description
Reserved for internal use.
Field Type
int
sequenceNumber
Description
Used to order HttpHeader parameters.
Field Type
boolean
systemUserNamedCredential
Description
Reserved for internal use.
Declarative Metadata Sample Definition
The following is an example of a NamedCredential component.
<?xml version="1.0" encoding="UTF-8"?>
<NamedCredential xmlns="http://soap.sforce.com/2006/04/metadata">
<label>SampleNamedCredential</label>
<namedCredentialType>SecuredEndpoint</namedCredentialType>
<namedCredentialParameters>
<description>IAM Endpoint</description>
<parameterName>DefaultEndpoint</parameterName>
<parameterType>Url</parameterType>
<parameterValue>https://iam.amazonaws.com/</parameterValue>
</namedCredentialParameters>
<namedCredentialParameters>
<description>AWS Auth</description>
<parameterName>DefaultAuth</parameterName>
<parameterType>Authentication</parameterType>
<externalCredential>SampleExternalCredential</externalCredential>
</namedCredentialParameters>
<namedCredentialParameters>
<description>Cert</description>
<parameterName>DefaultCert</parameterName>
<parameterType>ClientCertificate</parameterType>
<certificate>MyCertificate</certificate>
1281
NamedCredentialMetadata Types
</namedCredentialParameters>
<allowMergeFieldsInBody>true</allowMergeFieldsInBody>
<allowMergeFieldsInHeader>true</allowMergeFieldsInHeader>
<generateAuthorizationHeader>true</generateAuthorizationHeader>
</NamedCredential>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>NamedCredential</name>
</types>
<version>56.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ExternalCredential
Salesforce Help: Named Credentials
Named Credentials Developer Guide: Get Started with Named Credentials
Named Credentials Developer Guide: Named Credential API Links
Apex Developer Guide: Invoking Callouts Using Apex
Apex Developer Guide: Named Credentials as Callout Endpoints
NavigationMenu
Represents the navigation menu in an Experience Builder site. A navigation menu consists of items that users can click to go to other
parts of the site. This type replaces the NavigationLinkSet subtype on Network. NavigationMenu is available in API version 47.0 and later.
This type extends the Metadata metadata type and inherits its fullName field.
The Help Center and LWR templates (Build Your Own and Microsites) dont include generic record pages. So if you create an object or
global action type menu item that links to a Salesforce object, make sure that you also create the corresponding object pages. If you
don't create the associated object pages, end users won't see anything if they click on the menu item.
File Suffix and Directory Location
NavigationMenu components have the suffix .navigationMenu and are stored in the navigationMenus folder.
Version
NavigationMenu components are available in API version 47.0 and later.
1282
NavigationMenuMetadata Types
Special Access Rules
The MultipleNavigationMenu permission is required.
Fields
DescriptionField TypeField
The name of the navigation menu container.stringcontainer
The container type. The options are Network
or CommunityTemplateDefinition.
stringcontainerType
The navigation menu label as it appears in
the Experience Builder UI.
stringlabel
A list of menu items in a NavigationMenu.
Use this object to create, delete, or update
menu items in your sites navigation menu.
NavigationMenuItem[]navigationMenuItem
NavigationMenuItem
Represents a single menu item in the NavigationLinkSet subtype on Network (API version 37.0 to 46.0) or in the NavigationMenu type
(API version 47.0 and later). Use this object to create, delete, or update menu items in your sites navigation menu.
DescriptionField TypeField
If the value of the type field is
SalesforceObject, the value is the
ID of the default list view for the object.
stringdefaultListViewId
Required. The text that appears in the
navigation menu for this item.
stringlabel
Branding for the navigation menu item.
Available in API version 47.0 and later.
NavigationMenuItemBrandingmenuItemBranding
Required. The location of the menu item in
the navigation menu.
intposition
When set to true, gives access to guest
users.
booleanpubliclyAvailable
A list of child menu items. This field is
available in API 39.0 and later.
NavigationSubMenusubMenu
Required if type is ExternalLink,
InternalLink, or
stringtarget
SalesforceObject. If type is
ExternalLink or InternalLink,
the target is the URL that the link points to.
For ExternalLink, your entry looks like
1283
NavigationMenuMetadata Types
DescriptionField TypeField
this: https://salesforce.com. For
InternalLink, use a relative URL, such
as /contactsupport. If type is
MenuLabel or
NavigationalTopic, target isnt
used.
Backed by a picklist that includes
preferences for the target field. Valid values
are:
stringtargetPreference
None
OpenInExternalTabUsed for
external links to determine whether to
open in an external tab.
Required. The type of navigation menu item.
Valid values are:
stringtype
SalesforceObjectAvailable
objects include accounts, cases,
contacts, and custom objects.
ExternalLinkLinks to a URL
outside of your site. For example,
https://salesforce.com.
InternalLinkLinks to a relative
URL inside your site. For example,
/contactsupport.
MenuLabelA parent heading for
your navigation menu. See
NavigationSubMenu for how to nest
items underneath the menu label. This
value is available in API 39.0 and later.
NavigationalTopicA
dropdown list with links to the
navigational topics in your site.
You cant nest other items of type
MenuLabel or
NavigationalTopic under
MenuLabel.
NavigationMenuItemBranding
Branding for a menu item.
1284
NavigationMenuMetadata Types
DescriptionField TypeField
Name of the ContentAsset to use for the
navigation menu item.
stringtileImage
NavigationSubMenu
A list of child menu items. Only NavigationMenuItem items of type MenuLabel can have items in a NavigationSubMenu. Available
in API 39.0 and later.
DescriptionField TypeField
A list of menu items in a
NavigationSubMenu. Use
NavigationMenuItem[]navigationMenuItem
navigationMenuItem to create,
delete, or update child items under a parent
heading.
Declarative Metadata Sample Definition
The following is an example of a NavigationMenu component.
<?xml version="1.0" encoding="UTF-8"?>
<NavigationMenu xmlns="http://soap.sforce.com/2006/04/metadata">
<container>Service</container>
<containerType>Network</containerType>
<label>Test Navigation</label>
<navigationMenuItem>
<label>Accounts</label>
<position>1</position>
<publiclyAvailable>false</publiclyAvailable>
<target>Account</target>
<type>SalesforceObject</type>
</navigationMenuItem>
<navigationMenuItem>
<label>External Link</label>
<menuItemBranding>
<tileImage>google_image</tileImage>
</menuItemBranding>
<position>2</position>
<publiclyAvailable>false</publiclyAvailable>
<target>http://google.com</target>
<targetPreference>OpenExternalLinkInSameTab</targetPreference>
<type>ExternalLink</type>
</navigationMenuItem>
<navigationMenuItem>
<label>All Objects</label>
<position>3</position>
<publiclyAvailable>false</publiclyAvailable>
<subMenu>
1285
NavigationMenuMetadata Types
<navigationMenuItem>
<label>Leads</label>
<position>0</position>
<publiclyAvailable>false</publiclyAvailable>
<target>Account</target>
<type>SalesforceObject</type>
</navigationMenuItem>
</subMenu>
<type>MenuLabel</type>
</navigationMenuItem>
</NavigationMenu>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>NavigationMenu</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Network
Represents an Experience Cloud site. Salesforce Experience Cloud lets you create branded spaces for your employees, customers, and
partners. You can customize and create experiences, whether theyre communities, sites, or portals, to meet your business needs, then
transition seamlessly between them. If you want to create zones that contain Chatter Answers and Ideas, use the Community (Zone)
component.
This type extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
Network components are stored in the networks directory of the corresponding package directory. The file name matches the site
name, and the extension is .network.
Version
This object is available in API version 28.0 and later.
1286
NetworkMetadata Types
Fields
DescriptionField TypeField
Specifies the types of files allowed in your site. This list of
file types lets you control what your members upload and
stringallowedExtensions
also prevents spammers from polluting your site with
inappropriate files. Available in API version 36.0 and later.
Determines whether internal users can log in with their
internal credentials on the site login page. Available in API
version 40.0 and later.
booleanallowInternalUserLogin
Determines whether users in the site can flag posts or
comments as inappropriate. Flagged items are sent to a
booleanallowMembersToFlag
moderator for review. Available in API version 29.0 and
later.
The color scheme, header, and footer used in the site.
Deprecated in API version 41.0 and later. Replaced by the
NetworkBranding type.
Brandingbranding
Email template used when notifying members when a
case comment has been modified or added to a case.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringcaseCommentEmailTemplate
Email template used when notifying a user that their
password has been reset.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringchangePasswordTemplate
Email template used to verify a users email address
change. This email is sent to the new email address.
stringchgEmailVerNewTemplate
Note: You can't update this template via metadata
API.
Email template used to verify a users email address
change. This email is sent to the old email address.
stringchgEmailVerOldTemplate
Note: You can't update this template via metadata
API.
Identifies users with Customer, Partner, or Employee roles
in a site. Available in API version 41.0 and later.
CommunityRolescommunityRoles
Description of the site.stringdescription
The ID of the device activation email template. The
template is used to customize the device activation email
stringdeviceActEmailTemplate
1287
NetworkMetadata Types
DescriptionField TypeField
for community users. Available in API version 53.0 and
later.
When reputation levels are enabled for the site,
determines whether to exclude contributions to records
booleandisableReputationRecord
Conversations
when counting points toward reputation levels. Available
in API version 41.0 and later.
The document name of the logo that appears in the footer
of emails. Available in API version 41.0 and later.
stringemailFooterLogo
The text that appears in the footer of emails. Available in
API version 41.0 and later.
stringemailFooterText
Required. Email address from which emails are sent.stringemailSenderAddress
Required. Name from which emails are sent.stringemailSenderName
Determines whether public data from @wire calls to Apex
methods is cached for guest users. This setting applies
only to sites using Salesforce's CDN for Digital Experiences.
booleanenableApexCDNCaching
Determines whether to use custom Visualforce error pages
instead of the default Visualforce error pages. Available in
API version 41.0 and later.
booleanenableCustomVFError
PageOverrides
Determines whether site users can send direct messages
to start a private conversation with one or more members.
Available in API version 41.0 and later.
booleanenableDirectMessages
Determines whether the Builder-based SNA page is used
(true) or not (false) and overrides the existing SNA
booleanenableExperienceBundleBasedSnaOverrideEnabled
page when an experience is published. Available in API
version 52.0 and later.
Specifies whether guest users can access public Chatter
groups in the site without logging in.
booleanenableGuestChatter
Determines whether guest users view asset files shared
with the site on publicly accessible pages and login pages.
booleanenableGuestFileAccess
If public access is enabled in Experience Builder at the
page or site level, this property is automatically enabled.
Available in API version 41.0 and later.
Determines if unauthenticated guest users can see the
authenticated members (true) or not (false). Available
in API version 47.0 and later.
booleanenableGuestMemberVisibility
Determines whether to optimize cached images for guest
users on all devices when a site uses Salesforces CDN for
Digital Experiences. Available in API version 56.0 and later.
booleanenableImageOptimizationCDN
Determines whether users can invite others to the site.booleanenableInvitation
1288
NetworkMetadata Types
DescriptionField TypeField
Determines if members can see whos knowledgeable on
topics and endorse people for their knowledge on a topic.
Available in API version 30.0 and later.
booleanenableKnowledgeable
Controls user visibility on a per-site basis. If true, the
See other members of this site preference is enabled for
the selected site. Available in API version 45.0 and later.
booleanenableMemberVisibility
Determines if user nicknames display instead of their first
and last names in most places in the site. Set to false
by default. Available in API version 32.0 and later.
booleanenableNicknameDisplay
Determines if members can send and receive private
messages. Available in API version 30.0 and later.
booleanenablePrivateMessages
Determines if reputation is calculated and displayed for
members. Available in API version 31.0 and later.
If enabled, reputationLevels and
reputationPointsRules are used. If no
booleanenableReputation
reputationLevels or
reputationPointsRules are defined in the data
file, the default values are used.
Shows settings that are hidden by default based on how
the site is set up. Available in API version 41.0 and later.
booleanenableShowAllNetworkSettings
Determines whether the site is an Experience Builder site
(true) or a Salesforce Tabs + Visualforce site (false).
booleanenableSiteAsContainer
Determines whether users see how many people are
discussing a topic. The number of people discussing the
booleanenableTalkingAboutStats
topic appears as the user types the topic and the system
gives topic suggestions. Available in API version 41.0 and
later.
Enables the org to use rules to automatically assign topics
to articles in a site. After its enabled, admins set up rules
booleanenableTopicAssignmentRules
to map topics to Salesforce Knowledge data categories.
This field is available in API version 40.0 and later.
Enables topic suggestions when users write posts.
Available in API version 41.0 and later.
booleanenableTopicSuggestions
Replaces the option to like a question or answer with the
option to upvote or downvote. Available in API version
41.0 and later.
booleanenableUpDownVote
Determines whether URL slugs are enabled by default onbooleanexpFriendlyUrlsAsDefault
Product and Category pages of LWR Commerce stores
(available in API version 58.0 and later)
1289
NetworkMetadata Types
DescriptionField TypeField
Custom object pages on enhanced LWR sites
(available in API version 60.0 and later)
Account and contact pages on enhanced LWR sites
(available in API version 61.0 and later)
Displays the feed of all channel program record or group
interactions, including posts, questions, and attachments.
This field is available in API version 28.0 and later.
stringfeedChannel
Required. The email template used when a user forgets
their password.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringforgotPasswordTemplate
Gathers data when a customer looks at articles and cases
in sites, for use in the Community 360 feature. This field
is available in API version 40.0 and later.
booleangatherCustomerSentimentData
The email template used to communicate with users when
they get locked out of their org because of too many failed
login attempts. Available in API version 43.0 and later.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringlockoutTemplate
Specifies the URL that members are redirected to when
they log out from your site. This field is available in API
version 28.0 and later.
stringlogoutUrl
Specifies the maximum file size (in KBs) that members can
upload in your site. Available in API version 36.0 and later.
intmaxFileSizeKb
Enter a number between 3072 KB and your orgs
maximum file size. To use the default limit of 2 GB, leave
this field empty.
Represents the navigation menu in a site. A navigation
menu consists of items that users can click to go to other
NavigationLinkSetnavigationLinkSet
parts of the site. This field is available in API versions 37.0
to 46.0. In API version 47.0 and later, use the
NavigationMenu type instead.
The settings that control enablement, access, and security
for the Headless Registration Flow, Headless Forgot
NetworkAuthApiSettingsnetworkAuthApiSettings
Password Flow, Headless Passwordless Login Flow, and
their associated APIs. Available in API version 60.0 and
later.
1290
NetworkMetadata Types
DescriptionField TypeField
The profiles and permission sets that have access to the
site. Users with these profiles or permission sets are
members of the site.
NetworkMemberGroupsnetworkMemberGroups
Note: If a Chatter customer (from a customer
group) is assigned a permission set that is also
associated with a site, the Chatter customer isnt
added to the site.
The settings in the Administration area (in Experience
Management or Experience Workspaces) that control
NetworkPageOverridenetworkPageOverrides
which page type Change Password, Forgot Password,
Home, and Login each point to. Available in API version
40.0 and later.
Email address that has been entered as the new value for
EmailSenderAddress but hasnt been verified yet.
stringnewSenderAddress
After a user has requested to change the sender email
address and has successfully responded to the verification
email, the NewSenderAddress value overwrites the
value in EmailSenderAddress. This value becomes
the email address from which emails are sent.
Name of the site of ChatterNetworkPicasso type that's
linked to the Experience Cloud site.
stringpicassoSite
Creates an audience of new members, or can be used to
manage customized lists of audience members to organize
RecommendationAudiencerecommendationAudience
and target recommendations. Available in API version 41.0
and later.
Represents a custom recommendation to drive
engagement. Targets a specific audience and uses
RecommendationDefinitionrecommendationDefinition
channels to specify a location for the recommendation.
Available in API version 41.0 and later.
The reputation levels assigned to members when they
accrue points by performing certain actions.
ReputationLevelDefinitionsreputationLevels
The points members accrue when they perform certain
defined actions.
ReputationPointsRulesreputationPointsRules
The email template used to communicate with users when
their self-registration request, using micro-batching failed.
Available in API version 54.0 and later.
referenceselfRegMicroBatchSubErrorEmailTemplate
The profile assigned to users who self-register. This value
is used only if selfRegistration is enabled for the
site. Available in API version 29.0 and later.
stringselfRegProfile
Determines whether self-registration is available for the
site.
booleanselfRegistration
1291
NetworkMetadata Types
DescriptionField TypeField
Determines whether a welcome email is sent when a new
user is added to the site.
booleansendWelcomeEmail
Required. The CustomSite associated with the Experience
Cloud site.
stringsite
Specifies whether the site has been archived. Available
values are:
SitesArchiveStatussiteArchiveStatus
NotArchivedThe site hasnt been archived.
TemporarilyArchivedThe site is archived,
but can be unarchived in the future.
Required. Status of the site. Available values are:NetworkStatus[]status
LiveThe site is online and members can access
it.
DownForMaintenanceThe site was previously
published but was taken offline. Members with the
Create and Set Up Experiences permission can still
access the setup for offline sites regardless of profile
or membership. Members arent able to access offline
sites, but they still appear in the user interface
dropdown as SiteName (Offline).
UnderConstructionThe site hasnt yet been
published. Users with the Create and Set Up
Experiences permission can access sites in this status
if their profile is associated with the site.
After a site is published, it can never be in this status
again.
Required. The tabs that are available in the site. The user
that created the site selected these tabs.
NetworkTabSettabs
The first part of the path on the site's URL that
distinguishes this site from other sites. For example, if your
stringurlPathPrefix
site URL is
MyDomainName.my.site.com/partners, then
partners is the urlPathPrefix.
The email template used to communicate with users when
they must verify their identity, for example, when they log
stringverificationTemplate
in without a password or from a new device. Available in
API version 44.0 and later.
Lightning email templates arent packageable. We
recommend using a Classic email template.
1292
NetworkMetadata Types
DescriptionField TypeField
The email template used when sending welcome emails
to new members.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringwelcomeTemplate
Branding
Represents the branding and color scheme applied to the Experience Cloud site. Available in API version 40.0 and earlier. Replaced by
NetworkBranding in API version 41.0 and later.
DescriptionField TypeField
The text that appears in the footer of the
login page.
stringloginFooterText
The logo that appears on the login page for
external users.
stringloginLogo
An image that appears on the footer of the
pages. Must be an .html file.
stringpageFooter
An image that appears on the header of the
pages. Can be an .html, .gif, .jpg, or .png file.
stringpageHeader
The color used for the active tab.stringprimaryColor
Font color used with primaryColor.stringprimaryComplementColor
The background color for pages.stringquaternaryColor
Font color used with
quaternaryColor.
stringquaternaryComplementColor
The color used for the top borders of lists
and tables.
stringsecondaryColor
The background color for section headers
on edit and detail pages.
stringtertiaryColor
Font color used with tertiaryColor.stringtertiaryComplementColor
The background color for the header.stringzeronaryColor
Font color used with zeronaryColor.stringzeronaryComplementColor
CommunityRoles
The labels used to identify users with Customer, Partner, or Employee roles in an Experience Cloud site. Available in API version 41.0 and
later.
1293
NetworkMetadata Types
DescriptionField TypeField
The label for the Customer user role.stringcustomerUserRole
The label for the Employee user role.stringemployeeUserRole
The label for the Partner user role.stringpartnerUserRole
NavigationLinkSet
Represents the navigation menu in an Experience Cloud site. A navigation menu consists of items that users can click to go to other
parts of the site. Available in API versions 37.0 to 46.0. In API version 47.0, use NavigationMenu instead.
DescriptionField TypeField
A list of menu items in a NavigationLinkSet.
Use this object to create, delete, or update
menu items in your sites navigation menu.
NavigationMenuItem[]navigationMenuItem
NavigationMenuItem
Represents a single menu item in the NavigationLinkSet subtype (API version 37.0 to 46.0) or in the NavigationMenu type (API version
47.0 and later). Use this subtype to create, delete, or update menu items in your sites navigation menu.
DescriptionField TypeField
If the value of the type field is
SalesforceObject, the value is the
ID of the default list view for the object.
stringdefaultListViewId
Required. The text that appears in the
navigation menu for this item.
stringlabel
Branding for the navigation menu item.
Available in API version 47.0 and later.
NavigationMenuItemBrandingmenuItemBranding
Required. The location of the menu item in
the navigation menu.
intposition
When set to true, gives access to guest
users.
booleanpubliclyAvailable
A list of child menu items. This field is
available in API 39.0 and later.
NavigationSubMenusubMenu
Required if type is ExternalLink,
InternalLink, or
stringtarget
SalesforceObject. If type is
ExternalLink or InternalLink,
the target is the URL that the link points to.
For ExternalLink, your entry looks like
this: https://salesforce.com. For
1294
NetworkMetadata Types
DescriptionField TypeField
InternalLink, use a relative URL, such
as /contactsupport. If type is
MenuLabel or
NavigationalTopic, target isnt
used.
Backed by a picklist that includes
preferences for the target field. Valid values
are:
stringtargetPreference
None
OpenInExternalTabUsed for
external links to determine whether to
open in an external tab.
Required. The type of navigation menu item.
Valid values are:
stringtype
SalesforceObjectAvailable
objects include accounts, cases,
contacts, and custom objects.
ExternalLinkLinks to a URL
outside of your site. For example,
https://salesforce.com.
InternalLinkLinks to a relative
URL inside your site. For example,
/contactsupport.
MenuLabelA parent heading for
your navigation menu. See
NavigationSubMenu for how to nest
items underneath the menu label. This
value is available in API 39.0 and later.
NavigationalTopicA
dropdown list with links to the
navigational topics in your site.
You cant nest other items of type
MenuLabel or
NavigationalTopic under
MenuLabel.
NavigationSubMenu
A list of child menu items. Only NavigationMenuItem items of type MenuLabel can have items in a NavigationSubMenu. Available
in API 39.0 and later.
1295
NetworkMetadata Types
DescriptionField TypeField
A list of menu items in a
NavigationSubMenu. Use
NavigationMenuItem[]navigationMenuItem
navigationMenuItem to create,
delete, or update child items under a parent
heading.
NetworkAuthApiSettings
Represents the settings that control enablement, access, and security for the Headless Registration Flow, Headless Forgot Password
Flow, Headless Passwordless Login Flow, and their associated APIs. Available in API version 60.0 and later.
DetailsField
Type
Field
Determines whether authentication is required to access Headless Forgot Password API when
a password reset is requested. If true, an access token issued to an internal integration user
booleandoesForgotPasswordRequireAuth
in your initial POST request to the /services/auth/headless/forgot_password
endpoint is required. The access token must include the forgot_password scope.
Determines whether authentication is required to access Headless Passwordless Login API
when user information is submitted to Salesforce. If true, an access token issued to an internal
booleandoesPwdlessLoginRequireAuth
integration user is required in your initial POST request to the
/services/auth/headless/init/passwordless/login endpoint. The access
token must include the pwdless_login_api scope.
Determines whether authentication is required to access Headless Registration API when user
registration information is submitted to Salesforce. If true, an access token issued to an
booleandoesRegistrationRequireAuth
internal integration user in your initial POST request to the
/services/auth/headless/init/registration endpoint is required. The
access token must include the user_registration_api scope.
The email template allowlist for the Headless Registration Flow, Headless Passwordless Login
Flow, and Headless Forgot Password Flow. The allowlist defines which email templates can be
used for verification emails sent to end users during these flows.
NetworkEmailTmplAllowlist[]emailTmplsAllowlist
Determines whether the Headless Forgot Password Flow is enabled.booleanisForgotPwdAllowed
Determines whether email template allowlisting is enabled for the Headless Forgot Password
Flow. If true, the emailtemplate parameter in the initial request to Headless Forgot
Password API can include only allowlisted email templates.
booleanisForgotPwdEmailTemplateAllowlistingEnabled
Determines whether the Headless Registration Flow is enabled.booleanisHeadlessUserRegistrationAllowed
Determines whether the Headless Passwordless Login Flow is enabled (true) or not (false).booleanIsPwdlessLoginAllowed
Determines whether a reCAPTCHA token is required to access Headless Forgot Password API
when a password reset is requested. If true, a reCAPTCHA token is required in your initial
POST request to the /services/auth/headless/forgot_password endpoint.
booleanisRecaptchaRequiredForgotPwd
Determines whether a reCAPTCHA token is required to access Headless Passwordless Login
API when user information is submitted to Salesforce. If true, a reCAPTCHA token is required
booleanisRecaptchaRequiredPwdlessLogin
1296
NetworkMetadata Types
DetailsField
Type
Field
in your initial POST request to the
/services/auth/headless/init/passwordless/login endpoint.
Determines whether a reCAPTCHA token is required to access Headless Registration API when
user registration information is submitted to Salesforce. If true, a reCAPTCHA token is required
booleanisRecaptchaRequiredRgstr
in your initial POST request to the
/services/auth/headless/init/registration endpoint.
Determines whether self-registration and passwordless login via Universal Registration API are
enabled.
booleanisUniversalClientRgstrAllowed
The maximum number of password reset attempts you allow for the Headless Forgot Password
Flow before the user must request a new one-time password (OTP).
intmaxPasswordResetAttempts
The lowest reCAPTCHA score that is accepted before rejecting a request to access Headless
Identity APIs. This value must be between 0.5 and 1. Scores closer to 0.5 are more likely to be
bots, while scores closer to 1 are more likely to be valid users.
You must set a score threshold if doesForgotPasswordRequireAuth or
doesRegistrationRequireAuth fields are set to true. reCAPTCHA settings apply
to both the Headless Registration Flow and the Headless Forgot Password Flow.
doublerecaptchaScoreThreshold
Google issues a reCAPTCHA score only for reCAPTCHA v3 implementations. If you implement
reCAPTCHA v2, this field doesnt apply.
The reCAPTCHA secret key from your API key pair. You get the API key pair from Google when
you set up reCAPTCHA. The secret key helps your app securely communicate with Google. You
stringrecaptchaSecretKey
must enter a secret key if doesForgotPasswordRequireAuth or
doesRegistrationRequireAuth are set to true. reCAPTCHA settings apply to all
headless identity flows for which reCAPTCHA is enabled.
The user who runs your headless registration Apex handler.stringregistrationExecutionUser
The headless registration Apex handler.stringregistrationHandler
The default profile that gets assigned to new users when they register.stringregistrationUserDefaultProfile
NetworkEmailTmplAllowlist
Represents the allowlist for one-time password (OTP) email templates sent to end users during the Headless Registration Flow, Headless
Passwordless Login Flow, and Headless Forgot Password Flow. Available in API version 60.0 and later.
DescriptionField TypeField
Required. The email templates that can be
sent to users during the headless
stringemailTemplate
authorization flows for registration,
passwordless login, and forgot password.
You can list multiple templates. When your
app sends its initial request to Headless
1297
NetworkMetadata Types
DescriptionField TypeField
Registration API or Headless Passwordless
Login API, the emailtemplate
parameter can include only an email
template ID from the allowlist. For Headless
Forgot Password API, it works the same way,
but only if the
isForgotPwdEmailTemplateAllowlistingEnabled
field on the
NetworkAuthApiSettings
metadata type is true.
NetworkMemberGroup
Represents the profiles and permission sets that are assigned to the Experience Cloud site. Users with one of the profiles or permission
sets are members of the site, unless the user is a Chatter customer (from a customer group).
DescriptionField TypeField
A permission set that is assigned to the site.stringpermissionSet
Note: If a Chatter customer (from a
customer group) is assigned a
permission set that is also associated
with a site, the Chatter customer isnt
added to the site.
A profile that is part of the site.stringprofile
NetworkPageOverride
Represents settings in the Administration area (in Experience Management or Experience Workspaces) that control which page type
the Change Password, Forgot Password, Home, and Login pages each point to.
Note: Assigned Visualforce page overrides are specified and deployed via the corresponding CustomSite metadata field.
DescriptionField TypeField
Required. Specifies the page type that the
Change Password page setting applies to.
The valid values are:
NetworkPageOverrideSetting (enumeration
of type string)
changePasswordPageOverrideSetting
Configurablea configurable
self-registration page
Designeran Experience Builder
page
Standardthe default page
VisualForcea Visualforce page
1298
NetworkMetadata Types
DescriptionField TypeField
Required. Specifies the page type that the
Forgot Password page setting applies to.
The valid values are:
NetworkPageOverrideSetting (enumeration
of type string)
forgotPasswordPageOverrideSetting
Configurablea configurable
self-registration page
Designeran Experience Builder
page
Standardthe default page
VisualForcea Visualforce page
Required. Specifies the page type that the
Experience Home page setting applies to.
The valid values are:
NetworkPageOverrideSetting (enumeration
of type string)
homePageOverrideSetting
Configurablea configurable
self-registration page
Designeran Experience Builder
page
Standardthe default page
VisualForcea Visualforce page
Required. Specifies the page type that the
Login page setting applies to. The valid
values are:
NetworkPageOverrideSetting (enumeration
of type string)
loginPageOverrideSetting
Configurablea configurable
self-registration page
Designeran Experience Builder
page
Standardthe default page
VisualForcea Visualforce page
Note: To configure an Experience
Builder page for your Home and
Login pages, make sure you publish
your site. Unpublished pages show
up as Default Page from the
dropdown menu in Admin settings.
Required. Specifies the page type that the
Self Registration page setting applies to. The
valid values are:
NetworkPageOverrideSetting (enumeration
of type string)
selfRegProfilePageOverrideSetting
Configurablea configurable
self-registration page
Designeran Experience Builder
page
1299
NetworkMetadata Types
DescriptionField TypeField
Standardthe default page
VisualForcea Visualforce page
RecommendationAudience
Creates an audience of new Experience Cloud site members, or can be used to manage customized lists of audience members to organize
and target recommendations. Available in API version 41.0 and later.
DescriptionField TypeField
The specific details of an audience for
recommendations.
RecommendationAudienceDetailrecommendationAudienceDetails
RecommendationAudienceDetail
The specific details of an audience for recommendations. Available in API version 41.0 and later.
DescriptionField TypeField
The criteria for the recommendation
audience type. Values are:
AudienceCriteriaType (enumeration of type
string)
audienceCriteriaType
CustomList
MaxDaysInCommunity
For new member criteria, the maximum
number of days since a user became a
member. Null in case of custom list criteria.
stringaudienceCriteriaValue
Name of the recommendation audience.stringsetupName
RecommendationDefinition
Represents a list of custom recommendations to drive engagement for an Experience Cloud site. Available in API version 41.0 and later.
DescriptionField TypeField
A list of custom recommendations and their
details.
RecommendationDefinitionDetail[]recommendationDefinitionDetails
RecommendationDefinitionDetail
The specific details of a custom recommendation. Available in API version 41.0 and later.
1300
NetworkMetadata Types
DescriptionField TypeField
The URL for the button that lets users act on
the recommendation.
stringactionUrl
An explanation of the recommendation that
suggests what users can do.
stringdescription
The text label for the button.stringlinkText
A list of scheduled recommendations.ScheduledRecommendationscheduledRecommendations
The name of the recommendation, which
appears in Setup.
stringsetupName
The title of the recommendation.stringtitle
ReputationBranding
Branding for the reputation level.
DescriptionField TypeField
Custom image associated with a reputation
level. Use files with these extensions: .jpeg,
stringsmallImage
.png, or .gif. Images are stored as
documents. If not specified, the default
reputation level image is used. Available in
API version 32.0 and later.
ReputationLevelDefinitions
Represents reputation levels members can achieve by performing certain defined actions in an Experience Cloud site.
DescriptionField TypeField
Represents reputation levels.ReputationLevel[]level
ReputationLevel
Represents the name and lower value of the reputation level. The application calculates the upper value.
1301
NetworkMetadata Types
DescriptionField TypeField
Represents any branding associated with
the reputation level, specifically, the custom
image for the reputation level.
This field is optional. If not specified, the
default reputation level image is used.
Available in API version 32.0 and later.
ReputationBranding[]branding
Name of the reputation level.
This field is optional. If not specified, one of
the 10 defaults is used.
stringlabel
Level 1
Level 2
Level 3
Level 4
Level 5
Level 6
Level 7
Level 8
Level 9
Level 10
Required. The lower value in the range for
this reputation level. For example, if this
doublelowerThreshold
reputation level is for points 150, 1 is the
lowerThreshold.
ReputationPointsRules
Represents points rules in an Experience Cloud sites point system.
DescriptionField TypeField
Represents events and their associated
points.
ReputationPointsRule[]pointsRule
ReputationPointsRule
Represents the event and associated point value for a points rule. When a user acts, they accrue the associated points.
1302
NetworkMetadata Types
DescriptionField TypeField
Required. The type of event a member has to perform to get points.
The available values are:
stringeventType
FeedItemWriteAPost
FeedItemWriteAComment
FeedItemReceiveAComment
FeedItemLikeSomething
FeedItemReceiveALike
FeedItemMentionSomeone
FeedItemSomeoneMentionsYou
FeedItemShareAPost
FeedItemSomeoneSharesYourPost
FeedItemPostAQuestion
FeedItemAnswerAQuestion
FeedItemReceiveAnAnswer
FeedItemMarkAnswerAsBest
FeedItemYourAnswerMarkedBest
FeedItemEndorseSomeoneForKnowledgeOnATopic
FeedItemEndorsedForKnowledgeOnATopic
Required. The number of points a member gets for performing the
event. The default number of points per event is:
intpoints
FeedItemWriteAPost +1
FeedItemWriteAComment: +1
FeedItemReceiveAComment: +5
FeedItemLikeSomething: +1
FeedItemReceiveALike: +5
FeedItemMentionSomeone: +1
FeedItemSomeoneMentionsYou: +5
FeedItemShareAPost: +1
FeedItemSomeoneSharesYourPost: +5
FeedItemPostAQuestion: +1
FeedItemAnswerAQuestion: +5
FeedItemReceiveAnAnswer: +5
FeedItemMarkAnswerAsBest: +5
FeedItemYourAnswerMarkedBest: +20
FeedItemEndorseSomeoneForKnowledgeOnATopic: +5
FeedItemEndorsedForKnowledgeOnATopic: +20
1303
NetworkMetadata Types
ScheduledRecommendation
Represents a list of scheduled recommendations. Available in API version 41.0 and later.
DescriptionField TypeField
A list of scheduled recommendations.ScheduledRecommendationDetail[]scheduledRecommendationDetails
ScheduledRecommendationDetail
The specific details of a scheduled recommendation. Available in API version 41.0 and later.
DescriptionField TypeField
A way to group recommendations together
to determine where they show up in the
site. The valid values are:
RecommendationChannel (enumeration of
type string)
channel
DefaultChannelThe default
recommendation channel.
Recommendations in the default
channel appear in predefined locations,
such as directly in the feed in Salesforce
mobile web and on the Home and
Question Detail pages of the Customer
Service (Napili) template.
CustomChannel1A custom
recommendation channel. Choose
where you want recommendations to
appear by adding the
Recommendations Carousel component
to the page in Experience Builder.
CustomChannel2A custom
recommendation channel.
CustomChannel3A custom
recommendation channel.
CustomChannel4A custom
recommendation channel.
CustomChannel5A custom
recommendation channel.
Indicates whether scheduling is enabled. If
true, the recommendation is enabled and
appears in sites.
If false, recommendations in feeds in
Salesforce mobile web arent removed, but
booleanenabled
no new recommendations appear. In sites,
1304
NetworkMetadata Types
DescriptionField TypeField
disabled recommendations no longer
appear.
The rank of the recommendation within the
channel, which determines the order in
which its displayed.
The scheduled recommendation is inserted
into the position specified by the rank. The
intrank
rank of all the scheduled recommendations
after it is pushed down. If the specified rank
is larger than the size of the list, the
scheduled recommendation is put at the
end of the list.
If a rank isnt specified, the scheduled
recommendation is put at the end of the
list.
The name of the audience for this scheduled
recommendation.
stringrecommendationAudience
NetworkTabSet
DescriptionField TypeField
Custom tab that is part of the site.stringcustomTab
The Home tab for the site. When members
log in, this tab is the first page they see.
stringdefaultTab
Standard tab that is part of the site.stringstandardTab
Declarative Metadata Sample Definition
A sample XML definition of a network.
<?xml version="1.0" encoding="UTF-8"?>
<Network xmlns="http://soap.sforce.com/2006/04/metadata">
<allowMembersToFlag>true</allowMembersToFlag>
<changePasswordTemplate>unfiled$public/CommunityChangePasswordEmailTemplate</changePasswordTemplate>
<description>Metadata Community</description>
<emailSenderAddress>[email protected]</emailSenderAddress>
<emailSenderName>Admin User</emailSenderName>
<enableInvitation>false</enableInvitation>
<enableKnowledgeable>true</enableKnowledgeable>
<enableNicknameDisplay>false</enableNicknameDisplay>
1305
NetworkMetadata Types
<enablePrivateMessages>true</enablePrivateMessages>
<enableReputation>true</enableReputation>
<enableUpDownVote>true</enableUpDownVote>
<forgotPasswordTemplate>unfiled$public/CommunityForgotPasswordEmailTemplate</forgotPasswordTemplate>
<networkMemberGroups>
<permissionSet>Admin</permissionSet>
<permissionSet>Standard</permissionSet>
<permissionSet>ReadOnly</permissionSet>
<profile>Admin</profile>
<profile>Standard</profile>
<profile>ReadOnly</profile>
</networkMemberGroups>
<recommendationDefinition>
<recommendationDefinitionDetails>
<actionUrl>https://www.apple.com/iphone</actionUrl>
<description>Better specs and high performance for iPhones</description>
<linkText>iPhone 7</linkText>
<scheduledRecommendations>
<scheduledRecommendationDetails>
<channel>DefaultChannel</channel>
<enabled>false</enabled>
<rank>1</rank>
<recommendationAudience>New Member Audience</recommendationAudience>
</scheduledRecommendationDetails>
</scheduledRecommendations>
<setupName>Apple iPhone</setupName>
<title>iPhone7</title>
</recommendationDefinitionDetails>
<recommendationDefinitionDetails>
<actionUrl>https://www.bose.com/qc35</actionUrl>
<description>New Amazing Noise cancellation Headphones</description>
<linkText>Bose QC35</linkText>
<scheduledRecommendations>
<scheduledRecommendationDetails>
<channel>DefaultChannel</channel>
<enabled>true</enabled>
<rank>2</rank>
<recommendationAudience>Custom Audience</recommendationAudience>
</scheduledRecommendationDetails>
</scheduledRecommendations>
<setupName>Bose Headphones</setupName>
<title>Bose QC35</title>
</recommendationDefinitionDetails>
</recommendationDefinition>
<reputationLevels>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_beginner.png</smallImage>
</branding>
<label>Beginner</label>
<lowerThreshold>0</lowerThreshold>
1306
NetworkMetadata Types
</level>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_apprentice.png</smallImage>
</branding>
<label>Apprentice</label>
<lowerThreshold>51</lowerThreshold>
</level>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_gettingthere.png</smallImage>
</branding>
<label>Getting There</label>
<lowerThreshold>101</lowerThreshold>
</level>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_skilled.png</smallImage>
</branding>
<label>Skilled</label>
<lowerThreshold>151</lowerThreshold>
</level>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_expert.png</smallImage>
</branding>
<label>Expert</label>
<lowerThreshold>201</lowerThreshold>
</level>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_mentor.png</smallImage>
</branding>
<label>Mentor</label>
<lowerThreshold>251</lowerThreshold>
</level>
<level>
<branding>
<smallImage>communities_shared
_document_folder/replevel_guru.png</smallImage>
</branding>
<label>Guru</label>
<lowerThreshold>301</lowerThreshold>
</level>
</reputationLevels>
<reputationPointsRules>
<pointsRule>
<eventType>FeedItemWriteAPost</eventType>
<points>5</points>
1307
NetworkMetadata Types
</pointsRule>
<pointsRule>
<eventType>FeedItemWriteAComment</eventType>
<points>3</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemReceiveAComment</eventType>
<points>10</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemLikeSomething</eventType>
<points>3</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemReceiveALike</eventType>
<points>5</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemMentionSomeone</eventType>
<points>5</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemSomeoneMentionsYou</eventType>
<points>10</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemShareAPost</eventType>
<points>5</points>
</pointsRule>
<pointsRule>
<eventType>FeedItemSomeoneSharesYourPost</eventType>
<points>10</points>
</pointsRule>
</reputationPointsRules>
<selfRegistration>false</selfRegistration>
<sendWelcomeEmail>true</sendWelcomeEmail>
<site>Network_11</site>
<status>UnderConstruction</status>
<tabs>
<defaultTab>Chatter</defaultTab>
<standardTab>Chatter</standardTab>
<standardTab>Account</standardTab>
<standardTab>Campaign</standardTab>
<standardTab>Case</standardTab>
<standardTab>Console</standardTab>
<standardTab>Contact</standardTab>
<standardTab>Contract</standardTab>
<standardTab>Dashboard</standardTab>
<standardTab>JigsawSearch</standardTab>
<standardTab>File</standardTab>
<standardTab>CollaborationGroup</standardTab>
<standardTab>home</standardTab>
<standardTab>Idea</standardTab>
<standardTab>Lead</standardTab>
1308
NetworkMetadata Types
<standardTab>Opportunity</standardTab>
<standardTab>Product2</standardTab>
<standardTab>UserProfile</standardTab>
<standardTab>report</standardTab>
<standardTab>Solution</standardTab>
</tabs>
<urlPathPrefix>network1</urlPathPrefix>
<welcomeTemplate>unfiled$public/CommunityWelcomeEmailTemplate</welcomeTemplate>
</Network>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Community (Zone)
NetworkBranding
Represents the branding and color scheme applied to the login pages of an Experience Cloud site. (Experience Cloud sites are represented
by the Network component.)
This type extends the MetadataWithContent type and inherits its content and fullName fields.
Note: For branding properties that apply to Experience Builder sites, see BrandingSet.
Declarative Metadata File Suffix and Directory Location
NetworkBranding components have the suffix .networkBranding and are stored in the networkBranding folder.
Version
This object is available in API version 41.0 and later. It replaces the Branding subtype in the Network component.
Fields
DescriptionField TypeField
The path to the image URL that appears as
the background on the Experience Cloud
stringloginBackgroundImageUrl
sites login page. This URL can be fixed,
dynamic, or an uploaded image. A dynamic
URL contains the experience ID parameter,
{expid}, and is resolved dynamically at
runtime.
1309
NetworkBrandingMetadata Types
DescriptionField TypeField
The text that appears in the footer of the
Experience Cloud site login page.
stringloginFooterText
The logo that appears on the Experience
Cloud site login page for external users.
stringloginLogo
The name of the logo that appears on the
Experience Cloud site login page for external
users.
stringloginLogoName
The background color of the Login button.
Available in API version 42.0 and later.
stringloginPrimaryColor
The background color for the Experience
Cloud sites login page.
stringloginQuaternaryColor
The path to the content of the right frame
of the Experience Cloud site login page. This
stringloginRightFrameUrl
URL can be either fixed or dynamic. A
dynamic URL contains the experience ID
parameter, {expid}. If the URL contains
{expid}, the URL is resolved dynamically
at runtime depending on the parameter's
value.
The name of the Experience Cloud site
associated with the branding.
stringnetwork
An image that appears on the footer of the
Experience Cloud site pages. Must be an
.html file.
stringpageFooter
An image that appears on the header of the
Experience Cloud site pages. Can be an
.html, .gif, .jpg, or .png file.
stringpageHeader
Required. The color used for the active tab.stringprimaryColor
Required. Font color used with
primaryColor.
stringprimaryComplementColor
Required. The background color for pages
in the Experience Cloud site.
stringquaternaryColor
Required. Font color used with
quaternaryColor.
stringquaternaryComplementColor
Required. The color used for the top borders
of lists and tables.
stringsecondaryColor
The path to the logo that appears on the
Experience Cloud sites login page. This URL
stringstaticLogoImageUrl
can be fixed, dynamic, or an uploaded
1310
NetworkBrandingMetadata Types
DescriptionField TypeField
image. A dynamic URL contains the
experience ID parameter, {expid}. If the
URL contains {expid}, the URL is
resolved dynamically at runtime depending
on the parameter's value.
Required. The background color for section
headers on edit and detail pages.
stringtertiaryColor
Required. Font color used with
tertiaryColor.
stringtertiaryComplementColor
Required. The background color for the
header.
stringzeronaryColor
Required. Font color used with
zeronaryColor.
stringzeronaryComplementColor
Declarative Metadata Sample Definition
A sample XML definition of network branding.
<?xml version="1.0" encoding="UTF-8"?>
<NetworkBranding xmlns="http://soap.sforce.com/2006/04/metadata">
<loginFooterText>salesforce.com</loginFooterText>
<loginLogo>Communities_Shared_Document_Folder/header2_png.png</loginLogo>
<loginLogoName>header2.png</loginLogoName>
<loginBackgroundImageUrl>http://identitycms.herokuapp.com/promo-background.jpg</loginBackgroundImageUrl>
<loginQuaternaryColor>#B1BAC1</loginQuaternaryColor>
<loginRightFrameUrl>https://www.example.com/test</loginRightFrameUrl>
<network>Network 1</network>
<pageFooter>Branding/footer_html.html</pageFooter>
<pageHeader>Branding/header_Image.jpg</pageHeader>
<primaryColor>#AF5800</primaryColor>
<primaryComplementColor>#FFFFFF</primaryComplementColor>
<quaternaryColor>#286FB8</quaternaryColor>
<quaternaryComplementColor>#FFFFFF</quaternaryComplementColor>
<secondaryColor>#000000</secondaryColor>
<tertiaryColor>#FFFFFF</tertiaryColor>
<tertiaryComplementColor>#222222</tertiaryComplementColor>
<zeronaryColor>#0A3764</zeronaryColor>
<zeronaryComplementColor>#FFFFFF</zeronaryComplementColor>
</NetworkBranding>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1311
NetworkBrandingMetadata Types
NotificationTypeConfig
Represents the metadata associated with org-level notification settings for standard and custom notification types. This type extends
the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
NotificationTypeConfig components have the suffix .config and are stored in the notificationTypeConfig folder.
Version
NotificationTypeConfig components are available in API version 48.0 and later.
Fields
DescriptionField TypeField Name
An array of delivery settings for an orgs notification types.NotificationTypeSettings on
page 1312[]
notificationTypeSettings
NotificationTypeSettings
Represents the delivery settings for a standard or custom notification type.
DescriptionField TypeField Name
Required. Specifies a notification types API name.
stringnotificationType
For standard notification types, this is the predefined API name of the standard
notification type. For custom notification types, this is the API name of the custom
notification type. If a custom notification type was installed with a managed package,
it includes the namespace prefix.
Retrieve NotificationTypeConfig to see the API names of the notification types available
in your org.
An array of settings for the connected apps supported for a notification type.AppSettings on page 1312[]appSettings
Defines the delivery channels for a notification type.NotificationChannels on
page 1313
notificationChannels
AppSettings
Represents the settings for the connected apps supported for a notification type.
1312
NotificationTypeConfigMetadata Types
DescriptionField TypeField Name
Required. Specifies the API name of a connected app. If a connected app was installed
with a managed package, it includes the namespace prefix.
Retrieve NotificationTypeConfig to see the API names of the connected apps supported
for a notification type.
stringconnectedAppName
Indicates whether a connected app is enabled (true) or not (false) for the
notification type.
booleanenabled
NotificationChannels
Represents the settings for the delivery channels for a notification type.
DescriptionField TypeField Name
Indicates whether desktop notifications are enabled (true) or not (false).booleandesktopEnabled
Indicates whether mobile notifications are enabled (true) or not (false).booleanmobileEnabled
Indicates whether Slack notifications are enabled (true) or not (false).booleanslackEnabled
Declarative Metadata Sample Definition
The following is an example of a NotificationTypeConfig component.
<NotificationTypeConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<notificationTypeSettings>
<notificationType>chatter_mention</notificationType>
<notificationChannels>
<desktopEnabled>false</desktopEnabled>
<mobileEnabled>true</mobileEnabled>
</notificationChannels>
<appSettings>
<connectedAppName>Datawatch</connectedAppName>
<enabled>false</enabled>
</appSettings>
<appSettings>
<connectedAppName>package2__ConnectedApp2</connectedAppName>
<enabled>true</enabled>
</appSettings>
</notificationTypeSettings>
<notificationTypeSettings>
<notificationType>namespace__Custom_Notification</notificationType>
<notificationChannels>
<desktopEnabled>true</desktopEnabled>
<mobileEnabled>true</mobileEnabled>
</notificationChannels>
<appSettings>
<connectedAppName>namespace__Connected_App</connectedAppName>
<enabled>false</enabled>
1313
NotificationTypeConfigMetadata Types
</appSettings>
<appSettings>
<connectedAppName>namespace2__ConnectedApp2</connectedAppName>
<enabled>true</enabled>
</appSettings>
</notificationTypeSettings>
</NotificationTypeConfig>
The following is an example of a package manifest used to retrieve all the available notification settings for an organization, using a
wildcard:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>NotificationTypeConfig</name>
</types>
<version>48.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OauthCustomScope
Represents a permission defining the protected data that a connected app can access from an external entity when Salesforce is the
OAuth authorization provider. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
OauthCustomScope components have the suffix .oauthcustomscope and are stored in the oauthcustomscopes directory.
Version
OAuth custom scopes are available in API version 46.0 and later.
Special Access Rules
You must have the Manage Connected Apps permission to access this object.
1314
OauthCustomScopeMetadata Types
Fields
DescriptionField TypeField Name
Represents the name of the connected app to which the custom scope
is assigned. Available in API version 49.0 and later.
If the connected app is part of a package, include the packages
namespace prefix with the connected apps name. Use the following
OauthCustomScopeApp
(enumeration of
type string)
assignedTo
format: <namespace_prefix>__<connected_app>. Use two
underscores (_) between the namespace prefix and connected apps
name.
Required. The description of the permission provided to the connected
app by the scope. The custom scopes description must be unique, can
stringdescription
only include alphanumeric characters, and can be up to 60 characters
long.
You can enter a custom label in place of a description. An advantage of
using a custom label is that you can maintain reusable text in a single
location and translate the text into multiple languages. See Custom
Labels.
Note: The description formatting requirements that apply to
custom scopes also apply to custom labels.
Required. Use when referring to the OAuth custom scope from a
program.
stringdeveloperName
Required. Indicates whether this component is protected () or not
(false). Protected components cannot be linked to or referenced by
components created in the installing org.
booleanisProtected
Indicates whether the object is included in the connected apps OpenID
Connect discovery endpoint. The default setting is false. For more
information, see OpenID Connect Discovery Endpoint.
booleanisPublic
Required. The primary label for the custom scope record. This label must
be unique and begin with a letter. It can include only alphanumeric
characters and underscores. It cant contain spaces.
stringmasterLabel
Declarative Metadata Sample Definition
The following is an example of an OAuthCustomScope component. In this example, basicScope is the name of custom scope entity
being retrieved.
<?xml version="1.0" encoding="UTF-8"?>
<OauthCustomScope xmlns="http://soap.sforce.com/2006/04/metadata">
<assignedTo>
<connectedApp>MyOrgNamespace__TestApp</connectedApp>
</assignedTo>
<description>Example of a basic custom scope</description>
1315
OauthCustomScopeMetadata Types
<developerName>basicScope</developerName>
<masterLabel>basicScope</masterLabel>
<isProtected>false</isProtected>
<isPublic>true</isPublic>
</OauthCustomScope>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>basicScope</members>
<name>OauthCustomScope</name>
</types>
<version>49.0</version>
</Package>
Usage
An OAuth custom scope tells an external entity about a connected apps permissions to access protected data. The OAuth custom scope
you create in your Salesforce org corresponds to the same custom scope defined in your external entity and assigned to the resource.
For example, you define an Order Status custom scope in your external entity that allows access to customer order status data in your
order systems API. In Salesforce, you create an OAuth custom scope that you also name Order Status. You assign this custom scope to
the connected app requesting access to the order status API. When the external entity receives the connected apps request to access
a customers order status, it validates the connected apps access token and Order Status scope. With a successful validation, the app
can access the customer order status information in the order systems API.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OauthTokenExchangeHandler
Represents a token exchange handler. The token exchange handler also consists of an Apex class. During the OAuth 2.0 token exchange
flow, the token exchange handler is used to validate tokens from an external identity provider and to map users to Salesforce.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OauthTokenExchangeHandler components have the suffix .oauthtokenexchangehandler and are stored in the
oauthtokenexchangehandlers folder.
1316
OauthTokenExchangeHandlerMetadata Types
Version
OauthTokenExchangeHandler components are available in API version 60.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
description
Description
Required. A description for your token exchange handler.
Field Type
string
developerName
Description
Required. The API name for the handler.
Field Type
OauthTokenExchHandlerApp[]
enablements
Description
The enablement settings for the token exchange handler, including the execution
user who runs the Apex class, the connected apps or external client apps for which
its enabled, and whether or not its the default handler.
Field Type
boolean
isAccessTokenSupported
Description
Required. Indicates whether the handler supports OAuth 2.0 access tokens from the
identity provider, including opaque access tokens and JSON Web Token (JWT)-based
access tokens.
Field Type
boolean
isEnabled
Description
Required. Indicates whether the handler is enabled. To complete enablement, add an
enablements field that specifies the enablement settings.
Field Type
boolean
isIdTokenSupported
1317
OauthTokenExchangeHandlerMetadata Types
DescriptionField Name
Description
Required. Indicates whether the handler supports OpenID Connect ID tokens from the
identity provider.
Field Type
boolean
isJwtSupported
Description
Required. Indicates whether the handler supports tokens from the identity provider
that are in JWT format, such as JWT-based access tokens.
Field Type
boolean
isProtected
Description
Indicates whether the handler can be linked to or referenced by components created
in a subscriber org. See Protected Components in Managed Packages.
Field Type
boolean
isRefreshTokenSupported
Description
Required. Indicates whether the handler supports OAuth 2.0 refresh tokens from the
identity provider.
Field Type
boolean
isSaml2Supported
Description
Required. Indicates whether the handler supports SAML 2.0 assertions from the identity
provider.
Field Type
boolean
isUserCreationAllowed
Description
Required. Indicates whether the handler can set up new users. During the token
exchange flow, the Apex handler maps users from the identity provider to Salesforce.
If the isUserCreationAllowed field is true, the canCreateUser boolean
in the getUserForTokenSubject method is true, and the user doesnt exist
in Salesforce, the handler sets up a new User object, which Salesforce automatically
inserts to finish creating the user.
Field Type
string
masterLabel
Description
Required. The label of the token exchange handler record.
1318
OauthTokenExchangeHandlerMetadata Types
DescriptionField Name
Field Type
string
tokenHandlerApex
Description
Required. The Apex class associated with the token exchange handler. The class contains
methods to validate the token and map users to Salesforce. It must extend the
Oauth2TokenExchangeHandler Apex class.
OauthTokenExchHandlerApp
Represents the settings for a specific Salesforce connected app or external client app thats enabled for the token exchange handler. A
handler can be enabled for multiple apps.
DescriptionField Name
Field Type
string
apexExecutionUser
Description
Required. A user who runs the Apex token exchange handler. We recommend that
you use an integration user.
Field Type
string
connectedApp
Description
The API name of the connected app thats being used to integrate with Salesforce.
Field Type
string
externalClientApp
Description
The API name of the external client app thats being used to integrate with Salesforce.
Field Type
boolean
isDefault
Description
Required. Indicates whether the token exchange handler is the default handler for this
app. During the token exchange flow, in the token request, you can optionally include
a token_handler parameter with the name of a specific handlers Apex class. If
you dont include this parameter, Salesforce defaults to the default handler.
1319
OauthTokenExchangeHandlerMetadata Types
Declarative Metadata Sample Definition
The following is an example of an OauthTokenExchangeHandler component.
<?xml version="1.0" encoding="UTF-8"?>
<OauthTokenExchangeHandler xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>MyTokenExchangeHandler</developerName>
<description>My token exchange handler</description>
<isAccessTokenSupported>true</isAccessTokenSupported>
<isEnabled>true</isEnabled>
<isIdTokenSupported>false</isIdTokenSupported>
<isJwtSupported>true</isJwtSupported>
<isProtected>false</isProtected>
<isRefreshTokenSupported>false</isRefreshTokenSupported>
<isSaml2Supported>false</isSaml2Supported>
<isUserCreationAllowed>true</isUserCreationAllowed>
<masterLabel>MyTokenExchangeHandler</masterLabel>
<tokenHandlerApex>MyOauthTokenExchangeHandler</tokenHandlerApex>
<enablements>
<apexExecutionUser>[email protected]</apexExecutionUser>
<connectedApp>TokenExchangeApp1</conectedApp>
<isDefault>true</isDefault>
</enablements>
</OauthTokenExchangeHandler>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>OauthTokenExchangeHandler</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OcrSampleDocument
Represents the details of a sample document or a document type that's used as a reference while extracting and mapping information
from a customer form. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
The OcrSampleDocument type doesnt need to represent a real sample document. It can also be an abstract document that represents
all documents of the same DocumentType. In such cases, the contentAsset and documentHeight fields are null.
1320
OcrSampleDocumentMetadata Types
File Suffix and Directory Location
OcrSampleDocument components have the suffix .ocrSampleDocument and are stored in the ocrSampleDocuments
folder.
Version
OcrTemplate components are available in API version 52.0 and later.
Special Access Rules
To use this metadata type, your Salesforce org must have the AWSTextract1000LimitAddOn license.
Fields
DescriptionField TypeField Name
The type of application using the OCR sample document.
Possible values are:
OcrApplicationType
(enumeration of
type string)
applicationType
EinsteinDocumentReader
Industries
The ID of the OCR sample document asset.
This field is null if the OcrSampleDocument is an abstract document
representing the DocumentType.
stringcontentAsset
The normalized height of the OCR sample document page.
This field is null if the OcrSampleDocument is an abstract document
representing the DocumentType.
doubledocumentHeight
Required. The type of the OCR sample document.stringdocumentType
Required. The label for the OCR sample document.stringmasterLabel
The details of the field in a form whose value is extracted and mapped
to a Salesforce object field.
OcrSampleDocumentField[]ocrSampleDocumentFields
A collection of fields that define a page in the OCR sample document.OcrSampleDocumentPage[]ocrSampleDocumentPages
OcrSampleDocumentField
Represents the details of the field in a form whose value is extracted and mapped to a Salesforce object field.
1321
OcrSampleDocumentMetadata Types
Table 3: Fields
DescriptionField TypeField Name
The column number in the item with the cell storing this fields value. Available
in API version 56.0 and later.
intcellColumnNumber
The number of columns that span the cell storing this fields value. Available
in API version 56.0 and later.
intcellColumnSpanValue
The row number in the item with the cell storing this fields value. Available in
API version 56.0 and later.
intcellRowNumber
The number of rows that span the cell storing this fields value. Available in API
version 56.0 and later.
intcellRowSpanValue
A normalized coordinate representing the right edge of the bounding box of
the key.
doublefieldLabelMaxX
A normalized coordinate representing the bottom edge of the bounding box
of the key.
doublefieldLabelMaxY
A normalized coordinate representing the left edge of the bounding box of
the key.
doublefieldLabelMinX
A normalized coordinate representing the top edge of the bounding box of
the key.
doublefieldLabelMinY
Name of the referred field value. Available in API version 56.0 and later.stringfieldValueName
Indicates whether the key is automatically extracted (true) or not (false).
Available in API version 57.0 and later.
This field helps to distinguish auto-extracted keys from manual ones.
booleanisAutoExtractedValue
The content in a particular area of the form, representing the field that is
extracted by OCR.
stringkeyContent
Required. The associated OCR sample document used as a reference while
extracting and mapping information from a customer form.
stringocrSampleDocument
A reference to a page of the OCR sample document that contains the key.
This field is null if the OcrSampleDocument is an abstract document
representing the DocumentType.
stringocrSampleDocumentPage
A reference to the item on the sample document page containing this field's
value. Available in API version 56.0 and later.
OcrTemplateocrSampleDocumentPageItem
OcrSampleDocumentPage
Represents a collection of fields that define a page in the OCR sample document. This type exists only if the OcrSampleDocument is a
real sample document and not an abstract document representing the DocumentType.
1322
OcrSampleDocumentMetadata Types
Table 4: Fields
DescriptionField TypeField Name
Required. The associated OCR sample document used as a reference while
extracting and mapping information from a customer form.
stringocrSampleDocument
The collection of page items with the associated OCR sample document page.
Available in API version 56.0 and later.
OcrSampleDocumentocrSampleDocument
PageItems
The normalized height of the OCR sample document page.doublepageHeight
Required. The page number of the page in the associated OCR sample
document.
integerpageNumber
OcrSampleDocumentPageItem
Represents a foreign key reference to the item on the sample document page containing a value for the page item.
Table 5: Fields
DescriptionField TypeField Name
Indicates whether the OCR sample document page item has a header (true)
or not (false). The default value is false. Available in API version 56.0 and
later.
booleanhasHeader
Required. The sequence number of the item on an OCR sample document
page with multiple items. Available in API version 56.0 and later.
intsequenceNumber
The title of the OCR sample document page item. Available in API version 56.0
and later.
stringtitle
Required. Specifies the type of OCR sample document page item. Available in
API version 56.0 and later.
Valid value is TABLE.
ItemType
(enumeration of type
string)
type
Declarative Metadata Sample Definition
The following is an example of a OcrSampleDocument component.
<?xml version="1.0" encoding="UTF-8"?>
<OcrSampleDocument xmlns="http://soap.sforce.com/2006/04/metadata">
<contentAsset>asset_01jpeg</contentAsset>
<documentHeight>1.24</documentHeight>
<documentType>Form</documentType>
<masterLabel>Form</masterLabel>
<ocrSampleDocumentFields>
...<cellColumnNumber>1</cellColumnNumber>
<cellColumnSpanValue>1</cellColumnSpanValue>
<cellRowNumber>1</cellRowNumber>
<cellRowSpanValue>1</cellRowSpanValue>
1323
OcrSampleDocumentMetadata Types
<fieldLabelMaxX>0.5975854</fieldLabelMaxX>
<fieldLabelMaxY>0.46625894</fieldLabelMaxY>
<fieldLabelMinX>0.5065626</fieldLabelMinX>
<fieldLabelMinY>0.39605626</fieldLabelMinY>
<keyContent>Last Name</keyContent>
<ocrSampleDocument>image240</ocrSampleDocument>
<ocrSampleDocumentPage>1</ocrSampleDocumentPage>
<ocrSampleDocumentPageItem>
<hasHeader>false</hasHeader>
<sequenceNumber>1</sequenceNumber>
<title>Table1</title>
<type>TABLE</type>
</ocrSampleDocumentPageItem>
</ocrSampleDocumentFields>
<ocrSampleDocumentPages>
<ocrSampleDocument>Form</ocrSampleDocument>
<pageHeight>1.0</pageHeight>
<pageNumber>1</pageNumber>
</ocrSampleDocumentPages>
<ocrSampleDocumentPages>
<ocrSampleDocument>Form</ocrSampleDocument>
<pageNumber>2</pageNumber>
</ocrSampleDocumentPages>
</OcrSampleDocument>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>DocumentType</name>
</types>
<types>
<members>*</members>
<name>ContentAsset</name>
</types>
<types>
<members>*</members>
<name>OcrSampleDocument</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1324
OcrSampleDocumentMetadata Types
OcrTemplate
Represents the details of the mapping between a form and a Salesforce object using Intelligent Form Reader.This type extends the
Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
OcrTemplate components have the suffix .ocrTemplate and are stored in the ocrTemplates folder.
Version
OcrTemplate components are available in API version 52.0 and later.
Special Access Rules
To use this metadata type, your Salesforce org must have the AWSTextract1000LimitAddOn license.
Fields
DescriptionField TypeField Name
Indicates whether the OCR template is active (true) or not (false).booleanactive
The description of the OCR template.stringdescription
Required. The document type for which this template defines mappings.stringdocumentType
Required. The label for the OCR template.stringmasterLabel
Represents the details of the object to which information from a form
is extracted and mapped.
OcrTargetObject[]ocrTargetObjects
Represents the details of a sample document or a document type that's
used as a reference while extracting and mapping information from a
customer form.
OcrTemplateSampleDocument[]ocrTemplateSampleDocuments
The number of pages in the form from which information is extracted.integerpageCount
Required. The name of the OCR template.stringtemplateName
OcrTargetObject
Represents the details of the object to which information from a form is extracted and mapped.
1325
OcrTemplateMetadata Types
Table 6: Fields
DescriptionField TypeField Name
Represents the details of how information from a form field is mapped to fields
in an object.
OcrTargetObjFieldMapping[]ocrTargetObjectFieldMappings
Required. The object to which information from a form is mapped.stringtargetObject
The developer name of the record type of the target object. Available in API
version 56.0 and later.
stringtargetObjectRecordType
OcrTargetObjFieldMapping
Represents the details of how information from a form field is mapped to fields in an object.
Table 7: Fields
DescriptionField TypeField Name
The details of the field in a form whose value is extracted and mapped to a
Salesforce object field.
OcrSampleDocumentField[]ocrSampleDocField
Required. The field to which information is mapped.stringtargetField
Required. Specifies the type of mapping. Available in API version 56.0 and later.
Valid values are:
OcrMappingType
(enumeration of type
string)
type
FormField
TableColumn
The default value is FormField.
OcrSampleDocumentField
Represents the details of the field in a form whose value is extracted and mapped to a Salesforce object field.
Table 8: Fields
DescriptionField TypeField Name
The column number in the item with the cell storing this fields value. Available
in API version 56.0 and later.
intcellColumnNumber
The number of columns that span the cell storing this fields value. Available
in API version 56.0 and later.
intcellColumnSpanValue
The row number in the item with the cell storing this fields value. Available in
API version 56.0 and later.
intcellRowNumber
The number of rows that span the cell storing this fields value. Available in API
version 56.0 and later.
intcellRowSpanValue
A normalized coordinate representing the right edge of the bounding box of
the key.
doublefieldLabelMaxX
1326
OcrTemplateMetadata Types
DescriptionField TypeField Name
A normalized coordinate representing the bottom edge of the bounding box
of the key.
doublefieldLabelMaxY
A normalized coordinate representing the left edge of the bounding box of
the key.
doublefieldLabelMinX
A normalized coordinate representing the top edge of the bounding box of
the key.
doublefieldLabelMinY
The name of the referred field value. Available in API version 56.0 and later.stringfieldValueName
Indicates whether the key is automatically extracted (true) or not (false).
Available in API version 57.0 and later.
This field helps to distinguish auto-extracted keys from manual ones.
booleanisAutoExtractedValue
The content in a particular area of the form, representing the field that is
extracted by OCR.
stringkeyContent
Required. The associated OCR sample document is used as a reference while
extracting and mapping information from a customer form.
stringocrSampleDocument
A collection of fields that define a page in the OCR sample document.stringocrSampleDocumentPage
A reference to the item on the sample document page containing this field's
value. Available in API version 56.0 and later.
OcrSampleDocumentPageItemocrSampleDocumentPageItem
OcrSampleDocumentPageItem
Represents a foreign key reference to the item on the sample document page containing a value for the page item.
Table 9: Fields
DescriptionField TypeField Name
Indicates whether the OCR sample document page item has a header (true)
or not (false). The default value is false. Available in API version 56.0 and
later.
booleanhasHeader
Required. The sequence number of the item on an OCR sample document
page with multiple items. Available in API version 56.0 and later.
intsequenceNumber
The title of the OCR sample document page item. Available in API version 56.0
and later.
stringtitle
Required. Specifies the type of OCR sample document page item.
Valid value is TABLE.
ItemType
(enumeration of type
string)
type
Available in API version 56.0 and later.
1327
OcrTemplateMetadata Types
OcrTemplateSampleDocument
Represents the details of a sample document or a document type that's used as a reference while extracting and mapping information
from a customer form.
Table 10: Fields
DescriptionField TypeField Name
The associated OCR sample document is used as a reference while extracting
and mapping information from a customer form.
stringocrSampleDocument
Declarative Metadata Sample Definition
The following is an example of a OcrTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<OcrTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<active>false</active>
<documentType>Form</documentType>
<masterLabel>Form Test 222</masterLabel>
<ocrTargetObjects>
<ocrTargetObjFieldMappings>
<ocrSampleDocField>
<cellColumnNumber>1</cellColumnNumber>
<cellColumnSpanValue>1</cellColumnSpanValue>
<cellRowNumber>1</cellRowNumber>
<cellRowSpanValue>1</cellRowSpanValue>
<fieldLabelMaxX>0.5975854</fieldLabelMaxX>
<fieldLabelMaxY>0.46625894</fieldLabelMaxY>
<fieldLabelMinX>0.5065626</fieldLabelMinX>
<fieldLabelMinY>0.39605626</fieldLabelMinY>
<keyContent>Last Name</keyContent>
<ocrSampleDocument>image240</ocrSampleDocument>
<ocrSampleDocumentPage>1</ocrSampleDocumentPage>
<ocrSampleDocumentPageItem>
<hasHeader>false</hasHeader>
<sequenceNumber>1</sequenceNumber>
<title>Table1</title>
<type>TABLE</type>
</ocrSampleDocumentPageItem>
</ocrSampleDocField>
<targetField>Account.Name</targetField>
<type>TableColumn</type>
</ocrTargetObjFieldMappings>
<targetObject>Account</targetObject>
<targetObjectRecordType>Account.X240</targetObjectRecordType>
</ocrTargetObjects>
<ocrTemplateSampleDocuments>
<ocrSampleDocument>Form</ocrSampleDocument>
</ocrTemplateSampleDocuments>
<pageCount>10</pageCount>
1328
OcrTemplateMetadata Types
<templateName>Form Test</templateName>
</OcrTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>OcrTemplate</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OmniExtTrackingDef
Represents a connection between an OmniTrackingGroup in OmniAnalytics and a third-party Analytics system such as Google Analytics.
Note: This metadata type is part of OmniStudio Standard, not OmniStudio for Vlocity.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OmniExtTrackingDef components have the suffix .OmniExtTrackingDef and are stored in the OmniExtTrackingDefs
folder.
Version
OmniExtTrackingDef components are available in API version 60.0 and later.
Special Access Rules
Using OmniAnalytics requires having an OmniStudio license and enabling OmniAnalytics in Setup.
1329
OmniExtTrackingDefMetadata Types
Fields
DescriptionField Name
Field Type
string
description
Description
A description of the OmniExtTrackingDef.
Field Type
string
developerName
Description
Required.
The unique name of the OmniExtTrackingDef in the API. This name can contain only
underscores and alphanumeric characters and must be unique in your organization.
It must begin with a letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores. Limit: 80 characters.
Note: When creating large sets of data, always specify a unique
DeveloperName for each record. If no DeveloperName is specified,
performance may slow while Salesforce generates one for each record.
Note: Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
Field Type
boolean
isActive
Description
Required.
Specifies whether the OmniExtTrackingDef is active.
Field Type
string
masterLabel
Description
Required.
The unique master label of the OmniExtTrackingDef. This internal label doesnt get
translated.
Field Type
string
omniExtTrackingDefKey
Description
A UUID generated internally by Salesforce to uniquely identify an OmniExtTrackingDef
record across all orgs.
1330
OmniExtTrackingDefMetadata Types
DescriptionField Name
Field Type
OmniExtTrackingEventDef[]
omniExtTrackingEventDefs
Description
The OmniExtTrackingEventDef objects related to this OmniExtTrackingDef.
Field Type
string
trackingFrameworkInformation
Description
Required.
JSON data containing information about an external service, such as the API call and
input parameter names.
Field Type
ExternalTrackingVendor (enumeration of type string)
trackingServiceProvider
Description
Required.
The third-party Analytics system to which user interaction data is sent.
Values are:
Google
Mixpanel
OmniExtTrackingEventDef
Represents a format for FlexCard or OmniScript user interaction data that a third-party Analytics system such as Google Analytics can
accept.
DescriptionField Name
Field Type
OmniAnalyticsComponentType (enumeration of type string)
componentType
Description
Required.
The type of component for which user interactions are tracked.
Values are:
Flexcard
Omniscript
Field Type
string
description
1331
OmniExtTrackingDefMetadata Types
DescriptionField Name
Description
A description of the OmniExtTrackingEventDef.
Field Type
string
developerName
Description
Required.
The unique name of the OmniExtTrackingEventDef in the API. This name can contain
only underscores and alphanumeric characters and must be unique in your
organization. It must begin with a letter, not include spaces, not end with an underscore,
and not contain two consecutive underscores. Limit: 80 characters.
Note: When creating large sets of data, always specify a unique
DeveloperName for each record. If no DeveloperName is specified,
performance may slow while Salesforce generates one for each record.
Note: Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
Field Type
string
inclusionRule
Description
Required.
A true-or-false condition that determines whether an event is sent to the third-party
Analytics system.
Field Type
string
masterLabel
Description
Required.
The unique master label of the OmniExtTrackingEventDef. This internal label doesnt
get translated.
Field Type
string
omniExtTrackingDef
Description
The ID of the related OmniExtTrackingDef object.
Field Type
string
omniExtTrackingEventDefKey
Description
A UUID generated internally by Salesforce to uniquely identify an
OmniExtTrackingEventDef record across all orgs.
1332
OmniExtTrackingDefMetadata Types
DescriptionField Name
Field Type
string
payloadTemplate
Description
Required.
The payload template structure with placeholders for runtime data. This is used at
runtime to generate the actual payload to be sent to the external Analytics service.
Declarative Metadata Sample Definition
The following is an example of an OmniExtTrackingDef component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniExtTrackingDef xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>Purchase_Tracking_Google</developerName>
<isActive>true</isActive>
<masterLabel>Purchase_Tracking_Google</masterLabel>
<trackingFrameworkInformation>{ "id": "GTM-XXXXXXX" }</trackingFrameworkInformation>
<trackingServiceProvider>Google</trackingServiceProvider>
<omniExtTrackingEventDefs>
<componentType>Omniscript</componentType>
<developerName>Purchase_Funnel_Google</developerName>
<inclusionRule></inclusionRule>
<masterLabel>Purchase_Funnel_Google</masterLabel>
<payloadTemplate>
{
"event": "promotionClick",
"ecommerce": {
"promoClick": {
"promotions": [
{
"name": "%BusinessEvent%"
}
]
}
}
}
</payloadTemplate>
</omniExtTrackingEventDefs>
</OmniExtTrackingDef>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>OmniExtTrackingDef</name>
</types>
1333
OmniExtTrackingDefMetadata Types
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OmniScript
Represents an OmniScript for the Discovery Framework, which guides users through sales, service, and other business processes.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
OmniScript components have the suffix omniScript and are stored in the omniScripts folder.
Version
OmniScript components are available in API version 56.0 and later.
Special Access Rules
To use this metadata type, you must have an OmniStudio license and the Discovery Framework feature enabled in your Salesforce org.
Fields
DescriptionField Name
Field Type
string
customHtmlTemplates
Description
The angular OmniScript template definitions.
Field Type
string
customJavaScript
Description
The custom JavaScript used for an OmniScript.
Field Type
string
designerCustomizationType
1334
OmniScriptMetadata Types
DescriptionField Name
Description
The OmniStudio designer customization type.
Note: For Discovery Framework, the customization type is
discoveryframework.
Field Type
string
elementTypeComponentMapping
Description
Map of custom element overrides.
Field Type
boolean
isActive
Description
Indicates whether the OmniScript is active (true) or not (false). The default value
is false.
Field Type
boolean
isIntegrationProcedure
Description
Indicates whether OmniScript is an Integration Procedure (true) or OmniScript
metadata (false). The default value is false.
Field Type
boolean
isMetadataCacheDisabled
Description
Indicates whether metadata cache for the integration procedure is disabled (true)
or not (false). The default value is false.
Field Type
boolean
isOmniScriptEmbeddable
Description
Indicates whether the OmniScript can be embedded in other OmniScripts (true) or
not (false). The default value is false
Field Type
boolean
isTestProcedure
Description
Indicates whether OmniScript is a test procedure setting (true) or not (false). The
default value is false
Field Type
boolean
isWebCompEnabled
1335
OmniScriptMetadata Types
DescriptionField Name
Description
Indicates whether web component OmniScript (not Angular) is enabled (true) or
not (false). The default value is false
Field Type
string
language
Description
Required.
The language of the OmniScript.
Field Type
string
lastPreviewPage
Description
The last page previewed in the OmniScript designer.
Field Type
string
name
Description
Required.
The name of the OmniScript.
Field Type
string
namespace
Description
The namespace associated with this OmniScript record.
Field Type
OmniProcessElement[]
omniProcessElements
Description
The OmniProcessElements associated with the OmniScript.
Field Type
string
omniProcessKey
Description
The integration procedure Type_SubType value.
Field Type
OmniProcessType (enumeration of type string)
omniProcessType
Description
Required. Integration Procedure or OmniScript.
Possible value is:
1336
OmniScriptMetadata Types
DescriptionField Name
OmniScript
Field Type
string
overrideKey
Description
Reserved for future use.
Field Type
string
propertySetConfig
Description
The configuration information associated with the OmniScript.
Field Type
string
questionDevName
Description
The developer name of the assessment question in the OmniScript.
Note: This field is relevant only for OmniScripts with
designerCustomizationType as discoveryframework.
Field Type
string
requiredPermission
Description
The required permissions to execute the integration procedure.
Field Type
string
responseCacheType
Description
Response cache used for the integration procedure (session or Org).
Field Type
string
subType
Description
Required.
The OmniScript sub type value.
Field Type
string
type
Description
Required.
The OmniScript type value.
1337
OmniScriptMetadata Types
DescriptionField Name
Field Type
string
uniqueName
Description
Required.
The unique name for the OmniScript as Type_SubType_Language_VersionNumber.
Field Type
string
versionNumber
Description
Required.
The OmniScript version number.
Field Type
string
webComponentKey
Description
Internal unique key for the generated Lightning Web Components (LWC).
OmniProcessElement
Represents the OmniScript element associated with the OmniScript.
DescriptionField Name
Field Type
OmniProcessElement[]
childElements
Description
The child elements associated with the OmniProcessElement.
Field Type
string
description
Description
The description of the OmniProcessElement.
Field Type
string
designerCustomizationType
Description
The OmniStudio designer customization type.
Note: To create assessment questions using the Discovery Framework feature,
use the customization type as discoveryframework.
1338
OmniScriptMetadata Types
DescriptionField Name
Field Type
string
discoveryFrameworkUsageType
Description
The usage type for industries that use the Discovery Framework. For example, the
value for Health Cloud is HcUsageType. The value for no specific industry is
Default.
Field Type
string
embeddedOmniScriptKey
Description
The ID of the embedded OmniScript
Field Type
boolean
isActive
Description
Indicates whether the status of the OmniProcessElement is active (true) or not
(false).
Field Type
boolean
isOmniScriptEmbeddable
Description
Indicates whether the OmniScript with the OmniProcessElement can be embedded
in other OmniScripts (true) or not (false).
Field Type
double
level
Description
The vertical level in which the OmniProcessElement occurs on the OmniScript.
Field Type
string
name
Description
Required.
The name of the OmniProcessElement.
Field Type
double
omniProcessVersionNumber
Description
The related OmniProcess version.
Field Type
string
parentElementName
1339
OmniScriptMetadata Types
DescriptionField Name
Description
The name of the parent OmniProcessElement.
Field Type
string
parentElementType
Description
The type of the parent OmniProcessElement.
Field Type
textarea
propertySetConfig
Description
The property set of the OmniProcessElement.
Field Type
string
QuestionDevName
Description
The developer name of the assessment question in the OmniScript.
Note: This field is relevant only for OmniScripts with
designerCustomizationType as discoveryframework.
Field Type
double
sequenceNumber
Description
The horizontal level in which the OmniProcessElement occurs on the OmniScript.
Field Type
string
type
Description
The OmniProcessElement type. For example, Text and TextArea.
Field Type
string
uniqueIndex
Description
A unique index number for the OmniScript.
Declarative Metadata Sample Definition
The following is an example of a OmniScript component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniScript
xmlns="http://soap.sforce.com/2006/04/metadata">
1340
OmniScriptMetadata Types
<elementTypeComponentMapping>{&quot;ElementTypeToHTMLTemplateList&quot;:[]}</elementTypeComponentMapping>
<isActive>false</isActive>
<isIntegrationProcedure>false</isIntegrationProcedure>
<isMetadataCacheDisabled>false</isMetadataCacheDisabled>
<isOmniScriptEmbeddable>false</isOmniScriptEmbeddable>
<isTestProcedure>false</isTestProcedure>
<isWebCompEnabled>true</isWebCompEnabled>
<language>English</language>
<name>OS5</name>
<omniProcessElements>
<parentElementType></parentElementType>
<parentElementName></parentElementName>
<description>test</description>
<isActive>true</isActive>
<isOmniScriptEmbeddable>false</isOmniScriptEmbeddable>
<embeddedOmniScriptKey>key</embeddedOmniScriptKey>
<designerCustomizationType></designerCustomizationType>
<level>0.0</level>
<name>Step1</name>
<omniProcessVersionNumber>0.0</omniProcessVersionNumber>
<propertySetConfig>{&quot;label&quot;:&quot;Step
1&quot;,&quot;validationRequired&quot;:true,&quot;previousLabel&quot;:&quot;Previous&quot;,&quot;previousWidth&quot;:3,&quot;nextLabel&quot;:&quot;Next&quot;,&quot;nextWidth&quot;:3,&quot;cancelLabel&quot;:&quot;Cancel&quot;,&quot;cancelMessage&quot;:&quot;Are
you sure?&quot;,&quot;saveLabel&quot;:&quot;Save for
later&quot;,&quot;saveMessage&quot;:&quot;Are you sure you want to save it for
later?&quot;,&quot;completeLabel&quot;:&quot;Complete&quot;,&quot;completeMessage&quot;:&quot;Are
you sure you want to complete the
script?&quot;,&quot;instruction&quot;:&quot;&quot;,&quot;showPersistentComponent&quot;:[true,false],&quot;remoteClass&quot;:&quot;&quot;,&quot;remoteMethod&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;remoteOptions&quot;:{},&quot;knowledgeOptions&quot;:{&quot;language&quot;:&quot;English&quot;,&quot;publishStatus&quot;:&quot;Online&quot;,&quot;keyword&quot;:&quot;&quot;,&quot;dataCategoryCriteria&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;typeFilter&quot;:&quot;&quot;},&quot;show&quot;:null,&quot;conditionType&quot;:&quot;Hide
if
False&quot;,&quot;HTMLTemplateId&quot;:&quot;&quot;,&quot;instructionKey&quot;:&quot;&quot;,&quot;chartLabel&quot;:null,&quot;allowSaveForLater&quot;:true,&quot;errorMessage&quot;:{&quot;custom&quot;:[],&quot;default&quot;:null},&quot;wpm&quot;:false,&quot;ssm&quot;:false,&quot;message&quot;:{},&quot;pubsub&quot;:false,&quot;businessCategory&quot;:&quot;&quot;,&quot;businessEvent&quot;:&quot;&quot;}</propertySetConfig>
<sequenceNumber>0.0</sequenceNumber>
<type>Step</type>
<questionDevName></questionDevName>
</omniProcessElements>
<omniProcessElements>
<isActive>true</isActive>
<level>0.0</level>
<name>Step2</name>
<omniProcessVersionNumber>0.0</omniProcessVersionNumber>
<isOmniScriptEmbeddable>false</isOmniScriptEmbeddable>
<propertySetConfig>{&quot;label&quot;:&quot;Step2&quot;,&quot;validationRequired&quot;:true,&quot;previousLabel&quot;:&quot;Previous&quot;,&quot;previousWidth&quot;:3,&quot;nextLabel&quot;:&quot;Next&quot;,&quot;nextWidth&quot;:3,&quot;cancelLabel&quot;:&quot;Cancel&quot;,&quot;cancelMessage&quot;:&quot;Are
you sure?&quot;,&quot;saveLabel&quot;:&quot;Save for
later&quot;,&quot;saveMessage&quot;:&quot;Are you sure you want to save it for
later?&quot;,&quot;completeLabel&quot;:&quot;Complete&quot;,&quot;completeMessage&quot;:&quot;Are
you sure you want to complete the
script?&quot;,&quot;instruction&quot;:&quot;&quot;,&quot;showPersistentComponent&quot;:[true,
false],&quot;remoteClass&quot;:&quot;&quot;,&quot;remoteMethod&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;remoteOptions&quot;:{},&quot;knowledgeOptions&quot;:{&quot;language&quot;:&quot;English&quot;,&quot;publishStatus&quot;:&quot;Online&quot;,
&quot;keyword&quot;:&quot;&quot;,&quot;dataCategoryCriteria&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;typeFilter&quot;:&quot;&quot;},&quot;show&quot;:null,&quot;conditionType&quot;:&quot;Hide
if
1341
OmniScriptMetadata Types
False&quot;,&quot;HTMLTemplateId&quot;:&quot;&quot;,&quot;instructionKey&quot;:&quot;&quot;,&quot;chartLabel&quot;:null,&quot;allowSaveForLater&quot;:true,&quot;errorMessage&quot;:{&quot;custom&quot;:[],&quot;default&quot;:null},&quot;wpm&quot;:false,&quot;ssm&quot;:false,&quot;message&quot;:{},&quot;pubsub&quot;:false,&quot;businessCategory&quot;:&quot;&quot;,&quot;businessEvent&quot;:&quot;&quot;}</propertySetConfig>
<sequenceNumber>1.0</sequenceNumber>
<type>Step</type>
<questionDevName></questionDevName>
</omniProcessElements>
<omniProcessElements>
<isActive>true</isActive>
<level>0.0</level>
<name>Step3</name>
<omniProcessVersionNumber>0.0</omniProcessVersionNumber>
<isOmniScriptEmbeddable>false</isOmniScriptEmbeddable>
<propertySetConfig>{&quot;label&quot;:&quot;Step3&quot;,&quot;validationRequired&quot;:true,&quot;previousLabel&quot;:&quot;Previous&quot;,&quot;previousWidth&quot;:3,&quot;nextLabel&quot;:&quot;Next&quot;,&quot;nextWidth&quot;:3,&quot;cancelLabel&quot;:&quot;Cancel&quot;,&quot;cancelMessage&quot;:&quot;Are
you sure?&quot;,&quot;saveLabel&quot;:&quot;Save for
later&quot;,&quot;saveMessage&quot;:&quot;Are you sure you want to save it for
later?&quot;,&quot;completeLabel&quot;:&quot;Complete&quot;,&quot;completeMessage&quot;:&quot;Are
you sure you want to complete the
script?&quot;,&quot;instruction&quot;:&quot;&quot;,&quot;showPersistentComponent&quot;:[true,
false],&quot;remoteClass&quot;:&quot;&quot;,&quot;remoteMethod&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;remoteOptions&quot;:{},&quot;knowledgeOptions&quot;:{&quot;language&quot;:&quot;English&quot;,&quot;publishStatus&quot;:&quot;Online&quot;,
&quot;keyword&quot;:&quot;&quot;,&quot;dataCategoryCriteria&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;typeFilter&quot;:&quot;&quot;},&quot;show&quot;:null,&quot;conditionType&quot;:&quot;Hide
if
False&quot;,&quot;HTMLTemplateId&quot;:&quot;&quot;,&quot;instructionKey&quot;:&quot;&quot;,&quot;chartLabel&quot;:null,&quot;allowSaveForLater&quot;:true,&quot;errorMessage&quot;:{&quot;custom&quot;:[],&quot;default&quot;:null},&quot;wpm&quot;:false,&quot;ssm&quot;:false,&quot;message&quot;:{},&quot;pubsub&quot;:false,&quot;businessCategory&quot;:&quot;&quot;,&quot;businessEvent&quot;:&quot;&quot;}</propertySetConfig>
<sequenceNumber>2.0</sequenceNumber>
<type>Step</type>
<questionDevName></questionDevName>
</omniProcessElements>
<omniProcessType>OmniScript</omniProcessType>
<propertySetConfig>{&quot;persistentComponent&quot;:[{&quot;render&quot;:false,&quot;label&quot;:&quot;&quot;,&quot;remoteClass&quot;:&quot;&quot;,&quot;remoteMethod&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;remoteOptions&quot;:{&quot;preTransformBundle&quot;:&quot;&quot;,&quot;postTransformBundle&quot;:&quot;&quot;},&quot;preTransformBundle&quot;:&quot;&quot;,&quot;postTransformBundle&quot;:&quot;&quot;,&quot;sendJSONPath&quot;:&quot;&quot;,&quot;sendJSONNode&quot;:&quot;&quot;,&quot;responseJSONPath&quot;:&quot;&quot;,&quot;responseJSONNode&quot;:&quot;&quot;,&quot;id&quot;:&quot;vlcCart&quot;,&quot;itemsKey&quot;:&quot;cartItems&quot;,&quot;modalConfigurationSetting&quot;:{&quot;modalHTMLTemplateId&quot;:&quot;vlcProductConfig.html&quot;,&quot;modalController&quot;:&quot;ModalProductCtrl&quot;,&quot;modalSize&quot;:&quot;lg&quot;}},{&quot;render&quot;:false,&quot;dispOutsideOmni&quot;:false,&quot;label&quot;:&quot;&quot;,&quot;remoteClass&quot;:&quot;&quot;,&quot;remoteMethod&quot;:&quot;&quot;,&quot;remoteTimeout&quot;:30000,&quot;remoteOptions&quot;:{&quot;preTransformBundle&quot;:&quot;&quot;,&quot;postTransformBundle&quot;:&quot;&quot;},&quot;preTransformBundle&quot;:&quot;&quot;,&quot;postTransformBundle&quot;:&quot;&quot;,&quot;id&quot;:&quot;vlcKnowledge&quot;,&quot;itemsKey&quot;:&quot;knowledgeItems&quot;,&quot;modalConfigurationSetting&quot;:{&quot;modalHTMLTemplateId&quot;:&quot;&quot;,&quot;modalController&quot;:&quot;&quot;,&quot;modalSize&quot;:&quot;lg&quot;}}],&quot;allowSaveForLater&quot;:true,&quot;saveNameTemplate&quot;:null,&quot;saveExpireInDays&quot;:null,&quot;saveForLaterRedirectPageName&quot;:&quot;sflRedirect&quot;,&quot;saveForLaterRedirectTemplateUrl&quot;:&quot;vlcSaveForLaterAcknowledge.html&quot;,&quot;saveContentEncoded&quot;:false,&quot;saveObjectId&quot;:&quot;%ContextId%&quot;,&quot;saveURLPatterns&quot;:{},&quot;autoSaveOnStepNext&quot;:false,&quot;elementTypeToHTMLTemplateMapping&quot;:{},&quot;seedDataJSON&quot;:{},&quot;trackingCustomData&quot;:{},&quot;enableKnowledge&quot;:false,&quot;bLK&quot;:false,&quot;lkObjName&quot;:null,&quot;knowledgeArticleTypeQueryFieldsMap&quot;:{},&quot;timeTracking&quot;:false,&quot;hideStepChart&quot;:false,&quot;mergeSavedData&quot;:false,&quot;visualforcePagesAvailableInPreview&quot;:{},&quot;cancelType&quot;:&quot;SObject&quot;,&quot;allowCancel&quot;:true,&quot;cancelSource&quot;:&quot;%ContextId%&quot;,&quot;cancelRedirectPageName&quot;:&quot;OmniScriptCancelled&quot;,&quot;cancelRedirectTemplateUrl&quot;:&quot;vlcCancelled.html&quot;,&quot;consoleTabLabel&quot;:&quot;New&quot;,&quot;wpm&quot;:false,&quot;ssm&quot;:false,&quot;message&quot;:{},&quot;pubsub&quot;:false,&quot;autoFocus&quot;:false,&quot;currencyCode&quot;:&quot;&quot;,&quot;showInputWidth&quot;:false,&quot;rtpSeed&quot;:false,&quot;consoleTabTitle&quot;:null,&quot;consoleTabIcon&quot;:&quot;custom:custom18&quot;,&quot;errorMessage&quot;:{&quot;custom&quot;:[]},&quot;stylesheet&quot;:{&quot;newport&quot;:&quot;&quot;,&quot;lightning&quot;:&quot;&quot;,&quot;newportRtl&quot;:&quot;&quot;,&quot;lightningRtl&quot;:&quot;&quot;},&quot;stepChartPlacement&quot;:&quot;right&quot;,&quot;disableUnloadWarn&quot;:true,&quot;scrollBehavior&quot;:&quot;auto&quot;,&quot;currentLanguage&quot;:&quot;en_US&quot;}</propertySetConfig>
<subType>SBT5</subType>
<type>Type5</type>
<omniProcessKey>Type5_SBT5</omniProcessKey>
<uniqueName>Type5_SBT5_English_1</uniqueName>
<versionNumber>1.0</versionNumber>
<nameSpace></nameSpace>
<lastPreviewPage>LastPage</lastPreviewPage>
<customHtmlTemplates></customHtmlTemplates>
<customJavaScript></customJavaScript>
<description>TestOS</description>
<requiredPermission>OmniStudioAdmin</requiredPermission>
<responseCacheType>Org Cache</responseCacheType>
<designerCustomizationType></designerCustomizationType>
<webComponentKey>WebComponentKey</webComponentKey>
<overrideKey></overrideKey>
</OmniScript>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<!--
1342
OmniScriptMetadata Types
~ Copyright 2020 Salesforce, Inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>OmniScript</name>
</types>
<version>56.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Usage Type
Before you retrieve or deploy Discovery Framework OmniScripts, we recommend that you review these considerations.
If the DesignerCustomizationType of the OmniScript is discoveryframework, then the questions in the OmniScript
must be within the <uniqueIndex> tag in the metadata definition file.
When deploying the OmniScript of type Discovery Framework, enable Discovery Framework Metadata Enabled setting.
OmniScripts of type Discovery Framework don't support IDX Workbench.
If any question associated with the OmniScript doesnt exist in the target org or, if the active version of that question doesnt exist
in the target org, then deploying the OmniScript fails.
OmniSupervisorConfig
Represents the Omni-Channel supervisor configuration for an assigned group of supervisors.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OmniSupervisorConfig components have the suffix .omniSupervisorConfig and are stored in the
omniSupervisorConfigs folder.
Version
OmniSupervisorConfig components are available in API version 57.0 and later.
1343
OmniSupervisorConfigMetadata Types
Special Access Rules
To access this type, Omni-Channel must be enabled.
Fields
DescriptionField Name
Field Type
boolean
isTimelineHidden
Description
Required. If set to true, hides the agent timeline from the supervisors assigned to
this supervisor configuration. The default value is false.
Field Type
string
masterLabel
Description
Required. A unique label for the supervisor configuration. The name must begin with
a letter and can contain alphanumeric characters and underscores. It cant contain
spaces, two consecutive underscores, or end with an underscore. The name appears
as Omni Supervisor Configuration Name in the UI.
Field Type
OmniSupervisorConfigAction[]
omniSupervisorConfigAction
Description
Represents the actions available to the supervisors of this Omni-Channel supervisor
configuration.
Field Type
OmniSupervisorConfigGroup[]
omniSupervisorConfigGroup
Description
Represents the group of agents who are visible to the supervisors of an Omni-Channel
supervisor configuration. The group, if visible, appears in the Agents tab of Omni
Supervisor.
Field Type
OmniSupervisorConfigProfile[]
omniSupervisorConfigProfile
Description
Represents the supervisor profiles to which an Omni-Channel supervisor configuration
applies. User-level configurations override profile-level configurations.
Field Type
OmniSupervisorConfigQueue[]
omniSupervisorConfigQueue
1344
OmniSupervisorConfigMetadata Types
DescriptionField Name
Description
Represents the queues that are visible to the supervisors of an Omni-Channel supervisor
configuration. The queue, if visible, appears in the Queues Backlog and Assigned Work
tabs of Omni Supervisor.
Field Type
OmniSupervisorConfigSkill[]
omniSupervisorConfigSkill
Description
Represents the skills that are visible to the supervisors of an Omni-Channel supervisor
configuration. These skills, if visible, appear in the Skills Backlog tab of Omni Supervisor.
Field Type
OmniSupervisorConfigTab[]
omniSupervisorConfigTab
Description
Represents the visible tabs specified in an Omni Supervisor configuration. This object
is available in API version 60.0 and later.
Field Type
OmniSuperSkillVisibilityType (enumeration of type string)
skillVisibility
Description
Determines which work items based on skills are visible to the supervisors assigned
to this supervisor configuration. Values are:
AllSkills
AnySkill
OmniSupervisorConfigAction
Represents an action and associated tab, custom flow, and display order for supervisor actions in this configuration.
DescriptionField Name
Field Type
OmniSupervisorActionName (enumeration of type string)
actionName
Description
Required. An action that a supervisor can perform. Values are:
AWSDashboard
AssignLearning
ChangeQueues
ChangeSkills
CustomAction
ManageQueues
1345
OmniSupervisorConfigMetadata Types
DescriptionField Name
Field Type
OmniSupervisorActionTab (enumeration of type string)
actionTab
Description
Required. The tab where the action appears. Values are:
AgentDetails
AllAgents
AssignedWork
AssignedWorkDetails
QueueDetails
QueuesBacklog
SkillDetails
SkillsBacklog
Field Type
string
customActionFlow
Description
A flow that performs a custom action.
Field Type
int
displayOrder
Description
Required. The order in which the action is displayed.
OmniSupervisorConfigGroup
Represents the group of agents for the supervisors in this configuration.
DescriptionField Name
Field Type
string
group
Description
Required. The name of the group of agents.
OmniSupervisorConfigProfile
Represents a profile for the supervisors in this configuration.
1346
OmniSupervisorConfigMetadata Types
DescriptionField Name
Field Type
string
profile
Description
Required. The profile name.
OmniSupervisorConfigQueue
Represents a queue thats visible to the supervisors in this configuration.
DescriptionField Name
Field Type
string
queue
Description
Required. The queue name.
OmniSupervisorConfigSkill
Represents a skill thats visible to supervisors in this configuration.
DescriptionField Name
Field Type
string
skill
Description
Required. The skill name.
OmniSupervisorConfigTab
Represents the visible tabs specified in an Omni Supervisor configuration. This object is available in API version 60.0 and later.
DetailsField
Type
int
displayOrder
Properties
Create, Filter, Group, Nillable, Sort
Description
The order in which tabs are displayed in Omni Supervisor.
1347
OmniSupervisorConfigMetadata Types
DetailsField
Type
string
flexipage
Description
The name of the FlexiPage added as a customized tab. Required when tabTypeis set to
FlexipageType.
Type
OmniSupervisorTabType (enumeration of type string)
tabType
Properties
Create, Filter, Group, Nillable, Restricted picklist, Sort
Description
Required. Tabs shown on the Omni Supervisor page. Possible values are:
Agents the Agents tab
AssignedWork the Assigned Work tab
FlexipageType A custom tab created using Lightning App Builder, with the
omniSupervisorPageType value of the FlexiPage Type field
QueuesBacklog the Queues Backlog tab
SkillsBacklog the Skills Backlog tab
Wallboard the Wallboard tab
Declarative Metadata Sample Definition
The following is an example of a OmniSupervisorConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniSupervisorConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<isTimelineHidden>true</isTimelineHidden>
<masterLabel>Supervisor Config</masterLabel>
<skillVisibility>AllSkills</skillVisibility>
<omniSupervisorConfigAction>
<actionName>ChangeQueues</actionName>
<actionTab>AllAgents</actionTab>
<displayOrder>0</displayOrder>
</omniSupervisorConfigAction>
<omniSupervisorConfigGroup>
<group>Agent_Group</group>
</omniSupervisorConfigGroup>
<omniSupervisorConfigProfile>
<profile>contractmanager</profile>
</omniSupervisorConfigProfile>
<omniSupervisorConfigQueue>
<queue>CaseQueue</queue>
</omniSupervisorConfigQueue>
<omniSupervisorConfigSkill>
<skill>English</skill>
1348
OmniSupervisorConfigMetadata Types
</omniSupervisorConfigSkill>
</OmniSupervisorConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>OmniSupervisorConfig</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OmniTrackingGroup
Represents a group of FlexCard and OmniScript components that have their user interactions tracked together in OmniAnalytics.
Note: This metadata type is part of OmniStudio Standard, not OmniStudio for Vlocity.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OmniTrackingGroup components have the suffix .OmniTrackingGroup and are stored in the OmniTrackingGroups folder.
Version
OmniTrackingGroup components are available in API version 60.0 and later.
Special Access Rules
Using OmniAnalytics requires having an OmniStudio license and enabling OmniAnalytics in Setup.
1349
OmniTrackingGroupMetadata Types
Fields
DescriptionField Name
Field Type
string
description
Description
A description of the OmniTrackingGroup.
Field Type
string
developerName
Description
Required.
The unique name of the OmniTrackingGroup in the API. This name can contain only
underscores and alphanumeric characters and must be unique in your organization.
It must begin with a letter, not include spaces, not end with an underscore, and not
contain two consecutive underscores. Limit: 80 characters.
Note: When creating large sets of data, always specify a unique
DeveloperName for each record. If no DeveloperName is specified,
performance may slow while Salesforce generates one for each record.
Note: Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
Field Type
date
endDate
Description
The date when the OmniTrackingGroup became inactive.
Field Type
OmniTrackingGroupType (enumeration of type string)
groupType
Description
Required.
Specifies whether this OmniTrackingGroup sends tracking data to a third-party Analytics
system such as Google Analytics.
Values are:
ExternalA third-party Analytics system is used.
InternalNo third-party Analytics system is used.
Field Type
boolean
isActive
Description
Required.
1350
OmniTrackingGroupMetadata Types
DescriptionField Name
Specifies whether the OmniTrackingGroup is active.
Field Type
string
masterLabel
Description
Required.
The unique master label of the OmniTrackingGroup. This internal label doesnt get
translated.
Field Type
int
maxAgeInDays
Description
The maximum number of days the group and its analytics data is active beyond which
the data is deleted.
Field Type
string
omniExtTrackingDef
Description
The ID of the related OmniExtTrackingDef object. Required if GroupType is set to
External.
Field Type
OmniTrackingComponentDef[]
omniTrackingComponentDefs
Description
The OmniTrackingComponentDef objects related to this OmniTrackingGroup.
Field Type
string
omniTrackingGroupKey
Description
A UUID generated internally by Salesforce to uniquely identify an OmniTrackingGroup
record across all orgs.
Field Type
date
startDate
Description
The date when the OmniTrackingGroup became active.
OmniTrackingComponentDef
Represents a FlexCard or OmniScript that is a member of an OmniTrackingGroup, which tracks user interactions in OmniAnalytics.
1351
OmniTrackingGroupMetadata Types
DescriptionField Name
Field Type
OmniAnalyticsComponentType (enumeration of type string)
componentType
Description
Required.
The type of component for which user interactions are tracked.
Values are:
Flexcard
Omniscript
Field Type
double
componentVersion
Description
Required.
The version of the FlexCard or OmniScript.
Field Type
string
developerName
Description
Required.
The unique name of the OmniTrackingComponentDef in the API. This name can contain
only underscores and alphanumeric characters and must be unique in your
organization. It must begin with a letter, not include spaces, not end with an underscore,
and not contain two consecutive underscores. Limit: 80 characters.
Note: When creating large sets of data, always specify a unique
DeveloperName for each record. If no DeveloperName is specified,
performance may slow while Salesforce generates one for each record.
Note: Only users with View DeveloperName OR View Setup and Configuration
permission can view, group, sort, and filter this field.
Field Type
string
masterLabel
Description
Required.
The unique master label of the OmniTrackingComponentDef. This internal label doesnt
get translated.
Field Type
string
omniTrackingComponentDefKey
1352
OmniTrackingGroupMetadata Types
DescriptionField Name
Description
A UUID generated internally by Salesforce to uniquely identify an
OmniTrackingComponentDef record across all orgs.
Field Type
string
omniTrackingGroup
Description
The ID of the related OmniTrackingGroup object.
Declarative Metadata Sample Definition
The following is an example of an OmniTrackingGroup component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniTrackingGroup xmlns="http://soap.sforce.com/2006/04/metadata">
<developerName>Purchase_Tracking</developerName>
<groupType>Internal</groupType>
<isActive>true</isActive>
<masterLabel>Purchase_Tracking</masterLabel>
<omniTrackingComponentDefs>
<componentType>Omniscript</componentType>
<componentVersion>2</componentVersion>
<developerName>Purchase_Funnel</developerName>
<masterLabel>Purchase_Funnel</masterLabel>
</omniTrackingComponentDefs>
</OmniTrackingGroup>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>OmniTrackingGroup</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OutboundNetworkConnection
Represents a private connection between a Salesforce org and a third-party data service. The connection is outbound because the
callouts are going out of Salesforce. This type extends the Metadata metadata type and inherits its fullName field.
1353
OutboundNetworkConnectionMetadata Types
File Suffix and Directory Location
OutboundNetworkConnection components have the suffix .outboundNetworkConnection and are stored in the
outboundNetworkConnections folder.
Version
OutboundNetworkConnection components are available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
Required. Specifies the cloud provider of the connection. The only valid
value is AwsPrivateLink.
ExternalConnectionType
(enumeration of
type string)
connectionType
A description of the connection. Maximum of 255 characters.stringdescription
Required. Specifies whether the connection is active (true) or not
(false).
booleanisActive
Required. A user-friendly label for the connection.stringlabel
Name-value pairs that describe the properties of an outbound network
connection. Specify a name-value pair for each of the properties.
OutboundNetworkConnProperty
on page 1354[]
outboundNetworkConnProperties
Required. Connection status. The connection is initially Unprovisioned
and moves through the other statuses automatically after an admin
performs a Provision, Sync, or Teardown action. The valid values are:
ExternalConnectionStatus
(enumeration of
type string)
status
Unprovisioned
Allocation
PendingAcceptance
PendingActivation
RejectedRemotely
DeletedRemotely
TeardownInProgress
Ready
OutboundNetworkConnProperty
Represents a name-value pair that describes the properties of an outbound network connection.
1354
OutboundNetworkConnectionMetadata Types
DescriptionField TypeField Name
Required. The name of a property used to establish to an
OutboundNetworkConnection. Valid values are:
OutboundConnPropertyName
(enumeration of type
string)
propertyName
AwsVpcEndpointIdThe unique endpoint ID provided by Salesforce
after an outbound AwsPrivateLink is created. The value is read-only when
the status is Ready.
AwsVpcEndpointServiceNameThe name of the customers
endpoint service running in an AWS VPC thats used for private connections
with Salesforce.
RegionThe region in which the VPC is hosted.
Required. The value of OutboundConnPropertyName. For example, the
propertyValue of Region can be us-west-2.
stringpropertyValue
Declarative Metadata Sample Definition
The following sample definition has the suffix .outboundNetworkConnection.
<?xml version="1.0" encoding="UTF-8"?>
<OutboundNetworkConnection xmlns="http://soap.sforce.com/2006/04/metadata">
<connectionType>AwsPrivateLink</connectionType>
<description>Outbound Connection to make a callout to a Service deployed in AWS
VPC</description>
<isActive>true</isActive>
<label>MyOutboundConnection</label>
<outboundNetworkConnProperties>
<propertyName>Region</propertyName>
<propertyValue>us-west-2</propertyValue>
</outboundNetworkConnProperties>
<outboundNetworkConnProperties>
<propertyName>AwsVpcEndpointServiceName</propertyName>
<propertyValue>com.amazonaws.vpce.us-west-2.vpce-svc-00d7bd6285c123b4c</propertyValue>
</outboundNetworkConnProperties>
<status>Unprovisioned</status>
</OutboundNetworkConnection>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>sampleOutboundConnection</fullName>
<types>
<members>MyOutboundConnection</members>
<name>OutboundNetworkConnection</name>
</types>
<version>49.0</version>
</Package>
1355
OutboundNetworkConnectionMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Package
Specifies which metadata components to retrieve as part of a retrieve() call or defines a package of components.
DescriptionTypeName
Package components have access via dynamic Apex and the
API to standard and custom objects in the organization where
APIAccessLevel (enumeration of
type string)
apiAccessLevel
theyre installed. Administrators who install packages can
restrict this access after installation for improved security. The
valid values are:
UnrestrictedPackage components have the same API
access to standard objects as the user who is logged in
when the component sends a request to the API.
RestrictedThe administrator can select which standard
objects the components can access. Further, the
components in restricted packages can only access custom
objects in the current package if the user's permissions
allow access to them.
For more information, see API and Dynamic Apex Access in
Packages in Salesforce Help.
A short description of the package.stringdescription
The package name used as a unique identifier for API access.
The fullName can contain only underscores and
stringfullName
alphanumeric characters. It must be unique, begin with a letter,
not include spaces, not end with an underscore, and not
contain two consecutive underscores. This field is inherited
from the Metadata component.
The namespace of the developer organization where the
package was created.
stringnamespacePrefix
Indicates which objects are accessible to the package, and the
kind of access available (create, read, update, delete).
ProfileObjectPermissions[]objectPermissions
Reserved for future use.stringpackageType
The name of the Apex class that specifies the actions to execute
after the package has been installed or upgraded. The Apex
stringpostInstallClass
class must be a member of the package and must implement
the Apex InstallHandler interface. In patch upgrades,
you can't change the class name in this field but you can
1356
PackageMetadata Types
DescriptionTypeName
change the contents of the Apex class. The class name can be
changed in major upgrades.
This field is available in API version 24.0 and later.
The weblink used to describe package installation.stringsetupWeblink
The type of component being retrieved.PackageTypeMembers on page
1357[]
types
The name of the Apex class that specifies the actions to execute
after the package has been uninstalled. The Apex class must
stringuninstallClass
be a member of the package and must implement the Apex
UninstallHandler interface. In patch upgrades, you
can't change the class name in this field but you can change
the contents of the Apex class. The class name can be changed
in major upgrades.
This field is available in API version 25.0 and later.
Required. The version of the component type.stringversion
PackageTypeMembers
Use to specify the name and type of components to be retrieved in a package.
DescriptionTypeName
One or more named components, or the wildcard character
(*) to retrieve all metadata components of the type specified
stringmembers
in the <name> element. To retrieve a standard object, specify
it by name. For example,
<members>Account</members> retrieves the standard
Account object.
The type of metadata component to be retrieved. For example,
<name>CustomObject</name> retrieves one or more
custom objects as specified in the <members> element.
stringname
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Sample package.xml Manifest Files
1357
PackageMetadata Types
ParticipantRole
Represents details, such as the name and associated default access level, for a role that a participant can have in the context of a parent
record.
[other]: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ParticipantRole components have the suffix .participantRole and are stored in the participantRoles folder.
Version
ParticipantRole components are available in API version 50.0 and later.
Fields
DescriptionField Name
Field Type
picklist
defaultAccessLevel
Description
Required. The default sharing access granted to the participant role.
Valid values are:
EditRead/Write
None
ReadRead Only
Field Type
boolean
isActive
Description
Indicates whether the participant role is activated.
Field Type
string
masterLabel
Description
Required. The name for the participant role.
1358
ParticipantRoleMetadata Types
DescriptionField Name
Field Type
string
parentObject
Description
Required. The parent object for the participant role.
Valid values are:
Account
Budget
Available in API version 59.0 and later.
IndividualApplication
Available in API version 59.0 and later.
Interaction
Available in API version 52.0 and later.
InteractionSummary
Available in API version 51.0 and later.
FinancialDeal
Available in API version 52.0 and later.
FundingAward
Available in API version 59.0 and later.
FundingOpportunity
Opportunity
Team
Available in API version 58.0 and later.
Custom objects
Declarative Metadata Sample Definition
The following is an example of a ParticipantRole component.
<?xml version="1.0" encoding="UTF-8"?>
<ParticipantRole xmlns="http://soap.sforce.com/2006/04/metadata">
<defaultAccessLevel>Read</defaultAccessLevel>
<isActive>true</isActive>
<masterLabel>Advisor</masterLabel>
<parentObject>Account</parentObject>
</ParticipantRole>
1359
ParticipantRoleMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ParticipantRole</name>
</types>
<version>50.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PathAssistant
Represents Path records.This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Note the following when working with PathAssistant:
Only one path can be created per record type for each object, including __Master__ record type.
Rich text guidance information cannot be retrieved or deployed from or to translation workbench.
The preference does not need to be on to retrieve or deploy PathAssistant.
File Suffix and Directory Location
PathAssistant components have the suffix .pathAssistant and are stored in the pathAssistants folder.
Version
PathAssistant components are available in API version 34.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the path is active (true) or not (false).booleanactive
Required. The entity name. This is hard coded for Opportunity, Lead, and
Quote. For a custom object, this field must be specified and should be
the name of the custom object. This field is not updateable.
stringentityName
Required. The field name. This is hard coded for StageName and Status.
For a custom object, this field must be specified and should be the name
stringfieldName
1360
PathAssistantMetadata Types
DescriptionField TypeField Name
of the picklist field that determines the steps in the path. This field is not
updateable.
Required. The label of the path.stringmasterLabel
List of all the steps that have been configured with fields and guidance
information. Note that a missing step in the .xml file means it has not
been configured, not that it doesnt exist.
PathAssistantStep[]
on page 1361
pathAssistantSteps
Required. The name of the record type associated with the path. This
field is not updateable.
stringrecordTypeName
PathAssistantStep
Represents the steps or stages in a Path.
DescriptionField TypeField Name
All the fields in entityName that will display in this step.stringfieldNames
The guidance information displayed in this step.stringinfo
Required. The picklist value associated with the step.stringpicklistValueName
Declarative Metadata Sample Definition
The following is an example of a PathAssistant component.
<?xml version="1.0" encoding="UTF-8"?>
<PathAssistant xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<entityName>Opportunity</entityName>
<fieldName>StageName</fieldName>
<masterLabel>Test Path</masterLabel>
<pathAssistantSteps>
<fieldNames>Amount</fieldNames>
<fieldNames>CloseDate</fieldNames>
<info>Some Text</info>
<picklistValueName>Id. Decision Makers</picklistValueName>
</pathAssistantSteps>
<pathAssistantSteps>
<fieldNames>Amount</fieldNames>
<fieldNames>CloseDate</fieldNames>
<info>Some Text</info>
<picklistValueName>Proposal/Price Quote</picklistValueName>
</pathAssistantSteps>
<recordTypeName>Test_Record_Type</recordTypeName>
</PathAssistant>
1361
PathAssistantMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Opportunity.Test_Busines_Process</members>
<name>BusinessProcess</name>
</types>
<types>
<members>Opportunity.StageName</members>
<members>Lead.LeadSource</members>
<members>Opportunity.Type</members>
<name>CustomField</name>
</types>
<types>
<members>Test_Path</members>
<name>PathAssistant</name>
</types>
<types>
<members>Opportunity.Test_Record_Type</members>
<name>RecordType</name>
</types>
<types>
<members>PathAssistant</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PaymentGatewayProvider
Represents the metadata associated with a payment gateway provider. This type extends the Metadata metadata type and inherits its
fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
PaymentGatewayProvider components have the suffix paymentGatewayProvider and are stored in the
paymentGatewayProviders folder.
Version
PaymentGatewayProvider components are available in API version 48.0 and later.
1362
PaymentGatewayProviderMetadata Types
Special Access Rules
To access PaymentGatewayProvider, you must have a Salesforce Order Management license with the PaymentPlatform org permission
activated.
Fields
DescriptionField TypeField Name
The Apex adapter class name for your payment gateway. This field is
unique within your organization.
stringapexAdapter
Users can add comments to provide additional details about a record.
Maximum of 1000 characters.
stringcomments
Required. Defines whether the payment gateway ignores duplicate
payment gateway calls (Yes) or whether it processes duplicate gateway
calls (No).
IdempotencySupportStatus
(enumeration of
type String)
idempotencySupported
Yes
No
Required. The label of this payment gateway provider record.stringmasterLabel
Declarative Metadata Sample Definition
The following is an example of a PaymentGatewayProvider component.
<PaymentGatewayProvider xmlns="http://soap.sforce.com/2006/04/metadata">
<apexAdapter>SalesforceAdapter</apexAdapter>
<idempotencySupported>Yes</idempotencySupported>
<masterLabel>SalesforceAdapter</masterLabel>
<comments>Comments</comments>
</PaymentGatewayProvider>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PaymentGatewayProvider</name>
</types>
<version>48.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1363
PaymentGatewayProviderMetadata Types
PermissionSet
Represents a set of permissions that's used to grant more access to one or more users without changing their profile or reassigning
profiles. You can use permission sets to grant access but not to deny access.
This type extends the Metadata metadata type and inherits its fullName field.
In API version 40.0 and later, when you retrieve permission set metadata, all content exposed in Metadata API for the permission sets is
included. The metadata includes Apex associated with the permission set, CRUD, and so on. Likewise, when you deploy a permission
set, you must include all of its metadata to avoid accidentally overwriting the permission sets contents.
In API version 39.0 and earlier, retrieving or deploying permission set metadata returns only app and system permissions assigned to
the permission set. Junction metadata (such as Apex, CRUD) are included only if the metadata for the related component is also included
in the package definition.
In API version 29.0 and later, you can retrieve and deploy access settings for the following managed components in profiles and permission
sets:
For more information, see the Managed Component Access section of Sample package.xml Manifest Files in the Metadata API Developer
Guide.
Declarative Metadata File Suffix and Directory Location
Permission sets are stored in the permissionsets directory. The file name matches the permission set API name and the extension
is .permissionset. For example, a permission set with the name User_Management_Perms is stored in
permissionsets/User_Management_Perms.permissionset.
Version
Permission sets are available in API version 22.0 and later.
Special Access Rules
As of Summer 20 and later, only users who have one of these permissions can access this type:
View Setup and Configuration
Manage Session Permission Set Activations
Assign Permission Sets
Manage Profiles and Permission Sets
To view the following settings, assignments, and permissions for standard and custom objects in a specified permission set, the View
Setup and Configuration permission is required.
Client settings
Field permissions
Layout assignments
Object permissions
Permission dependencies
Permission set tab settings
Permission set group components
1364
PermissionSetMetadata Types
Record types
Fields
DescriptionField TypeField
Indicates which apps are visible to users assigned to this
permission set. Available in API version 29.0 and later. In
PermissionSetApplicationVisibility[]applicationVisibilities
API version 29.0, this field supports custom apps only. In
API version 30.0 and later, this field supports both
standard and custom apps.
Indicates which top-level Apex classes have methods
that users assigned to this permission set can execute.
Available in API version 23.0 and later.
PermissionSetApexClassAccess[]classAccesses
Indicates the custom metadata types that are
read-accessible to a user assigned to this permission set.
Available in API version 47.0 and later.
PermissionSetCustomMetadataTypeAccess[]customMetadataTypeAccesses
Indicates which custom permissions are available to users
assigned to this permission set. Available in API version
31.0 and later.
PermissionSetCustomPermissions[]customPermissions
Indicates the custom settings that are read-accessible to
a user assigned to this permission set. Available in API
version 47.0 and later.
PermissionSetCustomSettingAccesses[]customSettingAccesses
The permission set description. Limit: 255 characters.stringdescription
Indicates which external credential principals are available
to users assigned to this permission set. Available in API
version 59.0 and later.
PermissionSetExternalCredentialPrincipalAccess[]externalCredentialPrincipalAccesses
Indicates which data sources with identity type of Per
User are available to users assigned to this permission
set. Available in API version 27.0 and later.
PermissionSetExternal
DataSourceAccess[]
externalDataSourceAccesses
Indicates which fields are accessible to a user assigned
to this permission set, and the kind of access available
PermissionSetFieldPermissions[]fieldPermissions
(readable or editable). Available in API version 23.0 and
later.
Indicates which flows can be accessed by a user assigned
to this permission set. Available in API version 47.0 and
later.
PermissionSetFlowAccess[]flowAccesses
Indicates whether the permission set requires an
associated active session (true) or not (false).
Available in API version 37.0 and later.
booleanhasActivationRequired
Required. The permission set label. Limit: 80 characters.stringlabel
1365
PermissionSetMetadata Types
DescriptionField TypeField
Either the related permission set license or the user
license associated with this permission set. Available in
stringlicense
API version 38.0 and later. Use this field instead of
userLicense, which is deprecated and only available
up to API Version 37.0.
Indicates the objects that are accessible to a user assigned
to this permission set, and the kind of access available
PermissionSetObjectPermissions[]objectPermissions
(create, read, edit, delete, and so on). Available in API
version 23.0 and later.
Indicates which Visualforce pages that users assigned to
this permission set can execute. Available in API version
23.0 and later.
PermissionSetApexPageAccess[]pageAccesses
Indicates which record types are visible to users assigned
to this permission set. Available in API version 29.0 and
PermissionSetRecordTypeVisibility[]recordTypeVisibilities
later. This field is never retrieved or deployed for inactive
record types.
Indicates the tab visibility settings for this permission set.
Available in API version 26.0 and later.
PermissionSetTabVisibility[]tabSettings
Deprecated. The user license for the permission set. A
user license determines the baseline of features that the
stringuserLicense
user can access. Every user must have exactly one user
license. Available up to API version 37.0. In API version
38.0 and later, use license.
Specifies an app or system permission (such as API
Enabled) and whether it's enabled for this permission
PermissionSetUserPermissions[]userPermissions
set. In API version 28.0 and earlier, this field retrieves all
user permissions, enabled or disabled. In API version 29.0
and later, this field retrieves only enabled user
permissions. In API Version 40.0 and later, if a permission
isnt specified for a deployment, its disabled.
PermissionSetApplicationVisibility
PermissionSetApplicationVisibility on page 1366 determines whether an app is visible to a user assigned to this permission set.
DescriptionField TypeField Name
Required. The app name.stringapplication
Required. Indicates whether this app is visible to users assigned to this
permission set (true) or not (false).
booleanvisible
1366
PermissionSetMetadata Types
PermissionSetApexClassAccess
PermissionSetApexClassAccess on page 1367 represents the Apex class access for users assigned to a permission set.
DescriptionField TypeField
Required. The Apex class name.stringapexClass
Required. Indicates whether users assigned to this permission set
can execute methods in the top-level class (true) or not (false).
booleanenabled
PermissionSetCustomMetadataTypeAccess
PermissionSetCustomMetadataTypeAccess on page 1367 represents the custom metadata type access for users assigned to a permission
set. Available in API version 47.0 and later.
DescriptionField TypeField
Required. Indicates whether the records for this custom metadata
type are readable (true) or not (false).
booleanenabled
Required. The custom metadata type name.stringname
PermissionSetCustomPermissions
PermissionSetCustomPermissions represents the custom permissions access for users assigned to a permission set. Only enabled custom
permissions are retrieved.
DescriptionField TypeField Name
Required. Indicates whether the custom permission is enabled (true)
or not (false).
booleanenabled
Required. The custom permission name.stringname
PermissionSetCustomSettingAccesses
PermissionSetCustomSettingAccesses represents the custom setting access for users assigned to a permission set. Available in API version
47.0 and later.
DescriptionField TypeField
Required. Indicates whether the records for this custom setting are
readable (true) or not (false).
booleanenabled
Required. The custom setting name.stringname
1367
PermissionSetMetadata Types
PermissionSetExternalCredentialPrincipalAccess
PermissionSetExternalCredentialPrincipalAccess on page 1368 represents the access to the external credentials principals. Users assigned
to the permission set can make callouts using a named credential that references the external credential. Available in API version 59.0
and later.
DescriptionField TypeField
Required. Indicates whether external credential principal access is
enabled on the permission set (true) or not (false).
booleanenabled
Required. The name of the external credential and principal,
separated by a dash. For example,
myExternalCredential-myPrincipal.
If the external credential and principal are part of a package, include
the packages namespace prefix with the principals name using
stringexternalCredentialPrincipal
this format:
namespacePrefix__myExternalCredential-myPrincipal.
Use two underscores (__) between the namespace prefix and the
external credential principals name.
PermissionSetExternalDataSourceAccess
PermissionSetExternalDataSourceAccess on page 1368 represents the data source access for users with identity type of Per User.
Available in API version 27.0 and later.
DescriptionField TypeField
Required. Indicates whether the data source is enabled (true) or
not (false).
booleanenabled
The name of the external data source.stringexternalDataSource
PermissionSetFieldPermissions
PermissionSetFieldPermissions on page 1368 represents the field permissions for users assigned to a permission set. In API version 30.0
and later, permissions for required fields cant be retrieved or deployed. In API version 54.0 and later, only field permissions enabled in
the permission set are returned in queries.
As of API version 38.0, you can change field permissions to make a field editable using the Metadata API for fields that you can't change
through the user interface. For example, you can deploy Asset.ProductCode as an editable field even though you can't through
the user interface.
DescriptionField TypeField
Required. Indicates whether the field can be edited by the users
assigned to this permission set (true) or not (false).
booleaneditable
Required. The API name of the field (such as
Warehouse__c.Description__c).
stringfield
1368
PermissionSetMetadata Types
DescriptionField TypeField
Indicates whether the field can be read by the users assigned to
this permission set (true) or not (false).
booleanreadable
PermissionSetFlowAccess
PermissionSetFlowAccess on page 1369 represents which flows a permission set grants access to. Available in API version 47.0 and later.
DescriptionField TypeField
Required. Indicates whether users assigned this permission set can
access the flow (true) or not (false) The default value is
false.
booleanenabled
Required. The name of the flow to which access is granted.stringflow
PermissionSetObjectPermissions
PermissionSetObjectPermissions represents the object permissions for a permission set. Use one of these elements for each permission.
DescriptionField TypeField
Required. Indicates whether the object referenced by the object
field can be created by the users assigned to this permission set
(true) or not (false).
booleanallowCreate
Required. Indicates whether the object referenced by the object
field can be deleted by the users assigned to this permission set
(true) or not (false).
booleanallowDelete
Required. Indicates whether the object referenced by the object
field can be edited by the users assigned to this permission set
(true) or not (false).
booleanallowEdit
Required. Indicates whether the object referenced by the object
field can be viewed by the users assigned to this permission set
(true) or not (false).
booleanallowRead
Required. Indicates whether the object referenced by the object
field can be viewed, edited, or deleted by the users assigned to
booleanmodifyAllRecords
this permission set (true) or not (false), regardless of the
sharing settings for the object. Includes private records (records
with no parent object). Similar to the Modify All Data user
permission, but limited to the individual object level.
Required. The API name of the object (such as Warehouse__c).stringobject
Required. Indicates whether the object referenced by the object
field can be viewed by the users assigned to this permission set
booleanviewAllRecords
(true) or not (false), regardless of the sharing settings for the
1369
PermissionSetMetadata Types
DescriptionField TypeField
object. Includes private records (records with no parent object).
The viewAllRecords field is similar to the View All Data user
permission but limited to the individual object level.
PermissionSetApexPageAccess
PermissionSetApexPageAccess on page 1370 represents the Visualforce page access for users assigned to a permission set.
DescriptionField TypeField
Required. The Visualforce page name.stringapexPage
Required. Indicates whether users assigned to this permission set
can execute the Visualforce page (true) or not (false).
booleanenabled
PermissionSetRecordTypeVisibility
PermissionSetRecordTypeVisibility on page 1370 represents the visibility of record types for this permission set.
DescriptionField TypeField
Required. The record type name, for example
Account.MyRecordType.
stringrecordType
Required. Indicates whether the record type is visible to users
assigned to this permission set (true) or not (false).
booleanvisible
PermissionSetTabSetting
PermissionSetTabSetting on page 1370 represents the tab settings for a permission set.
DescriptionField TypeField
Required. The tab name.stringtab
Required. Indicates the visibility settings for the tab. Valid values
are:
PermissionSetTabVisibility
(enumeration of type string)
visibility
AvailableThe tab is available on the All Tabs page.
Individual users can customize their display to make the tab
visible in any app.
NoneThe tab isnt available on the All Tabs page or visible
in any apps.
VisibleThe tab is available on the All Tabs page and
appears in the visible tabs for its associated app. Individual
users can customize their display to hide the tab or make it
visible in other apps.
1370
PermissionSetMetadata Types
PermissionSetUserPermission
In API version 28.0 and earlier, PermissionSetUserPermission represents an app or system permission for a permission set. In API version
29.0 and later, this field retrieves only enabled user permissions. Use one of these elements for each permission.
DescriptionField TypeField
Required. Indicates whether the permission is enabled (true) or
disabled (false).
booleanenabled
Required. The name of the permission.stringname
Declarative Metadata Sample Definition
The following is an example of a PermissionSet component.
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Grants all rights needed for an HR administrator to manage
employees.</description>
<label>HR Administration</label>
<userLicense>Salesforce</userLicense>
<applicationVisibilities>
<application>JobApps__Recruiting</application>
<visible>true</visible>
</applicationVisibilities>
<userPermissions>
<enabled>true</enabled>
<name>ApiEnabled</name>
</userPermissions>
<objectPermissions>
<allowCreate>true</allowCreate>
<allowDelete>true</allowDelete>
<allowEdit>true</allowEdit>
<allowRead>true</allowRead>
<viewAllRecords>true</viewAllRecords>
<modifyAllRecords>true</modifyAllRecords>
<object>Job_Request__c</object>
</objectPermissions>
<fieldPermissions>
<editable>true</editable>
<field>Job_Request__c.Salary__c</field>
<readable>true</readable>
</fieldPermissions>
<pageAccesses>
<apexPage>Job_Request_Web_Form</apexPage>
<enabled>true</enabled>
</pageAccesses>
<classAccesses>
<apexClass>Send_Email_Confirmation</apexClass>
<enabled>true</enabled>
</classAccesses>
<tabSettings>
1371
PermissionSetMetadata Types
<tab>Job_Request__c</tab>
<visibility>Available</visibility>
</tabSettings>
<recordTypeVisibilities>
<recordType>Recruiting.DevManager</recordType>
<visible>true</visible>
</recordTypeVisibilities>
</PermissionSet>
The following is an example package.xml manifest used to retrieve the PermissionSet metadata for an organization. When you retrieve
permission sets, also retrieve the related components with assigned permissions. For example, to retrieve objectPermissions
and fieldPermissions for a custom object, you must also retrieve the CustomObject component.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Job_Request__c</members>
<name>CustomTab</name>
</types>
<types>
<members>Job_Request__c</members>
<name>CustomObject</name>
</types>
<types>
<members>JobApps__Recruiting</members>
<name>CustomApplication</name>
</types>
<types>
<members>Recruiting.DevManager</members>
<name>RecordType</name>
</types>
<types>
<members>*</members>
<name>PermissionSet</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PermissionSetGroup
Represents a group of permission sets and the permissions within them. Use permission set groups to organize permissions based on
job functions or tasks. Then, you can package the groups as needed.
This type extends the Metadata metadata type and inherits its fullName field.
1372
PermissionSetGroupMetadata Types
Declarative Metadata File Suffix and Directory Location
Permission set groups are stored in the permissionsetgroups directory. The file name matches the permission set API name
and the extension is .permissionsetgroup. For example, a permission set group with the name
Finance_Mgmt_PermSetGroup is stored in
permissionsetgroups/Finance_Mgmt_PermSetGroup.permissionsetgroup.
Version
Permission set groups are available in API version 45.0 and later.
Special Access Rules
As of Summer 20 and later, to view this type, users must have one of these permissions:
View Setup and Configuration
Manage Session Permission Set Activations
Assign Permission Sets
To edit this type, users must have the Manage Profiles and Permission Sets permission.
Fields
DescriptionField TypeField
The permission set group description provided by the
permission set group creator.
stringdescription
Indicates whether the permission set group requires an
associated active session (true) or not (false). The
booleanhasActivationRequired
default value is false. This field is available in API
version 53.0 and later.
Required. The permission set group label.stringlabel
A permission set containing permissions to disable in the
permission set group. This field is available in API version
46.0 and later.
stringmutingPermissionSets
A permission set or permission sets included in the
permission set group.
stringpermissionSets
Indicates permission set group recalculation status. Valid
values are:
stringstatus
UpdatedThe group is current.
OutdatedThe group requires recalculation.
UpdatingThe group is in recalculation mode.
FailedThe group recalculation failed.
1373
PermissionSetGroupMetadata Types
Declarative Metadata Sample Definition
When adding a permission set group, you can do something like this. Individual permissions are included in the permission set referenced,
not in the permission set group.
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSetGroup xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Finance_Mgmt_PermSetGroup</fullName>
<description>Finance_Mgmt_PermSetGroup desc</description>
<label>Finance_Mgmt_PermSetGroup</label>
<permissionSets>Billing_PS</permissionSets>
</PermissionSetGroup>
The permission set Billing_PS contains the individual permissions included in Finance_Mgmt_PermSetGroup.
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSet xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Billing_PS</fullName>
<description>Billing_PS</description>
<label>Billing_PS</label>
<hasActivationRequired>false</hasActivationRequired>
<license>Salesforce</license>
<userPermissions>
<enabled>true</enabled>
<name>ViewSetup</name>
</userPermissions>
<userPermissions>
<enabled>true</enabled>
<name>ViewRoles</name>
</userPermissions>
<userPermissions>
<enabled>true</enabled>
<name>EditBillingInfo</name>
</userPermissions>
</PermissionSet>
This example package.xml manifest retrieves the PermissionSetGroup metadata for an org. When you retrieve permission set
groups, also retrieve the related components. For example, to retrieve PermissionSetGroup, you must also retrieve PermissionSet.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Finance_Mgmt_PermSetGroup</members>
<name>PermissionSetGroup</name>
</types>
<types>
<members>Billing_PS</members>
<name>PermissionSet</name>
</types>
<version>45.0</version>
</Package>
1374
PermissionSetGroupMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PermissionSetLicenseDefinition (Developer Preview)
Represents the definition of a custom permission set license, which entitles specified features in a package.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
PermissionSetLicenseDefinition components have the suffix .permissionSetLicenseDefinition and are
stored in the permissionSetLicenseDefinitions folder.
Version
PermissionSetLicenseDefinition components are available in API version 54.0 and later.
Special Access Rules
To access PermissionSetLicenseDefinition, you must have the Partner Licensing Platform developer preview enabled. To participate in
this developer preview, submit a participation request via the Partner Licensing Platform Developer Preview Partner Community group.
Note: The Partner Licensing Platform is available as a developer preview. The Partner Licensing Platform isnt generally available
unless or until Salesforce announces its general availability in documentation or in press releases or public statements. All commands,
parameters, and other features are subject to change or deprecation at any time, with or without notice. Don't implement
functionality developed with these commands or tools in your production package.
Fields
DescriptionField TypeField Name
An array of licensed custom permissions included in the
permission set license definition.
PermissionSetLicenseDefinitionCustomPermissioncustomPermissions
Indicates whether the custom permission set license is a
supplement license (true) or a foundation license (false).
booleanisSupplementLicense
The default value is false. This field is available in API version
55.0 and later.
Required. The name of the permission set license definition.stringlabel
1375
PermissionSetLicenseDefinition (Developer Preview)Metadata Types
DescriptionField TypeField Name
The license expiration policy of the custom permission set
license. Valid values are:
LicenseExpirationPolicy
(enumeration of type string)
licenseExpirationPolicy
BlockNamespaceAccessPackage access is
blocked for existing users when all custom permission set
licenses expire. This is the default value.
AllowNamespaceAccessPackage access isnt
blocked for existing users when all custom permission set
licenses expire.
This field is available in API version 55.0 and later.
The user license categories that can be assigned the custom
permission set license. If no user license categories are
stringuserLicenseRestrictions
specified, all users can be assigned the license. Possible values
include:
${communities}
${communitiesLogin}
${customerCommunities}
${customerCommunitiesLogin}
${internal}
${partnerCommunity}
${partnerCommunityLogin}
${platform}
For more information, see User License Restriction Categories
(Developer Preview). This field is available in API version 55.0
and later.
PermissionSetLicenseDefinitionCustomPermission
Represents a licensed custom permission included in the permission set license definition.
DescriptionField TypeField Name
Label of the licensed custom permission. This field must be a
reference to a CustomPermission that has the isLicensed
field set to true.
stringname
Declarative Metadata Sample Definition
The following is an example of a PermissionSetLicenseDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<PermissionSetLicenseDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<customPermissions>>
1376
PermissionSetLicenseDefinition (Developer Preview)Metadata Types
<name>AccessReportsPerm</name>
</customPermissions>
<isSupplementLicense>false</isSupplementLicense>
<licenseExpirationPolicy>BlockNamespaceAccess</licenseExpirationPolicy>
<label>ExampleFeatureLicenseDefinition</label>
<userLicenseRestrictions>${internal}</userLicenseRestrictions>
</PermissionSetLicenseDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PermissionSetLicenseDefinition</name>
</types>
<version>54.0</version>
</Package>
Usage
For more information, see the Partner Licensing Platform Developer Guide (Developer Preview).
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PersonAccountOwnerPowerUser
Represents a user who can own more than 50,000 customer or partner portal accounts. Person account owner power users can own a
large number of either customer or partner users. They cant change their role, look up to a parent role, or reparent their role. Person
account owner power user objects can't be created if deferred sharing is turned on for your org. This object is available in API version
57.0 and later.
Version
PersonAccountOwnerPowerUser components are available in API version 57.0 and later.
Fields
DescriptionField Name
Field Type
string
developerName
Description
Required. The unique name of the object in the API.
1377
PersonAccountOwnerPowerUserMetadata Types
DescriptionField Name
Field Type
string
masterLabel
Description
Required. The label entered when the person account owner power user is created.
Field Type
string
portalType
Description
Required. The type of portal user account that the person account owner power user
can own.
Possible values are:
CustomerPortalCustomer Portal
PartnerPartner Portal
Field Type
string
user
Description
Required. The unique ID associated with the person account owner power user.
PipelineInspMetricConfig
Represents the settings of Pipeline Inspection forecast category metrics.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
PipelineInspMetricConfig components have the suffix .pipelineInspMetricConfig and are stored in the
pipelineInspMetricConfigs folder.
Version
PipelineInspMetricConfig components are available in API version 57.0 and later.
Special Access Rules
Only users with the Customize Application or Modify All Data permission can access this type.
1378
PipelineInspMetricConfigMetadata Types
Fields
DescriptionField Name
Field Type
boolean
isCumulative
Description
Required. Read only. Indicates whether the metric is cumulative (true) or not
(false). The default value is true.
Field Type
boolean
isProtected
Description
Indicates whether the component is protected (true) or not (false). The default
value is false.
Field Type
string
masterLabel
Description
Required. Customized label of the Pipeline Inspection metric. Limit: 50 characters.
Field Type
PipelineInspectionMetric (enumeration of type string)
metric
Description
Required. The Pipeline Inspection metric. Possible values are:
BestCase (available in API version 58.0 and later)
ClosedLost (available in API version 58.0 and later)
ClosedWon (available in API version 58.0 and later)
Commit (available in API version 58.0 and later)
MostLikely (available in API version 58.0 and later)
OpenPipeline (available in API version 58.0 and later)
TotalPipeline (available in API version 58.0 and later)
Declarative Metadata Sample Definition
The following is an example of a PipelineInspMetricConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<PipelineInspMetricConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<isCumulative>true</isCumulative>
<isProtected>false</isProtected>
<masterLabel>Lost the opportunity</masterLabel>
<metric>ClosedLost</metric>
1379
PipelineInspMetricConfigMetadata Types
</PipelineInspMetricConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PipelineInspMetricConfig</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PlatformCachePartition
Represents a partition in the Platform Cache. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
PlatformCachePartition components have the suffix .cachePartition and are stored in the cachePartitions folder.
Version
PlatformCachePartition components are available in API version 35.0 and later.
Special Access Rules
The Author Apex permission is required to deploy and retrieve PlatformCachePartition components.
Fields
DescriptionField TypeField Name
Describes the cache partition.stringdescription
Required. Indicates whether this cache partition is the default
partition in your organization (true) or not (false).
booleanisDefaultPartition
Required. The label of the cache partition that appears in the
Salesforce user interface.
stringmasterLabel
1380
PlatformCachePartitionMetadata Types
DescriptionField TypeField Name
An array of cache types that the partition can store.PlatformCachePartitionType[]platformCachePartitionTypes
PlatformCachePartitionType
Contains information about a partition type, including its minimum and allocated capacity.
DescriptionField TypeField Name
Required. The total storage capacity, in megabytes (MB), that is allocated
for the cache type, including free, purchased, and trial cache. Purchased
intallocatedCapacity
capacity includes organization-wide cache, which can be used in any
partition, and namespace-specific cache, which can be used only in
partitions associated with a namespace.
Required. Free capacity, in megabytes (MB). allocated to Developer Edition
orgs for the cache type. Use this capacity with security-reviewed managed
packages. Available in API version 51.0 and later.
intallocatedPartnerCapacity
Required. The amount of namespace-specific purchased storage capacity,
in MB, that is allocated for the cache type.
intallocatedPurchasedCapacity
Required. The amount of trial cache space, in MB, that is allocated for the
cache type.
intallocatedTrialCapacity
The type of cache. Valid values are:PlatformCacheType
(enumeration of type
string)
cacheType
SessionSession cache
OrganizationOrg cache
Declarative Metadata Sample Definition
The following is an example of a PlatformCachePartition component.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformCachePartition xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Custom partition and marked as default.</description>
<isDefaultPartition>true</isDefaultPartition>
<masterLabel>myPartition</masterLabel>
<platformCachePartitionTypes>
<allocatedCapacity>10</allocatedCapacity>
<allocatedPurchasedCapacity>5</allocatedPurchasedCapacity>
<cacheType>Session</cacheType>
</platformCachePartitionTypes>
<platformCachePartitionTypes>
<allocatedCapacity>5</allocatedCapacity>
<allocatedPurchasedCapacity>5</allocatedPurchasedCapacity>
<cacheType>Organization</cacheType>
</platformCachePartitionTypes>
</PlatformCachePartition>
1381
PlatformCachePartitionMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>myPartition</members>
<name>PlatformCachePartition</name>
</types>
<version>61.0</version>
</Package>
If a namespace is defined in your organization, add the namespace prefix to your partition name. For example:
<members>Namespace.myPartition</members>
To retrieve all cache partitions from your organization, use the wildcard character (*) as follows.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PlatformCachePartition</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PlatformEventChannel
Represents a channel that you can subscribe to in order to receive a stream of events. In API version 46.0 and earlier, it is the default
standard channel for change data capture events. In API version 47.0 and later, it is a custom channel for change data capture events.
The default standard channel corresponds to the entity selection in the Change Data Capture page in Setup. A custom channel is a
channel that you define using this metadata type. Starting in API version 47.0, the channel doesnt contain the selected entities, which
are represented each by PlatformEventChannelMember. This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
PlatformEventChannel components have the suffix .platformEventChannel and are stored in the platformEventChannels
folder.
Version
PlatformEventChannel components are available in API version 45.0 and later.
1382
PlatformEventChannelMetadata Types
Special Access Rules
You must have the Customize Application permission to deploy and retrieve this type.
Fields
DescriptionField TypeField Name
Removed. A list of event names of entities, including standard and
custom objects, selected for Change Data Capture notifications.
PlatformEventChannel
SelectedEntity[]
channelMembers
Note: This field is removed in API version 47.0 and later and is
available only in API versions 45.0 and 46.0. In API version 47.0
and later, the channel members are each defined in a
PlatformEventChannelMember component.
Required. The channel type. Valid values are:PlatformEventChannel
Type (enumeration
of type string)
channelType
dataChange Data Capture channel corresponding to the selected
entities.
eventA channel that contains platform events.
The type of events that the channel can hold. A channel can hold only
one type of events. Use this field to optionally specify a specific type of
PlatformEventChannel
EventType
eventType
events for a channel in combination with the channelType field.
Valid values are:
(enumeration of
type string)
customThe channel contains custom platform events. This value
is valid with the channelType of event.
dataThe channel contains change data capture events. This
value is valid with the channelType of data.
monitoringThe channel contains Real-Time Event Monitoring
events. This value is valid with the channelType of event.
standardReserved for internal use.
Available in API version 61.0 and later.
Required. The channel label.stringlabel
PlatformEventChannelSelectedEntity
Note: This field type is removed in API version 47.0 and later and is available only in API versions 45.0 and 46.0.
DescriptionField TypeField Name
Required. The event name of an entity selected for Change Data Capture
notifications. For example, for the Account standard object, the name
stringselectedEntity
is AccountChangeEvent, or for a custom object MyObject__c, the
name is MyObject__ChangeEvent.
1383
PlatformEventChannelMetadata Types
Usage
The createMetadata() and deleteMetadata() calls arent supported with the PlatformEventChannel metadata type.
In API version 47.0 and later, you cant deploy or retrieve the ChangeEvents standard channel.
You can't delete the ChangeEvents standard channel with destructiveChanges.xml, but you can delete channel members
using the PlatformEventChannelMember type with destructiveChanges.xml.
You can delete a custom channel with destructiveChanges.xml. If you delete a custom channel, all its member
PlatformEventChannelMember components are also deleted.
You can update only the fullName field and the label field of a PlatformEventChannel component.
Declarative Metadata Sample Definition for a Custom Channel
The PlatformEventChannel component contains the label of the custom channel and the channel type.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<channelType>data</channelType>
<label>Custom Channel for Sales Events</label>
</PlatformEventChannel>
This package.xml references the previous definition. The custom channel name is SalesEvents__chn.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SalesEvents__chn</members>
<name>PlatformEventChannel</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
To deploy or retrieve all custom channels, specify the wildcard character * (asterisk) in the <members> field.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PlatformEventChannel</name>
</types>
<version>61.0</version>
</Package>
Upgrading to Version 47.0 or Later From an Earlier Version
The channelMembers field of the PlatformEventChannel type is removed in API version 47.0 and later. As a result,
PlatformEventChannel components created in prior versions cant be deployed using a later API version but you can deploy them in the
same API version they were created with.
1384
PlatformEventChannelMetadata Types
To deploy a custom channel component using API version 47.0 and later, upgrade the PlatformEventChannel definition by removing
the <channelMembers> fields. For the ChangeEvents standard channel, it cant be deployed or retrieved, so delete the
PlatformEventChannel definition file.
For example, if you had custom channel called SalesEvents__chn, this could be your custom channel definition in API version 46.0.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<channelMembers>
<selectedEntity>AccountChangeEvent</selectedEntity>
</channelMembers>
<channelMembers>
<selectedEntity>ContactChangeEvent</selectedEntity>
</channelMembers>
<channelType>data</channelType>
<label>Sales Events</label>
</PlatformEventChannel>
To upgrade to version 47.0 or later, you would replace the custom channel definition with this definition, which doesnt contain any
channel members.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<channelType>data</channelType>
<label>SalesEvents__chn</label>
</PlatformEventChannel>
For each channel member that is part of either a custom or the standard ChangeEvents channel, add a PlatformEventChannelMember
metadata component. Also, in the package.xml file, reference both the PlatformEventChannel and PlatformEventChannelMember
components.
For example, this PlatformEventChannelMember component is for the AccountChangeEvent member.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannelMember xmlns="http://soap.sforce.com/2006/04/metadata">
<eventChannel>SalesEvents__chn</eventChannel>
<selectedEntity>AccountChangeEvent</selectedEntity>
</PlatformEventChannelMember>
For more information, see PlatformEventChannelMember.
For an example of a custom channel that holds custom platform events and Real-Time Event Monitoring events, see Group Platform
Events into One Stream with a Custom Channel in the Platform Events Developer Guide.
SEE ALSO:
Change Data Capture Developer Guide: Subscription Channels
Change Data Capture Developer Guide: Compose Streams of Change Data Capture Notifications with Custom Channels
PlatformEventChannelMember
PlatformEventChannelMember
Represents an entity selected for Change Data Capture notifications on a standard or custom channel, or a platform event selected on
a custom channel.
1385
PlatformEventChannelMemberMetadata Types
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
PlatformEventChannelMember components have the suffix .platformEventChannelMember and are stored in the
platformEventChannelMembers folder.
Version
PlatformEventChannelMember components are available in API version 47.0 and later.
Special Access Rules
You must have the Customize Application permission to deploy and retrieve this type.
Fields
DescriptionField TypeField Name
One or more fields selected for Change Data Capture Enrichment. A
non-empty enriched field is added to an update or delete change event
EnrichedField[]enrichedFields
even when not changed. For more information, see Enrich Change Events
with Extra Fields When Subscribed with CometD in the Change Data
Capture Developer Guide. Available in API version 51.0 and later.
Required. The name of a channel. For the standard channel, the name
is ChangeEvents. For a custom channel, the name is in this format:
MyChannel__chn.
stringeventChannel
An expression that is used to filter the stream of events and deliver only
the events that match specific criteria. The filter expression can contain
stringfilterExpression
one or more field-value expressions. The filter expression format is based
on SOQL and supports a subset of SOQL operators and field types.
For example, this filter expression delivers only events that contain the
City__c field with a value of 'San Francisco'. City__c = 'San
Francisco'
For more information, see Filter Your Stream of Platform Events with
Custom Channels in the Platform Events Developer Guide and Filter Your
Stream of Change Events with Channels in the Change Data Capture
Developer Guide. Available in API version 56.0 and later.
Required. The change event name of an entity selected for Change Data
Capture notifications. For example, for the Account standard object, the
stringselectedEntity
name is AccountChangeEvent, or for a custom object
MyObject__c, the name is MyObject__ChangeEvent.
1386
PlatformEventChannelMemberMetadata Types
EnrichedField
A field selected on PlatformEventChannelMember for Change Data Capture Enrichment. A non-empty enriched field is added to an
update or delete change event even when not changed.
DescriptionField TypeField Name
The name of a field selected to enrich change events with.stringname
Usage
The createMetadata() and deleteMetadata() calls arent supported with the PlatformEventChannelMember metadata type.
To delete a channel member from a channel, deploy destructiveChanges.xml for this type and specify the full name of the
member.
Declarative Metadata Sample Definition
This PlatformEventChannelMember component represents the selection of the Lead change event as part of the Change Data Capture
selections (the standard ChangeEvents channel).
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannelMember xmlns="http://soap.sforce.com/2006/04/metadata">
<eventChannel>ChangeEvents</eventChannel>
<selectedEntity>LeadChangeEvent</selectedEntity>
</PlatformEventChannelMember>
Note: The file name of the example component is
ChangeEvents_LeadChangeEvent.platformEventChannelMember. The file name, without the extension,
corresponds to the component full name (ChangeEvents_LeadChangeEvent).
If the channel has more than one selected entity, each entity is represented separately by a PlatformEventChannelMember component.
For example, this component is a second member of the standard ChangeEvents channel and represents the Contact change event.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannelMember xmlns="http://soap.sforce.com/2006/04/metadata">
<eventChannel>ChangeEvents</eventChannel>
<selectedEntity>ContactChangeEvent</selectedEntity>
</PlatformEventChannelMember>
This example is a selected entity on the SalesEvents__chn custom channel.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannelMember xmlns="http://soap.sforce.com/2006/04/metadata">
<eventChannel>SalesEvents__chn</eventChannel>
<selectedEntity>ContactChangeEvent</selectedEntity>
</PlatformEventChannelMember>
This example shows one enriched field, Phone, for a selected entity on the SalesEvents__chn custom channel. Enriched fields
are supported in API version 51.0 and later.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannelMember xmlns="http://soap.sforce.com/2006/04/metadata">
<enrichedFields>
1387
PlatformEventChannelMemberMetadata Types
<name>Phone</name>
</enrichedFields>
<eventChannel>SalesEvents__chn</eventChannel>
<selectedEntity>ContactChangeEvent</selectedEntity>
</PlatformEventChannelMember>
This example shows a filter expression for a ContactChangeEvent selected entity on the SalesEvents__chn custom channel.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventChannelMember xmlns="http://soap.sforce.com/2006/04/metadata">
<eventChannel>SalesEvents__chn</eventChannel>
<filterExpression><![CDATA[(Region__c='AMER')]]></filterExpression>
<selectedEntity>ContactChangeEvent</selectedEntity>
</PlatformEventChannelMember>
Underscores in Channel Member Full Names
Two consecutive underscores in full names designate either a component name suffix or a namespace prefix. In all other cases, two
consecutive underscores arent supported in full names. If your channel member name contains a custom channel name to make it
unique, ensure to replace the double underscores in the name with one underscore. For example, the member name would be
SalesEvents_chn_AccountChangeEvent and not SalesEvents__chn_AccountChangeEvent.
Referencing Channel Members and Channels in Package.xml
This manifest file references the example definitions on the ChangeEvents standard channel. It lists each member in the <members>
field of PlatformEventChannelMember. The <members> field contains the channel member full name in this format:
ChannelName_EventName.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ChangeEvents_LeadChangeEvent</members>
<members>ChangeEvents_ContactChangeEvent</members>
<name>PlatformEventChannelMember</name>
</types>
<version>61.0</version>
</Package>
This manifest file references members of the SalesEvents__chn custom channel.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SalesEvents_chn_AccountChangeEvent</members>
<members>SalesEvents_chn_ContactChangeEvent</members>
<members>SalesEvents_chn_MyCustomObj_ChangeEvent</members>
<name>PlatformEventChannelMember</name>
</types>
<version>61.0</version>
</Package>
1388
PlatformEventChannelMemberMetadata Types
To retrieve a custom channel and channel members, you can reference them in the same package.xml file, as this example shows.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SalesEvents__chn</members>
<name>PlatformEventChannel</name>
</types>
<types>
<members>SalesEvents_chn_AccountChangeEvent</members>
<members>SalesEvents_chn_ContactChangeEvent</members>
<members>SalesEvents_chn_MyCustomObj_ChangeEvent</members>
<name>PlatformEventChannelMember</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Change Data Capture Developer Guide: Example Diagrams for Channels and Channel Members
Change Data Capture Developer Guide: Filter Your Stream of Change Events with Channels
Platform Events Developer Guide: Filter Your Stream of Platform Events with Channels
PlatformEventChannel
PlatformEventSubscriberConfig
Represents configuration settings for a platform event Apex trigger, including the batch size and the triggers running user.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
PlatformEventSubscriberConfig components have the suffix .platformEventSubscriberConfig and are stored in the
PlatformEventSubscriberConfigs folder.
Version
PlatformEventSubscriberConfig components are available in API version 51.0 and later.
1389
PlatformEventSubscriberConfigMetadata Types
Fields
DescriptionField TypeField Name
A custom batch size, from 1 through 2,000, for the platform event Apex
trigger. The batch size corresponds to the maximum number of event
intbatchSize
messages that can be sent to a trigger in one execution. The default
batch size is 2,000 for platform event triggers.
We don't recommend setting the batch size to 1 to process one event
at a time. Small batch sizes can slow down the processing of event
messages.
(Inherited field.) Indicates whether this component is protected (true)
or not (false). Protected components cant be linked to or referenced
booleanisProtected
by components created in a subscriber org. A developer can delete a
protected component in a future release without worrying about failing
installations. However, once a component is marked as unprotected and
is released globally, the developer cant delete it.
Required. The label for the PlatformEventSubscriberConfig component.stringmasterLabel
Required. The full name of the platform event Apex trigger to configure.stringplatformEventConsumer
The username of the user that the platform event Apex trigger runs as.
By default, the platform event trigger runs as the Automated Process
entity. Setting the running user to a specific user has these benefits:
stringuser
Records are created or modified as this user.
Records with OwnerId fields have their OwnerId fields
populated to this user when created or modified.
Debug logs for the trigger execution are created by this user.
You can send email from the trigger, which isnt supported with the
default Automated Process user.
Declarative Metadata Sample Definition
This PlatformEventSubscriberConfig component has the label OrderEventTriggerConfig. It contains the configuration of a
platform event trigger, OrderEventTrigger, and specifies the batch size and user.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventSubscriberConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<platformEventConsumer>OrderEventTrigger</platformEventConsumer>
<batchSize>200</batchSize>
<masterLabel>OrderEventTriggerConfig</masterLabel>
<user>[email protected]</user>
<isProtected>false</isProtected>
</PlatformEventSubscriberConfig>
1390
PlatformEventSubscriberConfigMetadata Types
PlatformEventSubscriberConfig references an Apex trigger, which depends on a platform event. If the referenced items exist in the
Salesforce org, you can deploy the PlatformEventSubscriberConfig component. This package.xml specifies the
PlatformEventSubscriberConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>PlatformEventSubscriberConfig</name>
<members>OrderEventTriggerConfig</members>
</types>
<version>61.0</version>
</Package>
If the referenced trigger and platform event dont exist in the org, include their definitions in the package. Otherwise, the deployment
fails. This example package.xml includes all the referenced components.
CustomObject represents the platform event.
CustomField represents a custom field defined on the platform event.
ApexTrigger represents the platform event trigger.
PlatformEventSubscriberConfig represents the configuration options for the platform event trigger.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>CustomObject</name>
<members>PlatformEvent__e</members>
</types>
<types>
<name>CustomField</name>
<members>PlatformEvent__e.Message__c</members>
</types>
<types>
<name>ApexTrigger</name>
<members>OrderEventTrigger</members>
</types>
<types>
<name>PlatformEventSubscriberConfig</name>
<members>OrderEventTriggerConfig</members>
</types>
<version>61.0</version>
</Package>
To specify all PlatformEventSubscriberConfig components, use the wildcard character, as shown in this example.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>PlatformEventSubscriberConfig</name>
<members>*</members>
</types>
<version>61.0</version>
</Package>
1391
PlatformEventSubscriberConfigMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Portal
The Portal metadata type represents a partner portal.
It extends Metadata and inherits its fullName field. To use this metadata type, you must have a partner portal or Customer Portal
enabled for your organization. For more information, see Partner Portal Overview in Salesforce Help.
Declarative Metadata File Suffix and Directory Location
Lightning Platform Portal components are stored in the portals directory of the corresponding package directory. The file name
matches the portal name, and the extension is .portal.
Version
Lightning Platform Portal components are available in API version 15.0 and later.
Special Access Rules
All users, including unauthenticated guest users, can view portals via the API.
Fields
DescriptionField TypeField
Required. Denotes whether this portal is active.booleanactive
The full name of the user designated to administer the portal.stringadmin
The default language for HTML messages for the portal. Use the
abbreviation for the language, for example, en_US for United
States English.
stringdefaultLanguage
The portal description.stringdescription
Required. The email address used when sending emails using
templates configured from the portal (for example, for resetting
the password).
stringemailSenderAddress
Required. The name to display when sending emails using
templates configured from the portal (for example, for resetting
the password).
stringemailSenderName
For the Customer Portal, allows portal users to close their own
cases.
booleanenableSelfCloseCase
1392
PortalMetadata Types
DescriptionField TypeField
The file to be used as the footer for this portal.stringfooterDocument
The email template to use when a user clicks the Forgot
Password link.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringforgotPassTemplate
Required. The name of the portal.
Inherited from Metadata, this field is defined in the WSDL for
this metadata type. It must be specified when creating, updating,
stringfullName
or deleting. See createMetadata() to see an example of
this field specified for a call.
The file to be used as the header for this portal.stringheaderDocument
Determines whether self-registration is active or not for this
portal.
booleanisSelfRegistrationActivated
The file to be used as the header for this portal's login page.stringloginHeaderDocument
The file to be used as the logo for this portal.stringlogoDocument
The URL that the user is redirected to on logout.stringlogoutUrl
The email template to be used for auto-notifications on new
case comments.
stringnewCommentTemplate
The email template to be used for auto-notifications on
password reset.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringnewPassTemplate
The email template to be used for auto-notifications on new
user creation.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringnewUserTemplate
The email template to be used for auto-notifications on owner
change.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringownerNotifyTemplate
The URL of the self-registration page.stringselfRegNewUserUrl
The default profile for self-registered users.stringselfRegUserDefaultProfile
The default role for self-registered users. The valid values are:PortalRoles (enumeration of
type string)
selfRegUserDefaultRole
Executive
Manager
1393
PortalMetadata Types
DescriptionField TypeField
User
PersonAccount
The email template to be used for auto-notifications on
self-registration.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringselfRegUserTemplate
Determines whether confirmation messages are displayed for
actions in the portal.
booleanshowActionConfirmation
The Document object to be used as the CSS style sheet for this
portal.
stringstylesheetDocument
Required. The type for this portal. The valid values are:PortalType (enumeration of type
string)
type
CustomerSuccess
Partner
Declarative Metadata Sample Definition
Heres a sample XML definition of a portal.
<?xml version="1.0" encoding="UTF-8"?>
<Portal xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<description>Customer Portal</description>
<emailSenderName>[email protected]</emailSenderName>
<enableSelfCloseCase>false</enableSelfCloseCase>
<forgotPassTemplate>unfiled$public/ChangePwdEmail</forgotPassTemplate>
<isSelfRegistrationActivated>false</isSelfRegistrationActivated>
<newPassTemplate>unfiled$public/ChangePwdEmail</newPassTemplate>
<newUserTemplate>unfiled$public/NewUserEmail</newUserTemplate>
<selfRegUserTemplate>unfiled$public/SelfRegUserEmail</selfRegUserTemplate>
<showActionConfirmation>false</showActionConfirmation>
<type>CustomerSuccess</type>
</Portal>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomSite
1394
PortalMetadata Types
PortalDelegablePermissionSet
Represents the org-level permission sets that can be assigned to a particular profile for external users or shoppers in a store after enabling
the Delegable Administration perm.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
PortalDelegablePermissionSet components have the suffix .portaldelegablepermissionset and are stored in the
portaldelegablepermissionsets folder.
Version
PortalDelegablePermissionSet components are available in API version 56.0 and later.
Fields
DescriptionField Name
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
Field Type
string
masterLabel
Description
Required. The label for the service that appears to users.
Field Type
string
permissionSet
Description
Required. Foreign key to the permissionSet on page 1364 entity.
Field Type
string
profile
Description
Required. Foreign key to the profile on page 1402 entity.
1395
PortalDelegablePermissionSetMetadata Types
Declarative Metadata Sample Definition
The following is the definition of the PortalDelegablePermissionSet entity.
<xsd:complexType name="PortalDelegablePermissionSet">
<xsd:complexContent>
<xsd:extension base="tns:Metadata">
<xsd:sequence>
<xsd:element name="isProtected" minOccurs="0" type="xsd:boolean"/>
<xsd:element name="masterLabel" type="xsd:string"/>
<xsd:element name="permissionSet" type="xsd:string"/>
<xsd:element name="profile" type="xsd:string"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PortalDelegablePermissionSet</name>
</types>
<types>
<members>*</members>
<name>Profile</name>
</types>
<types>
<members>*</members>
<name>PermissionSet</name>
</types>
<version>56.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PostTemplate
Represents the metadata associated with an approval post template for Approvals in Chatter. With approval post templates, you can
customize the information included in approval request posts that appear in Chatter feeds. This type extends the Metadata metadata
type and inherits its fullName field.
Note: Review Chatter Post Templates for Approval Requests in the Salesforce Help before you create a post template.
File Suffix and Directory Location
PostTemplate components have the suffix .postTemplate and are stored in the postTemplates folder.
1396
PostTemplateMetadata Types
Version
PostTemplate components are available in API version 29.0 and later.
Fields
DescriptionField TypeField Name
Required. Specifies whether this is the default post template for the given object.
When set to true, this post template is used by approval processes that are
associated with the same object and dont specify a post template.
booleandefault
When an object has no default post template, each of its approval processes uses
the system default post template, unless the approval process specifies its own
post template.
Optional description of the post template.stringdescription
Required. An array of up to four fields to include in approval request posts.
If the approval object is a detail object in a master-detail relationship, Owner
isnt available for approval page layouts or approval post templates.
string[]fields
Required. Name of the post template. This non-unique label is different from the
unique name of the post template.
stringlabel
Declarative Metadata Sample Definition
The following is an example of a PostTemplate component:
<PostTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<default>false</default>
<fields>NumberOfEmployees</fields>
<fields>NumberofLocations__c</fields>
<fields>PartnerAccount</fields>
<fields>LeadCustomFieldNumber__c</fields>
<label>My Lead Post Template</label>
</PostTemplate>
The following is an example package manifest that references the previous PostTemplate component.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Lead.leadtemplate</members>
<name>PostTemplate</name>
</types>
<version>29.0</version>
</Package>
1397
PostTemplateMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ProductAttributeSet
Represents the ProductAttribute information being used as and attribute such as color_c, size_c .
Version
ProductAttributeSet components are available in API version 54 and later.
Special Access Rules
Fields
DescriptionField TypeField Name
A meaningful explanation of the attribute set.stringdescription
A unique name for the attribute set.stringdeveloperName
The name of the attribute set.stringmasterLabel
A list of ProductAttributeSetItem.ProductAttributeSetItemproductAttributeSetItems
PresenceDeclineReason
Represents an Omni-Channel decline reason that agents can select when declining work requests. This type extends the Metadata
metadata type and inherits its fullName field.
File Suffix and Directory Location
PresenceDeclineReason components have the suffix .presenceDeclineReason and are stored in the
presenceDeclineReasons folder.
Version
PresenceDeclineReason components are available in API version 44.0 and later.
Special Access Rules
This type is available only if Omni-Channel is enabled in your org.
1398
ProductAttributeSetMetadata Types
Fields
DescriptionField TypeField Name
The label for the decline reason.stringlabel
Declarative Metadata Sample Definition
The following is an example of a PresenceDeclineReason component.
<?xml version="1.0" encoding="UTF-8"?>
<PresenceDeclineReason xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Incorrect queue</label>
</PresenceDeclineReason>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PresenceDeclineReason</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PresenceUserConfig
Represents a configuration that determines a presence users settings.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
PresenceUserConfig components have the suffix .presenceUserConfig and are stored in the presenceUserConfigs
folder.
Version
PresenceUserConfig components are available in API version 44.0 and later.
Special Access Rules
This type is available only if Omni-Channel is enabled in your org.
1399
PresenceUserConfigMetadata Types
Fields
DescriptionField TypeField Name
Specifies how presence configurations are assigned to Omni-Channel
users. Presence configurations can be assigned to sets of users or to sets
of profiles.
PresenceConfigAssignmentsassignments
Required. The maximum number of work units an agent can be assigned
at one time.
intcapacity
Specifies the list of decline reasons that an agent can select when they
decline a work.
stringdeclineReasons
Indicates whether work items that are routed to agents are automatically
accepted (true) or not (false). Available only if enableDecline
is set to false.
booleanenableAutoAccept
Indicates whether agents can decline work items that are routed to them
(true) or not (false). Available only if enableAutoAccept is
set to false.
booleanenableDecline
Indicates whether agents can select a reason for declining work requests
(true) or not (false). This can be selected only if decline reasons are
enabled.
booleanenableDeclineReason
Indicates whether a sound is played when agents are disconnected from
Omni-Channel (true) or not (false).
booleanenableDisconnectSound
Indicates whether a sound plays with incoming work requests (true)
or not (false). Set to true by default.
booleanenableRequestSound
Indicates the maximum number of work units using interruptible capacity
that can be pushed to an agent at a time. An empty value defaults this
intinterruptibleCapacity
field to the value set in the capacity field. Available in API version
57.0 and later when the Interruptible Capacity feature is enabled.
The label of the presence configuration.stringlabel
The presence status thats automatically assigned to the agent when
the agent declines a work item. Available only if enableDecline is
set to true.
stringpresenceStatusOnDecline
The presence status thats automatically assigned to the agent when
the agent doesnt respond to a work item before push timeout occurs.
stringpresenceStatusOnPushTimeout
PresenceConfigAssignments
Represents the assignments of an orgs profiles and users to a Presence configuration.
1400
PresenceUserConfigMetadata Types
DescriptionField TypeField Name
Specifies the profiles that are associated with a specific presence configuration.PresenceConfigProfileAssignmentsprofiles
Specifies the users that are associated with a specific presence configuration.PresenceConfigUserAssignmentsusers
PresenceConfigProfileAssignments
Represents the profiles associated with a specific presence configuration.
DescriptionField TypeField Name
Specifies the name of the profile associated with a specific presence
configuration.
stringprofile
PresenceConfigUserAssignments
Represents the users associated with a specific presence configuration.
DescriptionField TypeField Name
Specifies the username of the user associated with a specific presence
configuration.
stringuser
Declarative Metadata Sample Definition
The following is an example of a PresenceUserConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<PresenceUserConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<assignments>
<profiles>
<profile>standard</profile>
</profiles>
<users>
<user>[email protected]</user>
</users>
</assignments>
<capacity>5</capacity>
<declineReasons>Incorrect_queue</declineReasons>
<enableAutoAccept>false</enableAutoAccept>
<enableDecline>true</enableDecline>
<enableDeclineReason>true</enableDeclineReason>
<enableDisconnectSound>true</enableDisconnectSound>
<enableRequestSound>true</enableRequestSound>
<label>My presence configuration</label>
<presenceStatusOnDecline>Away</presenceStatusOnDecline>
<presenceStatusOnPushTimeout>Break</presenceStatusOnPushTimeout>
</PresenceUserConfig>
1401
PresenceUserConfigMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>PresenceUserConfig</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Profile
Represents a user profile. A profile defines a users permission to perform different functions within Salesforce. This type extends the
Metadata metadata type and inherits its fullName field.
In API version 29.0 and later, you can retrieve and deploy access settings for the following managed components in profiles and permission
sets:
Apex classes
Apps
Custom field permissions
Custom object permissions
Custom tab settings
External data sources
Record types
Visualforce pages
In API version 51.0 and later, you can retrieve and deploy access settings for login flows. For more information, see Managed Component
Access in the Components in a Module section of Sample package.xml Manifest Files.
As of API version 50.0 and later, only users with correct permissions can view profile names other than their own if the Profile Filtering
setting is enabled.
Important: Profile names are also exposed when users with permissions to perform the following tasks take these actions:
Create a tab or record type with a wizard step that includes the assignment of tabs and record types to profiles.
Configure a login flow where viewing profile lists is required to make flow associations.
Set up delegated admins where looking up profiles is needed to identify assignable profiles.
Administer an org as a delegated customer admin.
Administer an org as a delegated admin to view and assign profiles of the delegated group.
1402
ProfileMetadata Types
Declarative Metadata File Suffix and Directory Location
The file suffix is .profile. There's one file for each profile, stored in the profiles folder in the corresponding package directory.
Version
Profiles are available in API version 10.0 and later.
Special Access Rules
As of Summer 20 and later, Customer Portal and Partner Portal users cant access this type.
To view the following settings, assignments, and permissions for standard and custom objects in a specified profile, the View Setup and
Configuration permission is required.
Client settings
Field permissions
Layout assignments
Object permissions
Permission dependencies
Permission set tab settings
Permission set group components
Record types
Fields
The content of a profile returned by Metadata API depends on the content requested in the RetrieveRequest message. For
example, profiles only include field-level security for fields included in custom objects returned in the same RetrieveRequest as
the profiles. The profile definition contains the following fields:
Important: We designed Profile metadata deployment to overlay the existing Profile settings in a target org. For example, if you
disable permissions for a profile, the newly disabled permission information isn't exported. To force all Profile changes to deploy
through metadata, including permission disablement, add code that explicitly indicates disabled permissions. For example, add
this code to the Profile metadata .xml file before deploying into a target org: <value>false</value>.
If you deploy a profile that doesnt exist in the target org and don't specify any permissions or settings, then the resulting profile
contains all permissions and settings in the standard Minimum Access - Salesforce profile (API version 60.0 and later) or the standard
Standard User profile (API version 59.0 and earlier).
Note: As of API version 38.0, you can change field permissions to make a field editable using the Metadata API for fields that you
can't change through the user interface. For example, you can deploy Asset.ProductCode as an editable field even though
you can't through the user interface.
DescriptionField TypeField Name
Indicates which apps are visible to users assigned to this
profile. In API version 29.0 and earlier, this field supports
ProfileApplicationVisibility[]applicationVisibilities
custom apps only. In API version 30.0 and later, this field
supports both standard and custom apps.
1403
ProfileMetadata Types
DescriptionField TypeField Name
Indicates which data category groups are visible to users
assigned to this profile. Available in API version 41.0 and
later.
ProfileCategoryGroupVisibility[]categoryGroupVisibilities
Indicates which top-level Apex classes have methods
that users assigned to this profile can execute.
ProfileApexClassAccess[]classAccesses
Indicates whether the profile is a custom (true) or
standard (false) profile. Available in API version 30.0
and later.
booleancustom
Indicates the custom metadata types that are
read-accessible to a user assigned to this profile. Available
in API version 47.0 and later.
ProfileCustomMetadataTypeAccess[]customMetadataTypeAccesses
Indicates which custom permissions are available to users
assigned to this profile. Available in API version 31.0 and
later.
ProfileCustomPermissions[]customPermissions
Indicates the custom settings that are read-accessible to
a user assigned to this profile. Available in API version
47.0 and later.
ProfileCustomSettingAccesses[]customSettingAccesses
The profile description. Limit: 255 characters. Available
in API version 30.0 and later.
stringdescription
Indicates which data sources with identity type of Per
User are available to users assigned to this profile.
Available in API version 27.0 and later.
ProfileExternalDataSourceAccess[]externalDataSourceAccesses
Indicates which fields are visible to a user assigned to this
profile, and the kind of access available (editable or
ProfileFieldLevelSecurity[]fieldLevelSecurities
hidden). This field is available in API version 22.0 and
earlier.
Indicates which fields are visible to a user assigned to this
profile, and the kind of access available (editable or
ProfileFieldLevelSecurity[]fieldPermissions
readable). This field is available in API version 23.0 and
later.
Indicates which flows can be accessed by a user assigned
to this profile. Available in API version 47.0 and later.
ProfileFlowAccess[]flowAccesses
The name can only contain characters, letters, and the
underscore (_) character. The name must start with a
stringfullName
letter, and cant end with an underscore or contain two
consecutive underscore characters.
Inherited from the Metadata component, this field isnt
defined in the WSDL for this component. It must be
specified when creating, updating, or deleting. See
create() to see an example of this field specified for a call.
1404
ProfileMetadata Types
DescriptionField TypeField Name
Indicates which layout to use for this profile.ProfileLayoutAssignments[]layoutAssignments
Indicates a business process that you direct users to
before they access Salesforce.
LoginFlow[]loginFlows
Indicates the hours within which a user with this profile
can log in. If not specified, the profile doesnt restrict a
users login hours.
This field is available in API version 25.0 and later.
ProfileLoginHours[]loginHours
The list of IP address ranges from which users with a
particular profile can log in.
This field is available in API version 17.0 and later.
ProfileLoginIpRange[]loginIpRanges
Indicates which objects are accessible to a user assigned
to this profile, and the kind of access available (create,
ProfileObjectPermissions[]objectPermissions
read, edit, delete, and so on). In API version 28.0 and later,
this field is only retrieved when allowRead is true.
In API version 50.0 and later, editing standard objects on
standard profiles is disabled.
Indicates which Visualforce pages that users assigned to
this profile can execute.
ProfileApexPageAccess[]pageAccesses
A list of the Lightning Experience Home page action
overrides that are assigned to this profile. When a user
ProfileActionOverride[]profileActionOverrides
logs in with a profile, a matching ProfileActionOverride
assignment takes precedence over existing overrides for
the Home tab specified in ActionOverride.
This field is available in API versions 37.0 to 44.0.
Indicates the visibility of record types for users assigned
to this profile. In API version 29.0 and later, this field isnt
retrieved or deployed for inactive record types.
ProfileRecordTypeVisibility[]recordTypeVisibilities
Indicates which record types are visible to a user assigned
to this profile, and therefore which tabs within an app
are visible.
ProfileTabVisibility[]tabVisibilities
The User License for the profile. A user license
determines the baseline of features that the user can
access. Every user must have exactly one user license.
This field is available in API version 17.0 and later.
stringuserLicense
Specifies a user permission (such as API Enabled) and
whether its enabled for this profile. This field retrieves
ProfileUserPermission[]userPermissions
only enabled user permissions. Available in API version
29.0 and later.
1405
ProfileMetadata Types
LoginFlow
LoginFlow represents a business process that you direct users to before they access Salesforce. You can use Metadata API to add or edit
login flows. To delete login flows, use the Login Flow page.
DescriptionField TypeField Name
Required only if uiLoginFlowType is VisualWorkflow. The name of
the flow.
stringflow
Required. The value is UI.LoginFlowType
(enumeration of type
string)
flowtype
Required. The name of the LoginFlow.stringfriendlyname
Required. LoginFlow type. Possible values are VisualWorkflow or
VisualForce.
UiLoginFlowType
(enumeration of type
string)
uiLoginFlowType
Indicates if Lightning Runtime is used (true) or not (false (default)).
Used only if uiLoginFlowType is VisualWorkflow.
booleanuseLightningRuntime
Required only if uiLoginFlowType is VisualForce. The name of the
VisualForce page.
stringvfFlowPage
Required only if uiLoginFlowType is VisualForce. The name of the
VisualForce page.
stringvfFlowPageTitle
ProfileActionOverride
ProfileActionOverride represents a user profile-based override of an ActionOverride on a standard Home tab in Lightning Experience.
Note:
ProfileActionOverride can be defined only on Profile for API version 39.0 to 44.0. In API version 45.0 and later, ProfileActionOverride
must be defined for CustomApplication instead. Beginning with API version 45.0, Home page assignments related to user
profile must also have a corresponding app assignment because more granular Home page assignments are supported. As a
result, ProfileActionOverride is defined for CustomApplication rather than Profile.
ProfileActionOverride settings arent retrieved in the .profile file unless a Lightning page is referenced in the
package.xml file.
DescriptionField TypeField Name
Required. The possible values are the same as the actions you can
override:
stringactionName
accept
clone
delete
edit
list
1406
ProfileMetadata Types
DescriptionField TypeField Name
new
tab
view
Set this field if type is set to flexipage,
lightningcomponent, scontrol, or visualforce. It refers
stringcontent
to the name of the Lightning page, Lightning component, s-control, or
Visualforce page to use as the override. To reference installed
components, use this format:
Component_namespace__Component_name.
The size of the page being overridden.
The Large value represents the Lightning Experience desktop
environment and is valid only for the flexipage and
FormFactor
(enumeration of type
string)
formFactor
lightningcomponent types. The Small value represents the
Salesforce mobile app on a phone or tablet. The Medium value is
reserved for future use. The null value (which is the same as specifying
no value) represents Salesforce Classic.
The name of the sObject type being overridden. Valid values are
standard and custom.
This value must be standard-home when actionName is tab.
stringpageOrSobjectType
The record type assigned to the ProfileActionOverride. If the
PageOrSobjectType is standard-home, this field is null.
stringrecordType
Required. Represents the type of action override. Valid values are
described in ActionOverrideType.
ActionOverrideType
(enumeration of type
string)
type
ProfileApplicationVisibility
ProfileApplicationVisibility determines whether an app is visible to a user assigned to this profile.
DescriptionField TypeField Name
Required. The name of the app.stringapplication
Required. Indicates whether the app is the default app (true) or not
(false). Only one app per profile can be set to true.
booleandefault
Required. Indicates whether this app is visible to users assigned to this
profile (true) or not (false).
booleanvisible
1407
ProfileMetadata Types
ProfileCategoryGroupVisibility
ProfileCategoryGroupVisibility determines whether a data category group is visible to a user assigned to this profile. Available in API
version 41.0 and later.
DescriptionField TypeField Name
Array of one or more data category names.string[]dataCategories
Required. The name of the data category
group.
stringdataCategoryGroup
Required. Indicates the visibility of the data
category. Valid values are:
CategoryGroupVisibility (enumeration of
type string)
visibility
ALL
CUSTOM
NONE
ProfileCustomMetadataTypeAccess
ProfileCustomMetadataTypeAccess represents the custom metadata type access for users assigned to a profile. Available in API version
47.0 and later.
DescriptionField TypeField
Required. Indicates whether the records for this custom metadata
type are readable (true) or not (false).
booleanenabled
Required. The custom metadata type name.stringname
ProfileApexClassAccess
ProfileApexClassAccess determines which top-level Apex classes have methods that users assigned to this profile can execute.
DescriptionField TypeField Name
Required. The Apex class name.stringapexClass
Required. Indicates whether users assigned to this profile can execute
methods in the top-level class (true) or not (false).
booleanenabled
ProfileCustomPermissions
ProfileCustomPermissions represents the custom permissions access for users assigned to a profile. Only enabled custom permissions
are retrieved.
1408
ProfileMetadata Types
DescriptionField TypeField Name
Required. Indicates whether the custom permission is enabled (true)
or not (false).
booleanenabled
Required. The custom permission name.stringname
ProfileCustomSettingAccesses
ProfileCustomSettingAccesses represents the custom setting access for users assigned to a profile. Available in API version 47.0 and later.
DescriptionField TypeField
Required. Indicates whether the records for this custom setting are
readable (true) or not (false).
booleanenabled
Required. The custom setting name.stringname
ProfileExternalDataSourceAccess
ProfileExternalDataSourceAccess represents the data source access for users with identity type of Per User. Available in API version
27.0 and later.
DescriptionField TypeField Name
Required. Indicates whether the data source is enabled (true) or not
(false).
booleanenabled
The name of the external data source.stringexternalDataSource
ProfileFieldLevelSecurity
ProfileFieldLevelSecurity represents the field level security for users assigned to a profile. In API version 30.0 and later, permissions for
required fields cant be retrieved or deployed.
DescriptionField TypeField Name
Required. Indicates whether this field is editable (true) or not (false).
In API version 30.0 and later, when deploying a new custom field, this
field is false by default.
booleaneditable
Required. Indicates the name of the field.stringfield
Indicates whether this field is hidden (true) or not (false). This field
is available in API version 22.0 and earlier.
For portal profiles, this field is set to true by default in API version 19.0
and later.
booleanhidden
1409
ProfileMetadata Types
DescriptionField TypeField Name
Indicates whether this field is readable (true) or not (false). This field
is available in API version 23.0 and later. It replaces the hidden field.
In API version 30.0 and later, when deploying a new custom field, this
field is false by default.
booleanreadable
For portal profiles, this field is set to false by default.
ProfileFlowAccess
ProfileFlowAccess represents which flows a profile grants access to. Available in API version 47.0 and later.
DescriptionField TypeField
Required. Indicates whether users assigned this profile can access
the flow (true) or not (false). The default value is false.
booleanenabled
Required. The name of the flow to which access is granted.stringflow
ProfileLayoutAssignments
ProfileLayoutAssignments determines which layout to use for a profile and a given entity.
DescriptionField TypeField Name
Required. Indicates the layout for this particular entity.stringlayout
This field is optional. If the recordType of the record matches a layout
assignment rule, it uses the specified layout.
stringrecordType
ProfileLoginHours
ProfileLoginHours restricts the days and times within which users with a particular profile can log in.
DescriptionField TypeField Name
Specifies the earliest time on that day that a user with this profile can log
in. If a start time for a particular day is specified, an end time for that day
stringweekdayStart
also must be specified. Start cant be greater than end for a particular
day.
Valid values for weekday: monday, tuesday, wednesday,
thursday, friday, saturday, or sunday. For example,
mondayStart indicates the beginning of the login period for
Monday.
Valid values for Start: the number of minutes since midnight. Must
be evenly divisible by 60 (full hours). For example, 300 is 5:00 AM.
1410
ProfileMetadata Types
DescriptionField TypeField Name
Specifies the time on that day that a user with this profile must log out
by.
stringweekdayEnd
Valid values for weekday: monday, tuesday, wednesday,
thursday, friday, saturday, or sunday. For example,
mondayEnd indicates the close of the login period for Monday.
Valid values for End: the number of minutes since midnight. Must be
evenly divisible by 60 (full hours). For example, 1020 is 5:00 PM.
To delete login hour restrictions from a profile that previously had them, you must explicitly include an empty loginHours tag without
any start or end times.
ProfileLoginIpRange
ProfileLoginIpRange IP defines an IP address range that users with a particular profile can log in from.
DescriptionField TypeField Name
Use this field to identify the purpose of the range, such as which part of
a network corresponds to this range. This field is available in API version
31.0 and later.
stringdescription
Required. The end IP address for the range.stringendAddress
Required. The start IP address for the range.stringstartAddress
ProfileObjectPermissions
ProfileObjectPermissions represents a user's access to objects.
Note:
In API version 18.0 and later, these permissions are disabled in new custom objects for any profiles where View All Data or
Modify All Data is disabled.
In API version 50.0 and later, editing standard objects on standard profiles is disabled.
DescriptionField TypeField Name
Indicates whether the object referenced by the object field can be
created by the users assigned to this profile (true) or not (false).
This field is named revokeCreate before version 14.0 and the logic
is reversed. The field name change and the update from true to
booleanallowCreate
false and the reverse is automatically handled between versions and
doesnt require any manual editing of existing XML component files.
1411
ProfileMetadata Types
DescriptionField TypeField Name
Indicates whether the object referenced by the object field can be
deleted by the users assigned to this profile (true) or not (false).
This field is named revokeDelete before version 14.0 and the logic
is reversed. The field name change and the update from true to
booleanallowDelete
false and the reverse is automatically handled between versions and
doesnt require any manual editing of existing XML component files.
Indicates whether the object referenced by the object field can be
edited by the users assigned to this profile (true) or not (false).
This field is named revokeEdit before version 14.0 and the logic is
reversed. The field name change and the update from true to false
booleanallowEdit
and the reverse is automatically handled between versions and doesnt
require any manual editing of existing XML component files.
Indicates whether the object referenced by the object field can be
seen by the users assigned to this profile (true) or not (false).
This field is named revokeRead before version 14.0 and the logic is
reversed. The field name change and the update from true to false
booleanallowRead
and the reverse is automatically handled between versions and doesnt
require any manual editing of existing XML component files.
Indicates whether the object referenced by the object field can be
read, edited, or deleted by the users assigned to this profile (true) or
booleanmodifyAllRecords
not (false), regardless of the sharing settings for the object. This setting
is equivalent to the Modify All Data user permission limited to the
individual object level. Available in API version 15.0 and later.
This field isnt available for all objects. Refer to the profile in the user
interface to determine which objects currently support these permissions.
Profiles with Modify All Data ignore modifyAllRecords entries in
Metadata API and don't return an error if Modify All Data is enabled on
the profile.
Required. The name of the object whose permissions are altered by this
profile, for example, MyCustomObject__c.
stringobject
Indicates whether the object referenced by the object field can be
read by the users assigned to this profile (true) or not (false),
booleanviewAllRecords
regardless of the sharing settings for the object. This setting includes
private records (records with no parent object). This setting is equivalent
to the View All Data user permission limited to the individual object level.
Available in API version 15.0 and later.
This field isnt available for all objects. Refer to the profile in the user
interface to determine which objects currently support these permissions.
Profiles with "View All Data" ignore viewAllRecords entries in the
Metadata API and don't return an error if View All Data is enabled on the
profile.
1412
ProfileMetadata Types
ProfileApexPageAccess
ProfileApexPageAccess determines which Visualforce pages that users assigned to this profile can execute.
DescriptionField TypeField Name
Required. The Visualforce page name.stringapexPage
Required. Indicates whether users assigned to this profile can execute
the Visualforce page (true) or not (false).
booleanenabled
ProfileRecordTypeVisibility
ProfileRecordTypeVisibility represents the visibility of record types for this profile. Record types let you offer different business processes,
picklist values, and page layouts to different users.
DescriptionField TypeField Name
Required. Indicates whether the record type is the default when users
with this profile create records for this object (true) or not (false).
booleandefault
When Person Accounts is enabled, this field indicates whether the record
type is this profiles default person account record type (true) or not
booleanpersonAccountDefault
(false). When Person Accounts is disabled, this fields value has no
impact.
Person accounts arent enabled by default in Salesforce. To request person
accounts, contact Salesforce.
Required. The record type name, for example
Account.MyRecordType.
stringrecordType
Required. Indicates whether this record type is visible to users assigned
to this profile (true) or not (false).
booleanvisible
ProfileTabVisibility
ProfileTabVisibility represents the visibility of tabs for this profile. For version 17.0 and later, ProfileTabVisibility supports visibility of tabs
for standard objects. The manifest file must include the standard object corresponding to a standard tab to retrieve the tab visibility in
a profile.
DescriptionField TypeField Name
Required. The name of the tab.stringtab
Required. Indicates the visibility of the tab. Valid values are:TabVisibility
(enumeration of type
string)
visibility
DefaultOffThe tab is available on the All Tabs page. Users
can individually customize their display to make the tab visible in
any app.
1413
ProfileMetadata Types
DescriptionField TypeField Name
DefaultOnThe tab is available on the All Tabs page and appears
in the visible tabs for its associated app. Users can individually
customize their display to hide the tab or make it visible in other
apps.
HiddenThe tab isnt available on the All Tabs page or visible in
any apps.
In API version 36.0 and earlier, Hidden is returned only if
visibility was set using the API. If it was set to Hidden from the
profile in Salesforce, the API doesnt return a visibility value. For version
37.0 and later, when tab visibility is set to hidden, the API returns
Hidden, regardless of how the value was set.
ProfileUserPermission
ProfileUserPermission represents an app or system permission for a profile. Use one of these elements for each permission.
DescriptionField TypeField
Required. Indicates whether the permission is enabled (true) or
disabled (false).
booleanenabled
Required. The permission name.stringname
Java Sample
This sample uses picklists, profiles, record types, and a custom app:
public void profileSample() {
try {
// Create an expense report record, tab and app...
CustomObject expenseRecord = new CustomObject();
expenseRecord.setFullName("ExpenseReport__c");
expenseRecord.setLabel("Expense Report");
expenseRecord.setPluralLabel("Expense Reports");
expenseRecord.setDeploymentStatus(DeploymentStatus.Deployed);
expenseRecord.setSharingModel(SharingModel.ReadWrite);
CustomField nameField = new CustomField();
nameField.setType(FieldType.AutoNumber);
nameField.setLabel("Expense Report Number");
nameField.setDisplayFormat("ER-{0000}");
expenseRecord.setNameField(nameField);
AsyncResult[] arsExpenseRecord =
metadataConnection.create(new Metadata[] {expenseRecord});
Picklist expenseStatus = new Picklist();
1414
ProfileMetadata Types
PicklistValue unsubmitted = new PicklistValue();
unsubmitted.setFullName("Unsubmitted");
PicklistValue submitted = new PicklistValue();
submitted.setFullName("Submitted");
PicklistValue approved = new PicklistValue();
approved.setFullName("Approved");
PicklistValue rejected = new PicklistValue();
rejected.setFullName("Rejected");
expenseStatus.setPicklistValues(new PicklistValue[] {
unsubmitted, submitted, approved, rejected}
);
CustomField expenseStatusField = new CustomField();
expenseStatusField.setFullName(
"ExpenseReport__c.ExpenseStatus__c"
);
expenseStatusField.setLabel("Expense Report Status");
expenseStatusField.setType(FieldType.Picklist);
expenseStatusField.setPicklist(expenseStatus);
AsyncResult[] arsStatusField =
metadataConnection.create(new Metadata[]
{expenseStatusField});
CustomTab expenseTab = new CustomTab();
expenseTab.setFullName("ExpenseReport__c");
expenseTab.setMotif("Custom70: Handsaw");
expenseTab.setCustomObject(true);
AsyncResult[] arsTab =
metadataConnection.create(new Metadata[] {expenseTab});
CustomApplication application = new CustomApplication();
application.setFullName("ExpenseForce");
application.setTab(new String[] {expenseTab.getFullName()});
AsyncResult[] arsApp =
metadataConnection.create(new Metadata[] {application});
// Employees and managers have the same app visibility...
ProfileApplicationVisibility appVisibility =
new ProfileApplicationVisibility();
appVisibility.setApplication("ExpenseForce");
appVisibility.setVisible(true);
Profile employee = new Profile();
employee.setFullName("Employee");
employee.setApplicationVisibilities(
new ProfileApplicationVisibility[] {appVisibility}
);
AsyncResult[] arsProfileEmp =
metadataConnection.create(new Metadata[] {employee});
Profile manager = new Profile();
manager.setFullName("Manager");
manager.setApplicationVisibilities(
new ProfileApplicationVisibility[] {appVisibility}
1415
ProfileMetadata Types
);
AsyncResult[] arsProfileMgr =
metadataConnection.create(new Metadata[] {manager});
// But employees and managers have different access
// to the state of the expense sheet
RecordType edit = new RecordType();
edit.setFullName("ExpenseReport__c.Edit");
RecordTypePicklistValue editStatuses =
new RecordTypePicklistValue();
editStatuses.setPicklist("ExpenseStatus__c");
editStatuses.setValues(new PicklistValue[]
{unsubmitted, submitted});
edit.setPicklistValues(new RecordTypePicklistValue[]
{editStatuses});
AsyncResult[] arsRecTypeEdit =
metadataConnection.create(new Metadata[] {edit});
RecordType approve = new RecordType();
approve.setFullName("ExpenseReport__c.Approve");
RecordTypePicklistValue approveStatuses =
new RecordTypePicklistValue();
approveStatuses.setPicklist("ExpenseStatus__c");
approveStatuses.setValues(new PicklistValue[]
{approved, rejected});
approve.setPicklistValues(new RecordTypePicklistValue[]
{approveStatuses});
AsyncResult[] arsRecTypeApp =
metadataConnection.create(new Metadata[] {approve});
} catch (ConnectionException ce) {
ce.printStackTrace();
}
}
Declarative Metadata Sample Definition
The definition of a profile in an organization with a custom app, custom object, record type, tab, and user permission is:
<?xml version="1.0" encoding="UTF-8"?>
<Profile xmlns="http://soap.sforce.com/2006/04/metadata">
<applicationVisibilities>
<application>PubApps__Myriad_Publishing</application>
<default>false</default>
<visible>true</visible>
</applicationVisibilities>
<custom>true</custom>
<objectPermissions>
<object>TestWeblinks__c</object>
</objectPermissions>
<recordTypeVisibilities>
<default>true</default>
<recordType>TestWeblinks__c.My First Recordtype</recordType>
<visible>true</visible>
</recordTypeVisibilities>
1416
ProfileMetadata Types
<tabVisibilities>
<tab>Myriad Publications</tab>
<visibility>DefaultOn</visibility>
</tabVisibilities>
<userPermissions>
<enabled>true</enabled>
<name>APIEnabled</name>
</userpermissions>
</Profile>
Usage
To create custom profiles, we recommend that you use the Profile object instead of the deploy() call on the Profile Metadata type.
The Profile object allows you to create empty profiles that start without any permissions enabled except for required permissions for the
profiles user license.
When you use the retrieve() call to get information about profiles, the returned .profile files only include security settings
for the other metadata types referenced in the retrieve request. Exceptions include user permissions, IP address ranges, and login hours,
which are always retrieved. For example, the following package.xml file contains a types element that matches all custom
objects. The returned profiles contain object and field permissions for all custom objects in your organization but dont include permissions
for standard objects, such as Account, and standard fields.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CustomObject</name>
</types>
<types>
<members>*</members>
<name>Profile</name>
</types>
<version>61.0</version>
</Package>
The wildcard * on CustomObject doesnt match standard objects. This wildcard behavior helps you to avoid making unintended,
high-impact profile changes. If you create a few custom objects in a Developer Edition organization, retrieve() the information,
and later deploy() the custom objects to your production org, the profile and field-level security for all your standard objects and
fields arent overwritten. You can only overwrite these standard objects and fields by explicitly creating separate types elements for
the objects or fields.
Metadata API intentionally makes it difficult to include standard fields in retrieve() calls to prevent unexpected profile changes.
But you can still retrieve and deploy profile permissions for custom and standard fields in standard objects, such as Account.
This package.xml file allows you to return profile permissions for Account standard and custom fields. Note how the standard
Account object is defined in a types element by specifying it as a member of a CustomObject type.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account</members>
<name>CustomObject</name>
</types>
<types>
1417
ProfileMetadata Types
<members>*</members>
<name>Profile</name>
</types>
<version>61.0</version>
</Package>
This package.xml file allows you to return profile permissions for the MyCustomField__c custom field in the Account object.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account.MyCustomField__c</members>
<name>CustomField</name>
</types>
<types>
<members>*</members>
<name>Profile</name>
</types>
<version>61.0</version>
</Package>
To retrieve field permissions for relationship fields, remove the Id part of the field. For example, in this package.xml file, to retrieve
field permissions for the AccountId field for Contacts, you reference this field as Contact.Account not
Contact.AcccountId.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Contact.Account</members>
<name>CustomField</name>
</types>
<types>
<members>*</members>
<name>Profile</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Salesforce DX Developer Guide: Retrieve Changes to Profiles with Source Tracking
1418
ProfileMetadata Types
ProfileActionOverride
Represents an override of an ActionOverride by a user profile. You can use it to override an ActionOverride on a standard Home tab or
object record page in Lightning Experience. When a user logs in with a profile, a matching ProfileActionOverride assignment takes
precedence over existing overrides for the Home tab or record page specified in ActionOverride. In API versions 39.0 to 44.0, you can
access ProfileActionOverride by accessing its encompassing CustomApplication on page 540 or Profile on page 1402 metadata types. In
API version 45.0 and later, you can access ProfileActionOverride only by accessing its encompassing CustomApplication on page 540.
Note: ProfileActionOverrides arent supported in packaging. Theyre supported in change sets, but you have to add them manually.
File Suffix and Directory Location
Profile-based action overrides are defined as part of a custom application or profile.
Version
ProfileActionOverrides are available in API version 39.0 and later.
ProfileActionOverride can be defined on Profile or CustomApplication for API version 39.0 to 44.0. In API version 45.0 and later,
ProfileActionOverride must be defined for CustomApplication instead. Beginning with API version 45.0, Home page assignments related
to user profile must also have a corresponding app assignment because more granular Home page assignments are supported. As a
result, ProfileActionOverride is defined for CustomApplication rather than Profile.
Fields
DescriptionField TypeField Name
The name of the action. The only valid values are Tab and View.
If pageOrSobjectType is standard-home, this field must be
Tab. The Tab action is supported only when ProfileActionOverride is
being specified as part of a Profile in API version 39.0 to 44.0.
stringactionName
In API version 45.0 and later, this action is supported only when
ProfileActionOverride is being specified as part of a CustomApplication,
pageOrSobjectType is standard-home, and this field is Tab.
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.
Read-only. Represents the name of the Lightning page being used as
the override.
stringcontent
The size of the page being overridden. The Large value represents
the Lightning Experience desktop environment.
FormFactor
(enumeration of
type string)
formFactor
The name of the page being overridden. The only valid values are
record-home and standard-home. If the actionName is
Tab, this field must be standard-home
stringpageOrSobjectType
1419
ProfileActionOverrideMetadata Types
DescriptionField TypeField Name
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.
stringrecordType
Read-only. The type of action override. The only valid value is
flexipage.
ActionOverrideType
(enumeration of
type string)
type
Usage
You can't delete custom app ProfileActionOverrides by deploying with destructiveChange.xml. To delete a ProfileActionOverride,
retrieve the app. In the app definition file, find the <profileActionOverrides> section, and remove the <content> row.
Then, change the <type> value in that same section to default instead of flexipage. Do this for every override you want to
reset. After making the changes, rezip the folder and deploy.
You can remove one override at a time each with its own deploy, or you can remove multiple overrides in a single deploy. However, we
recommend that you do a fresh retrieve every time you want to delete a new override. Dont use a previously retrieved file.
Avoid creating duplicate ProfileActionOverrides in your org. Duplicate ProfileActionOverrides can cause problems, including being unable
to select or deselect the Disable end user personalization of nav items in this app option in app settings and the Disable Navigation
Bar Personalization in Lightning Experience User Interface setting.
Declarative Metadata Sample Definition
You can define a ProfileActionOverride like this.
<CustomApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<profileActionOverrides>
<actionName>View</actionName>
<content>CustomObjectFlexiPage</content>
<formFactor>Large</formFactor>
<pageOrSobjectType>TestObj__c</pageOrSobjectType>
<type>Flexipage</type>
<profile>standard</profile>
<recordType>TestObj__c.TestRecordType</recordType>
</profileActionOverrides>
<defaultLandingTab>standard-home</defaultLandingTab>
<formFactors>Large</formFactors>
<label>My Custom App</label>
<tab>standard-Account</tab>
<tab>standard-Opportunity</tab>
<uiType>Lightning</uiType>
<navType>Standard</navType>
</CustomApplication>
Heres an example package.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyCustomApp</members>
1420
ProfileActionOverrideMetadata Types
<name>CustomApplication</name>
</types>
<version>39.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
ProfilePasswordPolicy
Represents a profiles password policies. Profile password policies override org-wide password policies for that profiles users. Use
ProfilePasswordPolicy to retrieve password policies for a given profile. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
ProfilePasswordPolicy components have the suffix .profilePasswordPolicy and are stored in the
profilePasswordPolicies folder.
Version
ProfilePasswordPolicy components are available in API version 40.0 and later.
Fields
DescriptionField TypeField Name
If true, reset password links in forgot password emails dont
immediately expire the first time theyre clicked. Instead, the links stay
booleanforgotPasswordRedirect
active until a user confirms the password reset request on an interstitial
page. The default value is false.
This field is available in API version 43.0 and later.
Required. The duration of the login lockout, in minutes. If users are locked
out, they must wait until the lockout period expires. Valid values: 0, 15,
30, 60.
intlockoutInterval
Required. The number of times a user can enter a wrong password before
getting locked out. Valid values: 0, 3, 5, 10.
intmaxLoginAttempts
Required. Minimum number of characters required for a password. Valid
values: 550.
intminimumPasswordLength
If true, a user cannot change a password more than once in a 24-hour
period.
booleanminimumPasswordLifetime
1421
ProfilePasswordPolicyMetadata Types
DescriptionField TypeField Name
If true, answers to security questions are hidden as the user types.booleanobscure
Required. Level of complexity required for the character types in a users
password.
intpasswordComplexity
If 0, the password can contain any type of character.
If 1, the password must contain at least one alphabetic character
and 1 number.
If 2, the password must contain at least one alphabetic character,
one number, and one of the following special characters: ! # $ % -
_ = + < >.
If 3, the password must contain at least one number, one uppercase
letter, and one lowercase letter.
If 4, the password must contain at least one number, one uppercase
letter, one lowercase letter, and one of the following special
characters: ! # $ % - _ = + < >.
Required. Number of days until user passwords expire and must be
changed. If set to 0, the password never expires. Valid values: 0, 30,
60, 90, 365.
intpasswordExpiration
Required. Number of previous passwords to save. Saving passwords is
required to ensure that users reset their password to a new, unique
intpasswordHistory
password. This value must be set before a password reset succeeds. If
0, passwordExpiration must be set to 0.
Required. If set to 1, the answer to the password hint cannot contain
the password itself. If 0, the answer has no restrictions.
intpasswordQuestion
Required. Name of the user profile.stringprofile
Declarative Metadata Sample Definition
The following is an example of a ProfilePasswordPolicy component.
<?xml version="1.0" encoding="UTF-8"?>
<ProfilePasswordPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<forgotPasswordRedirect>true</forgotPasswordRedirect>
<lockoutInterval>30</lockoutInterval>
<maxLoginAttempts>0</maxLoginAttempts>
<minimumPasswordLength>7</minimumPasswordLength>
<minimumPasswordLifetime>false</minimumPasswordLifetime>
<obscure>false</obscure>
<passwordComplexity>1</passwordComplexity>
<passwordExpiration>0</passwordExpiration>
<passwordHistory>0</passwordHistory>
<passwordQuestion>1</passwordQuestion>
<profile>platformportal</profile>
</ProfilePasswordPolicy>
1422
ProfilePasswordPolicyMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ProfileSessionSetting
Represents a profiles session settings. Use ProfileSessionSetting to retrieve the session settings for a given profile. This type extends the
Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ProfileSessionSetting components have the suffix .profileSessionSetting and are stored in the
profileSessionSettings folder.
Version
ProfileSessionSetting components are available in API version 40.0 and later.
Fields
DescriptionField TypeField Name
Required. Name of the user profile.stringprofile
Session security level.SessionSecurityLevelrequiredSessionLevel
Beta. If true, keep users logged in to their Experience Cloud site until
the session times outeven if they close their browser. Use
booleansessionPersistence
sessionPersistence to reduce how often users must log in to
their site. Applies only to the External Identity profile.
Required. Specifies how many minutes of inactivity elapse before a users
authenticated session times out. At the end of the session, the user must
intsessionTimeout
log in again. This session timeout value applies to users of the profile
and overrides the org-wide timeout value. Changes to the org-wide
timeout value dont apply to users of this profile. Valid values: 15, 30,
60, 120, 240, 480, 720, 1440.
SessionSecurityLevel
Session security levels control access to certain types of resources based on the type of authentication used for logging in to the current
session. For example, username and password authentication requires the standard session security level. Multi-factor authentication
(MFA) requires HIGH_ASSURANCE.
1423
ProfileSessionSettingMetadata Types
DescriptionField TypeField Name
Users security level for the current session.(enumeration of type
string)
SessionSecurityLevel
The HIGH_ASSURANCE security level for this session meets the High
Assurance requirements set in the orgs session settings under Session
Security Levels.
The STANDARD security level for this session meets the Standard
requirements set in the orgs session settings under Session Security Levels.
The LOW level isnt available or used in the Salesforce UI. Its used at the
API level, but users assigned to this level experience unpredictable and
reduced functionality.
Declarative Metadata Sample Definition
The following is an example of a ProfileSessionSetting component.
<?xml version="1.0" encoding="UTF-8"?>
<ProfileSessionSetting xmlns="http://soap.sforce.com/2006/04/metadata">
<profile>platformportal</profile>
<requiredSessionLevel>HIGH_ASSURANCE</requiredSessionLevel>
<sessionTimeout>1440</sessionTimeout>
</ProfileSessionSetting>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Prompt
Represents the metadata related to in-app guidance. Use prompts and walkthroughs to display announcements, training, or news to
users within the app. Choose to add an action button or link to a URL of your choice. Track view and button click completes. This type
extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
Prompt components have the suffix prompt and are stored in the prompts folder.
Version
Prompt components are available in API version 46.0 and later.
1424
PromptMetadata Types
Special Access Rules
To add, edit, and manage prompts and walkthroughs as an admin, the Modify All Data or Customize Application permission is
required.
To add, edit, and manage prompts and walkthroughs as a user who isnt an admin, the Manage Prompts and View All Profiles
permission is required.
To have more than three custom walkthroughs active at a time, purchase the Enablement add-on license and assign the Use Custom
Walkthroughs permission set, which uses the Walkthroughs permission set license.
Prompts and Walkthroughs in Managed Packages
For considerations about including in-app guidance in a managed package, see Guidelines for In-App Guidance in Managed Packages
in Salesforce Help.
For more information about creating managed packages, see Create a First-Generation Managed Package.
Unmanaged packages must contain a namespace prefix. For more information, see Register a Namespace for a First-Generation Managed
Packages and What happens to my namespace prefix when I install a package?.
Fields
DescriptionField TypeField Name
Required. The label. Maximum of 80 characters.stringmasterLabel
A list of in-app guidance entries. Each entry represents a different prompt
or walkthrough.
PromptVersion[]promptVersions
PromptVersion
A list of in-app guidance entries. Each entry represents a different prompt or walkthrough.
DescriptionField TypeField Name
Label for the action button or link. Maximum of 25 characters. For walkthroughs,
this field can only be specified on the last step.
stringactionButtonLabel
URL for the action button or link. Maximum of 1,000 characters. You cant use
the GROUP BY option in a SOQL query for this field. For walkthroughs, this
field can only be specified on the last step.
stringactionButtonLink
Required. Body content. For floating prompts, theres a maximum of 240
characters. For docked prompts, theres a maximum of 4000 characters. Because
stringbody
the docked prompt has a rich text editor, the maximum characters refer to
HTML markup, not readable text.
Internal use only. No data is populated for this field.stringcustomApplication
Required if recurrences are scheduled. Number of days in between occurrences.
For walkthroughs, this field can only be specified on the first step.
intdelayDays
1425
PromptMetadata Types
DescriptionField TypeField Name
Description. Maximum of 255 characters.stringdescription
Label for the dismiss button of a floating prompt. Maximum of 15 characters.stringdismissButtonLabel
Indicates the position of the floating prompt on the page. Valid values are:PromptDisplayPosition
(enumeration of type
string)
displayPosition
BottomCenter
BottomLeft
BottomRight
TopCenter
TopLeft
TopRight
Required. Indicates the type of prompt. Valid values are:PromptDisplayType
(enumeration of type
string)
displayType
DockedComposer, which is the docked prompt
FloatingPanel, which is the floating prompt
Targeted, which is the targeted prompt. Available in API version 52.0
and later.
Indicates the location of the prompt relative to the element. Available in API
version 52.0 and later. Valid values are:
PromptElementRelativePosition
(enumeration of type
string)
elementRelativePosition
BottomCenter
BottomLeft
BottomRight
LeftBottom
LeftCenter
LeftTop
RightBottom
RightCenter
RightTop
TopCenter
TopLeft
TopRight
Indicates the date to stop showing the in-app guidance. For walkthroughs,
this field can only be specified on the first step.
dateendDate
Label for the header of the docked prompt. This is the label contained in the
windows browser bar. Maximum of 36 characters.
stringheader
The developer name of the contentAsset that holds the image. You can specify
this field or the imageLink field, but not both.
stringimage
Indicates the alt text of an image, which helps make images accessible. Required
if imageLocation, imageLink, or image is specified.
stringimageAltText
1426
PromptMetadata Types
DescriptionField TypeField Name
The URL for a prompts image. You can specify this field or the image field, but
not both. Available in API version 53.0 and later.
stringimageLink
Indicates the location of the image in relation to the body text. Required if
image, imageLink, or imageAltText is specified. Valid values are:
picklistimageLocation
Top
Bottom
Right, which is for floating prompts only
Left, which is for floating prompts only
Used by Salesforce for efficient querying.stringindexWithIsPublished
Used by Salesforce for efficient querying.stringindexWithoutIsPublished
Indicates if active true or not false.booleanisPublished
Required. The label.stringmasterLabel
Internal use only. No data is populated for this field.stringpublishedByUser
Indicates the date the in-app guidance was activated. If installed from a package,
this is the date when the package was installed. For walkthroughs, this field
can only be specified on the first step.
datepublishedDate
Used by Salesforce to identify the element that the targeted prompt is
associated with. Available in API version 52.0 and later.
textareareferenceElementContext
Indicates if an action button or link is included true or not false.booleanshouldDisplayActionButton
Indicates if the in-app guidance ignores the global time delay and instead
shows on page load true or not false. This field is available in API version
48.0 and later.
booleanshouldIgnoreGlobalDelay
Indicates the date to start showing the in-app guidance. For walkthroughs,
this field can only be specified on the first step.
In API version 48.0 and earlier, this field is required.
datestartDate
Required for walkthroughs only. Indicates the number of the last step the user
viewed or interacted with in a walkthrough. Maximum of 10 steps. Numbers
intstepNumber
must be consecutive without repeated or skipped numbers. Available in API
version 49.0 and later.
The apps developer name where the in-app guidance appears. Deprecated
in API version 51.0 and later.
stringtargetAppDeveloperName
The apps namespace prefix where the in-app guidance appears. Must match
the target apps NamespacePrefix in the org that the package is being
stringtargetAppNamespacePrefix
installed into. Maximum of 15 characters. Deprecated in API version 51.0 and
later.
1427
PromptMetadata Types
DescriptionField TypeField Name
Required. Used by Salesforce to identity the prompts page location along with
targetPageKey2, targetPageKey3, targetPageKey4, and
targetPageType.
stringtargetPageKey1
Used by Salesforce to identity the prompts page location along with
targetPageKey1, targetPageKey3, targetPageKey4, and
targetPageType.
stringtargetPageKey2
Used by Salesforce to identify the prompts page location along with
targetPageKey1, targetPageKey2, targetPageKey4, and
targetPageType.
stringtargetPageKey3
Used by Salesforce to identify the prompts page location along with
targetPageKey1, targetPageKey2, targetPageKey3, and
targetPageType. This field is available in API version 53.0 and later.
stringtargetPageKey4
Required. Used by Salesforce to identity the page location along with
targetPageKey1, targetPageKey2, targetPageKey3, and
targetPageKey4.
stringtargetPageType
Used by Salesforce to determine if in-app guidance is specific to a record type.
This field is available in API version 53.0 and later.
stringtargetRecordType
Indicates which custom theme color is applied to in-app guidance. Required
if themeSaturation is specified. Specify on the first step of the
walkthrough to apply to the entire walkthrough. Valid values are:
PromptThemeColor
(enumeration of type
string)
themeColor
Theme1, which is derived from the current brand color
Theme2, which is derived from the current page background color
Theme3, which is derived from the current global header color
Theme4, which is derived from the current app theme color
Indicates which color value, or saturation, is applied to in-app guidance that
has a custom theme color applied. Required if themeColor is specified.
PromptThemeSaturation
(enumeration of type
string)
themeSaturation
Specify on the first step of the walkthrough to apply to the entire walkthrough.
Valid values are:
Dark
Light
Required if recurrences are scheduled. Maximum number of times to display
the in-app guidance (that is, the number of occurrences). Salesforce detects if
inttimesToDisplay
the user interacts with (or ignores) the in-app guidance to determine if we
should show the in-app guidance again or cancel scheduled recurrences. This
might run counter to the number of occurrences scheduled. Maximum value
of 30. For walkthroughs, this field can only be specified on the first step.
Required. The label for the title. Maximum of 36 characters.stringtitle
1428
PromptMetadata Types
DescriptionField TypeField Name
A set of one or more permission filters that define the conditions under which
the in-app guidance displays on the page.
If the rule evaluates to true, the in-app guidance displays on the page. If
false, it doesn't display. If this field is null, the in-app guidance displays
by default.
UiFormulaRuleuiFormulaRule
Indicates which permissions can see the in-app guidance. Valid values are:PromptUserAccess
(enumeration of type
string)
userAccess
Everyone, which indicates that theres no permission restrictions
SpecificPermissions, which indicates that only users with all the
specific user permissions specified can see the in-app guidance
In API version 48.0 and earlier, this field is required.
Indicates which profiles can see the in-app guidance. This field is available in
API version 48.0 and later. Valid values are:
PromptUserProfileAccess
(enumeration of type
string)
userProfileAccess
Everyone, which indicates that there are no profile restrictions
SpecificProfiles, which indicates that users with any of the
specified user profiles can see the in-app guidance
Required. The number remains 1 since multiple versions arent saved in the
org.
intversionNumber
The URL for the video in a docked prompt. Maximum of 1,000 characters. You
can specify this field or the image field, but not both. This field is available
in API version 48.0 and later.
stringvideoLink
To find the embed code for a video, follow the instructions from the video host
website. Usually the steps can be found by searching for the name of the
website and embed video. For example, heres what the embed code looks
like for YouTube:
<iframe width="560" height="315"
src="https://www.youtube.com/embed/di6iwHhrH6s"
frameborder="0" allow="accelerometer; autoplay;
encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
Then, you would enter the URL found in the src attribute. For the example
used, enter https://www.youtube.com/embed/di6iwHhrH6s.
UiFormulaRule
A set of one or more filters that define the conditions under which a prompt displays on a Lightning page.
DescriptionField TypeField Name
Specifies the AND filter condition.stringbooleanFilter
1429
PromptMetadata Types
DescriptionField TypeField Name
List of one or more filters that, when evaluated, determine visibility.UiFormulaCriterion[]criteria
UiFormulaCriterion
A single filter that, when evaluated, helps define visibility on a Lightning page.
DescriptionField TypeField Name
Required. The field upon which the filter is based. Only
standard and custom permissions can be included.
You can use these expressions in the leftValue
field when setting filters for visibility.
stringleftValue
{!$Permission.CustomPermission.permissionName}Use
this expression to control visibility based on the
custom permissions of the user viewing the
Lightning page. Supported for app, Home, and
record pages only.
{!$Permission.StandardPermission.permissionName}Use
this expression to control visibility based on the
standard permissions of the user viewing the
Lightning page. Supported for app, Home, and
record pages only.
{!ENCODED:{!ID:$User.Profile.Key}}Use
this expression to control visibility based on the
custom or standard profile of the user viewing the
Lightning page. Available in API Version 48.0 and
later.
Required. Defines the operator used to filter the data.
Valid value is EQUAL.
stringoperator
Specifies if you want to evaluate the visibility for
permissions or the name of the profile.
stringrightValue
For permissions, use true.
For profiles, use the name of the profile. Available
in API Version 48.0 and later. For example,
Standardor custom_regionalsales.
Declarative Metadata Sample Definition
The following is an example of a Prompt component.
<?xml version="1.0" encoding="UTF-8"?>
<Prompt xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>Prompt Label</masterLabel>
1430
PromptMetadata Types
<promptVersions>
<actionButtonLabel>Learn How</actionButtonLabel>
<actionButtonLink>https://trailhead.salesforce.com/en/content/learn/modules/scrum-and-kanban-at-salesforce/learn-about-kanban</actionButtonLink>
<body>Explore how the Path and the Kanban view can help you track, manage, and
update your records.</body>
<delayDays>1</delayDays>
<description>Kanban floating prompt</description>
<dismissButtonLabel>OK</dismissButtonLabel>
<displayPosition>TopLeft</displayPosition>
<displayType>FloatingPanel</displayType>
<endDate>2019-03-11</endDate>
<isPublished>true</isPublished>
<masterLabel>Prompt Label</masterLabel>
<publishedDate>2019-03-11</publishedDate>
<shouldDisplayActionButton>false</shouldDisplayActionButton>
<shouldIgnoreGlobalDelay>false</shouldIgnoreGlobalDelay>
<startDate>2019-03-11</startDate>
<targetAppDeveloperName>LightningSales</targetAppDeveloperName>
<targetAppNamespacePrefix>standard</targetAppNamespacePrefix>
<timesToDisplay>3</timesToDisplay>
<title>Get on the Path to Success</title>
<userAccess>SpecificPermissions</userAccess>
<userProfileAccess>SpecificProfiles</userProfileAccess>
<versionNumber>1</versionNumber>
<videolink>https://www.youtube.com/embed/Ko-gcObzTVo</videolink>
<uiFormulaRule>
<booleanFilter>(1 AND 2 AND 3) AND (4 OR 5)</booleanFilter>
<criteria>
<leftValue>{!$Permission.StandardPermission.ActivitiesAccess}</leftValue>
<operator>EQUAL</operator>
<rightValue>TRUE</rightValue>
</criteria>
<criteria>
<leftValue>{!$Permission.StandardPermission.ContentWorkspaces}</leftValue>
<operator>EQUAL</operator>
<rightValue>TRUE</rightValue>
</criteria>
<criteria>
<leftValue>{!$Permission.CustomPermission.MyCustomPerm}</leftValue>
<operator>EQUAL</operator>
<rightValue>TRUE</rightValue>
</criteria>
<criteria>
<leftValue>{!ENCODED:{!ID:$User.Profile.Key}}</leftValue>
<operator>EQUAL</operator>
<rightValue>Standard</rightValue>
</criteria>
<criteria>
<leftValue>{!ENCODED:{!ID:$User.Profile.Key}}</leftValue>
<operator>EQUAL</operator>
1431
PromptMetadata Types
<rightValue>custom_mysysadmin</rightValue>
</criteria>
</uiFormulaRule>
</promptVersions>
</Prompt>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>Prompt</name>
</types>
<version>46.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Queue
Represents a holding area for items before they are processed.
Declarative Metadata File Suffix and Directory Location
The file suffix for queue components is .queue and components are stored in the queues directory of the corresponding package
directory. This component supports cases, leads, service contracts (if Entitlements are enabled), and custom objects.
Version
Queue components are available in API version 24.0 and later.
Special Access Rules
As of Summer 20 and later, only authenticated internal and external users can access this type.
Fields
This metadata type represents the valid values that define a queue:
DescriptionField TypeField Name
Indicates whether emails are sent to queue members (true) or not
(false) when a new record is added to the queue.
booleandoesSendEmailToMembers
The email address of the queue owner.stringemail
1432
QueueMetadata Types
DescriptionField TypeField Name
Required. The name of the queue. Corresponds to Label in the user
interface.
stringname
Represents queue members added to the queue. Members can be added
directly or selected by roles and public groups they belong to. Available
in API version 42.0 and later.
QueueMembers[]queueMembers
Routing configuration name. Applies to orgs that use Omni-Channel with
a routing configuration. Available in API version 42.0 and later.
stringqueueRoutingConfig
Indicates the supported entity types.QueueSobject[]queueSobject
QueueMembers
Represents queue members added to the queue. Members can be added directly as users or selected by the roles and public groups
they belong to. Available in API version 42.0 and later.
DescriptionField TypeField Name
Represents public groups in the org. Public groups are optionally used
to add queue members.
PublicGroups[]publicGroups
Represents roles and their subordinates in the orgs role hierarchy,
including customer and partner roles. Roles and their subordinate
hierarchy are optionally used to add queue members.
RoleAndSubordinates[]roleAndSubordinates
Represents internal roles and their subordinates in the orgs role hierarchy,
excluding customer and partner roles. Roles and their subordinate
hierarchy are optionally used to add queue members.
RoleAndSubordinatesInternal[]roleAndSubordinatesInternal
Represents roles in the org. Roles are optionally used to add queue
members.
Roles[]roles
Represents users in the org. Users can be added directly as queue
members.
Users[]users
PublicGroups
Represents public groups in the org. Public groups are optionally used to add queue members. Available in API version 42.0 and later.
DescriptionField TypeField Name
Represents a public group.stringpublicGroup
RoleAndSubordinates
Represents roles and their subordinates in the orgs role hierarchy, including customer and partner roles. Roles and their subordinate
hierarchy can be used to add queue members. Available in API version 42.0 and later.
1433
QueueMetadata Types
DescriptionField TypeField Name
Represents a role and its subordinates, including customer and partner
roles. In Salesforce orgs created before February 8, 2024, this field is
stringroleAndSubordinate
available by default. In orgs created on February 8, 2024 or later, this field
is only available after digital experiences is enabled.
RoleAndSubordinatesInternal
Represents internal roles and their subordinates in the orgs role hierarchy, excluding customer and partner roles. Roles and their
subordinate hierarchy can be used to add queue members. Available in API version 42.0 and later.
DescriptionField TypeField Name
Represents a role and its subordinates, excluding customer and partner
roles. In Salesforce orgs created before February 8, 2024, this value is only
stringroleAndSubordinateInternal
available after digital experiences is enabled. In orgs created on February
8, 2024 or later, this value is available by default.
Roles
Represents roles in the org. Roles can be used to add queue members. Available in API version 42.0 and later.
DescriptionField TypeField Name
Represents a role.stringrole
Users
Represents users in the org. Users can be added directly as queue members. Available in API version 42.0 and later.
DescriptionField TypeField Name
Represents a user. Specify the users username.stringuser
QueueSobject
QueueSobject represents an entity type that the queue supports.
DescriptionField TypeField Name
Valid values are:stringsobjectType
Case
ContactRequest
Lead
ServiceContract
1434
QueueMetadata Types
DescriptionField TypeField Name
Task (Available in API version 48.0 and later.)
Custom objects (such as ObjA_c)
Declarative Metadata Sample Definition
The following is the definition of a queue, which supports Case, Lead, and a custom object named ObjA.
<?xml version="1.0" encoding="UTF-8"?>
<Queue xmlns="http://soap.sforce.com/2006/04/metadata">
<doesSendEmailToMembers>true</doesSendEmailToMembers>
<email>[email protected]</email>
<fullName>Your Name</fullName>
<name>memberQueue</name>
<queueSobject>
<sobjectType>Case</sobjectType>
</queueSobject>
<queueSobject>
<sobjectType>Lead</sobjectType>
</queueSobject>
<queueSobject>
<sobjectType>ObjA__c</sobjectType>
</queueSobject>
</Queue>
Heres another definition of a queue containing queue members added directly or via public groups and roles. Queries retrieve values
using the DeveloperName field, not the Name field, so that the returned names are unique. The query also appends letters to the
end of duplicate names, so these groups and roles can be referred to independently.
<?xml version="1.0" encoding="UTF-8"?>
<Queue xmlns="http://soap.sforce.com/2006/04/metadata">
<doesSendEmailToMembers>false</doesSendEmailToMembers>
<name>queue1</name>
<queueMembers>
<publicGroups>
<publicGroup>All Internal Users</publicGroup>
<publicGroups>
<queueRoleAndSubordinates>
<queueRoleAndSubordinate>role1</queueRoleAndSubordinate>
<queueRoleAndSubordinate>role2</queueRoleAndSubordinate>
<queueRoleAndSubordinate>role3</queueRoleAndSubordinate>
</queueRoleAndSubordinates>
<roles>
<role>role1</role>
</roles>
<users>
<user>[email protected]</user>
<user>[email protected]</user>
</users>
</queueMembers>
<queueRoutingConfig>my_omni_routing_config</queueRoutingConfig>
<queueSobject>
1435
QueueMetadata Types
<sobjectType>Case</sobjectType>
</queueSobject>
<queueSobject>
<sobjectType>Lead</sobjectType>
</queueSobject>
</Queue>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
QueueRoutingConfig
Represents the settings that determine how work items are routed to agents.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ServicePresenceStatus components have the suffix .queueRoutingConfig and are stored in the queueRoutingConfigs
folder.
Version
QueueRoutingConfig components are available in API version 44.0 and later.
Special Access Rules
This type is available only if Omni-Channel is enabled in your org.
Fields
DescriptionField TypeField Name
The percentage of an agents capacity for work items thats consumed
by a specific type of work item from this service channel. For example,
doublecapacityPercentage
you might give phone calls a capacity percentage of 100. If an agent
receives a phone call, the agent wont receive new work items until the
call ends, because at that point the agents capacity will have reached
100%.
The setting applies for PSRs (PendingServiceRouting) that are created
and managed by the system.
CapacityTypecapacityType
When set to INHERITED, the value of the Interruptible check box
or value set on the Service Channel applies.
1436
QueueRoutingConfigMetadata Types
DescriptionField TypeField Name
When set to INTERRUPTIBLE, the generated PSR has the
isInterruptible flag set to true.
When set to NOT INTERRUPTIBLE, the generated PSR has the
isInterruptible flag set to false.
When not set, its behavior is equivalent to INHERITED.
-
The amount of an agents capacity for work items thats consumed by
a work item from this service channel. For example, if an agent has a
doublecapacityWeight
capacity of 6, and cases are assigned a capacity weight of 2, an agent
can be assigned up to 3 cases before the agent is at capacity and cant
receive new work items.
The number of seconds to elapse before additional skills are dropped
from Omni-Channel routing. In skills-based routing, you can set some
intdropAdditionalSkillsTimeout
skills to Additional Skill. After the timeout elapses, a skill marked as
Additional Skill is dropped from Omni-Channel routing and the case
is routed to the best-matched agent, even if the agent doesnt have all
the skills.
If CustomRequestedDateTime is set in the PendingServiceRouting object,
DropAdditionalSkillsTimeout uses CustomRequestedDateTime as the
start time. If CustomRequestedDateTime + DropAdditionalSkillsTimeout
has already passed, Omni-Channel immediately drops the additional
skills after the pending service request is created.
Indicates whether this routing configuration is used with skills-based
routing rules (true) or not (false).
booleanisAttributeBased
Required. The label of the presence status.stringlabel
The number of seconds set for push timeout. 0 is returned when push
timeout isnt enabled.
intpushTimeout
The ID of the queue thats set as the Overflow Assignee.stringqueueOverflowAssignee
Required. The routing type that determines how work items are routed
(pushed) to agents. Possible values are:
RoutingModel
(enumeration of
type string)
routingModel
LEAST_ACTIVE
MOST_AVAILABLE
EXTERNAL_ROUTING
Required. The priority in which work items from the service channels
that are related to this routing configuration are routed to agents. Work
introutingPriority
items from routing configurations that have lower priority values (for
example, 0) are routed to agents first.
Default skills associated with the routing configuration. Work is routed
using a combination of rules and default skills.
QueueRoutingConfigSkill[]QueueRoutingConfigSkill
1437
QueueRoutingConfigMetadata Types
DescriptionField TypeField Name
The ID of the user thats set as the Overflow Assignee.stringuserOverflowAssignee
QueueRoutingConfigSkill
Represents default skills associated with the routing configuration.
Fields
DescriptionField TypeField Name
Skill used to route a work item.stringskill
Declarative Metadata Sample Definition
The following is an example of a QueueRoutingConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<QueueRoutingConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<capacityWeight>1.0</capacityWeight>
<label>Case Routing</label>
<pushTimeout>120</pushTimeout>
<queueOverflowAssignee>queueOverflow</queueOverflowAssignee>
<routingModel>LEAST_ACTIVE</routingModel>
<routingPriority>1</routingPriority>
</QueueRoutingConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>QueueRoutingConfig</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1438
QueueRoutingConfigMetadata Types
QuickAction
Represents a specified create or update quick action for an object that then becomes available in the Chatter publisher. For example,
you can create an action that, on the detail page of an account, allows a user to create a contact related to that account from the Chatter
feed on that page. QuickAction can be created on objects that permit custom fields.
The parent objects supported include:
Account
Campaign
Case
Contact
ContentNote
Custom objects
Group
Lead
Opportunity
File Suffix and Directory Location
QuickAction components have the suffix quickAction and are stored in the quickActions folder.
Version
QuickAction components are available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
If the custom action invokes a Canvas app, the app name. Returns the
fully qualified name of the Canvas app in the format
stringcanvas
<namespace>__<dev_name>, if the quick action type is Canvas;
otherwise, returns null.
This field is available in API version 29.0 and later.
The description of the action.stringdescription
The specific field that can be overridden within a QuickAction on page
1439.
FieldOverride on
page 1442[]
fieldOverrides
If the custom action invokes a flow, this field represents the API name
of the flow. Otherwise, this field is null.
stringflowDefinition
If a custom action is created, this field represents the height in pixels of
the action pane.
intheight
1439
QuickActionMetadata Types
DescriptionField TypeField Name
The icon used to identify the action.
API version 32.0 and later returns different icons than in earlier API
versions.
stringicon
Indicates whether this component is protected (true) or not (false).
Protected components cannot be linked to or referenced by components
created in the installing organization.
booleanisProtected
Identifies the action and displays to users. Also the default identifier used
for the API and managed packages.
stringlabel
If the custom action invokes a Lightning component, this field represents
the fully qualified name of the component. Otherwise, this field is null.
Available in API version 38.0 and later.
stringlightningComponent
Required. Indicates whether successful completion of the action creates
a feed item (true) or not (false). Applies only to Create Record,
Update Record, and Log a Call quick action types.
Available in API version 36.0 and later.
booleanoptionsCreateFeedItem
If the custom action invokes a Visualforce page, this field identifies the
page.
stringpage
The layout of fields on the action.QuickActionLayoutquickActionLayout
Specifies the standard label to use for the action. The valid values are:QuickActionLabel
(enumeration of
type string)
standardLabel
AddRecord
AddMember
ChangeDueDate
ChangePriority
ChangeStatus
CreateNew
CreateNewRecordType (For example, a label with something
like Create New Idea)
Defer
EditDescription
EnrollInProgram (Available in API versions 46.0 and later only
if the org has Health Cloud enabled)
Escalate
EscalateToRecord
Forward (Available in API version 42.0 and later)
LogACall
LogANote
ModifyAppointment (Available in API version 47.0 and later)
1440
QuickActionMetadata Types
DescriptionField TypeField Name
New (A new record)
NewChild (A new child record)
NewChildRecordType
NewRecordType (For example, a label with something like New
Idea)
OfferFeedback
PatientDetails (Available in API version 57.0 and later if the
org has Health Cloud enabled)
Quick (A quick record)
QuickRecordType
Reply (Available in API version 42.0 and later)
ReplyAll (Available in API version 42.0 and later)
RequestFeedback
SendEmail (This value is available in API version 31.0 and later.)
Update
The message that displays to the user upon successful completion of
the action.
Available in API version 36.0 and later.
stringsuccessMessage
The object for which the action is created and performed.
For example, you can create an action that, on the detail page of an
account, allows a user to create a contact related to that account from
stringtargetObject
the Chatter feed on that page. QuickAction can be created on objects
that permit custom fields. In this case, Contact is the targetObject.
The parent object type of the action. Links the target object to the parent
object. For example, use Account if the target object is Contact and the
parent object is Account.
stringtargetParentField
Specifies which record type to create. Valid values are:stringtargetRecordType
Business Account
Person Account
Master
Required. The type of quick action. Valid values are:QuickActionType
(enumeration of
type string)
type
Canvas
Create
Flow (This value is available as a Beta in API version 41.0 and later)
LightningComponent (This value is available in API version
38.0 and later.)
LogACall
1441
QuickActionMetadata Types
DescriptionField TypeField Name
Post
SendEmail (This value is available in API version 31.0 and later.)
SocialPost
Update
VisualforcePage
If a custom action is created, this field represents the width in pixels of
the action pane.
intwidth
FieldOverride
Represents the field names and their respective formulas and literal values that comprise predefined value settings for a QuickAction on
page 1439. If a field on an action has both a predefined value and a default value set, the action uses the predefined value, not the default
value. A formula value takes precedence over a literal value if both are defined.
DescriptionField TypeField Name
Required. The name of the field to allow predefined values on.stringfield
Specifies the formula to use when setting a fields predefined value.
Supported for single-select picklists as of API version 43.0.
stringformula
Supported for picklists only. Specifies the literal value of the field defined
from values in the picklist. Corresponds to the Specific Value field in the
predefined value UI.
stringliteralValue
QuickActionLayout
The layout of fields on the action. Theres no hard limit to the number of fields you can add to an action layout. However, for optimum
usability, we recommend a maximum of eight fields. Adding more than 20 fields can severely affect user efficiency.
DescriptionField TypeField Name
Required. The type of layout structure used. The valid values are:LayoutSectionStyle
(enumeration of type
string)
layoutSectionStyle
TwoColumnsTopToBottom
TwoColumnsLeftToRight
OneColumn
CustomLinks
Specifies columns in a QuickActionLayout on page 1442.QuickActionLayoutColumn
on page 1443[]
quickActionLayoutColumns
1442
QuickActionMetadata Types
QuickActionLayoutColumn
A column defined for a QuickActionLayout on page 1442.
DescriptionField TypeField Name
Specifies row items in a QuickActionLayoutColumn on page 1443.QuickActionLayoutItem
on page 1443 []
quickActionLayoutItems
QuickActionLayoutItem
A row item comprised of fields and defined for a QuickActionLayoutColumn on page 1443.
DescriptionField TypeField Name
Controls if this layout item is a blank space (true) or not (false).booleanemptySpace
Represents a specific field in QuickActionLayoutItem on page 1443.stringfield
Specifies user input behavior for specific fields in QuickActionLayoutItem
on page 1443. The valid values are:
UiBehavior
(enumeration of type
string)
uiBehavior
Edit
Required
Readonly
Declarative Metadata Sample Definition
The following is an example of a QuickAction on page 1439 component:
<?xml version="1.0" encoding="UTF-8"?>
<QuickAction xmlns="http://soap.sforce.com/2006/04/metadata">
<description>testActionDefinitionTypesCreateTask</description>
<label>testActionDefinitionTypesCreateTask</label>
<optionsCreateFeedItem>true</optionsCreateFeedItem>
<quickActionLayout>
<layoutSectionStyle>TwoColumnsLeftToRight</layoutSectionStyle>
<quickActionLayoutColumns>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
<field>OwnerId</field>
<uiBehavior>Required</uiBehavior>
</quickActionLayoutItems>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
<field>WhoId</field>
<uiBehavior>Edit</uiBehavior>
</quickActionLayoutItems>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
1443
QuickActionMetadata Types
<field>WhatId</field>
<uiBehavior>Edit</uiBehavior>
</quickActionLayoutItems>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
<field>ActivityDate</field>
<uiBehavior>Edit</uiBehavior>
</quickActionLayoutItems>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
<field>Subject</field>
<uiBehavior>Edit</uiBehavior>
</quickActionLayoutItems>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
<field>Status</field>
<uiBehavior>Required</uiBehavior>
</quickActionLayoutItems>
<quickActionLayoutItems>
<emptySpace>false</emptySpace>
<field>Priority</field>
<uiBehavior>Required</uiBehavior>
</quickActionLayoutItems>
</quickActionLayoutColumns>
<quickActionLayoutColumns/>
</quickActionLayout>
<successMessage>This is a success message</successMessage>
<targetObject>Task</targetObject>
<targetParentField>What</targetParentField>
<type>Create</type>
</QuickAction>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RedirectWhitelistUrl
Represents a trusted URL thats excluded from redirection restrictions when the redirectionWarning or
redirectBlockModeEnabled field on the SessionSettings Metadata type is set to true. This type extends the Metadata
metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
File Suffix and Directory Location
RedirectWhitelistUrl components have the suffix .redirectWhitelistUrl and are stored in the redirectWhitelistUrls
folder.
1444
RedirectWhitelistUrlMetadata Types
Version
RedirectWhitelistUrl components are available in API version 48.0 and later.
Special Access Rules
Only authenticated internal and external users with the View Setup and Configuration permission can access this type, and only users
with the Customize Application permission can edit it.
Fields
DescriptionField TypeField Name
Required. The trusted URL.stringUrl
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RecommendationStrategy
Represents a recommendation strategy. Recommendation strategies are applications, similar to data flows, that determine a set of
recommendations to be delivered to the client through data retrieval, branching, and logic operations.
File Suffix and Directory Location
RecommendationStrategy components have the suffix .recommendationStrategy and are stored in the
recommendationStrategies folder.
Version
RecommendationStrategy components are available in API version 45.0 and later.
Special Access Rules
Metadata access for the RecommendationStrategy type is backed by the ManageRecommendationStrategies user permission.
Fields
DescriptionField TypeField Name
An array of action contexts used by the strategy.StrategyAction[]actionContext
The sObject type of the $record used by the flow.stringcontextRecordType
1445
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
Description of the recommendation strategy.stringdescription
An array of filter nodes.StrategyNodeFilter[]filter
An array of if nodes.StrategyNodeIf[]if
An array of Apex invocable action nodes. Available in API version 46.0
and later.
StrategyNodeInvocableAction[]invocableAction
Indicates whether the recommendation strategy is a template (true)
or not (false). When installed from managed packages,
booleanisTemplate
recommendation strategies cant be viewed or cloned by subscribers
because of intellectual property (IP) protection. But when those
recommendation strategies are templates, subscribers can open them
in a builder, clone them, and customize the clones. The default value of
this field is false. Available in API version 47.0 and later.
Required. Label for the flow.stringlabel
An array of map nodes. Available in API version 46.0 and later.StrategyNodeMap[]map
An array of mutuallyExclusive nodes.StrategyNodeExclusive[]mutuallyExclusive
Formula expression defining the intended target of the recommendations
(in other words, the Contact associated with a Case). Mainly used for
reaction tracking.
stringonBehalfOfExpression
An array of recommendation limit nodes.StrategyNodeRecommendationLimit[]recommendationLimit
An array of recommendation load nodes.StrategyNodeRecommendationLoad[]recommendationLoad
An array of sort nodes.StrategyNodeSort[]sort
An array of union nodes.StrategyNodeUnion[]union
StrategyNodeBase
Base class for all strategy nodes. This is an abstract class.
DescriptionField TypeField Name
Array of child node names, in order of execution.stringchildNode
Description of the node.stringdescription
Label of the node.stringlabel
Required. Unique name of the node.stringname
StrategyAction
Defines a call to an invocable action from the strategy. Results are used by decision elements in the strategy.
1446
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
Required. The name or id of the InvocableAction to execute.stringaction
List of strategy action arguments.StrategyActionArg[]argument
Description of the strategy.stringdescription
Label for the strategy action.stringlabel
Required. Unique name of the strategy action, which is referenced by
decisioning elements in the strategy.
stringname
Required. The action type. Valid values are:InvocableActionType
(enumeration of type
string)
type
activateSessionPermSetActivates a session-based permission
set for the running user.
addMessageToChatAdds a message to an existing Salesforce
Anywhere chat. This value is available in API version 49.0 and later.
addMessageToQuipChatAdds a Quip message to an existing chat
room. This value is available in API version 46.0 and later.
addMessageToQuipDocumentAdds a Quip message to an existing
Quip document, spreadsheet, or slide. This value is available in API version
46.0 and later.
addQuipDocumentToFolderAdds an existing Quip document,
spreadsheet, or slide to an existing folder. This value is available in API
version 46.0 and later.
addUsersToChatAdds users to an existing Salesforce Anywhere
chat. This value is available in API version 49.0 and later.
addUsersToQuipDocumentAdds users, identified by their email
addresses, to an existing Quip document, spreadsheet, or slide. This value
is available in API version 46.0 and later.
addUsersToQuipChatAdds users, identified by their email
addresses, to an existing Quip chat room. This value is available in API
version 46.0 and later.
attachQuipDocumentToRecordAttaches a Quip document,
spreadsheet, or slide to a Salesforce record. This value is available in API
version 46.0 and later.
apexInvokes an Apex method that has the @invocableMethod
annotation.
archiveKnowledgeArticlesArchives a list of published
Knowledge articles. This value is available in API version 45.0 and later.
assignKnowledgeArticlesMass assigns knowledge articles
from article list views. This value is available in API version 44.0 and later.
cdpRunIdentityResolutionRuns a Data Cloud identity
resolution process. This value is available in API version 57.0 and later.
chatCreates a Salesforce Anywhere chat. This value is available in API
version 49.0 and later.
chatterPostPosts to Chatter.
1447
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
choosePricebookSelects a price book.
contactRequestActionCreates a contact request record. This
value is available in API version 45.0 and later.
componentInvokes the Lightning component that implements the
lightning:availableForFlowActions interface and that is
referenced by actionName. This value is available in API version 43.0
and later.
contentWorkspaceEnableFoldersEnables folders in a library.
copyQuipDocumentCreates a copy of an existing Quip document,
spreadsheet, or slide, and gives it a new title. This value is available in API
version 46.0 and later.
createDraftFromOnlineKnowledgeArticleCreates a draft
from a published knowledge article. This value is available in API version
45.0 and later.
createInvoiceFromFulfillmentOrderCreates an invoice
from a purchase order. Available to B2B Commerce. This value is available
in API version 49.0 and later.
createQuipChatCreates a Quip chat room. This value is available
in API version 46.0 and later.
createQuipDocumentCreates a Quip document, spreadsheet, or
slide. This value is available in API version 46.0 and later.
createQuipFolderCreates a Quip folder. This value is available in
API version 46.0 and later.
customNotificationActionSends a custom notification. This
value is available in API version 46.0 and later.
deactivateSessionPermSetDeactivates a session-based
permission set for the running user.
deleteKnowledgeArticleDeletes a draft version (translation
or master-language) or an entire archived knowledge article. This value is
available in API version 46.0 and later.
dynamicSendSurveyInvitationSends customized notifications
to users about important events or updates to the records that theyre
working on. This value is available in API version 51.0 and later.
editQuipDocumentModifies the contents of an existing Quip
document, spreadsheet, or slide. This value is available in API version 46.0
and later.
emailAlertSends an email by referencing a workflow email alert
emailSimpleSends an email by using flow resources
externalServiceInvokes an External Service operation that makes
an HTTP request to an external system made available by an External Service
schema registered through Setup. This value is available in API version 46.0
and later.
1448
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
findMatchingIndividualsFinds contact, lead, or employee
records that match a search term.
flowInvokes an autolaunched flow. This action type isnt available for
flows with a processType of Flow or AutolaunchedFlow. To invoke an
autolaunched flow from one of those types, use FlowSubflow. This value
is available in API version 32.0 and later.
getArticleSmartLinkUrlGets the Smart Link URL of the
Salesforce Knowledge article. Smart links go to the right article and version,
even when a new version is published or the URL name changes. This value
is available in API version 54.0 and later.
internalTestActionReserved for internal use.
internalTestConnectApiActionReserved for internal use.
limitRepetitionsLimit the number of times the same
recommendation or offer appears on the same record or for the same user
during a time period in a recommendation strategy flow. This value is
available in API version 55.0 and later.
massUpdateAccountForecastBulk updates forecasts
asynchronously. This value is available in API version 48.0 and later.
massUpdateSalesAgreementBulk updates sales agreements
asynchronously. This value is available in API version 48.0 and later.
quickActionInvokes a QuickAction.
publishKnowledgeArticlesMass publishes knowledge articles
from article list views. This value is available in API version 44.0 and later.
restoreKnowledgeArticleVersionRestores an archived
version of a knowledge article. This value is available in API version 45.0
and later.
sendAlertSends Salesforce Anywhere alerts to users. This value is
available in API version 49.0 and later.
sendNotificationSends an available notification type. This value
is available in API version 54.0 and later.
sendSurveyInvitationSends email survey invitations to leads,
contacts, and users in your org based on an action, such as when a customer
support case closes. This value is available in API version 47.0 and later.
performSurveySentimentAnalysisPerform survey sentiment
analysis to create or update the AI Sentiment Result records. This value is
available in API version 55.0 and later.
skillsBasedRoutingCreates a PendingServiceRouting record
used for Omni-Channel skills-based routing. This value is available in version
44.0 and later.
slackArchiveChannelArchives a Slack channel in a Slack
workspace. This value is available in API version 54.0 and later.
1449
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
slackCheckUsersAreConnectedToSlackIndicates whether
a collection of Salesforce users is connected to a given Slack app. This value
is available in API version 54.0 and later.
slackCreateChannelCreates a Slack channel in a Slack workspace.
This value is available in API version 54.0 and later.
slackGetConversationInfoRetrieves the name of a Slack
channel or group direct message and finds out whether its archived. This
value is available in API version 54.0 and later.
slackInviteUsersToChannelAdds users who are connected
to a given Slack app to a Slack channel or group direct message. This value
is available in API version 54.0 and later.
slackPinMessagePin or unpin a message in a Slack channel or
group direct message. This value is available in API version 54.0 and later.
slackPostMessageSend a message to a Slack channel or group
direct message. This value is available in API version 54.0 and later.
slackSendMessageToLaunchFlowSend a message to a Slack
channel, direct message, or the Messages tab of a Slack app that includes
a button that a recipient can use to launch a screen flow. This value is
available in API version 55.0 and later.
slackUpdateMessageEdits a message that was previously sent
to a Slack channel or group direct message. This value is available in API
version 54.0 and later.
submitKnowledgeArticleForTranslationSubmits a
published or draft knowledge article for translation. This value is available
in API version 46.0 and later.
submitSubmits a record for approval.
These values are used in Omnichannel Inventory. If no version is specified, the
value is available in API version 51.0 and later.
ociCreateReservationCreates one or more inventory
reservations at a location or location group.
ociFulfillReservationFulfills one or more inventory
reservations at a location.
ociGetAvailabilityGets inventory availability data for one or
more products at one or more inventory locations or location groups.
ociReleaseReservationReleases one or more inventory
reservations.
ociTransferReservationTransfers one or more inventory
reservations between locations or location groups.
These values are used in the B2B Commerce Checkout Flow. If no version is
specified, the value is available in API version 47.0 and later.
updateCheckoutSessionStateActionUpdates the checkout
session next state for checkout flows. This value is available in API version
49.0 and later.
1450
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
priceCartRequests prices for all items in a cart during B2B Commerce
checkout. This value is available in API version 47.0 and later.
checkoutSessionActionInitiates or retrieves an existing
Checkout Session for Checkout Flows. Available to B2B Commerce. This
value is available in API version 49.0 and later.
cancelCartAsyncOperationCancels a WebCarts async
operation. Available to B2B Commerce. This value is available in API version
49.0 and later.
calcCartPromotionsActionRequests a full cart promotion
calculation of all applicable line items in the Web Cart during B2B
Commerce checkout. This value is available in API version 52.0 and later.
checkCartInventoryActionRequests an inventory for all items
in a Web Cart during B2B Commerce checkout. This value is available in
API version 47.0 and later.
calcCartShipmentActionCalculates the shipping cost for all
items in a Web Cart during B2B Commerce checkout. This value is available
in API version 47.0 and later.
cartToOrderActionCreates a Salesforce Standard Order in draft
mode. This value is available in API version 47.0 and later.
activateOrderActionActivates a draft order, which creates an
order summary. This value is available in API version 47.0 and later.
For values used in Business Rules Engine, see Flow for Business Rules Engine.
These values are used in the Commerce Checkout Flow. If no version is specified,
the value is available in API version 55.0 and later.
addCartItemAdds an item to a cart during Commerce checkout.
createCartCreates a cart during Commerce checkout.
deleteCartDeletes a cart during Commerce checkout.
These values are used in Salesforce CMS Workflows and Approvals. If no version
is specified, the value is available in API version 58.0 and later.
managedContentPublishVariantPublishes a content variant
associated with a flow. This value is available in API version 59.0 and later.
managedContentRoleStepInteractiveAssigns a content
variant review to a CMS role.
managedContentUnpublishVariantUnpublishes a published
content variant associated with a flow. This value is available in API version
59.0 and later.
managedContentVariantSetLockStatusSets the locked
status of a content variant.
managedContentVariantSetReadyStatusSets the ready
for publication status of a content variant.
These values are used in Order Management. If no version is specified, the value
is available in API version 48.0 and later.
1451
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
addOrderItemSummarySubmitAdds order item summaries to
an order summary. This value is available in API version 54.0 and later.
adjustOrderItemSummariesPreviewPreviews the expected
results of applying a price adjustment to order item summaries from an
order summary without actually applying it. This value is available in API
version 49.0 and later.
adjustOrderItemSummariesSubmitApplies a price adjustment
to order item summaries from an order summary. This value is available in
API version 49.0 and later.
authorizePaymentAuthorizes a card payment. This value is
available in API version 55.0 and later.
cancelFulfillmentOrderItemRemoves items from a
fulfillment order.
cancelOrderItemSummariesPreviewPreviews the expected
results of canceling order item summaries from an order summary without
actually canceling them.
cancelOrderItemSummariesSubmitCancels order item
summaries from an order summary.
confirmHeldFulfillmentOrderCapacityConfirms held
fulfillment order capacity. This value is available in API version 55.0 and
later.
createCreditMemoOrderSummaryCreates a credit memo for
an order summary.
createFulfillmentOrderCreates one or more fulfillment orders
and fulfillment order products for an order delivery group summary, which
defines a recipient and delivery method.
createFulfillmentOrdersCreates fulfillment orders and
fulfillment order products for multiple order delivery group summaries,
each of which defines a recipient and delivery method. This value is available
in API version 51.0 and later.
createInvoiceFromChangeOrdersCreates an invoice for one
or more change orders. This value is available in API version 56.0 and later.
createInvoiceFromFulfillmentOrderCreates an invoice
for a fulfillment order.
createOrderPaymentSummaryCreates an order payment
summary for an authorization or payments belonging to an order summary.
createOrderSummaryCreates an order summary for an order.
createReturnOrderCreates a return order and return order items
for an order.
ensureFundsOrderSummaryAsyncTriggers an asynchronous
background process to ensure funds through a payment provider for an
invoice belonging to an order summary.
1452
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
ensureRefundsOrderSummaryAsyncTriggers an asynchronous
background process to ensure refunds through a payment provider for an
invoice belonging to an order summary.
getFulfillmentOrderCapacityValuesGets fulfillment
order capacity information. This value is available in API version 55.0 and
later.
holdFulfillmentOrderCapacityHolds fulfillment order
capacity. This value is available in API version 55.0 and later.
orderRoutingFindRoutesWithFewestSplitsEvaluates
ordered product quantities against available inventory to determine the
smallest combination of locations that can fulfill the order. This value is
available in API version 51.0 and later.
orderRoutingFindRoutesWithFewestSplitsUsingOCIEvaluates
ordered product quantities against available inventory at specified location
groups and locations to determine the smallest combination of locations
that can fulfill the order. This value is available in API version 54.0 and later.
orderRoutingRankByAverageDistanceCalculates the
average distance from sets of inventory locations to an order recipient, and
returns the sets sorted by that average distance. This value is available in
API version 51.0 and later.
releaseHeldFulfillmentOrderCapacityReleases held
fulfillment order capacity. This value is available in API version 55.0 and
later.
returnOrderItemSummariesPreviewPreviews the expected
results of returning order item summaries from an order summary without
actually returning them.
returnOrderItemSummariesSubmitReturns order item
summaries from an order summary.
returnReturnOrderItemsProcesses return order line items.
These values are used in Financial Services Cloud.
createFinancialRecordsCreates person accounts, contacts,
financial accounts, properties, assets, and liabilities from a residential loan
application. This value is available in API version 49.0 and later.
For values used in Fundraising for Nonprofit Cloud, see Flow for Fundraising.
For values used in Health Cloud, see Flow for Health Cloud.
For values used in Manufacturing Cloud, see Flow for Manufacturing Cloud.
These values are used in Rebate Management.
addRebateMemberListAdds a list of members to a rebate program.
This value is available in API version 51.0 and later.
calculateProjectedRebateAmountCalculates the projected
rebate amount for rebate types associated with a specified transaction ID.
This value is available in API version 54.0 and later.
1453
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
calculateRebateAmountAndUpsertPayoutCalculates the
rebate amount and upserts the rebate payout for the specified aggregate
record. This value is available in API version 51.0 and later.
getBenefitAndCalculateRebateAmount Gets benefit details,
and optionally calculates the rebate amount for the specified aggregate
record. This value is available in API version 51.0 and later.
getEligibleProgramRebateTypesRetrieves the eligible
program rebate types for a mapped object. This value is available in API
version 52.0 and later.
generateRebatePayoutPeriodsGenerates payout periods for
a rebate program based on the frequency specified in the program. This
value is available in API version 51.0 and later.
processRebatesBatchCalculationJobProcesses a rebate
batch calculation job from the Data Processing Engine. This value is available
in API version 51.0 and later.
processProgramRebateTypeProductsInsert or delete records
in the Program Rebate Type Product object. This value is available in API
version 53.0 and later.
rebatesProcessCSVProcesses an uploaded CSV file using Bulk
API 2.0 and converts the files data into records in the target object. This
value is available in API version 51.0 and later.
upsertCustomRebatePayoutUpserts the custom calculated
rebate payout for the specified aggregate record. This value is available in
API version 51.0 and later.
These values are used in Loyalty Management.
adjustPointsAdjusts loyalty points for a specified program member
or journal transaction. This value is available in API version 51.0 and later.
assignTierBenefits Assigns Member Benefits to a member tier
for benefits that are associated with a Benefit Action. This value is available
in API version 51.0 and later.
cancelAccrualCancels a specific set of accrual transactions.
creditPointsCredits loyalty points to a specified program members
balance. This value is available in API version 51.0 and later.
cancelRedemptionReverts a specific set of redemption transactions.
This value is available in API version 51.0 and later.
changeTierChanges the tier for a specified program member. This
value is available in API version 51.0 and later.
changeTierWhenNoErrorsChanges tier for a specified loyalty
program member only when all the input parameters meet the criteria.
This value is available in API version 51.0 and later.
debitPointsDebits loyalty points to a specified program members
balance. This value is available in API version 51.0 and later.
1454
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
executeMemberBenefitProcesses the benefit action associated
with the benefit, which is assigned to a loyalty program member. This value
is available in API version 51.0 and later.
generateMemberReferralCodeGenerates a unique 8-character
referral code for a loyalty program member. This value is available in API
version 57.0 and later.
getMemberActiveSegmentsRetrieve active Data Cloud market
segments that a loyalty program member is a part of.
getTierGets the current tier for a specified program member. This
value is available in API version 51.0 and later.
getPointsBalanceGets the loyalty points balance for a specified
program member. This value is available in API version 51.0 and later.
getLoyaltyPromotionGets active loyalty promotions based on
a transaction journal. This value is available in API version 53.0 and later.
getLoyaltyPromotionBasedOnSalesforceCDPGets
promotions for a member based on the market segment the member
belongs to. This value is available in API version 53.0 and later.
issueVoucherIssues a voucher for a member or contract. This value
is available in API version 51.0 and later.
mergeLoyaltyProgramMembershipMerges two active loyalty
program member records that both belong to the same loyalty program.
This value is available in API version 56.0 and later.
transferMemberPointsToGroupsTransfers points from an
individual member or a corporate member to the members associated
group. This value is available in API version 53.0 and later.
updateProgressForCumulativePromotionUsageUpdates
the progress a member has made towards attaining a cumulative type
promotion. This value is available in API version 53.0 and later.
unmergeLoyaltyProgramMembershipUnmerges loyalty
program member records that have a Merged status. The action unmerges
memberships in the Merged status from the previously merged
membership. This value is available in API version 56.0 and later.
runProgramProcessTriggers an active loyalty program process.
This value is available in API version 56.0 and later.
runProgramProcessForTransactionJournalTriggers an
active loyalty program process whose process type is TransactionJournal.
This value is available in API version 54.0 and later.
These values are for Decision Table.
decisionTableActionRuns an active decision table definition.
This value is available in API version 51.0 and later.
refreshDecisionTableRefreshes the decision table cache. This
value is available in API version 51.0 and later.
These values are for the Batch Management jobs.
1455
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
batchJobActionRuns the batch management jobs definitions. This
value is available in API version 51.0 and later.
submitFailedRecordsBatchJobResubmits an existing batch
job with failed records for processing. This value is available in API version
52.0 and later.
This value is for Data Processing Engine.
dataProcessingEngineActionRuns the data processing engine
definitions. This value is available in API version 51.0 and later.
This value is used for Einstein Visit Recommendation.
saveRecommendationDecisionSave visit and task
recommendation decisions. This value is available in API version 51.0 and
later.
These values are used in Field Service. If no version is specified, the value is
available in API version 52.0 and later.
addWorkPlansCreates work plan and work step objects from the
work plan library.
addWorkStepsCreates work step objects from the work plan library.
deleteWorkPlansDeletes all the work plans and work steps
associated with a work order or work order line item.
generateWorkPlansGenerates work plans based off rules defined
in the work plan library.
For values used in Intelligent Form Reader, see Flow for Intelligent Form Reader.
For values used in Intelligent Document Reader, see Flow for Intelligent
Document Reader.
This value is used in Public Sector Solutions.
createBenefitDisbursementCreates a benefit disbursement
for an eligible benefit assignment. This value is available in API version 57.0
and later.
runRecordAggrBatchProcDefRuns a Data Processing Engine
definition to process an asynchronous batch job that creates or updates
record aggregation results. This value is available in API version 59.0 and
later.
These values are reserved for future use.
thanks
metricRefresh
exportSurveyResponses
StrategyActionArg
Defines arguments passed to invocable actions associated with a strategy action.
1456
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
Required. Unique name for the parameter to pass to the invocable action.stringname
Required. A Salesforce formula expression that is evaluated with the result
being used as the parameter value for the Strategy Action.
stringvalue
StrategyNodeUnionBase
Base class for nodes that perform a union of their children. Union nodes combine the outputs of their children to form the input to
themselves. StrategyNodeUnionBase extends StrategyNodeBase and inherits all of its fields. This is an abstract class.
DescriptionField TypeField Name
Maximum number of results to output.intlimit
StrategyNodeFilter
Defines a filter element that filters recommendations. It extends StrategyNodeUnionBase and inherits all its fields.
DescriptionField TypeField Name
Required. A formula expression that results in a boolean value when executed
on each recommendation in the nodes input. Inputs that result in true form
the output, and inputs that result in false are excluded.
stringexpression
StrategyNodeIf
Selects specific children to execute and combines their results. Executes and returns results of children based on the array of child node
expressions. Extends StrategyNodeUnionBase and inherits all of its fields.
DescriptionField TypeField Name
Array of if expressions.IfExpression[]childNodeExpression
If true, selects only the results from the matching child. If false, selects
and combines results from all matching children. The default value is false.
booleanonlyFirstMatch
IfExpression
Expression used by StrategyNodeIf.
DescriptionField TypeField Name
Required. Name of child to match.stringchildName
Required. Formula expression returning true or false.stringexpression
1457
RecommendationStrategyMetadata Types
StrategyNodeInvocableAction
Defines an element that calls an Apex invocable action to generate or enhance a list of recommendations. It extends
StrategyNodeUnionBase and inherits all its fields.
DescriptionField TypeField Name
Required. The name of the invocable action to execute.stringaction
List of arguments that are passed to the invocable action.StrategyNodeInvocableActionArg[]argument
Required. If true, the UI displays the Generate element. If false, the UI
displays the Enhance element. Defaults to false.
booleanisGenerator
Required. The action type. Valid values are:InvocableActionType
(enumeration of type
string)
type
activateSessionPermSetActivates a session-based permission
set for the running user.
addMessageToChatAdds a message to an existing Salesforce
Anywhere chat. This value is available in API version 49.0 and later.
addMessageToQuipChatAdds a Quip message to an existing chat
room. This value is available in API version 46.0 and later.
addMessageToQuipDocumentAdds a Quip message to an existing
Quip document, spreadsheet, or slide. This value is available in API version
46.0 and later.
addQuipDocumentToFolderAdds an existing Quip document,
spreadsheet, or slide to an existing folder. This value is available in API
version 46.0 and later.
addUsersToChatAdds users to an existing Salesforce Anywhere
chat. This value is available in API version 49.0 and later.
addUsersToQuipDocumentAdds users, identified by their email
addresses, to an existing Quip document, spreadsheet, or slide. This value
is available in API version 46.0 and later.
addUsersToQuipChatAdds users, identified by their email
addresses, to an existing Quip chat room. This value is available in API
version 46.0 and later.
attachQuipDocumentToRecordAttaches a Quip document,
spreadsheet, or slide to a Salesforce record. This value is available in API
version 46.0 and later.
apexInvokes an Apex method that has the @invocableMethod
annotation.
archiveKnowledgeArticlesArchives a list of published
Knowledge articles. This value is available in API version 45.0 and later.
assignKnowledgeArticlesMass assigns knowledge articles
from article list views. This value is available in API version 44.0 and later.
cdpRunIdentityResolutionRuns a Data Cloud identity
resolution process. This value is available in API version 57.0 and later.
1458
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
chatCreates a Salesforce Anywhere chat. This value is available in API
version 49.0 and later.
chatterPostPosts to Chatter.
choosePricebookSelects a price book.
contactRequestActionCreates a contact request record. This
value is available in API version 45.0 and later.
componentInvokes the Lightning component that implements the
lightning:availableForFlowActions interface and that is
referenced by actionName. This value is available in API version 43.0
and later.
contentWorkspaceEnableFoldersEnables folders in a library.
copyQuipDocumentCreates a copy of an existing Quip document,
spreadsheet, or slide, and gives it a new title. This value is available in API
version 46.0 and later.
createDraftFromOnlineKnowledgeArticleCreates a draft
from a published knowledge article. This value is available in API version
45.0 and later.
createInvoiceFromFulfillmentOrderCreates an invoice
from a purchase order. Available to B2B Commerce. This value is available
in API version 49.0 and later.
createQuipChatCreates a Quip chat room. This value is available
in API version 46.0 and later.
createQuipDocumentCreates a Quip document, spreadsheet, or
slide. This value is available in API version 46.0 and later.
createQuipFolderCreates a Quip folder. This value is available in
API version 46.0 and later.
customNotificationActionSends a custom notification. This
value is available in API version 46.0 and later.
deactivateSessionPermSetDeactivates a session-based
permission set for the running user.
deleteKnowledgeArticleDeletes a draft version (translation
or master-language) or an entire archived knowledge article. This value is
available in API version 46.0 and later.
dynamicSendSurveyInvitationSends customized notifications
to users about important events or updates to the records that theyre
working on. This value is available in API version 51.0 and later.
editQuipDocumentModifies the contents of an existing Quip
document, spreadsheet, or slide. This value is available in API version 46.0
and later.
emailAlertSends an email by referencing a workflow email alert
emailSimpleSends an email by using flow resources
externalServiceInvokes an External Service operation that makes
an HTTP request to an external system made available by an External Service
1459
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
schema registered through Setup. This value is available in API version 46.0
and later.
findMatchingIndividualsFinds contact, lead, or employee
records that match a search term.
flowInvokes an autolaunched flow. This action type isnt available for
flows with a processType of Flow or AutolaunchedFlow. To invoke an
autolaunched flow from one of those types, use FlowSubflow. This value
is available in API version 32.0 and later.
getArticleSmartLinkUrlGets the Smart Link URL of the
Salesforce Knowledge article. Smart links go to the right article and version,
even when a new version is published or the URL name changes. This value
is available in API version 54.0 and later.
internalTestActionReserved for internal use.
internalTestConnectApiActionReserved for internal use.
limitRepetitionsLimit the number of times the same
recommendation or offer appears on the same record or for the same user
during a time period in a recommendation strategy flow. This value is
available in API version 55.0 and later.
massUpdateAccountForecastBulk updates forecasts
asynchronously. This value is available in API version 48.0 and later.
massUpdateSalesAgreementBulk updates sales agreements
asynchronously. This value is available in API version 48.0 and later.
quickActionInvokes a QuickAction.
publishKnowledgeArticlesMass publishes knowledge articles
from article list views. This value is available in API version 44.0 and later.
restoreKnowledgeArticleVersionRestores an archived
version of a knowledge article. This value is available in API version 45.0
and later.
sendAlertSends Salesforce Anywhere alerts to users. This value is
available in API version 49.0 and later.
sendNotificationSends an available notification type. This value
is available in API version 54.0 and later.
sendSurveyInvitationSends email survey invitations to leads,
contacts, and users in your org based on an action, such as when a customer
support case closes. This value is available in API version 47.0 and later.
performSurveySentimentAnalysisPerform survey sentiment
analysis to create or update the AI Sentiment Result records. This value is
available in API version 55.0 and later.
skillsBasedRoutingCreates a PendingServiceRouting record
used for Omni-Channel skills-based routing. This value is available in version
44.0 and later.
slackArchiveChannelArchives a Slack channel in a Slack
workspace. This value is available in API version 54.0 and later.
1460
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
slackCheckUsersAreConnectedToSlackIndicates whether
a collection of Salesforce users is connected to a given Slack app. This value
is available in API version 54.0 and later.
slackCreateChannelCreates a Slack channel in a Slack workspace.
This value is available in API version 54.0 and later.
slackGetConversationInfoRetrieves the name of a Slack
channel or group direct message and finds out whether its archived. This
value is available in API version 54.0 and later.
slackInviteUsersToChannelAdds users who are connected
to a given Slack app to a Slack channel or group direct message. This value
is available in API version 54.0 and later.
slackPinMessagePin or unpin a message in a Slack channel or
group direct message. This value is available in API version 54.0 and later.
slackPostMessageSend a message to a Slack channel or group
direct message. This value is available in API version 54.0 and later.
slackSendMessageToLaunchFlowSend a message to a Slack
channel, direct message, or the Messages tab of a Slack app that includes
a button that a recipient can use to launch a screen flow. This value is
available in API version 55.0 and later.
slackUpdateMessageEdits a message that was previously sent
to a Slack channel or group direct message. This value is available in API
version 54.0 and later.
submitKnowledgeArticleForTranslationSubmits a
published or draft knowledge article for translation. This value is available
in API version 46.0 and later.
submitSubmits a record for approval.
These values are used in Omnichannel Inventory. If no version is specified, the
value is available in API version 51.0 and later.
ociCreateReservationCreates one or more inventory
reservations at a location or location group.
ociFulfillReservationFulfills one or more inventory
reservations at a location.
ociGetAvailabilityGets inventory availability data for one or
more products at one or more inventory locations or location groups.
ociReleaseReservationReleases one or more inventory
reservations.
ociTransferReservationTransfers one or more inventory
reservations between locations or location groups.
These values are used in the B2B Commerce Checkout Flow. If no version is
specified, the value is available in API version 47.0 and later.
updateCheckoutSessionStateActionUpdates the checkout
session next state for checkout flows. This value is available in API version
49.0 and later.
1461
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
priceCartRequests prices for all items in a cart during B2B Commerce
checkout. This value is available in API version 47.0 and later.
checkoutSessionActionInitiates or retrieves an existing
Checkout Session for Checkout Flows. Available to B2B Commerce. This
value is available in API version 49.0 and later.
cancelCartAsyncOperationCancels a WebCarts async
operation. Available to B2B Commerce. This value is available in API version
49.0 and later.
calcCartPromotionsActionRequests a full cart promotion
calculation of all applicable line items in the Web Cart during B2B
Commerce checkout. This value is available in API version 52.0 and later.
checkCartInventoryActionRequests an inventory for all items
in a Web Cart during B2B Commerce checkout. This value is available in
API version 47.0 and later.
calcCartShipmentActionCalculates the shipping cost for all
items in a Web Cart during B2B Commerce checkout. This value is available
in API version 47.0 and later.
cartToOrderActionCreates a Salesforce Standard Order in draft
mode. This value is available in API version 47.0 and later.
activateOrderActionActivates a draft order, which creates an
order summary. This value is available in API version 47.0 and later.
For values used in Business Rules Engine, see Flow for Business Rules Engine.
These values are used in the Commerce Checkout Flow. If no version is specified,
the value is available in API version 55.0 and later.
addCartItemAdds an item to a cart during Commerce checkout.
createCartCreates a cart during Commerce checkout.
deleteCartDeletes a cart during Commerce checkout.
These values are used in Salesforce CMS Workflows and Approvals. If no version
is specified, the value is available in API version 58.0 and later.
managedContentPublishVariantPublishes a content variant
associated with a flow. This value is available in API version 59.0 and later.
managedContentRoleStepInteractiveAssigns a content
variant review to a CMS role.
managedContentUnpublishVariantUnpublishes a published
content variant associated with a flow. This value is available in API version
59.0 and later.
managedContentVariantSetLockStatusSets the locked
status of a content variant.
managedContentVariantSetReadyStatusSets the ready
for publication status of a content variant.
These values are used in Order Management. If no version is specified, the value
is available in API version 48.0 and later.
1462
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
addOrderItemSummarySubmitAdds order item summaries to
an order summary. This value is available in API version 54.0 and later.
adjustOrderItemSummariesPreviewPreviews the expected
results of applying a price adjustment to order item summaries from an
order summary without actually applying it. This value is available in API
version 49.0 and later.
adjustOrderItemSummariesSubmitApplies a price adjustment
to order item summaries from an order summary. This value is available in
API version 49.0 and later.
authorizePaymentAuthorizes a card payment. This value is
available in API version 55.0 and later.
cancelFulfillmentOrderItemRemoves items from a
fulfillment order.
cancelOrderItemSummariesPreviewPreviews the expected
results of canceling order item summaries from an order summary without
actually canceling them.
cancelOrderItemSummariesSubmitCancels order item
summaries from an order summary.
confirmHeldFulfillmentOrderCapacityConfirms held
fulfillment order capacity. This value is available in API version 55.0 and
later.
createCreditMemoOrderSummaryCreates a credit memo for
an order summary.
createFulfillmentOrderCreates one or more fulfillment orders
and fulfillment order products for an order delivery group summary, which
defines a recipient and delivery method.
createFulfillmentOrdersCreates fulfillment orders and
fulfillment order products for multiple order delivery group summaries,
each of which defines a recipient and delivery method. This value is available
in API version 51.0 and later.
createInvoiceFromChangeOrdersCreates an invoice for one
or more change orders. This value is available in API version 56.0 and later.
createInvoiceFromFulfillmentOrderCreates an invoice
for a fulfillment order.
createOrderPaymentSummaryCreates an order payment
summary for an authorization or payments belonging to an order summary.
createOrderSummaryCreates an order summary for an order.
createReturnOrderCreates a return order and return order items
for an order.
ensureFundsOrderSummaryAsyncTriggers an asynchronous
background process to ensure funds through a payment provider for an
invoice belonging to an order summary.
1463
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
ensureRefundsOrderSummaryAsyncTriggers an asynchronous
background process to ensure refunds through a payment provider for an
invoice belonging to an order summary.
getFulfillmentOrderCapacityValuesGets fulfillment
order capacity information. This value is available in API version 55.0 and
later.
holdFulfillmentOrderCapacityHolds fulfillment order
capacity. This value is available in API version 55.0 and later.
orderRoutingFindRoutesWithFewestSplitsEvaluates
ordered product quantities against available inventory to determine the
smallest combination of locations that can fulfill the order. This value is
available in API version 51.0 and later.
orderRoutingFindRoutesWithFewestSplitsUsingOCIEvaluates
ordered product quantities against available inventory at specified location
groups and locations to determine the smallest combination of locations
that can fulfill the order. This value is available in API version 54.0 and later.
orderRoutingRankByAverageDistanceCalculates the
average distance from sets of inventory locations to an order recipient, and
returns the sets sorted by that average distance. This value is available in
API version 51.0 and later.
releaseHeldFulfillmentOrderCapacityReleases held
fulfillment order capacity. This value is available in API version 55.0 and
later.
returnOrderItemSummariesPreviewPreviews the expected
results of returning order item summaries from an order summary without
actually returning them.
returnOrderItemSummariesSubmitReturns order item
summaries from an order summary.
returnReturnOrderItemsProcesses return order line items.
These values are used in Financial Services Cloud.
createFinancialRecordsCreates person accounts, contacts,
financial accounts, properties, assets, and liabilities from a residential loan
application. This value is available in API version 49.0 and later.
For values used in Fundraising for Nonprofit Cloud, see Flow for Fundraising.
For values used in Health Cloud, see Flow for Health Cloud.
For values used in Manufacturing Cloud, see Flow for Manufacturing Cloud.
These values are used in Rebate Management.
addRebateMemberListAdds a list of members to a rebate program.
This value is available in API version 51.0 and later.
calculateProjectedRebateAmountCalculates the projected
rebate amount for rebate types associated with a specified transaction ID.
This value is available in API version 54.0 and later.
1464
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
calculateRebateAmountAndUpsertPayoutCalculates the
rebate amount and upserts the rebate payout for the specified aggregate
record. This value is available in API version 51.0 and later.
getBenefitAndCalculateRebateAmount Gets benefit details,
and optionally calculates the rebate amount for the specified aggregate
record. This value is available in API version 51.0 and later.
getEligibleProgramRebateTypesRetrieves the eligible
program rebate types for a mapped object. This value is available in API
version 52.0 and later.
generateRebatePayoutPeriodsGenerates payout periods for
a rebate program based on the frequency specified in the program. This
value is available in API version 51.0 and later.
processRebatesBatchCalculationJobProcesses a rebate
batch calculation job from the Data Processing Engine. This value is available
in API version 51.0 and later.
processProgramRebateTypeProductsInsert or delete records
in the Program Rebate Type Product object. This value is available in API
version 53.0 and later.
rebatesProcessCSVProcesses an uploaded CSV file using Bulk
API 2.0 and converts the files data into records in the target object. This
value is available in API version 51.0 and later.
upsertCustomRebatePayoutUpserts the custom calculated
rebate payout for the specified aggregate record. This value is available in
API version 51.0 and later.
These values are used in Loyalty Management.
adjustPointsAdjusts loyalty points for a specified program member
or journal transaction. This value is available in API version 51.0 and later.
assignTierBenefits Assigns Member Benefits to a member tier
for benefits that are associated with a Benefit Action. This value is available
in API version 51.0 and later.
cancelAccrualCancels a specific set of accrual transactions.
creditPointsCredits loyalty points to a specified program members
balance. This value is available in API version 51.0 and later.
cancelRedemptionReverts a specific set of redemption transactions.
This value is available in API version 51.0 and later.
changeTierChanges the tier for a specified program member. This
value is available in API version 51.0 and later.
changeTierWhenNoErrorsChanges tier for a specified loyalty
program member only when all the input parameters meet the criteria.
This value is available in API version 51.0 and later.
debitPointsDebits loyalty points to a specified program members
balance. This value is available in API version 51.0 and later.
1465
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
executeMemberBenefitProcesses the benefit action associated
with the benefit, which is assigned to a loyalty program member. This value
is available in API version 51.0 and later.
generateMemberReferralCodeGenerates a unique 8-character
referral code for a loyalty program member. This value is available in API
version 57.0 and later.
getMemberActiveSegmentsRetrieve active Data Cloud market
segments that a loyalty program member is a part of.
getTierGets the current tier for a specified program member. This
value is available in API version 51.0 and later.
getPointsBalanceGets the loyalty points balance for a specified
program member. This value is available in API version 51.0 and later.
getLoyaltyPromotionGets active loyalty promotions based on
a transaction journal. This value is available in API version 53.0 and later.
getLoyaltyPromotionBasedOnSalesforceCDPGets
promotions for a member based on the market segment the member
belongs to. This value is available in API version 53.0 and later.
issueVoucherIssues a voucher for a member or contract. This value
is available in API version 51.0 and later.
mergeLoyaltyProgramMembershipMerges two active loyalty
program member records that both belong to the same loyalty program.
This value is available in API version 56.0 and later.
transferMemberPointsToGroupsTransfers points from an
individual member or a corporate member to the members associated
group. This value is available in API version 53.0 and later.
updateProgressForCumulativePromotionUsageUpdates
the progress a member has made towards attaining a cumulative type
promotion. This value is available in API version 53.0 and later.
unmergeLoyaltyProgramMembershipUnmerges loyalty
program member records that have a Merged status. The action unmerges
memberships in the Merged status from the previously merged
membership. This value is available in API version 56.0 and later.
runProgramProcessTriggers an active loyalty program process.
This value is available in API version 56.0 and later.
runProgramProcessForTransactionJournalTriggers an
active loyalty program process whose process type is TransactionJournal.
This value is available in API version 54.0 and later.
These values are for Decision Table.
decisionTableActionRuns an active decision table definition.
This value is available in API version 51.0 and later.
refreshDecisionTableRefreshes the decision table cache. This
value is available in API version 51.0 and later.
These values are for the Batch Management jobs.
1466
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
batchJobActionRuns the batch management jobs definitions. This
value is available in API version 51.0 and later.
submitFailedRecordsBatchJobResubmits an existing batch
job with failed records for processing. This value is available in API version
52.0 and later.
This value is for Data Processing Engine.
dataProcessingEngineActionRuns the data processing engine
definitions. This value is available in API version 51.0 and later.
This value is used for Einstein Visit Recommendation.
saveRecommendationDecisionSave visit and task
recommendation decisions. This value is available in API version 51.0 and
later.
These values are used in Field Service. If no version is specified, the value is
available in API version 52.0 and later.
addWorkPlansCreates work plan and work step objects from the
work plan library.
addWorkStepsCreates work step objects from the work plan library.
deleteWorkPlansDeletes all the work plans and work steps
associated with a work order or work order line item.
generateWorkPlansGenerates work plans based off rules defined
in the work plan library.
For values used in Intelligent Form Reader, see Flow for Intelligent Form Reader.
For values used in Intelligent Document Reader, see Flow for Intelligent
Document Reader.
This value is used in Public Sector Solutions.
createBenefitDisbursementCreates a benefit disbursement
for an eligible benefit assignment. This value is available in API version 57.0
and later.
runRecordAggrBatchProcDefRuns a Data Processing Engine
definition to process an asynchronous batch job that creates or updates
record aggregation results. This value is available in API version 59.0 and
later.
These values are reserved for future use.
thanks
metricRefresh
exportSurveyResponses
StrategyNodeInvocableActionArg
Defines arguments passed to an Apex invocable action that generates or enhances a list of recommendations.
1467
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
Required. Unique name for the parameter to pass to the invocable action. The
name must match a parameter that's defined in the invocable action.
stringname
Required. A Salesforce formula expression that is evaluated with the result used
as the parameter value for the action.
stringvalue
StrategyNodeRecommendationLimit
Filters out recommendations that have already been accepted or rejected. Extends StrategyNodeUnionBase and inherits all of its fields.
DescriptionField TypeField Name
Available reactions to filter out. The valid values are:
StrategyReactionType
(enumeration of type
string)
filterMode
Accepted
Rejected
Number of days to search back.intlookbackDuration
Maximum number of times recommendation has been accepted or rejected.intmaxRecommendationCount
StrategyNodeRecommendationLoad
Retrieves Recommendation objects. Extends StrategyNodeUnionBase and inherits all of its fields.
DescriptionField TypeField Name
Array of conditions specifying which recommendations to load.RecommendationLoadCondition[]condition
Logic to combine conditions, either AND or OR. All conditions are combined
(not mixed). For example: Cond1 AND Cond2 AND Cond3.
stringconditionLogic
Required. Specifies the API name of the sObject from which recommendations
are loaded. For example, the field references Account or
stringobject
MyCustomObject__c and not a specific record of that object. Available
in API version 48.0 and later.
The field to sort on. Available in API version 48.0 and later.StrategyNodeSortFieldsortField
RecommendationLoadCondition
Represents a condition used as part of the query constructed by StrategyNodeRecommendationLoad.
DescriptionField TypeField Name
Required. Any field from Recommendation BPO (SOAP) object.stringfield
1468
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
Required.
Valid values are:
RecommendationConditionOperator
(enumeration of type
string)
operator
EQUALS
GREATER_THAN
GREATER_THAN_OR_EQUAL_TO
LESS_THAN
LESS_THAN_OR_EQUAL_TO
NOT_EQUALS
LIKE
STARTS_WITH
ENDS_WITH=
CONTAINS
Required. Constant value to use in query.RecommendationConditionValuevalue
RecommendationConditionValue
Represents a value used as part of a RecommendationCondition.
DescriptionField TypeField Name
Required.
Valid values are:
RecommendationConditionValueType
(enumeration of type
string)
type
TEXT
NUMBER
BOOLEAN
DATE
DATE_TIME
TIME
Required. The constant value.stringvalue
StrategyNodeSortField
Defines the field to sort on for StrategyNodeSort and StrategyNodeRecommendationLoad.
DescriptionField TypeField Name
Required. Name of the field to sort.stringname
If true, null values are sorted to the beginning of the list. Defaults to false.booleannullsFirst
1469
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
Order in which the list is sorted. Defaults to Asc. Valid values are:
SortOrder
(enumeration of type
string)
order
Asc (ascending)
Desc (descending)
StrategyNodeSort
Sorts the recommendations. Extends StrategyNodeUnionBase and inherits all of its fields.
DescriptionField TypeField Name
Required. Field to sort on.StrategyNodeSortFieldfield
StrategyNodeUnion
StrategyNodeUnion combines the output of all its child nodes. StrategyNodeUnion is a concrete implementation of StrategtNodeUnionBase
and inherits all its fields.
StrategyNodeMap
Set recommendation fields with values. Extends StrategyNodeUnionBase and inherits all of its fields.
DescriptionField TypeField Name
List of MaxExpressions.MapExpression on
page 1470[]
mapExpression
StrategyNodeExclusive
Returns results from the first child node that has results and no other. Extends StrategyNodeUnionBase and inherits all its fields.
MapExpression
Sets the value for a recommendation field used by the strategy.
DescriptionField TypeField Name
Required. A formula expression that results in a valid value supported by the
data type specified in the type field.
stringexpression
Required. Recommendation field name that the expression sets the value for.stringname
Required. The data type of the value resulting from the value in the
expression field.
Valid values are:
stringtype
1470
RecommendationStrategyMetadata Types
DescriptionField TypeField Name
BOOLEAN
CURRENCY
DATE
DOUBLE
DATE_TIME
INTEGER
LONG
PERCENT
TEXT
TIME
Declarative Metadata Sample Definition
The following is an example of a RecommendationStrategy component that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<RecommendationStrategy xmlns="http://soap.sforce.com/2006/04/metadata">
<contextRecordType>Asset</contextRecordType>
<description>Hills Brothers Coffee strategy to handle machine down
incidents</description>
<if>
<childNode>IfNoEscaladeOrBetterSupport</childNode>
<childNode>IfModel</childNode>
<description>If Machine Down</description>
<label>RootNode</label>
<name>RootNode</name>
<childNodeExpression>
<childName>IfModel</childName>
<expression>ISPICKVAL($Record.Status, &quot;OutOfOrder&quot;)</expression>
</childNodeExpression>
<childNodeExpression>
<childName>IfNoEscaladeOrBetterSupport</childName>
<expression>ISPICKVAL($Record.Status, &quot;OutOfOrder&quot;)</expression>
</childNodeExpression>
<onlyFirstMatch>false</onlyFirstMatch>
</if>
<if>
<childNode>LoadEscalade</childNode>
<description>If Customer does not have escalade support plan</description>
<label>IfNoEscaladeOrBetterSupport</label>
<name>IfNoEscaladeOrBetterSupport</name>
<childNodeExpression>
<childName>LoadEscalade</childName>
<expression>NOT(ISPICKVAL($Record.Account.SLA__c, &quot;Gold&quot;) ||
ISPICKVAL($Record.Account.SLA__c, &quot;Platinum&quot;))</expression>
</childNodeExpression>
<onlyFirstMatch>false</onlyFirstMatch>
1471
RecommendationStrategyMetadata Types
</if>
<if>
<childNode>LoadMiniDiagnostic</childNode>
<childNode>LoadMaxiDiagnostic</childNode>
<description>If Machine Model switch node</description>
<label>IfModel</label>
<name>IfModel</name>
<childNodeExpression>
<childName>LoadMiniDiagnostic</childName>
<expression>$Record.Product2.Name == &quot;Mini Coffee Roaster&quot;</expression>
</childNodeExpression>
<childNodeExpression>
<childName>LoadMaxiDiagnostic</childName>
<expression>$Record.Product2.Name == &quot;Maxi Coffee Roaster&quot;</expression>
</childNodeExpression>
<onlyFirstMatch>false</onlyFirstMatch>
</if>
<label>HillsBrothersCoffee</label>
<recommendationLoad>
<description>Load upgrade to escalade support plan</description>
<label>LoadEscalade</label>
<name>LoadEscalade</name>
<condition>
<field>Name</field>
<operator>EQUALS</operator>
<value>
<type>TEXT</type>
<value>Upgrade your Maintenance Package</value>
</value>
</condition>
<conditionLogic>and</conditionLogic>
</recommendationLoad>
<recommendationLoad>
<description>Load Mini Coffee Roaster Diagnostic Troubleshooting
proposition</description>
<label>LoadMiniDiagnostic</label>
<name>LoadMiniDiagnostic</name>
<condition>
<field>Name</field>
<operator>EQUALS</operator>
<value>
<type>TEXT</type>
<value>Mini Coffee Roaster Diagnostic Troubleshooting</value>
</value>
</condition>
<conditionLogic>and</conditionLogic>
</recommendationLoad>
<recommendationLoad>
<description>Load Maxi Coffee Roaster Diagnostic Troubleshooting
proposition</description>
<label>LoadMaxiDiagnostic</label>
<name>LoadMaxiDiagnostic</name>
1472
RecommendationStrategyMetadata Types
<condition>
<field>Name</field>
<operator>EQUALS</operator>
<value>
<type>TEXT</type>
<value>Maxi Coffee Roaster Diagnostic Troubleshooting</value>
</value>
</condition>
<conditionLogic>and</conditionLogic>
</recommendationLoad>
<union>
<childNode>RootNode</childNode>
<label>Output</label>
<name>Output</name>
</union>
<invocableAction>
<action>MyInvocableApexClass</action>
<isGenerator>true</isGenerator>
<type>apex</type>
<argument>
<name>MyNameParam</name>
<value>$User.FirstName</value>
</argument>
<argument>
<name>MyIdParam</name>
<value>$Record.Id</value>
</argument>
</invocableAction>
<map>
<expression>
<name>Name</name>
<expression>'Hello' & $User.FirstName</expression>
<type>TEXT</type>
</expression>
<expression>
<name>MyDynamicField</name>
<expression>Id == $Record.Id</expression>
<type>BOOLEAN</type>
</expression>
</map>
</RecommendationStrategy>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1473
RecommendationStrategyMetadata Types
RecordActionDeployment
Represents configuration settings for the Actions & Recommendations, Action Launcher, and Bulk Action Panel components. For example,
you can have a deployment that specifies which types of actions to display, default actions for channels, and the actions that users can
add at runtime. If the component shows Next Best Action recommendations, the deployment configures which strategies to use and
how recommendations appear. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
RecordActionDeployment values are stored in the developer_name.deployment file in the recordActionDeployments
directory.
Note: We dont recommend programmatically changing the API name of a RecordActionDeployment.
Version
RecordActionDeployment is available in API version 45.0 and later.
Fields
DescriptionField TypeField Name
Specifies configuration settings for different channels in an Actions
& Recommendations deployment.
RecordActionDeploymentChannelchannelConfigurations
Specifies the name of the component used in the deployment:ComponentName (enumeration
of type string)
componentName
ActionsAndRecommendations0
ActionLauncher1
BulkActionPanel2. This value is available in API
version 60.0 and later
For example, a value of 1 indicates that 1 is stored in the database
if Action Launcher is used to create a deployment. Available in API
version 56.0 and later.
Specifies the object context for quick actions and Next Best Action
strategies. Available in API version 46.0 and later.
RecordActionDeploymentContextdeploymentContexts
Indicates whether the record actions deployment includes
components (true) or not (false). Available in API version 61.0
and later.
booleanhasComponents
Specifies that the component shows standard actions; for example,
flows and quick actions. Available in API version 46.0 and later.
booleanhasGuidedActions
1474
RecordActionDeploymentMetadata Types
DescriptionField TypeField Name
Indicates whether the record actions deployment includes
OmniScripts (true) or not (false). Available in API version 56.0
and later. The default value is false.
booleanhasOmniscripts
Specifies that the component shows recommendations from a
Next Best Action strategy. Available in API version 46.0 and later.
booleanhasRecommendations
Required. Specifies the name of the deployment.stringmasterLabel
Specifies settings for how Next Best Action recommendations
appear in the component. Available in API version 46.0 and later.
RecordActionRecommendationrecommendation
Specifies the actions that users can add at runtime.RecordActionDeploymentSelectableItemsselectableItems
Required. If true, launch the flow when the recommendation is
rejected by the agent. Available in API version 48.0 and later.
booleanshouldLaunchActionOnReject
RecordActionDefaultItem
Represents actions and attributes specified as channel defaults in a deployment.
DescriptionField TypeField Name
Required. Specifies the API name of an action. For example, the API name of a
flow, such as Verify_Information.
stringaction
Specifies whether the action is marked as mandatory. The default value is
false.
booleanisMandatory
Specifies whether the remove option is hidden in the UI. The default value is
false. If true, the UI hides the ability to remove the action from the list.
booleanisUiRemoveHidden
Required. Indicates whether the action is pinned to the Top or Bottom, or
unpinned (None). The default value is None.
PinnedAction
(enumeration of type
string)
pinned
Required. Indicates the order of the action among all actions associated with
this record.
intposition
Required. The type of action thats associated with the record. Valid values are:RecordActionType
(enumeration of type
string)
type
Flow
QuickAction (Available in API version 46.0 and later.)
RecordActionDeploymentChannel
Specifies channel-specific defaults to show in the Actions & Recommendations component. The component displays the channel defaults
when the list is otherwise empty.
1475
RecordActionDeploymentMetadata Types
DescriptionField TypeField Name
Required. Specifies the channel. Valid values are Phone, Chat, or
Default.
ChannelSource
(enumeration of type string)
channel
Specifies default actions for a channel and attributes for each action,
such as whether the action is pinned to the list top or bottom or whether
an action is considered mandatory.
RecordActionDefaultItemchannelItems
Specifies whether the first action in the list is launched when the record
page opens. If true, the first action is launched. The default value is
false.
booleanisAutopopEnabled
RecordActionDeploymentContext
Specifies an object that provides context for quick actions and Next Best Action strategies. When the component appears on this type
of page, it includes object-specific quick actions and uses an object-specific strategy to filter recommendations. Available in API version
46.0 and later.
Note: We support a maximum of 10 objects that provide context within a deployment.
DescriptionField TypeField Name
Required. Specifies the API name of an object to use as context.stringentityName
Specifies the API name of a Next Best Action strategy that overrides the default
strategy on this page. A strategy is a metadata type RecommendationStrategy.
stringrecommendationStrategy
RecordActionRecommendation
Specifies settings to display Next Best Action recommendations in the component. Available in API version 46.0 and later.
DescriptionField TypeField Name
Specifies the API name of the default Next Best Action strategy, which is a
metadata type, RecommendationStrategy.
stringdefaultStrategy
Required. If true, display the description for the recommendation.booleanhasDescription
Required. If true, display the image for the recommendation.booleanhasImage
Required. If true, display the label that the user clicks to reject the
recommendation.
booleanhasRejectAction
Required. If true, display the title for the recommendation.booleanhasTitle
Required. Specifies the maximum number of recommendations to display.
Valid values are 14.
intmaxDisplayRecommendations
1476
RecordActionDeploymentMetadata Types
RecordActionSelectableItem
Represents the set of actions available for users to add to the component at runtime.
DescriptionField TypeField Name
Required. Specifies the API name of an action. For example, the API name of a
flow, such as Verify_Information.
stringaction
Required. The type of action thats associated with the record. Valid values are:RecordActionType
(enumeration of type
string)
type
Flow
QuickAction (Available in API version 46.0 and later.)
OmniScript (Available in API version 56.0 and later.)
Indicates whether an action is frequently accessed by users (true) or not
(false). Available in version 57.0 and later.
This field applies only to Action Launcher.
booleanisFrequentAction
The sequence number that's assigned to a frequently used action that's shown
on Action Launcher. Available in version 57.0 and later.
This field applies only to Action Launcher.
integerfrequentActionSequenceNbr
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Declarative Metadata Sample Definition
The following is a sample of a recordActionDeployment file.
<RecordActionDeployment xmlns="http://soap.sforce.com/2006/04/metadata">
<channelConfigurations>
<channel>Phone</channel>
<channelItems>
<action>Sample_Flow</action>
<isMandatory>false</isMandatory>
<isUiRemoveHidden>false</isUiRemoveHidden>
<position>1</position>
<pinned>Top</pinned>
<type>Flow</type>
</channelItems>
<channelItems>
<action>Another_Sample_Flow</action>
<isMandatory>false</isMandatory>
<isUiRemoveHidden>true</isUiRemoveHidden>
<position>2</position>
<pinned>Top</pinned>
<type>Flow</type>
1477
RecordActionDeploymentMetadata Types
</channelItems>
<isAutopopEnabled>true</isAutopopEnabled>
</channelConfigurations>
<masterLabel>Sample Deployment</masterLabel>
<selectableItems>
<action>Sample_Flow</action>
<type>Flow</type>
<isFrequentAction>true</isFrequentAction>
<frequentActionSequenceNbr>1</frequentActionSequenceNbr>
</selectableItems>
<selectableItems>
<action>Sample_Flow_2</action>
<type>Flow</type>
<isFrequentAction>false</isFrequentAction>
</selectableItems>
<hasGuidedActions>true</hasGuidedActions>
<hasRecommendations>true</hasRecommendations>
<recommendation>
<defaultStrategy>Sample_Global_Strategy</defaultStrategy>
<maxDisplayRecommendations>4</maxDisplayRecommendations>
<hasImage>true</hasImage>
<hasDescription>true</hasDescription>
<hasRejectAction>true</hasRejectAction>
<hasTitle>true</hasTitle>
</recommendation>
<deploymentContexts>
<entityName>Case</entityName>
<recommendationStrategy>Sample_Case_Strategy</recommendationStrategy>
</deploymentContexts>
<deploymentContexts>
<entityName>Account</entityName>
<recommendationStrategy>Sample_Acc_Strategy</recommendationStrategy>
</deploymentContexts>
</RecordActionDeployment>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>SecondTest</fullName>
<types>
<members>Sample_Flow</members>
<members>Another_Sample_Flow</members>
<members>Sample_Flow_2</members>
<name>Flow</name>
</types>
<types>
<members>SampleDeployment</members>
<name>RecordActionDeployment</name>
</types>
1478
RecordActionDeploymentMetadata Types
<version>45.0</version>
</Package>
SEE ALSO:
RecommendationStrategy
RecordAggregationDefinition
Represents a data aggregation from one object to another object to which it is connected by other objects in the data model.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
RecordAggregationDefinition components have the suffix .RecordAggregationDefinition and are stored in the
RecordAggregationDefinitions folder.
Version
RecordAggregationDefinition components are available in API version 59.0 and later.
Special Access Rules
To access the RecordAggregationDefinition metadata type, you must have the Record Aggregation permission set license and the Record
Aggregation Access permission.
Fields
DescriptionField Name
Field Type
string
aggregateFromObject
Description
Required.
API name of the object from which data is aggregated.
Field Type
string
aggregateToObject
1479
RecordAggregationDefinitionMetadata Types
DescriptionField Name
Description
Required.
API name of the object to which data is aggregated.
Field Type
RecordAggregationDefinitionAggregationType (enumeration of type string)
aggregationType
Description
Required.
Type of the data aggregation.
Valid value is:
Record
Field Type
string
batchProcessingDefinition
Description
Data Processing Engine definition that aggregates data from one record to another.
Field Type
string
description
Description
Description for this record aggregation definition.
Field Type
string
displayName
Description
Required.
Name of the record aggregation definition that's displayed in the record page.
Field Type
RecordAggregationObject[]
recordAggregationObject
Description
List of record aggregation objects in the record aggregation join sequence.
Field Type
RecordAggregationDefinitionStatus (enumeration of type string)
status
Description
Required.
Status of this record aggregation definition.
Values are:
1480
RecordAggregationDefinitionMetadata Types
DescriptionField Name
Active
Draft
Inactive
RecordAggregationObject
Represents an object in the record aggregation join sequence.
DescriptionField Name
Field Type
string
associatedObject
Description
Required.
API name of the object associated with this record aggregation object.
Field Type
string
developerName
Description
Developer name of the record aggregation object. May contain only underscores and
alphanumeric characters and must be unique in your org. It must begin with a letter,
not include spaces, not end with an underscore, and not contain two consecutive
underscores.
Field Type
string
filterLogic
Description
Logical sequence in which the record aggregation object filters associated with this
record aggregation object are applied to the associated object's records. If you define
two or more record aggregation object filters, but dont specify the sequence in which
to apply the filters, the filters are applied by using a logical AND expression.
Available in API version 60.0 and later.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for RecordAggregationDefinition, which is defined when the
RecordAggregationDefinition is created.
Field Type
RecordAggregationJoinCondition[]
recordAggregationJoinCondition
1481
RecordAggregationDefinitionMetadata Types
DescriptionField Name
Description
List of join conditions that apply to this record aggregation object.
Field Type
RecordAggregationObjectFilter[]
recordAggregationObjectFilter
Description
List of filters that are applied to the records of this record aggregation object.
Available in API version 60.0 and later.
RecordAggregationJoinCondition
Represents a condition in a join between two record aggregation objects.
DescriptionField Name
Field Type
string
joinField
Description
Required.
API name of the field on the record aggregation object's associated object that is used
in the join condition.
Field Type
int
navigationSequenceNumber
Description
Required.
Sequence number corresponding to this join in the join sequence from the object to
which the data is aggregated to the object that contains the data being aggregated.
Field Type
string
relatedJoinField
Description
Required.
API name of the field on the related record aggregation object's associated object that
is used in the join condition.
Field Type
string
relatedRecordAggregationObject
Description
Required.
Second record aggregation object in the join condition.
1482
RecordAggregationDefinitionMetadata Types
DescriptionField Name
Field Type
RecordAggregationJoinConditionType (enumeration of type string)
type
Description
Required.
Type of this record aggregation join in the join path from the object to which the data
is aggregated to the object that contains the data being aggregated.
Valid values are:
AggregateFrom
AggregateTo
Intermediate
RecordAggregationObjectFilter
Represents a filter that is applied to the records of an object in the record aggregation join sequence. Available in API version 60.0 and
later.
DescriptionField Name
Field Type
string
associatedObjectField
Description
Required.
API name of the associated object's field whose value is used to filter the object's
records. The associated object is specified in the record aggregation object.
Field Type
RecordAggregationObjectFilterOperator (enumeration of type string)
operator
Description
Required.
Operator used in the filter expression.
Values are:
Contains
Equals
GreaterThan
GreaterThanOrEquals
In
LessThan
LessThanOrEquals
NotEquals
1483
RecordAggregationDefinitionMetadata Types
DescriptionField Name
NotIn
Field Type
int
sequenceNumber
Description
Required.
Sequence number of this record aggregation object filter.
Field Type
string
value
Description
Required.
Reference value with which the designated field's values are compared when the filter
is applied on the associated object's records.
Declarative Metadata Sample Definition
The following is an example of a RecordAggregationDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<RecordAggregationDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<aggregateToObject>PartyRelationshipGroup</aggregateToObject>
<aggregateFromObject>PartyIncome</aggregateFromObject>
<status>Active</status>
<aggregationType>Record</aggregationType>
<description>Aggregate head of household's income to household</description>
<displayName>Party Income to Party Relationship Group</displayName>
<recordAggregationObject>
<associatedObject>PartyRelationshipGroup</associatedObject>
<masterLabel>Party Relationship Group Object</masterLabel>
<developerName>PartyRelationshipGroupObject</developerName>
<recordAggregationJoinCondition>
<joinField>Account</joinField>
<navigationSequenceNumber>1</navigationSequenceNumber>
<relatedJoinField>Account</relatedJoinField>
<relatedRecordAggregationObject>AccountContactrelationObject</relatedRecordAggregationObject>
<type>Intermediate</type>
</recordAggregationJoinCondition>
<recordAggregationObjectFilter>
<associatedObjectField>Type</associatedObjectField>
<operator>Equals</operator>
<value>Household</value>
<sequenceNumber>1</sequenceNumber>
</recordAggregationObjectFilter>
1484
RecordAggregationDefinitionMetadata Types
</recordAggregationObject>
<recordAggregationObject>
<associatedObject>AccountContactRelation</associatedObject>
<masterLabel>Account Contact Relation Object</masterLabel>
<developerName>AccountContactRelationObject</developerName>
<recordAggregationJoinCondition>
<joinField>Contact</joinField>
<navigationSequenceNumber>2</navigationSequenceNumber>
<relatedJoinField>Party</relatedJoinField>
<relatedRecordAggregationObject>PartyIncomeObject</relatedRecordAggregationObject>
<type>Intermediate</type>
</recordAggregationJoinCondition>
<recordAggregationObjectFilter>
<associatedObjectField>IsPrimaryMember</associatedObjectField>
<operator>Equals</operator>
<value>true</value>
<sequenceNumber>1</sequenceNumber>
</recordAggregationObjectFilter>
</recordAggregationObject>
<recordAggregationObject>
<associatedObject>PartyIncome</associatedObject>
<masterLabel>Party Income Object</masterLabel>
<developerName>PartyIncomeObject</developerName>
<filterLogic>1 AND 2</filterLogic>
<recordAggregationObjectFilter>
<associatedObjectField>IncomeFrequency</associatedObjectField>
<operator>Equals</operator>
<value>Monthly</value>
<sequenceNumber>1</sequenceNumber>
</recordAggregationObjectFilter>
<recordAggregationObjectFilter>
<associatedObjectField>IncomeStatus</associatedObjectField>
<operator>Equals</operator>
<value>Active</value>
<sequenceNumber>2</sequenceNumber>
</recordAggregationObjectFilter>
</recordAggregationObject>
</RecordAggregationDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>RecordAggregationDefinition</name>
</types>
<version>60.0</version>
</Package>
1485
RecordAggregationDefinitionMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RecordAlertCategory
Represents a category to group and present record alerts.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
RecordAlertCategory components have the suffix recordAlertCategory and are stored in the recordAlertCategories
folder.
Version
RecordAlertCategory components are available in API version 54.0 and later.
Fields
DescriptionField Name
Field Type
string
description
Description
The description of the record alert category.
Field Type
string
masterLabel
Description
Required.
The user-interface name of the record alert category.
Field Type
string
severity
Description
Indicates the degree of impact that an alert in this category can have.
1486
RecordAlertCategoryMetadata Types
DescriptionField Name
Possible Education Cloud values are:
High
Low
Medium
Possible Financial Service Cloud values are:
Error
Info
Minor
Warning
Declarative Metadata Sample Definition
The following is an example of a RecordAlertCategory component.
<?xml version="1.0" encoding="UTF-8"?>
<RecordAlertCategory xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Tracks Financial Account Fraud Alerts</description>
<masterLabel>Fraud</masterLabel>
<severity>Error</severity>
</RecordAlertCategory>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Fraud</members>
<name>RecordAlertCategory</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RegisteredExternalService
Represents a registered external service, which provides an extension or integration.
1487
RegisteredExternalServiceMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
RegisteredExternalService components have the suffix .registeredExternalService and are stored in the
registeredExternalServices folder.
Version
RegisteredExternalService components are available in API version 49.0 and later.
Special Access Rules
This metadata type is available only if the B2B Commerce or D2C Commerce license is enabled.
Fields
DescriptionField Name
Field Type
string
configUrl
Description
Link to the configuration page for the integration.
Field Type
string
description
Description
Description of the external service provider.
This field is available in API version 59.0 and later.
Field Type
string
documentationUrl
Description
Link to documentation for the registered external service.
Field Type
ExtensionPointName (enumeration of type string)
extensionPointName
Description
This field is available in API version 55.0 and later. Name of an extension point.
Possible values are:
Commerce_Domain_Cart_Calculate
Commerce_Domain_Checkout_CreateOrder
1488
RegisteredExternalServiceMetadata Types
DescriptionField Name
Commerce_Domain_Inventory_CartCalculator
Commerce_Domain_Inventory_Service
Commerce_Domain_OrderManagement_Product
Commerce_Domain_Pricing_CartCalculator
Commerce_Domain_Pricing_Service
Commerce_Domain_Promotions_CartCalculator
Commerce_Domain_Shipping_CartCalculator
Commerce_Domain_Shipping_SplitShipment
Commerce_Domain_Tax_CartCalculator
Commerce_Domain_Tax_Service
Commerce_Endpoint_Account_Address
Commerce_Endpoint_Account_Addresses
Commerce_Endpoint_Catalog_Product
Commerce_Endpoint_Catalog_Products
Commerce_Endpoint_Search_ProductSearch
Commerce_Endpoint_Search_Products
Commerce_Endpoint_Search_ProductsByCategory
Field Type
string
externalServiceProvider
Description
Required. The ID of an Apex class functioning as a provider. The Apex class can either
implement one of the following interfaces:
sfdc_checkout.CartInventoryValidation
sfdc_checkout.CartPriceCalculations
sfdc_checkout.CartShippingCharges
sfdc_checkout.CartTaxCalculations
or the Apex class can extend one of the base classes for an extension. See Available
Extensions.
Field Type
RegistryProviderType (enumeration of type string)
externalServiceProviderType
Description
Required. The type of external service provider. For an extension, you set the type to
Extension, and you specify an extensionPointName. For example, for a
Pricing Cart Calculator extension, you specify
Commerce_Domain_Pricing_CartCalculator as the
extensionPointName. For an integration, you set the type to one of the other
possible values, such as Price, and you omit extensionPointName.
Possible values are:
1489
RegisteredExternalServiceMetadata Types
DescriptionField Name
Extension (this value is available in API version 55.0 and later)
Inventory
Price
Promotions (this value is available in API version 53.0 and later)
Shipment
Tax
Field Type
string
iconUri
Description
URI of icon for the extension provider.
This field is available in API version 59.0 and later.
Field Type
boolean
isApplication
Description
Indicates if the extension provider is contained within a managed package.
The default value is false.
This field is available in API version 59.0 and later.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
The default value is false.
Field Type
string
masterLabel
Description
Required. The primary label for the RegisteredExternalService.
Declarative Metadata Sample Definition
The following is an example of a RegisteredExternalService component.
<?xml version="1.0" encoding="UTF-8"?>
<RegisteredExternalService xmlns="http://soap.sforce.com/2006/04/metadata">
<externalServiceProvider>TaxSample</externalServiceProvider>
<externalServiceProviderType>Tax</externalServiceProviderType>
<documentationUrl>http://sample.com/doc</documentationUrl>
<configUrl>http://sample.com/config</configUrl>
<masterLabel>TaxService</masterLabel>
1490
RegisteredExternalServiceMetadata Types
<isProtected>false</isProtected>
</RegisteredExternalService>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>TaxSample</members>
<name>ApexClass</name>
</types>
<types>
<members>TaxService</members>
<name>RegisteredExternalService</name>
</types>
<version>60.0</version>
</Package>
ReferencedDashboard
Represents the ReferencedDashboard object in CRM Analytics. A referenced dashboard stores information about an externally referenced
dashboard.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ReferencedDashboard components have the suffix .refdash and are stored in the wave folder.
Version
ReferencedDashboard components are available in API version 57.0 and later.
Special Access Rules
To view referenced dashboards, you need the Enables Tableau Dashboards in CRM Analytics permission.
Fields
DescriptionField TypeField Name
Required. The internal name of the Analytics app.stringapplication
The dashboard description that appears in the user interface.stringdescription
1491
ReferencedDashboardMetadata Types
DescriptionField TypeField Name
Required. The URL to the referenced dashboard.stringembedUrl
Required. The dashboard name that appears in the user interface.stringmasterLabel
Links the dashboard to the template used to create it. Null for assets not
created from a template.
stringtemplateAssetSourceName
The visibility of the dashboard. Valid values are: ALL and LIMITED.stringvisibility
Declarative Metadata Sample Definition
The following is an example of a WaveDashboard component.
<?xml version="1.0" encoding="UTF-8"?>
<ReferencedDashboard xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<application>my_app</application>
<masterLabel>ReferencedDashboard1</masterLabel>
<description>My Tableau Dashboard</description>
<embedUrl>https://public.tableau.com/views/Superstore_24/Overview</embedUrl>
<visibility>ALL</visibility>
</ReferencedDashboard>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RelatedRecordAssocCriteria
Represents criteria for automatically linking records like accounts, leads, opportunities, and cases with the branches that work with them.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
RelatedRecordAssocCriteria components have the suffix .relatedRecordAssocCriteria and are stored in the
relatedRecordAssocCriteria folder.
Version
RelatedRecordAssocCriteria components are available in API version 52.0 and later.
1492
RelatedRecordAssocCriteriaMetadata Types
Special Access Rules
To use this object, you must have the Financial Services Cloud Extension permission set.
Fields
DescriptionField Name
Field Type
string
associationHandlerApexClass
Description
The name of a custom Apex class that handles the creation of association records for
specific association criteria. This class must:
Apply to an object that the Record Association Builder doesn't directly support
Implement the fscwmgen.BranchManagement
AssociationHandler interface
Return a list of Branch Unit Related Records
Populate at least the minimum required fields in each Branch Unit Related Record:
BranchUnitId: Represents the current branch unit of the user or contact
BusinessUnitMemberId: The Banker ID of the user or contact
RelatedRecordId: The ID of the custom object to be related
This field is a relationship field.
Field Type
AssociationType (enumeration of type string)
associationType
Description
Required.
The association type. Values are:
BranchManagement
Field Type
string
description
Description
A description of the association criteria.
Field Type
AssociationEventType (enumeration of type string)
eventType
Description
Required.
The type of reference object event that triggers creation of the association. Values are:
Create
1493
RelatedRecordAssocCriteriaMetadata Types
DescriptionField Name
Update
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default value is false.
Field Type
string
masterLabel
Description
Required.
The master label of the association criteria. This internal label doesnt get translated.
Field Type
string
preCondition
Description
Required.
A formula that, when true, causes a new association to be created.
Field Type
string
referenceObject
Description
Required.
The reference object for the association criteria.
Field Type
string
selectedOwnerField
Description
A field to use instead of the default Owner ID.
Field Type
AssociationStatusType (enumeration of type string)
status
Description
Required.
The status of the association criteria. Values are:
Active
Draft
Inactive
1494
RelatedRecordAssocCriteriaMetadata Types
Declarative Metadata Sample Definition
The following is an example of a RelatedRecordAssocCriteria component.
<?xml version="1.0" encoding="UTF-8"?>
<RelatedRecordAssocCriteria xmlns="http://soap.sforce.com/2006/04/metadata">
<associationType>BranchManagement</associationType>
<eventType>Create</eventType>
<masterLabel>RevenueThreeMillion</masterLabel>
<preCondition>[Account].AnnualRevenue > 3000000</preCondition>
<referenceObject>Account</referenceObject>
<status>Active</status>
</RelatedRecordAssocCriteria>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>RelatedRecordAssocCriteria</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RelationshipGraphDefinition
Represents a definition of a graph that you can configure in your organization to traverse object hierarchies and record details, giving
you a glimpse of how your business works.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
RelationshipGraphDefinition components have the suffix .relationshipGraphDefinition and are stored in the
relationshipGraphDefinitions folder.
Version
RelationshipGraphDefinition components are available in API version 55.0 and later.
1495
RelationshipGraphDefinitionMetadata Types
Special Access Rules
The Financial Services Cloud permission set license is required to access this object.
Fields
DescriptionField Name
Field Type
boolean
isActive
Description
Required.
Indicates whether the relationship graph is available for use (true) or not
(false). The default value is true.
Note: This field is read-only in API version 55.0.
Field Type
boolean
isTemplate
Description
Required.
Indicates whether you can configure this relationship graph as a template (true
or not false). The default value is false. In the UI, this field is Set as Template.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for RelationshipGraphDefinition, which is defined when the
RelationshipGraphDefinition is created. In the UI, this field is Label.
Field Type
RelationshipGraphDefVersion[]
relationshipGraphDefVersions
Description
Represents a list of graph versions associated with the relationship graph definition.
RelationshipGraphDefVersion
The list of graph versions associated with the relationship graph definition.
1496
RelationshipGraphDefinitionMetadata Types
DescriptionField Name
Field Type
string
graphDefinition
Description
Required.
Specifies a set of properties required to create a relationship graph, such as parent node,
child relationships, filter and sort fields, and graph UI elements.
Field Type
string
graphType
Description
Required.
Specifies the type of graph. In API version 55.0, only HorizontalHierarchy graph
type is supported.
Declarative Metadata Sample Definition
The following is an example of a RelationshipGraphDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<RelationshipGraphDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<isActive>false</isActive>
<isTemplate>true</isTemplate>
<masterLabel>Account Graph</masterLabel>
<relationshipGraphDefVersions>
<graphDefinition>{
"graph" : {
"rootNode" : {
"object" : {
"entity" : "Account"
},
"configurationType" : "Primary",
"sortFields" : [ {
"field" : {
"field" : "LastModifiedDate",
"whichEntity" : "TARGET"
},
"order" : "DESC"
} ],
"nodeUiConfig" : {
"fieldsToDisplay" : [ ],
"showFieldLabels" : true,
"actions" : { }
},
"childRelationships" : [ {
"OneToMany" : {
"targetObjectNode" : {
1497
RelationshipGraphDefinitionMetadata Types
"object" : {
"entity" : "Contact"
},
"configurationType" :"Custom",
"sortFields" : [ {
"field" : {
"field" : "LastModifiedDate",
"whichEntity" : "TARGET"
},
"order" : "DESC"
} ],
"nodeUiConfig" : {
"fieldsToDisplay" : [ {
"field" : "Name",
"whichEntity" : "TARGET"
}, {
"field" : "Phone",
"whichEntity" :"TARGET"
} ],
"showFieldLabels" : true,
"actions" : {
"containerActions" : [ {
"action" : "New"
} ],
"recordActions" : [ {
"action" : "Edit"
}, {
"action" : "Delete"
} ]
}
},
"childRelationships" : [ ]
},
"relationshipUiConfig" : { },
"filter" : {
"filterCriteria" : [ {
"field" : {
"field" : "Name",
"whichEntity" : "TARGET"
},
"operator" : "eq",
"value" : "Salesforce"
} ],
"booleanFilter" : "1"
},
"targetObjectField" : {
"field" : "AccountId",
"whichEntity" : "TARGET"
}
}
} ]
},
"globalUiConfig" : {
"borderColor" : "Green2",
1498
RelationshipGraphDefinitionMetadata Types
"borderThickness" : "2px";,
"colorShading" : "Black",
"fieldLayout" : "Vertically Stacked",
"recordContainerExpansion" : true,
"recordExpansion" : true
}
}
}</graphDefinition>
<graphType>HorizontalHierarchy</graphType>
</relationshipGraphDefVersions>
</RelationshipGraphDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Package1</fullName>
<types>
<members>*</members>
<name>RelationshipGraphDefinition</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RemoteSiteSetting
Represents a remote site setting. Before any Visualforce page, Apex callout, or JavaScript code using XmlHttpRequest in an s-control or
custom button can call an external site, that site must be registered in the Remote Site Settings page, or the call fails.
RemoteSiteSetting on page 1499 extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
RemoteSiteSetting on page 1499 components are stored in the remoteSiteSettings directory of the corresponding package
directory. The file name matches the unique name of the remote site setting, and the extension is .remoteSite.
Version
RemoteSiteSetting on page 1499 components are available in API version 19.0 and later.
1499
RemoteSiteSettingMetadata Types
Fields
DescriptionField TypeField
The description explaining what this remote site setting is used
for.
stringdescription
Required. Indicates whether code within Salesforce can access
the remote site regardless of whether the user's connection is
booleandisableProtocolSecurity
over HTTP or HTTPS (true) or not (false). When true, code
within Salesforce can pass data from an HTTPS session to an
HTTP session, and vice versa.
Only set to true if you understand the security implications.
The name can only contain characters, letters, and the
underscore (_) character. The name must start with a letter, and
stringfullName
cant end with an underscore or contain two consecutive
underscore characters.
Inherited from the Metadata component, this field isnt defined
in the WSDL for this component. It must be specified when
creating, updating, or deleting. See create() to see an example
of this field specified for a call.
Required. Indicates if the remote site setting is active (true) or
not (false).
booleanisActive
Required. The URL for the remote site.stringurl
Declarative Metadata Sample Definition
A sample XML definition of a remote site setting is shown in this code block.
<?xml version="1.0" encoding="UTF-8"?>
<RemoteSiteSetting xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Used for Apex callout to mapping web service</description>
<disableProtocolSecurity>false</disableProtocolSecurity>
<isActive>true</isActive>
<url>https://www.maptestsite.net/mapping1</url>
</RemoteSiteSetting>
Report
Represents a custom report. This metadata type only supports custom reports; standard reports arent supported.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
1500
ReportMetadata Types
Declarative Metadata File Suffix and Directory Location
Reports are stored in the reports directory of the package directory. The file name consists of the report title with the extension
.report.
Retrieving Reports
You cant use the wildcard (*) symbol with reports in package.xml.
To retrieve the list of explicit report names to populate package.xml with, first call listMetadata(ListMetadataQuery[])
with a ListMetadataQuery entry with the type field set to ReportFolder and the folder field to * (wildcard). This
call returns an array of FileProperties objects with the names of report folders in the fullName field.
Now call listMetadata with ListMetadataQuery entries where the type field is Report and the folder fields are the
full name values from the first listMetadata call. These calls return FileProperties objects where the fullName field is
the combination of the folder name and report name. Use these values in the package.xml to designate the members for the Report
metadata type.
ReportFolder isnt returned as a type in describeMetadata(). Report is returned from describeMetadata() with an
associated attribute of inFolder set to true. If that attribute is set to true, you can construct the type by using the component name
with the word Folder, such as ReportFolder.
The following example shows folders in package.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyDBFolder/MyDBName</members>
<name>Dashboard</name>
</types>
<types>
<members>MyDocumentFolder/MyDocumentName</members>
<name>Document</name>
</types>
<types>
<members>unfiled$public/MarketingProductInquiryResponse</members>
<members>unfiled$public/SalesNewCustomerEmail</members>
<name>EmailTemplate</name>
</types>
<types>
<members>MyReportFolder/MyReportName</members>
<name>Report</name>
</types>
<version>61.0</version>
</Package>
Version
Report components are available in API version 14.0 and later.
1501
ReportMetadata Types
Fields
The following information assumes that youre familiar with creating and running reports. For more information on these fields, see Build
a Report in Salesforce Help.
DescriptionField TypeField
List that defines custom summary formulas for
summary, matrix, and joined reports.
ReportAggregate[]aggregates
Represents each block in a joined report where
every block can be of a different report type.
Report[]block
Defines attributes for each block in a joined
report.
ReportBlockInfoblockInfo
Defines a bucket field to be used in the report.
This field is available in API version 24.0 and later.
ReportBucketField[]buckets
Defines a chart for summary and matrix reports.ReportChartchart
List that specifies conditional highlighting for
report summary data. Salesforce Classic only.
ReportColorRange[]colorRanges
List that specifies the fields displayed in the
report. Fields appear in the report in the same
order as they appear in the Metadata API file.
ReportColumn[]columns
Defines a cross filter's object, related object, and
condition (WITH or WITHOUT). This field is
available in API version 61.0 and later.
ReportCrossFilter[]crossFilters
When using multiple currencies, some reports
allow you to display converted amounts by
CurrencyIsoCode (enumeration of type
string)
currency
selecting the appropriate column to display. For
example, in opportunity reports, you can include
the Amount (converted) column on the report.
This field is an enumeration of type string that
defines the currency in which to display
converted amounts. Valid values: Must be one
of the valid alphabetic, three-letter currency ISO
codes defined by the ISO 4217 standard, such
as USD, GBPSLE, or JPY.
Specifies a filter according to the data category.stringdataCategoryFilters
Specifies a general description, which is
displayed with the report name. Maximum
characters: 255 characters.
stringdescription
If your organization uses divisions to segment
data and the Affected by Divisions permission
stringdivision
is enabled, records in the report must match this
division.
1502
ReportMetadata Types
DescriptionField TypeField
This field is available in API version 17.0 and later.
Limits report results to records with specific data.
For example, you can limit report results to
ReportFilterfilter
opportunities for which the amount is greater
than $1,000:
<filter>
<criteriaItems>
<column>AMOUNT</column>
<operator>greaterThan</operator>
<value>1000</value>
</criteriaItems>
</filter>
Name of the folder that houses the report.
This field is available in API version 35.0 and later.
stringfolderName
Defines the report format. For example,
Tabular for a simple data list without
subtotals.
ReportFormat (enumeration of type string)format
List that specifies conditional highlighting for
report data. Lightning Experience only.
ReportFormattingRule[] (enumeration of type
string)
formattingRules
List that defines the fields by which you want to
group and subtotal data across a matrix report
ReportGrouping[]groupingsAcross
(row headings). When grouping by a date field,
you can further group the data by a specific time
period such as days, weeks, or months.
Maximum: 2 fields.
For Summary and Matrix reports: List that defines
the fields by which you want to group and
ReportGrouping[]groupingsDown
subtotal. For summary reports, choosing more
than one sort field allows you to subsort your
data. For matrix reports, specifies summary fields
for column headings. When grouping by a date
field, you can further group the data by a specific
time period such as days, weeks, or months.
Maximum for matrix reports: 2. Maximum for
summary reports: 3
Defines a date range for which historical trend
reporting data is to be captured. Default is Any
Historical Date.
Available in API version 29.0 and later.
ReportHistoricalSelectorhistoricalSelector
1503
ReportMetadata Types
DescriptionField TypeField
Required. The report name. For example,
Opportunity Pipeline
stringname
Indicates whether a user has subscribed to this
report Lightning Experience (1) or not (0). Tied
to user context.
This field is available in API version 38.0 and later.
intnumSubscriptions
List that specifies settings specific to each report
type, in particular options that let you filter a
ReportParam[]params
report to obtain useful subsets. For example, the
Activities report type lets you specify whether
you want to see open or closed activities or both
and whether you want to see tasks or events or
both. Valid values depend on the report type.
Allows you to apply row-level formulas to
reports.
CustomDetailFormulasreportCustomDetailFormula
Required. Defines the type of data in the report.
For example, Opportunity to create a report
of opportunities data.
stringreportType
Defines the API Name for the report type.
This field is available in API version 48.0 and later.
stringreportTypeApiName
The role name for a report drill down. Some
reports, such as opportunity and activity reports,
stringroleHierarchyFilter
display Hierarchy links that allow you to drill
down to different datasets based on the role
hierarchy.
This field is available in API version 17.0 and later.
Defines the maximum number of rows that can
be returned for the report.
introwLimit
Defines the scope of data on which you run the
report. For example, whether you want to run
stringscope
the report against all opportunities,
opportunities you own, or opportunities your
team owns. Valid values depend on the
reportType. For example, for Accounts
reports:
MyAccounts
MyTeamsAccounts
AllAccounts
1504
ReportMetadata Types
DescriptionField TypeField
Can be set to true for historical trending
reports in matrix format.
Available in API version 29.0 and later.
booleanshowCurrentDate
false shows a collapsed view of the report
with only the headings, subtotals, and total.
Default: true
booleanshowDetails
true displays the calculated total for the full
report.
booleanshowGrandTotal
true displays the calculated subtotals for
sections of the report.
booleanshowSubTotals
Specifies the field on which to sort data in the
report. Use sortOrder to specify the sort
order.
stringsortColumn
Specifies the sort order. Use sortColumn to
specify the field on which to sort.
SortOrder (enumeration of type string)sortOrder
The territory name for a report drill down. If your
organization uses territory management, some
stringterritoryHierarchyFilter
reports display Hierarchy links that allow you to
drill down to different datasets based on the
territory hierarchy.
This field is available in API version 17.0 and later.
Limits report results to records within a specified
time frame.
ReportTimeFrameFiltertimeFrameFilter
The username for a report drill down. Some
reports, such as opportunity and activity reports,
stringuserFilter
display Hierarchy links that allow you to drill
down to different datasets based on the user
hierarchy.
This field is available in API version 17.0 and later.
ReportAggregate
ReportAggregate defines custom summary formulas on summary, matrix, and joined reports. For more information on these fields, see
Add a Summary Formula Column to a Report in Salesforce Help.
DescriptionField TypeField
Defines the row grouping level at which you want your custom
summary formula to be displayed. This field is available in API
version 15.0.
stringacrossGroupingContext
1505
ReportMetadata Types
DescriptionField TypeField
Required. The custom summary formula. For example,
AMOUNT:SUM + OPP_QUANTITY:SUM
stringcalculatedFormula
Required. Specifies the data type for formatting and display of
the custom summary formula results.
ReportAggregateDatatype
(enumeration of type string)
datatype
The custom summary formula description. Maximum: 255
characters.
stringdescription
Required. The internal development name of the custom
summary formula, for example, FORMULA1. This name is used
stringdeveloperName
to reference custom summary formulas from other report
components, including conditional highlighting.
Defines the column grouping level at which you want your
custom summary formula to be displayed. This field is available
in API version 15.0 and later.
stringdownGroupingContext
Required. true displays the formula result in the report.
false doesnt display the result in the report.
booleanisActive
Determines whether the custom summary formula is a
cross-block formula, which is available with joined reports.
booleanisCrossBlock
true indicates a cross-block custom summary formula.
false indicates a standard custom summary formula.
This field is available in API version 25.0 and later.
Required. The custom summary formula label (name).stringmasterLabel
Required for joined reports. Specifies the reportType of the
blocks to which the aggregate can be added.
stringreportType
The formula result is calculated to the specified number of
decimal places. Valid values 0 through 18.
intscale
ReportBlockInfo
ReportBlockInfo defines blocks in a joined report.
DescriptionField TypeField
Lists the aggregates that represent the custom summary
formulas used in a joined report block.
ReportAggregateReference[]aggregateReferences
Required. blockId is used in cross-block custom summary
formulas and joined report charts to identify the block containing
stringblockId
each summary field. blockId is assigned automatically. Valid
values are B1 through B5.
This field is available in API version 25.0 and later.
1506
ReportMetadata Types
DescriptionField TypeField
Required. Refers to the entity used to join blocks in a joined
report. The entity provides a list of fields that are available for
globally grouping across the blocks.
stringjoinTable
ReportAggregateReference
ReportAggregateReference defines the developer name used for custom summary formulas in joined reports.
DescriptionField TypeField
Required. The developerName of the ReportAggregate,
which specifies the custom summary formula used in a block
of a joined report.
stringaggregate
ReportBucketField
ReportBucketField defines a bucket to be used in the report.
DescriptionField TypeField
Required. Specifies the type of bucket. Valid values:ReportBucketFieldType
(enumeration of type string)
bucketType
text
number
picklist
Required. A unique name used as the <field> value to
display a bucket field in the column list and other report
stringdeveloperName
components, including sort, filter, list, group, and chart. Must
be of the format BucketField_name. For example,
BucketField_BusinessSize.
Required. The bucket field label. Maximum 40 characters. Any
line breaks, tabs, or multiple spaces at the beginning or end of
stringmasterLabel
the label are removed. Any of these characters within the label
are reduced to a single space.
For numeric bucket fields only. Specifies whether empty values
are treated as zeros (z) or not (n).
ReportBucketFieldNullTreatment
(enumeration of type string)
nullTreatment
The label of the container for unbucketed values.stringotherBucketLabel
Required. The source field that the bucket is applied to. For
example, SALES or INDUSTRY.
stringsourceColumnName
Defines one bucket value used in the bucket field.
While this name is plural, it represents a single bucket. In typical
use, a bucket field contains multiple buckets.
ReportBucketFieldValue
(enumeration of type string)
values
1507
ReportMetadata Types
ReportBucketFieldValue
ReportBucketFieldValue defines a bucket value used in the bucket field.
DescriptionField TypeField
The value of a bucket in the bucket field. Valid values:ReportBucketFieldSourceValue
(enumeration of type string)
sourceValues
sourceValueUsed for picklist and text bucket fields.
For picklists, describes the picklist item in the bucket. For
example, the sourceValue of a bucket on TYPE could be
Customer. For text, the full string for the item in the
bucket. For example, the sourceValue of a bucket on
ADDRESS_STATE1 could be NY.
fromUsed only on numeric bucket fields. A non-inclusive
lower bound for a numeric bucket range. This value must
be a number.
toUsed only on numeric bucket fields. The inclusive
upper bound for a numeric bucket range. This value must
be a number.
In numeric buckets, the first value must only have to and last
value must only have from. All other values must have both
to and from.
Required. The name of a specific bucket value within the bucket
field.
stringvalue
ReportGrouping
ReportGrouping defines how to group, subtotal, and sort data for summary, matrix, and joined reports.
DescriptionField TypeField
The type of aggregate value to sort by. Valid values are:ReportAggrType (enumeration
of type string)
aggregateType
Sum
Average
Maximum
Minimum
RowCount
Unique
When grouping by a date field, the time period by which to
group.
UserDateGranularity
(enumeration of type string)
dateGranularity
Required. The field by which you want to summarize data. For
example, CAMPAIGN_SOURCE
stringfield
1508
ReportMetadata Types
DescriptionField TypeField
The API name of the column, aggregate, or custom summary
field used to order the grouping.
stringsortByName
Required. Whether to sort data in ascending or descending
alphabetical and numerical order.
SortOrdersortOrder
Indicates if the grouping is sorted by a column, aggregate, or
custom summary field. Valid values are:
ReportSortType (enumeration
of type string)
sortType
Column
Aggregate
CustomSummaryFormula
ReportHistoricalSelector
ReportHistoricalSelector defines a date range for historical data.
DescriptionField TypeField
Represents the date value to apply a historical filter, either
relative (in the format N_DAYS_AGO:2) or absolute (in the
stringsnapshot
format yyyy-MM-dd). If unspecified, its assumed that the
filter is applied to all the columns the user sees.
Available in API version 29.0 and later.
CustomDetailFormulas
CustomDetailFormulas defines row-level formulas for reports.
DescriptionField TypeField
Required. The custom formula. For example, AMOUNT:SUM
+ OPP_QUANTITY:SUM
stringcalculatedFormula
Required. Specifies the data type for formatting and display of
the formula results.
ReportCustomDetailFormulaDatatype
(enumeration of type string)
datatype
The formula description. Maximum: 255 characters.stringdescription
Required. The internal development name of the formula, for
example, FORMULA1. This name is used to reference custom
stringdeveloperName
formulas from other report components, including conditional
highlighting.
Required. The name that identifies this formula.stringlabel
The formula result is calculated to the specified number of
decimal places. Valid values 0 through 18.
intscale
1509
ReportMetadata Types
ReportCustomDetailFormulaDatatype
An enumeration of type string that specifies the data type for formatting and display of row-level formula results. Valid values:
Enumeration Value
Double
DateOnly
DateTime
Text
SortOrder
An enumeration of type string that defines the order in which data is sorted in the report fields. Valid values:
DescriptionField
Sorts data in ascending alphabetical and numerical order.Asc
Sorts data in descending alphabetical and numerical order.Desc
UserDateGranularity
An enumeration of type string that defines the time period by which to group data. Valid values:
DescriptionEnumeration Value
No grouping by dateNone
By dayDay
By weekWeek
By monthMonth
By quarterQuarter
By yearYear
By fiscal quarter. You can set the fiscal year for your organization. See Set the Fiscal Year in
Salesforce Help.
FiscalQuarter
By fiscal yearFiscalYear
By calendar month in yearMonthInYear
By calendar day in monthDayInMonth
When custom fiscal years are enabled: By fiscal periodFiscalPeriod
When custom fiscal years are enabled: By fiscal weekFiscalWeek
1510
ReportMetadata Types
ReportSummaryType
An enumeration of type string that defines how report fields are summarized. Valid values:
DescriptionEnumeration Value
TotalSum
AverageAverage
Largest valueMaximum
Smallest valueMinimum
Unique valuesUnique
The field isnt summarized.None
ReportColorRange
ReportColorRange defines conditional highlighting for report summary data.
DescriptionField TypeField
Required. Defines how the field specified in columnName is
summarized. For example, Sum.
ReportSummaryType
(enumeration of type string)
aggregate
Required. Specifies the field whose value ranges are represented
by background colors.
stringcolumnName
Required. Specifies the number that separates the mid color
from the high color.
doublehighBreakpoint
Required. Specifies the color (in HTML format) to represent data
that falls into the high number range. This color spans from the
highBreakpoint value.
stringhighColor
Required. Specifies the number that separates the low color
from the mid color.
doublelowBreakpoint
Required. Specifies a color (in HTML format) to represent data
that falls into the low value range, below the
lowBreakpoint value.
stringlowColor
Required. Specifies a color (in HTML format) to represent data
that falls into the mid value range.
stringmidColor
ReportColumn
ReportColumn defines how fields (columns) are displayed in the report.
1511
ReportMetadata Types
DescriptionField TypeField
List that defines if and how each report field is summarized.ReportSummaryType[]
(enumeration of type string)
aggregateTypes
Required. The field name. For example, AGE or
OPPORTUNITY_NAME
stringfield
In historical trend reports, displays greater Date values as green
and greater Amount values as red, reversing the default colors.
Available in API version 29.0 and later.
booleanreverseColors
In historical trend reports, adds a column displaying the
difference between current and historical Date and Amount
values.
Available in API version 29.0 and later.
booleanshowChanges
ReportFilter
ReportFilter limits the report results by filtering data on specified fields.
DescriptionField TypeField
Specifies filter logic conditions.stringbooleanFilter
The criteria by which you want to filter report data, either by
comparing historical values or by applying a date range.
<criteriaItems>
criteriaItems ReportFilterItem
ReportFilterItemcriteriaItems
<column>Opportunity.Opportunity__hd$Amount__hst</column>
<columnToColumn>false</columnToColumn>
<operator>equals</operator>
<snapshot>N_DAYS_AGO:90</snapshot>
<value>100</value>
</criteriaItems>
The language used when a report filters against a picklist value
using the operators contains or startsWith. For a list
of valid language values, see Language.
Language (enumeration of type
string)
language
ReportFilterItem
ReportFilterItem limits the report results by filtering data on specified fields.
1512
ReportMetadata Types
DescriptionField TypeField
Required. The field in which to filter data. For example, AMOUNTstringcolumn
Indicates whether the filter is a column-to-column (field-to-field)
filter.
booleancolumnToColumn
Available in API version 29.0 and later for historical trending
reports. Available in API version 48.0 and later for general reports.
Optional. Indicates whether the report filter is unlocked (true)
or locked (false). You can edit unlocked filters on the report
booleanisUnlocked
run page in Lightning Experience. If unspecified, the default
value is false.
Available in API version 38.0 and later.
Required. An enumeration of type string that defines the
operator used to filter the data, for example, greaterThan.
Valid values are:
FilterOperation (enumeration of
type string)
operator
equals
notEqual
lessThan
greaterThan
lessOrEqual
greaterOrEqual
contains
notContain
startsWith
includes
excludes
within (DISTANCE criteria only)
Represents the date value, either relative (in the format
N_DAYS_AGO:2) or absolute (in the format yyyy-MM-dd).
Available in API version 29.0 and later.
stringsnapshot
The value by which you want to filter the data, for example,
1000. The Metadata API filter condition values dont always
stringvalue
match the values that you enter in the report wizard. For
example, in the Metadata API dates are always converted to the
US date format and values entered in a non-US English language
can be converted to a standard US English equivalent.
ReportFormat
An enumeration of type string that defines the report format. Valid values:
1513
ReportMetadata Types
DescriptionEnumeration Value
Summarizes data in a grid. Use to compare related totals.Matrix
Lists, sorts, and subtotals data.Summary
Lists data with no sorting or subtotals.Tabular
Joins data from different report types storing each reports data in its own block.Joined
ReportFormattingRule
Defines conditional highlighting for report summary data. You can specify up to 5 formatting rules per report.
DescriptionField TypeField
Defines how the field specified in columnName is
summarized. For example, Sum.
ReportFormattingSummaryType
(enumeration of type string)
aggregate
Required. Specifies the field whose value ranges are represented
by colors.
stringcolumnName
Required. Specifies the background colors and associated ranges
for formatted data values.
ReportFormattingRuleValue
(enumeration of type string)
values
ReportFormattingSummaryType
An enumeration of type string that defines how report fields are summarized. Valid values:
DescriptionEnumeration Value
TotalSum
AverageAverage
Largest valueMaximum
Smallest valueMinimum
Unique valuesUnique
ReportFormattingRuleValue
Specifies the background colors and associated ranges for formatted data values. You can specify up to 3 background colors and 03
range upper bounds. Valid values:
DescriptionField TypeField
(Required) Specifies a highlighting color for the field in
columnName. Must be a valid hex color string such as
stringbackgroundColor
#54C254. At least one color is required. You can optionally specify
1514
ReportMetadata Types
DescriptionField TypeField
a different color for up to 3 ranges as determined by
rangeUpperBound. If you dont specify a color for a
particular range, the background is transparent.
Delineates a range to which a background color applies. If you
dont specify an upper bound for a particular range, the bound
doublerangeUpperBound
is assumed to be plus infinity. The following example sets the
background color for the Sales column to #B50E03 for aggregate
sales less than or equal to 100, sets no background for sales from
100 to 1000, and sets the background color to #006714 for sales
greater than 1000.
<formattingRules>
<aggregate>Sum</aggregate>
<columnName>Sales</columnName>
<values>
<backgroundColor>#B50E03</backgroundColor>
<rangeUpperBound>100.0</rangeUpperBound>
</values>
<values>
<rangeUpperBound>1000.0</rangeUpperBound>
</values>
<values>
<backgroundColor>#006714</backgroundColor>
</values>
</formattingRules>
ReportParam
ReportParam represents settings specific to a report type, especially options that let you filter a report to certain useful subsets.
DescriptionField TypeField
Required. Specifies a specific reportType setting.stringname
Required. The setting value.stringvalue
ReportAggregateDatatype
An enumeration of type string that specifies the data type for formatting and display of custom summary formula results. Valid values:
1515
ReportMetadata Types
Enumeration Value
currency
number
percent
ReportChart
ReportChart represents charts on summary, matrix, and joined reports.
DescriptionField TypeField
Specifies the beginning color (in HTML format) for a gradient
color background.
stringbackgroundColor1
Specifies the end color (in HTML format) for a gradient color
background.
stringbackgroundColor2
Specifies the direction for a gradient color background. Use with
backgroundColor1 to specify the beginning color and
ChartBackgroundDirection
(enumeration of type string)
backgroundFadeDir
backgroundColor2 to specify the end color for the
gradient design. Use white for both if you dont want a
background design. Valid values:
Diagonal
LeftToRight
TopToBottom
Specifies the summaries you want to use for the chart. Invalid
summaries are ignored without notification. If there are no valid
ChartSummary[]chartSummaries
summaries, RowCount is used by default for the axis value. This
field is available in API version 17.0 and later.
Required. Specifies the chart type. Available chart types depend
on the report type.
ChartType (enumeration of type
string)
chartType
Specifies whether to display values, labels, and percentages
when hovering over charts. Hover details depend on chart type.
booleanenableHoverLabels
Percentages apply to pie, donut, and funnel charts only. This
field is available in API version 17.0 and later.
Specifies whether to combine all groups less than or equal to
3% of the total into a single 'Others' wedge or segment. Only
booleanexpandOthers
applies to pie, donut, and funnel charts. Set to true to show
all values individually on the chart; set to false to combine
small groups into 'Others.' This field is available in API version
17.0 and later.
1516
ReportMetadata Types
DescriptionField TypeField
Specifies the field by which to group data. This data is displayed
on the X-axis for vertical column charts and on the Y-axis for
horizontal bar charts.
stringgroupingColumn
Required.
The location of the legend with respect to the chart. The valid
values are:
ChartLegendPosition
(enumeration of type string)
legendPosition
Bottom
OnChart
Right
Required. Specifies whether the chart is displayed at the top or
bottom of the report.
ChartPosition (enumeration of
type string)
location
For grouped chart types: Specifies the field by which to group
the data.
stringsecondaryGroupingColumn
For bar and line charts: Specifies whether the chart displays
names for each axis.
booleanshowAxisLabels
Indicates if percentages are displayed for wedges and segments
of pie, donut, and funnel charts, as well as for gauges (true),
or not (false).
booleanshowPercentage
Indicates if the total is displayed for donut charts and gauges
(true), or not (false).
booleanshowTotal
Indicates if the values of individual records or groups are
displayed for charts (true), or not (false).
booleanshowValues
Required. Specifies the chart size.ReportChartSize (enumeration
of type string)
size
Defines how to summarize the chart data. For example, Sum.
No longer supported in version API 17.0 and later. See
chartSummaries.
ReportSummaryType
(enumeration of type string)
summaryAggregate
When specifying the axis range manually: Defines the ending
value.
doublesummaryAxisManualRangeEnd
When specifying the axis range manually: Defines the starting
value.
doublesummaryAxisManualRangeStart
Required. For bar, line, and column charts: Defines whether to
specify the axis range manually or automatically.
ChartRangeType (enumeration
of type string)
summaryAxisRange
Required. Specifies the field by which to summarize the chart
data. Typically this field is displayed on the Y-axis. No longer
stringsummaryColumn
supported in version API 17.0 and later. See
chartSummaries.
The color (in HTML format) of the chart text and labels.stringtextColor
1517
ReportMetadata Types
DescriptionField TypeField
The size of the chart text and labels. Valid values:inttextSize
8
9
10
12
14
18
24
36
The maximum size is 18. Larger values are shown at 18 points.
The chart title. Max 255 characters.stringtitle
The color (in HTML format) of the title text.stringtitleColor
The size of the title text. Valid values:inttitleSize
8
9
10
12
14
18
24
36
The maximum size is 18. Larger values are shown at 18 points.
ChartType
An enumeration of type string that defines the chart type. For information on each of these chart types, see Chart Types in Salesforce
Help. Valid values:
Enumeration Value
None
HorizontalBar
HorizontalBarGrouped
HorizontalBarStacked
HorizontalBarStackedTo100
VerticalColumn
1518
ReportMetadata Types
Enumeration Value
VerticalColumnGrouped
VerticalColumnStacked
VerticalColumnStackedTo100
Line
LineGrouped
LineCumulative
LineCumulativeGrouped
Pie
Donut
Funnel
Scatter
ScatterGrouped
VerticalColumnLine
VerticalColumnGroupedLine
VerticalColumnStackedLine
Plugin
Reserved for future use. This value is available in API version 31.0 and later.
ChartPosition
An enumeration of type string that specifies the position of the chart in the report. Valid values:
Enumeration Value
CHART_TOP
CHART_BOTTOM
ChartSummary
ChartSummary defines how data in the chart is summarized. Valid values:
DescriptionField TypeField
Specifies the aggregation methodsuch as Sum, Average,
Min, and Maxfor the summary value. Use the column
ReportSummaryTypeaggregate
field to specify the summary value to use for the aggregation.
1519
ReportMetadata Types
DescriptionField TypeField
You don't need to specify this field for RowCount or custom
summary formulas.
Specifies the axis or axes to use on the chart. Use the column
field to specify the summary value to use for the axis.
ChartAxisaxisBinding
Required. Specifies the summary field for the chart data. If all
columns are invalid, RowCount is used by default for the axis
stringcolumn
value. For vertical column and horizontal bar combination charts,
you can specify up to four values.
ChartAxis
An enumeration of type string that specifies the axis or axes to be used in charts. Valid values:
DescriptionEnumeration Value
The summary value to use for the X-axis of a scatter chart.x
The Y-axis for the chart.y
The secondary Y-axis for vertical column combination charts with a line added.y2
ReportChartSize
An enumeration of type string that specifies the chart size. Valid values:
Enumeration Value
Tiny
Small
Medium
Large
Huge
ChartRangeType
An enumeration of type string that defines the report format. Valid values:
Enumeration Value
Auto
Manual
1520
ReportMetadata Types
ReportTimeFrameFilter
ReportTimeFrameFilter represents the report time period.
DescriptionField TypeField
Required. The date field on which to filter data. For example,
CLOSE_DATE
stringdateColumn
When interval is INTERVAL_CUSTOM, specifies the end
of the custom time period.
dateendDate
Required. Specifies the period.UserDateInterval (enumeration
of type string)
interval
When interval is INTERVAL_CUSTOM, specifies the
start of the custom time period.
datestartDate
ReportCrossFilter
ReportCrossFilter represents the cross filter functionality in reports.
DescriptionField TypeField
Represents the subfilters of a cross filter. There can be up to five
subfilters. This field requires the following attributes.
ReportFilterItemcriteriaItems
Column
Operator
Value
The action indicating whether to include or exclude an object.
Valid values: with and without.
ObjectFilterOperator
(Enumeration of type string)
operation
The field from the parent object used for the cross filter.stringprimaryTableColumn
The child object used for the cross filter.stringrelatedTable
The field from the child object that is used to join the parent.stringrelatedTableJoinColumn
Declarative Metadata Sample Definition
A sample XML snippet using cross filters to build an Accounts report for cases where case status isnt closed:
<crossFilters>
<criteriaItems>
<column>Status</column>
<operator>notequal</operator>
<value>Closed</value>
</criteriaItems>
<operation>with</operation>
<primaryTableColumn>ACCOUNT_ID</primaryTableColumn>
1521
ReportMetadata Types
<relatedTable>Case</relatedTable>
<relatedTableJoinColumn>Account</relatedTableJoinColumn>
</crossFilters>
Note: This sample was generated using the API version 23.0.
UserDateInterval
An enumeration of type string that defines the period. Valid values:
DescriptionEnumeration Value
Current fiscal quarterINTERVAL_CURRENT
Current and next fiscal quartersINTERVAL_CURNEXT1
Current and previous fiscal quartersINTERVAL_CURPREV1
Next fiscal quarterINTERVAL_NEXT1
Previous fiscal quarterINTERVAL_PREV1
Current and next three fiscal quartersINTERVAL_CURNEXT3
Current fiscal yearINTERVAL_CURFY
Previous fiscal yearINTERVAL_PREVFY
Previous two fiscal yearsINTERVAL_PREV2FY
Two fiscal years agoINTERVAL_AGO2FY
Next fiscal yearINTERVAL_NEXTFY
Current and previous fiscal yearsINTERVAL_PREVCURFY
Current and previous two fiscal yearsINTERVAL_PREVCUR2FY
Current and next fiscal yearINTERVAL_CURNEXTFY
A custom time period. Use startDate and endDate fields to specify the
time period's start date and end date.
INTERVAL_CUSTOM
YesterdayINTERVAL_YESTERDAY
TodayINTERVAL_TODAY
TomorrowINTERVAL_TOMORROW
Last calendar weekINTERVAL_LASTWEEK
This calendar weekINTERVAL_THISWEEK
Next calendar weekINTERVAL_NEXTWEEK
Last calendar monthINTERVAL_LASTMONTH
This calendar monthINTERVAL_THISMONTH
1522
ReportMetadata Types
DescriptionEnumeration Value
Next calendar monthINTERVAL_NEXTMONTH
Current and previous calendar monthsINTERVAL_LASTTHISMONTH
Current and next calendar monthsINTERVAL_THISNEXTMONTH
Current calendar quarterINTERVAL_CURRENTQ
Current and next calendar quartersINTERVAL_CURNEXTQ
Current and previous calendar quartersINTERVAL_CURPREVQ
Next calendar quarterINTERVAL_NEXTQ
Previous calendar quarterINTERVAL_PREVQ
Current and next three calendar quartersINTERVAL_CURNEXT3Q
Current calendar yearINTERVAL_CURY
Previous calendar yearINTERVAL_PREVY
Previous two calendar yearsINTERVAL_PREV2Y
Two calendar years agoINTERVAL_AGO2Y
Next calendar yearINTERVAL_NEXTY
Current and previous calendar yearsINTERVAL_PREVCURY
Current and previous two calendar yearsINTERVAL_PREVCUR2Y
Current and next calendar yearsINTERVAL_CURNEXTY
Last 7 daysINTERVAL_LAST7
Last 30 daysINTERVAL_LAST30
Last 60 daysINTERVAL_LAST60
Last 90 daysINTERVAL_LAST90
Last 120 daysINTERVAL_LAST120
Next 7 daysINTERVAL_NEXT7
Next 30 daysINTERVAL_NEXT30
Next 60 daysINTERVAL_NEXT60
Next 90 daysINTERVAL_NEXT90
Next 120 daysINTERVAL_NEXT120
When custom fiscal years are enabled: Last fiscal weekLAST_FISCALWEEK
When custom fiscal years are enabled: This fiscal weekTHIS_FISCALWEEK
When custom fiscal years are enabled: Next fiscal weekNEXT_FISCALWEEK
1523
ReportMetadata Types
DescriptionEnumeration Value
When custom fiscal years are enabled: Last fiscal periodLAST_FISCALPERIOD
When custom fiscal years are enabled: This fiscal periodTHIS_FISCALPERIOD
When custom fiscal years are enabled: Next fiscal periodNEXT_FISCALPERIOD
When custom fiscal years are enabled: This fiscal period and last fiscal periodLASTTHIS_FISCALPERIOD
When custom fiscal years are enabled: This fiscal period and next fiscal periodTHISNEXT_FISCALPERIOD
Current entitlement periodCURRENT_ENTITLEMENT_PERIOD
Previous entitlement periodPREVIOUS_ENTITLEMENT_PERIOD
Previous two entitlement periodsPREVIOUS_TWO_ENTITLEMENT_PERIODS
Two entitlement periods agoTWO_ENTITLEMENT_PERIODS_AGO
Current and previous entitlement periodCURRENT_AND_PREVIOUS_ENTITLEMENT_PERIOD
Current and previous two entitlement periodsCURRENT_AND_PREVIOUS_TWO_ENTITLEMENT_PERIODS
Declarative Metadata Sample Definition
A sample XML report definition:
<?xml version="1.0" encoding="UTF-8"?>
<Report xmlns="http://soap.sforce.com/2006/04/metadata">
<aggregates>
<acrossGroupingContext>CRT_Object__c$Id</acrossGroupingContext>
<calculatedFormula>PREVGROUPVAL(CRT_Object__c.Currency__c:AVG, CRT_Object__c.Id)
*
PARENTGROUPVAL(CRT_Object__c.Number__c:MAX, CRT_Object__c.CreatedBy.Name,
COLUMN_GRAND_SUMMARY)/RowCount</calculatedFormula>
<datatype>number</datatype>
<developerName>FORMULA1</developerName>
<downGroupingContext>CRT_Object__c$CreatedBy</downGroupingContext>
<isActive>true</isActive>
<masterLabel>CurrCSF</masterLabel>
<scale>2</scale>
</aggregates>
<aggregates>
<acrossGroupingContext>CRT_Object__c$LastModifiedDate</acrossGroupingContext>
<calculatedFormula>IF(RowCount&gt;10,
BLANKVALUE(ROUND(PREVGROUPVAL(CRT_Object__c.Currency__c:SUM,
CRT_Object__c.LastModifiedDate),3),
PARENTGROUPVAL(CRT_Object__c.Number__c:SUM, ROW_GRAND_SUMMARY,
CRT_Object__c.Id)) , 1000)</calculatedFormula>
<datatype>number</datatype>
<developerName>FORMULA2</developerName>
<downGroupingContext>GRAND_SUMMARY</downGroupingContext>
<isActive>true</isActive>
<masterLabel>numCSF</masterLabel>
1524
ReportMetadata Types
<scale>2</scale>
</aggregates>
<buckets>
<bucketType>number</bucketType>
<developerName>BucketField_BusinessSize</developerName>
<masterLabel>NumericBucket</masterLabel>
<nullTreatment>z</nullTreatment>
<sourceColumnName>SALES</sourceColumnName>
<values>
<sourceValues>
<to>10000</to>
</sourceValues>
<value>low</value>
</values>
<values>
<sourceValues>
<from>10000</from>
<to>25000</to>
</sourceValues>
<value>mid</value>
</values>
<values>
<sourceValues>
<from>25000</from>
</sourceValues>
<value>high</value>
</values>
</buckets>
<buckets>
<bucketType>text</bucketType>
<developerName>BucketField_Region</developerName>
<masterLabel>TextBucket</masterLabel>
<nullTreatment>n</nullTreatment>
<otherBucketLabel>Other</otherBucketLabel>
<sourceColumnName>ADDRESS1_STATE</sourceColumnName>
<values>
<sourceValues>
<sourceValue>CA</sourceValue>
</sourceValues>
<value>west</value>
</values>
<values>
<sourceValues>
<sourceValue>NY</sourceValue>
</sourceValues>
<sourceValues>
<sourceValue>Ontario</sourceValue>
</sourceValues>
<value>east</value>
</values>
</buckets>
<chart>
<backgroundColor1>#FFFFFF</backgroundColor1>
<backgroundColor2>#FFFFFF</backgroundColor2>
1525
ReportMetadata Types
<backgroundFadeDir>Diagonal</backgroundFadeDir>
<chartSummaries>
<axisBinding>y</axisBinding>
<column>FORMULA1</column>
</chartSummaries>
<chartSummaries>
<axisBinding>y</axisBinding>
<column>FORMULA2</column>
</chartSummaries>
<chartSummaries>
<aggregate>Maximum</aggregate>
<axisBinding>y</axisBinding>
<column>CRT_Object__c$Number__c</column>
</chartSummaries>
<chartSummaries>
<axisBinding>y</axisBinding>
<column>RowCount</column>
</chartSummaries>
<chartType>VerticalColumn</chartType>
<groupingColumn>CRT_Object__c$LastModifiedDate</groupingColumn>
<legendPosition>Right</legendPosition>
<location>CHART_TOP</location>
<size>Medium</size>
<summaryAxisRange>Auto</summaryAxisRange>
<textColor>#000000</textColor>
<textSize>12</textSize>
<titleColor>#000000</titleColor>
<titleSize>18</titleSize>
</chart>
<columns>
<field>CRT_Object__c$Name</field>
</columns>
<columns>
<aggregateTypes>Average</aggregateTypes>
<field>CRT_Object__c$Currency__c</field>
</columns>
<columns>
<aggregateTypes>Maximum</aggregateTypes>
<field>CRT_Object__c$Number__c</field>
</columns>
<columns>
<field>BucketField__Region</field>
</columns>
<format>Matrix</format>
<groupingsAcross>
<dateGranularity>Day</dateGranularity>
<field>CRT_Object__c$Id</field>
<sortOrder>Asc</sortOrder>
</groupingsAcross>
<groupingsAcross>
<dateGranularity>Year</dateGranularity>
<field>CRT_Object__c$LastModifiedDate</field>
<sortOrder>Asc</sortOrder>
</groupingsAcross>
1526
ReportMetadata Types
<groupingsDown>
<dateGranularity>Day</dateGranularity>
<field>CRT_Object__c$CreatedBy</field>
<sortOrder>Asc</sortOrder>
</groupingsDown>
<groupingsDown>
<dateGranularity>Day</dateGranularity>
<field>CRT_Object__c$Currency__c</field>
<sortOrder>Desc</sortOrder>
</groupingsDown>
<name>CrtMMVC</name>
<reportType>CRT1__c</reportType>
<scope>organization</scope>
<showDetails>false</showDetails>
<timeFrameFilter>
<dateColumn>CRT_Object__c$CreatedDate</dateColumn>
<interval>INTERVAL_CUSTOM</interval>
</timeFrameFilter>
</Report>
Declarative Metadata Sample Definition for a Joined Report
A sample XML report definition:
<?xml version="1.0" encoding="UTF-8"?>
<Report xmlns="http://soap.sforce.com/2006/04/metadata">
<!-- This is a cross-block custom summary formula. Note that the calculated formula reference
for a blocks reference uses the BlockId#Aggregate. -->
<aggregates>
<calculatedFormula>B1#AMOUNT:SUM+B2#EMPLOYEES:SUM</calculatedFormula>
<datatype>number</datatype>
<developerName>FORMULA</developerName>
<isActive>true</isActive>
<isCrossBlock>true</isCrossBlock>
<masterLabel>Cross-Block CSF Example</masterLabel>
<scale>2</scale>
</aggregates>
<!-- This is a standard custom summary formula. Note that the calculated formula reference
does not have block reference but just the aggregate name of the report type associated
(Opportunity).-->
<aggregates>
<calculatedFormula>AMOUNT:SUM</calculatedFormula>
<developerName>FORMULA2</developerName>
<isActive>true</isActive>
<isCrossBlock>false</isCrossBlock>
<masterLabel>Standard CSF Example</masterLabel>
<reportType>Opportunity</reportType>
<scale>2</scale>
</aggregates>
<block>
<blockInfo>
<!-- This is how the block defines that the custom summary formula should be referenced.
In this example, it’s the in standard FORMULA 2 defined above. This block report has blockID
B1.-->
1527
ReportMetadata Types
<aggregateReferences>
<aggregate>FORMULA2</aggregate>
</aggregateReference>
<blockId>B1</blockId>
<joinTable>a</joinTable>
</blockInfo>
<columns>
<field>TYPE</field>
</columns>
<format>Summary</format>
<name>Opportunities BLock 3</name>
<params>
<name>role_territory</name>
<value>role</value>
</params>
<params>
<name>terr</name>
<value>all</value>
</params>
<params>
<name>open</name>
<value>all</value>
</params>
<params>
<name>probability</name>
<value>0</value>
</params>
<params>
<name>co</name>
<value>1</value>
</params>
<reportType>Opportunity</reportType>
<scope>organization</scope>
<timeFrameFilter>
<dateColumn>CLOSE_DATE</dateColumn>
<interval>INTERVAL_CUSTOM</interval>
</timeFrameFilter>
</block>
<block>
<blockInfo>
<!-- This is how the block defines that the custom summary formula should be referenced.
In this example, it’s the cross-block custom summary formula FORMULA 1 defined above. This
block report has blockId B2.-->
<aggregateReferences>
<aggregate>FORMULA1</aggregate>
</aggregateReferences>
<blockId>B2</blockId>
<joinTable>a</joinTable>
</blockInfo>
<columns>
<field>USERS.NAME</field>
</columns>
<columns>
<field>TYPE</field>
1528
ReportMetadata Types
</columns>
<columns>
<field>DUE_DATE</field>
</columns>
<columns>
<field>LAST_UPDATE</field>
</columns>
<columns>
<field>ADDRESS1_STATE</field>
</columns>
<format>Summary</format
<name>Accounts block 5</name>
<params>
<name>terr</name>
<value>all</value>
</params>
<params>
<name>co</name>
<value>1</value>
</params>
<reportType>AccountList</reportType>
<scope>organization</scope>
<timeFrameFilter>
<dateColumn>CREATED_DATE</dateColumn>
<interval>INTERVAL_CUSTOM</interval>
</timeFrameFilter>
</block>
<blockInfo>
<blockId xsi:nil="true"/>
<joinTable>a</joinTable>
</blockInfo>
<chart>
<backgroundColor1>#FFFFFF</backgroundColor1>
<backgroundColor2>#FFFFFF</backgroundColor2>
<backgroundFadeDir>Diagonal</backgroundFadeDir>
<chartSummaries>
<axisBinding>y</axisBinding>
<!-- This is how chart aggregates are designed in multiblock. We're using RowCount from
Block 1.-->
<column>B1#RowCount</column>
</chartSummaries>
<chartType>HorizontalBar</chartType>
<enableHoverLabels>false</enableHoverLabels>
<expandOthers>true</expandOthers>
<groupingColumn>ACCOUNT_NAME</groupingColumn>
<location>CHART_TOP</location>
<showAxisLabels>true</showAxisLabels>
<showPercentage>false</showPercentage>
<showTotal>false</showTotal>
<showValues>false</showValues>
<size>Medium</size>
<summaryAxisRange>Auto</summaryAxisRange>
<textColor>#000000</textColor>
<textSize>12</textSize>
1529
ReportMetadata Types
<titleColor>#000000</titleColor>
<titleSize>18</titleSize>
</chart>
<format>MultiBlock</format>
<groupingsDown>
<dateGranularity>Day</dateGranularity>
<field>ACCOUNT_NAME</field>
<sortOrder>Asc</sortOrder>
</groupingsDown>
<name>mb_mbapi</name>
<reportType>Opportunity</reportType>
<showDetails>true</showDetails>
</Report>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Dashboard
ReportType
Represents the metadata associated with a custom report type. Custom report types allow you to build a framework from which users
can create and customize reports.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
Declarative Metadata File Suffix and Directory Location
The file suffix is .reportType for the custom report type definition. Theres one file per custom report type. Report types are stored
in the reportTypes directory of the corresponding package directory.
Version
Custom report types are available in API version 14.0 and later.
1530
ReportTypeMetadata Types
Fields
DescriptionField TypeField Name
Indicates that the report type was automatically generated when historical
trending was enabled for an entity.
Available in API version 29 and later.
booleanautogenerated
Required. The primary object for the custom report type, for example,
Account. All objects, including custom and external objects, are supported.
You cant edit this field after initial creation.
Support for external objects is available in API version 38.0 and later.
stringbaseObject
Required. This field controls the category for the report. The valid values
are:
ReportTypeCategory
(enumeration of type string)
category
accounts
opportunities
forecasts
cases
leads
campaigns
activities
busop
products
admin
territory
territory2 (This value is available in API version 31.0 and later.)
usage_entitlement
wdc (This value is available in API version 29.0 and later.)
calibration (This value is available in API version 29.0 and later.)
other
content
quotes
individual (This value is available in API version 45.0 and later.)
Required. Indicates whether the report type is available to users (true)
or whether it's still in development (false).
booleandeployed
The description of the custom report type.stringdescription
The report type developer name used as a unique identifier for API access.
The fullName can contain only underscores and alphanumeric
stringfullName
characters. It must be unique, begin with a letter, not include spaces, not
end with an underscore, and not contain two consecutive underscores.
1531
ReportTypeMetadata Types
DescriptionField TypeField Name
The object joined to the baseObject. For example, Contacts can be
joined to the primary Accounts object.
ObjectRelationshipjoin
Required. The report type label.stringlabel
The groups of columns available for the report type. Though columns
arent strictly required, a report without columns isnt useful.
ReportLayoutSection[]sections
ObjectRelationship
ObjectRelationship represents a join to another object.
DescriptionField TypeField Name
This field is a recursive reference that allows you to join more than two objects.
A maximum of four objects can be joined in a custom report type. When more
ObjectRelationshipjoin
than two objects are joined, an inner join isnt allowed if there has been an outer
join earlier in the join sequence. The baseObject is first joined to the object
specified in relationship; the resulting dataset is then joined with any
objects specified in this field.
Required. Indicates whether its an outer join (true) or not (false). An outer
join returns a row even if the joined table doesnt contain a matching value in
the join column.
booleanouterJoin
Required. The object joined to the primary object; for example, Contacts.stringrelationship
ReportLayoutSection
ReportLayoutSection represents a group of columns used in the custom report type.
DescriptionField TypeField Name
The list of columns projected from the query, defined by
this custom report type.
ReportTypeColumn[]columns
Required. The label for this group of columns in the report
wizard.
stringmasterLabel
ReportTypeColumn
ReportTypeColumn represents a column in the custom report type.
DescriptionField TypeField Name
Required. Indicates whether this column is selected by default (true) or not
(false).
booleancheckedByDefault
1532
ReportTypeMetadata Types
DescriptionField TypeField Name
A customized column name, if desired.stringdisplayNameOverride
Required. The field name associated with the report column.stringfield
Required. The table associated with the field; for example, Account.stringtable
Declarative Metadata Sample Definition
The definition of a custom report type is shown in this example. Account is joined to Contacts and the resulting dataset is joined with
Assets.
<?xml version="1.0" encoding="UTF-8"?>
<ReportType xmlns="http://soap.sforce.com/2006/04/metadata">
<baseObject>Account</baseObject>
<category>accounts</category>
<deployed>true</deployed>
<description>Account linked to Contacts and Assets</description>
<join>
<join>
<outerJoin>false</outerJoin>
<relationship>Assets</relationship>
</join>
<outerJoin>false</outerJoin>
<relationship>Contacts</relationship>
</join>
<label>Account Contacts and Assets</label>
<sections>
<columns>
<checkedByDefault>true</checkedByDefault>
<field>obj_lookup__c.Id</field>
<table>Account</table>
</columns>
<columns>
<checkedByDefault>false</checkedByDefault>
<field>obj_lookup__c.Name</field>
<table>Account</table>
</columns>
<columns>
<checkedByDefault>false</checkedByDefault>
<field>Opportunity__c.Amount</field>
<table>Account</table>
</columns>
<columns>
<checkedByDefault>false</checkedByDefault>
<field>Owner.IsActive</field>
<table>Account</table>
</columns>
<masterLabel>Accounts</masterLabel>
</sections>
<sections>
<columns>
<checkedByDefault>false</checkedByDefault>
1533
ReportTypeMetadata Types
<field>Owner.Email</field>
<table>Account.Contacts</table>
</columns>
<columns>
<checkedByDefault>false</checkedByDefault>
<field>byr__c</field>
<table>Account.Contacts</table>
</columns>
<columns>
<checkedByDefault>true</checkedByDefault>
<field>ReportsTo.CreatedBy.Contact.Owner.MobilePhone</field>
<table>Account.Contacts</table>
</columns>
<masterLabel>Contacts</masterLabel>
</sections>
</ReportType>
Usage
The custom report type refers to fields by using their API names. For a historical field (one that has trackTrending set to true)
the API name includes hst, such as Field2__c_hst.
<sections>
<columns>
<checkedByDefault>false</checkedByDefault>
<field>Field2__c_hst</field>
<table>CustomTrendedObject__c.CustomTrendedObject__c_hst</table>
</columns>
<masterLabel>History</masterLabel>
</sections>
For more information, see trackTrending on page 609.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RestrictionRule
Represents a restriction rule or a scoping rule. A restriction rule has enforcementType set to Restrict and controls the access
that specified users have to designated records. A scoping rule has enforcementType set to Scoping and controls the default
records that your users see without restricting access. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
RestrictionRule components have the suffix .rule and are stored in the restrictionRules folder.
1534
RestrictionRuleMetadata Types
Version
RestrictionRule components are available in API version 52.0 and later.
Special Access Rules
Only users with the View Restriction and Scoping Rules permission can view restriction rules and scoping rules via the API. Only users
with the Manage Sharing permission can view, create, update, and delete restriction rules and scoping rules.
Fields
DescriptionField TypeField Name
Indicates whether the rule is active (true) or not (false). The default
value is false.
booleanactive
Required. The description of the rule.stringdescription
Required. The type of rule. Valid values are:EnforcementType
(enumeration of
type string)
enforcementType
FieldRestrictDont use.
RestrictRestriction rule.
ScopingScoping rule.
Required. The name of the rule.stringmasterLabel
Required. The criteria that determine which records are accessible via
the rule. For picklist fields, you can now use the OR operator to specify
multiple values for a single picklist field. For example:
OR(ISPICKVAL(Status,'Draft'), ISPICKVAL(Status,'Activated'),
ISPICKVAL(Status,'Negotiating')).
stringrecordFilter
This enhancement applies to both Restriction Rules and Scoping Rules.
Support for multiple picklist values using the OR operator was introduced
in API version 60.0 and later.
Required. The object for which you're creating the rule. We recommend
that you dont edit this field after the rule is created.
If enforcementType is set to Restrict, custom objects, external
objects, and these objects are supported:
stringtargetEntity
Contract
Event
Task
TimeSheet
TimeSheetEntry
If enforcementType is set to Scoping, custom objects and these
objects are supported:
Account
1535
RestrictionRuleMetadata Types
DescriptionField TypeField Name
Case
Contact
Event
Lead
Opportunity
Task
Required. The users that this rule applies to, such as all active users or
users with a specified role or profile.
stringuserCriteria
Required. The rule's version number.intversion
Declarative Metadata Sample Definition
The following is an example of a RestrictionRule component.
<?xml version="1.0" encoding="UTF-8"?>
<RestrictionRule xmlns="http://soap.sforce.com/2006/04/metadata">
<active>true</active>
<description>Allows users with a specific profile to see only tasks that they
own.</description>
<enforcementType>Restrict</enforcementType>
<masterLabel>Tasks You Own</masterLabel>
<recordFilter>OwnerId = $User.Id</recordFilter>
<targetEntity>Task</targetEntity>
<userCriteria>$User.ProfileId = '005xxxxxxxxxxxx'</userCriteria>
<version>1</version>
</RestrictionRule>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>RestrictionRule</name>
</types>
<version>55.0</version>
</Package>
Usage
For more information on restriction rules, see the Restriction Rules Developer Guide.
Role
Represents a role in your organization.
1536
RoleMetadata Types
Declarative Metadata File Suffix and Directory Location
The file suffix for role components is .role and components are stored in the roles directory of the corresponding package
directory.
Version
Role components are available in API version 24.0 and later.
Fields
This metadata type extends to subtype RoleOrTerritory on page 1537.
DescriptionField TypeField Name
The unique identifier for API access. The fullName can contain only
underscores and alphanumeric characters. It must be unique, begin with
stringfullName
a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. This field is inherited from the Metadata
component. Corresponds to Role Name in the user interface.
The role above this role in the hierarchy.stringparentRole
Declarative Metadata Sample Definition
The following is the definition of a role.
<?xml version="1.0" encoding="UTF-8"?>
<Role xmlns="http://soap.sforce.com/2006/04/metadata">
<caseAccessLevel>Edit</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<description>Sample Role</description>
<mayForecastManagerShare>false</mayForecastManagerShare>
<name>R22</name>
<opportunityAccessLevel>Read</opportunityAccessLevel>
</Role>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RoleOrTerritory
Represents the common base type and valid values for role or territory.
1537
RoleOrTerritoryMetadata Types
Version
RoleOrTerritory components are available in API version 24.0 and later.
Note: You cant create a RoleOrTerritory component directly. Use the Role or Territory metadata types instead.
Fields
DescriptionField TypeField Name
Specifies whether a user can access other users cases that are associated
with accounts the user owns. Valid values are:
stringcaseAccessLevel
Read
Edit
None
This field is not visible if your organizations sharing model for cases is
Public Read/Write.
If no value is set for this field, this field value uses the default access level
that is specified in the Manage Territory page in Setup.
Specifies whether a user can access other users contacts that are
associated with accounts the user owns. Valid values are:
stringcontactAccessLevel
Read
Edit
None
This field is not visible if your organizations sharing model for contacts
is Public Read/Write or Controlled by Parent.
If no value is set for this field, this field value uses the default access level
that is specified in the Manage Territory page in Setup.
The description of the role or territory.stringdescription
The unique identifier for API access. The fullName can contain only
underscores and alphanumeric characters. It must be unique, begin with
stringfullName
a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. This field is inherited from the Metadata
component.
Indicates whether the forecast manager can manually share their own
forecast.
booleanmayForecastManagerShare
Required. The name of the role or territory.stringname
Specifies whether a user can access other users opportunities that are
associated with accounts the user owns. Valid values are:
stringopportunityAccessLevel
Read
Edit
1538
RoleOrTerritoryMetadata Types
DescriptionField TypeField Name
None
This field is not visible if your organizations sharing model for
opportunities is Public Read/Write.
If no value is set for this field, this field value uses the default access level
that is specified in the Manage Territory page in Setup.
Declarative Metadata Sample Definition
The following is the definition of a role.
<?xml version="1.0" encoding="UTF-8"?>
<Role xmlns="http://soap.sforce.com/2006/04/metadata">
<caseAccessLevel>Edit</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<description>Sample Role</description>
<mayForecastManagerShare>false</mayForecastManagerShare>
<name>R22</name>
<opportunityAccessLevel>Read</opportunityAccessLevel>
</Role>
The following is the definition of a territory.
<?xml version="1.0" encoding="UTF-8"?>
<Territory xmlns="http://soap.sforce.com/2006/04/metadata">
<accountAccessLevel>Edit</accountAccessLevel>
<caseAccessLevel>Edit</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<description>Sample Territory</description>
<mayForecastManagerShare>false</mayForecastManagerShare>
<name>T22name</name>
<opportunityAccessLevel>Read</opportunityAccessLevel>
</Territory>
SEE ALSO:
Role
Territory
SalesWorkQueueSettings
Represents settings used to customize work queue options for third-party scoring. In Sales Engagement, you can add a custom number
field on person accounts, contacts, or leads. Then, use the custom number field to sort the work queue. This type extends the Metadata
metadata type and inherits its fullName field.
1539
SalesWorkQueueSettingsMetadata Types
File Suffix and Directory Location
SalesWorkQueueSettings components have the suffix .salesworkqueuesetting and are stored in the
salesworkqueuesettings folder.
Version
SalesWorkQueueSettings components are available in API version 49.0 and later.
Special Access Rules
You must be a Sales Engagement customer to access this metadata type.
Fields
DescriptionField TypeField Name
The feature that the SalesWorkQueueSettings record is configuring. The allowed
value is ThirdPartyScore.
stringfeatureName
The type that the SalesWorkQueueSettings record is configuring. Possible values
are:
stringtargetEntity
Contact
Lead
PersonAccount
The developer name or ID of the custom number field that is used to sort the
work queue. Custom fields must have a custom number data type.
stringtargetField
To use Einstein Intelligence Score for lead scoring, use
ScoreIntelligence.Score for the developer name.
To remove custom number fields from the work queue, use None.
Declarative Metadata Sample Definition
The following is an example of a SalesWorkQueueSettings component. The value for targetField is set to 00NRM000001g55D
as an example of a custom field ID. Replace this value with the ID of your custom field.
<?xml version="1.0" encoding="UTF-8"?>
<SalesWorkQueueSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<featureName>ThirdPartyScore</featureName>
<targetEntity>Contact</targetEntity>
<targetField>00NRM000001g55D</targetField>
</SalesWorkQueueSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
1540
SalesWorkQueueSettingsMetadata Types
<types>
<members>*</members>
<name>SalesWorkQueueSettings</name>
</types>
<version>49.0</version>
</Package>
Usage
Create one SalesWorkQueueSettings record for each type. For example, suppose that you want to create a work queue to sort leads by
your custom field called customLeadScore. Create a SalesWorkQueueSettings record and set featureName to
ThirdPartyScore, targetEntity to Lead, and targetField to customLeadScore.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SamlSsoConfig
Represents a SAML Single Sign-On configuration. This type extends the Metadata metadata type and inherits its fullName field.
Single sign-on (SSO) is an authentication method that enables users to access multiple applications with one login and one set of
credentials. For example, after users log in to your org, they can automatically access all apps from the App Launcher. You can set up
your Salesforce org to trust a third-party identity provider to authenticate users. Or you can configure a third-party app to rely on your
org for authentication.
File Suffix and Directory Location
SamlSsoConfig components have the suffix .samlssoconfig and are stored in the samlssoconfigs folder.
Version
SamlSsoConfig components are available in API version 28.0 and later.
Special Access Rules
As of Summer 20 and later, only users with the View Setup and Configuration permission or both the Customize Application and Modify
All Data permissions can access this type.
Fields
DescriptionField TypeField Name
For SAML 2.0, only and when identityLocation is set to
Attribute. Possible values include unspecified,
stringattributeNameIdFormat
emailAddress, or persistent. All legal values can be found in
1541
SamlSsoConfigMetadata Types
DescriptionField TypeField Name
the Name Identifier Format Identifiers section of the Assertions and
Protocols SAML 2.0 specification.
The name of the identity providers application. Get this name from your
identity provider.
stringattributeName
The name of the certificate to use for decrypting incoming SAML
assertions. This certificate is saved in the organizations Certificate and
Key Management list. Available in API version 30.0 and later.
stringdecryptionCertificate
When there's an error during login, specify the URL of the page where
users are directed. It must be publicly accessible, such as a public site
Visualforce page. The URL can be absolute or relative.
stringerrorUrl
The user that runs the Apex handler class. The user must have the Manage
Users permission. If you specify a SAML JIT handler class, a user is required.
stringexecutionUserId
The location in the assertion where a user is identified. Valid values are:SamlIdentityLocationType
(enumeration of type
string)
identityLocation
SubjectNameId The identity is in the <Subject>
statement of the assertion.
Attribute The identity is specified in an
<AttributeValue>, located in the <Attribute> of the
assertion.
The identifier the service provider uses for the user during Just-in-Time
user provisioning. Valid values are:
SamlIdentityType
(enumeration of type
string)
identityMapping
Username The users Salesforce username.
FederationId The federation ID from the user object; the
identifier used by the service provider for the user.
UserId The user ID from the users Salesforce organization.
The identification string for the Identity Provider.stringissuer
For SAML 2.0 only: The URL where Salesforce sends a SAML request to
start the login sequence.
stringloginUrl
For SAML 2.0 only: The URL to direct the user to when they click the
Logout link. The default is https://salesforce.com.
stringlogoutUrl
The unique name used by the API and managed packages. The name
must begin with a letter and use only alphanumeric characters and
stringname
underscores. The name cannot end with an underscore or have two
consecutive underscores.
For SAML 2.0 only: The ACS URL used with enabling Salesforce as an
identity provider in the web single sign-on OAuth assertion flow.
stringoauthTokenEndpoint
1542
SamlSsoConfigMetadata Types
DescriptionField TypeField Name
Choose the binding mechanism your identity provider requests for your
SAML messages. Values are:
booleanredirectBinding
HTTP POST HTTP POST binding sends SAML messages using
base64-encoded HTML forms.
HTTP Redirect HTTP Redirect binding sends base64-encoded
and URL-encoded SAML messages within URL parameters.
The method thats used to sign the SAML request. Valid values are
RSA-SHA1 and RSA-SHA256.
stringrequestSignatureMethod
The 18-digit ID for the certificate used to generate the signature on a
SAML request to the identity provider. The certificate is saved in the
Certificate and Key Management page in Setup.
stringrequestSigningCertId
The URL associated with login for the web single sign-on flow.stringsalesforceLoginUrl
Note: When encryption is enabled, the URL has a parameter
containing the ID of the SAML configuration,
sc=samlSsoConfigId. For example,
https://mycompany.my.salesforce.com?sc=0LEB0000000CCC.
This change applies to API Version 47.0 and later.
The issuer in SAML requests generated by Salesforce, and is also the
expected audience of any inbound SAML Responses. Salesforce
recommends that you use your My Domain login URL.
stringsamlEntityId
The name of an existing Apex class that implements the
Auth.SamlJitHandler interface.
stringsamlJitHandlerId
The SAML version in use. Valid values are:SamlType (enumeration of
type string)
samlVersion
SAML1_1 SAML 1.1
SAML2_0 SAML 2.0
The HTTP binding type. This value determines where to put the
LogoutRequest or LogoutResponse in the SAML request during single
logout (SLO). The value is base64 encoded. Valid values are:
SamlSpSLOBinding
(enumeration of type
string)
singleLogoutBinding
RedirectBinding Sent in the query string, deflated.
PostBinding Sent in the POST body, not deflated.
The SAML single logout endpoint. This URL is the endpoint where
Salesforce sends LogoutRequests (when Salesforce initiates a logout), or
LogoutResponses (when the identity provider initiates a logout).
stringsingleLogoutUrl
If true, applies the selected Request Signature Method (RSM) during
single logout. If false, the default RSM (RSA-SHA1) is applied.
booleanuseConfigRequestMethod
1543
SamlSsoConfigMetadata Types
DescriptionField TypeField Name
If true, uses a digest algorithm based on the selected Request Signature
Method (RSM). For example, if the selected RSM is RSA-SHA256, the
digest algorithm is set to SHA-256.
If false, uses the default digest algorithm (SHA-1), regardless of the
selected RSM.
booleanuseSameDigestAlgoForSigning
This field is available in API version 55.0 and later. You can edit this field
only for legacy SAML configurations created before Spring 22. For
configurations created after Spring 22, this field is true by default.
If true, Just-in-Time user provisioning is enabled, which creates users
the first time they log in. Specify Federation ID for the
identityMapping value to use this feature.
booleanuserProvisioning
The certificate used to validate the request. Get this certificate from your
identity provider.
stringvalidationCert
Declarative Metadata Sample Definition
The following is an example of a SamlSsoConfig component. The validation certificate string has been truncated for readability.
<?xml version="1.0" encoding="UTF-8"?>
<SamlSsoConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<identityLocation>SubjectNameId</identityLocation>
<identityMapping>FederationId</identityMapping>
<issuer>https://my-idp.my.salesforce.com</issuer>
<loginUrl>
https://my-idp.my.salesforce.com/idp/endpoint/HttpRedirect
</loginUrl>
<logoutUrl>https://www.salesforce.com</logoutUrl>
<name>SomeCompany</name>
<oauthTokenEndpoint>
https://login.salesforce.com/services/oauth2/token?so=00DD0000000
</oauthTokenEndpoint>
<redirectBinding>true</redirectBinding>
<requestSignatureMethod>RSA-SHA1</requestSignatureMethod>
<salesforceLoginUrl>
https://login.salesforce.com?so=00DD0000000JxeI
</salesforceLoginUrl>
<samlEntityId>
https://saml.salesforce.com/customPath
</samlEntityId>
<samlVersion>SAML2_0</samlVersion>
<useConfigRequestMethod>true</useConfigRequestMethod>
<userProvisioning>false</userProvisioning>
<validationCert>
MIIEojCCA4qgAwIBAgIOATtxsoBFAAAAAD4...
</validationCert>
</SamlSsoConfig>
1544
SamlSsoConfigMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SchedulingObjective
Represents a scheduling objective in Workforce Engagement. Scheduling objectives define business goals that the scheduling tools
consider when identifying agents for shifts.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
SchedulingObjective components have the suffix .SchedulingObjective and are stored in the
SchedulingObjective folder.
Version
SchedulingObjective components are available in API version 55.0 and later.
Special Access Rules
This type is available only if Workforce Engagement is enabled in your org. To view, create, edit, and delete records, the user requires
the Workforce Engagement Planner permission set.
Fields
DescriptionField Name
Field Type
boolean
isProtected
Description
Indicates whether the component is protected (true) or not (false). The default
value is false.
Field Type
string
masterLabel
Description
Required. The name of the objective.
1545
SchedulingObjectiveMetadata Types
DescriptionField Name
Field Type
SchedulingCategory (enumeration of type string)
schedulingCategory
Description
Required. What the scheduling logic applies the objective to. The valid values are:
AService Appointment
BShift
Field Type
SchedulingObjectiveParameter[] on page 1546
schedulingObjectiveParameters
Description
Parameters associated with a scheduling objective, such as the number of days before
and after a shift that the logic considers when balancing assignments.
Field Type
SchedulingObjectiveType (enumeration of type string)
schedulingObjectiveType
Description
Required. Specifies the type of objective. Possible values are:
AgentPreferenceIn the UI, this value appears as Maximized Preferences.
BalanceNonStandardShifts
BalanceShifts
SchedulingObjectiveParameter
Represents a parameter thats associated with a scheduling objective.
DescriptionField Name
Field Type
ObjectiveParameterKey (enumeration of type string)
parameterKey
Description
Required. The scheduling objective parameter key. Possible values are:
DaysAhead
DaysBack
Field Type
string
value
Description
The scheduling objective parameter value.
1546
SchedulingObjectiveMetadata Types
Declarative Metadata Sample Definition
The following is an example of a SchedulingObjective component.
<?xml version="1.0" encoding="UTF-8"?>
<SchedulingObjective xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>Balance Shifts</masterLabel>
<schedulingCategory>B</schedulingCategory>
<schedulingObjectiveType>BalanceShifts</schedulingObjectiveType>
<schedulingObjectiveParameters>
<parameterKey>DaysAhead</parameterKey>
<value>30</value>
</schedulingObjectiveParameters>
</SchedulingObjective>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>SchedulingObjective</name>
<members>Balance Shifts</members>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SchedulingRule
Represents a scheduling rule in Workforce Engagement Management. Scheduling rules determine when agents are assigned to shifts.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
SchedulingRule components have the suffix .schedulingRule and are stored in the SchedulingRules folder.
Version
SchedulingRule components are available in API version 53.0 and later.
1547
SchedulingRuleMetadata Types
Special Access Rules
This type is available only if Workforce Engagement is enabled in your org. To view, create, edit, and delete records, the user requires
the Workforce Engagement Planner permission set.
Fields
DescriptionField Name
Field Type
boolean
isProtected
Description
Indicates whether the component is protected (true) or not (false). The default
value is false.
Field Type
string
masterLabel
Description
Required. The name of the rule.
Field Type
SchedulingCategory (enumeration of type string)
schedulingCategory
Description
Required. What the scheduling logic applies the rule to. The valid values are:
AService Appointment
BShift
Field Type
SchedulingRuleParameter[] on page 1549
schedulingRuleParameters
Description
Parameters associated with a scheduling rule, such as work limits.
Field Type
SchedulingRuleType (enumeration of type string)
schedulingRuleType
Description
Required. Specifies the type of rule. The valid values are:
AActive Resources
BMatch Skills
CAvailability
MMatch Territory
QMatch Queue
RestTimeMinutesRest Time in Minutes. Available in API version 56.0 and
later.
1548
SchedulingRuleMetadata Types
DescriptionField Name
WWork Limit
LimitNonstandardShiftsSpecifies a rule type that limits how many
non-standard shifts can be assigned to each agent. Available in API version 54.0
and later.
SchedulingRuleParameter
Represents a scheduling rule parameter, such as a work limit, thats associated with a scheduling rule.
DescriptionField Name
Field Type
SchedulingParameterKey (enumeration of type string)
schedulingParameterKey
Description
Required. The scheduling rule parameter key.
CConstraint Field Name
LLimit Type
RResolution
TTime Resolution
WWork Unit
ConsiderAbsenceConsider resource absences when evaluating availability.
Available in API version 56.0 and later.
ConsiderSTMConsider service territory membership, which defines working
hours, when evaluating availability. Available in API version 56.0 and later.
Field Type
string
value
Description
The scheduling rule parameter value.
Declarative Metadata Sample Definition
The following is an example of a SchedulingRule component.
<?xml version="1.0" encoding="UTF-8"?>
<SchedulingRule xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>Max Shifts Per Week</masterLabel>
<schedulingCategory>B</schedulingCategory>
<schedulingRuleParameters>
<schedulingParameterKey>C</schedulingParameterKey>
<value>MaxShiftsPerWeek</value>
</schedulingRuleParameters>
<schedulingRuleParameters>
1549
SchedulingRuleMetadata Types
<schedulingParameterKey>W</schedulingParameterKey>
<value>Shifts</value>
</schedulingRuleParameters>
<schedulingRuleParameters>
<schedulingParameterKey>R</schedulingParameterKey>
<value>Week</value>
</schedulingRuleParameters>
<schedulingRuleParameters>
<schedulingParameterKey>L</schedulingParameterKey>
<value>Max</value>
</schedulingRuleParameters>
<schedulingRuleType>W</schedulingRuleType>
</SchedulingRule>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>SchedulingRule</name>
<members>MaxShiftsPerWeek</members>
</types>
<version>53.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Scontrol
Deprecated. Represents an Scontrol component, corresponding to an s-control in the Salesforce user interface.
Important: Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls cant create them.
Existing s-controls are unaffected and can still be edited.
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
Declarative Metadata File Suffix and Directory Location
The file suffix is .scf for the s-control file. The accompanying metadata file is named ScontrolName-meta.xml.
Scontrol components are stored in the scontrols folder in the corresponding package directory.
Version
Scontrols are available in API version 10.0 and later.
1550
ScontrolMetadata Types
Fields
This metadata type contains the following fields:
DescriptionField TypeField Name
Content of the s-control. Base 64-encoded binary data. Before making
an API call, client applications must encode the binary attachment
base64Binarycontent
data as base64. Upon receiving a response, client applications must
decode the base64 data to binary. This conversion is handled for you
by a SOAP client. This field is inherited from the MetadataWithContent
component.
Required. Determines how you plan to use the s-control:SControlContentSource (enumeration
of type string)
contentSource
HTML: Select this option if you want to enter the content for your
s-control in content.
URL: Select this option if you want to enter the link or URL of an
external website in content.
Snippet: Snippets are s-controls that are designed to be
included in other s-controls. Select this option if you want to enter
the content for your s-control snippet in content.
Optional text that describes the s-control. This only displays to users
with View All Data permission (administrator).
stringdescription
Required. The default encoding setting is Unicode: UTF-8. Change
it if youre passing information to a URL that requires data in a different
Encoding (enumeration of type string)encodingKey
format. This option is available when you select URL as the value for
contentSource.
File contents displayed if you add this s-control to a custom link. The
file can contain a Java applet, Active-X control, or any other type of
base64fileContent
content you want. This option only applies to s-controls with a value
of HTML for contentSource.
The unique name for the s-control. This name can contain only
underscores and alphanumeric characters, and must be unique in
stringfileName
your org. It must begin with a letter, not include spaces, not end with
an underscore, and not contain two consecutive underscores. This
field cant be changed for components installed by a managed
package. Its only relevant if the fileContent field also has a value.
This field is available in API version 14.0.
The s-control developer name used as a unique identifier for API access.
The fullName can contain only underscores and alphanumeric
stringfullName
characters. It must be unique, begin with a letter, not include spaces,
not end with an underscore, and not contain two consecutive
underscores. If this field contained characters before version 14.0 that
are no longer allowed, the characters were stripped out of this field,
and the previous value of the field was saved in the name field. This
field is inherited from the Metadata component.
1551
ScontrolMetadata Types
DescriptionField TypeField Name
Required. The unique name for the s-control. It must contain
alphanumeric characters only and begin with a letter. For example
example_s_control.
stringname
Required. Indicates whether the s-control supports caching (true)
or not (false). Caching optimizes the page so that it remembers
booleansupportsCaching
which s-controls are on the page when it reloads. This option only
applies to HTML s-controls.
Declarative Metadata Sample Definition
The following sample creates the Myriad_Publishing.scf s-control, which creates a link to the website specified in the s-control.
The corresponding Myriad_Publishing.scf-meta.xml metadata file follows the s-control file.
Myriad_Publishing.scf file:
http://www.myriadpubs.com
Myriad_Publishing.scf-meta.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Scontrol xmlns="http://soap.sforce.com/2006/04/metadata">
<contentSource>URL</contentSource>
<description>s-control to open Myriad Publishing website.</description>
<encodingKey>UTF-8</encodingKey>
<name>Myriad Publishing</name>
<supportsCaching>true</supportsCaching>
</Scontrol>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SearchCustomization
Represents the configuration of search settings created in Search Manager. The configuration includes the search channel, searchable
objects and fields, and rules to filter search results.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
1552
SearchCustomizationMetadata Types
File Suffix and Directory Location
SearchCustomization components have the suffix .searchCustomization and are stored in the searchCustomizations
folder.
Version
SearchCustomization components are available in API version 61.0 and later.
Special Access Rules
Only users with the View Setup and Configuration permission can access this object, and only users with the Customize Application
permission can edit it.
Fields
DescriptionField Name
Field Type
string
channel
Description
Required.
The search channel that the configuration applies to.
Field Type
string
masterLabel
Description
Required.
The name of the configuration.
Field Type
SearchCustomizationObjectOverride[]
objectOverride
Description
A list of object configurations.
Field Type
string[]
objectToAlwaysSearch
Description
A list of the objects that are always searched for the user profile if the search channel
is Einstein Global Search Bar.
Field Type
string
profile
1553
SearchCustomizationMetadata Types
DescriptionField Name
Description
Specifies user profile if the search channel is Einstein Global Search Bar.
Field Type
string[]
selectedObject
Description
A list of the objects that are selected in the configuration if the search channel is LWR
Experience Sites.
SearchCustomizationObjectOverride
Represents the configuration for a specific object.
DescriptionField Name
Field Type
SearchCustomizationFieldOverride[]
fieldOverride
Description
A list of field configurations.
Field Type
string
objectApiName
Description
Required.
The API name of the object that the configuration is applied to.
Field Type
SearchCustomizationRule[]
rule
Description
A list of rules applied to filter search results.
Field Type
boolean
searchable
Description
Indicates whether the object is searchable (true) or not (false).
SearchCustomizationFieldOverride
Represents the configuration for a specific field within an object.
1554
SearchCustomizationMetadata Types
DescriptionField Name
Field Type
string
fieldApiName
Description
Required.
The API name of the field that the configuration is applied to.
Field Type
boolean
searchable
Description
Required.
Indicates whether the field is searchable (true) or not (false).
SearchCustomizationRule
Represents the rules defined in an object to filter search results.
DescriptionField Name
Field Type
string
fieldApiName
Description
Required.
The field that the rule applies to.
Field Type
string
operator
Description
Required.
The operator for the rule.
Field Type
SearchCustomizationRuleValue[]
ruleValue
Description
A list of rule values.
SearchCustomizationRuleValue
Represents the value of a rule used to filter search results.
1555
SearchCustomizationMetadata Types
DescriptionField Name
Field Type
string
targetObjectApiName
Description
The API name of the target object, in case the rule applies to a lookup field.
Field Type
string
value
Description
Required.
The value of the rule.
Declarative Metadata Sample Definition
The following is an example of a SearchCustomization component.
<?xml version="1.0" encoding="UTF-8"?>
<SearchCustomization xmlns="http://soap.sforce.com/2006/04/metadata">
<channel>GlobalSearch</channel>
<masterLabel>My_Standard_User_Configuration</masterLabel>
<objectOverride>
<fieldOverride>
<fieldApiName>Description</fieldApiName>
<searchable>false</searchable>
</fieldOverride>
<fieldOverride>
<fieldApiName>Rating</fieldApiName>
<searchable>true</searchable>
</fieldOverride>
<objectApiName>Account</objectApiName>
<rule>
<fieldApiName>My_Custom_Field__c</fieldApiName>
<operator>ne</operator>
<ruleValue>
<value>Other</value>
</ruleValue>
</rule>
<rule>
<fieldApiName>Rating</fieldApiName>
<operator>in</operator>
<ruleValue>
<value>Hot</value>
</ruleValue>
<ruleValue>
<value>Warm</value>
</ruleValue>
</rule>
</objectOverride>
<objectOverride>
1556
SearchCustomizationMetadata Types
<objectApiName>Asset</objectApiName>
<searchable>false</searchable>
</objectOverride>
<objectOverride>
<objectApiName>Contact</objectApiName>
<rule>
<fieldApiName>AccountId</fieldApiName>
<operator>ne</operator>
<ruleValue>
<targetObjectApiName>Account</targetObjectApiName>
<value>A Company</value>
</ruleValue>
</rule>
<rule>
<fieldApiName>DoNotCall</fieldApiName>
<operator>eq</operator>
<ruleValue>
<value>false</value>
</ruleValue>
</rule>
</objectOverride>
<objectToAlwaysSearch>Account</objectToAlwaysSearch>
<objectToAlwaysSearch>Contact</objectToAlwaysSearch>
<objectToAlwaysSearch>My_Custom_Object__c</objectToAlwaysSearch>
<objectToAlwaysSearch>Product2</objectToAlwaysSearch>
<profile>standard</profile>
</SearchCustomization>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>SearchCustomization</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SearchOrgWideObjectConfig
Represents an object in the search index. The search index contains org-wide search settings created in Search Manager. Each object in
the search index includes searchable fields and fields protected by field-level security in search.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1557
SearchOrgWideObjectConfigMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
SearchOrgWideObjectConfig components have the suffix .searchOrgWideObjectConfig and are stored in the
searchOrgWideConfiguration folder.
Version
SearchOrgWideObjectConfig components are available in API version 61.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
string
masterLabel
Description
Required.
The name of the configuration.
Field Type
string
objectReference
Description
Required.
The API name of the object.
Field Type
SearchOrgWideFieldConfig[]
searchOrgWideFieldConfig
Description
A list of field configurations.
SearchOrgWideFieldConfig
Represents the configuration in the search index for a field in an object.
1558
SearchOrgWideObjectConfigMetadata Types
DescriptionField Name
Field Type
string
fieldReference
Description
Required.
The API name of the field.
Field Type
boolean
isSearchable
Description
Indicates if the field is searchable (true) or not (false). If true, the field is shown
in search results and used to match results.
Field Type
boolean
isSecure
Description
Indicates if the field is protected by field-level security in search (true) or not (false).
If true, the search engine uses this field to match results only for users with
permissions. If false, the search engine uses this field to match results even if the
user doesnt have permissions to view this field.
Declarative Metadata Sample Definition
The following is an example of a SearchOrgWideObjectConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<SearchOrgWideObjectConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>CustomerLabel</masterLabel>
<objectReference>Customer</objectReference>
<searchOrgWideFieldConfig>
<fieldReference>Custom_Field_1__c</fieldReference>
<isSearchable>false</isSearchable>
<isSecure>false</isSecure>
</searchOrgWideFieldConfig>
<searchOrgWideFieldConfig>
<fieldReference>Custom_Field_2__c</fieldReference>
<isSearchable>true</isSearchable>
<isSecure>true</isSecure>
</searchOrgWideFieldConfig>
</SearchOrgWideObjectConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
1559
SearchOrgWideObjectConfigMetadata Types
<name>SearchOrgWideObjectConfig</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
ServiceAISetupDefinition
Represents settings for an Einstein for Service feature such as Einstein Article Recommendations. This type extends the Metadata metadata
type and inherits its fullName field.
File Suffix and Directory Location
ServiceAISetupDefinition components have the suffix .serviceAISetupDescription and are stored in the
serviceAISetupDescriptions folder.
Version
ServiceAISetupDefinition components are available in API version 51.0 and later.
Special Access Rules
This type is available only when an org is configured to access the application in the appSourceType field. For example, if
appSourceType is set to ARTICLE_RECOMMENDATION, this type is available only if Einstein Article Recommendations is enabled
in the org and the Main Services Agreement has been accepted.
Fields
DescriptionField TypeField Name
Required. The target application for the configuration. Valid values are:ApplicationSourceType
(enumeration of
type string)
appSourceType
REPLY_RECOMMENDATIONEinstein Reply Recommendations
ARTICLE_RECOMMENDATIONEinstein Article
Recommendations
UTTERANCE_RECOMMENDATIONEinstein Bot utterances
FAQEinstein Bot frequently asked questions
Required. A reference to the configuration.stringname
1560
ServiceAISetupDefinitionMetadata Types
DescriptionField TypeField Name
Required. The status of the configuration. Valid values are:ServiceAISetupDefStatus
(enumeration of
type string)
setupStatus
FIELDS_SELECTED
TRAINING
READY_TO_ACTIVATE
SERVING
RETIRED
ARCHIVED
READY_FOR_REVIEW
Required when appSourceType is
ARTICLE_RECOMMENDATION. Language codes for selected and
supported languages.
stringsupportedLanguages
Declarative Metadata Sample Definition
Heres an example of a ServiceAISetupDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceAISetupDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<appSourceType>ARTICLE_RECOMMENDATION</appSourceType>
<name>SA1601228426202</name>
<setupStatus>ARCHIVED</setupStatus>
<supportedLanguages>en,de,fr,it,es,pt,nl</supportedLanguages>
</ServiceAISetupDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ServiceAISetupDefinition</name>
</types>
</Package>
Usage
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ServiceAISetupField
Represents a field on cases or knowledge articles that Einstein uses to identify relevant articles in Einstein Article Recommendations. This
type extends the Metadata metadata type and inherits its fullName field.
1561
ServiceAISetupFieldMetadata Types
File Suffix and Directory Location
ServiceAISetupField components have the suffix .serviceAiSetupField and are stored in the serviceAiSetupFields
folder.
Version
ServiceAISetupField components are available in API version 51.0 and later.
Special Access Rules
This type is available only if Einstein Article Recommendations is enabled in your org and the Main Services Agreement has been accepted.
Fields
DescriptionField TypeField Name
Required. The Case or KnowledgeArticle object for the field.stringentity
Required. The API name of the field.stringfield
Required. The field type. Valid values are:ServiceAISetupFieldType
(enumeration of
type string)
fieldMappingType
CASE_DESC
CASE_SUBJ
ARTICLE_TITLE
ARTICLE_CONTENT
ARTICLE_SUMMARY
Required. A positive number used to rank the fields importance. The
value 1 is most important; higher numbers indicate less important fields.
Einstein considers fields in the order of importance.
intfieldPosition
Required. A reference to the field.stringname
Required. A reference to the parent ServiceAISetupDefinition.stringsetupDefinition
Declarative Metadata Sample Definition
The following is an example of a ServiceAISetupField component.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceAISetupField xmlns="http://soap.sforce.com/2006/04/metadata">
<entity>Case</entity>
<field>Subject</field>
<fieldMappingType>CASE_SUBJ</fieldMappingType>
<fieldPosition>1</fieldPosition>
<name>SF16039900475920</name>
<setupDefinition>4hQRM0000004CDK</setupDefinition>
</ServiceAISetupField>
1562
ServiceAISetupFieldMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ServiceAISetupField</name>
</types>
</Package>
Usage
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ServiceChannel
Represents a channel of work items that are received from your organizationfor example, cases, chats, or leads.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ServiceChannel components have the suffix .serviceChannel and are stored in the serviceChannels folder.
Version
ServiceChannel components are available in API version 44.0 and later.
Special Access Rules
This type is available only if Omni-Channel is enabled in your org.
Fields
DescriptionField TypeField Name
The maximum length of time, measured in seconds, an agent can spend
on After Conversation Work (ACW) each time they extend the timer. You
intacwExtensionDuration
must set this field if hasAcwExtensionEnabled is set to true.
Specify a value from 10 through 3600. Available only for service channels
of type Messaging or Voice.
The maximum length of time, measured in seconds, an agent has to
complete After Conversation Work (ACW). You must set this field if
intafterConvoMaxTime
hasAfterConvoWorkTimer is set to true. Specify a value from
10 through 3600. Available only for service channels of type Messaging
or Voice.
1563
ServiceChannelMetadata Types
DescriptionField TypeField Name
For service channels of type Voice, this field is available in API version
52.0 and later. For service channels of type Messaging, this field is
available in API version 56.0 and later.
Automatically minimizes the Omni-Channel widget when an agent
accepts work. This field is available in API version 48.0 and later.
booleandoesMinimizeWidgetOnAccept
If set to true, agents can extend their After Conversation Work (ACW)
time. Available only if hasAfterConvoWorkTimer is set to true.
BooleanhasAcwExtensionEnabled
If set to true, you must also set the acwExtensionDuration
and maxExtensions fields. The default value is false. Available
only for service channels of type Messaging or Voice. This field is available
in API version 56.0 and later.
If set to true, After Conversation Work (ACW) time can be configured
for the channel. If set to true, you must also set the
BooleanhasAfterConvoWorkTimer
afterConvoWorkMaxTime field. The default value is false.
Available only for service channels of type Messaging or Voice.
For service channels of type Voice, this field is available in API version
52.0 and later. For service channels of type messaging, this field is
available in API version 56.0 and later.
Work items in a service channel open automatically in the agents
workspace so that the agent doesnt have to manually accept them.
BooleanhasAutoAcceptEnabled
The custom console component to open in the footer when an agent
accepts a work item from this service channel.
stringinteractionComponent
Indicates whether a work item consumes interruptible or primary
capacity. The default value is false. Available in API version 57.0 and later
when the Interruptible Capacity feature is enabled.
booleanisInterruptible
Required. The label of the service channel.stringlabel
The maximum number of times an agent can extend their After Work
Conversation (ACW) time. Specify a value from 1 through 10. You must
picklistmaxExtensions
set this field if hasAcwExtensionEnabled is set to true.
Available only for service channels of type Messaging or Voice. This field
is available in API version 56.0 and later.
Required. The type of object thats associated with this service channel.stringrelatedEntityType
The name of the standard field or the ID of the custom field that is used
for secondary routing priority. This field is available in API version 47.0
and later.
stringsecondaryRoutingPriorityField
Required. A set of mappings between secondary routing priority field
values and priorities. This field is available in API version 47.0 and later.
ServiceChannelFieldPriority[]serviceChannelFieldPriorities
1564
ServiceChannelMetadata Types
ServiceChannelFieldPriority
Represents a secondary routing priority field value mapping. Available in API version 47.0 and later.
DescriptionField TypeField Name
Required. The priority number assigned to the mapped field value.intpriority
Required. The value of the secondaryRoutingPriorityField field defined
in the parent ServiceChannel.
stringvalue
Declarative Metadata Sample Definition
The following is an example of a ServiceChannel component.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceChannel xmlns="http://soap.sforce.com/2006/04/metadata">
<doesMinimizeWidgetOnAccept>true</doesMinimizeWidgetOnAccept>
<interactionComponent>ConsoleComponent</interactionComponent>
<label>Case</label>
<relatedEntityType>Case</relatedEntityType>
<secondaryRoutingPriorityField>Status</secondaryRoutingPriorityField>
<serviceChannelFieldPriorities>
<priority>1</priority>
<value>Escalated</value>
</serviceChannelFieldPriorities>
<serviceChannelFieldPriorities>
<priority>2</priority>
<value>On Hold</value>
</serviceChannelFieldPriorities>
</ServiceChannel>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ServiceChannel</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1565
ServiceChannelMetadata Types
ServicePresenceStatus
Represents a presence status that can be assigned to a service channel. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
ServicePresenceStatus components have the suffix .servicePresenceStatus and are stored in the
servicePresenceStatuses folder.
Version
ServicePresenceStatus components are available in API version 44.0 and later.
Special Access Rules
This type is available only if Omni-Channel is enabled in your org.
Fields
DescriptionField TypeField Name
Represents the status thats associated with a specific service channel.ServiceChannelStatuschannels
The label of the presence status.stringlabel
ServiceChannelStatus
Represents the status thats associated with a specific service channel.
DescriptionField TypeField Name
Represents the channels assigned to the presence status.stringchannel
Declarative Metadata Sample Definition
The following is an example of a ServicePresenceStatus component.
<?xml version="1.0" encoding="UTF-8"?>
<ServicePresenceStatus xmlns="http://soap.sforce.com/2006/04/metadata">
<channels>
<channel>Case</channel>
</channels>
<label>Available for Cases</label>
</ServicePresenceStatus>
1566
ServicePresenceStatusMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ServicePresenceStatus</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ServiceProcess
Represents a process created in Service Process Studio and its associated attributes.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ServiceProcess components have the suffix .serviceprocess and are stored in the .serviceprocess folder.
Version
ServiceProcess components are available in API version 57.0 and later.
Special Access Rules
Access to the ServiceProcess type requires the AccessToServiceProcess permission.
Fields
DescriptionField Name
Field Type
string
description
Description
A meaningful explanation of the service process.
1567
ServiceProcessMetadata Types
DescriptionField Name
Field Type
string
processLabel
Description
Required.
A meaningful name for the service process.
Field Type
ServiceProcessAttribute[]
serviceProcessAttributes
Description
Custom attributes that store the data associated with the service process.
Field Type
ServiceProcessDependency[]
serviceProcessDependencies
Description
Dependent components of the service process, such as OmniScripts or flows.
Field Type
ServiceProcessItemGroup[]
serviceProcessItemGroups
Description
Groups of related ServiceProcessAttribute records.
Field Type
string
shortDescription
Description
A brief meaningful explanation of the service process.
Field Type
SvcCatalogItemUsageType (enumeration of type string)
usageType
Description
Required.
The Cloud that uses this service process.
Values are:
CustomerService
Employee
FinancialServices
Industry (available in version 58.0 and later)
1568
ServiceProcessMetadata Types
ServiceProcessAttribute
A custom attribute that stores data associated with a service process. For example, a service process that reverses a fee can have a Fee
Type attribute.
DescriptionField Name
Field Type
SvcCtlgItemAttrAttributeType (enumeration of type string)
attributeType
Description
A Base attribute corresponds to a SvcCatalogRequest field, which is subject to
field-level security. An Extended attribute is only a ServiceProcessAttribute object
record, which isn't subject to field-level security.
Values are:
Base
Extended
The default is Extended.
Field Type
SvcCatalogItemAttrDataType (enumeration of type string)
dataType
Description
The data type of the attribute.
Values are:
Checkbox
Currency
Date
Datetime
Integer
ListOfBoolean
ListOfDouble
ListOfInteger
ListOfMaps
ListOfString
Map
Number
Percentage
Text
The default is Text.
Note: Selecting Currency doesn't cause an error, but currency conversions
aren't supported.
1569
ServiceProcessMetadata Types
DescriptionField Name
Field Type
string
description
Description
A meaningful explanation of the attribute.
Field Type
string
developerName
Description
Required.
A system name for the attribute.
Field Type
string
fieldIdentifier
Description
For a Base attribute, the Developer Name of the SvcCatalogRequest field. This field
can be standard or custom.
Field Type
string
groupApiName
Description
The apiName of the ServiceProcessItemGroup to which this attribute belongs.
Field Type
string
inputVariableValue
Description
The default value of the attribute.
Field Type
boolean
isRequired
Description
Specifies whether the attribute is required. The default is false.
Field Type
string
label
Description
Required.
A meaningful name for the attribute.
Field Type
string
parentAttribute
1570
ServiceProcessMetadata Types
DescriptionField Name
Description
The parent attribute of this attribute. For example, a Latitude attribute can have
GeoLocation as a parent.
Field Type
int
sortOrder
Description
The position of the attribute in the payload relative to other attributes having no parent
or the same parent.
ServiceProcessDependency
A dependent component of the service process, which can be a flow, an OmniScript, an Integration Definition, or a preprocessor Apex
class.
DescriptionField Name
Field Type
string
dependencyReference
Description
Required.
The Developer Name of the flow, OmniScript, Integration Definition, or preprocessor
Apex class.
Field Type
SvcCatalogItemDependencyType (enumeration of type string)
type
Description
Required.
The type of dependent component.
Values are:
FlowDefinition
IntegrationProviderDef
OmniScriptConfig
PreprocessorApexClass
ServiceProcessItemGroup
A group of related ServiceProcessAttribute records.
1571
ServiceProcessMetadata Types
DescriptionField Name
Field Type
string
apiName
Description
Required.
The API Name of the group.
Field Type
string
groupName
Description
Required.
The name of the group.
Field Type
int
sortOrder
Description
Required.
The group display order.
Declarative Metadata Sample Definition
The following is an example of a ServiceProcess component.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceProcess xmlns="http://soap.sforce.com/2006/04/metadata">
<processLabel>EmailUpdate</processLabel>
<usageType>FinancialServices</usageType>
<serviceProcessAttributes>
<label>EmailAddress</label>
<developerName>EmailAddress</developerName>
<dataType>Text</dataType>
<groupApiName>Info</groupApiName>
</serviceProcessAttributes>
<serviceProcessDependencies>
<dependencyReference>EmailPreprocessor</dependencyReference>
<type>PreprocessorApexClass</type>
</serviceProcessDependencies>
<serviceProcessItemGroups>
<apiName>Info</apiName>
<groupName>Info</groupName>
<sortOrder>1</sortOrder>
</serviceProcessItemGroups>
</ServiceProcess>
1572
ServiceProcessMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ServiceProcess</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Settings
Represents the organization settings related to a feature. For example, your password policies, session settings and network access
controls are all available in the SecuritySettings component type.
Not all feature settings are available in the Metadata API. See Unsupported Metadata Types on page 156 for information on which feature
settings are not available.
Settings can be accessed using the specific component member or via wildcard. For example, in the package manifest file you would
use the following section to access SecuritySettings:
<types>
<members>Security</members>
<name>Settings</name>
</types>
The member format when used in the package manifest is the component metadata type name without the Settings suffix, so in the
preceding example Security is used instead of SecuritySettings.
File Suffix and Directory Location
Each settings component gets stored in a single file in the settings directory of the corresponding package directory. The filename
uses the format Setting feature.settings. For example, the SecuritySettings file would be Security.settings. See
File Suffix and Directory Location information for the individual settings components to determine the exact filename.
Version
Settings is available in API version 27.0 and later. See the version information for the individual setting component to determine which
API version the settings component became available.
1573
SettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example package manifest used to deploy or retrieve only the MobileSettings for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Mobile</members>
<name>Settings</name>
</types>
<version>27.0</version>
</Package>
The following is an example package manifest used to deploy or retrieve all the available settings metadata for an organization, using
a wildcard:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>Settings</name>
</types>
<version>27.0</version>
</Package>
AccountSettings
Represents an orgs account settings for account teams, account owner report, and the View Hierarchy link.
AccountInsightsSettings
Represents an orgs Einstein Account Insights settings. This setting controls features that help your reps maintain their relationships
with their customers.
AccountIntelligenceSettings
Represents an orgs Account Intelligence settings. These settings control features that make it easy for sales reps to create accounts,
see relevant news articles, and add logos to account records. This type extends the Metadata metadata type and inherits its
fullName field.
AccountingSettings
Represents the settings for the Accounting Subledger feature.
ActionsSettings
Represents an orgs actions settings for default quick actions, multi-dimensional publisher, and third-party actions. This type extends
the Metadata metadata type and inherits its fullName field.
ActivitiesSettings
Represents an orgs activity settings, and its user interface settings for the calendar. This type extends the Metadata metadata type
and inherits its fullName field.
AddressSettings
Represents the configuration of country/territory and state picklists. Use the AddressSettings component type to configure state
and country/territory data in your organization so that you can convert text-based values into standard picklist values. To convert
your state and country/territory values, from Setup, enter State and Country/Territory Picklists in the Quick
Find box, then select State and Country/Territory Picklists.
1574
SettingsMetadata Types
AIReplyRecommendationsSettings
Represents the metadata used to manage settings for Einstein Reply Recommendations. This type extends the Metadata metadata
type and inherits its fullName field.
AnalyticsSettings
Represents Analytics settings in Salesforce. CRM Analytics lets you explore all your data quickly and easily by providing AI-powered
advanced Analytics right inside Salesforce. Manage your datasets, query data with Salesforce Analytics Query Language (SAQL), and
customize dashboards. You can use these settings to configure which Analytics features are available to users in your organization.
ApexSettings
Represents Apex-related org settings. This type extends the Metadata metadata type and inherits its fullName field.
AppAnalyticsSettings
Represents settings to retrieve AppExchange App Analytics usage data.
AppExperienceSettings
Represents settings for the app experience.This type extends the Metadata metadata type and inherits its fullName field.
AssociationEngineSettings
Represents the record association builder settings for an org. This type extends the Metadata metadata type and inherits its
fullName field.
AutomatedContactsSettings
Represents an orgs Einstein Automated Contacts settings. These settings let you find new contacts and opportunity contact roles.
This type extends the Metadata metadata type and inherits its fullName field.
BotSettings
Represents an organizations Einstein Bot settings, such as whether or not Einstein Bots is enabled. This type extends the Metadata
metadata type and inherits its fullName field.
BranchManagementSettings
Represents the branch management settings for an org. This type extends the Metadata metadata type and inherits its fullName
field.
BusinessHoursSettings
Represents the metadata used to manage settings for business hours and holidays in entitlements, entitlement templates, campaigns,
and cases. This type extends the Metadata metadata type and inherits its fullName field.
CampaignSettings
Represents an orgs Campaign Influence, Einstein Attribution, Einstein Key Accounts, and campaign member settings. These features
help you understand how your campaigns and accounts are affecting your opportunity pipeline. This type extends the Metadata
metadata type and inherits its fullName field.
CaseSettings
Represents an organizations case settings, such as the default case owner, which case-related features are enabled, and which
Classic email templates are used for various case activities. This type extends the Metadata metadata type and inherits its fullName
field.
ChatterAnswersSettings
Represents the metadata used to manage settings for Chatter Answers.
ChatterEmailsMDSettings
Represents an orgs settings for Chatter email when Chatter is enabled. This type extends the Metadata metadata type and inherits
its fullName field.
1575
SettingsMetadata Types
ChatterSettings
Represents an orgs settings for their Chatter instance when Chatter is enabled for the org. This type extends the Metadata metadata
type and inherits its fullName field.
CodeBuilderSettings
Represents Code Builder settings. This type extends the Metadata metadata type and inherits its fullName field.
CollectionsDashboardSettings
Represents an orgs settings to add the Collections Dashboard application to an org.
CommunitiesSettings
Represents community settings for an org. Enable digital experiences and workspaces. Manage moderation, guest user and partner
settings, and more. This type extends the Metadata metadata type and inherits its fullName field.
CompanySettings
Represents global settings that affect multiple features in your organization. This type extends the Metadata metadata type and
inherits its fullName field.
ConnectedAppSettings
Represents settings for connected apps. This type extends the Metadata metadata type and inherits its fullName field.
ContentSettings
Represents content settings for an org. This type extends the Metadata metadata type and inherits its fullName field.
ContractSettings
Represents contract settings.
ConversationalIntelligenceSettings
Represents the org's Einstein Conversation Insights settings, such as whether Einstein Conversation Insights is enabled. Einstein
Conversation Insights lets you analyze your rep's call recordings, and gives you the insights you need to optimize every call.
ConversationChannelDefinition
Represents the conversation channel definition thats implemented for interaction service. Examples of conversation channels include
Messaging and Voice. This object is available in API version 60.0 and later.
CurrencySettings
Represents an organizations currency settings, including supporting multiple currencies and currency effective dates. This type
extends the Metadata metadata type and inherits its fullName field.
CustomAddressFieldSettings
Represents the settings for custom address fields.
DataDotComSettings
Represents the org's Data.com settings. This type extends the Metadata metadata type and inherits its fullName field.
DataImportManagementSettings
Represents an org's contact and leads import settings.
DeploymentSettings
Represents the settings affecting how deployments behave in the org. This type extends the Metadata metadata type and inherits
its fullName field.
DevHubSettings
Represents Dev Hub settings.
DocumentGenerationSetting
Represents an org's settings for automatic document generation from templates. This type extends the Metadata metadata type
and inherits its fullName field.
1576
SettingsMetadata Types
DynamicFormsSettings
Represents the settings related to Dynamic Forms.
EACSettings
Represents the Einstein Activity Capture metadata type. Use Einstein Activity Capture to add emails and events from your Microsoft
or Google account to the activity timeline of related Salesforce records. Automatically sync contact and event data between your
Microsoft or Google account and Salesforce. This type extends the Metadata metadata type and inherits its fullName field.
EinsteinAgentSettings
Represents settings for Einstein classification apps, Einstein Case Classification and Einstein Case Wrap-Up, in an org. This type
extends the Metadata metadata type and inherits its fullName field.
EmailAdministrationSettings
Represents an organizations email administration settings, including email deliverability, security compliance, relay configurations,
and system notifications. This type extends the Metadata metadata type and inherits its fullName field.
EmailIntegrationSettings
Represents an orgs settings for the Outlook integration, Gmail integration, and Salesforce Inbox. This type extends the Metadata
metadata type and inherits its fullName field.
EmailTemplateSettings
Represents an orgs email template settings. This type extends the Metadata metadata type and inherits its fullName field.
EmployeeUserSettings
Represents the employee-user settings used for automatically creating or syncing employee and user data in work.com orgs. This
type extends the Metadata metadata type and inherits its fullName field.
EnhancedNotesSettings
Represents an orgs enhanced note settings, such as enabling enhanced notes and enabling tasks in enhanced notes.This type
extends the Metadata metadata type and inherits its fullName field.
EncryptionKeySettings
Represents an orgs encryption key settings, such as customer-supplied keys options and key derivation settings. This type extends
the Metadata metadata type and inherits its fullName field.
EntitlementSettings
Represents an organizations entitlement settings.
EventSettings
Represents an org's platform event settings for Event Monitoring.
ExperienceBundleSettings
Represents the org setting that enables the ExperienceBundle metadata type for Aura sites in Experience Cloud. The setting doesnt
affect LWR sites, which use ExperienceBundle by default. This type extends the Metadata metadata type and inherits its fullName
field.
ExternalClientAppSettings
Represents settings to enable the External Client App feature and provide access to the OAuth consumer secret.
ExternalServicesSettings
Represents settings for an External Services registration.
FieldServiceSettings
Represents an organizations Field Service settings.
1577
SettingsMetadata Types
FilesConnectSettings
Represents the settings that modify the Files Connect feature.This type extends the Metadata metadata type and inherits its
fullName field.
FileUploadAndDownloadSecuritySettings
Represents the security settings for uploading and downloading files. This type extends the Metadata metadata type and inherits
its fullName field.
FlowSettings
Represents the Salesforce settings for processes and flows, such as whether Lightning runtime for flows is enabled.
ForecastingObjectListSettings
Represents an orgs forecasting object list settings. Use these settings to control which object types and field types appear in the list
of object details on the forecasts page. This type extends the Metadata metadata type and inherits its fullName field.
ForecastingSettings
Represents the Collaborative Forecasts settings options. This type extends the Metadata metadata type and inherits its fullName
field.
HighVelocitySalesSettings
Represents an orgs Sales Engagement settings. With Sales Engagement, you can make your inside sales team as effective as possible.
IdeasSettings
Represents the metadata used to manage settings for Ideas.
IdentityProviderSettings
Represents the settings used to enable or disable Salesforce as a SAML identity provider for single sign-on (SSO).
IframeWhiteListUrlSettings
Represents settings related to the list of trusted external domains that you allow to frame your Visualforce pages or surveys. This
type extends the Metadata metadata type and inherits its fullName field.
IncidentMgmtSettings
Represents settings for Customer Service Incident Management and Broadcast Communications.
IndustriesEinsteinFeatureSettings
Represents the settings for enabling the Industries Einstein feature.
IndustriesLoyaltySettings
Represents the settings to enable capabilities of Loyalty Management.
IndustriesSettings
Represents settings for industries verticals such as Financial Services Cloud, Consumer Goods Cloud, Public Sector Solutions, Education
Cloud, Salesforce Scheduler, Life Sciences Cloud, and Health Cloud.
InterestTaggingSettings
Represents settings for Interest Tags, which your users can add to client records to capture client needs, interests, and prospecting
opportunities.
InventorySettings
Represents options for the Salesforce Omnichannel Inventory product.This type extends the Metadata metadata type and inherits
its fullName field.
InvLatePymntRiskCalcSettings
Represents the orgs settings to identify the level of risks associated with payment of invoices.
1578
SettingsMetadata Types
InvocableActionSettings
Represents the orgs invocable action settings, such as whether partial save is allowed.This type extends the Metadata metadata
type and inherits its fullName field.
KnowledgeSettings
Represents the metadata used to manage settings for Salesforce Knowledge.
LanguageSettings
Represents an organizations language settings. Language settings control end-user language selection, locale formats, and translation
options. This type extends the Metadata metadata type and inherits its fullName field.
LeadConfigSettings
Represents configuration settings for Leads that control how they are converted and displayed, and what actions are available. This
type extends the Metadata metadata type and inherits its fullName field.
LeadConvertSettings
Represents an organizations custom field mappings for lead conversion. Custom fields can be mapped from Leads to Accounts,
Contacts, and Opportunities. Options for creating opportunities during lead conversion can also be specified. This type extends the
Metadata metadata type and inherits its fullName field.
LiveAgentSettings
Represents an organizations Chat settings, such as whether Chat is enabled. This type extends the Metadata metadata type and
inherits its fullName field.
LightningExperienceSettings
Represents the settings that modify an orgs Lightning Experience configuration. This type extends the Metadata metadata type and
inherits its fullName field.
LiveMessageSettings
Represents an orgs LiveMessage settings.
MacroSettings
Represents an organizations Macro settings, such as whether or not folders is enabled. This type extends the Metadata metadata
type and inherits its fullName field.
MailMergeSettings
Represents the settings for Extended Mail Merge functionality.
MapAndLocationSettings
Represents an orgs map and location settings.
MeetingsSettings
Represents the settings to enable Salesforce Meetings and the integration with Zoom video conferencing.
MobileSettings
Represents an organizations mobile settings. This type extends the Metadata metadata type and inherits its fullName field.
MyDomainSettings
Represents your orgs My Domain settings. With My Domain, you can include your company name in your URLs, for example,
https://yourcompanyname.my.salesforce.com. This type extends the Metadata metadata type and inherits its
fullName field.
MfgServiceConsoleSettings
Represents the settings to access the Service Console for Manufacturing.This type extends the Metadata metadata type and inherits
its fullName field.
1579
SettingsMetadata Types
NameSettings
Enables or disables the formal name, middle name, and suffix attributes for these person objects: Contact, Lead, Person Account,
and User. This type extends the Metadata metadata type and inherits its fullName field.
NotificationsSettings
Represents an organizations mobile settings.
OauthOidcSettings
Represents org settings for disabling OAuth OpenID Connect authorization flows.
ObjectHierarchyRelationship
Represents an organizations custom field mappings for sales agreement conversion. Fields can be mapped from Opportunity and
Quotes to SalesAgreement and SalesAgreementProduct.
ObjectLinkingSettings (Beta)
Represents the channel-object linking settings for an org. This type extends the Metadata metadata type and inherits its fullName
field.
OmniChannelSettings
Represents the Omni-Channel settings for an org. This type extends the Metadata metadata type and inherits its fullName field.
OmniInteractionAccessConfig
Represents configuration settings for access to OmniStudio FlexCard caching and data sources.
OmniInteractionConfig
Represents configuration settings for OmniStudio.
OpportunityInsightsSettings
Represents an orgs Einstein Opportunity Insights settings. This setting controls features that give you relevant updates about your
opportunities.
OpportunitySettings
Represents org preferences for features such as automatic opportunity updates and similar-opportunity filters.
OpportunityScoreSettings
Represents an orgs Einstein Opportunity Scoring settings, such as whether or not Einstein Opportunity Scoring is enabled. Einstein
Opportunity Scoring helps determine the likelihood of an opportunity being won. This type extends the Metadata metadata type
and inherits its fullName field.
OrderManagementSettings
Represents options for the Salesforce Order Management product.This type extends the Metadata metadata type and inherits its
fullName field.
OrderSettings
Represents order settings.
OrgPreferenceSettings
Removed in API version 48.0. Represents the unique org preference settings in a Salesforce org.
OrgSettings
Represents the settings for org-wide functionality that isnt associated with any specific feature.This type extends the Metadata
metadata type and inherits its fullName field.
PartyDataModelSettings
Represents an organizations party data model settings, including options around the Individual object and consent enablement.
This type extends the Metadata metadata type and inherits its fullName field.
1580
SettingsMetadata Types
PardotSettings
Represents Marketing Cloud Account Engagement settings in your Salesforce org. Account Engagement, formerly known as Pardot,
is a B2B marketing automation solution that helps you create meaningful connections, generate more pipeline, and close more
deals. Use these settings to configure how Account Engagement collects and displays data.
PardotEinsteinSettings
Represents PardotEinsteinSettings. Use these settings to learn what factors drive your campaign performance, and get the best
possible engagement score for your prospects. This type extends the Metadata metadata type and inherits its fullName field.
PathAssistantSettings
Represents the Path preference setting. This type extends the Metadata metadata type and inherits its fullName field.
PaymentsSettings
Represents the Salesforce Payments settings when this feature is enabled for the org.
PicklistSettings
Represents an orgs picklist settings. These settings control the behavior of a picklist. This type extends the Metadata metadata type
and inherits its fullName field.
PlatformEncryptionSettings
Represents an orgs Platform Encryption settings, such as settings for available encryption schemes, permissions, encryption policy
access, and which fields can be encrypted. This type extends the Metadata metadata type and inherits its fullName field.
PlatformEventSettings
Represents settings for platform events and change data capture events.
PredictionBuilderSettings
Represents the settings that determine how a user can interact with Einstein Prediction Builder. This type extends the Metadata
metadata type and inherits its fullName field.
PrivacySettings
Represents an organizations settings for data privacy and consent management. This type extends the Metadata metadata type
and inherits its fullName field.
ProcessFlowMigration
Represents a process's migrated criteria and the resulting migrated flow.
ProductSettings
Represents organization preferences for quantity schedules, revenue schedules, and active flag interaction with prices. This type
extends the Metadata metadata type and inherits its fullName field.
QuoteSettings
Represents an orgs quotes settings, such as enabling quotes or creating quotes without an associated opportunity. This type extends
the Metadata metadata type and inherits its fullName field.
RealTimeEventSettings
Represents the list of Real-Time Event entities that you want to enable or disable. This type extends the Metadata metadata type
and inherits its fullName field.
RecordPageSettings
Represents an orgs record page settings. This type extends the Metadata metadata type and inherits its fullName field.
RetailExecutionSettings
Represents settings to manage your inventory, promotions, planograms, and in-store activities.
1581
SettingsMetadata Types
SalesAgreementSettings
Represents settings that control the display of agreement terms metrics in sales agreements and the calculation of the actual quantity
of products in sales agreements. These settings also control the approval of sales agreements.
SandboxSettings
Represents Sandbox settings. This type extends the Metadata metadata type and inherits its fullName field.
SchemaSettings
Represents an orgs schema settings, which manage the availability of custom settings and custom metadata type values. This type
extends the Metadata metadata type and inherits its fullName field.
SearchSettings
Represents an org's search settings.
SecuritySettings
Represents an orgs security settings. For example, settings define trusted IP ranges for network access, password and login
requirements, session expiration, and single sign-on settings.
ServiceCloudVoiceSettings
Represents an organizations Service Cloud Voice settings. This type extends the Metadata metadata type and inherits its fullName
field.
ServiceSetupAssistantSettings
Represents an organizations Service Setup Assistant settings. The Service Setup Assistant can be used to set up a basic service
console app.
SharingSettings
Represents an organizations sharing, visibility, and data access settings. This type extends the Metadata metadata type and inherits
its fullName field.
SiteSettings
Represents the settings for Experience Cloud sites and for Salesforce Sites.
SocialCustomerServiceSettings
Represents Social Customer Service settings such as how to format inbound content from social posts to cases. This type extends
the Metadata metadata type and inherits its fullName field.
SocialProfileSettings
Represents org preferences for social media features such as enabling Twitter and Facebook.Represents org preferences for social
media features such as enabling Twitter and Facebook. This type extends the Metadata metadata type and inherits the fullName
field.
SourceTrackingSettings (Beta)
Represents settings for source tracking, so that changes you make in your Developer and Developer Pro sandboxes or local workspace
can be tracked. This type extends the Metadata metadata type and inherits its fullName field.
SubscriptionManagementSettings
Represents the settings used to manage recurring subscriptions.
SurveySettings
Represents an orgs survey settings. Use the SurveySettings component to enable Salesforce Surveys, enable Customer Lifecyle Maps
and choose whether the owner of a survey can manage the responses. This type extends the Metadata metadata type and inherits
its fullName field.
1582
SettingsMetadata Types
Territory2Settings
Represents an orgs Territory2 settings. Use Territory2 settings to set the access level that Territory Management 2.0 users have to
records associated with sales territories, and to enable features. The standard record access settings apply to accounts and opportunities.
If your Salesforce org uses Private default internal access for contacts or cases, you can also set access for those records. This
type extends the Metadata metadata type and inherits its fullName field.
TrailheadSettings
Represents an orgs integration with Trailhead for Learning Paths or Enablement programs, including access to enablement sites
(formerly myTrailhead).
TrialOrgSettings
Represents the settings in a trial users org. This type extends the Metadata metadata type and inherits its fullName field.
UserEngagementSettings
Represents the metadata associated with various feature settings around Lightning Experience transition and adoption, user
engagement and adoption assistance, and adoption apps. This type extends the Metadata metadata type and inherits its fullName
field.
UserInterfaceSettings
Represents the settings that modify the behavior of the orgs user interface. This type extends the Metadata metadata type and
inherits its fullName field.
UserManagementSettings
Represents a selection of user management options that appear on the User Management Settings Setup page. This type extends
the Metadata metadata type and inherits its fullName field.
VoiceSettings
Represents an orgs Sales Dialer settings, such as call recording, conferencing, and voicemail. This type extends the Metadata metadata
type and inherits its fullName field.
WarrantyLifeCycleMgmtSettings
Represents settings that control the Warranty Administration for your org.
WorkDotComSettings
Represents WorkDotCom settings. This type extends the Metadata metadata type and inherits its fullName field.
WorkforceEngagementSettings
Represents settings for Workforce Engagement Management.
AccountSettings
Represents an orgs account settings for account teams, account owner report, and the View Hierarchy link.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
AccountSettings values are stored in the Account.settings file in the settings folder. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
AccountSettings is available in API versions 29.0 and later.
1583
AccountSettingsMetadata Types
Fields
DescriptionField TypeField Name
When true, sets up Einstein Account Management dashboards and
installs the related CRM Analytics and Customer Insights apps. The
booleanenableAccountDiscovery
dashboards give users access to account health analytics including
metrics on open pipeline, risk, and engagement scores.
Einstein Account Management is part of Revenue Intelligence, which is
available for an additional cost.
Available in API version 57.0 and later.
Indicates whether history tracking is enabled for accounts (true) or
not (false). The default value is false. If history tracking is disabled,
booleanenableAccountHistoryTracking
the History related list is removed from account page layouts. However,
history data is still available for reporting up to the date and time when
tracking was disabled. Available in API version 47.0 and later.
Deprecated in API version 59.0 and later because the feature is no longer
available. Indicates whether users can see Einstein Account Insights on
booleanenableAccountInsightsInMobile
their mobile device (true) or not (false). Insights appear in the
Einstein Insights component, which is on account records and the Home
page.
To use this feature, users must have the Einstein Account Insights
permission.
Available in API version 47.0 to 58.0.
Indicates whether the Account Owner Report can (true) or cant
(false) be run by all users.
booleanenableAccountOwnerReport
Indicates whether account teams are enabled (true) or not (false).
The Metadata API cant be used to disable account teams.
booleanenableAccountTeams
Indicates whether history tracking is enabled for contacts (true) or not
(false). Available in API version 46.0 and later.
booleanenableContactHistoryTracking
Indicates whether users can relate a contact to multiple accounts (true)
or only one account (false). The default value is false. If this feature
booleanenableRelateContactToMultipleAccounts
(Contacts to Multiple Accounts) is disabled, secondary contactaccount
relationships created while the feature was enabled are deleted. Available
in API version 47.0 and later.
Avoid using the Metadata API to enable this feature. Use the Account
Settings page in Setup to enable Contacts to Multiple Accounts.
Indicates whether the default View Hierarchy link on all business
account detail pages is visible (true) or hidden (false).
booleanshowViewHierarchyLink
1584
AccountSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of the Account.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<AccountSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAccountDiscovery>true</enableAccountDiscovery>
<enableAccountHistoryTracking>true</enableAccountHistoryTracking>
<enableAccountInsightsInMobile>false</enableAccountInsightsInMobile>
<enableAccountOwnerReport>true</enableAccountOwnerReport>
<enableAccountTeams>true</enableAccountTeams>
<enableContactHistoryTracking>true</enableContactHistoryTracking>
<enableRelateContactToMultipleAccounts>true</enableRelateContactToMultipleAccounts>
<showViewHierarchyLink>true</showViewHierarchyLink>
</AccountSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Account settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Account</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AccountInsightsSettings
Represents an orgs Einstein Account Insights settings. This setting controls features that help your reps maintain their relationships with
their customers.
Note: This metadata type has been deprecated as of API version 59.0.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
AccountInsightsSettings values are stored in the AccountInsights.settings file in the settings folder. The .settings
files are different from other named components because theres only one settings file for each settings component.
1585
AccountInsightsSettingsMetadata Types
Version
AccountInsightsSettings is available in API versions 48.0 to 58.0.
Fields
DescriptionField TypeField Name
Indicates whether Einstein Account Insights is enabled (true) or not
(false). The default value is false.
booleanenableAccountInsights
Declarative Metadata Sample Definition
The following is an example of the AccountInsights.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<AccountInsightsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAccountInsights>true</enableAccountInsights>
</AccountInsightsSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the AccountInsights settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AccountInsights</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AccountIntelligenceSettings
Represents an orgs Account Intelligence settings. These settings control features that make it easy for sales reps to create accounts, see
relevant news articles, and add logos to account records. This type extends the Metadata metadata type and inherits its fullName
field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1586
AccountIntelligenceSettingsMetadata Types
File Suffix and Directory Location
AccountIntelligenceSettings values are stored in the AccountIntelligence.settings file in the settings folder. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
AccountIntelligenceSettings is available in API versions 48.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether your sales reps can see available company logos
(true) or not (false). The logos are for US-based companies only.
The default value is false.
enableAutomatedAccountFields must be true to use this
setting.
booleanenableAccountLogos
Indicates whether Automated Account Fields is enabled (true) or not
(false). The default value is false.
booleanenableAutomatedAccountFields
Indicates whether News is enabled (true) or not (false). The default
value is false.
enableAutomatedAccountFields must be true to use this
setting.
booleanenableNewsStories
Declarative Metadata Sample Definition
The following is an example of the AccountIntelligence.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<AccountIntelligenceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAccountLogos>true</enableAccountLogos>
<enableAutomatedAccountFields>true</enableAutomatedAccountFields>
<enableNewsStories>true</enableNewsStories>
</AccountIntelligenceSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the AccountIntelligence settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AccountIntelligence</members>
<name>Settings</name>
</types>
1587
AccountIntelligenceSettingsMetadata Types
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AccountingSettings
Represents the settings for the Accounting Subledger feature.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
AccountingSettings values are stored in the AccountingSettings.settings file in the settings folder. The
.settings files are different from other named components, because there is only one settings file for each settings component.
Version
AccountingSettings components are available in API version 57.0 and later.
Fields
DescriptionField Name
Field Type
boolean
enableAccountingSubledger
Description
Indicates whether Transaction Journal creation is enabled for the organization (true)
or not (false).
Field Type
boolean
enableFinancePeriod
Description
Reserved for internal use.
Field Type
boolean
enablePaymentMethodAdjust
1588
AccountingSettingsMetadata Types
DescriptionField Name
Description
Indicates whether changes to the Payment Method generate adjustments on
Transaction Journal records (true) or not (false).
Field Type
boolean
enableScheduledJob
Description
Reserved for internal use.
Declarative Metadata Sample Definition
The following is an example of an AccountingSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<AccountingSettings
xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAccountingSubledger>true</enableAccountingSubledger>
<enablePaymentMethodAdjust>true</enablePaymentMethodAdjust>
</AccountingSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Accounting</members>
<name>Settings</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActionsSettings
Represents an orgs actions settings for default quick actions, multi-dimensional publisher, and third-party actions. This type extends
the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1589
ActionsSettingsMetadata Types
File Suffix and Directory Location
ActionsSettings values are stored in the Actions.settings file in the settings folder. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
Components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether default quick actions are created in the org (true,
the default setting) or not (false).
booleanenableDefaultQuickActionsOn
Indicates whether multi-dimensional publisher is enabled (true, the
default setting) or not (false).
booleanenableMdpEnabled
Indicates whether third-party actions are displayed in the
multi-dimensional publisher (true) or not (false, the default setting).
booleanenableThirdPartyActions
Indicates whether a button or link is available offline (true), or if it's
only available online (false, the default setting).
booleanenableOfflineWebLinks
Declarative Metadata Sample Definition
The following is an example of an ActionsSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ActionsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<DefaultQuickActionsOn>true</DefaultQuickActionsOn>
<MdpEnabled>true</MdpEnabled>
<ThirdPartyActions>true</ThirdPartyActions>
</ActionsSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ActivitiesSettings
Represents an orgs activity settings, and its user interface settings for the calendar. This type extends the Metadata metadata type and
inherits its fullName field.
Use the ActivitiesSettings component type to control the following activity settings:
Configure group and recurring tasks, recurring and multiday events, and email tracking
Relate multiple contacts to tasks and events (shared activities)
1590
ActivitiesSettingsMetadata Types
Display custom logos in meeting requests
Also use the ActivitiesSettings component type to control user interface settings for the calendar, including hover links and drag-and-drop
editing.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ActivitiesSettings values are stored in the Activities.settings file in the settings directory. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
ActivitiesSettings is available in API versions 28.0 and later.
Fields
Settings for all types listed below are controlled on the Activity Settings page or the User Interface settings page as noted.
DescriptionField TypeField Name
This field indicates whether Shared Activities is enabled. When the value
is true, allows users to relate multiple contacts to a task or event.
booleanallowUsersToRelateMultipleContactsToTasksAndEvents
Important: Beginning with API v36.0, this field is read-only in
all versions of the API. You cant change the value of this field.
Even though this field was updateable before Spring '16, changing
this fields value wasn't supported and could have resulted in an
incorrect integration. If you have code in older API versions that
changes the value of this field, ensure that you update that code
to prevent any errors.
When users add attendees to events, events are automatically related
to up to 50 contacts or one lead. An attendee is matched by their email
address to a contact or lead.
Admins control this field on the Activity Settings page.
booleanautoRelateEventAttendees
Available in API version 42.0 and later.
Enables popup activity reminders for an organization.
Admins control this field on the Activity Settings page.
booleanenableActivityReminders
Enables Lightning Web Components for Calendar. Increases the default
item limit in Calendar Home and applies styling enhancements to
improve readability.
Admins control this field on the Activity Settings page.
booleanenableCalendarHomeLWC
Lets users create events in day and weekly calendar views by
double-clicking a specific time slot and entering the details of the event
booleanenableClickCreateEvents
in an overlay. Hovering over an event displays an overlay where users
1591
ActivitiesSettingsMetadata Types
DescriptionField TypeField Name
can view the event details or delete the event without leaving the page.
Admins use a mini page layout to configure the fields shown in the
overlays. Doesnt support recurring events or multi-person events.
Admins control this field on the User Interface settings page.
Lets users create events associated with records by dragging a record
from a list view onto a calendar view and entering the details of the
booleanenableDragAndDropScheduling
event in an overlay. Hovering over an event displays an overlay where
users can view the event details or delete the event without leaving the
page. Admins use a mini page layout to configure the fields shown in
the overlays.
Admins control this field on the User Interface settings page.
Enables tracking of outbound HTML emails if an organization uses HTML
email templates.
Admins control this field on the Activity Settings page.
booleanenableEmailTracking
Lets users assign independent copies of a new task to multiple users.
Admins control this field on the Activity Settings page.
booleanenableGroupTasks
Extends the functionality of enableDragAndDropScheduling
and enableClickCreateEvents to list view calendars.
Admins control this field on the User Interface settings page.
booleanenableListViewScheduling
Enables creation of events that end more than 24 hours after they start.
Admins control this field on the Activity Settings page.
booleanenableMultidayEvents
Enables creation of events that repeat at specified intervals.
Admins control this field on the Activity Settings page.
booleanenableRecurringEvents
Enables creation of tasks that repeat at specified intervals.
Admins control this field on the Activity Settings page.
booleanenableRecurringTasks
Enables a contacts activities to be rolled up and displayed on the
contacts primary account. Default value is true.
Available in API versions 47.0 and later.
booleanenableRollUpActivToContactsAcct
In the sidebar, displays a shortcut link to a users last-used calendar view.
Admins control this field on the Activity Settings page.
booleanenableSidebarCalendarShortcut
Allows admins to specify whether tapping New Task in Salesforce opens
a regular task record edit page or a page that displays key task fields first.
Admins control this field on the Activity Settings page.
booleanenableSimpleTaskCreateUI
1592
ActivitiesSettingsMetadata Types
DescriptionField TypeField Name
Allows admins to sort past activities by completed date (true). If
false, activities are sorted by due date.
Admins control this field on the Activity Settings page.
booleanenableTimelineCompDateSort
On the Activity Settings page, exposes a setting for Admins to hide or
show a user setting that lets individual users enable or disable email
notifications when tasks are assigned to them.
booleanenableUNSTaskDelegatedToNotifications
Allows users to create and view user list view calendars in Lightning
Experience. Available in API versions 47.0 and later
booleanenableUserListViewCalendars
Available when showCustomLogoMeetingRequests is enabled.
Uploads a custom logo. An administrator can select only a logo that has
been uploaded to certain folders in the Documents tab.
Admins control this field on the Activity Settings page.
stringmeetingRequestsLogo
Displays a custom logo in meeting request emails and on a meetings
Web page. Invitees see the logo when a user either invites them to an
event or requests a meeting.
Admins control this field on the Activity Settings page.
booleanshowCustomLogoMeetingRequests
Displays event details on-screen rather than in hover text.
Admins control this field on the Activity Settings page.
booleanshowEventDetailsMultiUserCalendar
In the calendar section of the Home tab:booleanshowHomePageHoverLinksForEvents
When a user hovers over the subject of an event, a hover link displays
an overlay with selected event details. (Hover links are always
available in other calendar views.)
When a user clicks the subject of an event, displays the event detail
page.
Admins use a mini page layout to configure the fields shown in the
overlay.
Admins control this field on the User Interface settings page.
In the My Tasks section of the Home tab and on the calendar day view:booleanshowMyTasksHoverLinks
When a user hovers over the subject of a task, a hover link displays
an overlay with selected task details.
When a user clicks the subject of a task, displays the task detail page.
Admins use a mini page layout to configure the fields shown in the
overlay.
Admins control this field on the User Interface settings page.
1593
ActivitiesSettingsMetadata Types
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the activity settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Activities</members>
<name>Settings</name>
</types>
<version>28.0</version>
</Package>
Declarative Metadata Sample Definition
The following is an example of an activity settings file:
<?xml version="1.0" encoding="UTF-8"?>
<ActivitiesSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableActivityReminders>true</enableActivityReminders>
<autoRelateEventAttendees>true</autoRelateEventAttendees>
<enableClickCreateEvents>true</enableClickCreateEvents>
<enableDragAndDropScheduling>true</enableDragAndDropScheduling>
<enableEmailTracking>true</enableEmailTracking>
<enableGroupTasks>true</enableGroupTasks>
<enableListViewScheduling>true</enableListViewScheduling>
<enableMultidayEvents>true</enableMultidayEvents>
<enableRecurringEvents>true</enableRecurringEvents>
<enableRollUpActivToContactsAcct>true</enableRollUpActivToContactsAcct>
<enableRecurringTasks>true</enableRecurringTasks>
<enableTimelineCompDateSort>true</enableTimelineCompDateSort>
<enableUserListViewCalendars>true</enableUserListViewCalendars>
<enableSidebarCalendarShortcut>true</enableSidebarCalendarShortcut>
<meetingRequestsLogo>Folder02/logo03.png</meetingRequestsLogo>
<showCustomLogoMeetingRequests>true</showCustomLogoMeetingRequests>
<showEventDetailsMultiUserCalendar>true</showEventDetailsMultiUserCalendar>
<showHomePageHoverLinksForEvents>true</showHomePageHoverLinksForEvents>
<showMyTasksHoverLinks>true</showMyTasksHoverLinks>
</ActivitiesSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Document
1594
ActivitiesSettingsMetadata Types
AddressSettings
Represents the configuration of country/territory and state picklists. Use the AddressSettings component type to configure state and
country/territory data in your organization so that you can convert text-based values into standard picklist values. To convert your state
and country/territory values, from Setup, enter State and Country/Territory Picklists in the Quick Find box, then
select State and Country/Territory Picklists.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Declarative Metadata File Suffix and Directory Location
AddressSettings values are stored in a single file named Address.settings in the settings directory. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
AddressSettings is available in API versions 27.0 and later.
CountriesAndStates
This complex metadata type represents valid definitions of states and countries/territories in picklists.
Note: You can use the Metadata API to edit existing states, countries, and territories in state and country/territory picklists. You
cant use the Metadata API to create or delete new states, countries, or territories.
DescriptionField TypeField
The countries and territories available in picklists.Country[]countries
Country
This metadata type provides the definition for a country/territory in a picklist.
DescriptionField TypeField
Determines whether the value is available in the API.booleanactive
Important: After you enable state and country/territory
picklists in your Salesforce organization, you cant set the
active status to false.
A customizable text value that is linked to a state or
country/territory code. Integration values for standard states,
stringintegrationValue
countries, and territories default to the full ISO-standard state,
country, and territory names. Integration values function similarly
to the API names of custom fields and objects. Configuring
integration values allows integrations that you set up before
enabling state and country/territory picklists to continue to work.
1595
AddressSettingsMetadata Types
DescriptionField TypeField
Important: If you dont specify integration values before
enabling state and country/territory picklists in your
organization, records use the default value provided by
Salesforce. If you change integration values later, records
created or updated from that point on use your edited
values.
The ISO-standard code populates this field when you issue a
retrieve() call. This field is read only in the API but you
stringisoCode
can edit the label in Setup. You cant edit the isoCode of
standard states, countries, and territories.
The label is what users see in picklists in Salesforce. This field is
read only in the API but you can edit the label in Setup.
stringlabel
Sets a country or territory as the default value for new records
in the Salesforce organization.
booleanorgDefault
Standard states and countries are states and countries that are
included with Salesforce. You cant edit the standard
attribute.
booleanstandard
The states or provinces that are part of the country or territory.State[]states
Makes the state, country, or territory available to users in
Salesforce. States, countries, or territories that are visible
must also be active.
booleanvisible
State
This metadata type provides the definition for a state in a picklist.
DescriptionField TypeField
Determines whether the value is available in the API.booleanactive
Important: After you enable state and country/territory
picklists in your Salesforce organization, you cant set the
active status to false.
A customizable text value that is linked to a state or
country/territory code. Integration values for standard states,
stringintegrationValue
countries, and territories default to the full ISO-standard state,
country, and territory names. Integration values function similarly
to the API names of custom fields and objects. Configuring
integration values allows integrations that you set up before
enabling state and country/territory picklists to continue to work.
1596
AddressSettingsMetadata Types
DescriptionField TypeField
Important: If you dont specify integration values before
enabling state and country/territory picklists in your
organization, records use the default value provided by
Salesforce. If you change integration values later, records
created or updated from that point on use your edited
values.
The ISO-standard code populates this field when you issue a
retrieve() call. This field is read only in the API but you
can edit the label in Setup.
stringisoCode
The label is what users see in picklists in Salesforce. This field is
read only in the API but you can edit the label in Setup.
stringlabel
Standard states and countries are states and countries that are
included with Salesforce. You cant edit the standard
attribute.
booleanstandard
Makes the state, country, or territory available to users in
Salesforce. States, countries, or territories that are visible
must also be active.
booleanvisible
Declarative Metadata Sample Definition
The following is sample XML that configures state and country picklists for the United States and Canada for use in an organization. It
also makes the country of Greenland available only in the API. This example is supported in API version 61.0.
<?xml version="1.0" encoding="UTF-8"?>
<AddressSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<countriesAndStates>
<countries>
<country>
<active>true</active>
<integrationValue>United States</integrationValue>
<isoCode>US</isoCode>
<label>United States</label>
<orgDefault>true</orgDefault>
<standard>true</standard>
<states>
<state>
<active>true</active>
<integrationValue>Alabama</integrationValue>
<isoCode>AL</isoCode>
<label>Alabama</label>
<standard>true</standard>
<visible>true</visible>
</state>
<state>
<active>true</active>
<integrationValue>Alaska</integrationValue>
1597
AddressSettingsMetadata Types
<isoCode>AK</isoCode>
<label>Alaska</label>
<standard>true</standard>
<visible>true</visible>
</state>
</states>
<visible>true</visible>
</country>
<country>
<active>true</active>
<integrationValue>Canada</integrationValue>
<isoCode>CA</isoCode>
<label>Canada</label>
<orgDefault>false</orgDefault>
<states>
<state>
<active>true</active>
<integrationValue>Alberta</integrationValue>
<isoCode>AB</isoCode>
<label>Alberta</label>
<standard>true</standard>
<visible>true</visible>
</state>
<state>
<active>true</active>
<integrationValue>British Columbia</integrationValue>
<isoCode>BC</isoCode>
<label>British Columbia</label>
<standard>true</standard>
<visible>true</visible>
</state>
</states>
<visible>true</visible>
</country>
<country>
<active>true</active>
<integrationValue>Greenland</integrationValue>
<isoCode>GL</isoCode>
<label>Greenland</label>
<standard>true</standard>
<visible>false</visible>
</country>
</countries>
</countriesAndStates>
</AddressSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1598
AddressSettingsMetadata Types
AIReplyRecommendationsSettings
Represents the metadata used to manage settings for Einstein Reply Recommendations. This type extends the Metadata metadata type
and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
Einstein Reply Recommendations settings are stored in a single file named aireplyrecommendations.settings in the
settings folder. The .settings files are different from other named components because theres only one settings file for each
settings component.
Version
AIReplyRecommendationsSettings is available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
If true (default), Einstein Reply Recommendations is enabled. If
false, it is disabled.
booleanenableAIReplyRecommendations
Declarative Metadata Sample Definition
The following is an example aireplyrecommendations.settings metadata file:
<?xml version="1.0" encoding="UTF-8"?>
<AIReplyRecommendationsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAIReplyRecommendations>true</enableAIReplyRecommendations>
</AIReplyRecommendationsSettings>
Example Package Manifest
The following is an example package.xml manifest that references the AIReplyRecommendationsSettings definitions:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AIReplyRecommendations</members>
<name>Settings</name>
</types>
<version>49.0</version>
</Package>
1599
AIReplyRecommendationsSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Copyright
Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of Jerusalem. Represented exclusively by Greenlight.
AnalyticsSettings
Represents Analytics settings in Salesforce. CRM Analytics lets you explore all your data quickly and easily by providing AI-powered
advanced Analytics right inside Salesforce. Manage your datasets, query data with Salesforce Analytics Query Language (SAQL), and
customize dashboards. You can use these settings to configure which Analytics features are available to users in your organization.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
AnalyticsSettings values are stored in the Analytics.settings file in the settings folder. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
AnalyticsSettings components are available in API version 46.0 and later.
Special Access Rules
The AnalyticsSettings metadata type is accessible in all organizations. The fields that pertain to Reports and Dashboards are available in
all organizations, but fields that pertain to CRM Analytics are only available in organizations with CRM Analytics enabled.
Fields
DescriptionField TypeField Name
Indicates whether Analytics asset previews are generated (true) or not
(false). Available in API version 47.0 and later.
booleanalwaysGenPreviews
Indicates whether Adoption Analytics metadata collection can be
installed via a dataflow in Salesforce (true) or not (false). Available
in API version 47.0 and later.
booleananalyticsAdoptionMetadata
Indicates whether the Analytics Calendar app for Industry-dependent
templates can be installed in Salesforce (true) or not (false).
Available in API version 49.0. Removed in API version 50.0.
booleananalyticsCalendarApp
1600
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether CRM Analytics apps can be auto-installed in Salesforce
(true) or not (false). Available in API version 54.0 and later.
booleanautoInstallApps
Indicates whether Analytics assets can be accessed via the Analytics REST
API in Salesforce (true) or not (false). Available in API version 47.0
and later.
booleancanAccessAnalyticsViaAPI
Indicates whether the Analytics dashboards Chatter annotation feature
is enabled in Salesforce (true) or not (false). Available in API version
47.0 and later.
booleancanAnnotateDashboards
Indicates whether zero day scoring on user uploaded Einstein Discover
model is enabled in Salesforce (true) or not (false). Available in API
version 54.0 to 56.0. Removed in API version 57.0.
booleancanEnableBYOMZeroDay
Scoring
Indicates whether the Data Discovery live model metrics calculation
feature is enabled in Salesforce (true) or not (false). Available in API
version 48.0 and 49.0. Removed in API version 50.0.
booleancanEnableLiveMetrics
Indicates whether the saved view feature for Analytics dashboards is
enabled in Salesforce (true) or not (false). Available in API version
47.0 and later.
booleancanEnableSavedView
Indicates whether Analytics data can be explored via NLQ (true) rather
than using strict SAQL statements (false). For example, "Show me all
accounts that are closed won". Available in API version 47.0 and later.
booleancanExploreData
Conversationally
Indicates whether Analytics apps can be shared with Experience Builder
sites and their users, outside of the standard Analytics Studio experience
(true) or not (false). Available in API version 47.0 and later.
booleancanShareAppsWith
Communities
Indicates whether a user can subscribe to Analytics dashboard widgets
in Salesforce (true) or not (false). Available in API version 47.0 to
50.0. Removed in API version 51.0.
booleancanSubscribeDashboard
Widgets
Indicates whether the thumbnail representations of Analytics lenses and
dashboards are viewable (true) or not (false). Available in API version
47.0 and later.
booleancanViewThumbnailAssets
Indicates whether the Amazon Redshift Output connector is enabled in
Salesforce (true) or not (false). Available in API version 58.0 and
later.
booleanenableAmazonRedshift
OutputConnector
1601
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether encryption is enabled for Analytics in Salesforce
(true) or not (false). Available in API version 48.0 and later.
booleanenableAnalyticsEncryption
Indicates whether the Analytics sharing is enabled in Salesforce (true)
or not (false). Available in API version 48.0 and later.
booleanenableAnalyticsSharing
Enable
Indicates whether using auto-complete when choosing reports and
dashboards is enabled in Salesforce (true) or not (false). Available
in API version 47.0 and later.
booleanenableAutoCompleteCombo
Indicates whether Ask Salesforce for Data is enabled in Salesforce (true)
or not (false). Available as Beta in API version 54.0 and later.
booleanenableAutonomous
Experience
Indicates whether the Azure DL Gen2 output connector is enabled in
Salesforce (true) or not (false). Available in API version 54.0 and
later.
booleanenableAzureDLGen2Output
Connector
Indicates whether the Customer 360 data validation dashboard connector
is enabled in Salesforce (true) or not (false). Available in API version
48.0 or later.
booleanenableC360GlobalProfile
Data
Indicates whether access to creating dataflows is available in Salesforce
(true) or not (false). Available in API version 55.0 and later.
booleanenableCreateLegacy
Dataflows
Indicates whether changing ownership of Lightning Experience
dashboards from one owner to another owner is enabled in Salesforce
(true) or not (false). Available in API version 61.0 and later.
booleanenableDashboardChange
OwnerPref
Indicates whether posting dashboard component snapshots to feeds
that are visible to all users is enabled in Salesforce (true) or not
(false). Available in API version 47.0 and later.
booleanenableDashboardComponent
Snapshot
Indicates whether access is enabled to flexible dashboard tables for all
users in Salesforce (true) or not (false). Available in API version 47.0
and later.
booleanenableDashboardFlexiTable
Indicates whether a dashboard can be exported to a PDF in Salesforce
(true) or not (false). Available in API version 48.0 and later.
booleanenableDashboardToPDF
Enable
Indicates whether the Analytics Explorer data blending feature is available
in Salesforce (true) or not (false). Available in API version 48.0 and
49.0. Removed in API version 50.0.
booleanenableDataBlending
1602
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether this org allows Classic reports and dashboards to be
sent to Portal Users (true) or not (false). Available in API version
47.0 and later.
booleanenableEmailReportsTo
PortalUsers
Indicates whether the Firebird editor is available in Salesforce (true)
or not (false). Available in API version 48.0 and later.
booleanenableFirebirdEditor
Indicates whether report results display floating headers when scrolling
(true) or not (false). Available in API version 47.0 and later.
booleanenableFloatingReport
Headers
Indicates whether CRM Analytics is enabled in Salesforce (true) or not
(false).
booleanenableInsights
Indicates whether CRM Analytics for Public Cloud is enabled in Salesforce
(true) or not (false). Available in API version 58.0 and later.
booleanenableInsightsHCMode
Indicates whether the Lightning Report Builder feature can be enabled
or disabled on the Setup page in Salesforce (true) or not (false).
Available in API version 47.0 and later.
booleanenableLightningReport
Builder
Indicates whether the use of Lotus Notes-friendly images in dashboards
and report emails is available in Salesforce (true) or not (false).
Available in API version 47.0 and later.
booleanenableLotusNotesImages
Indicates whether Lightning Web Components are enabled for use in
CRM Analytics Dashboards (true) or not (false). Available as Beta
in API version 53.0. Removed for GA in API version 54.0.
booleanenableLwcInDashboards
Indicates whether the Report Builder is available in Salesforce (true),
overriding profile level settings, or not (false). Available in API version
47.0 and later.
booleanenableMassEnableReport
Builder
Indicates whether the New Charts Engine for reports and dashboards is
available in Salesforce (true) or not (false). Available in API version
47.0 and later.
booleanenableNewChartsEngine
Indicates whether null values are supported as a grouping key value in
a SAQL query in Salesforce (true) or not (false). Available in API
version 48.0 and later.
booleanenableNullDimension
Indicates whether admins can enable live previews of data in Salesforce
(true) or not (false). Available in API version 57.0 and later.
booleanenableOrgCanSeeLive
Previews
1603
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether admins can enable Tableau dashboards in Salesforce
(true) or not (false). Available in API version 55.0 and later.
booleanenableOrgCanViewTableau
Indicates whether admins can enable thumbnails for Lightning
Experience reports and dashboards in Salesforce (true) or not (false).
Available in API version 57.0 and later.
booleanenableOrgCanViewThumbnail
ForOA
Indicates whether admins can enable mobile offline access in Salesforce
(true) or not (false). Available in API version 51.0 and later.
booleanenableOrgHaMobileOffline
Enabled
Indicates whether admins can turn on watchlists for assets in Salesforce
(true) or not (false). Available in API version 50.0 and later.
booleanenableOrgHasWatchlist
Enabled
Indicates whether admins can turn on Power Insights for this org (true)
or not (false). Removed in API version 51.0.
booleanenablePowerInsights
Indicates whether querying live connectors is available in Salesforce
(true) or not (false). Available in API version 48.0 and later.
booleanenableQueryLiveConnectors
Indicates whether recommended report types for Lightning Reports are
available in Salesforce (true) or not (false). Available in API version
54.0 to 56.0. Removed in API version 57.0.
booleanenabledRecommendedReport
TypePref
Indicates whether the default disclaimer for the report run page and
printable view page is removed (true) or not (false) in Salesforce.
Available in API version 47.0 and later.
booleanenableRemoveFooterForRep
Display
Indicates whether the default footer from the exported (csv/excel) report
is removed (true) or not (false) in Salesforce. Available in API version
47.0 and later.
booleanenableRemoveFooterFromRep
Exp
Indicates whether the field-to-field filters feature in Lightning Experience
Reports is available in Salesforce (true) or not (false). Available in
API version 47.0. Removed in API version 48.0.
booleanenableReportFieldToField
Pref
Indicates whether the feature to automatically add new fields to relevant
custom Lightning Experience report types when theyre created is
booleanenableReportCrtAutoAdd
Pref
available in Salesforce (true) or not (false). Available in API version
50.0 and 51.0. Removed in API version 52.0.
Indicates whether the XLS export feature for Lightning Experience Reports
is visible in Salesforce (true) or not (false). Available in API version
51.0 and later.
booleanenableReportHideXlsExport
Pref
1604
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the inline editing feature for Lightning Experience
Reports is available in Salesforce (true) or not (false). Available in
API version 53.0 and later.
booleanenableReportInlineEdit
Pref
Indicates whether the notification feature for Lightning Experience
Reports is available in Salesforce (true) or not (false). Available in
API version 48.0 and later.
booleanenableReportNotifications
Enable
Indicates whether the unique row count aggregate feature in Lightning
Experience Reports is available in Salesforce (true) or not (false).
Available in API version 47.0. Removed in API version 48.0.
booleanenableReportUniqueRow
CountPref
Indicates whether priority-based dataflow request scheduling is available
in Salesforce (true) or not (false). Available in API version 50.0 and
later.
booleanenableRequestPriority
Schdl
Indicates whether EclairNG charts can be enabled for S1 Mobile Analytics
in Salesforce (true) or not (false). Available in API version 48.0 and
later.
booleanenableS1AnalyticsEclair
Enable
Indicates whether the S3 output data connector is available in Salesforce
(true) or not (false). Available in API version 49.0 and later.
booleanenableS3OutputConnector
Indicates whether the Lightning Experience joined report feature can
be enabled or disabled on the Setup page in Salesforce (true) or not
(false). Available in API version 47.0 and later.
booleanenableSFXJoinedReports
Enable
Indicates whether the Salesforce output data connector is available in
Salesforce (true) or not (false). Available in API version 51.0 and
later.
booleanenableSalesforceOutput
Connector
Indicates whether secure image sharing and downloading is enabled in
Salesforce (true) or not (false). Available in API version 50.0 and
later.
booleanenableSecureImageSharing
Indicates whether the org admin can enable Einstein Discovery in
Salesforce (true) or not (false). Available in API version 49.0 and
50.0. Removed in API version 51.0.
booleanenableSmartDataDiscovery
Indicates whether the Snowflake output data connector is available in
Salesforce (true) or not (false). Available in API version 49.0 and
later.
booleanenableSnowflakeOutput
Connector
1605
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether SQL datasets are available in Salesforce (true) or not
(false). Available in API version 52.0. Removed in API version 53.0.
booleanenableSqlDataset
Indicates whether SQL live datasets are available in Salesforce (true)
or not (false). Available in API version 51.0 and 52.0. Removed in API
version 53.0.
booleanenableSqlLiveDataset
Indicates whether the Tableau hyper output data connector is available
in Salesforce (true) or not (false). Available in API version 51.0 and
later.
booleanenableTableauHyperOutput
Connector
Indicates whether this org allows the old charts look and feel for
Lightning Experience reports and dashboards (true) or not (false).
Available in API version 47.0 and later.
booleanenableUseOldChartsLookAnd
Feel
Indicates whether the new date version for timezone support in Analytics
assets is enabled in Salesforce (true) or not (false). Available in API
version 51.0 and later.
booleanenableWaveAssetsNewDate
Version
Indicates whether custom fiscal year is enabled for Analytics in Salesforce
(true) or not (false). When enabled, custom fiscal year lets admins
booleanenableWaveCustomFiscal
import custom fiscal year definitions from Salesforce to Analytics.
Available in API version 50.0 and later.
Indicates whether multi-value dimension indexing is enabled in
Salesforce (true) or not (false). Available in API version 50.0 and
later.
booleanenableWaveIndexMVDim
Indicates whether version 2 multi-value dimension indexing is enabled
in Salesforce (true) or not (false). Available in API version 52.0 and
later.
booleanenableWaveIndexMVDimV2
Indicates whether embedded Analytics dashboards are rendered in
Lightning Experience using a Lightning Web Component (true) or the
booleanenableWaveLwcDashboards
legacy Aura Component (false). Available in API version 55.0 and 56.0.
Removed in API version 57.0.
Indicates whether browser tab navigation for record actions from
Analytics is enabled in Salesforce (true) or not (false). Available in
API version 48.0 and later.
booleanenableWaveRecord
Navigation
Indicates whether replication (extract) for Salesforce objects is enabled
in Salesforce (true) instead of SFDC Digest (false). Available in API
version 47.0 and later.
booleanenableWaveReplication
1606
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether Analytics data can inherit sharing and security settings
for their source object in Salesforce (true) or not (false). Available
in API version 47.0 and later.
booleanenableWaveSharing
Inheritance
Indicates whether indexing for custom fiscal dates in SQL queries is
enabled in Salesforce (true) or not (false). Available in API version
58.0 and later.
booleanenableWaveSqlCFIndexing
Indicates whether SQL is enabled for CRM Analytics in the Query API in
Salesforce (true) or not (false). Available as Beta in API version 53.0.
Removed for GA in API version 54.0.
booleanenableWaveSqlInQueryApi
Indicates whether Analytics templates are enabled for this org (true)
or not (false). Removed in API version 51.0.
booleanenableWaveTemplate
Indicates whether this org allows automatic deletion of inactive trended
datasets (true) or not (false). Available in API version 47.0 and later.
booleanenableWaveTrendedDataset
Cleanup
Indicates whether medium visibility support for Analytics sharing
inheritance for all Salesforce objects besides the Opportunity object is
booleaninheritSharingForNonOppty
Objects
available in Salesforce (true) or not (false). Available in API version
48.0 and 49.0. Removed in API version 50.0.
Indicates whether medium visibility support for Analytics sharing
inheritance for the Opportunity object is available in Salesforce (true)
booleaninheritSharingForOppty
Object
or not (false). Available in API version 48.0 and 49.0. Removed in API
version 50.0.
Indicates whether Einstein Discovery high volume push back is enabled
in Salesforce (true) or not (false). Available in API version 58.0 and
later.
booleanisHighVolumePushback
Enabled
The maximum number of hours an embedded application can have the
status InProgress before its canceled. Available in API version 50.0
and later.
integermaxHoursAppInProgress
Indicates whether the option to cache query results is enabled (true)
or not (false). Available in API version 59.0 and later.
booleanqueryCachingOpt
Indicates whether the option to enable Data Prep recipe direct data
loading is available (true) or not (false). Available in API version 53.0
and later.
booleanrecipeDirectDataPref
1607
AnalyticsSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the option to enable Data Prep recipe custom fiscal
settings is available (true) or not (false). Available in API version
53.0 and later.
booleanrecipeFiscalPref
Indicates whether the option to disable Data Prep recipe prestep caching
is available (true) or not (false). Available in API version 53.0 and
later.
booleanrecipePreCachingOptOut
Indicates whether staged data for Data Prep recipes is available in
Salesforce (true) or not (false). Available in API version 53.0 and
later.
booleanrecipeStagedDataPref
Indicates whether null values are supported in measures (true) or not
(false). If enabled (true), the implicit default value for blank measures
is null. Available in API version 48.0 and later.
booleanreplaceBlankMeasuresWith
Nulls
Indicates whether the Analytics year end is the fiscal year end (true)
or not (false). This preference is only applicable when
booleansetWaveIsYearEndFiscal
Year
enableWaveCustomFiscal is true. If false, the fiscal year
end is the calendar year end. Available in API version 50.0 and later.
Indicates whether the Sonic feature is available in Salesforce (true) or
not (false). Available in API version 51.0 and later.
booleansonicEnabled
Indicates whether the timezone feature is available in Salesforce (true)
or not (false). Available in API version 48.0 and later.
booleanturnOnTimeZones
Declarative Metadata Sample Definition
The following is an example of the Analytics.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<AnalyticsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableWaveTemplate>true</enableWaveTemplate>
<enableInsights>true</enableInsights>
<canAccessAnalyticsViaAPI>true</canAccessAnalyticsViaAPI>
</AnalyticsSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Analytics settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
1608
AnalyticsSettingsMetadata Types
<members>Analytics</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ApexSettings
Represents Apex-related org settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ApexSettings values are stored in the Apex.settings file in the settings directory of the corresponding package directory.
The .settings files are different from other named components, because theres only one settings file for each settings component.
Version
ApexSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates the admin-controlled minimum delay (in
seconds) that applies to all enqueued jobs that
integerDefaultQueueableDelay
were scheduled without a delay parameter. The
minimum delay is one second and the maximum
is 600 seconds. The default behavior, when the
setting is omitted, is no delay in scheduling
enqueued jobs.
Indicates whether aggregate (not detailed) totals
are tracked for Apex test coverage data (true) or
not (false). The default value is false.
booleanenableAggregateCodeCoverageOnly
Deprecated.booleanenableApexAccessRightsPref
Indicates whether approval process lock and unlock
operations from Apex code are allowed (true) or
not (false). The default value is false.
booleanenableApexApprovalLockUnlock
1609
ApexSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the Use with sharing for
@AuraEnabled Apex Controllers with Implicit
booleanenableApexCtrlImplicitWithSharingPref
Sharing critical update is activated (true) or not
(false). For more details, see the Winter 20
Release Notes.
Indicates whether the Enforce Access Modifiers on
Apex Properties in Lightning Component Markup
booleanenableApexPropertyGetterPref
critical update is activated (true) or not (false).
For more details, see the Winter 20 Release Notes.
Indicates whether the Restrict Access to
@AuraEnabled Apex Methods for
booleanenableAuraApexCtrlAuthUserAccessCheckPref
Authenticated Users Based on User Profile critical
update is activated (true) or not (false). For
more details, see the Winter 20 Release Notes.
Indicates whether the Restrict Access to
@AuraEnabled Apex Methods for Guest and
booleanenableAuraApexCtrlGuestUserAccessCheckPref
Portal Users Based on User Profile critical update is
activated (true) or not (false). For more details,
see the Winter 20 Release Notes.
Indicates whether Apex code is automatically
recompiled (true) or not (false). When set to
booleanenableCompileOnDeploy
true, code is recompiled before completing a
metadata deployment, change set deployment,
package installation, or package upgrade. The
default value is true for production orgs and
false for others.
Note: This setting cant be disabled in
production orgs.
Indicates whether Apex tests are serially executed
(true) or not (false). The default value is
false.
booleanenableDisableParallelApexTesting
Note: Even when parallel testing is enabled
by setting this value to false, tests that
are run during deployments are always run
serially.
Indicates whether Apex debug log details are
suppressed in unhandled exception emails (true)
or not (false). The default value is false.
booleanenableDoNotEmailDebugLog
Indicates whether autonumbering gaps are
prevented by Apex test executions not
booleanenableGaplessTestAutoNum
incrementing autonumber fields for non-test
1610
ApexSettingsMetadata Types
DescriptionField TypeField Name
records (true) or not (false). The default value
is true.
Indicates whether the Disable Access to Non-global
Apex Controller Methods in Managed Packages
booleanenableMngdCtrlActionAccessPref
critical update is activated (true) or not (false).
For more details, see the Winter 20 Release Notes.
Indicates whether Apex classes can access
metadata, public or protected, through classes in
booleanenableNonCertifiedApexMdCrud
the Metadata namespace (true) or not
(false). The default value is false.
Indicates whether guest users are restricted from
executing anonymous Apex. The restriction applies
booleanenableRestrictCommunityExecAnon
regardless of whether the Author Apex
permission is set. The default value is true.
Indicates whether Apex type visibility rules are
strictly enforced for the Type.newInstance
booleanenableSecureNoArgConstructorPref
method (true) or not (false). The default value
is false. When enabled, regardless of API version,
you can instantiate only Apex classes with a
no-arguments constructor that is visible to the code
running Type.newInstance. Available in API
version 48.0 and later.
Indicates whether Apex test results are generated
for @TestSetup methods (false) or not (true).
Available in API version 61.0 and later.
booleanenableTestSetupSkipTestResults
Declarative Metadata Sample Definition
The following is an example of ApexSettings components.
<?xml version="1.0" encoding="UTF-8"?>
<ApexSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableDoNotEmailDebugLog>true</enableDoNotEmailDebugLog>
<enableDisableParallelApexTesting>true</enableDisableParallelApexTesting>
</ApexSettings>
The following is an example package.xml manifest that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Apex</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
1611
ApexSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AppAnalyticsSettings
Represents settings to retrieve AppExchange App Analytics usage data.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
AppAnalyticsSettings values are stored in the AppAnalytics.settings file in the settings folder. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
AppAnalyticsSettings is available in API versions 50.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the collection of AppExchange App Analytics package
usage data from this org is disabled (true) or not (false). Available
in API version 60.0 and later. Default is false.
booleanenableAppAnalyticsOptOut
Indicates whether AppExchange App Analytics simulation mode is
enabled (true) or disabled (false). Available in API version 50.0 and
later. Default is false.
booleanenableSimulationMode
Declarative Metadata Sample Definition
The following is an example of the AppAnalytics.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<AppAnalyticsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableSimulationMode>true</enableSimulationMode>
<enableAppAnalyticsOptOut>false</enableAppAnalyticsOptOut>
</AppAnalyticsSettings>
1612
AppAnalyticsSettingsMetadata Types
Example Package Manifest
This example package manifest deploys or retrieves AppAnalytics settings metadata.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AppAnalytics</members>
<name>Settings</name>
</types>
<version>50.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AppExperienceSettings
Represents settings for the app experience.This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
AppExperienceSettings values are stored in the .settings file in the settings directory. The .settings files are different from
other named components because there is only one settings file for each settings component.
Version
AppExperienceSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
If set to false (default), all standard and custom apps show up on the
App Launcher. If set to true, the admin must select which standard
and custom apps to display on the App Launcher.
booleandoesHideAllAppsInAppLauncher
Declarative Metadata Sample Definition
The following is an example of an AppExperienceSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<AppExperienceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<doesHideAllAppsInAppLauncher>false</doesHideAllAppsInAppLauncher>
</AppExperienceSettings>
1613
AppExperienceSettingsMetadata Types
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the AppExperienceSettings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AppExperience</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AssociationEngineSettings
Represents the record association builder settings for an org. This type extends the Metadata metadata type and inherits its fullName
field.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
AssociationEngineSettings values are stored in the AssociationEngine.settings file in the settings folder.
The .settings files are different from other named components, because there is only one settings file for each settings component.
Version
AssociationEngineSettings components are available in API version 52.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
boolean
enableAssociationEngine
1614
AssociationEngineSettingsMetadata Types
DescriptionField Name
Description
Automatically associates new accounts with the users current branch by creating
branch unit customer records. The default value is false.
Declarative Metadata Sample Definition
The following is an example of an AssociationEngineSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<AssociationEngineSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAssociationEngine>true</enableAssociationEngine>
</AssociationEngineSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AssociationEngine</members>
<name>Settings</name>
</types>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
AutomatedContactsSettings
Represents an orgs Einstein Automated Contacts settings. These settings let you find new contacts and opportunity contact roles. This
type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
AutomatedContactsSettings values are stored in the AutomatedContacts.settings file in the settings folder. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
AutomatedContactsSettings is available in API versions 48.0 and later.
1615
AutomatedContactsSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether new contacts are automatically added from external
email accounts (such as Microsoft and Google) to Salesforce (true) or
not (false). The default value is false.
enableAddContactWithSuggestion must be true to use
this setting.
booleanenableAddContactAutomatically
Note: When this feature is enabled, users do not see new
contacts as suggestions. The contacts are added automatically.
Indicates whether opportunity contact roles from external accounts are
automatically added to Salesforce (true) or not (false). The default
value is false.
booleanenableAddContactRoleAutomatically
Note: When this feature is enabled, users do not see new contact
roles as suggestions. The contact roles are added automatically.
Indicates whether opportunity contact roles from external accounts are
suggested as new Salesforce opportunity contact roles (true) or not
(false). The default value is true.
booleanenableAddContactRoleWithSuggestion
Indicates whether new contacts from external accounts (such as Microsoft
and Google) are suggested as new Salesforce contacts (true) or not
(false). The default value is true.
enableAddContactRoleWithSuggestion must be true
to use this setting.
booleanenableAddContactWithSuggestion
Declarative Metadata Sample Definition
The following is an example of the AutomatedContactsSettings.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<AutomatedContactsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAddContactAutomatically>true</enableAddContactAutomatically>
<enableAddContactRoleAutomatically>true</enableAddContactRoleAutomatically>
<enableAddContactRoleWithSuggestion>true</enableAddContactRoleWithSuggestion>
<enableAddContactWithSuggestion>true</enableAddContactWithSuggestion>
</AutomatedContactsSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the AutomatedContacts settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
1616
AutomatedContactsSettingsMetadata Types
<members>AutomatedContactsSettings</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BotSettings
Represents an organizations Einstein Bot settings, such as whether or not Einstein Bots is enabled. This type extends the Metadata
metadata type and inherits its fullName field.
File Suffix and Directory Location
Bot components have the suffix .bot and are stored in the bot folder.
Version
Bot components are available in API version 46.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Einstein Bots is enabled (true) or not (false).booleanenableBots
Declarative Metadata Sample Definition
The following is an example of a BotSetting. This example has been trimmed to make it easier to read.
<?xml version="1.0" encoding="UTF-8"?>
<BotSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableBots>true</enableBots>
</BotSettings>
The following is an example package.xml manifest that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Bot</members>
<name>Settings</name>
</types>
<version>46.0</version>
</Package>
1617
BotSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BranchManagementSettings
Represents the branch management settings for an org. This type extends the Metadata metadata type and inherits its fullName
field.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
BranchManagementSettings values are stored in the BranchManagement.settings file in the settings folder.
The .settings files are different from other named components, because there is only one settings file for each settings component.
Version
BranchManagementSettings components are available in API version 51.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
boolean
associateAccountWithBranch
Description
Automatically associates new accounts with the users current branch by creating
branch unit customer records. The default value is false.
Declarative Metadata Sample Definition
The following is an example of a BranchManagementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<BranchManagementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<associateAccountWithBranch>true</associateAccountWithBranch>
</BranchManagementSettings>
1618
BranchManagementSettingsMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>BranchManagement</members>
<name>Settings</name>
</types>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
BusinessHoursSettings
Represents the metadata used to manage settings for business hours and holidays in entitlements, entitlement templates, campaigns,
and cases. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
Business hours and holidays settings are stored in a single file named businessHours.settings in the settings directory.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
BusinessHoursSettings is available in API version 29.0 and later.
Fields
DescriptionField TypeField Name
Represents the application of business hours to entitlements,
entitlement templates, campaigns, and cases.
BusinessHoursEntry[]businessHours
Represents a holiday and its usage in businessHours.Holidays[]holidays
BusinessHoursEntry
Represents the application of business hours to entitlements, entitlement templates, campaigns, and cases.
DescriptionField TypeField Name
The time zone for the time that defines business hours.stringtimeZoneId
Name of the business hours. This name should be unique.stringname
1619
BusinessHoursSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the business hours are active.stringactive
Indicates whether the business hours are used as the default business
hours.
stringdefault
Start time for the business hours on Monday. Uses the format
HH:mm:ss.SSSZ.
stringmondayStartTime
End time for the business hours on Monday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Monday.
stringmondayEndTime
Start time for the business hours on Tuesday. Uses the format
HH:mm:ss.SSSZ.
stringtuesdayStartTime
End time for the business hours on Tuesday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Tuesday.
stringtuesdayEndTime
Start time for the business hours on Wednesday. Uses the format
HH:mm:ss.SSSZ.
stringwednesdayStartTime
End time for the business hours on Wednesday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Wednesday.
stringwednesdayEndTime
Start time for the business hours on Thursday. Uses the format
HH:mm:ss.SSSZ.
stringthursdayStartTime
End time for the business hours on Thursday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Thursday.
stringthursdayEndTime
Start time for the business hours on Friday. Uses the format
HH:mm:ss.SSSZ.
stringfridayStartTime
End time for the business hours on Friday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Friday.
stringfridayEndTime
Start time for the business hours on Saturday. Uses the format
HH:mm:ss.SSSZ.
stringsaturdayStartTime
End time for the business hours on Saturday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Saturday.
stringsaturdayEndTime
Start time for the business hours on Sunday. Uses the format
HH:mm:ss.SSSZ.
stringsundayStartTime
End time for the business hours on Sunday. Uses the format
HH:mm:ss.SSSZ. The value 00:00:00.000Z specifies midnight
on Sunday.
stringsundayEndTime
1620
BusinessHoursSettingsMetadata Types
Holidays
Represents a holiday and its usage in businessHours.
DescriptionField TypeField Name
Name of the holiday. This name does not have to be unique.stringname
The description of the holiday.stringdescription
Indicates whether the holiday is recurring.stringisRecurring
The date of the holiday. Use for non-recurring holidays. Uses the format
HH:mm:ss.SSSZ.
stringactivityDate
The date the holiday starts recurring. Uses the format yyyy-mm-dd.stringrecurrenceStartDate
The date the holiday stops recurring. Uses the format yyyy-mm-dd.
Optional.
stringrecurrenceEndDate
The start time on the date of the holiday. Uses the format
HH:mm:ss.SSSZ. startTime and endTime must be both null
or both not null. If they are both null, indicates the whole day.
stringstartTime
The end time on the date of the holiday. Uses the format
HH:mm:ss.SSSZ. startTime and endTime must be both null
or both not null. If they are both null, indicates the whole day.
stringendTime
The recurrence type of the holiday. Valid values are: RecursDaily,
RecursEveryWeekday, RecursMonthly, RecursMonthlyNth, RecursWeekly,
RecursYearly, RecursYealyNth.
stringrecurrenceType
The interval of weeks, months, or years the holiday recurs.stringrecurrenceInterval
The day of week the holiday recurs. Valid values: Monday, Tuesday,
Wednesday, Thursday, Friday, Saturday, Sunday.
stringrecurrenceDayOfWeek
The day of month the holiday recurs. Valid values: integers 1-31.stringrecurrenceDayOfMonth
Valid values: First, Second, Third, Fourth, Last. Only used for
recurrenceType RecursMonthlyNth and RecursYearlyNth. For example,
stringrecurrenceInstance
if the recurenceInstance value is First, the holiday recurs on the
first Monday of the month every 3 months.
Valid values: January, February, March, April, May, June, July, August,
September, October, November, December.
stringrecurrenceMonthOfYear
The name of the business hours setting that applies to this holiday.stringbusinessHours
Declarative Metadata Sample Definition
The following is an example businesshours.settings metadata file:
<?xml version="1.0" encoding="UTF-8"?>
<BusinessHoursSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<businessHours>
1621
BusinessHoursSettingsMetadata Types
<active>true</active>
<default>true</default>
<fridayEndTime>00:00:00.000Z</fridayEndTime>
<fridayStartTime>00:00:00.000Z</fridayStartTime>
<mondayEndTime>00:00:00.000Z</mondayEndTime>
<mondayStartTime>00:00:00.000Z</mondayStartTime>
<name>Default</name>
<saturdayEndTime>00:00:00.000Z</saturdayEndTime>
<saturdayStartTime>00:00:00.000Z</saturdayStartTime>
<sundayEndTime>00:00:00.000Z</sundayEndTime>
<sundayStartTime>00:00:00.000Z</sundayStartTime>
<thursdayEndTime>00:00:00.000Z</thursdayEndTime>
<thursdayStartTime>00:00:00.000Z</thursdayStartTime>
<timeZoneId>America/Los_Angeles</timeZoneId>
<tuesdayEndTime>00:00:00.000Z</tuesdayEndTime>
<tuesdayStartTime>00:00:00.000Z</tuesdayStartTime>
<wednesdayEndTime>00:00:00.000Z</wednesdayEndTime>
<wednesdayStartTime>00:00:00.000Z</wednesdayStartTime>
</businessHours>
<businessHours>
<active>true</active>
<default>false</default>
<fridayEndTime>00:00:00.000Z</fridayEndTime>
<fridayStartTime>00:00:00.000Z</fridayStartTime>
<mondayEndTime>15:00:00.000Z</mondayEndTime>
<mondayStartTime>09:00:00.000Z</mondayStartTime>
<name>bh1</name>
<saturdayEndTime>00:00:00.000Z</saturdayEndTime>
<saturdayStartTime>00:00:00.000Z</saturdayStartTime>
<sundayEndTime>00:00:00.000Z</sundayEndTime>
<sundayStartTime>00:00:00.000Z</sundayStartTime>
<thursdayEndTime>17:00:00.000Z</thursdayEndTime>
<thursdayStartTime>10:50:00.000Z</thursdayStartTime>
<timeZoneId>America/Los_Angeles</timeZoneId>
<tuesdayEndTime>13:00:00.000Z</tuesdayEndTime>
<tuesdayStartTime>09:00:00.000Z</tuesdayStartTime>
<wednesdayEndTime>15:00:00.000Z</wednesdayEndTime>
<wednesdayStartTime>09:00:00.000Z</wednesdayStartTime>
</businessHours>
<holidays>
<activityDate>2013-09-02</activityDate>
<businessHours>Default</businessHours>
<businessHours>bh1</businessHours>
<isRecurring>false</isRecurring>
<name>Labor Day</name>
</holidays>
<holidays>
<businessHours>bh1</businessHours>
<isRecurring>true</isRecurring>
<name>Thanksgiving</name>
<recurrenceDayOfMonth>21</recurrenceDayOfMonth>
<recurrenceMonthOfYear>November</recurrenceMonthOfYear>
<recurrenceStartDate>2013-11-21</recurrenceStartDate>
<recurrenceType>RecursYearly</recurrenceType>
1622
BusinessHoursSettingsMetadata Types
</holidays>
</BusinessHoursSettings>
The following is an example package.xml manifest that references the BusinessHoursSettings definitions:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>BusinessHours</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CampaignSettings
Represents an orgs Campaign Influence, Einstein Attribution, Einstein Key Accounts, and campaign member settings. These features
help you understand how your campaigns and accounts are affecting your opportunity pipeline. This type extends the Metadata metadata
type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
CampaignSettings values are stored in the Campaign.settings file in the settings folder. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
CampaignSettings is available in API versions 48.0 and later.
Fields
DescriptionField TypeField Name
Indicates the number of months between the opportunity creation date
and an engagement activity, during which Einstein scans for influential
intaiAttributionTimeframe
campaigns. The value must be a multiple of three, up to 24. Available in
API version 49.0 and later.
This field supports Einstein Attribution.
Indicates whether the Einstein Attribution feature is enabled (true) or
not (false). The default value is false. Available in API version 49.0
and later.
booleanenableAIAttribution
1623
CampaignSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether accounts can be used as campaign members (true)
or not (false). The default value is false. Available in API version
51.0 and later.
booleanenableAccountsAsCM
Indicates whether Salesforce creates Campaign Influence information
(true) or not (false). enableCampaignInfluence2 must
be false to use this setting.
The default value is false.
booleanenableAutoCampInfluenceDisabled
Indicates whether your org can access campaign influence models from
other systems, such as Pardot (true) or not (false).
enableCampaignInfluence2 must be true to use this setting.
The default value is false.
booleanenableB2bmaCampaignInfluence2
This read-only field is reserved for system use.booleanenableCampaignHistoryTrackEnabled
Indicates whether Customizable Campaign Influence is enabled (true)
or not (false). When true, Campaign Influence 1.0 is hidden from
users and is no longer active.
The default value is true.
booleanenableCampaignInfluence2
This read-only field is reserved for system use.booleanenableCampaignMemberTWCF
Indicates whether Einstein Key Accounts Identification is enabled (true)
or not (false). The default value is false. Available in API version
53.0 and later.
booleanenableEKAI
This read-only field is reserved for system use.booleanenableSuppressNoValueCI2
Declarative Metadata Sample Definition
The following is an example of the Campaign.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<CampaignSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCampaignInfluence2>true</enableCampaignInfluence2>
<enableSuppressNoValueCI2>true</enableSuppressNoValueCI2>
<enableCampaignHistoryTrackEnabled>true</enableCampaignHistoryTrackEnabled>
<enableAutoCampInfluenceDisabled>true</enableAutoCampInfluenceDisabled>
<enableCampaignMemberTWCF>true</enableCampaignMemberTWCF>
<enableB2bmaCampaignInfluence2>true</enableB2bmaCampaignInfluence2>
<enableAccountsAsCM>true</enableAccountsAsCM>
<enableAIAttribution>true</enableAIAttribution>
<aiAttributionTimeframe>9</aiAttributionTimeframe>
<enableEKAI>true</enableEKAI>
</CampaignSettings>
1624
CampaignSettingsMetadata Types
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Campaign settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Campaign</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CaseSettings
Represents an organizations case settings, such as the default case owner, which case-related features are enabled, and which Classic
email templates are used for various case activities. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
CaseSettings on page 1625 values are stored in the Case.settings file in the settings directory. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
CaseSettings on page 1625 is available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Specifies the email template used for case assignment
notifications. The format must be
folderName/emailTemplateName.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringcaseAssignNotificationTemplate
Indicates whether to create an automated response record
after a customers initial email (true) or not (false).
booleancaseAutoProcUser
1625
CaseSettingsMetadata Types
DescriptionField TypeField Name
Specifies the email template used for case close notifications.
The format must be
folderName/emailTemplateName.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringcaseCloseNotificationTemplate
Specifies the email template used for case comment
notifications. The format must be
folderName/emailTemplateName.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringcaseCommentNotificationTemplate
Specifies the email template used for case create
notifications. The format must be
folderName/emailTemplateName.
Lightning email templates arent packageable. We
recommend using a Classic email template.
stringcaseCreateNotificationTemplate
Specifies the settings for feed items in feed-based case page
layouts. This field is available in API version 32.0 and later.
FeedItemSettings[]caseFeedItemSettings
Indicates whether unread feed items are shown in bold in
Lightning Experience (true) or not (false).
booleancaseFeedReadUnreadLtng
Indicates whether Case Merge is enabled in Lightning
Experience (true) or not (false).
booleancaseMergeinLightning
Indicates whether Closed is included in the Case Status
field on case edit pages (true) or not (false).
booleancloseCaseThroughStatusChange
Indicates whether the default Case Feed layout is used in
the org (true) or not (false).
booleandefaultCaseFeedLayoutOn
Specifies the default owner of a case when assignment rules
fail to locate an owner.
stringdefaultCaseOwner
Specifies whether the default case owner is a user or a queue.stringdefaultCaseOwnerType
Specifies the user listed in the Case History related list for
automated case changes from:
stringdefaultCaseUser
Assignment rules
Escalation rules
On-Demand Email-to-Case
Cases logged in the Self-Service portal
Lightning email templates arent packageable. We
recommend using a Classic email template.
1626
CaseSettingsMetadata Types
DescriptionField TypeField Name
Use this Apex class name to provide default values for the
email action.
stringemailActionDefaultsHandlerClass
The organization's Email-to-Case settings.EmailToCaseSettingsemailToCase
Indicates whether Case Feed is enabled (true) or not
(false).
booleanenableCaseFeed
Indicates whether earlier messages in an email thread are
removed from email feed items (true) or not (false).
Available in API version 47.0 and later.
booleanenableCollapseEmailThread
Indicates whether draft emails are enabled (true) or not
(false). Enabling email drafts requires that Case Feed and
Email-to-Case are also enabled.
booleanenableDraftEmails
Indicates whether early triggers on escalation rules are
enabled (true) or not (false).
booleanenableEarlyEscalationRuleTriggers
Indicates whether the Email Action Default Handler setting
is enabled (true) or not (false). Use this setting to select
booleanenableEmailActionDefaultsHandler
an Apex class to load a default template or to specify the
default target fields for the email action.
If true, the case contact is notified by email when someone
makes an externally visible post on a case in an Experience
Builder site.
booleanenableEmailContactOnCasePost
If true, moderators can create cases from Question feed
items in Chatter in your organization.
booleanenableEscalateQfiToCaseInternal
If true, moderators can create cases from Question feed
items in Chatter in all Experience Builder sites where Chatter
Questions is enabled.
booleanenableEscalateQfiToCaseNetworks
If true, site members can see case-related emails,
comments, and updates in the case feed.
booleanenableExtNetworksCaseFeedEnabled
Indicates whether multilingual searching for Solutions in
self-service portals is enabled (true) or not (false).
booleanenableMultiLangSolnSrchCSS
Indicates whether multilingual searching for public Solutions
is enabled (true) or not (false).
booleanenableMultiLangSolnSrchPKB
Indicates whether multilingual Solutions are enabled (true)
or not (false).
booleanenableMultiLangSolution
Indicates whether default email templates are enabled
(true) or not (false). Default email templates are
available only if draft emails are enabled.
Lightning email templates arent packageable. We
recommend using a Classic email template.
booleanenableNewEmailDefaultTemplate
1627
CaseSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether browsing for Solutions is enabled (true)
or not (false).
booleanenableSolutionCategory
Indicates whether using inline Solutions category
breadcrumbs is enabled (true) or not (false).
booleanenableSolutionInlineCategory
Indicates whether Solutions summaries are enabled (true)
or not (false).
booleanenableSolutionShortSummary
Indicates whether the Suggested Articles list appears on case
pages. (true) or not (false). Is only valid if
enableSuggestedSolutions=false.
booleanenableSuggestedArticlesApplication
Indicates whether the Suggested Articles list appears on
customer portal pages (true) or not (false). Is only valid
if enableSuggestedSolutions=false.
booleanenableSuggestedArticlesCustomerPortal
Indicates whether the Suggested Articles list appears on
partner portal pages (true) or not (false). Is only valid if
enableSuggestedSolutions=false.
booleanenableSuggestedArticlesPartnerPortal
Indicates whether the View Suggested Solutions or Find
Articles button appears on case detail pages (true) or not
booleanenableSuggestedSolutions
(false). Is only valid if
enableSuggestedArticlesApplication,
enableSuggestedArticlesCustomerPortal,
and
enableSuggestedArticlesPartnerPortal=false.
Indicates whether early triggers are enabled to escalate a
case (true) or not (false).
booleanescalateCaseBefore
Indicates whether generic messages are enabled (true) or
not (false).
booleangenericMessageEnabled
If true, duplicate cases arent deleted after a case merge.booleankeepCaseMergeRecords
When applying assignment rules to manually created records,
indicates whether to keep the existing record type (true)
booleankeepRecordTypeOnAssignmentRule
or to override the existing record type with the assignees
default record type (false).
Specifies the Apex class that defines the default email
template for new email messages in Case Feed. This field
stringnewEmailDefaultTemplateClass
appears only when
enableNewEmailDefaultTemplate=true.Lightning
email templates arent packageable. We recommend using
a Classic email template.
Indicates whether contacts who arent members of your
Self-Service portal can be notified when a new comment is
added to a case (true) or not (false).
booleannotifyContactOnCaseComment
1628
CaseSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the default case owner is notified when
assigned a new case (true) or not (false).
booleannotifyDefaultCaseOwner
Indicates whether the case owner is notified when a
comment is added to a case (true) or not (false).
booleannotifyOwnerOnCaseComment
Indicates whether the Send Notification Email
checkbox on cases is automatically selected when users
change a case owner to another user (true).
booleannotifyOwnerOnCaseOwnerChange
Indicates whether predictive support is enabled (true) or
not (false).
booleanpredictiveSupportEnabled
Indicates whether the case Attachments related list shows
email attachments. If true, the page displays an email icon
booleanshowEmailAttachmentsInCase
AttachmentsRL
next to each attachment from an email in the Attachments
related list for cases. The related lists list view also includes
a Source column that identifies the attachments origin. If
false, email attachments arent displayed in the
Attachments related list for cases.
This field is available in API version 40.0 and later.
Indicates whether the Save & Close button on case edit
pages and the Cls link on Cases related lists are hidden
(true) or shown (false).
booleanshowFewerCloseActions
Specifies the email address used when the default case user
is the system user.
stringsystemUserEmail
Indicates whom case comment, case attachment, and case
assignment email notifications appear to be sent from. Use
booleanuseSystemEmailAddress
true to show notifications as sent from a system address.
Use false to show notifications as sent from the user or
contact who is updating the case.
Indicates whether the system user is used as the automated
case user (true) or not (false). If false, then you must
specify a value for the defaultCaseUser field.
booleanuseSystemUserAsDefaultCaseUser
Sets the default visibility of a case as indicated by the Visible
in CSS option on the case edit page. If false, the case is
visible in CSS by default. If true, CSS visibility is off.
booleanvisibleInCssCheckbox
The organization's Web-to-Case settings.WebToCaseSettingswebToCase
EmailToCaseSettings
Represents an organization's Email-to-Case settings.
1629
CaseSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether Email-to-Case is enabled (true) or not
(false). Note: After Email-to-Case is enabled, it can't be
disabled.
booleanenableEmailToCase
Indicates whether to save attachments sent using
Email-to-Case as Salesforce Files (true) or not (false).
booleanenableE2CAttachmentAsFile
When Email-to-Case receives an inbound email to thread to
an existing case, attachments in the email that already exist
booleanenableE2CDeduplicateAttachments
on the case are not saved as new records and are instead
linked to the new email (true).
Indicates whether emails can be sent via an external service
such as Gmail or Outlook, rather than the Salesforce email
booleanenableE2CExternalServer
service (true). External outbound email services are available
in Lightning Experience only.
Indicates whether Set Case Source to Email is enabled (true)
or not (false). After you enable this setting, the Case
booleanenableE2CSourceTracking
Source field is updated to Email for all cases that originate
from Email-to-Case. Associated emails are marked as Read
when the agent opens the case.
Indicates whether HTML email is enabled (true) or not
(false).
booleanenableHtmlEmail
Indicates whether the email status change invokes triggers
when emails open in Case feeds or from Email Message
records in Lightning (true) or not (false).
booleanenableNewtoReadTriggers
Indicates whether On-Demand Email-to-Case is enabled
(true) or not (false).
booleanenableOnDemandEmailToCase
Indicates whether the Thread ID for a case is inserted in the
body of an email (true) or not (false). This is applicable
only to orgs that do not use Lightning Threading.
booleanenableThreadIDInBody
Indicates whether the Thread ID for a case is inserted in the
subject line of an email (true) or not (false). This is
applicable only to orgs that do not use Lightning Threading.
booleanenableThreadIDInSubject
Indicates whether a threading token is appended in the email
body when agents send an email from a Lightning email
booleanenableThreadTokenInBody
composer (true) or not (false). This is applicable only to
orgs using Lightning Threading.
Indicates whether a threading token is appended in the email
subject when agents send an email from a Lightning email
booleanenableThreadTokenInSubject
1630
CaseSettingsMetadata Types
DescriptionField TypeField Name
composer (true) or not (false). This is applicable only to
orgs using Lightning Threading.
Indicates whether the owner of a case receives a notification
when a new email related to the case is received (true) or
not (false).
booleannotifyOwnerOnNewCaseEmail
Specifies what happens to email messages that are received
after an organization exceeds its daily Email-to-Case limits.
Valid values are:
EmailToCaseOnFailureActionType
(enumeration of type string)
overEmailLimitAction
Bounce
Discard
Requeue
Indicates whether the user signature is inserted after the reply
but before the email thread in an outbound email (true) or
at the end of the email (false).
booleanpreQuoteSignature
The organization's Email-to-Case routing address settings.EmailToCaseRoutingAddress[]routingAddresses
Indicates whether previous thread content in excluded from
replies, to reduce the size of outgoing emails (true) or not
(false).
booleanreplyWithNewContentOnly
Indicates whether senders are required to confirm that they
reviewed emails written by Einstein (true) or not (false).
booleanshowGeneratedEmailCheckbox
Specifies what happens to email messages received from
invalid senders. Valid values are:
EmailToCaseOnFailureActionType
(enumeration of type string)
unauthorizedSenderAction
Bounce
Discard
Indicates whether metadata from incoming emails is used to
match replies with cases if token-based threading doesn't
produce a match (true) or not (false).
booleanuseEmailHeadersForThreading
EmailToCaseRoutingAddress
Represents an organization's Email-to-Case routing address.
1631
CaseSettingsMetadata Types
Fields
DescriptionField TypeField Name
Specifies the type of Email-to-Case routing address. Valid
values are:
EmailToCaseRoutingAddressType
(enumeration of type string)
addressType
EmailToCaseA routing address used with
Email-to-Case or On-Demand Email-to-Case.
OutlookA routing address used with
Salesforce for Outlook to create cases from Outlook.
Requires that On-Demand Email-to-Case is enabled.
Specifies the email addresses or domains from which
On-Demand Email-to-Case can receive email. Include multiple
entries in a comma-separated list.
stringauthorizedSenders
Specifies the default case origin for cases created through this
routing address.
stringcaseOrigin
Specifies the default owner of cases created through this
routing address. The case owner can be either a user or a
queue. Specify the case owner using a Salesforce username.
stringcaseOwner
Specifying a case owner here in the routing address sets a
value of defaultCaseOwner in CaseSettings.
Specifies whether the default case owner is a user or a queue.stringcaseOwnerType
Specifies the default case priority for cases created through
this routing address.
stringcasePriority
Indicates whether a task is automatically assigned to the case
owner when a case is created through an email (true) or
not (false).
booleancreateTask
Specifies the email address used to route email messages that
are submitted as cases.
stringemailAddress
Specifies the Salesforce-generated routing address used for
setting up Email-to-Case forwarding. This field value is
read-only and can't be modified.
stringemailServicesAddress
Defines which queue to use when emails cant be routed with
the specified Omni-Channel flow. This queue must use Case
as the service channel object.
Available in API version 56.0 and later.
stringfallbackQueue
Indicates whether users access to the email routing address
is controlled by a permission set. If true, only users with
booleanisPermsetControlled
access via a permission set can use the routing address to
send emails.
1632
CaseSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the customer has verified the routing
address (typically by clicking a confirmation email). This field
value is read-only and can't be modified.
booleanisVerified
Specifies the name of an Omni-Channel flow that routes cases
generated in Email-to-Case.
Available in API version 56.0 and later.
stringroutingFlow
Specifies the name of the Email-to-Case routing address.stringroutingName
Indicates whether email routing and envelope information
are saved (true) or not (false).
booleansaveEmailHeaders
Specifies the default status on tasks automatically assigned
to the case owner when email is submitted as a case. Only
applies if createTask is set to true.
stringtaskStatus
FeedItemSettings
Represents an organization's feed item settings. Available in API version 32.0 and later.
DescriptionField TypeField Name
Specifies the maximum number of characters displayed for
each feed item.
intcharacterLimit
Removed. Indicates whether earlier messages in an email
thread are removed from email feed items (true) or not
(false).
booleancollapseThread
Available in API versions 27.0 to 46.0.
Indicates how email feed items are displayed. Valid values are:FeedItemDisplayFormat
(enumeration of type string)
displayFormat
DefaultBlank lines in email feed items are displayed.
HideBlankLinesBlank lines in email feed items
arent displayed.
The type of feed item to which the settings apply. For
FeedItemSettings, the only valid feedItemType
value is EmailMessageEvent.
FeedItemType (enumeration of
type string)
feedItemType
WebToCaseSettings
Represents an organization's Web-to-Case settings.
1633
CaseSettingsMetadata Types
Fields
DescriptionField TypeField Name
Specifies the default case origin for cases created through this web form.
Applies only if enableWebToCase is set to true.
stringcaseOrigin
Specifies the default template used for email responses to cases that are
submitted through a Self-Service portal. Applies only if
enableWebToCase is set to true.
Lightning email templates arent packageable. We recommend using a
Classic email template.
stringdefaultResponseTemplate
Indicates whether Web-to-Case is enabled (true) or not (false).booleanenableWebToCase
Declarative Metadata Sample Definition
This code sample is an example of a case settings file.
<?xml version="1.0" encoding="UTF-8"?>
<CaseSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<caseAssignNotificationTemplate>
unfiled$public/SupportCaseAssignmentNotification
</caseAssignNotificationTemplate>
<caseCloseNotificationTemplate>
unfiled$public/SupportCaseCloseNotification
</caseCloseNotificationTemplate>
<caseCommentNotificationTemplate>
unfiled$public/SupportCaseCommentNotification
</caseCommentNotificationTemplate>
<caseCreateNotificationTemplate>
unfiled$public/SupportCaseCreateNotification
</caseCreateNotificationTemplate>
<closeCaseThroughStatusChange>true</closeCaseThroughStatusChange>
<defaultCaseOwner>[email protected]</defaultCaseOwner>
<defaultCaseOwnerType>User</defaultCaseOwnerType>
<defaultCaseUser>[email protected]</defaultCaseUser>
<emailToCase>
<enableEmailToCase>true</enableEmailToCase>
<enableHtmlEmail>false</enableHtmlEmail>
<enableOnDemandEmailToCase>true</enableOnDemandEmailToCase>
<enableThreadIDInBody>true</enableThreadIDInBody>
<enableThreadIDInSubject>true</enableThreadIDInSubject>
<notifyOwnerOnNewCaseEmail>false</notifyOwnerOnNewCaseEmail>
<overEmailLimitAction>Bounce</overEmailLimitAction>
<preQuoteSignature>true</preQuoteSignature>
<routingAddresses>
<addressType>EmailToCase</addressType>
<authorizedSenders>[email protected]</authorizedSenders>
<caseOrigin>Email</caseOrigin>
<casePriority>Medium</casePriority>
<createTask>true</createTask>
1634
CaseSettingsMetadata Types
<emailAddress>[email protected]</emailAddress>
<routingName>EmailToCaseRoutingAddress1</routingName>
<saveEmailHeaders>true</saveEmailHeaders>
<taskStatus>Not Started</taskStatus>
</routingAddresses>
<routingAddresses>
<addressType>Outlook</addressType>
<authorizedSenders>[email protected]</authorizedSenders>
<caseOrigin>Email</caseOrigin>
<caseOwner>[email protected]</caseOwner>
<caseOwnerType>User</caseOwnerType>
<casePriority>High</casePriority>
<routingName>OutlookRoutingAddress1</routingName>
</routingAddresses>
<unauthorizedSenderAction>Discard</unauthorizedSenderAction>
</emailToCase>
<enableCaseFeed>true</enableCaseFeed>
<enableDraftEmails>true</enableDraftEmails>
<enableEarlyEscalationRuleTriggers>true</enableEarlyEscalationRuleTriggers>
<enableNewEmailDefaultTemplate>true</enableNewEmailDefaultTemplate>
<enableSuggestedArticlesApplication>true</enableSuggestedArticlesApplication>
<enableSuggestedArticlesCustomerPortal>true</enableSuggestedArticlesCustomerPortal>
<enableSuggestedArticlesPartnerPortal>false</enableSuggestedArticlesPartnerPortal>
<enableSuggestedSolutions>false</enableSuggestedSolutions>
<keepRecordTypeOnAssignmentRule>true</keepRecordTypeOnAssignmentRule>
<newEmailDefaultTemplateClass>CaseTemplateController</newEmailDefaultTemplateClass>
<notifyContactOnCaseComment>true</notifyContactOnCaseComment>
<notifyDefaultCaseOwner>true</notifyDefaultCaseOwner>
<notifyOwnerOnCaseComment>true</notifyOwnerOnCaseComment>
<notifyOwnerOnCaseOwnerChange>false</notifyOwnerOnCaseOwnerChange>
<showFewerCloseActions>false</showFewerCloseActions>
<useSystemEmailAddress>true</useSystemEmailAddress>
<webToCase>
<caseOrigin>Web</caseOrigin>
<defaultResponseTemplate>unfiled$public/SupportCaseResponse</defaultResponseTemplate>
<enableWebToCase>true</enableWebToCase>
</webToCase>
</CaseSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Case</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
1635
CaseSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ChatterAnswersSettings
Represents the metadata used to manage settings for Chatter Answers.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
Chatter Answers settings are stored in a single file named ChatterAnswers.settings in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
ChatterAnswersSettings is available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether users are notified when a best answer is selected for
a question that theyre following (true) or not (false).
booleanemailFollowersOnBestAnswer
Indicates whether users are notified when other users reply to questions
that theyre following (true) or not (false).
booleanemailFollowersOnReply
Indicates whether users are notified when customer support responds
to their questions privately (true) or not (false).
booleanemailOwnerOnPrivateReply
Indicates whether users are notified when other users reply to their
questions (true) or not (false).
booleanemailOwnerOnReply
Indicates whether users can post answers by replying to email
notifications (true) or not (false). This field is available in API version
29.0 and later.
booleanenableAnswerViaEmail
Indicates whether the Chatter Answers feature is enabled in the
organization (true) or not (false).
booleanenableChatterAnswers
Indicates whether users can sign in to your Chatter Answers forums with
their Facebook logins (true) or not (false). To enable this feature,
booleanenableFacebookSSO
you must define and enable a Facebook authentication provider in your
organizations security controls and enable Auth Providers in your
organization.
Indicates whether users can filter search results by articles or questions
before they post a question to any of your Chatter Answers forums
booleanenableInlinePublisher
1636
ChatterAnswersSettingsMetadata Types
DescriptionField TypeField Name
(true) or not (false). Also, adds Title and Body fields to
questions for easier text input and scanning. This field is available in API
version 29.0 and later.
Indicates whether user reputations appear as hover text on their profile
pictures (true) or not (false). Reputation is enabled across all zones.
booleanenableReputation
To enable the reputation setting, you must enable Reputation in your
organization.
Indicates whether the rich text editor is enabled for users to format text
and upload images when posting questions (true) or not (false).
To enable rich text editor, you must enable Optimize Question Flow.
booleanenableRichTextEditor
The name of an existing Facebook authentication provider. To implement
Facebook Single Sign On for your Chatter Answers forums, you must
choose a Facebook authentication provider.
stringfacebookAuthProvider
Indicates whether Chatter Answers can be added as a tab to your
Customer portal or partner portal (true) or not (false).
booleanshowInPortals
Declarative Metadata Sample Definition
The following is an example chatteranswers.settings metadata file:
<?xml version="1.0" encoding="UTF-8"?>
<ChatterAnswersSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<emailFollowersOnBestAnswer>true</emailFollowersOnBestAnswer>
<emailFollowersOnReply>true</emailFollowersOnReply>
<emailOwnerOnPrivateReply>true</emailOwnerOnPrivateReply>
<emailOwnerOnReply>true</emailOwnerOnReply>
<enableChatterAnswers>true</enableChatterAnswers>
<enableFacebookSSO>true</enableFacebookSSO>
<enableInlinePublisher>true</enableInlinePublisher>
<enableReputation>true</enableReputation>
<enableRichTextEditor>true</enableRichTextEditor>
<facebookAuthProvider>FacebookAuthProvider</facebookAuthProvider>
<showInPortals>true</showInPortals>
</ChatterAnswersSettings>
The following is an example package.xml manifest that references the ChatterAnswersSettings definitions:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ChatterAnswers</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
1637
ChatterAnswersSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ChatterEmailsMDSettings
Represents an orgs settings for Chatter email when Chatter is enabled. This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
The ChatterEmailsMDSettings component appears in the ChatterEmailsMD.settings file, and is stored in the settings
folder. The .settings files are different from other named components because there is only one settings file for each settings
component.
Version
ChatterEmailsMDSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Chatter digests can be sent via the API, rather than
according to the regular schedule, for your org (true) or not (false).
booleanenableChatterDigestEmailsApiOnly
Indicates whether attachments can be included on posts to chatter feeds
via email replies (true) or not (false).
booleanenableChatterEmailAttachment
Indicates whether collaboration email notifications can be sent (true)
or not (false).
booleanenableCollaborationEmail
Indicates whether iOS and Android app download badges display in
Chatter notifications (true) or not (false).
booleanenableDisplayAppDownloadBadges
Indicates whether users can reply to chatter notifications through an
email response (true) or not (false).
booleanenableEmailReplyToChatter
Indicates whether users can post to chatter feeds via email (true) or
not (false).
booleanenableEmailToChatter
Indicates whether a user is notified when a question is posted on their
case comment (false) or not (true).
booleannoQnOwnNotifyOnCaseCmt
Indicates whether a user is notified when a reply is posted on their
question (false) or not true.
booleannoQnOwnNotifyOnRep
1638
ChatterEmailsMDSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether a user is notified when a best reply is selected on a
question they follow (false) or not (true).
booleannoQnSubNotifyOnBestR
Indicates whether a user is notified when a reply is posted on a question
they follow (false) or not (true).
booleannoQnSubNotifyOnRep
Declarative Metadata Sample Definition
The following is an example of a chatteremailmd.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<ChatterEmailsMDSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableChatterDigestEmailsApiOnly>false</enableChatterDigestEmailsApiOnly>
<enableChatterEmailAttachment>false</enableChatterEmailAttachment>
<enableCollaborationEmail>true</enableCollaborationEmail>
<enableDisplayAppDownloadBadges>true</enableDisplayAppDownloadBadges>
<enableEmailReplyToChatter>false</enableEmailReplyToChatter>
<enableEmailToChatter>true</enableEmailToChatter>
<noQnOwnNotifyOnCaseCmt>false</noQnOwnNotifyOnCaseCmt>
<noQnOwnNotifyOnRep>false</noQnOwnNotifyOnRep>
<noQnSubNotifyOnBestR>false</noQnSubNotifyOnBestR>
<noQnSubNotifyOnRep>false</noQnSubNotifyOnRep>
</ChatterEmailsMDSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ChatterSettings
Represents an orgs settings for their Chatter instance when Chatter is enabled for the org. This type extends the Metadata metadata
type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
The ChatterSettings component appears in the Chatter.settings file, and is stored in the settings folder. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
ChatterSettings components are available in API version 47.0 and later.
1639
ChatterSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether manual and automatic group archiving are allowed
on all Chatter groups (true) or arent allowed (false).
In Setup, allowChatterGroupArchiving equates to the Chatter
setting Allow Group Archiving.
booleanallowChatterGroupArchiving
Indicates whether records can be associated with groups (true), or not
(false). If groups already have record data, setting this field to false
doesnt delete it.
In Setup, allowRecordsInChatterGroup equates to the Chatter
setting Allow Records in Groups.
booleanallowRecordsInChatterGroup
Removed. The setting of this field has no effect on the org. Available in
API version 47.0 only.
booleanallowSharingInChatterGroup
Indicates whether Approvals in Chatter are enabled for the org. When
the value is true, users see approval requests as posts in Chatter feeds.
booleanenableApprovalRequest
Users can update their own Chatter feeds settings to opt out of receiving
approval requests as Chatter posts. When the value is false, approval
requests arent posted to Chatter. The default value is false.
In Setup, enableApprovalRequest equates to the Chatter setting
Allow Approvals.
In Case feeds, indicates whether to use relative (true) or absolute
(false) date and time stamp formats on Case feed items. When the
booleanenableCaseFeedRelativeTimestamps
value is true, Case feed items show a relative timestamp (for example,
10m ago). When the value is true, users can hover over the relative
timestamp to see the absolute. When the value is false, Case feed
items show an absolute timestamp (for example, January 7, 2020
at 12:15PM). When you change this setting, all timestamps in Case
feeds reflect that change. The default value is true. This field is available
in API version 48.0 and later.
In Setup, enableCaseFeedRelativeTimestamps equates to
the Chatter setting Show relative timestamp.
Indicates whether Chatter is enabled for your org (true) or not
(false).
booleanenableChatter
Indicates whether the automatic conversion of text characters, such as
:), into a graphic emoticon is allowed in Chatter (true) or isnt allowed
(false).
In Setup, enableChatter equates to the Chatter setting Allow
Emoticons.
booleanenableChatterEmoticons
1640
ChatterSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether qualified users can edit feed posts and comments
(true) or not (false). Qualified users include:
booleanenableFeedEdit
The author of the post or comment
The person who owns the record that was posted to or commented
on
The Chatter or site moderator
In Setup, enableFeedEdit equates to the Chatter setting Allow
users to edit posts and comments.
Indicates whether to allow the pinning of posts in a feed (true) or not
(false). When set to true:
booleanenableFeedPinning
Authorized users can pin posts to the top of the feed.
The feed supports up to three pinned posts.
Pinned posts stay pinned until theyre unpinned.
After post pinning is enabled, authorized users include admins and group
owners and managers. Admins can also assign post pinning permission
through permission sets or user profiles.
In Setup, enableFeedPinning equates to the Chatter setting
Allow post pinning.
Indicates whether draft posts are automatically saved every seven
seconds (true) or not (false). When set to true:
booleanenableFeedsDraftPosts
Adds the My Drafts feed to the Chatter tab
Saves draft posts automatically every seven seconds
Makes drafts available in the My Drafts feed
When the user posts the entry, the draft is automatically removed from
the My Drafts feed.
In Setup, enableFeedsDraftPosts equates to the Chatter setting
Allow draft posts.
Indicates whether to use the Rich Text Editor in the Chatter Publisher
(true) or not (false). The rich text editor supports text formats, inline
images, hyperlinks, and, when enabled for the org, code snippets.
In Setup, enableFeedsRichText equates to the Chatter setting
Allow users to compose rich text posts.
booleanenableFeedsRichText
Indicates whether a licensed user can invite customers to private groups
that the licensed user owns or manages (true) or not (false). When
booleanenableInviteCsnUsers
the value is set to true, licensed users can invite customers who are
from outside org email domains. Invited customers can see information
only in the groups that they're invited to. They can interact only with
members of those groups.
1641
ChatterSettingsMetadata Types
DescriptionField TypeField Name
In Setup, enableInviteCsnUsers equates to the Chatter setting
Allow customer invitations.
Indicates whether to add an Out of Office setting to a user profile page
(true), or to omit it (false). When the value is set to true, this
booleanenableOutOfOfficeEnabledPref
option adds a control to user profile pages for setting a personal
out-of-office message.
In Setup, enableOutOfOfficeEnabledPref equates to the
Chatter setting Users can set Out of Office message.
Indicates whether to convert links in posts into embedded videos,
images, and article previews (true) or not to convert the links (false).
In Setup, enableRichLinkPreviewsInFeed equates to the
Chatter setting Allow Rich Link Previews.
booleanenableRichLinkPreviewsInFeed
Indicates whether to allow the posting of recommendations for using
the Salesforce Today app in users feeds (true) or not (false). When
booleanenableTodayRecsInFeed
set to true, automatically posts recommendations for using the
Salesforce Today app in users feeds.
In Setup, enableTodayRecsInFeed equates to the Chatter setting
Allow Today Recommendations.
Indicates whether to allow the creation of unlisted groups (true) or to
prevent their creation (false). When the value is set to true, users
booleanunlistedGroupsEnabled
can create unlisted groups. Unlisted groups dont appear on the Groups
list page. Membership in unlisted groups is by invitation only.
In Setup, unlistedGroupsEnabled equates to the Chatter setting
Enable Unlisted Groups.
Declarative Metadata Sample Definition
The following is an example of a Chatter.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<ChatterSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<allowChatterGroupArchiving>true</allowChatterGroupArchiving>
<allowRecordsInChatterGroup>true</allowRecordsInChatterGroup>
<enableApprovalRequest>true</enableApprovalRequest>
<enableChatter>true</enableChatter>
<enableChatterEmoticons>true</enableChatterEmoticons>
<enableFeedEdit>true</enableFeedEdit>
<enableFeedsDraftPosts>false</enableFeedsDraftPosts>
<enableFeedsRichText>true</enableFeedsRichText>
<enableInviteCsnUsers>true</enableInviteCsnUsers>
<enableOutOfOfficeEnabledPref>false</enableOutOfOfficeEnabledPref>
<enableRichLinkPreviewsInFeed>true</enableRichLinkPreviewsInFeed>
<enableTodayRecsInFeed>true</enableTodayRecsInFeed>
1642
ChatterSettingsMetadata Types
<unlistedGroupsEnabled>true</unlistedGroupsEnabled>
</ChatterSettings>
The following is an example package.xml manifest that references the ChatterSettings definitions:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Chatter</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CodeBuilderSettings
Represents Code Builder settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
CodeBuilderSettings values are stored in the CodeBuilder.settings file in the settings folder. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
CodeBuilderSettings is available in API versions 58.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Code Builder is enabled (true) or not (false).
When enabled, you can install and use the generally available
(GA) Code Builder package in the org.
booleanenableCodeBuilder
Declarative Metadata Sample Definition
The following is an example of the CodeBuilder.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<CodeBuilderSettings xmlns="http://soap.sforce.com/2006/04/metadata">
1643
CodeBuilderSettingsMetadata Types
<enableCodeBuilder>true</enableCodeBuilder>
</CodeBuilderSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CollectionsDashboardSettings
Represents an orgs settings to add the Collections Dashboard application to an org.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
CollectionsDashboardSettings values are stored in the CollectionsDashboard.settings file in the settings
folder. The .settings files are different from other named components, because theres only one settings file for each settings
component.
Version
CollectionsDashboardSettings components are available in API version 56.0 and later.
Fields
DescriptionField Name
Field Type
boolean
enableCollectionsDashboard
Description
Indicates whether to add the Collections Dashboard
application to an org (true) or not (false). The
default value is false.
Declarative Metadata Sample Definition
Thisexample shows a sample CollectionsDashboardSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<CollectionsDashboardSettings xmlns="http://soap.sforce.com/2006/04/metadata">
1644
CollectionsDashboardSettingsMetadata Types
<enableCollectionsDashboard>true</enableCollectionsDashboard>
</CollectionsDashboardSettings>
Theis example shows a sample package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>CollectionsDashboard</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
CommunitiesSettings
Represents community settings for an org. Enable digital experiences and workspaces. Manage moderation, guest user and partner
settings, and more. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
CommunitiesSettings values are stored in the Communities.settings file in the settings folder. The .settings
files are different from other named components, because theres only one settings file for each settings component.
Version
CommunitiesSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
When true, applies the Experience Cloud site login page type (default,
Login Discovery, Experience Builder, or Visualforce) to all Embedded
booleanapplyLoginPageTypeToEmbeddedLogin
Login implementations. When false, applies the username and
password login page type to all Embedded Login implementations.
For orgs created before the Salesforce Summer 20 release, the default
setting is false. For new orgs, the default setting is true. Available
in API version 49.0 and later.
When true, blocks redirects to unknown URLs that are provided in the
state parameter of the OAuth response during a server-side callback.
booleanblockEmbeddedLoginUnknownURLRedirect
1645
CommunitiesSettingsMetadata Types
DescriptionField TypeField Name
Redirects are allowed when the URL is in the same host or domain as
the site, or is allow-listed in the Embedded Login
salesforce-allowed-domains meta tag. When false, all redirects are
allowed.
For orgs created before the Salesforce Summer 21 release, the default
setting is false. For new orgs, the default setting is true. Available
in API version 52.0 and later.
When true, allows moderation features, such as flags and rules, to be
set on all feed posts including posts that are visible in Experience Cloud
booleancanModerateAllFeedPosts
sites. When set to false, only feed posts in sites can be moderated.
Default is false.
When true, allows moderation features, such as flags and rules, to be
set on record feed posts created by internal users. Such posts can also
be visible in multiple sites. Default is false.
booleancanModerateInternalFeedPosts
When true, allows links to Visualforce pages from other Visualforce
pages in Salesforce via the API. Default is false. Available in API version
48.0 and later.
booleanembeddedVisualforcePages
When true, allows admins to enable Experience Workspaces. Available
in API version 48.0 and later.
booleanenableCommunityWorkspaces
When true, allows users to see contacts from private accounts that
they have read access to, when the contact is controlled by the parent
record. Available in API version 48.0 and later.
booleanenableCspContactVisibilityPref
When true, allows customer users to access notes and attachments
associated with accounts and contacts. Available in API version 48.0 and
later.
booleanenableCspNotesOnAccConPref
When true, allows admins to enable partner users. Available in API
version 48.0 and later.
booleanenableEnablePRM
When true, enables the External Account Hierarchy object. Available
in API version 48.0 and later.
booleanenableExternalAccHierPref
When true, allows admins to set a default owner for records created
by guest users. Available in API version 48.0 and later.
booleanenableGuestRecordReassignOrgPref
When true, guest user visibility can be turned off. Available in API
version 49.0 and later.
booleanenableGuvSecurityOptOutPref
When true, allows guest users to be invited to use Chatter. Available
in API version 48.0 and later.
booleanenableInviteChatterGuestEnabled
When true, allows external users in Experience Cloud sites, with
permission, to run reports. Available in API version 48.0 and later.
booleanenableNetPortalUserReportOpts
When true, allows users to enable digital experiences. Available in API
version 47.0 and later.
booleanenableNetworksEnabled
1646
CommunitiesSettingsMetadata Types
DescriptionField TypeField Name
When true, allows use of standard external profiles for self-registration
and user creation. Available in API version 48.0 and later.
booleanenableOotbProfExtUserOpsEnable
When true, hides badges from guest users in Experience Builder sites.
Available in API version 53.0 and later.
booleanenablePreventBadgeGuestAccess
When true, allows users with Customer Community Plus licenses to
change case status. Available in API version 48.0 and later.
booleanenablePowerCustomerCaseStatus
When true, enables Account Relationship object and Account
Relationship Data Sharing Rule setup options. Available in API version
48.0 and later.
booleanenablePRMAccRelPref
When true, allows editing for partner account fields on and
opportunities and leads. Available in API version 48.0 and later.
booleanenableRelaxPartnerAccountFieldPref
When true, warnings about unsupported browsers are displayed in
Experience Cloud sites. Available in API version 48.0 and later.
booleanenableUnsupportedBrowserModalPref
When true, username uniqueness is set at the org level. Available in
API version 48.0 and later.
booleanenableUsernameUniqForOrgPref
Declarative Metadata Sample Definition
The following is an example of a CommunitiesSettings component.
<CommunitiesSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<canModerateAllFeedPosts>true</canModerateAllFeedPosts>
<canModerateInternalFeedPosts>true</canModerateInternalFeedPosts>
</CommunitiesSettings>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Communities</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CompanySettings
Represents global settings that affect multiple features in your organization. This type extends the Metadata metadata type and inherits
its fullName field.
1647
CompanySettingsMetadata Types
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Declarative Metadata File Suffix and Directory Location
CompanySettings values are stored in a single file named Company.settings in the settings directory of the corresponding
package directory. The .settings files are different from other named components because theres only one settings file for each
settings component.
Version
Company Profile Settings are available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
If a custom fiscal period is set up, this field is used to determine
whether the custom fiscal period is used for forecasts. If true,
booleanenableCustomFiscalYear
the custom fiscal period is used. If false (default), standard
periods are used. Available in API version 47.0 and later.
The organizations fiscal year setting based on year and start
month. Not available if Custom Fiscal Year or Forecasts (Classic)
FiscalYearSettingfiscalYear
is enabled. When changing fiscal year settings, quotas and
adjustments can be purged. For example changing your start
month results in purging this data.
FiscalYearSetting
Represents your organizations fiscal year setting.
DescriptionField TypeField
This field is used to determine the fiscal year name. Valid values
are endingMonth or startingMonth. For example, if
stringfiscalYearNameBasedOn
your fiscal year starts in April 2012 and ends in March 2013, and
this value is:
endingMonth, then 2013 is used for the fiscal year name.
startingMonth, then 2012 is used for the fiscal year
name.
The month on which the fiscal year is based.stringstartMonth
1648
CompanySettingsMetadata Types
Declarative Metadata Sample Definition Fiscal Year Setting
A sample XML definition of a fiscal year setting is shown below. Note that this example is supported in API version 27.0 and later.
<?xml version="1.0" encoding="UTF-8"?>
<CompanySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<fiscalYear>
<fiscalYearNameBasedOn>endingMonth</fiscalYearNameBasedOn>
<startMonth>January</startMonth>
</fiscalYear>
</CompanySettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ConnectedAppSettings
Represents settings for connected apps. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ConnectedAppSettings values are stored in a single file named ConnectedApp.settings in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
ConnectedAppSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
If false (default), any connected app can call the Salesforce API. If
true, only apps that have been approved or installed by the admin
booleanenableAdminApprovedAppsOnly
can call the Salesforce API. To access this field, you must contact
Salesforce Customer Support to enable API Access Control.
If false (default), authenticated customers or partners can use any
unblocked connected app to access the Salesforce API. If true,
booleanenableAdminApprovedAppsOnlyForExternalUser
authenticated customers and partners cant access the Salesforce API
unless they use a connected app that is installed in the org and
unblocked. Install and unblock connected apps on the Connected Apps
OAuth Usage page. To access this field, you must contact Salesforce
Customer Support to enable API Access Control.
If false (default), the User Provisioning Wizard Welcome page shows
up when you access the wizard. To skip the welcome page in the future,
booleanenableSkipUserProvisioningWizardWelcomePage
1649
ConnectedAppSettingsMetadata Types
DescriptionField TypeField Name
you can select Do not show me this next time. If true, the Welcome
page doesnt show up the next time that you access the wizard.
Declarative Metadata Sample Definition
The following is an example of a ConnectedAppSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ConnectedAppSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAdminApprovedAppsOnly>false</enableAdminApprovedAppsOnly>
<enableAdminApprovedAppsOnlyForExternalUser>false</enableAdminApprovedAppsOnlyForExternalUser>
<enableSkipUserProvisioningWizardWelcomePage>true</enableSkipUserProvisioningWizardWelcomePage>
</ConnectedAppSettings>
The following is an example package.xml manifest that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ConnectedApp</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
ContentSettings
Represents content settings for an org. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ContentSettings values are stored in the contentsettings.settings file in the settings folder. The .settings
files are different from other named components, because theres only one settings file for each settings component.
Version
ContentSettings components are available in API version 48.0 and later.
Fields
DescriptionField TypeField Name
When true, allows users to share files via links. When set to false,
users cant use file sharing. Default is true.
booleanenableChatterFileLink
1650
ContentSettingsMetadata Types
DescriptionField TypeField Name
When true, allows org to enable Salesforce CMS Cloud to Cloud
Connections.
booleanenableCMSC2CConnections
When true, allows org to enable Content.booleanenableContent
When true, allows org to auto assign Content feature licenses to users.booleanenableContentAutoAssign
When true, allows portal users to create Content Deliveries for
managed files in a library.
booleanenableContentDistForPortalUsers
When true, allow using with
ContentDistPasswordOptionsBit2 to set up one of three
possible delivery security options.
booleanenableContentDistPwOptionsBit1
When true, allow using with
ContentDistPasswordOptionsBit1 to set up one of three
possible delivery security options.
booleanenableContentDistPwOptionsBit2
When true, allows the Content Delivery user permission to be enabled
for users. Content deliveries let users create links to share files externally,
with optional security settings.
booleanenableContentDistribution
When true, enables content to support multiple languages.booleanenableContentSupportMultiLanguage
When true, content libraries are visible in the API and UI for users who
have read access to libraries, even if they don't have access to the original
Salesforce CRM Content app.
booleanenableContentWorkspaceAccess
When true, enables an org preference that allows a file's owner to
delete the file, which is included in one or more content packs. The
default setting is based on the org.
booleanenableDeleteFileInContentPacks
When true, files shared to records default to Set by Record.booleanenableFileShareSetByRecord
When true, files respect user sharing settings. Files shared with users
with SharedUsers visibility are only accessible to users who are members
of the Experience Cloud site the file was created in.
booleanenableFilesUsrShareNetRestricted
When true, attempts to use other SVG alternative formats such as JPG
as preview images.
booleanenableJPGPreviews
When true, controls the ability to publish files created in Chatter with
a Content Library (ContentWorkspace). The library can manage the file.
booleanenableLibraryManagedFiles
When true, allows users to search for Chatter files in content.booleanenableShowChatterFilesInContent
When true, site guest users can upload files.booleanenableSiteGuestUserToUploadFiles
When true, shows the New File button on the Attachments related
lists to upload files, rather than legacy Attachments.
booleanenableUploadFilesOnAttachments
When true, enables an org preference that controls whether the
Content-Type HTTP response header is set to a valid content type during
booleansetValidContentTypeForAtchDocDownload
file and attachment downloads. If false the response header is set
1651
ContentSettingsMetadata Types
DescriptionField TypeField Name
to the value that the user provided during file upload. Values provided
by the user can be invalid. If the content type provided by the user isnt
a valid content type, the system tries to determine a valid content type
based on the file name extension. This field is available in API version
50.0 and later.
When true, disables content trigger execution and custom validation
on content assets.
booleanskipContentAssetTriggers
When true, disables content trigger execution when deploying content
assets.
booleanskipContentAssetTriggersOnDeploy
Declarative Metadata Sample Definition
The following is an example of a Content.settings file.
<ContentSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableChatterFileLink>true</enableChatterFileLink>
<enableCMSC2CConnections>true</enableCMSC2CConnections>
<enableContent>true</enableContent>
<enableContentAutoAssign>true</enableContentAutoAssign>
<enableContentDistForPortalUsers>true</enableContentDistForPortalUsers>
<enableContentDistribution>true</enableContentDistribution>
<enableContentSupportMultiLanguage>false</enableContentSupportMultiLanguage>
<enableContentWorkspaceAccess>true</enableContentWorkspaceAccess>
<enableFileShareSetByRecord>true</enableFileShareSetByRecord>
<enableFilesUsrShareNetRestricted>true</enableFilesUsrShareNetRestricted>
<enableJPGPreviews>true</enableJPGPreviews>
<enableLibraryManagedFiles>true</enableLibraryManagedFiles>
<enableShowChatterFilesInContent>true</enableShowChatterFilesInContent>
<enableSiteGuestUserToUploadFiles>true</enableSiteGuestUserToUploadFiles>
<enableUploadFilesOnAttachments>true</enableUploadFilesOnAttachments>
<skipContentAssetTriggers>true</skipContentAssetTriggers>
<skipContentAssetTriggersOnDeploy>true</skipContentAssetTriggersOnDeploy>
</ContentSettings>
The following is an example ContentSettings.xml manifest that references the ContentSettings definitions:
<?xml version="1.0" encoding="UTF-8"?>
<ContentSettings xmlns=
<types>
<members>Content</members>
<name>Settings</name>
</types>
<version>48.0</version>
</ContentSettings>
1652
ContentSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ContractSettings
Represents contract settings.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
There is one contract settings file stored in a file named Contract.settings in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
ContractSettings is available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the end date of a contract is automatically calculated
(true) or not (false).
booleanautoCalculateEndDate
Indicates whether account and contract owners are automatically sent
email notifications when a contract expires (true) or not (false).
booleannotifyOwnersOnContractExpiration
Declarative Metadata Sample Definition
This is a sample contract settings file.
<?xml version="1.0" encoding="UTF-8"?>
<ContractSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<autoCalculateEndDate>true</autoCalculateEndDate>
<notifyOwnersOnContractExpiration>false</notifyOwnersOnContractExpiration>
</ContractSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1653
ContractSettingsMetadata Types
ConversationalIntelligenceSettings
Represents the org's Einstein Conversation Insights settings, such as whether Einstein Conversation Insights is enabled. Einstein Conversation
Insights lets you analyze your rep's call recordings, and gives you the insights you need to optimize every call.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
ConversationalIntelligenceSettings values are stored in the ConversationalIntelligence.settings file in the settings
folder.
Version
ConversationalIntelligenceSettings components are available in API version 49.0 and later.
Fields
DescriptionField Name
Field Type
boolean
enableCallCoaching
Description
Indicates whether Einstein Conversation Insights is enabled (true) or not (false).
The default value is false. Available in API version 49.0 and later.
Field Type
boolean
enableCallCoachingZoom
Description
Indicates whether Zoom video calls are enabled for Einstein Conversation Insights
(true) or not (false). The default value is false. Available in API version 51.0
and later.
Field Type
boolean
enableDiarizationPref
Description
Indicates whether optimal speaker separation is enabled (true) or not (false). The
default value is false. Available in API version 58.0 and later.
Optimal speaker separation lets Einstein Conversation Insights use acoustic features
of speaker voices to separate an audio stream into separate segments.
Field Type
boolean
enableOpptyMatching
1654
ConversationalIntelligenceSettingsMetadata Types
DescriptionField Name
Description
Indicates whether voice and video calls are related to opportunities automatically
(true) or not (false). The default value is false. Available in API version 53.0
and later.
Field Type
boolean
enableUnifiedActivities
Description
Indicates whether Activity 360 Reporting is enabled (true) or not (false). The
default value is false. Available in API version 58.0 and later.
Declarative Metadata Sample Definition
The following is an example of a ConversationalIntelligenceSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ConversationalIntelligenceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCallCoaching>true</enableCallCoaching>
</ConversationalIntelligenceSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ConversationalIntelligence</members>
<name>Settings</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ConversationChannelDefinition
Represents the conversation channel definition thats implemented for interaction service. Examples of conversation channels include
Messaging and Voice. This object is available in API version 60.0 and later.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1655
ConversationChannelDefinitionMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
ConversationChannelDefinition components have the suffix .ConversationChannelDefinition and are stored in the
conversationChannelDefinitions folder.
Version
ConversationChannelDefinition components are available in API version 60.0 and later.
Special Access Rules
Interaction service must be configured. Access to tooling objects requires Salesforce administrator privileges or the Customize Application
permission.
Fields
DescriptionField Name
Field Type
string
connectedAppOauthLink
Description
Required. DO NOT SET OR CHANGE THIS VALUE. This value is automatically generated.
This field represents the OAuth link for the connected app. This is a string identifier to
the connected app containing the partner Org ID and the consumer ID minus the key
prefixes. Used to identify the connected app to use for the channel definition and
channel at runtime.
Field Type
ConsentOwner (enumeration of type string)
consentOwner
Description
The system the customer uses to manage consent levels.
Possible values are:
Partner
Salesforce
The default value is Salesforce.
For example, if set to Salesforce, consent levels are managed by the Salesforce
system. If set to Partner, consent levels are managed by the partners telephony
system.
For Partner Messaging, this value must be set to Salesforce.
1656
ConversationChannelDefinitionMetadata Types
DescriptionField Name
Field Type
string
conversationVendorInfo
Description
The ConversationVendorInfo.developerName used to link this record
to the ConversationVendorInfo record. For example, PartnerName.
Field Type
string
customEventChnlAddrIdField
Description
The mapping field that points to the custom field used to point to the
ChannelAddressIdentifier field.
This field is deprecated in API version 60.0 and will be removed in API version 61.0.
Use a combination of customEventTypeField and
customEventPayloadField instead.
Field Type
string
customEventPayloadField
Description
Required. The mapping field that points to the custom field used to point to the
Payload field in the format <orgNamespace>__<CustomFieldName>__c.
This is the API name of the custom Payload field in the custom platform event. For
example, devorg__Payload__c.
Field Type
string
customEventRecipientField
Description
The mapping field that points to the custom field used to point to the Recipient field.
This field is deprecated in API version 60.0 and will be removed in API version 61.0.
Use a combination of customEventTypeField and
customEventPayloadField instead.
Field Type
string
customEventTypeField
Description
The mapping field that points to the custom field used to point to the Platform event
type (EventType) field, in the format
<orgNamespace>__<CustomFieldName>__c. This is the API name of the
custom EventType field in the custom platform event. For example,
devorg__EventType__c.
Field Type
string
customPlatformEvent
1657
ConversationChannelDefinitionMetadata Types
DescriptionField Name
Description
Required. The API name of the custom platform event created for the Interaction
Service API in the format
<orgNamespace>__<CustomPlatformEventName>__e. For example,
devorg__TestEvent__e.
Field Type
string
developerName
Description
The unique name of the custom metadata type object in the API in the format
<Prefix>_<ConversationChannelDefinition>, where Prefix
matches the prefix you gave to the name of the interaction service connected app.
For example, Partner1_ChannelDefinition1, where Partner1 is the prefix and
ChannelDefinition1 is the given name.
Field Type
string
masterLabel
Description
The namespace prefix that is associated with this object. Each Developer Edition org
that creates a managed package has a unique namespace prefix. Limit: 15 characters.
You can refer to a component in a managed package by using the
namespacePrefix__componentName notation. The namespace prefix can
have one of the following values.
In Developer Edition orgs, NamespacePrefix is set to the namespace prefix
of the org for all objects that support it, unless an object is in an installed managed
package. In that case, the object has the namespace prefix of the installed managed
package. This fields value is the namespace prefix of the Developer Edition org of
the package developer.
In orgs that are not Developer Edition orgs, NamespacePrefix is set only for
objects that are part of an installed managed package. All other objects have no
namespace prefix.
NamespacePrefix is null if the publisher is Salesforce.
Field Type
RoutingOwner (enumeration of type string)
routingOwner
Description
The system the customer uses to manage routing for Partner Messaging.
Possible values are:
Partner
Salesforce
The default value is Salesforce.
1658
ConversationChannelDefinitionMetadata Types
DescriptionField Name
For example, if set to Salesforce, consent levels are managed by the Salesforce
system. If set to Partner, consent levels are managed by the partners telephony
system.
For Partner Messaging, this value must be set to Salesforce.
Field Type
boolean
supportsDoubleOptInConsent
Description
Indicates whether the channel supports (true) the Double Opt-In consent level. The
default value is false. If set to true, then
capabilitiesSupportsExplicitConsent must also be set to true. This
field is optional and isnt supported for Partner Messaging.
Field Type
boolean
supportsExplicitConsent
Description
Indicates whether the channel supports (true) the Explicit Opt-In consent level. This
field is optional.
Field Type
boolean
supportsImplicitConsent
Description
Indicates whether the channel supports (true) the Implicit Opt-In consent level. This
value is required and must always be set to true. The default value is false.
Field Type
boolean
supportsIsoCountryCode
Description
Indicates whether the channel supports (true) ISO country codes. The default value
is false.
Field Type
boolean
supportsKeywords
Description
Indicates whether the channel supports (true) keywords. The default value is false.
1659
ConversationChannelDefinitionMetadata Types
Declarative Metadata Sample Definition
The following is an example of a ConversationChannelDefinition component.
The following is an example package.xml that references the previous definition.
CurrencySettings
Represents an organizations currency settings, including supporting multiple currencies and currency effective dates. This type extends
the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
CurrencySettings values are stored in the Currency.settings file in the settings directory. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
CurrencySettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether effective dated currency is enabled (true) or not
(false). This field has a default value of false. To enable this
preference, enableMultiCurrency must be set to true
booleanenableCurrencyEffectiveDates
Indicates whether the currency symbol (true) or ISO code (false)
displays in multi-currency orgs. This field has a default value of false.
This field has no effect if enableMultiCurrency is set to false.
booleanenableCurrencySymbolWithMultiCurrency
Indicates whether multiple currencies are enabled (true) or not
(false). This field has a default value of false.
booleanenableMultiCurrency
Note: Once set to true, this field cant be set to false. See
Considerations for Enabling Multiple Currencies for more
information.
Deprecated in API version 49.0 and later. Regardless of the value in this
field, a Salesforce admin can activate multiple currencies.
In API version 48.0 and earlier, if Customizable Forecasting was enabled,
this field indicated whether Salesforce Customer Support could activate
multiple currencies (true) or the feature couldn't be activated (false).
booleanisMultiCurrencyActivationAllowed
This field is only visible if multiple currencies are disabled. It has a default
of false to provide an extra layer of protection against accidentally
enabling multiple currencies when Customizable Forecasting was
1660
CurrencySettingsMetadata Types
DescriptionField TypeField Name
enabled. In API version 48.0 and earlier, customers with Customizable
Forecasting enabled in their orgs had to contact Salesforce Customer
Support to activate multiple currencies. Customers set this field to true
when Salesforce Customer Support requested that they do so to validate
their request to activate multiple currencies.
Note: Customizable Forecasting was retired in Summer 20.
Users cant access the Customizable Forecasting feature and its
underlying data via the user interface or API. To predict sales
revenue and quantities from your opportunity pipeline, use
Collaborative Forecasts.
Indicates whether parenthetical currency conversion is disabled (true)
or enabled (false). This field has a default value of true. When this
booleanisParenCurrencyConvDisabled
field is set to false, Salesforce displays converted currency amounts
to users whose personal currency differs from the currency of the record
theyre viewing.
Declarative Metadata Sample Definition
The following is an example of a CurrencySettings file.
<?xml version="1.0" encoding="UTF-8"?>
<CurrencySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCurrencyEffectiveDates>false</enableCurrencyEffectiveDates>
<enableCurrencySymbolWithMultiCurrency>false</enableCurrencySymbolWithMultiCurrency>
<enableMultiCurrency>false</enableMultiCurrency>
<isMultiCurrencyActivationAllowed>false</isMultiCurrencyActivationAllowed>
<isParenCurrencyConvDisabled>false</isParenCurrencyConvDisabled>
</CurrencySettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Currency</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1661
CurrencySettingsMetadata Types
CustomAddressFieldSettings
Represents the settings for custom address fields.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
CustomAddressFieldSettings values are stored in the CustomAddressField.settings file in the settings
folder. The .settings files are different from other named components, because there is only one settings file for each settings
component.
Version
CustomAddressFieldSettings components are available in API version 55.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the Address Field Type is available for
custom fields (true) or not (false). The default value is
false.
Custom Address Fields cant be disabled. When
enableCustomAddressField is set to true, you cant
change the value to false.
booleanenableCustomAddressField
Note: Before you set this field to true, review Custom
Address Fields Requirements and Limitations in Salesforce
Help.
Declarative Metadata Sample Definition
The following is an example of a CustomAddressFieldSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<CustomAddressFieldSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCustomAddressField>true</enableCustomAddressField>
</CustomAddressFieldSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>CustomAddressField</members>
1662
CustomAddressFieldSettingsMetadata Types
<name>Settings</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
DataDotComSettings
Represents the org's Data.com settings. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
DataDotComSettings values are stored in the DataDotCom.settings file in the settings folder.
Version
DataDotComSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Account Export to Excel is enabled for Prospector
(true) or not (false). Default value is false.
booleanenableAccountExportButtonOff
Indicates whether Account Import to CRM is enabled for Prospector
(true) or not (false). Default value is false.
booleanenableAccountImportButtonOff
Indicates whether Prospector Lead Import Duplicate Check is enabled
(true) or not (false). Default value is false.
booleanenableAllowDupeContactFromLead
Indicates whether Prospector Contact Import Duplicate Check is enabled
(true) or not (false). Default value is false.
booleanenableAllowDupeLeadFromContact
This field is no longer in use.booleanenableCleanUpgradeRequested
Indicates whether Contact Export to Excel is enabled for Prospector
(true) or not (false). Default value is false.
booleanenableContactExportButtonOff
Indicates whether Contact Import to CRM is enabled for Prospector
(true) or not (false). Default value is false.
booleanenableContactImportButtonOff
1663
DataDotComSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of a DataDotComSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<DataDotComSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAccountExportButtonOff>true</enableAccountExportButtonOff>
<enableAccountImportButtonOff>true</enableAccountImportButtonOff>
<enableAllowDupeContactFromLead>true</enableAllowDupeContactFromLead>
<enableAllowDupeLeadFromContact>true</enableAllowDupeLeadFromContact>
<enableContactExportButtonOff>true</enableContactExportButtonOff>
<enableContactImportButtonOff>true</enableContactImportButtonOff>
</DataDotComSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>DataDotCom</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
DataImportManagementSettings
Represents an org's contact and leads import settings.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
DataImportManagementSettings values are stored in the DataImportManagement.settings file in the settings
folder. The .settings files are different from other named components, because there is only one settings file for each settings
component.
Version
DataImportManagementSettings components are available in API version 57.0 and later.
Special Access Rules
DataImportManagementSettings is available when your org enables the DataImportManagement permission, which is only available
for particular editions.
1664
DataImportManagementSettingsMetadata Types
Fields
DescriptionField Name
Field Type
boolean
enableEasyImport
Description
Indicates whether Basic Data Import is enabled (true) or not (false). When true,
users are guided step by step to select how they want to import contacts and leads
to Salesforce.
Declarative Metadata Sample Definition
The following is an example of a DataImportManagementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<DataImportManagementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableEasyImport>true</enableEasyImport>
</DataImportManagementSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>DataImportManagement</members>
<name>Settings</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
DeploymentSettings
Represents the settings affecting how deployments behave in the org. This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
DeploymentSettings values are stored in the Deployment.settings file in the settings directory. The .settings files
are different from other named components, because there is only one settings file for each settings component.
1665
DeploymentSettingsMetadata Types
Version
DeploymentSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether deployments from this org skip asynchronous Apex
validations (true) or not (false). The default value is true.
Set this field to false when an Apex class in the package youre
deploying is used by an Apex batch job that could run during the
booleandoesSkipAsyncApexValidation
deployment. The deployment of a package containing an Apex class
that is used by a running batch job fails without validation.
Declarative Metadata Sample Definition
The following is an example of a DeploymentSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<DeploymentSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<doesSkipAsyncApexValidation>true</doesSkipAsyncApexValidation>
</DeploymentSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Deployment</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DevHubSettings
Represents Dev Hub settings.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all org settings metadata types are accessed using the Settings name. See Settings for more details.
1666
DevHubSettingsMetadata Types
File Suffix and Directory Location
DevHubSettings values are stored in the DevHub.settings file in the settings folder. The .settings files are different
from other named components because there is only one settings file for each settings component.
Version
DevHubSettings are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether DevOps Center is enabled: true or false. When
enabled, you can install and use the generally available (GA) DevOps
Center package in the org.
Available in API version 56.0 and later.
booleanenableDevOpsCenterGA
(Deprecated) Indicates whether DevOps Center beta is enabled: true
or false. When enabled, you can install and use the DevOps Center
beta package in the org.
booleanenableDevOpsCenter
Indicates whether unlocked and second-generation managed packaging
is enabled: true or false.
To enable enablePackaging2, first enable
enableScratchOrgManagementPref.
booleanenablePackaging2
Indicates whether Dev Hub is enabled: true or false. When enabled,
a Dev Hub allows you to create and manage scratch orgs.
booleanenableScratchOrgManagementPref
Indicates whether Scratch Org Snapshots is enabled: true or false.
When enabled, you can create snapshots of a fully configured scratch
booleanenableScratchOrgSnapshotPref
org. A snapshot is a point-in-time copy of a scratch org that you can use
to create additional scratch orgs.
Available in API version 61.0 and later.
Indicates whether Org Shape is enabled: true or false. When
enabled, you can create org shapes as the basis for scratch orgs.
Available in API version 55.0 and later.
booleanenableShapeExportPref
Declarative Metadata Sample Definition
The following is an example of a DevHubSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<DevHubSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enablePackaging2>true</enablePackaging2>
1667
DevHubSettingsMetadata Types
<enableScratchOrgManagementPref>true</enableScratchOrgManagementPref>
</DevHubSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
DocumentGenerationSetting
Represents an org's settings for automatic document generation from templates. This type extends the Metadata metadata type and
inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
DocumentGenerationSetting components have the suffix documentGenerationSetting and are stored in the
documentGenerationSettings folder. The .settings files are different from other named components because theres
only one settings file for each settings component.
Version
DocumentGenerationSetting components are available in API version 52.0 and later.
Special Access Rules
DocumentGenerationSetting is available if your org has the DocGen platform license and related addon and user licenses.
Server-side document generation isn't enabled by default, and selecting isServerSideDocGenEnabled isn't sufficient. To
enable this feature, see the Request Access to Server-Side Document Generation knowledge article.
Fields
DescriptionField TypeField Name
Required. The name of the library that stores the document templates
to which this setting applies.
stringdocumentTemplateLibraryName
Specifies how and where a document is generated. Valid values are:GenerationMechanism
(enumeration of
type string)
generationMechanism
ClientSideGenerates documents in the browser with an
optional preview.
ServerSideGenerates documents on the server and attaches
them to the objects for which they're generated.
The default is ClientSide.
Specifies the named credential that lets guest users generate documents.stringguestAccessNamedCredential
1668
DocumentGenerationSettingMetadata Types
DescriptionField TypeField Name
Enables server-side document generation if the prerequisite license is
present in the org.
booleanisServerSideDocGenEnabled
Required. Specifies a name for the setting, such as DocGen.stringmasterLabel
Specifies the format of previews of generated documents. Valid values
are:
PreviewType
(enumeration of
type string)
previewType
PDFDisplays how the generated document looks in PDF format.
ThumbnailDisplays a miniature representation of the generated
document.
The default is PDF.
Declarative Metadata Sample Definition
The following is an example of a DocumentGenerationSetting component.
<?xml version="1.0" encoding="UTF-8"?>
<DocumentGenerationSetting xmlns="http://soap.sforce.com/2021/10/metadata">
<documentTemplateLibraryName>DocgenDocumentTemplateLibrary</documentTemplateLibraryName>
<masterLabel>DocGen</masterLabel>
</DocumentGenerationSetting>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2021/10/metadata">
<types>
<members>DocumentGeneration</members>
<name>Settings</name>
</types>
<version>53.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
DynamicFormsSettings
Represents the settings related to Dynamic Forms.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
1669
DynamicFormsSettingsMetadata Types
File Suffix and Directory Location
DynamicFormsSettings values are stored in the DynamicForms.settings file in the settings folder. The .settings
files are different from other named components, because there is only one settings file for each settings component.
Version
DynamicFormsSettings components are available in API version 58.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
boolean
enableFormsOnMobile
Description
Determines whether an org has Dynamic Forms for Mobile (Beta) enabled (true) or
not (false).
Note: This feature is a Beta Service. Customer may opt to try such Beta Service
in its sole discretion. Any use of the Beta Service is subject to the applicable
Beta Services Terms provided at Agreements and Terms.
Declarative Metadata Sample Definition
The following is an example of a DynamicFormsSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<DynamicFormsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableFormsOnMobile>true</enableFormsOnMobile>
</DynamicFormsSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>DynamicForms</members>
<name>Settings</name>
</types>
<version>58.0</version>
</Package>
1670
DynamicFormsSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
EACSettings
Represents the Einstein Activity Capture metadata type. Use Einstein Activity Capture to add emails and events from your Microsoft or
Google account to the activity timeline of related Salesforce records. Automatically sync contact and event data between your Microsoft
or Google account and Salesforce. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EACSettings components have the suffix EAC and are stored in the Settings folder.
Version
EACSettings components are available in API version 48.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the Recommended Connections component is
automatically added (true) to standard contact, lead, and person
account Lightning record pages or not (false).
Default value is false.
booleanaddRcCompToFlexiPages
Available in API version 53.0 and later.
Indicates whether Automatic Contact Creation is enabled (true) or not
(false).
Default value is false.
booleanautoContactCreationPref
Available in API version 61.0 and later.
Indicates whether Automatic Contact Enhancements is enabled (true)
or not (false).
Default value is false.
booleanautoContactEnrichmentPref
Available in API version 61.0 and later.
Indicates whether the setting to prevent automated emails from being
shared is on (true) or not (false).
Available in API version 54.0 and later.
booleanautomatedEmailFilter
1671
EACSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the details to join with Google Meet are added (true)
to the Google version of the event or not (false) when sales reps
booleanautoPopulateGoogleMeetLinks
create events in Salesforce. The Google Meet details dont sync back to
Salesforce.
Default value is false.
Available in API version 53.0 and later.
Indicates whether the Activities dashboard is enabled (true) or not
(false).
For orgs that enable Einstein Activity Capture after the Summer 21
release, the default value is false.
booleanenableActivityAnalyticsPref
Available in API version 53.0 and later.
Indicates whether Einstein Activity Capture is enabled (true) or not
(false). provisionProductivityFeatures must be true
booleanenableActivityCapture
to use this feature. To ensure that your org's requirements for handling
sensitive data are met, see Einstein Activity Capture Considerations.
Default value is false.
Indicates whether Activity Metrics are enabled (true) or not (false).
enableActivityCapture must be true to use this feature.
Before enabling this feature, see Considerations for Using Activity Metrics.
Default value is false.
booleanenableActivityMetrics
Indicates whether combined sync and capture is enabled for events,
contacts, and emails (true) or not (false).
Default value is false.
booleanenableActivitySyncEngine
Indicates whether users who have the enableActivityCapture
set to false can still see emails and events in their Salesforce timeline
(true) or not (false).
Default value is true.
booleanenableEACForEveryonePref
Indicates whether new Einstein Activity Capture users are required to
keep their activity sharing setting as Dont Share (true) or not (false).
booleanenableEnforceEacSharingPref
Users can still share individual emails and events, and respond to sharing
requests from other users.
Indicates whether the default activity sharing for new users is set to
Everyone (true) or not (false).
For example, if enableInboxActivitySharing is true, then
new Einstein Activity Capture users have their activity sharing set to
booleanenableInboxActivitySharing
Everyone by default. This setting does not affect the activity sharing
setting of existing users.
1672
EACSettingsMetadata Types
DescriptionField TypeField Name
Default value is true.
Indicates whether Email Insights is enabled (true) or not (false).
Default value is true.
booleanenableInsightsInTimeline
Indicates whether Email Insights is enabled for users with an Einstein
Activity Capture Standard permission set (true) or not (false). For
booleanenableInsightsInTimelineEacStd
more information, see "Turn On Einstein Email Insights" in Salesforce
Help.
Default value is false.
Indicates whether your org is ready for productivity features to be
enabled (true) or not (false).
Default value is false.
booleanprovisionProductivityFeatures
Indicates whether Buyer Relationship Map is enabled (true) or not
(false).
Default value is true.
booleanrelationshipGraphPref
Available in API version 61.0 and later.
Indicates whether the activity timeline shows only events that are
Salesforce records (true) or not (false). For more information, see
Guidelines for Using Events with Einstein Activity Capture
Available in API version 53.0 and later.
booleansalesforceEventsOnlyPref
Indicates whether the setting to prevent sensitive emails from being
shared is on (true) or not (false).
Available in API version 54.0 and later.
booleansensitiveEmailFilter
Indicates whether internal events sync between the connected account
and Salesforce (true) or not (false). Events are internal when all
attendees are part of the internal domain.
Available in API version 53.0 and later.
booleansyncInternalEvents
Declarative Metadata Sample Definition
The following is an example of the EAC.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<EACSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableActivityCapture>true</enableActivityCapture>
<enableActivityMetrics>true</enableActivityMetrics>
<enableActivitySyncEngine>true</enableActivitySyncEngine>
<enableEACForEveryonePref>true</enableEACForEveryonePref>
<enableInboxActivitySharing>true</enableInboxActivitySharing>
1673
EACSettingsMetadata Types
<enableInsightsInTimeline>true</enableInsightsInTimeline>
<enableInsightsInTimelineEacStd>true</enableInsightsInTimelineEacStd>
<provisionProductivityFeatures>true</provisionProductivityFeatures>
</EACSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the EAC settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EAC</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EinsteinAgentSettings
Represents settings for Einstein classification apps, Einstein Case Classification and Einstein Case Wrap-Up, in an org. This type extends
the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EinsteinAgentSettings values are stored in the EinsteinAgent.settings file in the settings folder. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
EinsteinAgentSettings components are available in API version 52.0 and later. In API version 52.0, we renamed CaseClassificationSettings
components to EinsteinAgentSettings components to reflect how we consolidated settings for Einstein Case Classification and Einstein
Case Wrap-Up. CaseClassificationSettings components are available in API version 47.0 through 51.0.
Fields
DescriptionField TypeField Name
Indicates whether Einstein classification apps are enabled in your org.
The default value is false.
booleaneinsteinAgentRecommendations
1674
EinsteinAgentSettingsMetadata Types
DescriptionField TypeField Name
If true, skills-based routing rules are run after Einstein Case Classification
automatically updates field values. The default value is false.
booleanreRunAttributeBasedRules
If true, assignment rules are run after Einstein Case Classification
automatically updates field values. The default value is false.
booleanrunAssignmentRules
Declarative Metadata Sample Definition
The following is an example of a EinsteinAgentSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<EinsteinAgentSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<einsteinAgentRecommendations>true</einsteinAgentRecommendations>
<reRunAttributeBasedRules>true</reRunAttributeBasedRules>
<runAssignmentRules>true</runAssignmentRules>
</EinsteinAgentSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EinsteinAgent</members>
<name>Settings</name>
</types>
<version>52.0</version>
</Package>
EmailAdministrationSettings
Represents an organizations email administration settings, including email deliverability, security compliance, relay configurations, and
system notifications. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EmailAdministrationSettings values are stored in the EmailAdminstration.settings file in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
EmailAdministrationSettings is available in API version 47.0 and later.
1675
EmailAdministrationSettingsMetadata Types
Fields
DescriptionField
Type
Field Name
Indicates whether a copy of each outbound email message
is sent to an email address you specify (true) or not
(false). This field has a default value of false.
booleanenableComplianceBcc
Note: To use this feature, you must specify an email
address in Compliance BCC Email in Setup.
Indicates whether Enforce Email Privacy Settings is enabled
(true) or not (false). When enabled, Salesforce
booleanenableEmailConsentManagement
respects each recipients email privacy preferences. Default
value is false.
Indicates whether outgoing emails comply with Sender ID
email protocols (true) or not (false). This field has a
booleanenableEmailSenderIdCompliance
default value of false. To enable this preference,
enableEmailSpfCompliance must be set to true.
Note: Evaluate the multiple standard email security
protocols (SPF, DKIM, and DMARC) supported by
Salesforce before you enable this setting.
Indicates whether outgoing emails comply with Sender
Policy Framework (SPF) email authentication (true) or not
(false). This field has a default value of true.
booleanenableEmailSpfCompliance
Indicates whether Email to Salesforce is enabled (true) or
disabled (false). This field has a default value of false.
booleanenableEmailToSalesforce
Indicates whether users can respond to email approval
requests directly from their email (true) or not (false).
booleanenableEmailWorkflowApproval
This field has a default value of false. See Considerations
for Email Approval before enabling this field.
Indicates whether Enhanced Email is enabled (true) or
not (false). Default value is true.
booleanenableEnhancedEmailEnabled
Indicates whether emails sent from Salesforce to an invalid
email address bounce back to Salesforce (true) or not
booleanenableHandleBouncedEmails
(false) . This field has a default value of true. With
bounce handling enabled, reps know which lead, contact,
or person account has a bad email address, and they know
which specific email wasnt delivered.
Indicates whether users receive Email-To-Case emails in
HTML format (true) or receive a text version instead
booleanenableHtmlEmail
(false). This field has a default value of false. When
this field is set to true, users receive a warning message
1676
EmailAdministrationSettingsMetadata Types
DescriptionField
Type
Field Name
about potential malicious HTML before they view incoming
HTML email content.
Indicates whether non-Latin-based characters are allowed
in email addresses (true) or not (false) when sending
booleanenableInternationalEmailAddresses
emails to and from Salesforce. This field has a default value
of true in orgs created in Summer '20 or later. In orgs
created in Spring '20 or earlier, the default value is false.
Available in API version 49.0 and later.
Note: Review the Email Address Internationalization
prerequisites and considerations in Salesforce Help
before enabling this setting.
Indicates whether Salesforce logs sent list emails as activities
(true) or not (false). Default value is true.
booleanenableListEmailLogActivities
Indicates whether the system forwards a copy of each
bounced email message to the sender (true) or only
booleanenableResendBouncedEmails
displays the bounce alert (false). This field has a default
value of false. To enable this preference,
enableHandleBouncedEmails must be set to
true.
Indicates whether the selected Transport Layer Security (TLS)
setting applies only to specific domains (true) or applies
booleanenableRestrictTlsToDomains
to all domains (false). This field has a default value of
false.
Note: To enable this preference, you must specify a
TLS Setting other than Preferred and provide the
comma-separated list of domains through
Deliverability in Setup. When this field is set to
true, any domains not in the list use the system
default TLS Setting of Preferred.
Deprecated.booleanenableSendThroughGmailPref
Indicates whether users can use Office 365 to send emails
(true) or not (false). Default value is false.
booleanenableSendViaExchangePref
Indicates whether users can use Gmail to send emails
(true) or not (false). Default value is false.
booleanenableSendViaGmailPref
Indicates whether emails sent through external email services
(such as Gmail or Office 365) include the Salesforce footer
booleanenableUseOrgFootersForExtTrans
(true) or not (false). This field has a default value of
false.
1677
EmailAdministrationSettingsMetadata Types
DescriptionField
Type
Field Name
Indicates whether users receive an auto-generated status
email from Salesforce for each mass email they send (true)
or not (false). This field has a default value of true.
booleansendMassEmailNotification
Indicates whether all system emails are sent via text only
(true) or allow other formats (false). This field has a
default value of false.
booleansendTextOnlySystemEmails
Declarative Metadata Sample Definition
The following is an example of an EmailAdministrationSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<EmailAdministrationSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableEmailWorkflowApproval>false</enableEmailWorkflowApproval>
<enableComplianceBcc>false</enableComplianceBcc>
<enableEmailSenderIdCompliance>false</enableEmailSenderIdCompliance>
<enableEmailSpfCompliance>true</enableEmailSpfCompliance>
<enableEmailToSalesforce>false</enableEmailToSalesforce>
<enableHandleBouncedEmails>true</enableHandleBouncedEmails>
<enableHtmlEmail>true</enableHtmlEmail>
<enableInternationalEmailAddresses>true</enableInternationalEmailAddresses>
<enableResendBouncedEmails>false</enableResendBouncedEmails>
<enableRestrictTlsToDomains>false</enableRestrictTlsToDomains>
<sendMassEmailNotification>true</sendMassEmailNotification>
<sendTextOnlySystemEmails>false</sendTextOnlySystemEmails>
<enableUseOrgFootersForExtTrans>false</enableUseOrgFootersForExtTrans>
<enableSendViaGmailPref>false</enableSendViaGmailPref>
<enableSendViaExchangePref>true</enableSendViaExchangePref>
<enableListEmailLogActivities>false</enableListEmailLogActivities>
<enableEnhancedEmailEnabled>false</enableEnhancedEmailEnabled>
<enableEmailConsentManagement>false</enableEmailConsentManagement>
</EmailAdministrationSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EmailAdministration</members>
<name>Settings</name>
</types>
<version>49.0</version>
</Package>
1678
EmailAdministrationSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Salesforce Help: Email Address Internationalization
EmailIntegrationSettings
Represents an orgs settings for the Outlook integration, Gmail integration, and Salesforce Inbox. This type extends the Metadata metadata
type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EmailIntegrationSettings values are stored in the EmailIntegration.settings file in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
EmailIntegrationSettings fields are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the Outlook integration logs emails to the Email
Message object (true) or as tasks (false). The default value is true.
This field can only be used if the enableOutlookIntegration
field is set to true.
booleandoesEmailLogAsEmailMessageInOutlook
Indicates whether Gmail integration users log in to Salesforce from Gmail
each time their session expires. If set to true, users log in from the
booleandoesGmailStayConnectedToSalesforce
Gmail integration one time, and their credentials are remembered the
next time they use the Gmail integration. If set to false, users log in
to Salesforce from the Gmail integration each time their Salesforce
session expires. The default value is false.
This field can only be used if the enableGmailIntegration
field is set to true.
Indicates whether users can sync calendar events and contacts between
Salesforce and their Microsoft and Google accounts ( true) or not
booleanenableContactAndEventSync
(false). Lightning Sync or Einstein Activity Capture must be enabled
to use this feature. The default value is false.
1679
EmailIntegrationSettingsMetadata Types
DescriptionField TypeField Name
Available in API version 48.0 and later.
Indicates whether Salesforce Inbox users can track emails (true) or not
(false) while in the Outlook integration with Inbox or the Gmail
booleanenableEmailTrackingInMobile
integration with Inbox. It also controls email tracking in the Inbox mobile
app and legacy versions of Inbox. The default value is true.
Indicates whether Engage For Outlook is enabled (true) or not
(false). When set to true, Engage users can connect their Outlook
account and send Engage emails from their Outlook inbox.
booleanenableEngageForOutlook
Indicates whether contextual insights in Sales Cloud Everywhere,
available in the Salesforce Chrome extension, are enabled (true) or
not (false).
booleanenableExtensionHostUnrestricted
This field is available in API version 58.0 and later.
Indicates whether the Gmail integration is enabled (true) or not
(false). When set to true, G Suite users with the Gmail integration
booleanenableGmailIntegration
can connect their Gmail account and work with Salesforce data in their
email. The default value is true.
Indicates whether a read-receipt status is shown for emails that are sent
within the same domain (true) or not (false).
booleanenableInboxInternalEmailTracking
This field is available in API version 58.0 and later.
Indicates whether Inbox is enabled to use Microsoft Intune to manage
security settings (true) or not (false). When set to true, Inbox
booleanenableInboxMobileIntune
mobile users need a Microsoft Intune license to log in to the app. The
default value is false.
Available in API version 50.0 and later.
Indicates whether the Outlook integration is enabled (true) or not
(false). When set to true, Outlook users with the Outlook integration
booleanenableOutlookIntegration
can connect their Outlook account and work with Salesforce data in
their email. The default value is false.
Indicates whether Inbox features, such as Availability and Send later, are
available (true) or not available (false) in the Outlook or Gmail
integration. The default value is false.
This field can only be used if either the
enableOutlookIntegration or
booleanenableProductivityFeatures
enableGmailIntegration field is set to true and if the org
has an Inbox license.
Note: To see Inbox features, users must also have either the
Inbox with Einstein Activity Capture or the Inbox without Einstein
Activity capture permission set.
1680
EmailIntegrationSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether Salesforce Inbox mobile app users see third-party
contact information when contacts are shown (true) or not (false)
in the Inbox mobile app. The default value is false.
booleanenableSupplementalContactInfoInMobile
Indicates whether Salesforce admins are allowed (true) or not allowed
(false) to create custom email application panes using the Lightning
booleanisLayoutCustomizationAllowed
App Builder. The email application pane defines the layout of the
Salesforce pane in Outlook and Gmail. The default value is true.
This field can only be used if either the
enableOutlookIntegration or
enableGmailIntegration field is set to true.
Indicates whether changes to Salesforce events sync to Outlook and
Google calendars (true) or not (false).
booleanorgIsSyncingEventsOutbound
Note: This field is set by Salesforce. We do not recommend that
you set this field manually, as doing so may cause interruptions
in your org's event syncing.
This field is available in API version 50.0 and later
Indicates if the web domains listed in the Outlook Integration & Sync
page in Salesforce Setup are supported (true) or not (false). These
booleanshouldUseTrustedDomainsList
domains are for users who access email using Outlook on the web. The
default value is true.
This field can only be used if the enableOutlookIntegration
field is set to true.
Declarative Metadata Sample Definition
The following is an example of a EmailIntegrationSettings file.
<?xml version="1.0" encoding="UTF-8"?>
<EmailIntegrationSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableContactAndEventSync>true</enableContactAndEventSync>
<enableProductivityFeatures>true</enableProductivityFeatures>
<doesGmailStayConnectedToSalesforce>true</doesGmailStayConnectedToSalesforce>
<enableOutlookIntegration>true</enableOutlookIntegration>
<enableGmailIntegration>true</enableGmailIntegration>
<isLayoutCustomizationAllowed>true</isLayoutCustomizationAllowed>
<doesEmailLogAsEmailMessageInOutlook>false</doesEmailLogAsEmailMessageInOutlook>
<shouldUseTrustedDomainsList>false</shouldUseTrustedDomainsList>
<enableEmailTrackingInMobile>true</enableEmailTrackingInMobile>
<enableSupplementalContactInfoInMobile>false</enableSupplementalContactInfoInMobile>
<enableEngageForOutlook>true</enableEngageForOutlook>
</EmailIntegrationSettings>
1681
EmailIntegrationSettingsMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EmailIntegration</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmailTemplateSettings
Represents an orgs email template settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EmailTemplateSettings values are stored in the EmailTemplate.settings file in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
EmailTemplateSettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Folders and Enhanced Sharing for Email Templates is
enabled (true) or not (false). This feature allows users to create and
manage folders for email templates.
Default value is false.
booleanenableTemplateEnhancedFolderPref
Declarative Metadata Sample Definition
The following is an example of the package file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EmailTemplate</members>
1682
EmailTemplateSettingsMetadata Types
<name>Settings</name>
</types>
</Package>
The package file references the following EmaillTemplate.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<EmailTemplateSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableTemplateEnhancedFolderPref>true</enableTemplateEnhancedFolderPref>
</EmailTemplateSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EmployeeUserSettings
Represents the employee-user settings used for automatically creating or syncing employee and user data in work.com orgs. This type
extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
A EmployeeUserSettings component file has the suffix .settings and is stored in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
EmployeeUserSettings components are available in API version 50.0 and later.
Special Access Rules
Access to the EmployeeUserSettings type requires the Workplace Command Center permission set license available in the org and
assigned to the user. The WorkplaceCommandCenterUser scratch org feature must also be enabled in the org.
Fields
DescriptionField TypeField Name
Required. The default encoding setting is Unicode: UTF-8.
Valid values include:
stringemailEncoding
UTF-8Unicode (UTF-8)
ISO-8859-1General US & Western Europe (ISO-88591,
ISO-LATIN-1)
Shift_JISJapanese (Shift-JIS)
ISO-2022-JPJapanese (JIS)
1683
EmployeeUserSettingsMetadata Types
DescriptionField TypeField Name
EUC-JPJapanese (EUC-JP)
x-SJIS_0213Japanese (Shift-JIS_2004)
ks_c_5601-1987Korean (ks_c_5601-1987)
Big5Traditional Chinese (Big5)
GB2312Simplified Chinese (GB2312)
Big5-HKSCSTraditional Chinese Hong Kong (Big5HKSCS)
If true, users are auto-created when a new employee record is created.
The default value for this field is false.
booleanenableEmployeeAutoCreateUser
If true, the employee record is the source of truth. The default value
for this field is false.
booleanenableEmployeeIsSourceOfTruth
Represents a set of permissions that's used to grant more access to a
user. You can use permission sets to grant access but not to deny access.
stringpermset
Required. Represents a user profile. A profile defines a users permission
to perform different functions within Salesforce.
stringprofile
Represents a domain name. We create a unique login by combining this
domain name with each employees username.
stringusernameSuffix
Declarative Metadata Sample Definition
The following is an example EmployeeUser.settings-meta.xml that deploys the EmployeeUserSettings metadata to an
org. The file is in the dir path force-app/main/default/settings:
<?xml version="1.0" encoding="UTF-8"?>
<EmployeeUserSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<emailEncoding>ISO-8859-1</emailEncoding>
<enableEmployeeAutoCreateUser>true</enableEmployeeAutoCreateUser>
<enableEmployeeIsSourceOfTruth>false</enableEmployeeIsSourceOfTruth>
<profile>MarketingProfile</profile>
<usernameSuffix>example.com</usernameSuffix>
</EmployeeUserSettings>
The following example of package.xml file retrieves the EmployeeUserSettings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>Settings</name>
<members>EmployeeUser</members>
</types>
<version>50.0</version>
</Package>
1684
EmployeeUserSettingsMetadata Types
EnhancedNotesSettings
Represents an orgs enhanced note settings, such as enabling enhanced notes and enabling tasks in enhanced notes.This type extends
the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
EnhancedNotesSettings values are stored in the EnhancedNotes.settings file in the settings directory.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Version
EnhancedNotesSettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether enhanced notes are enabled (true) or not
(false). With enhanced notes, users can relate a note to multiple
booleanenableEnhancedNotes
records, access version history, and enjoy enhanced format options.
Users must have the Use New Notes permission to use enhanced notes.
Default value is true.
Indicates whether users can create tasks from notes (true) or not
(false). In the Salesforce app, users can create a task from a note by
booleanenableTasksOnEnhancedNotes
swiping a line on the note. Alternatively, they can tap in the toolbar to
add or update the status of an action item. Users must have the Use New
Notes permission to use enhanced notes.
Default value is true.
Declarative Metadata Sample Definition
The following is an example of the EnhancedNotesSettings.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<EnhancedNotesSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableEnhancedNotes>true</enableEnhancedNotes>
<enableTasksOnEnhancedNotes>true</enableTasksOnEnhancedNotes>
</EnhancedNotesSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the EnhancedNotesSettings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
1685
EnhancedNotesSettingsMetadata Types
<members>EnhancedNotes</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
EncryptionKeySettings
Represents an orgs encryption key settings, such as customer-supplied keys options and key derivation settings. This type extends the
Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EncryptionKeySettings values are stored in the EncryptionKey.settings file in the settings folder. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
EncryptionKeySettings is available in API versions 47.0 and later.
Special Access Rules
To enable EncryptionKeySettings, you need the Customize Application and Manage Encryption Keys permissions.
Fields
DescriptionField TypeField Name
Indicates whether the Cache-Only Key Service is available (true) or not
(false). The default value is false. If set to true, users can
booleanenableCacheOnlyKeys
configure a cache-only key callout connection and apply key material
stored outside of Salesforce to data on demand.
Indicates that users can opt out of key derivation processes on a
key-by-key basis when they upload key material (true) or cant
(false). The default value is false.
booleancanOptOutOfDerivationWithBYOK
Indicates whether cache-only key callouts are protected from replay
attacks by a nonce (true) or not (false). Requires
booleanenableReplayDetection
enableCacheOnlyKeys=”true” before setting
enableReplayDetection to true.
1686
EncryptionKeySettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of the EncryptionKey.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<EncryptionKeySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCacheOnlyKeys>true</enableCacheOnlyKeys>
<enableReplayDetection>true</enableReplayDetection>
<canOptOutOfDerivationWithBYOK>true</canOptOutOfDerivationWithBYOK>
</EncryptionKeySettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the encryption key settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>EncryptionKey</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
EntitlementSettings
Represents an organizations entitlement settings.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
EntitlementSettings values are stored in the Entitlements.settings file in the settings directory. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
EntitlementSettings is available in API version 27.0 and later.
1687
EntitlementSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether entitlements-related lookup filters on
cases return only the assets related to the active
entitlements on the cases account (true) or not (false).
booleanassetLookupLimitedToActiveEntitlementsOnAccount
Indicates whether entitlements-related lookup filters on
cases return only the assets related to the active
entitlements on the cases contact (true) or not (false).
booleanassetLookupLimitedToActiveEntitlementsOnContact
Indicates whether entitlements-related lookup filters on
cases return only the assets related to the cases account
(true) or not (false).
booleanassetLookupLimitedToSameAccount
Indicates whether entitlements-related lookup filters on
cases return only the assets related to the cases contact
(true) or not (false).
booleanassetLookupLimitedToSameContact
Indicates whether entitlements are enabled (true) or not
(false).
booleanenableEntitlements
Indicates whether entitlement versioning is enabled
(true) or not (false).
This field is available in API version 28.0 and later.
booleanenableEntitlementVersioning
When set to true, indicates whether to post to the feed
and the record owners profile page when a milestone is
booleanenableMilestoneFeedItem
completed or violated. When set to false, indicates that
no post occurs when a milestone is completed or violated.
This field is available in API version 47.0 and later.
Indicates whether to show the Stopped Time and Actual
Elapsed Time fields on an entitlement milestone (true)
or not (false).
This field is available in API version 47.0 and later.
booleanenableMilestoneStoppedTime
Indicates whether entitlements-related lookup filters on
cases return only active entitlements (true) or not
(false).
booleanentitlementLookupLimitedToActiveStatus
Indicates whether entitlements-related lookup filters on
cases return only the entitlements related to the cases
account (true) or not (false).
booleanentitlementLookupLimitedToSameAccount
Indicates whether entitlements-related lookup filters on
cases return only the entitlements related to the cases
asset (true) or not (false).
booleanentitlementLookupLimitedToSameAsset
1688
EntitlementSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether entitlements-related lookup filters on
cases return only the entitlements related to the cases
contact (true) or not (false).
booleanentitlementLookupLimitedToSameContact
Indicates whether to show the time remaining on an event
milestone in actual hours (true) or business hours
(false).
This field is available in API version 47.0 and later.
booleanignoreMilestoneBusinessHours
Declarative Metadata Sample Definition
This is a sample entitlements settings file.
<?xml version="1.0" encoding="UTF-8"?>
<EntitlementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<assetLookupLimitedToActiveEntitlementsOnAccount>
false
</assetLookupLimitedToActiveEntitlementsOnAccount>
<assetLookupLimitedToActiveEntitlementsOnContact>
false
</assetLookupLimitedToActiveEntitlementsOnContact>
<assetLookupLimitedToSameAccount>
false
</assetLookupLimitedToSameAccount>
<assetLookupLimitedToSameContact>
false
</assetLookupLimitedToSameContact>
<enableEntitlements>
true
</enableEntitlements>
<entitlementLookupLimitedToActiveStatus>
false
</entitlementLookupLimitedToActiveStatus>
<entitlementLookupLimitedToSameAccount>
false
</entitlementLookupLimitedToSameAccount>
<entitlementLookupLimitedToSameAsset>
false
</entitlementLookupLimitedToSameAsset>
<entitlementLookupLimitedToSameContact>
false
</entitlementLookupLimitedToSameContact>
</EntitlementSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1689
EntitlementSettingsMetadata Types
EventSettings
Represents an org's platform event settings for Event Monitoring.
File Suffix and Directory Location
EventSettings components have the suffix .settings and are stored in the settings folder.
Version
EventSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Determines the behavior of metering service protection for
Transaction Security policies. When true, metering occurs
booleanbypassMeteringBlock
but doesn't block the user operation that triggered the policy.
When false and a policy can't be handled within three
seconds, metering occurs and the user's action is blocked.
Default value is false.
Allows (true) or disallows (false) users to delete event
log files and LoginEvent data. Users require the Delete Event
booleanenableDeleteMonitoringData
Monitoring Records user permission, which is available when
this setting is enabled. Default value is false.
Enables (true) or disables (false) the dynamic creation
of a streaming channel when you subscribe to generic
streaming. Default value is false.
booleanenableDynamicStreamingChannel
Enables (true) or disables (false) the generation of event
monitoring log files. Default value is false.
booleanenableEventLogGeneration
Enables (true) or disables (false) the integration of event
monitoring log files and Analytics apps. Analytics apps help
you visualize your users activity. Default value is false.
booleanenableEventLogWaveIntegration
Enables (true) or disables (false) the generation of
Lightning Logger events. Lightning Logger events track
booleanenableLightningLoggerEvents
information about custom Lightning web components.
Default value is false. Requires Salesforce Shield or
Salesforce Event Monitoring add-on subscriptions.
Enables (true) or disables (false) the Login Forensics
feature. Login Forensics helps you track and audit your org's
booleanenableLoginForensics
user login activity. Default value is false. Available in API
versions 47.049.0.
1690
EventSettingsMetadata Types
DescriptionField TypeField Name
Tip: In versions 50.0 and later, enable LoginEvent on
the Event Manager Setup page.
Enables (true) or disables (false) Streaming API in the
org. Default value is true.
booleanenableStreamingApi
Determines the behavior of legacy transaction security policies
that trigger an end-session action during an API-based login
booleanenableTerminateOldestSession
(a login that doesnt come through the UI.) An end-session
action occurs when a user exceeds the maximum number of
allowed Salesforce sessions.
When true, and a user triggers an end-session action,
Salesforce terminates the users oldest session until the user
is in compliance. When set to false, Salesforce blocks the
most recent users attempt to log in and doesnt allow a new
user session. Default value is false. Available in API versions
47.049.0.
Note: As of Summer '20, Legacy Transaction Security
is a retired feature in all Salesforce orgs.
Enables (true) or disables (false) the ability to create and
use transaction security policies in the Salesforce UI. Default
value is false.
booleanenableTransactionSecurityPolicies
Enables (true) or disables (false) the Apex Limit Events
(Pilot) feature. Default value is false.
booleanenableApexLimitEvents
Note: The Apex Limit Events (Pilot) feature has been
discontinued so dont use this field.
Specifies the number of days (between 30 and 365) that your
event log file data is retained for. If this value is not set, your
integereventLogRetentionDuration
event log file data is retained for your org's default retention
period.
Declarative Metadata Sample Definition
The following is an example of an EventSettings.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<EventSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableDeleteMonitoringData>true</enableDeleteMonitoringData>
<enableDynamicStreamingChannel>false</enableDynamicStreamingChannel>
<enableEventLogWaveIntegration>true</enableEventLogWaveIntegration>
<enableStreamingApi>true</enableStreamingApi>
<enableTransactionSecurityPolicies>true</enableTransactionSecurityPolicies>
</EventSettings>
1691
EventSettingsMetadata Types
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Event settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Event</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExperienceBundleSettings
Represents the org setting that enables the ExperienceBundle metadata type for Aura sites in Experience Cloud. The setting doesnt
affect LWR sites, which use ExperienceBundle by default. This type extends the Metadata metadata type and inherits its fullName
field.
Note: ExperienceBundle is a text-based code structure of the settings and site components, such as pages, branding sets, and
themes, that make up an Experience Builder site. Developers can quickly update and deploy one or more Experience Builder sites
programmatically using their preferred development tools.
File Suffix and Directory Location
ExperienceBundleSettings values are stored in a single file named ExperienceBundle.settings in the settings directory.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
ExperienceBundleSettings is available in API version 46.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the ExperienceBundle metadata type is enabled for
Aura sites. Default is false. LWR sites use ExperienceBundle by default.
booleanenableExperienceBundleMetadata
1692
ExperienceBundleSettingsMetadata Types
Declarative Metadata Sample Definition
Heres an example of ExperienceBundle.settings that references the previous definition.
<ExperienceBundleSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableExperienceBundleMetadata>true</enableExperienceBundleMetadata>
</ExperienceBundleSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
ExperienceBundle
ExternalClientAppSettings
Represents settings to enable the External Client App feature and provide access to the OAuth consumer secret.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
ExternalClientAppSettings values are stored in the .settings file in the settings folder. The .settings files
are different from other named components, because theres only one settings file for each settings component.
Version
ExternalClientAppSettings components are available in API version 58.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether OAuth consumer secrets can be accessed (true) or
not (false). When enabled, you can create external client apps that
use OAuth.
booleanenableConsumerSecretApiAccess
Indicates whether you opted in to the External Client App feature (true)
or not (false). When enabled, you can configure and deploy external
client apps.
booleanenableExternalClientApps
1693
ExternalClientAppSettingsMetadata Types
Declarative Metadata Sample Definition
The example shows a settings file component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalClientAppSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableConsumerSecretApiAccess>true</enableConsumerSecretApiAccess>
<enableExternalClientApps>true</enableExternalClientApps>
</ExternalClientAppSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ExternalServicesSettings
Represents settings for an External Services registration.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
ExternalServicesSettings values are stored in the externalServicesSettings.settings file in the settings
folder. The .settings files are different from other named components, because there is only one settings file for each settings
component.
Version
ExternalServicesSettings components are available in API version 47.0 to 55.0. This metadata type is removed in version 56.0 and later.
As of Winter 23, External Services automatically validates the schema and provides detailed messages for any errors in the UI at registration
time so that you can make corrections. See Register an External Service in Salesforce Help.
Fields
DescriptionField Name
Field Type
boolean
enableIgnoreUnsupportedOperations
Description
Indicates whether your registration should ignore and filter out unsupported schema
operations rather than fail the entire registration (true), or whether a specification
with invalid schema operations can't be registered successfully (false). Detailed
1694
ExternalServicesSettingsMetadata Types
DescriptionField Name
schema errors pertaining to unsupported operations are shown only if this flag is
false.
Declarative Metadata Sample Definition
The following is an example of an ExternalServicesSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ExternalServicesSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableIgnoreUnsupportedOperations>true</enableIgnoreUnsupportedOperations>
</ExternalServicesSettings>
The following is an example package.xml that references the previous definition.
<types>
<members>ExternalServices</members>
<name>Settings</name>
</types>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
FieldServiceSettings
Represents an organizations Field Service settings.
To learn more about Field Service settings, see Enable Field Service in Salesforce Help.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
Version
FieldServiceSettings is available in API version 40.0 and later.
Fields
DescriptionField TypeField
The expiration time of
apptAssistantInfoUrl after which
intapptAssistantExpiration
the customer stops seeing the mobile worker's
location and estimated time of arrival.
Available in API version 50.0 and later.
The tracking URL that helps a customer see
the mobile worker's estimated time of arrival
stringapptAssistantInfoUrl
1695
FieldServiceSettingsMetadata Types
DescriptionField TypeField
and tracking information. Available in API
version 50.0 and later.
The units for specifying the geofence radius.
When the mobile worker enters this area, a
ApptAssistantRadiusUnit
(enumeration of
type string)
apptAssistantRadiusUnitValue
Last Mile notification is automatically sent.
Valid values are:
Kilometer
Meter
Mile
Yard
Available in API version 50.0 and later.
The geofence radius from the service
appointment's address used for sending a
intapptAssistantRadiusValue
notification to the customer when the mobile
worker approaches the address. Available in
API version 50.0 and later.
The status on the service appointment used
to trigger En Route notification. The value has
stringapptAssistantStatus
to match one of the service appointment's
Status field options. When the mobile worker
selects this status on a service appointment,
the customer receives the En Route
notification with tracking details. Available in
API version 50.0 and later.
Allows desktop and mobile to send
geolocation and map data to Google and
Apple. Available in API version 57.0 and later.
booleancanPopulateGoogleAddress
Allows Salesforce to send crash reports to
Microsoft App Center. Available in API version
57.0 and later.
booleancanSendAppCenterCrashReports
Allows third parties to store mobile analytics.
Available in API version 57.0 and later.
booleancanStoreMobileAnalytics
Provides a public security key for users
accessing a deep link action in the Field
stringdeepLinkPublicSecurityKey
Service mobile app. Hide the redirection
warning by configuring the deep link URL with
a security key. The deep link URL then
processes the security check. Available in API
version 54.0 and later.
1696
FieldServiceSettingsMetadata Types
DescriptionField TypeField
Lets service crew members edit their service
appointments.
This setting applies only if
doesShareSaWithAr is selected. For
booleandoesAllowEditSaForCrew
assigned resources of type Crew, crew
members get Read-Write access to their
service appointment and, if
doesShareSaParentWoWithAr is
selected, to their service appointments parent
work orders.
Shares service appointments parent work
orders with their assigned resources.
This setting applies only if
doesShareSaWithAr is selected and
booleandoesShareSaParentWoWithAr
sharing access for work orders is set to Private
or Public Read Only. Technician assigned
resources get Read-Write access to their work
orders. For assigned resources of type Crew,
the crew leader gets Read-Write access and
crew members get Read access. If the service
appointments parent is a work order line item,
assigned resources get access to the
associated work order.
Shares dispatched service appointments with
their assigned resources.
This setting applies only if sharing access for
service appointments is set to Private or Public
booleandoesShareSaWithAr
Read Only. Technician assigned resources get
Read-Write access to their service
appointments. For assigned resources of type
Crew, the crew leader gets Read-Write access
and crew members get Read access.
Enables access to Document Builder feature.booleanenableDocumentBuilder
Enables floating work orders for the org.
Allows users to create work orders with a
floating recurrence cadence based on the
previous work order's completion.
booleanenableFloatingWorkOrder
Enables address to be populated when work
orders are generated from Maintenance Plan.
booleanenablePopulateWorkOrderAddress
1697
FieldServiceSettingsMetadata Types
DescriptionField TypeField
Enables Work Orders for the org.
This setting allows users to use the Work Order
object, whether or not Field Service is enabled.
booleanenableWorkOrders
When Field Service is enabled, you cant turn
off Work Orders.
Allows work plans and their work steps to be
generated automatically when a work order
booleanenableWorkPlansAutoGeneration
or a work order line item is newly created. The
specific work plans and work steps to be
generated depends on matching criteria
specified in Work Plan Selection Rules.
Available in API version 52.0 and later.
Allows a work step status to be updated
manually. A prompt suggests a status update
that users can accept or defer.
booleanenableWorkStepManualStatusUpdate
Turns on in-app notifications for the Salesforce
mobile app and Lightning Experience users.
booleanfieldServiceNotificationsOrgPref
Notifications are sent when any of the
following actions occurs on a work order or
work order line item that they own or follow:
A text or file post is added
A tracked field is updated
The record owner changes
The resource assignments change on a
related service appointment
If the option to track all related objects is
selected in the feed tracking settings for work
orders, users are also notified when child
records of work orderssuch as service
appointmentsare created or deleted.
Indicates whether Field Service is enabled.booleanfieldServiceOrgPref
Syncs the location of a Service Resource to an
Inventory object.
booleanisGeoCodeSyncEnabled
Tracks the location history of a Service
Resource.
booleanisLocationHistoryEnabled
Stores an email address to which a feedback
email is sent when users leave feedback from
stringmobileFeedbackEmails
the Field Service mobile app. Available in API
version 54.0 and later.
1698
FieldServiceSettingsMetadata Types
DescriptionField TypeField
Enables Field Service Enhanced Scheduling
and Optimization. The default value is false.
Available in API version 55.0 and later.
booleano2EngineEnabled
Represents an organization's custom field
mapping for Work Plan or Work Step
ObjectMappingItem
on page 1699
objectMappingItem
generation. Custom Fields can be mapped
from WorkPlanTemplate to WorkPlan,
WorkStepTemplate to WorkStep, or
WorkPlanTemplateEntry to WorkStep.
Available in API version 52.0 and later.
Allows the optimization service to access data
in your Salesforce org.
booleanoptimizationServiceAccess
Indicates the number of days past the Created
Date that the Due Date on auto-created
intserviceAppointmentsDueDateOffsetOrgValue
service appointments should fall. Work types
include an option to automatically add a
service appointment to new work orders or
work order line items using the work type.
The source for the work order duration value.
Possible values are:
WorkOrderDurationSource
(enumeration of
type string)
workOrderDurationSource
WorkType
TotalFromWorkPlan
Custom
Available in API version 55.0 and later.
The work order line item fields that the search
engine should scan to suggest knowledge
articles on work order line items.
stringworkOrderLineItemSearchFields
The work order fields that the search engine
should scan to suggest knowledge articles on
work orders.
stringworkOrderSearchFields
ObjectMappingItem
Represents an organization's custom field mapping for Work Plan or Work Step generation. Custom Fields can be mapped from
WorkPlanTemplate to WorkPlan, WorkStepTemplate to WorkStep, or WorkPlanTemplateEntry to WorkStep. Available in API version 52.0
and later.
1699
FieldServiceSettingsMetadata Types
DescriptionField TypeField Name
The type of object mapping. Valid values
are:
stringmappingType
WorkPlans_WorkPlanTemplate_WorkPlan
Maps a WorkPlanTemplate to a
WorkPlan
WorkPlans_WorkStepTemplate_WorkStep
Maps a WorkStepTemplate to a
WorkStep
WorkPlans_WorkPlanTemplateEntry_WorkStep
Maps a WorkPlanTemplateEntry to
a WorkStep
The object mapping details.ObjectMapping on page 1700objectMapping
ObjectMapping
Represents a map of fields in the input object to fields in the output object.
DescriptionField TypeField Name
Required. The name of the object type
containing the source fields for mapping.
Valid values are:
stringinputObject
WorkPlanTemplate
WorkStepTemplate
WorkPlanTemplateEntry
Required. The mapping of source object
fields to target object fields.
[ObjectMappingField on page 1700]mappingFields
Required. The name of the object type that
receives data from the source fields. Valid
values are:
stringoutputObject
WorkPlan
WorkStep
ObjectMappingField
A field name in the input object and the corresponding field name in the output object.
DescriptionField TypeField Name
Required. The name of a custom field supplying source data. This field
is from the object specified in inputObject.
stringinputField
1700
FieldServiceSettingsMetadata Types
DescriptionField TypeField Name
Required. The name of a custom field that receives data from the source
field specified in inputField. This field is from the object specified
in outputObject.
stringoutputField
Declarative Metadata Sample Definition
This sample file shows a subset of the possible field service settings that you can customize.
<?xml version="1.0" encoding="UTF-8"?>
<FieldServiceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<doesAllowEditSaForCrew>false</doesAllowEditSaForCrew>
<doesShareSaParentWoWithAr>false</doesShareSaParentWoWithAr>
<doesShareSaWithAr>false</doesShareSaWithAr>
<enableWorkOrders>false</enableWorkOrders>
<enableWorkPlansAutoGeneration>true</enableWorkPlansAutoGeneration>
<fieldServiceNotificationsOrgPref>false</fieldServiceNotificationsOrgPref>
<fieldServiceOrgPref>true</fieldServiceOrgPref>
<isGeoCodeSyncEnabled>false</isGeoCodeSyncEnabled>
<isLocationHistoryEnabled>false</isLocationHistoryEnabled>
<o2EngineEnabled>false</o2EngineEnabled>
<objectMappingItem>
<mappingType>WorkPlans_WorkPlanTemplate_WorkPlan</mappingType>
<objectMapping>
<inputObject>WorkPlanTemplate</inputObject>
<mappingFields>
<inputField>WorkPlanTemplate_CustomNumberField__c</inputField>
<outputField>WorkPlan_CustomNumberField__c</outputField>
</mappingFields>
<mappingFields>
<inputField>WorkPlanTemplate_CustomTextField__c</inputField>
<outputField>WorkPlan_CustomPicklistField__c</outputField>
</mappingFields>
<outputObject>WorkPlan</outputObject>
</objectMapping>
</objectMappingItem>
<objectMappingItem>
<mappingType>WorkPlans_WorkStepTemplate_WorkStep</mappingType>
<objectMapping>
<inputObject>WorkStepTemplate</inputObject>
<mappingFields>
<inputField>WokStepTemplate_CustomNumberField__c</inputField>
<outputField>WokStep_CustomNumberField__c</outputField>
</mappingFields>
<mappingFields>
<inputField>WokStepTemplate_CustomTextField__c</inputField>
<outputField>WokStep_CustomTextField__c</outputField>
</mappingFields>
<outputObject>WorkStep</outputObject>
</objectMapping>
</objectMappingItem>
<objectMappingItem>
1701
FieldServiceSettingsMetadata Types
<mappingType>WorkPlans_WorkPlanTemplateEntry_WorkStep</mappingType>
<objectMapping>
<inputObject>WorkPlanTemplateEntry</inputObject>
<mappingFields>
<inputField>WorkPlanTemplateEntry_CustomDateField__c</inputField>
<outputField>WokStep_CustomDateField__c</outputField>
</mappingFields>
<outputObject>WorkStep</outputObject>
</objectMapping>
</objectMappingItem>
<optimizationServiceAccess>false</optimizationServiceAccess>
<serviceAppointmentsDueDateOffsetOrgValue>7</serviceAppointmentsDueDateOffsetOrgValue>
<workOrderLineItemSearchFields>Subject</workOrderLineItemSearchFields>
<workOrderSearchFields>Subject</workOrderSearchFields>
</FieldServiceSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FilesConnectSettings
Represents the settings that modify the Files Connect feature.This type extends the Metadata metadata type and inherits its fullName
field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
FilesConnectSettings values are stored in the FilesConnect.settings file in the settings folder. The .settings
files are different from other named components, because theres only one settings file for each settings component.
Version
FilesConnectSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Files Connect is enabled (true) or not (false).booleanenableContentHubAllowed
Indicates whether the ability to link conversions in the feed publisher is
enabled (true) or not (false) for Google Drive and Quip links.
booleanenableContentHubCvtLinksAllowed
Indicates whether the external objects search layout can be used in
Global Search (true) or not (false).
booleanenableContentHubEOSearchLayout
1702
FilesConnectSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of a FilesConnectSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<FilesConnectSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableContentHubAllowed>false</enableCurrencyEffectiveDates>
<enableContentHubCvtLinksAllowed>false</enableCurrencySymbolWithMultiCurrency>
<enableContentHubEOSearchLayout>false</enableMultiCurrency>
</FilesConnectSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FilesConnect</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FileUploadAndDownloadSecuritySettings
Represents the security settings for uploading and downloading files. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
FileUploadAndDownloadSecuritySettings components have the suffix .settings and are stored in the settings folder.
Version
FileUploadAndDownloadSecuritySettings components are available in API version 39.0 and later.
Fields
DescriptionField TypeField Name
Represents the metadata used to manage filetype behavior.
This field is available in API version 39.0 and later.
FileTypeDispositionAssignmentBean[]dispositions
Indicates whether to allow HTML uploads as attachments or
document records. This field is available in API version 39.0 and
later.
booleannoHtmlUploadAsAttachment
1703
FileUploadAndDownloadSecuritySettingsMetadata Types
FileTypeDispositionAssignmentBean
Represents the metadata used to manage filetype behavior.
DescriptionField TypeField Name
One of the following values:FileDownloadBehavior
(enumeration of type string)
behavior
DOWNLOAD
EXECUTE
HYBRID
The following filetypes are a security risk and can not have EXECUTE
behavior:
EXE
FLASH
HTML
RFC822
SVG
TXML
UNKNOWN
WEBVIEW
XHTML
XML
Although more filetypes exist, these are the only ones supported
by FileTypeDispositionAssignmentBean:
FileType (enumeration of type
string)
filetype
AVI
EXCEL
EXCEL_X
EXE
FLASH
HTML
INSIGHT
MOV
MP3
MP4
MPEG
PDF
POWER_POINT
POWER_POINT_X
RFC822
SVG
TXML
1704
FileUploadAndDownloadSecuritySettingsMetadata Types
DescriptionField TypeField Name
UNKNOWN
WAV
WEBVIEW
WMA
WMV
WORD
WORD_X
XHTML
XML
Indicates filetypes that cannot have behavior set to EXECUTE, due
to security risks. This field is read-only.
booleansecurityRiskFileType
Declarative Metadata Sample Definition
The following is an example of a FileUploadAndDownloadSecuritySettings component.
<FileUploadAndDownloadSecuritySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<dispositions>
<behavior>HYBRID</behavior>
<fileType>AVI</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>WORD</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>WORD_X</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>EXE</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>HTML</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>WEBVIEW</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
1705
FileUploadAndDownloadSecuritySettingsMetadata Types
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>RFC822</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>MOV</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>MP3</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>MP4</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>MPEG</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>PDF</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>POWER_POINT</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>POWER_POINT_X</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>SVG</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>FLASH</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>TXML</fileType>
<securityRiskFileType>true</securityRiskFileType>
1706
FileUploadAndDownloadSecuritySettingsMetadata Types
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>UNKNOWN</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>WAV</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>WMA</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>WMV</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>XHTML</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>EXCEL</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>HYBRID</behavior>
<fileType>EXCEL_X</fileType>
<securityRiskFileType>false</securityRiskFileType>
</dispositions>
<dispositions>
<behavior>DOWNLOAD</behavior>
<fileType>XML</fileType>
<securityRiskFileType>true</securityRiskFileType>
</dispositions>
<noHtmlUploadAsAttachment>false</noHtmlUploadAsAttachment>
</FileUploadAndDownloadSecuritySettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FileUploadAndDownloadSecurity</members>
<name>Settings</name>
</types>
<version>39.0</version>
</Package>
1707
FileUploadAndDownloadSecuritySettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
FlowSettings
Represents the Salesforce settings for processes and flows, such as whether Lightning runtime for flows is enabled.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
FlowSettings values are stored in the Flow.settings file in the settings directory. The .settings files are different from other
named components because theres only one settings file for each settings component.
Version
FlowSettings components are available in API version 47.0 and later.
Fields
DescriptionField
Type
Field Name
Indicates whether a flow can be debugged as another user (true) or
not (false). Corresponds to the Let admins debug flows
booleancanDebugFlowAsAnotherUser
as other users field on the Process Automation Settings page
in Setup. Available in API version 50.0 and later.
Indicates whether Salesforce accurately measures the CPU time that
flows and processes consume (true) or not (false).
Corresponds to the Accurately Measure the CPU Time Consumption of
Flows and Processes release update. Available in API version 51.0 and
later.
booleandoesEnforceApexCpuTimeLimit
Indicates whether formula resources and formula fields in a flow enforce
record-level security (true) or not (false).
Corresponds to the Enforce Data Access in Flow Formulas critical update.
Available in API version 48.0 and later.
booleandoesFormulaEnforceDataAccess
Indicates whether flow formula functions that generate HTML, such as
BR(), IMAGE(), and HYPERLINK(), include encoded markers
booleandoesFormulaGenerateHtmlOutput
(__BR_ENCODED__) (true) or not (false). Available in API version
48.0 and later.
1708
FlowSettingsMetadata Types
DescriptionField
Type
Field Name
Indicates whether BR() functions in flow and process formulas result
in a line break (true) or resolve to _BR_ENCODED_ as a literal value
(false).
Corresponds to the Use the BR() Function in Flows and Processes critical
update.
booleanenableFlowBREncodedFixEnabled
Indicates whether an org has custom property editors enabled for actions
and screen fields in Flow Builder (true) or not (false).
This field is available in API version 48.0 to 50.0. The field is deprecated
in API version 50.0 and later. All orgs that have Flow Builder support
custom property editors for actions and screen fields.
booleanenableFlowCustomPropertyEditor
Indicates whether processes and flows can be deployed as active via
change sets or Metadata API. When the value is false, all processes
booleanenableFlowDeployAsActiveEnabled
and flows are deployed as inactive. When the value is true, deploying
an active process or flow in a production org causes your Apex tests to
run. If Apex tests dont launch your orgs required percentage of active
processes and autolaunched flows, the deployment is rolled back.
The default value is false for production orgs and is true for
non-production orgs such as scratch, sandbox, and developer orgs.
Corresponds to the Deploy processes and flows as
active field on the Process Automation Settings page in Setup. The
field appears in the user interface on production orgs only.
Indicates whether flows can successfully execute Create Records and
Update Records elements that update fields to which the running doesnt
booleanenableFlowFieldFilterEnabled
have edit access. By default (false), the Create Records or Update
Records element fails and executes the fault path if it has one. When the
value is true, the element sets only the fields that the running user
can edit. No notification is sent when some fields arent updated.
Corresponds to the Filter inaccessible fields from
flow requests field on the Process Automation Settings page in
Setup.
Indicates whether process and flow formulas return null values when
the calculations involve a null record variable or null lookup relationship
booleanenableFlowFormulasFixEnabled
field. When the value is true, those formulas return null values at run
time. When the value is false, those formulas return unhandled
exceptions at run time.
Corresponds to the Check for Null Record Variables or Null Values of
Lookup Relationship Fields in Process and Flow Formulas critical update.
Indicates whether users can resume the paused flow interviews that
they have edit access to. By default (true), users can resume interviews
booleanenableFlowInterviewSharingEnabled
that are shared with them, either directly or via the role hierarchy. When
1709
FlowSettingsMetadata Types
DescriptionField
Type
Field Name
the value is false, each paused interview can be resumed only by the
interview owner or a flow admin who has view access to the interview.
Corresponds to the Let users resume shared flow
interviews field on the Process Automation Settings page in Setup.
Indicates whether each process evaluates criteria by always using the
original record field values from when the process begins. When the
booleanenableFlowNullPreviousValueFix
value is true, each process with an Update Records action and multiple
criteria nodes always evaluates criteria using the original field values of
the record. When the value is false, processes evaluate the updated
values of record fields that were null when the process began.
Corresponds to the Evaluate Criteria Based on Original Record Values in
the Process Builder critical update.
Indicates whether screens can display the Pause button so that users
can pause flow interviews. By default, the value is false.
Corresponds to the Let users pause flows field on the Process
Automation Settings page in Setup.
booleanenableFlowPauseEnabled
Indicates whether supported screen components in flows running on
API version 57.0 and 58.0 can react to changes in other components on
booleanenableFlowReactiveScreens
the same screen. This setting isnt applicable to flows running on API
version 59.0 and later. By default, the value is false. To make a
component reactive, reference the output of another component on
the same screen in the configuration pane.
Corresponds to the Enable Reactive Components for
Specific Flow Versions field on the Process Automation
Settings page in Setup.
Indicates whether process and flow error emails are sent to:booleanenableFlowUseApexExceptionEmail
The user who last modified the process or flow (false)
The addresses set on the Apex Exception Email page in Setup (true)
By default, the value is false. Corresponds to the Send Process
or Flow Error Email to field on the Process Automation
Settings page in Setup.
Indicates whether a flow that runs via REST API uses the running users
profile and permission sets to determine the object permissions and
field-level access of the flow.
Corresponds to the Run Flows in User Context via REST API critical update.
Available in API version 54.0 and later.
booleanenableFlowViaRestUsesUserCtxt
1710
FlowSettingsMetadata Types
DescriptionField
Type
Field Name
Removed in API version 50.0 and later.
Indicates whether all autolaunched flow interviews are executed when
theyre invoked in bulk from a process or the Invocable Actions resource
booleanenableInvocableFlowFixEnabled
in REST API (true) or not (false). When the value is false, flow
interviews that share identical input parameters arent executed.
Corresponds to the Execute All Flow Interviews When Invoked in Bulk
critical update.
Indicates whether flows that are launched from a URL or from Setup use
the Lightning runtime experience (true) or the Classic runtime
experience (false). By default, the value is true.
Corresponds to the Enable Lightning runtime for flows
field on the Process Automation Settings page in Setup.
booleanenableLightningRuntimeEnabled
Indicates whether flows can invoke Apex classes only when the running
users profiles or permission sets include access to those Apex classes.
When the value is false, Apex class security doesnt apply to flows.
Corresponds to the Require User Access to Apex Classes Invoked by Flow
critical update.
booleanisAccessToInvokedApexRequired
This field is available in API versions 47.0 to 58.0. The field is deprecated
in API version 59.0 and later.
Indicates whether flows respect the public access modifiers for legacy
Apex actions. When the value is true:
booleanisApexPluginAccessModifierRespected
Flows fail when they execute public legacy Apex actions from a
different namespace.
Public legacy Apex actions from a different namespace aren't
available in Flow Builder.
Global legacy Apex actions with public describe or invoke
methods are unavailable to flows in a different namespace.
When the value is false, you can add public legacy Apex actions to
flows even though theyre not supported. Also, global legacy Apex
actions with public describe or invoke methods are available to
flows in a different namespace.
Corresponds to the Make Flows Respect Access Modifiers for Legacy
Apex Actions critical update. Available in API version 48.0 and later.
Indicates whether the enhanced Flows list view in Lightning Experience
replaces the Classic Flows list view (true) or not (false). The default
booleanisEnhancedFlowListViewVisible
value is true. If the field is set to false, the Classic Flows list view
replaces the enhanced list view.
1711
FlowSettingsMetadata Types
DescriptionField
Type
Field Name
Indicates whether the rules for enforcing explicit access to Apex classes
are disabled (true) or not (false). For most Salesforce orgs the default
value is true.
Corresponds to the Disable Rules for Enforcing Explicit Access to Apex
Classes release update.
booleanisFlowApexContextRetired
This field is available in API versions 49.0 to 58.0. The field is deprecated
in API version 59.0 and later.
Indicates whether a valid session ID is returned in API.SessionID (false)
or not (true). The default value is false. When the value is true, flows
booleanisFlowBlockAccessToSessionIDEnabled
that access the session ID variable receive a placeholder string instead
of a valid session ID.
Indicates whether the Manage Flow permission is required to view all
charts in Automation Home (Beta) (true) or not (false). The default
booleanisManageFlowRequiredForAutomationCharts
value is false. All users with the View Setup and Configuration
permission can view all charts in Automation Home. If the field is set to
true, then users with the View Setup and Configuration permission
can view only the Total Started Automations by Process Type chart. The
Manage Flow permission is required to view all charts.
Indicates whether paused autolaunched flows always resume in the
same context and retain the user access that they had before being
paused (true) or not (false).
Corresponds to the Make Paused Flow Interviews Resume in the Same
Context with the Same User Access release update.
booleanisTimeResumedInSameRunContext
This field is available in API version 57.0 and later.
Declarative Metadata Sample Definition
Heres an example of the Flow.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<FlowSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<doesFormulaEnforceDataAccess>true</doesFormulaEnforceDataAccess>
<enableFlowBREncodedFixEnabled>true</enableFlowBREncodedFixEnabled>
<enableFlowDeployAsActiveEnabled>false</enableFlowDeployAsActiveEnabled>
<enableFlowFieldFilterEnabled>false</enableFlowFieldFilterEnabled>
<enableFlowFormulasFixEnabled>true</enableFlowFormulasFixEnabled>
<enableFlowInterviewSharingEnabled>true</enableFlowInterviewSharingEnabled>
<enableFlowNullPreviousValueFix>true</enableFlowNullPreviousValueFix>
<enableFlowPauseEnabled>true</enableFlowPauseEnabled>
<enableFlowUseApexExceptionEmail>false</enableFlowUseApexExceptionEmail>
<enableLightningRuntimeEnabled>true</enableLightningRuntimeEnabled>
<isApexPluginAccessModifierRespected>true</isApexPluginAccessModifierRespected>
<isEnhancedFlowListViewVisible>true</isEnhancedFlowListViewVisible>
1712
FlowSettingsMetadata Types
<isManageFlowRequiredForAutomationCharts>false</isManageFlowRequiredForAutomationCharts>
</FlowSettings>
Example Package Manifest
Heres an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Flow</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ForecastingObjectListSettings
Represents an orgs forecasting object list settings. Use these settings to control which object types and field types appear in the list of
object details on the forecasts page. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ForecastingObjectListSettings values are stored in the ForecastingObjectList.settings file in the settings folder.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
ForecastingObjectListSettings is available in API versions 52.0 and later.
Note: The information in this topic applies only to forecast types created in Summer 21 and later.
Fields
DescriptionField TypeField Name
For each forecast type, specifies the information that is displayed in the
list of object details that roll up into the forecasts. For example, the list
of opportunities rolls up into opportunity-based forecasts.
ForecastingTypeObjectListSettingsforecastingTypeObjectListSettings
1713
ForecastingObjectListSettingsMetadata Types
ForecastingTypeObjectListSettings
Represents an orgs forecasting type object list settings.
DescriptionField TypeField Name
Mapping of labels with each field displayed as a column in the object
detail list on the forecasts page.
ForecastingObjectListLabelMappingforecastingObjectListLabelMappings
Specifies the object fields that are used as columns in the object detail
list on the forecasts page.
forecastingObjectListSelectedSettingsforecastingObjectListSelectedSettings
Lists the object fields that are available but not currently used as columns
in the object detail list on the forecasts page. Changes to
forecastingObjectListUnselectedSettingsforecastingObjectListUnselectedSettings
forecastingObjectListSelectedSettings field are
reflected in this field.
Developer name of the forecast type that these object list settings apply
to.
stringforecastingTypeDeveloperName
ForecastingObjectListLabelMapping
Represents an orgs forecasting type object list label mapping.
DescriptionField TypeField Name
Object fields API name.stringfield
Object fields name in the object detail list on the forecasts page.stringlabel
forecastingObjectListSelectedSettings
Represents an orgs forecasting type object list selected settings.
DescriptionField TypeField Name
Object fields API name.stringfield
forecastingObjectListUnselectedSettings
Represents an orgs forecasting type object list unselected settings.
DescriptionField TypeField Name
Object fields API name.stringfield
1714
ForecastingObjectListSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of the ForecastingObjectListSettings.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingObjectListSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<forecastingTypeObjectListSettings>
<forecastingObjectListLabelMappings>
<field>CREATEDBY_USER.ALIAS</field>
<label>Created By Alias</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.AMOUNT</field>
<label>Amount</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.CLOSE_DATE</field>
<label>Close Date</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.TYPE</field>
<label>Type</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.CREATED_DATE</field>
<label>Created Date</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.LAST_UPDATE</field>
<label>Last Modified Date</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.LEAD_SOURCE</field>
<label>Lead Source</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.EXP_AMOUNT</field>
<label>Expected Revenue</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.CLOSED</field>
<label>Closed</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.WON</field>
<label>Won</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>00Nxx000001G2W0</field>
<label>CustomOppCurr</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>CORE.USERS.ALIAS</field>
<label>Opportunity Owner Alias</label>
</forecastingObjectListLabelMappings>
1715
ForecastingObjectListSettingsMetadata Types
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.PROBABILITY</field>
<label>Probability (%)</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.LAST_ACTIVITY</field>
<label>Last Activity</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.FISCAL_QUARTER</field>
<label>Fiscal Quarter</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>00Nxx000001G8GS</field>
<label>TaraTestOppCurr</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>DESCRIPTION</field>
<label>Description</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.FISCAL_PERIOD</field>
<label>Fiscal Period</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>FULL_NAME</field>
<label>Owner Full Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.NEXT_STEP</field>
<label>Next Step</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>UPDATEDBY_USER.ALIAS</field>
<label>Last Modified By Alias</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.STAGE_NAME</field>
<label>Stage</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>CONTRACT.NAME</field>
<label>Contract Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.QUANTITY</field>
<label>Quantity</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>SPLITAMOUNT</field>
<label>Forecasted Amount</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.NAME</field>
1716
ForecastingObjectListSettingsMetadata Types
<label>Opportunity Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>CORE.USERS.LAST_NAME</field>
<label>Owner Last Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.FISCAL_YEAR</field>
<label>Fiscal Year</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>TERR2_NAME</field>
<label>Territory Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>CORE.USERS.FIRST_NAME</field>
<label>Owner First Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>ACCOUNT.SITE</field>
<label>Account Site</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>ACCOUNT.NAME</field>
<label>Account Name</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>OPPORTUNITY.PRIVATE</field>
<label>Private</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>TERR2_DESC</field>
<label>Territory Description</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>CONTRACT.CONTRACT_NUMBER</field>
<label>Contract Number</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListLabelMappings>
<field>FORECAST_CATEGORY</field>
<label>Forecast Category</label>
</forecastingObjectListLabelMappings>
<forecastingObjectListSelectedSettings>
<field>OPPORTUNITY.NAME</field>
</forecastingObjectListSelectedSettings>
<forecastingObjectListUnselectedSettings>
<field>ACCOUNT.NAME</field>
<field>CONTRACT.CONTRACT_NUMBER</field>
<field>CONTRACT.NAME</field>
<field>OPPORTUNITY.STAGE_NAME</field>
<field>FORECAST_CATEGORY</field>
<field>OPPORTUNITY.CLOSE_DATE</field>
<field>OPPORTUNITY.AMOUNT</field>
<field>CORE.USERS.ALIAS</field>
1717
ForecastingObjectListSettingsMetadata Types
<field>CORE.USERS.FIRST_NAME</field>
<field>CORE.USERS.LAST_NAME</field>
<field>FULL_NAME</field>
<field>OPPORTUNITY.PROBABILITY</field>
<field>DESCRIPTION</field>
<field>OPPORTUNITY.EXP_AMOUNT</field>
<field>OPPORTUNITY.LEAD_SOURCE</field>
<field>OPPORTUNITY.NEXT_STEP</field>
<field>OPPORTUNITY.PRIVATE</field>
<field>OPPORTUNITY.QUANTITY</field>
<field>OPPORTUNITY.TYPE</field>
<field>UPDATEDBY_USER.ALIAS</field>
<field>CREATEDBY_USER.ALIAS</field>
<field>OPPORTUNITY.CLOSED</field>
<field>OPPORTUNITY.WON</field>
<field>ACCOUNT.SITE</field>
<field>OPPORTUNITY.FISCAL_YEAR</field>
<field>OPPORTUNITY.FISCAL_QUARTER</field>
<field>OPPORTUNITY.FISCAL_PERIOD</field>
<field>OPPORTUNITY.LAST_ACTIVITY</field>
<field>OPPORTUNITY.CREATED_DATE</field>
<field>OPPORTUNITY.LAST_UPDATE</field>
<field>SPLITAMOUNT</field>
<field>00Nxx000001G2W0</field>
<field>00Nxx000001G8GS</field>
<field>TERR2_NAME</field>
<field>TERR2_DESC</field>
</forecastingObjectListUnselectedSettings>
<forecastingTypeDeveloperName>OpportunityLineItemRevenue</forecastingTypeDeveloperName>
</forecastingTypeObjectListSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the ForecastingObjectListSettingsSettings settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ForecastingObjectListSettings</members>
<name>Settings</name>
</types>
<version>52.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1718
ForecastingObjectListSettingsMetadata Types
ForecastingSettings
Represents the Collaborative Forecasts settings options. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Note: This information only applies to Collaborative Forecasts.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ForecastingSettings on page 1719 values are stored in a single file named Forecasting.settings in the settings directory
of the corresponding package directory. The .settings files are different from other named components because theres only one
settings file for each settings component.
Version
ForecastingSettings on page 1719 components are available in API version 28 and later. The structure of the ForecastingSettings on page
1719 type changed significantly in API version 30.0 and in API version 53.0.
Fields
DescriptionField TypeField Name
Removed. The currency for displaying forecasts; either the organization's
corporate currency or each forecast owner's personal currency setting.
DisplayCurrency
(enumeration of
type string)
displayCurrency
The selected currency is the default used in Collaborative Forecasts and
selected in setup. The selection must be one of the currencies enabled
for use in the organization, and only one selection is allowed. The default
is CORPORATE. The valid values are:
CORPORATE
PERSONAL
Available in API version 28.0 to 46.0. In API version 47.0 and later, use
defaultToPersonalCurrency.
If multicurrency is enabled, this field indicates whether the users personal
currency is used in forecasts. If true (default), the users personal
currency is used. If false, the corporate currency is used.
Available in API version 47.0 and later.
booleandefaultToPersonalCurrency
Indicates if Collaborative Forecasts is enabled or not. Set to true to
enable Collaborative Forecasts and false to disable the functionality.
Disabling Forecasts can result in data loss. Refer to Salesforce Help before
disabling any functionality.
booleanenableForecasts
1719
ForecastingSettingsMetadata Types
DescriptionField TypeField Name
A list of mappings associating forecast types with forecast rollups. As of
Spring 20 and later, only standard users with the View All Forecasts or
ForecastingCategoryMapping[]forecastingCategoryMappings
Allow Forecasting permission or delegated forecast manager status can
access this subtype.
The product families chosen to allow forecasting on in Lightning
Experience. This field is available in API version 40.0 and later.
ForecastingDisplayedFamilySettings
on page 1721[]
forecastingDisplayedFamilySettings
A list of forecast types. For field values, see ForecastingTypeSettings on
page 1721. The maximum number of forecast types is four.
ForecastingTypeSettings
on page 1721[]
forecastingTypeSettings
The adjustment options for Collaborative Forecasts. Available in API
version 53.0 and later. In API version 52.0 and earlier, use the
adjustmentsSettings field on ForecastingTypeSettings.
AdjustmentsSettings[]globalAdjustmentsSettings
The default periods and range selections in Collaborative Forecasts.
Available in API version 53.0 and later. In API version 52.0 and earlier, use
the forecastRangeSettings field on ForecastingTypeSettings.
ForecastRangeSettings[]globalForecastRangeSettings
Enables or disables quotas in Collaborative Forecasts. Available in API
version 53.0 and later. In API version 52.0 and earlier, use the
quotasSettings field on ForecastingTypeSettings.
QuotasSettings[]globalQuotasSettings
ForecastingCategoryMapping
The forecasting category mappings for Collaborative Forecasts. This subtype appears eight times within the ForecastingSettings
type. Each occurrence includes fields that specify a type of forecast category rollup, which forecast categories each rollup includes, and
the weight of each forecast category in the rollup. Organizations using either cumulative forecast rollups or individual forecast category
columns must include all eight occurrences of this subtype. As of Spring 20 and later, only standard users with the View All Forecasts
or Allow Forecasting permission or delegated forecast manager status can access this subtype.
DescriptionField TypeField
Required. This field specifies the API name of the rollup type.
The valid values are:
stringforecastingItemCategoryApiName
openpipeline
bestcaseforecast
commitforecast
pipelineonly
bestcaseonly
commitonly
closedonly
omittedonly
This field can occur more than one time when specifying more
than one forecast category to include in the rollup type. Each
WeightedSourceCategory[]weightedSourceCategories
occurrence contains two subfields that specify a forecast
1720
ForecastingSettingsMetadata Types
DescriptionField TypeField
category to include in the forecast rollup type and its weight.
Some rollup types include more than one forecast category. This
list shows the forecast categories that are included in each rollup
type.
Rollup: openpipeline, Forecast categories: pipeline,
best case, commit
Rollup: bestcaseforecast, Forecast categories: best
case, commit, closed
Rollup: commitforecast, Forecast categories: commit,
closed
Rollup: pipelineonly, Forecast categories: pipeline
Rollup: bestcaseonly, Forecast categories: best
case
Rollup: commitonly, Forecast categories: commit
Rollup: closedonly, Forecast categories: closed
Rollup: omittedonly, Forecast categories: omitted
ForecastingDisplayedFamilySettings
The product families that an admin chooses to allow forecasting on in Lightning Experience. This field is available in API version 40.0
and later.
DescriptionField TypeField
The product family available to forecast on. Each product family
is unique.
stringproductFamily
ForecastingTypeSettings
The settings for each forecast type. An organization can have up to four forecast types active. If you omit a previously enabled forecast
type that has a minimum API version less than or equal to the metadata package version, its quota and adjustment data is deleted from
the org.
Omitting a forecast type field from the XML can deactivate that forecast type: if the forecast type was available in the release specified
by the XML package version, that forecast type is deactivated and its quota and adjustment data are deleted.
DescriptionField TypeField Name
Required. Indicates whether the forecast type specified in the name
field is active.
Setting the active field to false purges all forecasting data,
adjustments, and quotas for the forecast type. When active is set to
booleanactive
true, some values on the Forecasts tab dont appear immediately. An
in-process con appears to indicate that the values are being calculated.
1721
ForecastingSettingsMetadata Types
DescriptionField TypeField Name
Removed. This field enables or disables the forecasts adjustments option
in Collaborative Forecasts. In API version 53.0 and later, use
globalAdjustmentsSettings.
AdjustmentsSettings
on page 1725
adjustmentsSettings
This read-only field appears four times to specify the four forecast rollup
categories displayed in the Forecasts tab, for either cumulative forecast
stringdisplayedCategoryApiNames
rollups, or individual forecast category rollups. Always use the same 4
values for both displayedCategoryApiNames and
forecastedCategoryApiNames.
Valid values for organizations using cumulative forecast rollups:
openpipeline
bestcaseforecast
commitforecast
closedonly
Valid values for organizations using individual forecast category rollups:
pipelineonly
bestcaseonly
commitonly
closedonly
This field appears four times to specify the four forecast rollup categories
used in the organization, for either cumulative forecast rollups, or
individual forecast category rollups.
Valid values for organizations using cumulative forecast rollups:
stringforecastedCategoryApiNames
openpipeline
bestcaseforecast
commitforecast
closedonly
Valid values for organizations using individual forecast category rollups:
pipelineonly
bestcaseonly
commitonly
closedonly
Changing from one set of four values to the other changes the
organization setting for Enable Cumulative Forecast Rollups in Setup. If
this field is omitted, the setting isnt changed.
Required. The date type that forecast amounts are based on in
Collaborative Forecasts.
Valid values are:
ForecastingDateType
(enumeration of
type string)
forecastingDateType
OpportunityCloseDate (default)
1722
ForecastingSettingsMetadata Types
DescriptionField TypeField Name
ProductDate
ScheduleDate
Available in API version 42.0 and later. In API version 42.0 only, date types
are read only and available only via API.
Removed. The default periods and range selections in Collaborative
Forecasts. In API version 53.0 and later, use globalForecastRangeSettings.
ForecastRangeSettings
on page 1727
forecastRangeSettings
Required. Indicates whether the forecasting type has product family
forecasts enabled. Available in API version 41.0 and later.
booleanhasProductFamily
Required. This read-only field indicates whether the forecast type is based
on revenue amounts. The value of isAmount is always the opposite
of the value of isQuantity.
booleanisAmount
Required. This read-only field indicates whether the forecast type can
currently be used in the organization. For example, the revenue splits
booleanisAvailable
forecast type cant be used in an organization that doesnt have
Opportunity Splits enabled.
Required. This read-only field indicates whether the forecast type is based
on product quantities. The value of isQuantity is always the
opposite of the value of isAmount.
booleanisQuantity
This read-only field appears twice to specify the two forecast rollup
categories that forecast managers can adjust in the organization for
stringmanagerAdjustableCategoryApiNames
either cumulative forecast rollups or individual forecast category rollups.
This field can only be used when the enableAdjustments field
contains a value of true. If both the
managerAdjustableCategoryApiNames and
ownerAdjustableCategoryApiNames fields are being used,
they must contain the same two values. Their values must also be
consistent with the values of the enableAdjustments and
enableOwnerAdjustments fields.
Valid values for organizations using cumulative forecast rollups:
bestcaseforecast
commitforecast
Valid values for organizations using individual forecast category rollups:
bestcaseonly
commitonly
Required. This read-only field indicates the UI label for the forecast type.stringmasterLabel
Required. The name of the forecast type. Each forecast type requires a
specific string.
Using ForecastingSettings, you can activate only the following forecast
types.
stringname
1723
ForecastingSettingsMetadata Types
DescriptionField TypeField Name
LineItemQuantityProductDate: Product Families -
Quantity by product date. Available in API versions 47.0 and later.
LineItemQuantityScheduleDate: Product Families -
Quantity by schedule date. Available in API versions 47.0 and later.
LineItemRevenueProductDate: Product Families - Revenue
by product date. Available in API versions 47.0 and later.
LineItemRevenueScheduleDate: Product Families -
Revenue by schedule date. Available in API versions 47.0 and later.
OpportunityLineItemQuantity: Product Families -
Quantity.
OpportunityLineItemRevenue: Product Families - Revenue.
OpportunityOverlayRevenue: Opportunity Overlay Splits
- Revenue.
OpportunityQuantity: Opportunities - Quantity.
OpportunityQuantityProductDate: Opportunities -
Quantity by product date. Available in API versions 43.0 and later.
OpportunityQuantityScheduleDate: Opportunities -
Quantity by schedule date. Available in API versions 43.0 and later.
OpportunityRevenue: Opportunities - Revenue.
OpportunityRevenueProductDate: Opportunities -
Revenue by product date. Available in API versions 43.0 and later.
OpportunityRevenueScheduleDate: Opportunities -
Revenue by schedule date. Available in API versions 43.0 and later.
OpportunitySplitRevenue: Opportunity Revenue Splits -
Revenue.
Territory_Model_NameN: Territories, where
Territory_Model_Name is the name of your active territory
model in the API. Territory_Model_Name can be followed
by N, an auto-generated number that distinguishes between territory
forecast types. Available in API versions 44.0 and later.
Territory_Model_NameN_ProductFamily: Deprecated.
Territories - Product Families, where Territory_Model_Name
is the name of your active territory model in the API and can be
followed by N, an auto-generated number that distinguishes
between territory forecast types. Available in API versions 45.0 and
46.0. For territory models created in API version 47.0 and later,
Territory_Model_NameN is used.
The name of a custom opportunity split type that has been enabled
as a forecast type. Custom split types are based on currency fields,
which can contain revenue amounts only.
To create and manage other forecast types in API version 52.0 and later,
use ForecastingSourceDefinition, ForecastingType, and
ForecastingTypeSource.
1724
ForecastingSettingsMetadata Types
DescriptionField TypeField Name
A read-only list of the API names and UI labels for all fields on the
Opportunity object.
OpportunityListFieldsLabelMapping
on page 1727
opportunityListFieldsLabelMappings
Required. The fields selected to appear in the opportunity pane of the
forecast page for the forecast type. One of the selected fields must be
Opportunity Name. You can select up to 15 fields.
OpportunityListFields
SelectedSettings on
page 1727
opportunityListFields
SelectedSettings
Required. The fields not selected to appear in the opportunity pane of
the forecast page for the forecast type.
OpportunityListFields
UnselectedSettings
on page 1728
opportunityListFields
UnselectedSettings
Indicates whether the forecasting type has a split type, and if so, the
name of the split type. Available in API version 41.0 and later.
stringopportunitySplitName
This read-only field appears twice to specify the two forecast rollup
categories that forecast owners can adjust in the organization, for either
stringownerAdjustableCategoryApiNames
cumulative forecast rollups, or individual forecast category rollups. This
field can only be used when the enableOwnerAdjustments field
contains a value of true. If both the
managerAdjustableCategoryApiNames and
ownerAdjustableCategoryApiNames fields are being used,
they must contain the same two values. Their values must also be
consistent with the values of the enableAdjustments and
enableOwnerAdjustments fields.
Valid values for organizations using cumulative forecast rollups:
bestcaseforecast
commitforecast
Valid values for organizations using individual forecast category rollups:
bestcaseonly
commitonly
Removed. This field enables or disables the quota option in Collaborative
Forecasts. In API version 53.0 and later, use globalQuotasSettings.
QuotasSettings on
page 1728
quotasSettings
Indicates whether the forecasting type has a Territory2 model, and if so,
the name of the Territory2 model. Available in API version 41.0 and later.
stringterritory2ModelName
AdjustmentsSettings
The adjustment options for Collaborative Forecasts.
DescriptionField TypeField
Required. Set to true to show separate columns on the
forecasts page for each adjustable forecast category and false
booleanallowExpandedColumns
to show adjustments when a user hovers over a forecast
1725
ForecastingSettingsMetadata Types
DescriptionField TypeField
category. All forecast types must contain the same
allowExpandedColumns value.
Required. Set to true to enable Collaborative Forecasts
manager adjustments and false to disable them. All forecast
types must contain the same enableAdjustments value.
Disabling adjustments results in Collaborative Forecasts
adjustment data being purged.
booleanenableAdjustments
Required. Set to true to enable Collaborative Forecasts owner
adjustments and false to disable them. All forecast types
must contain the same enableOwnerAdjustments value.
Disabling adjustments results in Collaborative Forecasts
adjustment data being purged.
booleanenableOwnerAdjustments
ForecastingGroup
The group based on a custom picklist, that is used to group or roll up forecast totals on the forecasts page. For example, group forecasts
using a custom picklist for industry or sales type.
DescriptionField TypeField
Required. The API name that identifies the forecast group.stringdeveloperName
Required. The picklist values for the forecast type. Possible values
include the picklist values defined in groupField.
ForecastingGroupItem on page
1726
forecastingGroupItems
Required. The field name of the custom picklist used as a group.
Possible values include custom, single-selection picklists
available in sourceObject.
stringgroupField
Required. This read-only field indicates the UI label for the
forecast group.
stringmasterLabel
Required. The source object for the picklist for the forecast
group. Possible values include:
stringsourceObject
Opportunity
OpportunityLineItem
Product2
ForecastingGroupItem
The picklist value that is specified as the forecasting group for a forecast type, and the order it displays in on the forecasts page.
1726
ForecastingSettingsMetadata Types
DescriptionField TypeField
Required. Indicates the display order oft he values on the
forecasts page.
intdisplayPosition
Required. The API name thats derived from the group value.stringsourceAPIValue
ForecastRangeSettings
The default periods and range selections in Collaborative Forecasts. Users can forecast up to 15 months, 15 fiscal periods, or 8 quarters
in the future or past. If your forecast range includes the current month, period, or quarter, the forecasts page shows the current month,
period, or quarter by default. If not, the first month, period, or quarter of the range is selected. All forecast types must contain the same
forecastRangeSettings field values.
Warning: If you change the time period from monthly to quarterly or quarterly to monthly, or you change the standard fiscal
year, all adjustments, manager judgments, and quotas are purged. If you enable custom fiscal years, creating the first custom fiscal
year deletes any quotas and adjustments in the corresponding and subsequent standard fiscal years. These changes trigger a
forecast recalculation that can take significant time, depending on the quantity of your data.
DescriptionField TypeField
Required. Indicates the beginning month or quarter to display
by default.
intbeginning
Required. Indicates the number of months or quarters to display
by default. The maximum number of months is 12 and quarters
is 8.
intdisplaying
Required. Indicates what type of period to use. Valid values are:PeriodTypes (enumeration of
type string)
periodType
Month
Quarter
Week
Year
OpportunityListFieldsLabelMapping
A read-only list of the API names and UI labels for all fields on the Opportunity object.
DescriptionField TypeField
Required. The API name of the Opportunity field.stringfield
Required. The UI label of the Opportunity field.stringlabel
OpportunityListFieldsSelectedSettings
The fields selected to appear in the opportunity pane of the forecast page for the forecast type. One of the selected fields must be
Opportunity Name. You can select up to 15 fields.
1727
ForecastingSettingsMetadata Types
DescriptionField TypeField
Specifies names of fields to display in the opportunity pane.stringfield
OpportunityListFieldsUnselectedSettings
The fields not selected to appear in the opportunity pane of the forecast page for the forecast type.
DescriptionField TypeField
Specifies names of fields not displayed in the opportunity pane.stringfield
QuotasSettings
QuotasSettings on page 1728 indicates if quotas are available in Collaborative Forecasts.
DescriptionField TypeField
Required. Set to true to enable quotas. All forecast types must
contain the same showQuotas field value.
booleanshowQuotas
WeightedSourceCategory
This field can occur more than one time when specifying more than one forecast category to include in the rollup type. Each occurrence
contains two subfields that specify a forecast category to include in the forecast rollup type and its weight. Some rollup types include
more than one forecast category. This table shows the forecast categories that are included in each rollup type.
DescriptionField TypeField
Required. Specifies the API name of a forecast category to include
in the rollup type. The valid values are.
stringsourceCategoryApiName
pipeline
best case
commit
closed
omitted
Required. Specifies the weight given to the forecast category
when calculating the forecast for the rollup type. The only
supported value is 1.0.
doubleweight
1728
ForecastingSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of a ForecastingSettings on page 1719 component that enables the Opportunity-Revenue forecast type,
adjustments, owner adjustments, and quotas, and changes forecast range settings:
<?xml version="1.0" encoding="UTF-8"?>
<ForecastingSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<defaultToPersonalCurrency>false</defaultToPersonalCurrency>
<enableForecasts>true</enableForecasts>
<globalAdjustmentsSettings>
<enableAdjustments>true</enableAdjustments>
<enableOwnerAdjustments>true</enableOwnerAdjustments>
</globalAdjustmentsSettings>
<globalForecastRangeSettings>
<beginning>1</beginning>
<displaying>6</displaying>
<periodType>Month</periodType>
</globalForecastRangeSettings>
<globalQuotasSettings>
<showQuotas>true</showQuotas>
</globalQuotasSettings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>commitonly</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>commit</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>closedonly</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>closed</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>openpipeline</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>most likely</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>commit</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>pipeline</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>best case</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
1729
ForecastingSettingsMetadata Types
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>omittedonly</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>omitted</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>bestcaseforecast</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>most likely</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>commit</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>closed</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>best case</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>pipelineonly</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>pipeline</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>commitforecast</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>closed</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
<weightedSourceCategories>
<sourceCategoryApiName>commit</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingCategoryMappings>
<forecastingItemCategoryApiName>bestcaseonly</forecastingItemCategoryApiName>
<weightedSourceCategories>
<sourceCategoryApiName>best case</sourceCategoryApiName>
<weight>1.0</weight>
</weightedSourceCategories>
</forecastingCategoryMappings>
<forecastingTypeSettings>
<name>OpportunityRevenue</name>
1730
ForecastingSettingsMetadata Types
<active>true</active>
<hasProductFamily>false</hasProductFamily>
<isAmount>true</isAmount>
<isAvailable>true</isAvailable>
<isQuantity>false</isQuantity>
<managerAdjustableCategoryApiNames>commitonly</managerAdjustableCategoryApiNames>
<managerAdjustableCategoryApiNames>bestcaseonly</managerAdjustableCategoryApiNames>
<masterLabel>Opportunities</masterLabel>
<displayedCategoryApiNames>closedonly</displayedCategoryApiNames>
<displayedCategoryApiNames>commitonly</displayedCategoryApiNames>
<displayedCategoryApiNames>bestcaseonly</displayedCategoryApiNames>
<displayedCategoryApiNames>pipelineonly</displayedCategoryApiNames>
<forecastedCategoryApiNames>commitonly</forecastedCategoryApiNames>
<forecastedCategoryApiNames>closedonly</forecastedCategoryApiNames>
<forecastedCategoryApiNames>pipelineonly</forecastedCategoryApiNames>
<forecastedCategoryApiNames>bestcaseonly</forecastedCategoryApiNames>
<forecastingDateType>OpportunityCloseDate</forecastingDateType>
<opportunityListFieldsSelectedSettings>
<field>OPPORTUNITY.NAME</field>
</opportunityListFieldsSelectedSettings>
</forecastingTypeSettings>
</ForecastingSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
HighVelocitySalesSettings
Represents an orgs Sales Engagement settings. With Sales Engagement, you can make your inside sales team as effective as possible.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
HighVelocitySalesSettings values are stored in a single file named HighVelocitySales.settings in the settings directory
of the corresponding package directory.
Version
HighVelocitySalesSettings components are available in API version 47.0 and later.
1731
HighVelocitySalesSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether a cadence step of type Automated Send can be created
(true) or not (false). Allowing Salesforce to automatically send
booleanenableACAutoSendEmail
an email to a prospect can make your sales team more efficient, because
reps dont have to send the email themselves.
Default value is true.
Available in API version 48.0 and later.
Indicates whether target assignees, target owners, and users with access
to related cadences can update target assignees (true) or not
(false).
Available in API version 50.0 and later.
booleanenableACChangeTargetAssignee
Indicates whether Skip Weekends is enabled (true) or not (false).
Available in API version 48.0 and later.
booleanenableACSkipWeekends
Indicates whether Business Hours is enabled in Sales Engagement
(true) or not (false).
Available in API version 58.0 and later.
booleanenableBusinessHours
Indicates whether AB testing for cadence steps is enabled (true) or
not (false).
Available in API version 53.0 and later.
booleanenableCadenceVariantTestingPref
Indicates whether the change target assignee action is controlled by
user permission (true) or not (false).
Available in API version 51.0 and later.
booleanenableChgTgtAssigneeUsrPermPref
Indicates whether Call Outcomes For Branching is enabled in Sales
Engagement (true) or not (false). Use Call Outcomes For
booleanenableDispositionCategory
Branching to group calls into different outcome categories such as "Left
Voicemail" or "Not Interested." You can see the outcomes in a report, or
use them to determine how cadences are branched.
enableHighVelocitySales must be true to use Sales
Engagement.
Default value is false.
Indicates whether you can see engagement statistics in CRM Analytics
(true) or not (false). Use CRM Analytics to analyze information
booleanenableEngagementWaveAnalyticsPref
about calls, engagement, and how each sales rep moves through their
cadence steps.
1732
HighVelocitySalesSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether Sales Engagement is enabled (true) or not
(false). If enabled, it turns on the features required for the product
and makes the app available to users.
Default value is false.
booleanenableHighVelocitySales
Indicates whether Sales Engagement is enabled (true) or not
(false).
Default value is false.
booleanenableHighVelocitySalesSetup
Indicates whether Invoice Attribution is enabled (true) or not
(false).
Available in API version 56.0 and later.
booleanenableInvoiceAttributionPref
Indicates whether Log a Call appears to CTI users by default (true)
or not (false).
Available in API version 54.0 and later.
booleanenableLogACallForCTIPref
Indicates whether users can log standard tasks upon completion of a
LinkedIn step (true) or not (false).
Available in API version 54.0 and later.
booleanenableLogTasksForLinkedInPref
Indicates whether targets can be assigned to multiple cadences
(true) or not (false).
Available in API version 57.0 and later.
booleanenableMultipleCadencesPref
Indicates whether Opportunity Attribution is enabled (true) or not
(false).
Available in API version 51.0 and later.
booleanenableOpportunityAttributionPermPref
Indicates whether Automated Email send is enabled for Sales
Engagement quick cadences (true) or not (false).
Available in API version 57.0 and later.
booleanenableQuickCadenceAutoSendEmail
Indicates whether users can log tasks after manual completion of a
cadence step (true) or not (false).
Available in API version 56.0 and later.
booleanenableTaskLoggingPref
Declarative Metadata Sample Definition
The following is an example of the HighVelocitySales.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<HighVelocitySalesSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableACAutoSendEmail>false</enableACAutoSendEmail>
1733
HighVelocitySalesSettingsMetadata Types
<enableACChangeTargetAssignee>false</enableACChangeTargetAssignee>
<enableACSkipWeekends>false</enableACSkipWeekends>
<enableBusinessHours>false</enableBusinessHours>
<enableCadenceVariantTestingPref>false</enableCadenceVariantTestingPref>
<enableChgTgtAssigneeUsrPermPref>false</enableChgTgtAssigneeUsrPermPref>
<enableDispositionCategory>true</enableDispositionCategory>
<enableEngagementWaveAnalyticsPref>true</enableEngagementWaveAnalyticsPref>
<enableHighVelocitySales>true</enableHighVelocitySales>
<enableHighVelocitySalesSetup>true</enableHighVelocitySalesSetup>
<enableInvoiceAttributionPref>false</enableInvoiceAttributionPref>
<enableLogACallForCTIPref>false</enableLogACallForCTIPref>
<enableLogTasksForLinkedInPref>false</enableLogTasksForLinkedInPref>
<enableMultipleCadencesPref>false</enableMultipleCadencesPref>
<enableOpportunityAttributionPermPref>false</enableOpportunityAttributionPermPref>
<enableQuickCadenceAutoSendEmail>false</enableQuickCadenceAutoSendEmail>
<enableTaskLoggingPref>true</enableTaskLoggingPref>
</HighVelocitySalesSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the HighVelocitySalesSettings settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>HighVelocitySalesSettings</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
IdeasSettings
Represents the metadata used to manage settings for Ideas.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
IdeasSettings is stored in one file named Ideas.settings in the settings folder of the corresponding package directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
IdeasSettings is available in API version 27.0 and later.
Ideas
Represents settings for Ideas and Idea Themes.
1734
IdeasSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether Idea Themes is enabled (true) or not (false).booleanenableIdeaThemes
Indicates whether Ideas is enabled (true) or not (false).booleanenableIdeas
Indicates whether Reputation is enabled (true) or not (false). You
cant enable IdeasReputation without enabling the Ideas Reputation
booleanenableIdeasReputation
permission in your organization. This field is available in API version 28.0
and later.
Indicates that the Chatter user profile is used for Ideas user profiles. If
enableChatterProfile is true, the ideasProfilePage
booleanenableChatterProfile
value must not be specified. If enableChatterProfile is false,
then specify a ideasProfilePage value, otherwise the Ideas zone
profile is used. This field is available in API version 29.0 and later.
The name of the Visualforce page to use for a custom Ideas user profile,
if enableChatterProfile is false. If
stringideasProfilePage
enableChatterProfile is false, then specify a
ideasProfilePage value, otherwise the Ideas zone profile is used.
This field is available in API version 29.0 and later.
Indicates how quickly old ideas drop in ranking on the Popular Ideas
subtab. The half-life setting determines how the number of days after
doublehalfLife
which old ideas drop in ranking on the Popular Ideas subtab, to make
room for ideas with more recent votes. A shorter half-life moves older
ideas down the page faster than a longer half-life.
Declarative Metadata Sample Definition
The following is an example ideas.settings metadata file:
<?xml version="1.0" encoding="UTF-8"?>
<IdeasSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableIdeaThemes>true</enableIdeaThemes>
<enableIdeas>true</enableIdeas>
<enableIdeasReputation>true</enableIdeasReputation>
<enableChatterProfile>false</enableChatterProfile>
<ideasProfilePage>name of Visualforce page</ideasProfilePage>
<halfLife>2.6</halfLife>
</IdeasSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1735
IdeasSettingsMetadata Types
IdentityProviderSettings
Represents the settings used to enable or disable Salesforce as a SAML identity provider for single sign-on (SSO).
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
IdentityProviderSettings values are stored in the IdentityProvider.settings file in the settings folder.
The .settings files are different from other named components, because there is only one settings file for each settings component.
Version
IdentityProviderSettings components are available in API version 57.0 and later.
Special Access Rules
To access IdentityProviderSettings, a user must have the Customize Application user permission.
Fields
DescriptionField Name
Field Type
string
certificateName
Description
Required.
The certificate that Salesforce uses to communicate with SAML SSO service providers,
such as third-party service providers or another Salesforce org acting as a service
provider. You can enter the name of a self-signed certificate or a certificate signed by
a certificate authority.
Field Type
boolean
enableIdentityProvider
Description
Required.
Indicates whether Salesforce can be used as a SAML identity provider (true) or not
(false).
1736
IdentityProviderSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of an IdentityProviderSettings component. In this example, Salesforce is enabled as a SAML identity provider.
<?xml version="1.0" encoding="UTF-8"?>
<IdentityProviderSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<certificateName>Certificate Name</certificateName>
<enableIdentityProvider>true</enableIdentityProvider>
</IdentityProviderSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IdentityProvider</members>
<name>Settings</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
IframeWhiteListUrlSettings
Represents settings related to the list of trusted external domains that you allow to frame your Visualforce pages or surveys. This type
extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
File Suffix and Directory Location
IframeWhiteListUrlSettings on page 1737 values are stored in the IframeWhiteListUrlSettings on page 1737.settings file in the
settings directory. The .settings files are different from other named components because theres only one settings file for
each settings component.
Version
IframeWhiteListUrlSettings on page 1737 components are available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
The list of external domains that you allow to frame your Visualforce
pages or surveys.
IframeWhiteListUrl[]iframeWhiteListUrls
1737
IframeWhiteListUrlSettingsMetadata Types
IframeWhiteListUrl
Represents the external domains that you allow to frame your Visualforce pages or surveys.
DescriptionField TypeField Name
Required. The type of content in the iframe. Valid values are:IFrameWhitelistContext
(enumeration of
type string)
context
LightningOutReserved for future use. Available in API version
60.0 and later
Surveys
VisualforcePages
The unique domain that is allowed to frame your Visualforce pages or
surveys. Accepts these formats: example.com, *example.com,
and https://example.com.
stringurl
Declarative Metadata Sample Definition
The following is an example of a IframeWhiteListUrlSettings on page 1737 component.
<?xml version="1.0" encoding="UTF-8"?>
<IframeWhiteListUrlSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<iframeWhiteListUrl>
<context>Surveys></context>
<url>example1.com</url>
</iframeWhiteListUrl>
<iframeWhiteListUrl>
<context>VisualforcePages</context>
<url>example2.com</url>
</iframeWhiteListUrl>
</IframeWhiteListUrlSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IframeWhiteListUrlSettings</members>
<name>IframeWhiteListUrlSettings</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
IncidentMgmtSettings
Represents settings for Customer Service Incident Management and Broadcast Communications.
1738
IncidentMgmtSettingsMetadata Types
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
IncidentMgmtSettings values are stored in the IncidentMgmt.settings file in the settings folder. The .settings
files are different from other named components, because there is only one settings file for each settings component.
Version
IncidentMgmtSettings components are available in API version 54.0 and later.
Special Access Rules
IncidentMgmtSettings requires a Service Cloud license.
Fields
DescriptionField Name
Field Type
boolean
enableAlertBroadcastType
Description
Indicates whether broadcast communication alerts are enabled (true) or not (false).
Lets incident managers send disruptive in-app notifications when an incident occurs.
Default is false. Available in API version 57.0 and later.
Field Type
boolean
enableEmailBroadcastType
Description
Indicates whether broadcast communication emails are enabled (true) or not
(false). Lets users send an email with critical information to impacted customers.
Default is false. Available in API version 56.0 and later.
Field Type
boolean
enableIncidentMgmt
Description
Indicates whether Customer Service Incident Management is enabled (true) or not
(false). Customer Service Incident Management is a Service Cloud solution that
helps your teams track large-scale disruptions and delegate tasks to the right experts
to ensure that your business delivers on customer expectations. Default is true.
Available in API version 54.0 and later.
1739
IncidentMgmtSettingsMetadata Types
DescriptionField Name
Field Type
boolean
enableSiteBannerBroadcastType
Description
Indicates whether broadcast communication for site banners is enabled (true) or
not (false). Lets users add a banner with critical information to your Aura and LWR
sites. Default is false. Available in API version 56.0 and later.
Field Type
boolean
enableSlackBroadcastType
Description
Indicates whether broadcast communication Slack messages are enabled (true) or
not (false). Lets incident managers send broadcasts to Slack when an incident
occurs. Default is false. Available in API version 57.0 and later.
Declarative Metadata Sample Definition
The following is an example of an IncidentMgmtSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<AccountSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAccountDiscovery>true</enableAccountDiscovery>
<enableAccountHistoryTracking>true</enableAccountHistoryTracking>
<enableAccountInsightsInMobile>false</enableAccountInsightsInMobile>
<enableAccountOwnerReport>true</enableAccountOwnerReport>
<enableAccountTeams>true</enableAccountTeams>
<enableContactHistoryTracking>true</enableContactHistoryTracking>
<enableRelateContactToMultipleAccounts>true</enableRelateContactToMultipleAccounts>
<showViewHierarchyLink>true</showViewHierarchyLink>
</AccountSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IncidentMgmt</members>
<name>Settings</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
1740
IncidentMgmtSettingsMetadata Types
IndustriesEinsteinFeatureSettings
Represents the settings for enabling the Industries Einstein feature.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
IndustriesEinsteinFeatureSettings values are stored in a single file named IndustriesEinsteinFeature.settings in the
settings folder. The .settings files are different from other named components because theres only one settings file for each
settings component.
Version
IndustriesEinsteinFeatureSettings components are available in API version 57.0 and later.
Fields
DescriptionField Name
Field Type
double
documentReaderConfidenceOrgValue
Description
Required.
Specify the confidence score threshold to indicate the reliability of data in a
document. You can enter a number from 0 to 100, with up to two decimal places,
where 0 is the least confident and 100 is the most confident.
Declarative Metadata Sample Definition
The following is an example of a IndustriesEinsteinFeatureSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<IndustriesEinsteinFeatureSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<documentReaderConfidenceOrgValue>61</documentReaderConfidenceOrgValue>
</IndustriesEinsteinFeatureSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IndustriesEinsteinFeature</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
1741
IndustriesEinsteinFeatureSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IndustriesLoyaltySettings
Represents the settings to enable capabilities of Loyalty Management.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
IndustriesLoyaltySettings values are stored in a single file named IndustriesLoyalty.settings in the settings folder.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
IndustriesLoyaltySettings components are available in API version 53.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the capability to automatically generate voucher
codes is enabled (true) or not (false). This field is available in API
version 57.0 and later.
booleanenableAutomaticVoucherCodeGeneration
Indicates whether the capability to update the non-qualifying point
balance of members in real time is enabled (true) or disabled (false)
for your org. The default value is true.
booleanenableNQPRealTimePointBalance
Indicates whether the capability to aggregate and expire fixed type
non-qualifying points in batches is enabled (true) or disabled (false)
booleanenableFixedTypeNQPAggregation
for your org. The default value is true. This field is available in API
version 54.0 or later.
Indicates whether the capability to aggregate and expire fixed type
non-qualifying points in real time is enabled (true) or disabled (false)
booleanenableNonQualifyingPointsConsolidation
for your org. The default value is true. This field is available in API
version 58.0 or later.
Indicates whether the real time qualifying points balance update
capability is enabled (true) or disabled (false) for your org. The
default value is true. This field is available in API version 55.0 or later.
booleanenableQPRealTimePointBalance
1742
IndustriesLoyaltySettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the capability that allows:booleanenableLoyaltyRulesVerifyCdpMemberSegment
Loyalty program process rules to process transaction journals only
when the loyalty program member is part of a Data Cloud segment
associated with the rule's promotion is enabled (true) or disabled
(false) for your org.
The Promotion Eligibility component on Loyalty Program Member
record page to categorize promotions based on whether the member
belongs to the promotions campaign or Data Cloud segment is
enabled (true) or disabled (false) for your org.
The default value is false. This field is available in API version 55.0 or
later.
Indicates whether the capability that automatically calculates and adds
the expiration date of points credited back to members for canceled
booleanenableLoyaltyRedeemedPointsExpirationInfoPref
redemptions is enabled (true) or disabled (false) for your org. The
default value is true. This field is available in API version 55.0 or later.
Indicates whether Service Console for Loyalty Management is enabled
(true) or disabled (false) for your org. The default value is false.
This field is available in API version 57.0 or later.
booleanenableLoyaltyServiceExcellence
Indicates whether the capability that allows customers to join and leave
loyalty programs and allows members to join and opt out of promotions
booleanenableLoyaltyApiAccessForExternalSiteUsers
from Experience Cloud sites is enabled (true) or disabled (false) for
your org. The default value is false. This field is available in API version
58.0 or later.
Indicates whether the capability that automatically selects members as
eligible for tier assessment when members qualifying points balance
booleanenableAutomaticMemberTierAssessmentSelection
changes is enabled (true) or disabled (false) for your org. The default
value is false. This field is available in API version 58.0 or later.
Indicates whether the capability that lets loyalty program members to
hold negative point balances for non-qualifying currencies is enabled
booleanenableNegativePointBalance
(true) or disabled (false) for your org. The default value is false.
This field is available in API version 61.0 or later.
Declarative Metadata Sample Definition
The following is an example of a IndustriesLoyaltySettings component.
<?xml version="1.0" encoding="UTF-8"?>
<IndustriesLoyaltySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableNQPRealTimePointBalance>true</enableNQPRealTimePointBalance>
<enableFixedTypeNQPAggregation>true</enableFixedTypeNQPAggregation>
<enableQPRealTimePointBalance>true</enableQPRealTimePointBalance>
1743
IndustriesLoyaltySettingsMetadata Types
<enableLoyaltyRulesVerifyCdpMemberSegment>false</enableLoyaltyRulesVerifyCdpMemberSegment>
<enableLoyaltyRedeemedPointsExpirationInfoPref>true</enableLoyaltyRedeemedPointsExpirationInfoPref>
<enableLoyaltyServiceExcellence>true</enableLoyaltyServiceExcellence>
<enableAutomaticVoucherCodeGeneration>true</enableAutomaticVoucherCodeGeneration>
<enableLoyaltyApiAccessForExternalSiteUsers>false</enableLoyaltyApiAccessForExternalSiteUsers>
<enableAutomaticMemberTierAssessmentSelection>false</enableAutomaticMemberTierAssessmentSelection>
<enableNonQualifyingPointsConsolidation>false</enableNonQualifyingPointsConsolidation>
<enablePointsLifecycleTracking>false</enablePointsLifecycleTracking>
<enableNegativePointBalance>false</enableNegativePointBalance>
</IndustriesLoyaltySettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>IndustriesLoyalty</members>
<name>Settings</name>
</types>
<version>53.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
IndustriesSettings
Represents settings for industries verticals such as Financial Services Cloud, Consumer Goods Cloud, Public Sector Solutions, Education
Cloud, Salesforce Scheduler, Life Sciences Cloud, and Health Cloud.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. Because changing
terms in our code can break current implementations, we maintained this metadata types name.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
IndustriesSettings are stored in a single file named Industries.settings in the settings directory.
1744
IndustriesSettingsMetadata Types
Version
Industries settings are available in API version 47.0 and later.
Special Access Rules
Settings are specific to an industry vertical and are only available to customers with org editions where the vertical is enabled.
Fields for Financial Services Cloud
Users need the FSC Insurance permission set to access the settings available in editions with Financial Services Cloud.
DescriptionField
Type
Field Name
Indicates whether multiple producers can be assigned to the same
insurance policy. The default is false. This field is available in
editions where Financial Services Cloud is enabled.
booleanallowMultipleProducersToWorkOnSamePolicy
When importing loan application data, indicates whether to create a
customer property record from a loan application property record to
represent the new home.
booleancreateCustomerPropertyFromLAProperty
When importing loan application data, indicates whether to create
financial account records from the assets listed in the loan application.
booleancreateFinancialAccountFromLAAsset
When importing loan application data, indicates whether to create
financial account records from the liabilities listed in the loan
application.
booleancreateFinancialAccountFromLALiability
When importing loan application data, indicates whether to create a
financial account record that represents the mortgage loan.
booleancreateFinancialAccountsFromLAFinancials
When importing loan application data, indicates whether to create a
financial account record from the loan application property to
represent the new home.
booleancreateFinancialAccountsFromLAProperty
When importing loan application data, indicates whether to create
asset records from the assets listed in the loan application.
booleancreateFSCAssetFromLAAsset
When importing loan application data, indicates whether to create
an asset record from a loan application property record to represent
the new home that was acquired.
booleancreateFSCAssetFromLAProperty
When importing loan application data, indicates whether to create a
liability record from a loan application property record to represent
the new mortgage loan.
booleancreateFSCLiabilityFromLAFinancial
When importing loan application data, indicates whether to create
liability records from the liabilities listed in the loan application.
booleancreateFSCLiabilityFromLALiability
Indicates whether insurance agents can access the main list of
coverage types. The default is false. This field is available in editions
where Financial Services Cloud is enabled.
booleanenableAccessToMasterListOfCoverageTypes
1745
IndustriesSettingsMetadata Types
DescriptionField
Type
Field Name
Indicates whether the policy premiums are calculated by using only
the parent policy's premium (true) or not (false). Use this for
booleanenableCalculationUsingParentPolicyOnly
hierarchical policies where premiums are stored at different levels.
The default value is false.
Indicates whether the Compliant Data Sharing feature is enabled for
the Account object. The default is false. This field is available in
editions where Financial Services Cloud is enabled.
booleanenableCompliantDataSharingForAccount
Indicates whether the Compliant Data Sharing feature is enabled for
custom objects (true) or not (false). The default value is false.
booleanenableCompliantDataSharingForCustomObjects
This field is available in editions where Financial Services Cloud is
enabled.
Indicates whether the Compliant Data Sharing feature is enabled for
the Opportunity object (true) or not (false). The default value is
booleanenableCompliantDataSharingForOpportunity
false. This field is available in editions where Financial Services
Cloud is enabled.
Indicates whether the Financial Deal Management feature is enabled.
The default is false. This field is available in editions where Financial
Services Cloud is enabled.
booleanenableDealManagement
Indicates whether the Assessment Question and Assessment Question
Set features of the Discovery Framework Metadata are enabled (true)
or not (false). The default value is false.
booleanenableDiscoveryFrameworkMetadata
Indicates whether the Intelligent Form Reader Mappings feature is
enabled. The default is false.
booleanenableEinsteinDocReaderMappings
Indicates whether the Intelligent Form Reader feature is enabled. The
default is false. This field is available in editions where Financial
Services Cloud is enabled.
booleanenableEinsteinDocReaderEnabled
Indicates whether the Enhanced Question Creation Experience feature
of the Discovery Framework is enabled true) or not (false). The
default value is false.
booleanenableEnhancedQuestionCreation
Indicates whether the Financial Account Management Standard
Objects setting is enabled for your org. The default is false. This
field is available in editions where Financial Services Cloud is enabled.
booleanenableFinancialAccountMgmt
Indicates whether data sharing for the financial deals is configured to
follow the role-based hierarchy (true) or not (false). The default
value is false.
booleanenableFinancialDealRoleHierarchy
Indicates whether sales managers can access the dashboard and
prebuilt reports. The default is false. This field is available in API
booleanenableFSCInsuranceReport
version 48.0 and later in editions where Financial Services Cloud is
enabled.
1746
IndustriesSettingsMetadata Types
DescriptionField
Type
Field Name
Note: This setting can be enabled only if the
allowMultipleProducersToWorkOnSamePolicy
setting is already set to true.
Indicates whether the Industries Assessment feature of the Discovery
Framework is enabled true) or not (false). The default value is
false.
booleanenableIndustriesAssessment
Indicates whether the Industries KYC (Know Your Customer) is enabled
true) or not (false). The default value is false.
booleanenableIndustriesKYC
Indicates whether the Interaction Summary setting is enabled for your
org. The default is false. This field is available in editions where
Financial Services Cloud is enabled.
booleanenableInteractionSummaryPref
Indicates whether the Role-Hierarchy-Based Sharing for Interaction
Summaries is enabled for your org. The default is false. This field
is available in editions where Financial Services Cloud is enabled.
booleanenableInteractionSummaryRoleHierarchy
Indicates whether insurance can manage many-to-many relationships
between claims and cases, claims and assets, and assets and policy
booleanenableManyToManyRelationships
participants. For example, if set to true, agents can handle multiple
claims through one case or have multiple cases handling one claim.
The default is false. This field is available in editions where Financial
Services Cloud is enabled.
Indicates whether the calculation of assets and liabilities for residential
loan application records is enabled for your org (true) or not (false).
booleanenableMortgageRlaTotalsOrgPref
The default is false. This field is available in editions where Financial
Services Cloud is enabled.
Indicates whether the data model related to policy administrator is
enabled true) or not (false). If this option is enabled, entities such
booleanenablePolicyAdministration
as transactions and transaction details are available within the policy
admin data model. The default value is false.
Indicates whether Roll-by-Lookup (RBL) Using Calc Service is enabled
for your org. The default is false. This field is available in editions
where Financial Services Cloud is enabled.
booleanenableRBLUsingCalcService
Indicates whether Record Rollup Optimization is enabled for your org.
The default is false. This field is available in editions where Financial
Services Cloud is enabled.
booleanenableRecordRollup
Indicates whether Einstein Referral Scoring for Financial Services Cloud
is enabled for your org (true) or not (false). The default is false. This
field is available in editions where Financial Services Cloud is enabled.
booleanenableReferralScoring
1747
IndustriesSettingsMetadata Types
DescriptionField
Type
Field Name
Indicates whether the access to Financial Services Cloud capabilities
on Slack is enabled (true) or not (false). The default value is
false.
booleanenableSlackForCib
Indicates whether the Sync Interactions with Einstein Activity Capture
setting is enabled (true) or not (false). The default value is
false.
booleanenableSyncInteractionsPref
Indicates whether automatic generation of loan applicant records for
new residential loan applications that are associated with person
booleanloanApplicantAddressAutoCreation
accounts is enabled for your org. The default is false. This field is
available in editions where Financial Services Cloud is enabled.
Available in API version 51.0 and later.
Indicates whether automatic generation of loan applicant address
records for new residential loan applications that are associated with
booleanloanApplicantAutoCreation
person accounts is enabled for your org. The default is false. This
field is available in editions where Financial Services Cloud is enabled.
Available in API version 51.0 and later.
Indicates whether a user can edit a residential loan application only
if they have edit access on the account (true) or not (false). The
default value is false.
booleanrlaEditIfAccHasEdit
Indicates whether you can convert RBL rules into Data Processing
Engine definitions for faster calculations. The default is false.
booleantransformRBLtoDPE
Fields for Health Cloud
DescriptionField
Type
Field Name
Indicates whether Clinical Data Model is enabled for your org. The
default is false. Available in API version 51.0 and later.
booleanenableClinicalDataModel
Indicates whether Contact Center for Health Cloud app is enabled for
your org. The default is false. Available in API version 56.0 and later.
booleanenableContactCenterAccess
Indicates whether Care Coordination for Slack app is enabled for your
org. Available in API version 56.0 and later.
booleanenableCareMgmtSlackAccess
Indicates whether Custom Flows on Expiry page for Health Cloud app
is enabled for your org. Available in API version 56.0 and later.
booleanenableCustomFlowsOnExpiryPage
Indicates whether Custom Flows on Cycle Count page for Health Cloud
app is enabled for your org. Available in API version 56.0 and later.
booleanenableCustomFlowsOnCycleCount
Indicates whether Multiple Care Program Enrollee is enabled for your
org. Available in API version 49.0 and later.
booleanenableMultipleCareProgramEnrolleeOrgPref
1748
IndustriesSettingsMetadata Types
DescriptionField
Type
Field Name
Indicates whether the Intelligent Sales features are enabled.booleanenableMedicalDeviceEnabled
Indicates whether provider data search is synced every six hours. The
default is false. This field is available in editions where Health Cloud
is enabled.
booleanenableProviderSearchSyncOrgPref
Indicates whether the visit data model is enabled.booleanenableVisitInventoryEnabled
Fields for Life Sciences Cloud
DescriptionField
Type
Field Name
Indicates whether Clinical Trial Management and its data model is
enabled for your org (true) or not (false). Using this feature,
booleanenableLifeSciencesClinialTrailManagement
organizations can design and execute clinical trials and manage trial
participant journeys. The default value is false. Available in API
version 61.0 and later.
Indicates whether Adverse Events and its data model is enabled for
your org (true) or not (false). The default value is false.
Available in API version 61.0 and later.
booleanenableAdverseEvents
Indicates whether Research Study Randomization is enabled for your
org (true) or not (false). Using this feature, users can design and
booleanenableTrialManagementRandomization
run randomization procedures for their clinical trials. The default value
is false. Available in API version 61.0 and later.
Fields for Automotive Cloud
DescriptionField
Type
Field Name
Indicates whether Criteria-Based Search and Filter is enabled for your
org. The default is false. This field is available in editions where
Automotive Cloud is enabled.
booleanenableCriteriaBasedSearchAndFilter
Fields for Net Zero Cloud
DescriptionField Name
Field Type
boolean
enableGnrcDisclsFrmwrk
1749
IndustriesSettingsMetadata Types
DescriptionField Name
Description
Indicates whether the Industries Disclosure and Compliance Hub feature
is enabled (true) or not (false) for your org. The default is false.
Available in API version 57.0 and later in editions where Disclosure and
Compliance Hub is enabled.
Field Type
boolean
enableMaterialityAssessment
Description
Indicates whether the Manage Materiality Assessments feature is enabled
for your org. The default is false. Available in API version 59.0 and later
in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableNZCMngEsgPgm
Description
Indicates whether the Manage Environmental, Social, and Governance
Programs feature is enabled for your org. The default is false. Available
in API version 59.0 and later in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCAssignFootprint
Description
Indicates whether the Assign Carbon Footprint to Energy Use Records
feature is enabled for your org. The default is false. Available in API
version 54.0 and later in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCBEIEnabled
Description
Indicates whether the Manage Building Energy Intensity feature is enabled
for your org. The default is false. Available in API version 54.0 and later
in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCCarbonAccounting
Description
Indicates whether the Manage Carbon Accounting feature is enabled for
your org. The default is false. Available in API version 54.0 and later in
editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCCarbonCreditAlloc
1750
IndustriesSettingsMetadata Types
DescriptionField Name
Description
Indicates whether the Allocate Carbon Credits to offset the unavoidable
emissions feature is enabled for your org. The default is false. Available
in API version 56.0 and later in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCCreateFootprint
Description
Indicates whether the Auto-Create Carbon Footprints feature is enabled
for your org. The default is false. Available in API version 54.0 and later
in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCDGF
Description
Indicates whether the Manage Data Gaps feature is enabled for your org.
The default is false. Available in API version 54.0 and later in editions
where Net Zero Cloud is enabled.
Field Type
boolean
enableSCExpansionUseCase
Description
Indicates whether the Manage Carbon Accounting for Extended
Organizational Boundaries feature is enabled for your org. The default is
false. Available in API version 57.0 and later in editions where Net Zero
Cloud is enabled.
Field Type
boolean
enableSCExternalEngMgmt
Description
Indicates whether the Manage Supplier Sustainability Data feature is
enabled for your org. The default is false. Available in API version 54.0
and later in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCEmssnsForecasting
Description
Indicates whether the Manage Carbon Emissions Forecast feature is
enabled for your org. The default is false. Available in API version 54.0
and later in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCSNGManagement
1751
IndustriesSettingsMetadata Types
DescriptionField Name
Description
Indicates whether the Manage Social and Governance feature is enabled
for your org. The default is false. Available in API version 57.0 and later
in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCScope3HubEnabled
Description
Indicates whether the Manage Scope 3 Procurement Hub feature is
enabled for your org. The default is false. Available in API version 54.0
and later in editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCTargetSetting
Description
Indicates whether the Manage Emissions Target feature is enabled for
your org. The default is false. Available in API version 54.0 and later in
editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCWasteManagement
Description
Indicates whether the Manage Waste-Related Data feature is enabled for
your org. The default is false. Available in API version 54.0 and later in
editions where Net Zero Cloud is enabled.
Field Type
boolean
enableSCWaterManagement
Description
Indicates whether the Manage Water-Related Data feature is enabled for
your org. For example, water consumption, withdrawal, and discharge.
The default is false. Available in API version 56.0 and later in editions
where Net Zero Cloud is enabled.
Field Type
boolean
enableSustainabilityCloud
Description
Indicates whether the Net Zero Cloud feature is enabled for your org. The
default is false. Available in API version 54.0 and later in editions where
Net Zero Cloud is enabled.
1752
IndustriesSettingsMetadata Types
Fields for Public Sector Solutions Features
Industries settings for Public Sector Solutions features are available in API version 57.0 and later.
DescriptionField
Type
Field Name
Indicates whether the benefit and goal sharing feature is enabled for
your org. The default is false. Available in editions where Public
Sector Solutions is enabled.
booleanenableBenefitAndGoalSharingPref
Indicates whether the program and benefit management feature is
enabled for your org. The default is false. Available in editions
where Public Sector Solutions is enabled.
booleanenableBenefitManagementPreference
Indicates whether the care plan feature is enabled for your org. The
care plan feature lets you create and edit care plans. The default is
false. Available in editions where Public Sector Solutions is enabled.
This field is avaiable in API version 58.0 and later.
booleanenableCarePlansPreference
Fields for Salesforce Scheduler
DescriptionField TypeField Name
Indicates whether to schedule appointments for service resources based
on appointment distribution (true) or not (false). The default value
is false. Available in API version 52.0 and later.
booleanappointmentDistributionOrgPref
Indicates whether to use a background process to calculate the usage
of service resources from service appointments (true) or not (false).
The default value is false. Available in API version 52.0 and later.
booleancaptureResourceUtilizationOrgPref
Indicates whether to enable Salesforce Scheduler to consider service
resource records with Agent resource type (true) or not (false).
booleanenableAnyResourceTypeOrgPref
Before enabling this setting, create a service resource record as Main for
each user, or update one of the service resource records as Main for each
user. The default value is false. Available in API version 57.0 and later.
Indicates whether to use engagement channels for setting up shifts,
work types, and booking a service appointment (true) or not (false).
booleanenableAppFrmAnywhereOrgPref
The default value is false. Available in API version 56.0 and later. See
the prerequisites before you enable this setting.
Indicates whether Salesforce Scheduler service appointments are added
to users' Salesforce calendars. For example, if set to false, users dont
booleanenableBlockResourceAvailabilityOrgPref
see their service appointments on their calendars. The default is false.
Available in API version 47.0 and later.
This setting is used in Financial Services Cloud.
1753
IndustriesSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether users can group individual events, and view the list
of all attendees under a single event true or not false. The default
booleanenableCreateMultiAttendeeEventOrgPref
is false. See the prerequisites before you enable this setting. Available
in API version 55.0 and later.
This setting is used in Financial Services Cloud.
Indicates whether users can manage drop-in participants (true) or not
(false). The default value is false. Available in API version 58.0 and
later. See the prerequisite before you enable this setting.
booleanenableDropInAppointmentsOrgPref
Indicates whether skill and skill level matching is enabled for service
resources that are assigned to waitlists for a service territory (true) or
booleanenableDropInSkillMatchingOrgPref
not (false). The default value is false. Available in API version 58.0
and later.
Indicates whether users can add Salesforce Scheduler service
appointments to their Salesforce calendars. The default is false.
Available in API version 47.0 and later.
This setting is used in Financial Services Cloud.
booleanenableEventManagementOrgPref
Indicates whether to publish high-volume platform events when users
create, update, or delete service appointments in Salesforce Scheduler
booleanenableEventWriteOrgPref
(true) or not (false). If enabled, write these events to an external
system to update it with Salesforce Scheduler service appointments. The
default value is false. Available in API version 49.0 and later.
Indicates whether the multiple topics for shifts feature is enabled (true)
or disabled (false). The default value is false. Available in API
version 56.0 and later. See the prerequisite before you enable this setting.
booleanenableMultipleTopicsForShiftsOrgPref
Indicates whether users can add multiple service resources to a service
appointment. The default is false Available in API version 47.0 and
later.
This setting is used in Financial Services Cloud.
booleanenableMultiResourceOrgPref
Indicates whether users can add multiple service appointments to a
single time slot for a service resource. If set to false, concurrent time
booleanenableOverbookingOrgPref
slots are visible, but can't be modified. The default is false Available
in API version 47.0 and later.
This setting is used in Financial Services Cloud.
Indicates whether to share service appointments with assigned resources
(true) or not (false). The default value is false. Available in API
version 55.0 and later.
booleanenableShareSaWithArOrgPref
Indicates whether to use Salesforce Scheduler to manage Health Cloud
appointments (true) or not (false). The default value is false.
booleanenableTopicOrTemplate
1754
IndustriesSettingsMetadata Types
DescriptionField TypeField Name
You must enable the enableTopicTimeSlot field before enabling
this setting. Available in API version 52.0 and later.
Indicates whether to set operating hours for Service Territory Members
for Work Type Groups (true) or not (false). The default value is
false. Available in API version 52.0 and later.
booleanenableTopicTimeSlot
See the prerequisites before you enable this setting. After you enable
this setting, you can't disable it.
Fields for Education Cloud
DescriptionField
Type
Field Name
Indicates whether Education Cloud is enabled in Salesforce (true) or
not (false). The default is false. Available in API version 57.0 and
later in Developer, Enterprise, Performance and Unlimited editions.
booleanenableEducationCloud
Indicates whether Student Success is enabled in Salesforce (true) or
not (false). The default is false. Available in API version 58.0 and
later in Developer, Enterprise, Performance and Unlimited editions.
booleanenableStudentSuccess
Indicates whether Academic Operations is enabled in Salesforce (true)
or not (false). The default is false. Available in API version 59.0 and
later in Developer, Enterprise, Performance and Unlimited editions.
booleanenableAcademicOperations
Indicates whether Alumni Relations is enabled (true) or not (false).
The default is false. Available in API version 59.0 and later in
Developer, Enterprise, Performance and Unlimited editions.
booleanenableAlumniRelations
Indicates whether Mentoring is enabled (true) or not (false). The default
is false. Available in API version 60.0 and later in Developer,
Enterprise, Performance and Unlimited editions.
booleanenableMentoring
Declarative Metadata Sample Definition
The following is an example of an Industries.Settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<IndustriesSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCreateMultiAttendeeEventOrgPref>true</enableCreateMultiAttendeeEventOrgPref>
<enableEventManagementOrgPref>true</enableEventManagementOrgPref>
<enableMultiResourceOrgPref>false</enableMultiResourceOrgPref>
<enableOverbookingOrgPref>true</enableOverbookingOrgPref>
<enableBlockResourceAvailabilityOrgPref>true</enableBlockResourceAvailabilityOrgPref>
<enableAccessToMasterListOfCoverageTypes>true</enableAccessToMasterListOfCoverageTypes>
1755
IndustriesSettingsMetadata Types
<enableManyToManyRelationships>true</enableManyToManyRelationships>
<allowMultipleProducersToWorkOnSamePolicy>false</allowMultipleProducersToWorkOnSamePolicy>
<enableMortgageRlaTotalsOrgPref>true</enableMortgageRlaTotalsOrgPref>
<enableObjectDetection>true</enableObjectDetection>
<enableProviderSearchSyncOrgPref>true</enableProviderSearchSyncOrgPref>
<enableReferralScoring>true</enableReferralScoring>
<enableFSCInsuranceReport>true</enableFSCInsuranceReport>
<enableSCCarbonAccounting>true</enableSCCarbonAccounting>
<enableBenefitAndGoalSharingPref>true</enableBenefitAndGoalSharingPref>
<enableBenefitManagementPreference>true</enableBenefitManagementPreference>
<enableCarePlansPreference>true</enableCarePlansPreference>
</IndustriesSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Industries</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
InterestTaggingSettings
Represents settings for Interest Tags, which your users can add to client records to capture client needs, interests, and prospecting
opportunities.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
InterestTaggingSettings values are stored in the InterestTagging.settings file in the settings folder. The
.settings files are different from other named components, because theres only one settings file for each settings component.
Version
InterestTaggingSettings components are available in API version 54.0 and later.
Special Access Rules
Before you enable Interest Tags, you must enable Topics for Financial Services Cloud objects and assign Interest Tags permissions to
users. See Interest Tags.
1756
InterestTaggingSettingsMetadata Types
Fields
DescriptionField Name
Field Type
boolean
enableInterestTagging
Description
Enables Interest Tags in your org when set to true.
Declarative Metadata Sample Definition
The following is an example of an InterestTaggingSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<InterestTaggingSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableInterestTagging>true</enableInterestTagging>
</InterestTaggingSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>InterestTagging</members>
<name>Settings</name>
</types>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
InventorySettings
Represents options for the Salesforce Omnichannel Inventory product.This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
InventorySettings values are stored in the Inventory.settings file in the settings directory. The .settings files are
different from other named components because there is only one settings file for each settings component.
Version
Inventory settings are available in API version 51 and later.
1757
InventorySettingsMetadata Types
Special Access Rules
This metadata type is only accessible by developers and customers using Salesforce Omnichannel Inventory.
Fields
DescriptionField TypeField Name
Indicates whether Omnichannel Inventory is allowed to exchange
inventory data with B2C Commerce (true) or not (false). The default
value is false.
booleanenableOCIB2CIntegration
Indicates whether Omnichannel Inventory features are enabled (true)
or not (false). The default value is false.
booleanenableOmniChannelInventory
Declarative Metadata Sample Definition
The following is an example of an InventorySettings component.
<?xml version="1.0" encoding="UTF-8"?>
<InventorySettings xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<enableOmniChannelInventory>true</enableOmniChannelInventory>
<enableOCIB2CIntegration>true</enableOCIB2CIntegration>
</InventorySettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Inventory</members>
<name>Settings</name>
</types>
<version>51.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
InvLatePymntRiskCalcSettings
Represents the orgs settings to identify the level of risks associated with payment of invoices.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
1758
InvLatePymntRiskCalcSettingsMetadata Types
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
InvLatePymntRiskCalcSettings values are stored in the InvLatePymntRiskCalc.settings file in the settings
folder. The .settings files are different from other named components, because theres only one settings file for each settings
component.
Version
InvLatePymntRiskCalcSettings components are available in API version 55.0 and later.
Fields
DescriptionField Name
Field Type
boolean
enableInvLatePymntRiskCalc
Description
Indicates the level of risk associated with payment of
an invoice when the value is true.
Declarative Metadata Sample Definition
Theis example shows a sample InvLatePymntRiskCalcSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<InvLatePymntRiskCalcSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableInvLatePymntRiskCalc>true</enableInvLatePymntRiskCalc>
</InvLatePymntRiskCalcSettings>
This example shows a sample package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>InvLatePymntRiskCalc</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
1759
InvLatePymntRiskCalcSettingsMetadata Types
InvocableActionSettings
Represents the orgs invocable action settings, such as whether partial save is allowed.This type extends the Metadata metadata type
and inherits its fullName field.
File Suffix and Directory Location
InvocableActionSettings values are stored in the InvocableAction.settings file in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
InvocableActionSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether partial save is enabled for most invocable actions that
are invoked via REST API and executed in bulk. When the value is true,
booleanisPartialSaveAllowed
Salesforce tries three times to execute invocable actions that run
successfully and rolls back only the invocable actions that fail to execute.
This functionality is called partial save. If the field is set to false, if one
invocable action fails, Salesforce rolls back other invocable actions in the
same transaction and the entire transaction fails.
Corresponds to the Enable Partial Save for Invocable Actions critical
update.
Declarative Metadata Sample Definition
The following is an example of the InvocableAction.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<InvocableActionSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<isPartialSaveAllowed>false</isPartialSaveAllowed>
</InvocableActionSettings>
Example Package Manifest
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>InvocableAction</members>
<name>Settings</name>
</types>
1760
InvocableActionSettingsMetadata Types
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
KnowledgeSettings
Represents the metadata used to manage settings for Salesforce Knowledge.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
KnowledgeSettings values are stored in a single file named Knowledge.settings in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
KnowledgeSettings is available in API version 27.0 and later.
Fields
DescriptionField TypeField Name
Represents the metadata used to manage settings
for Salesforce Knowledge and Answers.
KnowledgeAnswerSettingsanswers
Represents the metadata used to manage settings
for Salesforce Knowledge and Cases.
KnowledgeCaseSettingscases
Required. The default language for Salesforce
Knowledge. Use the abbreviation for the
stringdefaultLanguage
language, for example, en_US for United States
English.
Indicates whether tracking for case deflection via
Chatter is enabled (true) or not (false).
booleanenableChatterQuestionKBDeflection
Indicates whether users can create and edit
articles on the articles tab (true) or not
(false).
booleanenableCreateEditOnArticlesTab
Indicates whether connecting to external media
is enabled (true) or not (false).
booleanenableExternalMediaContent
1761
KnowledgeSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether standard Salesforce sharing is
enabled (true) or not (false).
booleanenableKbStandardSharing
Indicates whether Salesforce Knowledge is
enabled (true) or not (false). This field is
false by default.
booleanenableKnowledge
Indicates whether a user can create an article from
a case (true) or not (false). (Classic only)
booleanenableKnowledgeAgentContribution
Indicates whether text snippet highlights in
Salesforce Knowledge search results are enabled
booleanenableKnowledgeArticleTextHighlights
(true) or not (false). This field is true by
default. Available in API version 47.0 and later.
Indicates whether a user can create an article from
a reply (true) or not (false). (Classic Only)
booleanenableKnowledgeAnswersPromotion
Indicates whether creating a list of cases linked
to an article is enabled (true) or not (false).
(Classic Only)
booleanenableKnowledgeCaseRL
Indicates whether auto-complete for keywords
is enabled (true) or not (false) when
booleanenableKnowledgeKeywordAutoComplete
searching Salesforce Knowledge. This field is
true by default. Available in API version 47.0
and later.
Indicates whether auto-complete for article titles
is enabled (true) or not (false) when
booleanenableKnowledgeTitleAutoComplete
searching Salesforce Knowledge. This field is
true by default. Available in API version 47.0
and later.
Indicates whether rich text fields are enabled for
editing when an article loads in Lightning
booleanenableLightningKbAutoLoadRichTextField
Knowledge (true) or not (false). This field is
false by default. Available in API version 47.0
and later.
Indicates whether Lightning Knowledge is
enabled (true) or not (false).
booleanenableLightningKnowledge
A list of languages enabled for Salesforce
Knowledge.
KnowledgeLanguageSettingslanguages
Indicates whether article summaries appear in
the Customer Portal (true) or not (false).
booleanshowArticleSummariesCustomerPortal
Indicates whether article summaries appear in
the internal knowledge base (true) or not
(false).
booleanshowArticleSummariesInternalApp
1762
KnowledgeSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether article summaries appear in
the partner portal (true) or not (false).
booleanshowArticleSummariesPartnerPortal
Indicates whether validation status appears on
articles (true) or not (false).
booleanshowValidationStatusField
Represents the metadata used to manage settings
for the case fields used to suggest articles for
cases. Available in API version 37.0 and later.
KnowledgeSuggestedArticlesSettingssuggestedArticles
When true, enables users to vote for a product
or feature that uses Vote, such as Articles in
Knowledge. Available in API version 50.0 and later.
booleanvotingEnabled
KnowledgeAnswerSettings
Represents the metadata used to manage settings for Salesforce Knowledge and Answers.
DescriptionField TypeField Name
Specifies the username an article is assigned to from Answers.stringassignTo
The default article type for articles created from Answers. Uses the API
name of the article type.
stringdefaultArticleType
Indicates whether users can create articles from Answers (true) or not
(false).
booleanenableArticleCreation
KnowledgeCaseSettings
Represents the metadata used to manage settings for Salesforce Knowledge and Cases.
DescriptionField TypeField Name
The profile used to create a PDF of an article from
Cases.
stringarticlePDFCreationProfile
Represents the metadata used to manage settings
for Salesforce Knowledge and Sites.
KnowledgeSitesSettingsarticlePublicSharingSites
Represents the metadata used to manage settings
for Salesforce Knowledge and Experience Cloud
sites.
KnowledgeSitesSettingsarticlePublicSharingCommunities
Represents the metadata used to manage settings
for Salesforce Knowledge and Sites with Chatter
Answers.
KnowledgeSitesSettingsarticlePublicSharingSitesChatterAnswers
Specifies the username an article is assigned to from
Cases.
stringassignTo
1763
KnowledgeSettingsMetadata Types
DescriptionField TypeField Name
Specifies the Apex class used for customization.stringcustomizationClass
The default article type for articles created from
Cases.
stringdefaultContributionArticleType
Indicates the rich text editor type. Valid values are:KnowledgeCaseEditor
(enumeration of type string)
editor
simple
standard
Indicates whether users can create articles from
Cases (true) or not (false). Controls whether
other fields on KnowledgeCaseSettings can be set.
booleanenableArticleCreation
Indicates whether articles can be shared via a public
site (URL) from Cases (true) or not (false).
booleanenableArticlePublicSharingSites
Indicates whether Case Data Category mapping is
enabled (true) or not (false).
booleanenableCaseDataCategoryMapping
Indicates whether a profile is used to create a PDF
of an article from Cases (true) or not (false).
booleanuseProfileForPDFCreation
KnowledgeSitesSettings
Represents the metadata used to manage settings for Salesforce Knowledge and Sites.
DescriptionField TypeField Name
Specifies the site used for Salesforce Knowledge and Sites.string[]site
KnowledgeLanguageSettings
A list of languages enabled for Salesforce Knowledge. KnowledgeLanguageSettings is available in API version 28.0 and later.
DescriptionField TypeField Name
Represents the metadata used to manage settings for
the languages enabled for Salesforce Knowledge.
KnowledgeLanguage[]language
KnowledgeLanguage
Represents the metadata used to manage settings for the languages enabled for Salesforce Knowledge. KnowledgeLanguage is available
in API version 28.0 and later.
DescriptionField TypeField Name
Indicates whether the language is enabled (true) or
not (false).
booleanactive
1764
KnowledgeSettingsMetadata Types
DescriptionField TypeField Name
The default assignee for articles in the language.stringdefaultAssignee
Indicates the default assignee type. Valid values are:KnowledgeLanguageLookupValueType
(enumeration of type string)
defaultAssigneeType
User
Queue
The default reviewer for articles in the language.stringdefaultReviewer
Indicates the default reviewer type. Valid values are:KnowledgeLanguageLookupValueType
(enumeration of type string)
defaultReviewerType
User
Queue
The code for the language name, for example: English
is en. See What languages does Salesforce support?
stringname
in the Salesforce Help for a list of supported languages
and their codes.
KnowledgeSuggestedArticlesSettings
Represents the metadata used to manage settings for the articles suggested for cases, work orders, and work order line items. The Work
Order and Work Order Line Item objects must be enabled in the org to use the associated fields.
DescriptionField TypeField Name
Represents a list of the case fields used to suggest
articles for the case.
KnowledgeCaseFieldsSettingscaseFields
Indicates whether case content is used to suggest
articles for cases (true) or not (false).
booleanuseSuggestedArticlesForCase
Represents a list of the work order fields used to
suggest articles for the work order.
KnowledgeWorkOrderFieldsSettingsworkOrderFields
Represents a list of the work order line item fields used
to suggest articles for the work order line item.
KnowledgeWorkOrderLineItemFieldsSettingsworkOrderLineItemFields
KnowledgeCaseFieldsSettings
Represents a list of the case fields used to suggest articles for the case. Available in API version 37.0 and later.
DescriptionField TypeField Name
Specifies the names of the case fields used to suggest
articles for the case.
KnowledgeCaseField[]field
1765
KnowledgeSettingsMetadata Types
KnowledgeCaseField
Represents the name of the case field used to suggest articles for the case. Available in API version 37.0 and later.
DescriptionField TypeField Name
Specifies the name of the case field used to suggest
articles for the case.
stringname
KnowledgeWorkOrderFieldsSettings
Represents a list of the work order fields used to suggest articles for the work order. Available in API version 39.0 and later.
DescriptionField TypeField Name
Specifies the names of the work order fields used to
suggest articles for the work order.
KnowledgeWorkOrderField[]field
KnowledgeWorkOrderField
Represents the name of the work order field used to suggest articles for the work order. Available in API version 39.0 and later.
DescriptionField TypeField Name
Specifies the name of the work order field used to
suggest articles for the work order.
stringname
KnowledgeWorkOrderLineItemFieldsSettings
Represents a list of the work order line item fields used to suggest articles for the work order line item. Available in API version 39.0 and
later.
DescriptionField TypeField Name
Specifies the names of the work order line item fields
used to suggest articles for the work order line item.
KnowledgeWorkOrderLineItemField[]field
KnowledgeWorkOrderLineItemField
Represents the name of the work order line item field used to suggest articles for the work order line item. Available in API version 39.0
and later.
DescriptionField TypeField Name
Specifies the name of the work order line item field
used to suggest articles for the work order line item.
stringname
1766
KnowledgeSettingsMetadata Types
Declarative Metadata Sample Definition
This is a sample Knowledge settings file.
<?xml version="1.0" encoding="UTF-8"?>
<KnowledgeSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<answers>
<enableArticleCreation>false</enableArticleCreation>
</answers>
<cases>
<articlePDFCreationProfile>partner portal knowledge
profile</articlePDFCreationProfile>
<articlePublicSharingSites>
<site>KnowledgeSite</site>
<site>PKB2Site</site>
<site>ChatterAnswersSite</site>
</articlePublicSharingSites>
<articlePublicSharingSitesChatterAnswers>
<site>ChatterAnswersSite</site>
</articlePublicSharingSitesChatterAnswers>
<assignTo>[email protected]</assignTo>
<defaultContributionArticleType>Support</defaultContributionArticleType>
<editor>simple</editor>
<enableArticleCreation>true</enableArticleCreation>
<enableArticlePublicSharingSites>true</enableArticlePublicSharingSites>
<useProfileForPDFCreation>true</useProfileForPDFCreation>
</cases>
<defaultLanguage>ja</defaultLanguage>
<enableCreateEditOnArticlesTab>true</enableCreateEditOnArticlesTab>
<enableExternalMediaContent>true</enableExternalMediaContent>
<enableKnowledge>true</enableKnowledge>
<showArticleSummariesCustomerPortal>true</showArticleSummariesCustomerPortal>
<showArticleSummariesInternalApp>true</showArticleSummariesInternalApp>
<showArticleSummariesPartnerPortal>true</showArticleSummariesPartnerPortal>
<showValidationStatusField>true</showValidationStatusField>
<suggestedArticles>
<caseFields>
<field>
<name>Subject</name>
</field>
<field>
<name>SuppliedEmail</name>
</field>
</caseFields>
<useSuggestedArticlesForCase>true</useSuggestedArticlesForCase>
</suggestedArticles>
</KnowledgeSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1767
KnowledgeSettingsMetadata Types
LanguageSettings
Represents an organizations language settings. Language settings control end-user language selection, locale formats, and translation
options. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
LanguageSettings values are stored in the Language.settings file in the settings directory. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
LanguageSettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the ICU format is enabled for the en_CA locale (true)
or not (false). This field has a default value of true for orgs created
booleanenableCanadaIcuFormat
in API version 47.0 and later. Orgs created prior to API version 47.0 have
a default of false.
Indicates whether data translation is enabled (true) or not (false).
This field has a default value of false. This field is available in API
version 49.0 and later.
booleanenableDataTranslation
Indicates whether end-user languages are enabled (true) or not
(false). This field has a default value of false.
booleanenableEndUserLanguages
Indicates whether date and currency are formatted with the International
Components for Unicode (true) or not (false). This field has a default
value of false.
See Go Global with New International Locale Formats for more
information.
booleanenableICULocaleDateFormat
Indicates whether users can filter query results, regardless of the locale
or language associated with the user (true) or if they cant filter results
booleanenableLocaleInsensitiveFiltering
(false). This field has a default value of false. This field is available
in API version 56.0 and later.
Indicates whether local name fields can be defined for standard objects
(true) or not (false). This field has a default value of false. This
field is available in API version 48.0 and later.
booleanenableLocalNamesForStdObjects
Indicates whether platform-only languages are enabled (true) or not
(false). This field has a default value of false. Setting this field to
true also sets enableEndUserLanguages to true.
booleanenablePlatformLanguages
1768
LanguageSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the Translation Workbench is enabled (true) or not
(false). This field has a default value of false.
booleanenableTranslationWorkbench
Indicates whether translation follows the language fallback rule (true)
or returns the primary label (false). This field has a default value of
true.
booleanuseLanguageFallback
Declarative Metadata Sample Definition
The following is an example of a LanguageSettings file.
<?xml version="1.0" encoding="UTF-8"?>
<LanguageSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCanadaIcuFormat>true</enableCanadaIcuFormat>
<enableDataTranslation>false</enableDataTranslation>
<enableEndUserLanguages>true</enableEndUserLanguages>
<enableICULocaleDateFormat>true</enableICULocaleDateFormat>
<enableLocalNamesForStdObjects>false</enableLocalNamesForStdObjects>
<enablePlatformLanguages>false</enablePlatformLanguages>
<enableTranslationWorkbench>true</enableTranslationWorkbench>
<useLanguageFallback>true</useLanguageFallback>
</LanguageSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Language</members>
<name>Settings</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LeadConfigSettings
Represents configuration settings for Leads that control how they are converted and displayed, and what actions are available. This type
extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1769
LeadConfigSettingsMetadata Types
File Suffix and Directory Location
LeadConfigSettings values are stored in the LeadConfig.settings file in the settings folder. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
LeadConfigSettings is available in API versions 47.0 and later.
Fields
DescriptionField TypeField Name
Configures whether tasks without a subject are created during lead
conversion. If true, tasks are created when the default subject field has
no value. If false, only tasks with a subject are created.
booleandoesEnableLeadConvertDefaultSubjectBlankTaskCreation
Hides the opportunity section of the Convert Lead window during the
conversion of a lead.
Default value is false.
booleandoesHideOpportunityInConvertLeadWindow
If your organization uses record types, the lead status changes to the
lead status value of the new owner's record type during conversion. Set
booleandoesPreserveLeadStatus
doesPreserveLeadStatus to true to preserve the value of
the lead status during conversion.
Orgs that use record types can create a lead process that allows different
lead status values for different record types. If
doesPreserveLeadStatus is false, the lead status might
change during lead conversion if the new owner's record type has a
different default value for lead status.
Default value is true.
Prevents an opportunity from being created when the lead is converted.
Default value is false.
booleandoesSelectNoOpportunityOnConvertLead
Enables field history tracking for leads. When field history tracking is
enabled, users can choose the fields they want to track.
Default value is false.
booleandoesTrackHistory
Lets a user convert leads on their mobile devices. The Convert Lead
action converts qualified leads to contacts.
Default value is true.
booleanenableConversionsOnMobile
Lets a user merge and delete leads. The user must also have the Public
Read/Write/Transfer permission.
Default value is false.
booleanenableOrgWideMergeAndDelete
1770
LeadConfigSettingsMetadata Types
DescriptionField TypeField Name
Enforces validation rules when converting leads.
Default value is true.
booleanshouldLeadConvertRequireValidation
Declarative Metadata Sample Definition
The following is an example of the LeadConfigSettings type:
<?xml version="1.0" encoding="UTF-8"?>
<LeadConfigSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<doesEnableLeadConvertDefaultSubjectBlankTaskCreation>true</doesEnableLeadConvertDefaultSubjectBlankTaskCreation>
<enableConversionsOnMobile>true</enableConversionsOnMobile>
<shouldLeadConvertRequireValidation>true</shouldLeadConvertRequireValidation>
<enableOrgWideMergeAndDelete>false</enableOrgWideMergeAndDelete>
<doesPreserveLeadStatus>true</doesPreserveLeadStatus>
<doesSelectNoOpportunityOnConvertLead>false</doesSelectNoOpportunityOnConvertLead>
<doesHideOpportunityInConvertLeadWindow>false</doesHideOpportunityInConvertLeadWindow>
<doesTrackHistory>false</doesTrackHistory>
</LeadConfigSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Account settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<!--
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>LeadConfig</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
LeadConvertSettings
Represents an organizations custom field mappings for lead conversion. Custom fields can be mapped from Leads to Accounts, Contacts,
and Opportunities. Options for creating opportunities during lead conversion can also be specified. This type extends the Metadata
metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1771
LeadConvertSettingsMetadata Types
File Suffix and Directory Location
LeadConvertSettings components have the suffix LeadConvertSetting and are stored in the LeadConvertSettings
folder.
Version
LeadConvertSettings is available in API versions 39.0 and later.
Fields
DescriptionField Name
Field Type
boolean
allowOwnerChange
Description
Indicates whether to include the Record Owner field in the Convert Lead dialog box
(true) or not (false).
Field Type
ObjectMapping[]
objectMapping
Description
A set of custom field mappings between objects. Up to three objectMapping
types can be declaredone each for account, contact, and opportunity.
Field Type
VisibleOrRequired (enumeration of type string)
opportunityCreationOptions
Description
This field determines whether the Opportunity field is visible or required in the
Convert Lead dialog box.
Values are:
VisibleOptionalThe Opportunity field is included in the dialog box but
not required. A new opportunity is created if the user enters an opportunity name.
This is the default value.
VisibleRequiredThe Opportunity field is included in the dialog box
and is required. A new opportunity is created based on the name the user enters.
NotVisibleThe Opportunity field is not included in the dialog box. No
opportunity is created.
ObjectMapping
Represents a custom field mapping between two objects.
1772
LeadConvertSettingsMetadata Types
DescriptionField Name
Field Type
string
inputObject
Description
Required.
The name of the object type containing the source fields for mapping. The value is
always Lead.
Field Type
ObjectMappingField[]
mappingFields
Description
A set of input and output field names of the custom fields to be mapped.
Field Type
string
outputObject
Description
Required.
The object type receiving data during lead conversion.
Account
Contact
Opportunity
ObjectMappingField
Represents custom field names to be mapped between objects.
DescriptionField Name
Field Type
string
inputField
Description
Required.
The name of a custom lead field supplying source data during lead conversion.
Field Type
string
outputField
Description
Required.
The name of a custom account, contact, or opportunity field that will receive data from
source field named in the accompanying inputField entry.
1773
LeadConvertSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of the LeadConvertSettings type:
<?xml version="1.0" encoding="UTF-8"?>
<LeadConvertSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<allowOwnerChange>false</allowOwnerChange>
<objectMapping>
<inputObject>Lead</inputObject>
<mappingFields>
<inputField>custom_lead_field_1</inputField>
<outputField>custom_account_field_1</outputField>
</mappingFields>
<mappingFields>
<inputField>custom_lead_field_2</inputField>
<outputField>custom_account_field_2</outputField>
</mappingFields>
<mappingFields>
<inputField>custom_lead_field_3</inputField>
<outputField>custom_account_field_3</outputField>
</mappingFields>
<outputObject>Account</outputObject>
</objectMapping>
<objectMapping>
<inputObject>Lead</inputObject>
<mappingFields>
<inputField>custom_lead_field_4</inputField>
<outputField>custom_opportunity_field_1</outputField>
</mappingFields>
<outputObject>Opportunity</outputObject>
</objectMapping>
<opportunityCreationOptions>VisibleOptional</opportunityCreationOptions>
</LeadConvertSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LiveAgentSettings
Represents an organizations Chat settings, such as whether Chat is enabled. This type extends the Metadata metadata type and inherits
its fullName field.
File Suffix and Directory Location
LiveAgentSettings values are stored in the LiveAgent.settings file in the settings directory. The .settings files are
different from other named components because theres only one settings file for each settings component.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1774
LiveAgentSettingsMetadata Types
Version
LiveAgentSettings is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the findOrCreate method of the
Chat API is enabled for agents (true) or not (false).
Available in API version 53.0 and later.
booleanenableChatFindOrCreateEnable
Indicates whether Chat is enabled (true) or not (false).booleanenableLiveAgent
Indicates whether Quick Text is enabled (true) or not
(false).
booleanenableQuickTextEnabled
Indicates the priority level of a Chat.integerpriority
Declarative Metadata Sample Definition
This is a sample Chat settings file.
<?xml version="1.0" encoding="UTF-8"?>
<LiveAgentSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableLiveAgent>true</enableLiveAgent>
</LiveAgentSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Service Cloud Chat Developer Guide: findOrCreate
LightningExperienceSettings
Represents the settings that modify an orgs Lightning Experience configuration. This type extends the Metadata metadata type and
inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
A LightningExperienceSettings component has the suffix .settings and is stored in the settings folder. The .settings
files are different from other named components because there is only one settings file for each settings component.
1775
LightningExperienceSettingsMetadata Types
Version
LightningExperienceSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
If specified, indicates the API name of the custom
LightningExperienceTheme thats currently active in the org. If the field
stringactiveThemeName
isnt specified, then the org uses one of the built-in themes that Salesforce
provides. Custom themes are available in API version 48.0 and later.
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableAccessCheckCrucPref
Deprecated in API version 48.0 and later because the feature is no longer
available. This field corresponds to the API Only Users Can Access Only
booleanenableApiUserLtngOutAccessPref
Salesforce APIs critical update, which was enforced in Spring 20. If a user
has the API Only User permission, they can access Salesforce only via
APIs, regardless of their other permissions. This restriction already applied
to other Salesforce features, but the critical update enforced the
restriction in Lightning Out also.
Indicates whether Lightning Experience and other apps use a content
delivery network (CDN) to serve the static content for Lightning
booleanenableAuraCDNPref
Component framework. A CDN generally speeds up page load time, but
it also changes the source domain that serves the files. If your company
has IP range restrictions for content served from Salesforce, test
thoroughly before enabling this setting. The default is true.
Removed in API version 51.0 and later because the feature is no longer
available.
booleanenableAuraDepAccessChksCRUCPref
Indicates whether the Enable Secure Static Resources for Lightning
Components release update is enforced (true) or not (false). To
booleanenableAuraSecStaticResCRUCPref
improve security, this update serves all static resources from the
visualforce domain instead of the lightning domain. This
change prevents a script included in a static resource from accessing
the document in the lightning domain due to the same-origin
security policy. This field is available in API version 50.0 and later.
Reserved for future use.booleanenableErrorExperienceEnabled
Indicates whether users can send feedback to Salesforce from the mobile
app. The default is false.
booleanenableFeedbackInMobile
Reserved. Do not use.booleanenableGoogleSheetsForSfdcEnabled
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableIE11DeprecationMsgHidden
1776
LightningExperienceSettingsMetadata Types
DescriptionField TypeField Name
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableIE11LEXCrucPref
Indicates whether Learning Paths is enabled (true) or not (false).
The default is true. If false, you cant assign learning items to users,
booleanenableInAppLearning
and users cant view assigned learning items in the Guidance Center or
access Learning Home. This field is available in API version 54.0 and later.
See Learning Paths in Salesforce Help.
Indicates whether users see onboarding tips in the mobile app. The
default is false.
booleanenableInAppTooltips
Indicates whether Lightning Experience is turned on for iPad Browsers
(true) or not (false). The default is false. See Give Users Access
to Lightning Experience on iPad Browsers (Beta) in Salesforce Help.
booleanenableLEXOnIpadEnabled
Indicates whether Salesforce Classic is turned off for your org (true) or
not (false). Removes the Switcher for all users in the org. The default
booleanenableLexEndUsersNoSwitching
is false. See Turn Off Salesforce Classic for Your Org in Salesforce Help.
This field is similar to enableUsersAreLightningOnly. If either
field is set to true, users are blocked from switching to Salesforce
Classic.
Indicates whether users are blocked from personalizing the Lightning
Experience navigation bar (true) or not (false). The default is
booleanenableNavPersonalizationOptOut
false (that is, users can personalize the navigation bar by default).
Salesforce recommends disabling personalization at the app level, not
the org level. See Configure User Interface Settings in Salesforce Help.
Indicates whether consecutive API navigation calls in Visualforce pages
are allowed (false) or blocked (true). The default is false.
booleanenableNoBackgroundNavigations
Indicates whether Quip is available for your org. This field is available in
API version 51.0 and later.
booleanenableQuip
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableRemoveThemeBrandBanner
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableS1BannerPref
Indicates whether all users can access the Salesforce mobile web view
from a supported mobile browser (true) or not (false). If false,
booleanenableS1BrowserEnabled
then users must access the Salesforce mobile full site view from a mobile
browser. Full site view doesnt have the full functionality of mobile web
view. Salesforce Classic and Lightning Experience arent supported on
mobile browsers.
Indicates whether Lightning Experience is turned on in the org (true)
or not (false). After its enabled, this setting cant be disabled via the
booleanenableS1DesktopEnabled
user interface or the API. See Turn on Lightning Experience for Your Org
in Salesforce Help.
1777
LightningExperienceSettingsMetadata Types
DescriptionField TypeField Name
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableS1UiLoggingEnabled
Reserved for internal use.booleanenableSidToken3rdPartyAuraApp
Deprecated in API version 50.0 and later because the feature is no longer
available.
booleanenableSkypeChatEnabled
Deprecated in API version 50.0 and later because the feature is no longer
available.
booleanenableSparkAllUsers
Deprecated in API version 50.0 and later because the feature is no longer
available.
booleanenableSparkConversationEnabled
Removed in API version 52.0 and later because the feature is no longer
available.
booleanenableSplitViewOnStandard
Indicates whether the Enable LWC Stacked Modals release update is
enabled (true) or not (false). For orgs created before Summer 24,
booleanenableStackedModalManagerEnabled
the default value is false. For orgs created in Summer 24 and later,
the default value is true. This field is available in API version 61.0 and
later.
Indicates whether the Try Lightning Experience Now prompt is hidden
from users (true) or not (false). The default is false. See Try
Lightning Experience Now Prompt in Salesforce Help.
booleanenableTryLightningOptOut
Deprecated in API version 47.0 and later because the feature is no longer
available.
booleanenableUseS1AlohaDesktop
Indicates whether Salesforce Classic is turned off for your org (true) or
not (false). Removes the Switcher for all users in the org. The default
booleanenableUsersAreLightningOnly
is false. This field is similar to
enableLexEndUsersNoSwitching. If either field is set to true,
users are blocked from switching to Salesforce Classic.
Deprecated in API version 50.0 and later because the feature is no longer
available.
booleanenableWebExEnabled
Deprecated in API version 50.0 and later because the feature is no longer
available.
booleanenableWebexAllUsers
Indicates whether all users can enable the Lightning Extension
Component Customization feature. If false, the feature is disabled
booleanisLEXExtensionComponentCustomizationOff
for all users, even users who had it enabled. See Try New Features with
the Lightning Extension for Chrome. This field is available in API version
48.0 and later.
Indicates whether all users can enable the Lightning Extension Dark
Mode feature. If false, the feature is disabled for all users, even users
who had it enabled. This field is available in API version 48.0 and later.
booleanisLEXExtensionDarkModeOff
1778
LightningExperienceSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether all users can enable the Lightning Extension Link
Grabber feature. If false, the feature is disabled for all users, even
booleanisLEXExtensionLinkGrabberOff
users who had it enabled. This field is available in API version 48.0 and
later.
Indicates whether all users can enable the Lightning Extension for your
org. If false, your users cant enable the Lightning Extension, even if
booleanisLEXExtensionOff
they already have it installed. This field is available in API version 48.0
and later.
Declarative Metadata Sample Definition
The following is an example of a LightningExperienceSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<LightningExperienceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAuraCDNPref>true</enableAuraCDNPref>
<enableFeedbackInMobile>true</enableFeedbackInMobile>
<enableInAppTooltips>true</enableInAppTooltips>
<enableLEXOnIpadEnabled>true</enableLEXOnIpadEnabled>
<enableLexEndUsersNoSwitching>true</enableLexEndUsersNoSwitching>
<enableNavPersonalizationOptOut>true</enableNavPersonalizationOptOut>
<enableS1BrowserEnabled>false</enableS1BrowserEnabled>
<enableS1DesktopEnabled>true</enableS1DesktopEnabled>
<enableTryLightningOptOut>true</enableTryLightningOptOut>
<enableUsersAreLightningOnly>true</enableUsersAreLightningOnly>
</LightningExperienceSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>LightningExperience</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
LiveMessageSettings
Represents an orgs LiveMessage settings.
1779
LiveMessageSettingsMetadata Types
Version
LiveMessageSettings components are available in API version 42.0 and later.
File Suffix and Directory Location
LiveMessageSettings values are stored in the LiveMessage.settings file in the settings folder. The .settings files are different from other
named components because there is only one settings file for each settings component.
Fields
DescriptionField TypeField Name
Gives access to ConversationEntry objects only to users with the Access
Conversation Entries user permission enabled (true) or to all users (false)
in an org.
For orgs created before API version 50.0, the default value is false.
booleanenableCheckCEUserPerm
For orgs created on or after API version 50.0, the default value is true.
Turns LiveMessage on (true) or off (false) in an org. The default
value is false.
booleanenableLiveMessage
Declarative Metadata Sample Definition
The following is an example of a liveMessageSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<LiveMessageSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableLiveMessage>true</enableLiveMessage>
</LiveMessageSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>LiveMessage</members>
<name>Settings</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1780
LiveMessageSettingsMetadata Types
MacroSettings
Represents an organizations Macro settings, such as whether or not folders is enabled. This type extends the Metadata metadata type
and inherits its fullName field.
File Suffix and Directory Location
MacroSettings values are stored in the Macro.settings file in the settings directory. The .settings files are different
from other named components because theres only one settings file for each settings component.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Version
MacroSettings is available in API version 39.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether users can search all macro text fields
(true) or not (false).
booleanenableAdvancedSearch
Indicates whether users can organize and share macros using
folders (true) or not (false). Available in API version 44.0
and later.
booleanmacrosInFolders
Declarative Metadata Sample Definition
This is a sample Macro settings file.
<?xml version="1.0" encoding="UTF-8"?>
<MacroSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAdvancedSearch>true</enableAdvancedSearch>
<macrosInFolders>true</macrosInFolders>
</MacroSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MailMergeSettings
Represents the settings for Extended Mail Merge functionality.
1781
MacroSettingsMetadata Types
File Suffix and Directory Location
A MailMerge component file has the suffix MailMerge.settings and is stored in the settings directory.
Version
MailMergeSettings components are available in API version 51.0 and later. Before API version 51.0, fields from MailMergeSettings were
found within OrgSettings components.
Fields
DescriptionsField TypeField Name
Indicates whether the Salesforce Classic product, Extended Mail Merge,
is enabled (true) or not (false). Use Extended Mail Merge to generate
booleanenableExtendedMailMerge
Microsoft Word documents such as form letters or address labels
from Salesforce records using Word document templates. Default value
is false.
Indicates whether mail-merged documents are saved to the My Personal
Documents folder of the user who generated the mail merge. (true)
booleansaveMailMergeDocsAsSalesforceDocs
or not (false). If (false), only documents over 3 MB are saved to
the users documents folder. Smaller documents are emailed to the user.
Default value is (false).
Declarative Metadata Sample Definition
The following is an example of a MailMergeSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<MailMergeSettings xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<enableExtendedMailMerge>true</enableExtendedMailMerge>
</MailMergeSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve mail merge settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>MailMergeSettings</name>
</types>
<version>51.0</version>
</Package>
1782
MailMergeSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MapAndLocationSettings
Represents an orgs map and location settings.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Declarative Metadata File Suffix and Directory Location
MapAndLocationSettings values are stored in a single file named Mapandlocation.settings in the settings directory.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
Map and location settings are available in API version 46.0 and later.
Fields
DescriptionField TypeField
Indicates whether auto-complete is enabled
on address fields (true) or not (false).
booleanenableAddressAutoComplete
Indicates whether the maps and location
services are enabled (true) or not
(false)
booleanenableMapsAndLocation
Declarative Metadata Sample Definition
This is a sample mapandlocation.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<MapsAndLocationSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAddressAutoComplete>false</enableAddressAutoComplete>
<enableMapsAndLocation>false</enableMapsAndLocation>
</MapsAndLocationSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1783
MapAndLocationSettingsMetadata Types
MeetingsSettings
Represents the settings to enable Salesforce Meetings and the integration with Zoom video conferencing.
Version
MeetingsSettings components are available in API version 51.0 and later.
Special Access Rules
The MeetingsSettings type isnt available in scratch orgs.
Fields
DescriptionField Name
Field Type
boolean
enableSalesforceMeetings
Description
Indicates whether the Salesforce Meetings feature is enabled (true) or not (false).
When set to true, Salesforce admins can assign the Salesforce Meetings user
permission to grant users access to the Meeting Digest and other Salesforce Meetings
features. The default value is false.
Field Type
boolean
enableSalesforceMeetingsSyncCheck
Description
Indicates whether your company uses an activity sync solution (true) or hasnt made
that indication (false). Indicating your company uses an activity solution such as
Einstein Activity Capture is required to enable Salesforce Meetings. The default value
is false.
Field Type
boolean
enableZoomVideoConference
Description
Indicates whether users can connect their company Zoom accounts to Salesforce
(true) or not (false). When set to true, Zoom can be added as a recording in
Einstein Conversation Insights. The default value is false.
Declarative Metadata Sample Definition
The following is an example of a MeetingsSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<MeetingsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableSalesforceMeetings>true</enableSalesforceMeetings>
1784
MeetingsSettingsMetadata Types
<enableSalesforceMeetingsSyncCheck>true</enableSalesforceMeetingsSyncCheck>
<enableZoomVideoConference>false</enableZoomVideoConference>
</MeetingsSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MeetingsSettings</members>
<name>Settings</name>
</types>
<version>51.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
MobileSettings
Represents an organizations mobile settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Note: MobileSettings on page 1785 is no longer available in API versions 25.0 and 26.0.
Declarative Metadata File Suffix and Directory Location
MobileSettings on page 1785 values are stored in a single file named Mobile.settings in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
Mobile settings are available in API version 27.0 and later.
Fields
DescriptionField TypeField
The settings for devices running Chatter
mobile. Removed in API version 46.0.
ChatterMobileSettingschatterMobile (Removed)
The settings for devices running the mobile
dashboards app.
DashboardMobileSettingsdashboardMobile (Deprecated)
1785
MobileSettingsMetadata Types
DescriptionField TypeField
Indicates whether users can import contacts
from their mobile device (true) or not
(false).
Available in API version 47.0 and later.
booleanenableImportContactFromDevice
Indicates whether the org is enabled for the
Salesforce mobile app. Available in API
booleanenableLightningOnMobile
(Removed)
version 47.0 only. Removed in API version
48.0.
Indicates whether the org is enabled for the
Salesforce mobile app tablet experience.
Removed in API version 56.0.
booleanenableNewSalesforceMobileAppForTablet
(Removed)
Indicates whether the org is enabled for the
Salesforce mobile app widescreen tablet
booleanenableNewSalesforceMobileAppForTabletWideScreen
(Removed)
experience. Available in API version 52.0
through 55.0. Removed in API version 56.0.
Indicates whether users can create, edit, and
delete records while offline in the Salesforce
booleanenableOfflineDraftsEnabled
mobile app (true) or not (false). The
default value is true. This option isnt
available if enableS1OfflinePref
is set to false.
Available in API version 47.0 and later.
Indicates whether the users name is shown
on the Today page in the Salesforce mobile
booleanenablePopulateNameManuallyInToday
app (true) or not (false). The default
value is false.
Available in API version 47.0 and later.
Indicates whether the Salesforce mobile
web uses secure and persistent browser
booleanenableS1EncryptedStoragePref2
caching to improve performance (true)
or not (false). The default value is true.
Available in API version 47.0 and later.
Indicates whether users can access records
offline in the Salesforce mobile app (true)
booleanenableS1OfflinePref
or not (false). This option is set to true
the first time someone in your org installs
one of the Salesforce downloadable apps.
Available in API version 47.0 and later.
However, offline access isnt supported in
all versions of the downloadable mobile
1786
MobileSettingsMetadata Types
DescriptionField TypeField
apps. Users must have version 10.0 or later
of the Salesforce for Android app or the
Salesforce for iOS app. Offline access isnt
available for the Salesforce mobile web.
The settings for devices running Salesforce
Touch. Removed in API version 46.0.
TouchMobileSettingstouchMobile (Removed)
ChatterMobileSettings
These fields are removed in API version 46.0. Represents your organization's Chatter Mobile settings.
DescriptionField TypeField
Indicates whether iPad devices are enabled
for Chatter Mobile (true) or not (false).
booleanIPadAuthorized
Indicates whether iPhone devices are
enabled for Chatter Mobile (true) or not
(false).
booleanIPhoneAuthorized
Indicates whether Android devices are
enabled for Chatter Mobile (true) or not
(false).
booleanandroidAuthorized
Indicates whether Blackberry devices are
enabled for Chatter Mobile (true) or not
(false).
booleanblackBerryAuthorized
Indicates whether Chatter Mobile has been
enabled for your organization (true) or
not (false).
Setting this field to true enables you to
set all the other ChatterMobile settings. If
booleanenableChatterMobile
you change this setting from true to
false, and also try to change any of the
other ChatterMobile settings, your
deployment fails with an error.
Indicates whether Chatter push notifications
have been enabled for your organization
(true) or not (false)
booleanenablePushNotifications
The length of time after which users without
activity are prompted to log out or continue
working. Valid values are:
MobileSessionTimeout (enumeration of type
string)
sessionTimeout
Never
OneMinute
1787
MobileSettingsMetadata Types
DescriptionField TypeField
FiveMinutes
TenMinutes
ThirtyMinutes
DashboardMobileSettings
These fields are deprecated. Represents your organization's Mobile Dashboards iPad app settings.
DescriptionField TypeField
Indicates whether Mobile Dashboards iPad
app has been enabled for your organization
(true) or not (false).
booleanenableDashboardIPadApp
TouchMobileSettings
These fields are removed in API version 46.0. Salesforce Touch has been upgraded to the Salesforce mobile app.
DescriptionField TypeField
Indicates whether your organization has the
Salesforce Touch mobile browser app
enabled (true) or not (false).
booleanenableTouchBrowserIPad
Indicates whether your organization has the
Salesforce Touch downloadable app
enabled (true) or not (false)
booleanenableTouchAppIPad
Declarative Metadata Sample Definition
Heres a sample mobile.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<MobileSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableImportContactFromDevice>true</enableImportContactFromDevice>
<enableOfflineDraftsEnabled>true</enableOfflineDraftsEnabled>
<enableS1EncryptedStoragePref2>true</enableS1EncryptedStoragePref2>
<enableS1OfflinePref>true</enableS1OfflinePref>
</MobileSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1788
MobileSettingsMetadata Types
MyDomainSettings
Represents your orgs My Domain settings. With My Domain, you can include your company name in your URLs, for example,
https://yourcompanyname.my.salesforce.com. This type extends the Metadata metadata type and inherits its
fullName field.
File Suffix and Directory Location
MyDomainSettings values are stored in a single file named MyDomain.settings in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
MyDomainSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
If true, users must use the org's My Domain login URL to log in. If
false (default), users can also log in using the orgs instance Salesforce
booleancanOnlyLoginWithMyDomainUrl
URL, https://InstanceName.salesforce.com, and through
the login URL https://login.salesforce.com.
Admins can log in to a sandbox via the Log In action on the Sandboxes
Setup page only when canOnlyLoginWithMyDomainUrl is
false in the sandbox.
If true, users must use the orgs My Domain login URL to access the
Salesforce API. If false (default), users can also access the Salesforce
booleandoesApiLoginRequireOrgDomain
API using the generic Salesforce page,
https://InstanceName.salesforce.com and through
the login URL https://login.salesforce.com.
Indicates whether users who visit a previous *.force.com site URL for this
org see a message with the current URL during redirections (true) or
not (false). The default is false.
This field is applicable only when
booleandoesWarnOnForceComRedirect
Your org has a previous *.force.com URL associated with an
Experience Cloud site or Salesforce Site.
redirectForceComSitesUrls is true
This field is available in API version 59.0 and later.
Indicates whether users who visit a previous My Domain URL see a
message with the current URL during redirections (true) or not
(false). The default is false.
This field is applicable only when
booleandoesWarnOnRedirect
1789
MyDomainSettingsMetadata Types
DescriptionField TypeField Name
Your org has a previous My Domain. For example, after an admin
deploys a change to the My Domain.
The previous My Domain hasnt been removed via the Routing
options on the My Domain Setup page. If the previous My Domain
is removed, calls to URLs associated with that My Domain arent
redirected.
redirectPriorMyDomain is true.
This field is available in API version 59.0 and later.
The partition for this org. When none, partitioned domains arent
enabled. Otherwise, My Domain hostnames include the partition value.
OrgDomainShard
(enumeration of
type string)
domainPartition
For example, the format of a My Domain login hostname for a Developer
Edition org with partitioned domains is
MyDomainName.develop.my.salesforce.com.
This field is read-only in the API. Possible values are:
demoUsed in demo orgs. Available in API version 60.0 and later.
developUsed in Developer Edition orgs. Also used in patch
orgs where partitioned domains were deployed before Winter 24.
freeReserved for internal use.
noneIndicates that this org doesnt use partitioned domains.
patchUsed in patch orgs. Available in API version 59.0 and later.
sandboxUsed in sandboxes with enhanced domains. These
orgs are always partitioned.
scratchUsed in scratch orgs.
sfdctestReserved for internal use.
trailblazeUsed in Trailblazer Playgrounds.
Partitioned domains require enhanced domains. Production orgs always
have a value of none. Only the sandbox partition is available in
Government CloudDefense orgs, and partitioned domains arent
available in Trailhead Playgrounds on Salesforce Edge Network.
Qualifying new orgs are partitioned by default and get the corresponding
domainPartition value. You cant disable this feature in those
orgs.
Available in API version 55.0 and later.
Indicates whether Salesforce Edge Network is enabled in this org during
the scheduled rollout. If true, Salesforce notifies admins by email
booleanenableEdgeDuringRollout
before Salesforce Edge Network is enabled. If false, the Edge
enablement is deferred. The default value is true.
If useEdge is true, this field has no effect.
Available in API version 58.0 and later.
1790
MyDomainSettingsMetadata Types
DescriptionField TypeField Name
If true, use the native browser for authentication of Android mobile
apps. Default is false.
booleanenableNativeBrowserForAuthOnAndroid
If true, use the native browser for authentication of iOS mobile apps.
Default is false.
booleanenableNativeBrowserForAuthOnIos
Indicates how user visits to this orgs instanced URL are handled.
Possible values are:
OrgDomainRedirectOption
(enumeration of
type string)
instancedUrlRedirectHandling
RedirectRedirect users to the equivalent page on this orgs
My Domain hostnames.
WarnOnRedirectDisplay a brief warning message to users
as they are redirected to the equivalent page on this orgs My Domain
hostnames.
NoRedirectRequire users to use your My Domain hostnames
when they view this orgs pages. Visits to this pages instanced URL
arent redirected.
For example, when a user visits
https://InstanceName.lightning.force.com/lightning/page/home,
this setting determines whether theyre redirected to
https://MyDomainName.lightning.force.com/lightning/page/home.
The value of this field has no effect on users ability to log in via the orgs
instanced URL. To control that behavior, use
canOnlyLoginWithMyDomainUrl.
Available in API version 59.0 and later.
Indicates whether the SameSite=None attribute is removed from
Salesforce cookies (true) or not (false). In Salesforce orgs created
booleanisFirstPartyCookieUseRequired
in Summer 24 and later, the default is true. In all other orgs, the default
is false.
To mimic the behavior when browsers block third-party cookies, set this
value to true.
Available in API version 61.0 and later.
If true, Salesforce produces a log for the Hostname Redirects event
type when daily event logs are generated. The default is false.
The Hostname Redirects event is free for all customers with a 24-hour
data retention period. When logRedirections is true, this event
booleanlogRedirections
is available in the API but not in the Event Monitoring Analytics app. You
can also download the latest Hostname Redirects event log file through
a button on the My Domain page.
Available in API version 56.0 and later.
1791
MyDomainSettingsMetadata Types
DescriptionField TypeField Name
The subdomain name used in My Domain URLs for this org, such as
MyDomainName.my.salesforce.com and
MyDomainName.lightning.force.com.
This field is read-only in the API. You can change your orgs My Domain
name from the My Domain Setup page.
stringmyDomainName
Available in API version 51.0 and later.
The domain suffix for this orgs My Domain login URL. This field is
read-only in the API.
Possible values are:
OrgDomainProdSuffix
(enumeration of
type string)
myDomainSuffix
CloudforceLimitedcloudforce.com
DatabaseLimiteddatabase.com
MySalesforcemy.salesforce.com with enhanced
domains
MySalesforceLimitedmy.salesforce.com without
enhanced domains
OrgLevelCertificateLimitedmy-salesforce.com
Restricted1Reserved for future use.
Restricted2Reserved for future use.
Available in API version 51.0 and later.
If true, calls to URLs ending in .force.com that serve your
Experience Cloud sites and Salesforce Sites are redirected to the
booleanredirectForceComSitesUrls
corresponding current My Domain site URL. If false, these calls arent
redirected and the user gets a file not found (404) error. The default is
true.
This field is only applicable when
Enhanced domains are enabled.
Your org has a previous *.force.com URL associated with an
Experience Cloud site or Salesforce Site.
Available in API version 55.0 and later.
If true, calls to URLs associated with your previous My Domain name
are redirected to the corresponding URL associated with your current
booleanredirectPriorMyDomain
My Domain. If false, these calls arent redirected. When you deploy
a new My Domain, this setting resets to its default, true.
This field is only applicable when
Your org has a previous My Domain. For example, after an admin
deploys a change to the My Domain.
The previous My Domain hasnt been removed via the Routing
options on the My Domain Setup page. If the previous My Domain
1792
MyDomainSettingsMetadata Types
DescriptionField TypeField Name
is removed, calls to URLs associated with that My Domain arent
redirected.
Available in API version 54.0 and later.
Indicates whether the orgs instance name is included in Visualforce
URLs when third-party cookies are blocked (true) or not (false). This
booleanuse3rdPartyCookieBlockingCompatibleHostnames
field has a default value of true. Setting this field true prevents
potential issues loading Visualforce pages with stabilized URLs.
Only applicable when useStabilizedMyDomainHostnames
is set to true and myDomainSuffix is set to
MySalesforceLimited, CloudforceLimited, or
DatabaseLimited.
Available in API version 51.0 and later.
Indicates whether this orgs qualifying My Domain URLs are routed
through Salesforce Edge Network (true) or not (false). This field has
a default value of true.
booleanuseEdge
This field is read-only in the API. If your org can use Salesforce Edge
Network, you can enable this setting from the My Domain Setup page.
After this field is set to true from Setup, it can't be set to false.
Available in API version 51.0 and later.
This field corresponds to the previous My Domain setting, Use enhanced
domains by default in new and refreshed sandboxes, that was removed
in Summer 23.
Previously, in API versions 55.0 to 57.0, if enhanced domains werent
enabled, this field indicated whether new and refreshed sandboxes
booleanuseEnhancedDomainsInSandbox
created from this org used enhanced domains by default (true) or not
(false), and the default value was true. As of API version 58.0, this
fields value is always true, regardless of the value that you set.
Changing its value has no effect on Salesforce, even if it reads false.
Indicates whether the instance name is hidden in My Domain URLs for
Visualforce, Experience Builder, Site.com Studio, and content files (true)
booleanuseStabilizedMyDomainHostnames
or not (false). This field has a default value of true. For example,
MyDomainName--PackageName.na44.visual.force.com
becomes
MyDomainName--PackageName.visualforce.com when
this field is set to true.
Only applicable when myDomainSuffix is set to
MySalesforceLimited, CloudforceLimited, or
DatabaseLimited.
1793
MyDomainSettingsMetadata Types
DescriptionField TypeField Name
This field corresponds to the Stabilize the Hostname for My Domain URLs
in Sandboxes release update, which was enforced in Summer 20.
When true, the instance name is hidden in My Domain URLs for
sandboxes orgs. For example,
booleanuseStabilizedSandboxMyDomainHostnames
MyDomainName--test.cs5.my.salesforce.com became
MyDomainName--test.my.salesforce.com. As of API
version 49.0, this field's value is always true, regardless of the value
that you set. Changing its value has no effect on Salesforce, even if it
reads false.
This change applies retroactively back to API version 47.0, when this field
was first introduced. Previously, in API version 47.0 to 49.0, this field
indicated whether the instance name was hidden in My Domain URLs
for sandboxes orgs (true) or not (false), and the field's default value
was false. Now, in all API versions, this field's value is always true,
even if it reads false.
Declarative Metadata Sample Definition
The following is an example of a MyDomainSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<MyDomainSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<canOnlyLoginWithMyDomainUrl>false</canOnlyLoginWithMyDomainUrl>
<doesApiLoginRequireOrgDomain>false</doesApiLoginRequireOrgDomain>
<doesWarnOnForceComRedirect>false</doesWarnOnForceComRedirect>
<doesWarnOnRedirect>true</doesWarnOnRedirect>
<domainPartition>none</domainPartition>
<enableEdgeDuringRollout>true</enableEdgeDuringRollout>
<enableNativeBrowserForAuthOnAndroid>false</enableNativeBrowserForAuthOnAndroid>
<enableNativeBrowserForAuthOnIos>false</enableNativeBrowserForAuthOnIos>
<instancedUrlRedirectHandling></instancedUrlRedirectHandling>
<isFirstPartyCookieUseRequired>true</isFirstPartyCookieUseRequired>
<logRedirections>true</logRedirections>
<myDomainName>mycompany</myDomainName>
<myDomainSuffix>MySalesforce</myDomainSuffix>
<redirectForceComSitesUrls>true</redirectForceComSitesUrls>
<redirectPriorMyDomain>true</redirectPriorMyDomain>
<use3rdPartyCookieBlockingCompatibleHostnames>true</use3rdPartyCookieBlockingCompatibleHostnames>
<useEdge>true</useEdge>
<useEnhancedDomainsInSandbox>true</useEnhancedDomainsInSandbox>
<useStabilizedMyDomainHostnames>true</useStabilizedMyDomainHostnames>
<useStabilizedSandboxMyDomainHostnames>true</useStabilizedSandboxMyDomainHostnames>
</MyDomainSettings>
1794
MyDomainSettingsMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MyDomain</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
MfgServiceConsoleSettings
Represents the settings to access the Service Console for Manufacturing.This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
MfgServiceConsoleSettings values are stored in the MfgServiceConsole.settings file in the settings directory.
Version
MfgServiceConsoleSettings components are available in API version 56.0 and later.
Special Access Rules
To use this metadata type, your Salesforce org must have the Manufacturing Cloud license.
Fields
DescriptionField TypeField Name
Indicates whether Service Console for Manufacturing is enabled in your
org (true) or not false).
booleanenableMfgServiceConsole
Note: By default, Service Console for Manufacturing is disabled.
Declarative Metadata Sample Definition
The following is an example of a MfgServiceConsoleSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<MfgServiceConsoleSettings
xmlns="http://soap.sforce.com/2006/04/metadata">
<enableMfgServiceConsole>true</enableMfgServiceConsole>
</MfgServiceConsoleSettings>
1795
MfgServiceConsoleSettingsMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MfgServiceConsole</members>
<name>Settings</name>
</types>
<version>56.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
NameSettings
Enables or disables the formal name, middle name, and suffix attributes for these person objects: Contact, Lead, Person Account, and
User. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
NameSettings values are stored in a single file named Name.settings in the settings folder. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
NameSettings components are available in API version 31.0 and later.
Fields
DescriptionField TypeField Name
Reserved for internal use. Available in API version 48.0 and later.booleanenableInformalName
Indicates whether middle names are enabled (true) or disabled
(false) for person objects.
booleanenableMiddleName
Indicates whether suffixes are enabled (true) or disabled (false) for
person objects.
booleanenableNameSuffix
1796
NameSettingsMetadata Types
Declarative Metadata Sample Definition
This example shows a NameSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<NameSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableMiddleName>true</enableMiddleName>
<enableNameSuffix>false</enableNameSuffix>
</NameSettings>
This example package.xml manifest references the NameSettings definitions.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Name</members>
<name>Settings</name>
</types>
<version>31.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
NotificationsSettings
Represents an organizations mobile settings.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Declarative Metadata File Suffix and Directory Location
NotificationsSettings values are stored in a single file named Notifications.settings in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
Mobile settings are available in API version 46.0 and later.
Fields
DescriptionField TypeField
Reserved for internal use.booleanenableActivityReminderBrowserNotifs
Indicates whether mobile push notifications
are enabled.
booleanenableMobileAppPushNotifications
Indicates whether notifications are enabled.booleanenableNotifications
1797
NotificationsSettingsMetadata Types
Declarative Metadata Sample Definition
This is a sample notifications.settings metadata file.
<NotificationsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableMobileAppPushNotifications>true</enableMobileAppPushNotifications>
<enableNotifications>true</enableNotifications>
</NotificationsSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OauthOidcSettings
Represents org settings for disabling OAuth OpenID Connect authorization flows.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
OauthOidcSettings values are stored in the OauthOidc.settings file in the settings folder. The .settings files
are different from other named components, because there is only one settings file for each settings component.
Version
OauthOidcSettings is available in API version 56.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
boolean
blockOAuthUnPwFlow
Description
Indicates whether the username-password flow is blocked (true) or not blocked
(false). The default value is false.
1798
OauthOidcSettingsMetadata Types
DescriptionField Name
Field Type
boolean
blockOAuthUsrAgtFlow
Description
Indicates whether the user-agent flow is blocked (true) or not blocked (false).
The default value is false.
Field Type
boolean
enableHdlessFgtPswFlow
Description
For internal use only.
Field Type
boolean
isPkceRequired
Description
Indicates whether the OAuth 2.0 Proof Key for Code Exchange (PKCE) security extension
is required for variations of the OAuth authorization code flow that access this org
(true) or not (false). This setting requires PKCE for all supported variations of the
authorization code flow, including the web server flow, the Authorization Code and
Credentials Flow, and their derivatives. The default value is false. This field is available
in API version 59.0 and later.
Field Type
boolean
oAuthCdCrdtFlowEnable
Description
Indicates whether the Authorization Code and Credentials Flow is enabled (true) or
blocked (false). The default value is false.
Declarative Metadata Sample Definition
The following is an example of the OauthOidcSettings file.
<?xml version=“1.0” encoding=“UTF-8"?>
<OauthOidcSettings xmlns=“http://soap.sforce.com/2006/04/metadata”>
<blockOAuthUnPwFlow>true</blockOAuthUnPwFlow>
<blockOAuthUsrAgtFlow>true</blockOAuthUsrAgtFlow>
<oAuthCdCrdtFlowEnable>false</oAuthCdCrdtFlowEnable>
</OauthOidcSettings>
Example Package Manifest
The following is an example package.xml that references the previous definition.
<?xml version=“1.0" encoding=“UTF-8”?>
<Package xmlns=“http://soap.sforce.com/2006/04/metadata”>
<types>
1799
OauthOidcSettingsMetadata Types
<members>OauthOidc</members>
<name>Settings</name>
</types>
<version>56.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ObjectHierarchyRelationship
Represents an organizations custom field mappings for sales agreement conversion. Fields can be mapped from Opportunity and Quotes
to SalesAgreement and SalesAgreementProduct.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
ObjectHierarchyRelationship components have the suffix ObjectHierarchyRelationship.settings and are stored in
the ObjectHierarchyRelationship folder.
Version
ObjectHierarchyRelationship components are available in API version 51.0 and later.
Fields
DescriptionField Name
Field Type
ObjectMapping
childObjectMapping
Description
Set of inputObject, mappingFields, and outputObject entries.
For example, fields from the input object of OpportunityLineItem maps to fields
of the output object of SalesAgreementProduct.
Field Type
String
childObjectMappingId
Description
The ID of the child object mapping record. This field is available in API version 56.0
and later.
1800
ObjectHierarchyRelationshipMetadata Types
DescriptionField Name
Field Type
string
inputObjRecordsGrpFieldName
Description
The field name in the input object used to group the records. This field is available
in API version 55.0 and later.
Field Type
ObjHierarchyMappingType (enumeration of type string)
mappingType
Description
Specifies the type of relationship between two objects. This field is available in API
version 55.0 and later.
Valid values are:
ChildToChild
ParentToChild
ParentToParent
Support
Field Type
string
masterLabel
Description
Label name of the mapping definition.
Field Type
string
outputPntRelationshipFieldName
Description
The field name that defines the relationship between a parent and child for the
output object. This field is available in API version 55.0 and later.
Field Type
ObjectMapping
parentObjectMapping
Description
Required.
Set of inputObject, mappingFields, and outputObject entries.
For example, fields from the input object of Opportunity maps to fields of the
output object of SalesAgreement.
Field Type
string
parentObjectMappingId
Description
The ID of the parent object mapping record. This field is available in API version
56.0 and later.
1801
ObjectHierarchyRelationshipMetadata Types
DescriptionField Name
Field Type
string
parentRecord
Description
The parent record for this object hierarchy relationship. This field is available in API
version 55.0 and later.
Field Type
string
parentRelationshipFieldName
Description
Name of the field that defines the relationship between the parent and child.
Field Type
string
sourceReferenceRelaFieldName
Description
The field name in an object that's used to define the relationship between a source
and reference object. This field is available in API version 56.0 and later.
Field Type
MappingUsageType (enumeration of type string)
usageType
Description
Required.
Name of the usage type of an object hierarchy relationship.
Valid value is:
ConvertToSalesAgreement
CLMFieldMapping
EligibleProgramRebateType
MapJournalToMemberAggregate
TransformationMapping
ObjectMapping
Represents a set of inputObject, mappingFields, and outputObject entries.
Fields
DescriptionField Name
Field Type
string
inputObject
Description
Required.
1802
ObjectHierarchyRelationshipMetadata Types
DescriptionField Name
Name of the input object type containing the source fields for mapping. For example,
Opportunity or OpportunityLineItem.
Field Type
ObjectMappingField
mappingFields
Description
Mapping of source object input fields to target object for SalesAgreement and
SalesAgreementProduct.
Field Type
string
outputObject
Description
Required.
Name of the output object type receiving data conversion. For example, SalesAgreement
or SalesAgreementProduct.
ObjectMappingField
Represents a set of inputField and outputField entries.
Fields
DescriptionField Name
Field Type
string
inputField
Description
Required.
Field in the object specified by the inputObject field in ObjectMapping on page 1802.
This field is mapped to the field in outputField, which is a field in the object specified
by the outputObject field in ObjectMapping on page 1802.
Field Type
string
outputField
Description
Required.
Field in the object specified by the outputObject field in ObjectMapping on page 1802.
This field is mapped to the field name in inputField, which is a field in the object
specified by the inputObject field in ObjectMapping on page 1802.
1803
ObjectHierarchyRelationshipMetadata Types
Declarative Metadata Sample Definition
The following is an example of a ObjectHierarchyRelationship component.
<?xml version="1.0" encoding="UTF-8"?>
<ObjectHierarchyRelationship xmlns="http://soap.sforce.com/2006/04/metadata">
<parentObjectMapping>
<inputObject>Opportunity</inputObject>
<mappingFields>
<inputField>Name</inputField>
<outputField>Name</outputField>
</mappingFields>
<mappingFields>
<inputField>CloseDate</inputField>
<outputField>StartDate</outputField>
</mappingFields>
<mappingFields>
<inputField>Account</inputField>
<outputField>Account</outputField>
</mappingFields>
<mappingFields>
<inputField>Pricebook2</inputField>
<outputField>Pricebook</outputField>
</mappingFields>
<outputObject>SalesAgreement</outputObject>
</parentObjectMapping>
<childObjectMapping>
<inputObject>OpportunityLineItem</inputObject>
<mappingFields>
<inputField>Id</inputField>
<outputField>Name</outputField>
</mappingFields>
<mappingFields>
<inputField>UnitPrice</inputField>
<outputField>SalesPrice</outputField>
</mappingFields>
<mappingFields>
<inputField>PricebookEntry</inputField>
<outputField>PricebookEntry</outputField>
</mappingFields>
<mappingFields>
<inputField>Quantity</inputField>
<outputField>InitialPlannedQuantity</outputField>
</mappingFields>
<outputObject>SalesAgreementProduct</outputObject>
</childObjectMapping>
<masterLabel>ObjectHierarchyRelationship</masterLabel>
<usageType>ConvertToSalesAgreement</usageType>
<parentRelationshipFieldName>Opportunity</parentRelationshipFieldName>
<outputPntRelationshipFieldName>SalesAgreement</outputPntRelationshipFieldName>
<parentRecord></parentRecord>
1804
ObjectHierarchyRelationshipMetadata Types
<inputObjRecordsGrpFieldName>Account</inputObjRecordsGrpFieldName>
<mappingType>ParentToParent</mappingType>
</ObjectHierarchyRelationship>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ObjectHierarchyRelationship</name>
</types>
<version>51.0</version>
</Package>
Usage
Use the deploy() call to deploy metadata with a .zip file. Every .zip file contains a project manifest, a file thats named package.xml,
and a set of directories that contain the components. The manifest file defines the components that youre trying to retrieve or deploy
in the .zip file. The manifest also defines the API version thats used for the deployment or retrieval. For more information on the .zip file,
deploying, and retrieving metadata, see Deploying and Retrieving Metadata with the Zip File. You can also deploy and retrieve the
metadata API using Postman.
Ensure you map all the required fields for sales agreement conversion.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ObjectLinkingSettings (Beta)
Represents the channel-object linking settings for an org. This type extends the Metadata metadata type and inherits its fullName
field.
Note: As a beta feature, Channel-Object Linking is a preview and isnt part of the Services under your Main Services Agreement
with Salesforce. Use this feature at your sole discretion, and make your purchase decisions only on the basis of generally available
products and features. Salesforce doesnt guarantee general availability of this feature within any particular time frame or at all,
and we can discontinue it at any time. This feature is for evaluation purposes only, not for production use. Its offered as is and isnt
supported, and Salesforce has no liability for any harm or damage arising out of or in connection with it. All restrictions, Salesforce
reservation of rights, obligations concerning the Services, and terms for related Non-Salesforce Applications and Content apply
equally to your use of this feature. For information on enabling this feature, contact Salesforce.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ObjectLinkingSettings values are stored in the ObjectLinking.settings file in the settings folder. The .settings files
are different from other named components because theres only one settings file for each settings component.
1805
ObjectLinkingSettings (Beta)Metadata Types
Version
ObjectLinkingSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Channel-Object Linking is enabled, allowing you to
link channel interactions to objects such as Contacts. The default value
is false.
booleanenableObjectLinking
Declarative Metadata Sample Definition
The following is an example of an ObjectLinkingSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ObjectLinkingSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableObjectLinking>true</enableObjectLinking>
</ObjectLinkingSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ObjectLinking</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
OmniChannelSettings
Represents the Omni-Channel settings for an org. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
OmniChannelSettings values are stored in the OmniChannel.settings file in the settings folder. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
OmniChannelSettings components are available in API version 44.0 and later.
1806
OmniChannelSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether to display a login confirmation upon loading a console
with Omni-Channel. The default value is false.
booleanenableOmniAutoLoginPrompt
When true, the console displays a prompt before logging into
Omni-Channel when an agent opens another Omni-Channel console
in a different tab or window or refreshes the current tab. The agent is
logged out of Omni-Channel on other consoles and any ongoing
conversations are ended. Available in API version 47.0 and later.
Indicates whether Omni-Channel is enabled, giving you access to the
objects required to set up the feature in your org. The default value is
false.
booleanenableOmniChannel
Indicates whether Secondary Routing Priority is enabled in your org. The
default value is false. Available in API version 47.0 and later.
booleanenableOmniSecondaryRoutingPriority
Indicates whether skills-based routing is enabled in your org. The default
value is false.
booleanenableOmniSkillsRouting
Declarative Metadata Sample Definition
The following is an example of a OmniChannelSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniChannelSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableOmniChannel>true</enableOmniChannel>
<enableOmniAutoLoginPrompt>true</enableOmniAutoLoginPrompt>
<enableOmniSecondaryRoutingPriority>true</enableOmniSecondaryRoutingPriority>
<enableOmniSkillsRouting>true</enableOmniSkillsRouting>
</OmniChannelSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>OmniChannel</members>
<name>Settings</name>
</types>
<version>44.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1807
OmniChannelSettingsMetadata Types
OmniInteractionAccessConfig
Represents configuration settings for access to OmniStudio FlexCard caching and data sources.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OmniInteractionAccessConfig components have the suffix .omniInteractionAccessConfig and are stored in the
OmniInteractionAccessConfig folder.
Version
OmniInteractionAccessConfig components are available in API version 53.0 and later.
Special Access Rules
OmniInteractionAccessConfig is available if your org has the OmniStudio platform license and related addon and user licenses.
Fields
DescriptionField TypeField Name
Not used.stringconfigName
Required. If set to true, enables asynchronous FlexCard caching. The
default is false.
booleanisAsyncCardCachingEnabled
Required. If set to true, disables remote Apex method calls for
FlexCards. The default is false.
booleanisCardApexRemoteDisabled
Required. If set to true, disables FlexCard caching. The default is
false.
booleanisCardCacheDisabled
Required. If set to true, disables Data Mapper data sources for
FlexCards. The default is false.
booleanisCardDataTfrmDisabled
Required. If set to true, disables Integration Procedure data sources
for FlexCards. The default is false.
booleanisCardIntegrationProcDisabled
Required. If set to true, disables REST calls for FlexCards. The default
is false.
booleanisCardRestApiDisabled
Required. If set to true, disables SOQL queries for FlexCards. The default
is false.
booleanisCardSoqlDisabled
Required. If set to true, disables SOSL queries for FlexCards. The default
is false.
booleanisCardSoslDisabled
1808
OmniInteractionAccessConfigMetadata Types
DescriptionField TypeField Name
Required. If set to true, disables Streaming API calls for FlexCards. The
default is false.
booleanisCardStreamingApiDisabled
Required. If set to true, disables Data Mapper field encryption for
FlexCards. The default is false.
booleanisDataTfrmEncrpFieldsDisabled
Required. The name of the setting. The value is
Profile_ProfileId, User_UserId, or Org_Wide.
stringmasterLabel
The ID of the profile, user, or org to which the settings apply.stringsetupOwner
Declarative Metadata Sample Definition
The following is an example of an OmniInteractionAccessConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniInteractionAccessConfig xmlns="http://soap.sforce.com/2021/10/metadata">
<isAsyncCardCachingEnabled>false</isAsyncCardCachingEnabled>
<isCardApexRemoteDisabled>false</isCardApexRemoteDisabled>
<isCardCacheDisabled>false</isCardCacheDisabled>
<isCardDataTfrmDisabled>false</isCardDataTfrmDisabled>
<isCardIntegrationProcDisabled>false</isCardIntegrationProcDisabled>
<isCardRestApiDisabled>false</isCardRestApiDisabled>
<isCardSoqlDisabled>false</isCardSoqlDisabled>
<isCardSoslDisabled>false</isCardSoslDisabled>
<isCardStreamingApiDisabled>false</isCardStreamingApiDisabled>
<isDataTfrmEncrpFieldsDisabled>false</isDataTfrmEncrpFieldsDisabled>
<masterLabel>Profile_00eB0000000ijOH</masterLabel>
<setupOwner>00eB0000000ijOH</setupOwner>
</OmniInteractionAccessConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2021/10/metadata">
<types>
<members>*</members>
<name>OmniInteractionAccessConfig</name>
</types>
<version>53.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OmniInteractionConfig
Represents configuration settings for OmniStudio.
1809
OmniInteractionConfigMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OmniInteractionConfig components have the suffix .omniInteractionConfig and are stored in the
OmniInteractionConfig folder.
Version
OmniInteractionConfig components are available in API version 51.0 and later.
Special Access Rules
OmniInteractionConfig is available if your org has the OmniStudio platform license and related addon and user licenses.
Fields
DescriptionField TypeField Name
Required. The name of the setting.stringmasterLabel
Required. The value of the setting.stringvalue
Declarative Metadata Sample Definition
The following is an example of an OmniInteractionConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<OmniInteractionConfig xmlns="http://soap.sforce.com/2021/10/metadata">
<masterLabel>TheFirstInstalledOmniPackage</masterLabel>
<value>omnistudio</value>
</OmniInteractionConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2021/10/metadata">
<types>
<members>*</members>
<name>OmniInteractionConfig</name>
</types>
<version>51.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1810
OmniInteractionConfigMetadata Types
Usage
Settings configured using OmniInteractionConfig include:
CheckCachedMetadataRecordSecurityIf set to true, performs a record-level security check for cached data in Data
Mappers and Integration Procedures.
DefaultRequiredPermissionThe Custom Permission a user must have to run Data Mappers and Integration Procedures.
DocuSignAccountIdThe API Account ID from DocuSign's Apps and Keys page.
DocuSignNamedCredentialThe named credential for connecting to DocuSign. Set the value to DocuSign.
InstalledIndustryPackageIf present, lists the namespace of the Salesforce Industries managed package that was
installed. Values are vlocity_cmt, vlocity_ins, or vlocity_ps. Read-only.
newportZipUrlThe relative URL (without the hostname) for the static resource that contains custom Newport styles for
FlexCards.
OmniAnalyticsTrackingDebugIf set to true, includes debugging data in OmniStudio Tracking Service records.
RollbackDRChangesIf set to true, rolls back Data Mapper functionality changes. Use it if an upgrade causes some Data
Mappers to stop working.
TheFirstInstalledOmniPackageLists the namespace of the managed package that was installed first, which determines
whether new or legacy OmniStudio features are available. Values are omnistudio for new features, or vlocity_cmt,
vlocity_ins, or vlocity_ps for legacy features. Read-only.
Track_componentIf set to true, enables tracking for a component or component type in the OmniStudio Tracking Service.
TurnOffScaleCacheIf set to true, turns off the Scale Cache that Data Mappers and Integration Procedures use.
OpportunityInsightsSettings
Represents an orgs Einstein Opportunity Insights settings. This setting controls features that give you relevant updates about your
opportunities.
Note: This metadata type has been deprecated as of API version 59.0.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
OpportunityInsightsSettings values are stored in the OpportunityInsights.settings file in the settings folder. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
OpportunityInsightsSettings is available in API versions 48.0 to 58.0.
Fields
DescriptionField TypeField Name
Indicates whether Einstein Opportunity Insights is enabled (true) or
not (false). The default value is false.
booleanenableOpportunityInsights
1811
OpportunityInsightsSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of the OpportunityInsights.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<OpportunityInsightsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableOpportunityInsights>true</enableOpportunityInsights>
</OpportunityInsightsSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the OpportunityInsights settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>OpportunityInsights</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OpportunitySettings
Represents org preferences for features such as automatic opportunity updates and similar-opportunity filters.
This type extends the Metadata metadata type and inherits its fullName field.
Use opportunity settings to control the actions that users can perform on their opportunities.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
Opportunities values are stored in a single file named Opportunity.settings in the settings directory of the corresponding
package directory.
Version
OpportunitySettings is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
Automatically uses scheduled updates for new opportunities.booleanautoActivateNewReminders
1812
OpportunitySettingsMetadata Types
DescriptionField TypeField Name
Lets Salesforce admins customize product schedules by using custom
fields, validation rules, and Apex triggers on the LineItemSchedule object.
This field is available in API version 46.0 and later.
If customizable product schedules are enabled, you can use custom
fields in default schedules and customize their layout, but Apex triggers
or validation rules that you apply to default schedules are bypassed.
booleancustomizableProductSchedulesEnabled
Enforces standard validation and triggers for opportunity products and
opportunity product schedules. Default value is true. Can't be set to
false.
Available in API version 47.0 and later.
booleandoesEnforceStandardOpportunitySaveLogic
Displays a Pipeline Inspection setup page to Salesforce admins with all
setup steps for enabling and configuring the feature. The set up also
includes historical trending. The default value is false.
Available in API version 52.0 and later.
enableExpandedPipelineInspectionSetup
Lets users see related or similar existing opportunities.booleanenableFindSimilarOpportunities
Lets users see single and cumulative forecast category rollups over a
selected period. Applies to the following categories: Best Case, Closed
Lost, Closed Won, Commit, Most Likely, Open Pipeline, and Total.
Default value is true. Available in API version 57.0 and later.
booleanenableForecastCategoryMetrics
Enables history tracking for the opportunity field. For more information,
see Field History Tracking in Salesforce Help. Default value is true.
Available in API version 47.0 and later.
booleanenableOpportunityFieldHistoryTracking
Deprecated in API version 59.0 and later because the feature is no longer
available. Indicates whether a user can see Einstein Opportunity Insights
booleanenableOpportunityInsightsInMobile
on their mobile device (true) or not (false). Einstein Opportunity
Insights includes predictions about which deals are likely to be won,
reminders to follow up, and notifications when key moments in a deal
take place.
Available in API version 47.0 to 58.0.
Lets users associate team members with opportunities.booleanenableOpportunityTeam
Lets users see net change to the pipeline (positive or negative)
contributed by each deal within a selected timeframe. Applies to the
booleanenablePipelineChangesMetrics
following categories: Open Pipeline, New, Won, Increased, Moved In,
Moved Out, Decreased, Lost, and Overdue.
Default value is true. Available in API version 57.0 and later.
Enables the Pipeline Inspection feature in the Opportunity tab. Also
enables historical trending for opportunities, if the org has the historical
booleanenablePipelineInspection
1813
OpportunitySettingsMetadata Types
DescriptionField TypeField Name
trending org perm. Pipeline Inspection is a consolidated view of pipeline
metrics, corresponding opportunities, and highlights of recent
opportunity changes and insights. The default value is false.
Also enables historical trending for opportunities, if historical trending
isnt already enabled. To use Pipeline Inspection, additional configuration
in Setup is required.
Available in API version 52.0 and later.
Enables the Pipeline Inspection Flow Chart in the Opportunity tab. This
chart shows Pipeline Inspection users the changes to opportunities in
booleanenablePipelineInspectionFlow
different forecast categories over time. Users can filter results to see the
data thats most useful to them.
To use this feature, access to Revenue Insights is required.
Available in API version 54.0 and later.
Indicates that Pipeline Inspection metrics display as single forecast
categories (true), or multiple categories rolled up (false). The
default value is (false).
To use this feature, Pipeline Inspection configuration in Setup is required.
booleanenablePipelineInspectionSingleCategoryRollup
Available in API version 55.0 and later.
Sets up Revenue Insights dashboards and installs the related CRM
Analytics app. The dashboards give users access to sales performance,
pipeline, and forecasting reports and analytics.
Revenue Insights is part of Revenue Intelligence, which is available for
an additional cost.
booleanenableRevenueInsights
Available in API version 54.0 and later.
Indicates whether insights based on service cases are enabled (true)
or not (false) in Pipeline Inspection. The default value is (false).
Available in API version 55.0 and later.
booleanenableServiceCaseInsights
Lets users enable automatic, scheduled updates on opportunities.booleanenableUpdateReminders
Defines parameters for similar opportunities.FindSimilarOppFilter
on page 1815
findSimilarOppFilter
Indicates whether deal change highlights are enabled for opportunity
amounts (true) or not (false). The default value is (true).
Available in API version 50.0 and later.
booleanoppAmountDealMotionEnabled
Indicates whether deal change highlights are enabled for opportunity
close dates (true) or not (false). The default value is (true).
Available in API version 50.0 and later.
booleanoppCloseDateDealMotionEnabled
1814
OpportunitySettingsMetadata Types
DescriptionField TypeField Name
Prompts users to add related products to an opportunity.booleanpromptToAddProducts
Indicates whether the Push Count field is visible to users in opportunity
list views and Pipeline Inspection views (true) or not (false). The
default value is (true).
Available in API version 56.0 and later.
booleanpushCountEnabled
Indicates whether you can create an opportunity with prefilled
information (such as the contacts account) from the Global Actions
booleansimpleOppCreateFromContact
menu while viewing a contact (true) or not (false). Available
in API version 54.0 and later.
Indicates whether you can create an opportunity with prefilled
information (such as the events account) from the Global Actions menu
booleansimpleOppCreateFromEvent
while viewing an event (true) or not (false). Available in API
version 54.0 and later.
FindSimilarOppFilter
Defines whether to match by entire columns or fields.
DescriptionField TypeField
The columns to compare.stringsimilarOpportunitiesDisplayColumns
The fields to compare.stringsimilarOpportunitiesMatchFields
Declarative Metadata Sample Definition
The following is an example of the package file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Opportunity</members>
<name>Settings</name>
</types>
<version>28.0</version>
</Package>
The package file references the following Opportunity.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<OpportunitySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<autoActivateNewReminders>true</autoActivateNewReminders>
<customizableProductSchedulesEnabled>false</customizableProductSchedulesEnabled>
<doesEnforceStandardOpportunitySaveLogic>true</doesEnforceStandardOpportunitySaveLogic>
<enableFindSimilarOpportunities>true</enableFindSimilarOpportunities>
<enableForecastCategoryMetrics>true</enableForecastCategoryMetrics>
1815
OpportunitySettingsMetadata Types
<enablePipelineChangesMetrics>true</enablePipelineChangesMetrics>
<findSimilarOppFilter>
<similarOpportunitiesMatchFields>OPPORTUNITY.Account</similarOpportunitiesMatchFields>
<similarOpportunitiesMatchFields>OPPORTUNITY.OpportunityCompetitors</similarOpportunitiesMatchFields>
<similarOpportunitiesMatchFields>CustomField__c</similarOpportunitiesMatchFields>
<similarOpportunitiesDisplayColumns>CustomField__c</similarOpportunitiesDisplayColumns>
</findSimilarOppFilter>
<enableOpportunityFieldHistoryTracking>true</enableOpportunityFieldHistoryTracking>
<enableOpportunityInsightsInMobile>false</enableOpportunityInsightsInMobile>
<enableOpportunityTeam>true</enableOpportunityTeam>
<enableUpdateReminders>true</enableUpdateReminders>
<promptToAddProducts>true</promptToAddProducts>
..<oppAmountDealMotionEnabled>true</oppAmountDealMotionEnabled>
..<oppCloseDateDealMotionEnabled>true</oppCloseDateDealMotionEnabled>
</OpportunitySettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OpportunityScoreSettings
Represents an orgs Einstein Opportunity Scoring settings, such as whether or not Einstein Opportunity Scoring is enabled. Einstein
Opportunity Scoring helps determine the likelihood of an opportunity being won. This type extends the Metadata metadata type and
inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
OpportunityScoreSettings values are stored in the OpportunityScore.settings file in the settings folder. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
OpportunityScoreSettings is available in API versions 49.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Einstein Opportunity Scoring is enabled (true) or
not (false). The default value is false.
booleanenableOpportunityScoring
1816
OpportunityScoreSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of the OpportunityScore.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<OpportunityScoreSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableOpportunityScoring>true</enableOpportunityScoring>
</OpportunityScoreSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the OpportunityScore settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>OpportunityScore</members>
<name>Settings</name>
</types>
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OrderManagementSettings
Represents options for the Salesforce Order Management product.This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
OrderManagementSettings values are stored in the OrderManagement.settings file in the settings directory. The
.settings files are different from other named components because there is only one settings file for each settings component.
Version
Order Management settings are available in API version 48 and later.
Special Access Rules
This metadata type is only accessible by developers and customers using Salesforce Order Management.
1817
OrderManagementSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether Order Management is allowed to accept order data
from B2C Commerce (true) or not (false). The default value is
false.
booleanenableB2CIntegration
Indicates whether the Order Management B2C Commerce Integration
applies the Salesforce orgs duplicate and matching rules for Accounts,
booleanenableDuplicateManagement
Contacts, and Person Accounts to shopper records (true) or not
(false). The default value is false. The Setup toggle label is B2C
Integration Data Matching Rules. Available in API version 53.0 and
later.
Indicates whether the Order Management B2C Commerce Integration
uses the High Scale Orders feature (true) or the original order ingestion
booleanenableHighScaleOrders
system (false). The default value is false. Available in API version
56.0 and later.
Indicates whether Order Management features are enabled (true) or
not (false). The default value is false.
booleanenableOrderManagement
Indicates whether Order Management represents each shopper with a
Person Account (true) or a normal Account and a Contact (false).
The default value is false. Available in API version 49.0 and later.
booleanenablePersonAccountsForShoppers
Declarative Metadata Sample Definition
The following is an example of an OrderManagementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<OrderManagementSettings xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<enableOrderManagement>true</enableOrderManagement>
<enableB2CIntegration>true</enableB2CIntegration>
<enableDuplicateManagement>true</enableB2CIntegration>
<enableHighScaleOrders>false</enableB2CSelfService>
<enablePersonAccountsForShoppers>true</enablePersonAccountsForShoppers>
</OrderManagementSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>OrderManagement</members>
<name>Settings</name>
</types>
<version>49.0</version>
</Package>
1818
OrderManagementSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OrderSettings
Represents order settings.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
There is one OrderSettings component in a file named Order.settings in the settings folder. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
OrderSettings components are available in API version 30.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether enhanced commerce orders are enabled for the org
(true) or not (false). This preference is available only in orgs with
booleanenableEnhancedCommerceOrders
the Salesforce Order Management license. Default value is false.
Available in API versions 48.0 and later.
Indicates whether users in the org can add order products with quantities
of less than zero (true) or not (false).
To enable this preference, enableOrders must be set to true.
booleanenableNegativeQuantity
Indicates whether users in the org can create orders without price books
(true) or not (false). For more information, see Enable Orders
Without Price Books in Salesforce Help.
booleanenableOptionalPricebook
Indicates whether order events are enabled for the org (true) or not
(false). For more information, see OrderStatusChangedEvent in the
Platform Events Developer Guide.
booleanenableOrderEvents
Indicates whether orders are enabled for the org (true) or not (false).booleanenableOrders
Indicates whether reduction orders are enabled for the org (true) or
not (false). For more information, see Reduction Orders in Salesforce
Help.
To enable this preference, enableOrders must be set to true.
booleanenableReductionOrders
1819
OrderSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether users in the org can add order products with quantities
of zero (true) or not (false). Default value is false.
To enable this preference, enableOrders must be set to true.
booleanenableZeroQuantity
Available in API version 42.0 and later.
Declarative Metadata Sample Definition
This is a sample OrderSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<OrderSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableEnhancedCommerceOrders>true</enableEnhancedCommerceOrders>
<enableNegativeQuantity>false</enableNegativeQuantity>
<enableOptionalPricebook>false</enableOptionalPricebook>
<enableOrderEvents>true</enableOrderEvents>
<enableOrders>true</enableOrders>
<enableReductionOrders>true</enableReductionOrders>
<enableZeroQuantity>false</enableZeroQuantity>
</OrderSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Order</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OrgPreferenceSettings
Removed in API version 48.0. Represents the unique org preference settings in a Salesforce org.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
OrgPreferenceSettings values are stored in the OrgPreference.settings file in the settings directory. The .settings files
are different from other named components because there is only one settings file for each settings component.
1820
OrgPreferenceSettingsMetadata Types
Version
OrgPreferenceSettings components are available in API versions 37.0 to 47.0.
OrgPreferenceSettings is deprecated in API version 47.0 and removed in API version 48.0. In API version 47.0, most of the settings
supported in the preferences field were made available in the form of Boolean fields on other Settings types. For example, in API
version 47.0 and later, you can enable and disable the CompileOnDeploy preference by using the enableCompileOnDeploy
field on the ApexSettings type.
Fields
DescriptionField TypeField Name
The preferences associated with the org settings. In the following list of
preferences, click hyperlinked preference names to go to the topic for
OrganizationSettingsDetail[]preferences
the Settings type that contains that preference. If there is no link, the
preference hasnt been moved to another Settings type.
AnalyticsSharingEnable (available in API version 40.0 and
later)
ApexApprovalLockUnlock
AsyncSaveEnabled (available in API versions 40.0 to 46.0)
ChatterEnabled
CompileOnDeploy (available in API version 43.0 and later)
ConsentManagementEnabled (available in API version 45.0
and later)
EnhancedEmailEnabled
EventLogWaveIntegEnabled
LoginForensicsEnabled
NetworksEnabled (available in API version 40.0 and later)
NotesReservedPref01
OfflineDraftsEnabled
PathAssistantsEnabled
S1DesktopEnabled
Note: After it is enabled, S1DesktopEnabled cant be
disabled in any version of the API.
S1EncryptedStoragePref2
S1OfflinePref
ScratchOrgManagementPref on page 1667 (available
in API version 41.0 and later)
SendThroughGmailPref
SocialProfilesEnable
Translation (available in API version 40.0 and later)
VoiceEnabled
1821
OrgPreferenceSettingsMetadata Types
DescriptionField TypeField Name
Note: The VoiceEnabled preference isnt being moved
to another metadata type. If you want to use it in a scratch
org in API version 48.0 and later, you can enable it as a scratch
org feature.
OrganizationSettingsDetail
DescriptionField TypeField Name
The name of the setting. For example,
S1EncryptedStoragePref2.
stringsettingName
Indicates whether the setting is enabled
(true) or not (false).
booleansettingValue
Declarative Metadata Sample Definition
The following is an example of a OrgPreferenceSettings component. The example shows only the preferences values that are
supported but not yet available as fields on another Settings type in API version 47.0.
<?xml version="1.0" encoding="UTF-8"?>
<OrgPreferenceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<preferences>
<settingName>AnalyticsSharingEnable</settingName>
<settingValue>true</settingValue>
</preferences>
<preferences>
<settingName>NetworksEnabled</settingName>
<settingValue>true</settingValue>
</preferences>
<preferences>
<settingName>NotesReservedPref01</settingName>
<settingValue>false</settingValue>
</preferences>
<preferences>
<settingName>ScratchOrgManagementPref</settingName>
<settingValue>true</settingValue>
</preferences>
<preferences>
<settingName>VoiceEnabled</settingName>
<settingValue>false</settingValue>
</preferences>
</OrgPreferenceSettings>
1822
OrgPreferenceSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OrgSettings
Represents the settings for org-wide functionality that isnt associated with any specific feature.This type extends the Metadata metadata
type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
A OrgSettings component file has the suffix .settings and is stored in the settings directory. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
OrgSettings components are available in API version 46.0 and later.
Before API version 51.0, the fields enableExtendedMailMerge and saveMailMergeDocsAsSalesforceDocs were
found within OrgSettings components. In API version 51.0 and later, those fields are found within MailMergeSettings on page 1781.
Fields
DescriptionsField TypeField Name
Indicates whether Customer Portal is enabled (true) or not (false).booleanenableCustomerSuccessPortal
Indicates whether mass management of self-service users is enabled
through the Self-Service Portal (true) or not (false).
booleanenableManageSelfServiceUsers
Indicates whether feed sentiment analysis is enabled for the org (true)
or not (false).
booleanenableOrgFeedSentimentAnalysis
Declarative Metadata Sample Definition
The following is an example of a OrgSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<OrgSettings xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<enableCustomerSuccessPortal>false</enableCustomerSuccessPortal>
<enableMakeDeploymentsMandatory>true</enableMakeDeploymentsMandatory>
<enableManageSelfServiceUsers>false</enableManageSelfServiceUsers>
<enableOrgFeedSentimentAnalysis>false</enableOrgFeedSentimentAnalysis>
<enableRADeploymentAttributeOnly>true</enableRADeploymentAttributeOnly>
<enableResetDivisionOnLogin xsi:nil="true"/>
</OrgSettings>
1823
OrgSettingsMetadata Types
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the org settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Org</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PartyDataModelSettings
Represents an organizations party data model settings, including options around the Individual object and consent enablement. This
type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
PartyDataModelSettings values are stored in the PartyDataModel.settings file in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
PartyDataModelSettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the most recently modified data privacy record for
the Individual is retained when merging lead, contact, and person
booleanenableAutoSelectIndividualOnMerge
accounts (true) or users must manually determine which data privacy
record to retain during the merge process (false). This field has a
default value of false.
Indicates whether data protection details are available in records (true)
or not (false). This has a default value of true.
booleanenableConsentManagement
Note: Setting this field to false purges all data protection
details, such as privacy preferences and stored consent forms.
1824
PartyDataModelSettingsMetadata Types
DescriptionField TypeField Name
Deprecated in API version 48.0 and removed in API version 49.0 and
later.
booleanenableIndividualAutoCreate
Declarative Metadata Sample Definition
The following is an example of a PartyDataModelSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<PartyDataModelSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAutoSelectIndividualOnMerge>true</enableAutoSelectIndividualOnMerge>
<enableConsentManagementEnabled>true</enableConsentManagementEnabled>
</PartyDataModelSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PartyDataModel</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PardotSettings
Represents Marketing Cloud Account Engagement settings in your Salesforce org. Account Engagement, formerly known as Pardot, is
a B2B marketing automation solution that helps you create meaningful connections, generate more pipeline, and close more deals. Use
these settings to configure how Account Engagement collects and displays data.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
This object is stored in a file named Pardot.Settings in the settings folder of the corresponding package directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
PardotSettings is available in API version 47.0 and later.
1825
PardotSettingsMetadata Types
Special Access Rules
This metadata type is available only to orgs with Account Engagement.
Fields
DescriptionField TypeField Name
Enable Einstein Send Time Optimization for sending Account
Engagement emails.
booleanenableAIOptimizedSendTime
Deprecated.booleanenableB2bmaAppEnabled
Enable the Engagement History Dashboard and allow related Account
Engagement data to be shared to campaign records in Salesforce by
booleanenableEngagementHistoryDashboards
setting this value to true. The default value is false. If
enableEnagementHistoryDashboards is disabled after being
enabled, the Engagement History Dashboard is removed, but
engagement data continues to be retained and updated.
Enable Object Sync to enhance with B2B Marketing Analytics or B2B
Marketing Analytics Plus by setting this property to true. The default
value is false. Available in API version 52.0 and later.
booleanenableEnhancedProspectCustomFieldsSync
Enable the Account Engagement Lightning App by setting this property
to true. The default value is false.
booleanenablePardotAppV1Enabled
Deprecated.booleanenablePardotEnabled
Deprecated.booleanenablePardotObjectSync
Enable the Prospect and Activity Dataset for B2B Marketing Automation
apps by setting this property to true. When
booleanenableProspectActivityDataset
enableProspectActivityDataset is true, the datasets
take some time to populate. Depending on how much data and the
type of licenses you have, enabling this preference can impact the
accounts row limit for Analytics.
If enableProspectActivityDataset is disabled after being
enabled:
The data that makes up the datasets is deleted.
The Prospect and Activity Dataset in existing B2B Marketing
Automation apps stops getting updates.
The dataset isnt available to add to new apps.
When apps are reconfigured, the dataset is deleted.
Requires that enableEnagementHistoryDashboards is set
to true.
Enable Einstein Engagement Frequency for sending Account
Engagement emails.
booleanPardotEngageFreqSetting
1826
PardotSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of a PardotSettings component.
1 <?xml version="1.0" encoding="UTF-8"?>
2 <PardotSettings xmlns="http://soap.sforce.com/2006/04/metadata">
3 <enablePardotEnabled>true</enablePardotEnabled>
4 <enablePardotAppV1Enabled>true</enablePardotAppV1Enabled>
5 <enableB2bmaAppEnabled>true</enableB2bmaAppEnabled>
6 <enableEngagementHistoryDashboards>true</enableEngagementHistoryDashboards>
7 <enableEnhancedProspectCustomFieldsSync>true</enableEnhancedProspectCustomFieldsSync>
8 <enablePardotObjectSync>true</enablePardotObjectSync>
9 <enableProspectActivityDataset>true</enableProspectActivityDataset>
10 <enableAIOptimizedSendTime>true</enableAIOptimizedSendTime>
11 </PardotSettings>
The following is an example package.xml that references the previous definition.
1 <?xml version="1.0" encoding="UTF-8"?>
2 <Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>Pardot</members>
5 <name>Settings</name>
6 </types>
7 <version>47</version>
8 </Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PardotEinsteinSettings
Represents PardotEinsteinSettings. Use these settings to learn what factors drive your campaign performance, and get the best possible
engagement score for your prospects. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
PardotEinsteinSettings values are stored in the PardotEinstein.settings file in the settings folder. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
PardotEinsteinSettings is available in API versions 48.0 and later.
Fields
1827
PardotEinsteinSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether Einstein Campaign Insights is enabled (true) or not
(false). Einstein Campaign Insights helps you understand what factors
drive campaign performance.
The default value is false.
booleanenableCampaignInsight
Indicates whether Einstein Behavior Scoring is enabled (true) or not
(false). Einstein Behavior Scoring identifies prospects whose behavior
booleanenableEngagementScore
suggests that they are ready to buy, and scores them based on Einsteins
engagement model.
The default value is false.
Declarative Metadata Sample Definition
The following is an example of the PardotEinstein.settings file:
<?xml version="1.0" encoding="UTF-8"?>
<PardotEinsteinSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCampaignInsight>true</enableCampaignInsight>
<enableEngagementScore>true</enableEngagementScore>
</PardotEinsteinSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the PardotEinstein settings metadata:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PardotEinstein</members>
<name>Settings</name>
</types>
<version>29.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PathAssistantSettings
Represents the Path preference setting. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1828
PathAssistantSettingsMetadata Types
File Suffix and Directory Location
PathAssistantSettings components have the suffix .settings and are stored in the settings folder.
Version
PathAssistantSettings components are available in API version 34.0 and later.
Fields
DescriptionField TypeField Name
Keeps a user's path expanded to show guidance and key fields on all
their records. A user's path stays expanded until the user collapses it. To
use this preference, Path must be enabled.
Default value is false for all editions. When set to false, the users
path is collapsed when the page loads.
booleancanOverrideAutoPathCollapseWithUserPref
Available in API version 47.0 and later.
Determines whether the preference is enabled for Path. Default value is
true for Enterprise Edition and false for other editions. Available
in API version 35.0 and later.
booleanpathAssistantEnabled
Determines whether the preference is enabled for Path in Opportunity
or not.
Available in API version 34.0 and earlier.
booleanpathAssistantForOpportunityEnabled
Declarative Metadata Sample Definition
The following is an example of a PathAssistantSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<PathAssistantSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<pathAssistantEnabled>true</pathAssistantEnabled>
<canOverrideAutoPathCollapseWithUserPref>true</canOverrideAutoPathCollapseWithUserPref>
</PathAssistantSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PathAssistant</members>
<name>Settings</name>
</types>
<version>API</version>
</Package
1829
PathAssistantSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PaymentsSettings
Represents the Salesforce Payments settings when this feature is enabled for the org.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
PaymentsSettings values are stored in the Payments.settings file in the settings folder.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
PaymentsSettings is available in API version 57.0 and later.
Special Access Rules
This metadata type is only accessible by developers and customers using Salesforce Payments.
Fields
DescriptionField Name
Field Type
boolean
enablePayments
Description
Indicates whether Salesforce Payments is enabled (true) or not (false) for an org.
The default is false.
Declarative Metadata Sample Definition
The following is a sample payments.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<PaymentsSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enablePayments>true</enablePayments>
</PaymentsSettings>
1830
PaymentsSettingsMetadata Types
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Payments</members>
<name>Settings</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PicklistSettings
Represents an orgs picklist settings. These settings control the behavior of a picklist. This type extends the Metadata metadata type and
inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
PicklistSettings values are stored in a single file named Picklist.settings in the settings directory. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
Picklist settings are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
While true, users, including admins with Customize
Application permission, cant change the API name of a picklist
booleanisPicklistApiNameEditDisabled
field. Formulas reference a picklists API name so that the formula
continues to work even if the displayed name value changes.
Prevent changes to the API name to protect the references to
fields in formulas or during integrations, such as during a data
import. The default is false.
1831
PicklistSettingsMetadata Types
Declarative Metadata Sample Definition
The following is a sample picklist.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<PicklistSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<isPicklistApiNameEditDisabled>true</isPicklistApiNameEditDisabled>
</PicklistSettings>
The following is an example package.xml manifest that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Picklist</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PlatformEncryptionSettings
Represents an orgs Platform Encryption settings, such as settings for available encryption schemes, permissions, encryption policy access,
and which fields can be encrypted. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
PlatformEncryptionSettings values are stored in the PlatformEncryption.settings file in the settings folder. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
PlatformEncryptionSettings is available in API versions 47.0 and later.
Special Access Rules
To enable and disable PlatformEncryptionSettings attributes, you need the Customize Application permission. Attributes that allow key
management tasks require the Manage Encryption Keys permission. For a complete list of required permissions, read Which User
Permissions Does Shield Platform Encryption Require?.
1832
PlatformEncryptionSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether users can enable encryption on custom fields in
installed managed packages (true) or not (false).
booleancanEncryptManagedPackageFields
Indicates whether key management actions require a second form of
authentication (true) or not (false). The second form of
booleanisUseHighAssuranceKeysRequired
authentication can be an app like Salesforce Authenticator, a Yubikey,
or other time-based one time password. The default value is false.
Warning: When enabled, admins without multi-factor
authentication cant manage encryption key material.
Indicates whether encryption policy tasks, such as enabling encryption
on fields, also require the Manage Encryption Keys permission (true)
or not (false), in addition to those tasks baseline permissions.
booleanisMEKForEncryptionRequired
Indicates whether customers apply the deterministic encryption scheme
to supported fields (true) or not (false). The deterministic encryption
scheme lets customers filter on encrypted data..
booleanenableDeterministEncryption
Indicates whether the background encryption process applies the
customer's active key material to field history and feed tracking values
booleanenableEncryptFieldHistory
(true) or not (false). The default value is false. If false,
background encryption processes apply active key material to all
encrypted data except duplicates of that data stored in field history or
feed tracking.
Indicates whether events are encrypted at rest in the event bus (true)
or not (false). The events include change data capture events and
booleanenableEventBusEncryption
platform events. The default value is false. If false, events aren't
encrypted and are stored in clear text in the event bus.
Warning: Generate or upload key material of the Event Bus type
before turning on the enableEventBusEncryption
setting.
Declarative Metadata Sample Definition
The following is an example of the PlatformEncryption.settings file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<PlatformEncryptionSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<canEncryptManagedPackageFields>true</canEncryptManagedPackageFields>
<isUseHighAssuranceKeysRequired>true</isUseHighAssuranceKeysRequired>
<isMEKForEncryptionRequired>true</isMEKForEncryptionRequired>
<enableDeterministEncryption>true</enableDeterministEncryption>
<enableEncryptFieldHistory>true</enableEncryptFieldHistory>
<enableEventBusEncryption>true</enableEventBusEncryption>
</PlatformEncryptionSettings>
1833
PlatformEncryptionSettingsMetadata Types
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Platform Encryption settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PlatformEncryption</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PlatformEventSettings
Represents settings for platform events and change data capture events.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
PlatformEventSettings values are stored in the PlatformEvent.settings file in the settings folder. The
.settings files are different from other named components, because theres only one settings file for each settings component.
Version
PlatformEventSettings components are available in API version 58.0 and later.
Special Access Rules
There are no additional access requirements that are specific to this type.
Fields
DescriptionField Name
Field Type
boolean
enableEnhancedUsageMetrics
1834
PlatformEventSettingsMetadata Types
DescriptionField Name
Description
Enables enhanced usage metrics for queries run against PlatformEventUsageMetric.
Enhanced usage metrics provide additional fields for the queries and granular time
segments. For more information, see Enhanced Usage Metrics in the Platform Events
Developer Guide. Default value is false.
Declarative Metadata Sample Definition
The following is an example of a PlatformEventSettings component that enables the enhanced usage metrics feature.
<?xml version="1.0" encoding="UTF-8"?>
<PlatformEventSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableEnhancedUsageMetrics>true</enableEnhancedUsageMetrics>
</PlatformEventSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>PlatformEvent</members>
<name>Settings</name>
</types>
<version>58.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
PredictionBuilderSettings
Represents the settings that determine how a user can interact with Einstein Prediction Builder. This type extends the Metadata metadata
type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
PredictionBuilderSettings values are stored in the PredictionBuilder.settings file in the settings directory. The .settings files are different
from other named components in that each settings component has only one settings file.
Version
PredictionBuilderSettings components are available in API version 47.0 and later.
1835
PredictionBuilderSettingsMetadata Types
Special Access Rules
This type is available only if the CRM Analytics Plus or Einstein Predictions license is enabled in your org.
Fields
DescriptionField TypeField Name
Indicates whether Einstein Prediction Builder is enabled (true) or not
(false).
booleanenablePredictionBuilder
Indicates whether to display the predictions list view to the user (true)
or not (false).
booleanisPredictionBuilderStarted
Declarative Metadata Sample Definition
This is a sample Prediction Builder settings file.
<?xml version="1.0" encoding="UTF-8"?>
<PredictionBuilderSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<isPredictionBuilderStarted>false</isPredictionBuilderStarted>
<enablePredictionBuilder>false</enablePredictionBuilder>
</PredictionBuilderSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
PrivacySettings
Represents an organizations settings for data privacy and consent management. This type extends the Metadata metadata type and
inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
PrivacySettings values are stored in the Privacy.settings file in the settings directory. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
PrivacySettings components are available in API version 47.0 and later.
Special Access Rules
To use PrivacySettings, you need the Customize Application or Modify Data Classification user permission.
1836
PrivacySettingsMetadata Types
Fields
DescriptionField TypeField Name
Reserved for future use.booleanenableConsentAuditTrail
Allows orgs to stream consent changes to the party data model via
platform events. This field has a default value of false. Available in
API version 47.0 and later.
booleanenableConsentEventStream
Indicates whether a default data sensitivity value is applied to all contacts,
leads, person accounts, and users (true) or not (false). This field has
a default value of false. Available in API version 47.0 and later.
booleanenableDefaultMetadataValues
Indicates whether a Preference Manager setup in Privacy Center uses
default Marketing Cloud consent parameters and features. This field has
a default value of false. Available in API version 58.0 and later.
booleanuseUmaDefaultConsentRecs
Declarative Metadata Sample Definition
The following is an example of a PrivacySettings component.
<?xml version="1.0" encoding="UTF-8"?>
<PrivacySettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableDefaultMetadataValues>false</enableDefaultMetadataValues>
</PrivacySettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Privacy</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ProcessFlowMigration
Represents a process's migrated criteria and the resulting migrated flow.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1837
ProcessFlowMigrationMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
Version
ProcessFlowMigration components are available in API version 58.0 and later.
Special Access Rules
Fields
DescriptionField Name
Field Type
string
destinationFlowDefinition
Description
Required. The ID of the resulting migrated flow.
Field Type
string
destinationFlowVersion
Description
Required. The version ID of the migrated flow.
Field Type
string
developerName
Description
Required. The unique name of the object in the API. This name can contain only
underscores and alphanumeric characters, and must be unique in your org. It must
begin with a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores.
Field Type
string
masterLabel
Description
Required. The label for the ProcessFlowMigration.
Field Type
string
migratedCriteriaLabel
Description
The label of the criteria that was migrated.
Field Type
string
migratedCriteriaName
1838
ProcessFlowMigrationMetadata Types
DescriptionField Name
Description
The name of the criteria that was migrated.
Field Type
string
processVersion
Description
Required. The version ID of the originating process.
Declarative Metadata Sample Definition
The following is an example of a ProcessFlowMigration component.
<?xml version="1.0" encoding="UTF-8"?>
<ProcessFlowMigration xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<destinationFlowDefinition>Migration_1</destinationFlowDefinition>
<destinationFlowVersion>Migration_1-1</destinationFlowVersion>
<developerName>Migration</developerName>
<masterLabel>Migration_1</masterLabel>
<migratedCriteriaLabel>myCriteria_1</migratedCriteriaLabel>
<migratedCriteriaName>myDecision</migratedCriteriaName>
<processVersion>Migration-1</processVersion>
</ProcessFlowMigration>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>ProcessFlowMigration</name>
</types>
<types>
<members>*</members>
<name>Flow</name>
</types>
<version>58.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ProductSettings
Represents organization preferences for quantity schedules, revenue schedules, and active flag interaction with prices. This type extends
the Metadata metadata type and inherits its fullName field.
1839
ProductSettingsMetadata Types
File Suffix and Directory Location
ProductSettings values are stored in a single file named Product.settings in the settings directory of the corresponding
package directory. The .settings files are different from other named components because theres only one settings file for each
settings component.
Version
ProductSettings is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
When changing active flag on a product record, automatically updates
active flag on related prices.
booleanenableCascadeActivateToRelatedPrices
Moves users personal settings pages from Setup to a separate My
Settings pane (true) or not (false). When set to (true), Salesforce
booleanenableMySettings
makes a reorganized Setup pane accessible to admins via one click in
the header. This setting affects all users in your organization. The default
is true. Available in API version 47.0 and later.
Enables quantity schedules for products.booleanenableQuantitySchedule
Enables revenue schedules for products.booleanenableRevenueSchedule
Declarative Metadata Sample Definition
The following is an example of the package file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Product</members>
<name>Settings</name>
</types>
<version>28.0</version>
</Package>
The package file references the following Product.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<ProductSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCascadeActivateToRelatedPrices>true</enableCascadeActivateToRelatedPrices>
<enableQuantitySchedule>false</enableQuantitySchedule>
<enableRevenueSchedule>false</enableRevenueSchedule>
</ProductSettings>
1840
ProductSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
QuoteSettings
Represents an orgs quotes settings, such as enabling quotes or creating quotes without an associated opportunity. This type extends
the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
QuoteSettings values are stored in a single file named Quote.settings in the settings directory of the corresponding package
directory. The .settings files are different from other named components because theres only one settings file for each settings
component.
Version
QuoteSettings is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
When set to true, users can access Quotes.booleanenableQuote
When set to true, users can create quotes independently of an
opportunity. For example, a user can create a quote for budgeting
purposes, before creating the Opportunity. Default value is false.
When set to false, users can only create quotes from an Opportunity.
Before setting to false, delete any quotes that do not have
opportunities.
booleanenableQuotesWithoutOppEnabled
Available in API version 47.0 and later.
Declarative Metadata Sample Definition
The following is an example of the package file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Quote</members>
<name>Settings</name>
</types>
<version>28.0</version>
</Package>
1841
QuoteSettingsMetadata Types
The package file references the following Quote.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<QuoteSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableQuote>true</enableQuote>
<enableQuotesWithoutOppEnabled>true</enableQuotesWithoutOppEnabled>
</QuoteSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RealTimeEventSettings
Represents the list of Real-Time Event entities that you want to enable or disable. This type extends the Metadata metadata type and
inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
Real-Time Event settings are stored in a single file named RealTimeEvent.settings in the settings directory. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
RealTimeEventSettings is available in API version 50.0 and later.
Fields
DescriptionField TypeField Name
Represents the list of Real-Time Event entities that you want
to enable or disable.
RealTimeEvent[]realTimeEvents
RealTimeEvent
Represents one of the Real-Time Event entities that you want to enable or disable.
DescriptionField TypeField Name
The storage or streaming entity name that you want to modify. For
example: ApiEvent or ApiEventStream.
stringentityName
Indicates whether you want the storage or streaming capability to be
enabled (true) or disabled (false).
booleanisEnabled
1842
RealTimeEventSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example RealTimeEvent.settings metadata file:
<?xml version=“1.0” encoding=“UTF-8"?>
<RealTimeEventSettings xmlns=“http://soap.sforce.com/2006/04/metadata”/>
<realTimeEvents>
<entityName>ApiEventStream</entityName>
<isEnabled>true</isEnabled>
</realTimeEvents>
<realTimeEvents>
<entityName>ApiEvent</entityName>
<isEnabled>true</isEnabled>
</realTimeEvents>
</RealTimeEventSettings>
The following is an example package.xml manifest that references the RealTimeEventSettings definitions:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>RealTimeEvent</members>
<name>Settings</name>
</types>
<version>51.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
RecordPageSettings
Represents an orgs record page settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
Declarative Metadata File Suffix and Directory Location
RecordPageSettings values are stored in a single file named RecordPage.settings in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
Record page settings are available in API version 47.0 and later.
1843
RecordPageSettingsMetadata Types
Fields
DescriptionField TypeField
Indicates whether the default activities view
is related lists (true) or activity timeline
(false).
booleanenableActivityRelatedList
Indicates whether Dynamic Forms is
enabled for the org. Removed in API version
50.0 and later.
booleanenableDynamicForms
Indicates whether the default record page
view is full view (true) or grouped view
(false).
booleanenableFullRecordView
Declarative Metadata Sample Definition
This is a sample recordpage.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<RecordPageSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableDynamicForms>true</enableDynamicForms>
<enableActivityRelatedList>true</enableActivityRelatedList>
<enableFullRecordView>true</enableFullRecordView>
</RecordPageSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Record Page settings metadata for an organization
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>RecordPage</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Settings
1844
RecordPageSettingsMetadata Types
RetailExecutionSettings
Represents settings to manage your inventory, promotions, planograms, and in-store activities.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
RetailExecutionSettings are stored in a single file named RetailExecution.settings in the settings directory.
Version
RetailExecutionSettings are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Product Hierarchy is enabled for your org (true) or
not false).
This field is available in API version 53.0 and later.
booleanenableProductHierarchy
Indicates whether Retail Execution is enabled for your org (true) or
not (false).
The default value is false.
booleanenableRetailExecution
Indicates whether Visit Share is enabled for your org (true) or not
(false).
The default value is false.
booleanenableVisitSharing
This field is available in API version 55.0 and later.
Declarative Metadata Sample Definition
The following is an example of a RetailExecutionSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<RetailExecutionSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableRetailExecution>true</enableRetailExecution>
<enableProductHierarchy>true</enableProductHierarchy>
<enableVisitSharing>false</enableVisitSharing>
</RetailExecutionSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>RetailExecution</members>
1845
RetailExecutionSettingsMetadata Types
<name>Settings</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SalesAgreementSettings
Represents settings that control the display of agreement terms metrics in sales agreements and the calculation of the actual quantity
of products in sales agreements. These settings also control the approval of sales agreements.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
SalesAgreementSettings values are stored in the SalesAgreementSettings.salesAgreementSetting file in the
salesAgreementSettings directory.
Version
SalesAgreementSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Required. Source from which the actual ordered quantity of a product
in a sales agreement is calculated. Valid values are:
ActualsCalculationMode(enumeration
of type string)
actualsCalculationMode
Manual: Default
Orders
OrdersThroughContracts
Represents information about the groups for the advanced account
forecast set measures or dimensions. Available in API version 56.0 and
later.
AdvAcctFrcstDisplayGroupdisplayGroups
Required. Metrics that are selected for display in the sales agreement
terms in the specified sequence. There can be a maximum of 10
comma-separated metric names in this list.
stringdisplayedAgreementTermsMetrics
Required. Indicates whether both self-approval and approval of sales
agreements are allowed (true) or only approval of sales agreements
is allowed false) through the Approval Flow.
booleanisOnlyApprovalProcessUsed
1846
SalesAgreementSettingsMetadata Types
DescriptionField TypeField Name
Represents information about the measures to be displayed in the
advanced account forecasts grid for the forecast set. Available in API
version 56.0 and later.
AdvAcctForecastMeasureDef
on page 1848
measureDefinitions
Foreign key to ObjectMapping on page 1848 that maps fields from the
input object of SalesAgreementSettings to fields in the output object of
SalesAgreementSettings.
ObjectMapping on
page 1848
objectMapping
The email address to which notifications are sent.stringprimaryNotifEmailAddress
The number of days before the end date of a sales agreement from when
the agreement can be renewed. Available in API version 50.0 and later.
intrenewalPeriodDayCount
The second email address to which notifications are sent.stringsecondaryNotifEmailAddress
AdvAcctFrcstDisplayGroup
Represents information about the groups for the advanced account forecast set measures or dimensions. Available in API version 56.0
and later.
DescriptionField TypeField Name
Required. Name of the advanced account forecast display group.stringadvAcctFrcstDisplayGroupName
Represents information about the items associated with a display group for an
advanced account forecast set.
AdvAcctFrcstDplyGroupItem
on page 1847
displayGroupItems
Category for the display group.
Possible values are:
AdvAcctFrcstDisplayGroupType(enumeration
of type string)
displayGroupType
MEASURE
Indicates whether the display group is the default group (true) or not
(false). The default value is false.
booleanisDefault
Profile for which the display group is applicable.stringuserProfileName
AdvAcctFrcstDplyGroupItem
Represents information about the items associated with a display group for an advanced account forecast set. Available in API version
56.0 and later.
DescriptionField TypeField Name
Required. Name of the advanced account forecast display group item.stringadvAcctFrcstDplyGroupItemName
Required. Display order of the display group item.stringdisplayOrder
Name of the measure associated with the display group item.stringmeasureReferenceName
1847
SalesAgreementSettingsMetadata Types
AdvAcctForecastMeasureDef
Represents information about the measures to be displayed in the advanced account forecasts grid for the forecast set. Available in API
version 56.0 and later.
DescriptionField TypeField Name
Required. Name for the measure.stringadvAcctForecastMeasureDefName
Required. Type of aggregation used for calculating advanced account forecast
values.
Possible values are:
AdvAcctFcstAggregationType(enumeration
of type string)
aggregationType
AVERAGE
MAXIMUM
MINIMUM
SUM
Required. Method used for calculating advanced account forecast values.
Possible values are:
AdvAcctFcstComputationMethodenumeration
of type string)
computationMethod
CUSTOM
DATA_PROCESSING_ENGINE_DEFINITION
FORMULA
Required. Field of the facts object used for this measure.stringforecastDataMeasureName
Required. Name for the measure to show on UI.stringforecastMeasureName
Required. Measure type used for the generated advanced forecast values.
Possible values are:
AdvAcctFcstMeasureType(enumeration
of type string)
forecastMeasureType
QUANTITY
REVENUE
Indicates whether the adjustments made to the advanced account forecast
values for this metric are tracked (true) or not (false). The default value is
false.
booleanisAdjustmentTracked
ObjectMapping
Represents a map of fields in the input object of SalesAgreementSettings to fields in the output object of SalesAgreementSettings. The
input object is SalesAgreementProductSchedule. The output object is SalesAgreementProduct.
DescriptionField TypeField Name
Required. The input object for the SalesAgreementSettings.
SalesAgreementProductSchedule is the input object for the
SalesAgreementSettings.
stringinputObject
1848
SalesAgreementSettingsMetadata Types
DescriptionField TypeField Name
The mapping of source object fields to target object fields for
SalesAgreementSettings.
ObjectMappingField
on page 1849
mappingFields
Required. The output object for the SalesAgreementSettings.
SalesAgreementProduct is the output object for the SalesAgreementSettings.
stringoutputObject
ObjectMappingField
A field name in the SalesAgreementProductSchedule object and the corresponding field name in the SalesAgreementProduct object.
For example, you can create a field named Revenue on the SalesAgreementProductSchedule object and a field named Total Revenue
on the SalesAgreementProduct object. To view these field values in the agreement terms of a sales agreement, select the input object
as SalesAgreementProductSchedule and the output object as SalesAgreementProduct. In this case, the input field is Revenue and the
output field is Total Revenue.
DescriptionField TypeField Name
Required. Field in the object specified by the inputObject field in
ObjectMapping on page 1848. This field is mapped to the field in
stringinputField
outputField, which is a field in the object specified by the
outputObject field in ObjectMapping on page 1848.
Required. Field in the object specified by the outputObject field in
ObjectMapping on page 1848. This field is mapped to the field name in
stringoutputField
inputField, which is a field in the object specified by the inputObject
field in ObjectMapping on page 1848.
Declarative Metadata Sample Definition
The following is an example of SalesAgreementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SalesAgreementSettings
xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<actualsCalculationMode>Orders</actualsCalculationMode>
<displayGroups>
<advAcctFrcstDisplayGroupName>Test Measure Group</advAcctFrcstDisplayGroupName>
<displayGroupItems>
<advAcctFrcstDplyGroupItemName>PlannedQuantity</advAcctFrcstDplyGroupItemName>
<displayOrder>1</displayOrder>
<measureReferenceName>PlannedQuantity</measureReferenceName>
</displayGroupItems>
<displayGroupType>MEASURE</displayGroupType>
<isDefault>false</isDefault>
<userProfileName xsi:nil="true"/>
</displayGroups>
<displayedAgreementTermsMetrics>PlannedQuantity,ActualQuantity,SalesPrice,DiscountPercentage,DerivedPlannedAmount</displayedAgreementTermsMetrics>
1849
SalesAgreementSettingsMetadata Types
<isOnlyApprovalProcessUsed>false</isOnlyApprovalProcessUsed>
<measureDefinitions>
<advAcctForecastMeasureDefName>PlannedQuantity</advAcctForecastMeasureDefName>
<aggregationType>MINIMUM</aggregationType>
<computationMethod>DATA_PROCESSING_ENGINE_DEFINITION</computationMethod>
<forecastDataMeasureName>PlannedQuantity</forecastDataMeasureName>
<forecastMeasureName>PlannedQuantity</forecastMeasureName>
<forecastMeasureType>QUANTITY</forecastMeasureType>
<isAdjustmentTracked>true</isAdjustmentTracked>
</measureDefinitions>
<secondaryNotifEmailAddress>[email protected]</secondaryNotifEmailAddress>
<primaryNotifEmailAddress>[email protected]</primaryNotifEmailAddress>
<renewalPeriodDayCount>50</renewalPeriodDayCount>
<objectMapping>
<inputObject>SalesAgreementProductSchedule</inputObject>
<mappingFields>
<inputField>SAPS1__c</inputField>
<outputField>SAP1__c</outputField>
</mappingFields>
<outputObject>SalesAgreementProduct</outputObject>
</objectMapping>
</SalesAgreementSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SalesAgreementProduct.SAP1__c</members>
<members>SalesAgreementProductSchedule.SAPS1__c</members>
<name>CustomField</name>
</types>
<types>
<members>*</members>
<name>SalesAgreementSettings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SandboxSettings
Represents Sandbox settings. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1850
SandboxSettingsMetadata Types
File Suffix and Directory Location
SandboxSettings values are stored in the Sandbox.settings file in the settings folder. The .settings files are different
from other named components because there is only one settings file for each settings component.
Version
SandboxSettings are available in API version 56.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether to disable sandbox expiration email notifications for
the source (production) org: true or false. When disabled in the
booleandisableSandboxExpirationEmails
source (production) org, users no longer receive email notifications for
impending deletions of sandboxes that have been inactive for 180 days
or longer.
Declarative Metadata Sample Definition
The following is an example of a SandboxSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SandboxSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<disableSandboxExpirationEmails>true</disableSandboxExpirationEmails>
</SandboxSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SchemaSettings
Represents an orgs schema settings, which manage the availability of custom settings and custom metadata type values. This type
extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
SchemaSettings values are stored in the Schema.settings file in the settings directory. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
SchemaSettings is available in API version 47.0 and later.
1851
SchemaSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether custom metadata type values are available only to
Apex, flow, and formula operations (true) or exposed in other contexts
booleanenableAdvancedCMTSecurity
such as through the Enterprise WSDL or SOAP API (false). This field
has a default value of false.
Indicates whether custom settings type values are available only to Apex,
flow, and formula operations (true) or exposed in other contexts such
booleanenableAdvancedCSSecurity
as through the Enterprise WSDL or SOAP API (false). This field has a
default value of false.
Indicates whether you can create custom settings when using
application-level data definitions (true) or not (false). This field has
a default value of false.
booleanenableListCustomSettingCreation
Indicates whether custom settings values are returned in Salesforce
Object Search language (SOSL) queries (true) or not (false). This
field has a default value of false.
booleanenableSOSLOnCustomSettings
Declarative Metadata Sample Definition
The following is an example of a SchemaSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SchemaSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableAdvancedCMTSecurity>true</enableAdvancedCMTSecurity>
<enableAdvancedCSSecurity>true</enableAdvancedCSSecurity>
<enableListCustomSettingCreation>false</enableListCustomSettingCreation>
<enableSOSLOnCustomSettings>true</enableSOSLOnCustomSettings>
</SchemaSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Schema</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1852
SchemaSettingsMetadata Types
SearchSettings
Represents an org's search settings.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
SearchSettings values are stored in a single file named Search.settings in the settings folder. The .settings files are
different from other named components because theres only one settings file for each settings component.
Version
SearchSettings is available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether a full-text document search is performed.booleandocumentContentSearchEnabled
Indicates whether advanced search is available in the search
sidebar (true) or not (false). Available in Salesforce Classic
only. Available in API version 46.0 and later.
booleanenableAdvancedSearchInAlohaSidebar
Indicates whether the Einstein search experience is enabled
(true) or not (false). Available in API version 50.0 and later.
booleanenableEinsteinSearchAssistantDialog
Indicates whether natural language search is enabled (true)
or not (false). Available in API version 50.0 and later.
booleanenableEinsteinSearchNaturalLanguage
Indicates whether search personalization is enabled (true)
or not (false). Available in Lightning Experience only.
Available in API version 47.0 and later.
booleanenableEinsteinSearchPersonalization
Indicates whether users are allowed to group records from
various objects by a common theme (true) or not (false).
booleanenablePersonalTagging
Personal tags are visible to the user only. Available in Salesforce
Classic only. Available in API version 48.0 and later.
Indicates whether users are allowed to group records from
various objects by a common theme (true) or not (false).
booleanenablePublicTagging
Personal tags are visible to all users. Available in Salesforce
Classic only. Available in API version 48.0 and later.
Indicates whether search synonyms are enabled (true) or
not (false). Available in API version 47.0 and later.
booleanenableSalesforceGeneratedSynonyms
Indicates whether users are allowed to group records from
various objects by a common theme (true) or not (false).
booleanenableSearchTermHistory
Public tags are visible to everyone in the organization. Available
1853
SearchSettingsMetadata Types
DescriptionField TypeField Name
in Salesforce Classic only. Available in API version 48.0 and
later.
Indicates whether the search box in the Setup sidebar returns
matching custom fields, custom objects, and other supported
booleanenableSetupSearch
setup items when you press Enter (true) or not (false).
The default is true in Developer, Performance, Professional,
Enterprise, and Unlimited editions, and false in all other
editions. Available in API version 47.0 and later.
Indicates whether links are provided to knowledge articles
from Cases similar to the current Case (true) or not (false).
Available in API version 48.0 and later.
booleanenableSuggestArticlesLinksOnly
Indicates whether to use the admin-specified default entity in
sidebar search (true) or not (false). Available in Salesforce
Classic only. Available in API version 48.0 and later.
booleanenableUseDefaultSearchEntity
Required. Indicates whether the search is optimized for the
Japanese, Chinese, and Korean languages (true) or not
booleanoptimizeSearchForCJKEnabled
(false). This setting affects sidebar search and the account
search for Find Duplicates on a lead record in sidebar search
and global search. Enable this option if users are searching
mostly in Japanese, Chinese, or Korean, and if the text in
searchable fields is mostly in those languages.
Required. Indicates whether the list of records that are returned
from a user autocomplete lookup and from a blank user lookup
booleanrecentlyViewedUsersForBlankLookupEnabled
is taken from the users recently viewed user records (true).
Otherwise this setting is false if the lookup shows a list of
recently accessed user records from across your org (false).
Only applies to User object blank lookup searches.
Required. Represents a list of search settings for each object.SearchSettingsByObjectsearchSettingsByObject
Required. Indicates whether autocomplete is enabled for
sidebar search (true) or not (false). Autocomplete is when
booleansidebarAutoCompleteEnabled
users start typing search terms and sidebar search displays a
matching list of recently viewed records.
Required. Indicates whether a dropdown list appears in the
sidebar search section (true) or not (false). From this list,
booleansidebarDropDownListEnabled
users can select to search within tags, within a specific object,
or across all objects.
Required. Indicates whether the Limit to Items I Own
checkbox appears (true) or not (false). The checkbox
booleansidebarLimitToItemsIOwnCheckboxEnabled
allows your users to include only records for which they are
the record owner when entering search queries in the sidebar.
1854
SearchSettingsMetadata Types
DescriptionField TypeField Name
Required. Indicates whether a shortcut is enabled (true) or
not (false). With the shortcut, users skip the search results
booleansingleSearchResultShortcutEnabled
page and go directly to the records detail page when their
search returns only a single item. This setting doesn't apply to
tags, case comments (in advanced search), and global search.
Required. Indicates whether spell check is enabled for
Knowledge search (true) or not (false).
booleanspellCorrectKnowledgeSearchEnabled
SearchSettingsByObject
DescriptionField TypeField Name
Contains a list of search settings for each object.ObjectSearchSettingsearchSettingsByObject
ObjectSearchSetting
A list of search settings for each object.
DescriptionField TypeField Name
Required. Indicates whether enhanced lookups is enabled for the object
(true) or not (false).
booleanenhancedLookupEnabled
Required. Indicates whether autocomplete is enabled for lookup search
(true) or not (false). Autocomplete is when users edit the lookup
field inline by choosing an autosuggestion.
booleanlookupAutoCompleteEnabled
Required. The entity name of the object being configured.stringname
Required. The number of search results per page.intresultsPerPageCount
Declarative Metadata Sample Definition
The following is an example of the Search.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<SearchSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableSetupSearch>false</enableSetupSearch>
<enableAdvancedSearchInAlohaSidebar>false</enableAdvancedSearchInAlohaSidebar>
<enableQuerySuggestionPigOn>false</enableQuerySuggestionPigOn>
<enableSalesforceGeneratedSynonyms>false</enableSalesforceGeneratedSynonyms>
<enableSearchTermHistory>false</enableSearchTermHistory>
<enablePublicTagging>false</enablePublicTagging>
<enablePersonalTagging>false</enablePersonalTagging>
<enableSuggestArticlesLinksOnly>false</enableSuggestArticlesLinksOnly>
<enableUseDefaultSearchEntity>false</enableUseDefaultSearchEntity>
1855
SearchSettingsMetadata Types
<documentContentSearchEnabled>true</documentContentSearchEnabled>
<optimizeSearchForCJKEnabled>true</optimizeSearchForCJKEnabled>
<recentlyViewedUsersForBlankLookupEnabled>true</recentlyViewedUsersForBlankLookupEnabled>
<searchSettingsByObject>
<searchSettingsByObject>
<enhancedLookupEnabled>false</enhancedLookupEnabled>
<lookupAutoCompleteEnabled>false</lookupAutoCompleteEnabled>
<name>Account</name>
<resultsPerPageCount>25</resultsPerPageCount>
</searchSettingsByObject>
<searchSettingsByObject>
<enhancedLookupEnabled>false</enhancedLookupEnabled>
<lookupAutoCompleteEnabled>false</lookupAutoCompleteEnabled>
<name>Activity</name>
<resultsPerPageCount>25</resultsPerPageCount>
</searchSettingsByObject>
<searchSettingsByObject>
<enhancedLookupEnabled>false</enhancedLookupEnabled>
<lookupAutoCompleteEnabled>false</lookupAutoCompleteEnabled>
<name>Asset</name>
<resultsPerPageCount>25</resultsPerPageCount>
</searchSettingsByObject>
</searchSettingsByObject>
<sidebarAutoCompleteEnabled>true</sidebarAutoCompleteEnabled>
<sidebarDropDownListEnabled>true</sidebarDropDownListEnabled>
<sidebarLimitToItemsIOwnCheckboxEnabled>true</sidebarLimitToItemsIOwnCheckboxEnabled>
<singleSearchResultShortcutEnabled>true</singleSearchResultShortcutEnabled>
<spellCorrectKnowledgeSearchEnabled>true</spellCorrectKnowledgeSearchEnabled>
<enableEinsteinSearchPersonalization>true</enableEinsteinSearchPersonalization>
</SearchSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the Search settings metadata for an organization.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Search</members>
<name>Settings</name>
</types>
<version>37.0</version>
</Package>
1856
SearchSettingsMetadata Types
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SecuritySettings
Represents an orgs security settings. For example, settings define trusted IP ranges for network access, password and login requirements,
session expiration, and single sign-on settings.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
SecuritySettings values are stored in a single file named Security.settings in the settings directory. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
Security settings are available in API version 27.0 and later. API versions 26 and earlier are no longer available.
Fields
DescriptionField TypeField Name
If true, users can grant login access to Support. If false,
only an admin can grant login access.
booleancanUsersGrantLoginAccess
Users cant grant login access to managed packages that are
licensed to your entire Salesforce org. Only admins with the
Manage Users permission enabled on their profiles can grant
access to these publishers. Also, some managed packages dont
have login access. If a package isnt listed on the Login Access
Policies page, login access isnt available for that package.
If true, the Administrators Can Log in as Any User field is
enabled. The default isnt enabled (false).
booleanenableAdminLoginAsAnyUser
If true, this setting enables audit fields and updating the owner
for records that are owned by inactive users. The default value
is false. This field is available in API version 47.0 and later.
booleanenableAuditFieldsInactiveOwner
If true, this setting prevents the creation of function
expressions in dynamically created Aura components. The
booleanenableAuraSecureEvalPref
default is false. This field is available in API version 47.0 and
later.
1857
SecuritySettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the Cross-Origin Embedder Policy (COEP)
response header is applied to this orgs custom Visualforce pages
booleanenableCoepHeader
(true) or not (false). If true, externally sourced embedded
content loads only when the external origin allows it via CORS
or CORP. The default value is false.
Available in API version 55.0 and later.
Indicates whether the Cross-Origin Opener Policy (COOP)
response header is applied to this orgs custom Visualforce pages
booleanenableCoopHeader
(true) or not (false). If true, each custom Visualforce page
opens in a new browsing context group. The default value is
false.
Available in API version 55.0 and later.
Indicates whether redirections to other Salesforce orgs are
allowed (true) or blocked (false). In Summer 24 and later,
this field is always false.
This setting applies to user redirections to another Salesforce
org via a direct link, a post-action URL, or a post-login URL in
booleanenableCrossOrgRedirects
Salesforce. An example of a direct link with a redirection is <a
href="/?startURL=targetUrl">linkText">linkText</a>.
Post-action URLs and post-login URLs use a protected URL
redirect parameter, such as retURL, startURL, saveURL,
cancelURL, and targetURL. Subsequent redirections
cant be verified because they occur outside Salesforce.
To allow cross-org redirections, add the URLs for the Salesforce
orgs that you own to RedirectWhitelistUrl.
Available in API version 59.0 to 60.0.
Indicates whether the pages that Salesforce serves for this org
include the Permissions-Policy HTTP header. This HTTP
booleanenablePermissionsPolicy
header controls access to browser features such as cameras and
microphones. When this field is false, access to the browser
features is always permitted. The default value is false.
Available in API version 59.0 and later.
Deprecated in API version 47.0 and later.booleanenableRequireHttpsConnection
When enablePermissionsPolicy is true, indicates
when apps and websites loaded from Salesforce can access the
users camera.
Possible values are:
PermissionsPolicy
(enumeration)
grantCameraAccess
AlwaysAll apps and websites loaded from Salesforce
can access the users camera.
1858
SecuritySettingsMetadata Types
DescriptionField TypeField Name
NeverNo apps or websites, including scripts from
Salesforce domains, can access the users camera.
TrustedUrlsOnly CspTrustedSite entries with
canAccessCamera set to true can access the users
camera.
If enablePermissionsPolicy is false, this field has
no effect.
This field is available in API version 59.0 and later.
When enablePermissionsPolicy is true, indicates
when apps and websites loaded from Salesforce can access the
users microphone.
Possible values are:
Permissions Policy
(enumeration)
grantMicrophoneAccess
AlwaysAll apps and websites loaded from Salesforce
can access the users microphone.
NeverNo apps or websites, including scripts from
Salesforce domains, can access the users microphone.
TrustedUrlsOnly CspTrustedSite entries with
canAccessMicrophone set to true can access the
users microphone.
If enablePermissionsPolicy is false, this field has
no effect.
This field is available in API version 59.0 and later.
Indicates whether connections to or from your Salesforce org
must use TLS 1.2 or higher (true) or not (false). This field
booleanisTLSv12Required
has a default value of false. Removed in API version 51.0 and
later.
Indicates whether connections with your Salesforce sites and
portals or Experience Cloud sites must use TLS 1.2 or higher
booleanisTLSv12RequiredCommunities
(true) or not (false). This field has a default value of false.
Removed in API version 51.0 and later.
The trusted IP address ranges from which users can always log
in without requiring computer activation.
NetworkAccessnetworkAccess
The requirements for passwords and logins, and assistance with
retrieving forgotten passwords.
PasswordPoliciespasswordPolicies
In rare cases, Salesforce cant identify whether the requesting
app or specialized browser supports the
booleansendCspForUncommonClients
Content-Security-Policy: frame-ancestors
HTTP header directive. In those cases, this field indicates whether
that directive is included in (true) or omitted from (false)
1859
SecuritySettingsMetadata Types
DescriptionField TypeField Name
the HTTP response header for pages that Salesforce serves for
this org. The default value is false.
When sendCspForUncommonClients is true, users
who access Salesforce via an app or browser that doesnt support
the Content-Security-Policy:
frame-ancestors HTTP header directive can experience
errors if that lack of support is unclear.
This field is available in API version 59.0 and later.
The settings for session expiration and security.SessionSettingssessionSettings
The settings for single sign-on (SSO).SingleSignOnSettingssingleSignOnSettings
NetworkAccess
Represents your orgs trusted IP address ranges for network access.
DescriptionField TypeField
The trusted IP address ranges from which users can always log
in without requiring computer activation.
To add an IP range, deploy all existing IP ranges, including the
one you want to add. Otherwise, the existing IP ranges are
IpRange[]ipRanges
replaced with the ones you deploy. To remove all the IP ranges,
leave the networkAccess field blank
(<networkAccess></networkAccess>).
IpRange
Defines a range of trusted IP addresses for network access.
DescriptionField TypeField
The description of the trusted IP range. Use this field to identify
the range, such as which corporate network corresponds to this
range. Available in API version 34.0 and later.
stringdescription
The IP address that defines the high end of a range of trusted
addresses.
stringend
The IP address that defines the low end of a range of trusted
addresses.
stringstart
PasswordPolicies
Represents your orgs password and login policies, which show up under Security Controls | Password Policies.
1860
SecuritySettingsMetadata Types
DescriptionField TypeField
The URL to which users with the API Only User permission are
redirected instead of the login page.
stringapiOnlyUserHomePageURL
The types of characters that must be used in a users password.
Valid values are:
Complexity (enumeration of
type string)
complexity
NoRestrictionHas no requirements and is the least
secure option.
AlphaNumericThe default setting. Requires at least
one alphabetic character and one number. This value is the
default value.
SpecialCharactersRequires at least one alphabetic
character, one number, and one of the following characters:
! " # $ % & ' ( ) * + , - . / : ; < =
> ? @ [ \ ] ^ _ ` { | } ~.
UpperLowerCaseNumericRequires at least one
number, one uppercase letter, and one lowercase letter.
This value is available in API version 31.0 and later.
UpperLowerCaseNumericSpecialCharactersRequires
at least one number, one uppercase letter, one lowercase
letter, and one of the following characters: ! " # $ %
& ' ( ) * + , - . / : ; < = > ? @ [ \
] ^ _ ` { | } ~. This value is available in API version
31.0 and later.
Any3UpperLowerCaseNumericSpecialCharactersRequires
at least three of the following options: one number, one
uppercase letter, one lowercase letter, and one special
character (! " # $ % & ' ( ) * + , - . /
: ; < = > ? @ [ \ ] ^ _ ` { | } ~). This
value is available in API version 46.0 and later.
Deprecated in API version 51.0. Removed in API version 52.0.booleanenableSetPasswordInApi
The length of time until a user password expires and must be
changed. Valid values are:
Expiration (enumeration of type
string)
expiration
Never
ThirtyDays
SixtyDays
NinetyDays. This value is the default value.
SixMonths
OneYear
The number of previous passwords saved for users so that they
must always reset a new, unique password. Valid values are 0
stringhistoryRestriction
through 24 passwords remembered. The maximum value of
1861
SecuritySettingsMetadata Types
DescriptionField TypeField
24 applies to API version 31.0 and later. In earlier versions, the
maximum value is 16. The default value is 3.
The duration of the login lockout. Valid values are:
LockoutInterval (enumeration
of type string)
lockoutInterval
FifteenMinutes. This value is the default value.
ThirtyMinutes
SixtyMinutes
Forever (must be reset by admin)
The number of login failures allowed for a user before the user
is locked out. Valid values are:
MaxLoginAttempts
(enumeration of type string)
maxLoginAttempts
NoLimit
ThreeAttempts
FiveAttempts
TenAttempts. This value is the default value.
The minimum number of characters required for a password.
The number can contain from 5 to 50 characters (default is 8).
Available in API version 35.0 and later.
stringminimumPasswordLength
Before API version 35.0, specify minimum password length with
the enumeration minPasswordLength, with valid values
FiveCharacters, EightCharacters (default),
TenCharacters, TwelveCharacters (API version
31.0 and later), and FifteenCharacters (API version 34.0
and later).
If Require a minimum 1 day password lifetime is enabled
(true), passwords cant be changed more than one time during
booleanminimumPasswordLifetime
a 24-hour period. The default is false. Available in API version
31.0 and later.
If enabled (true), hide answers to security questions as the
user types. The default is false.
If your org uses the Microsoft Input Method Editor (IME) with
the input mode set to Hiragana, when you type ASCII characters,
booleanobscureSecretAnswer
theyre converted in to Japanese characters in normal text fields.
However, the IME doesnt work properly in fields with obscured
text. If your orgs users cant properly enter their passwords or
other values after enabling this feature, disable the feature.
The text that appears in the Account Lockout email and at the
bottom of the Confirm Identity screen for users resetting their
passwords.
stringpasswordAssistanceMessage
The URL that users can click to retrieve forgotten passwords.stringpasswordAssistanceURL
1862
SecuritySettingsMetadata Types
DescriptionField TypeField
The restriction on whether the answer to the password hint
question can contain the password itself. Valid values are:
QuestionRestriction
(enumeration of type string)
questionRestriction
None
DoesNotContainPassword. This value is the default
value.
SessionSettings
Represents your orgs session expiration and security settings.
DescriptionField TypeField
If enabled (true), users can authenticate with a PEM-encoded
X.509 digital certificate. Not enabled by default. Available in API
version 47.0 and later.
booleanallowUserAuthenticationByCertificate
If enabled (true), authentication certificates are validated
using the Online Certificate Status Protocol (OCSP) or a
Certificate Revocation List (CRL).
booleanallowUserCertBasedAuthenticationWithOcspValidation
If Require email confirmations for email address changes
is enabled (true), when users change their email address, they
booleancanConfirmEmailChangeInLightningCommunities
receive an email at the new address with a link. After they click
the link, their new email address takes effect. For orgs created
before Winter 20, the field isnt enabled by default. For new
orgs, this field is always enabled. To disable the field (not
recommended), contact Salesforce Customer Support. Available
in API version 47.0 and later.
Prevents identity verification by email for users who have
registered other verification methods, such as SMS or Salesforce
booleancanConfirmIdentityBySmsOnly
Authenticator. If no other verification methods are configured,
users are verified by email.
By default, this setting is disabled (false) for existing orgs.
For new orgs, this setting is enabled (true) by default.
Available in API version 48.0 and later.
Indicates whether the session timeout warning popup is
disabled (true) or enabled (false).
booleandisableTimeoutWarning
Indicates whether users can verify their identity with a built-in
authenticator that's already on their device (true), such as
booleanenableBuiltInAuthenticator
Touch ID or Windows Hello, or not (false). The default value
is false.
Indicates whether a content security policy is enabled for the
email template. A content security policy helps prevent
booleanenableCSPOnEmail
1863
SecuritySettingsMetadata Types
DescriptionField TypeField
cross-site scripting attacks by listing allowed sources of images
and other content.
Indicates whether Cross-Site Request Forgery (CSRF) protection
on GET requests on non-setup pages is enabled (true) or
disabled (false).
booleanenableCSRFOnGet
Indicates whether Cross-Site Request Forgery (CSRF) protection
on POST requests on non-setup pages is enabled (true) or
disabled (false).
booleanenableCSRFOnPost
Indicates whether the users browser is allowed to store
usernames and auto-fill the User Name field on the login
page (true) or not (false).
booleanenableCacheAndAutocomplete
Indicates whether clickjack protection for non-setup Salesforce
pages is enabled (true) or disabled (false).
booleanenableClickjackNonsetupSFDC
Indicates whether clickjack protection for customer Visualforce
pages with standard headers turned on is enabled (true) or
disabled (false).
booleanenableClickjackNonsetupUser
Indicates whether clickjack protection for customer Visualforce
pages with standard headers turned off is enabled (true) or
disabled (false). Available in API version 34.0 and later.
booleanenableClickjackNonsetupUserHeaderless
Indicates whether clickjack protection for setup pages is enabled
(true) or disabled (false).
booleanenableClickjackSetup
Indicates whether the browser is prevented from inferring the
MIME type from the document content and from executing
malicious files (JavaScript, Style sheet) as dynamic content.
booleanenableContentSniffingProtection
This field is available in API version 39.0 and later. In API version
58.0 and later, enableContentSniffingProtection
is always true.
If enabled (true), users can use Lightning Login (Salesforce
Authenticator) to log in instead of a password. Available in API
Version 47.0 and later.
booleanenableLightningLogin
If enabled (true), only users with the Lightning Login User
permission can log in with Salesforce Authenticator instead of
a password. Available in API version 47.0 and later.
booleanenableLightningLoginOnlyWithUserPerm
Requires all users in your Salesforce org to provide an additional
verification method when logging in directly to the UI with their
booleanenableMFADirectUILoginOptIn
username and password. Users who are already enabled via
the Multi-Factor Authentication for User Interface Logins user
permission experience no change. The Waive Multi-Factor
Authentication for Exempt Users user permission overrides this
setting.
1864
SecuritySettingsMetadata Types
DescriptionField TypeField
If set to true, enables Cross-Origin Resource Sharing (CORS)
for these OAuth endpoints:
booleanenableOauthCorsPolicy
/services/oauth2/token
/services/oauth2/revoke
/services/oauth2/introspect
Default setting is false. Available in API version 50.0 and
later.
Indicates whether cross-domain session information is
exchanged using a POST request instead of a GET request, such
booleanenablePostForSessions
as when a user is using a Visualforce page. In this context, POST
requests are more secure than GET requests. Available in API
version 31.0 and later.
If enabled (true), the default, users can receive a one-time
password in a text message (SMS) to verify their identity. Users
booleanenableSMSIdentity
must verify their mobile phone number before they can receive
SMS messages.
If enabled (true), users can use a physical U2F-compatible
security key for multi-factor authentication (MFA) and identity
booleanenableU2F
verification. The default is false. Available in API version 47.0
and later.
Indicates whether HTTPS is required for connecting to
third-party domains.
booleanenableUpgradeInsecureRequests
This setting is enabled by default on accounts created after the
Summer 17 release.
This field is available in API version 42.0 to 60.0.
Indicates whether the HTTP X-XSS-Protection response
header is enabled to protect against reflected cross-site scripting
attacks.
booleanenableXssProtection
This field is available in API version 39.0 to 59.0. The HTTP
X-XSS-Protection response header is deprecated. To
help prevent cross-site scripting (XSS) and other code injection
attacks, use the CSPTrustedSite metadata type.
If true, the IP addresses in Login IP Ranges are enforced when
a user accesses Salesforce (on every page request), including
booleanenforceIpRangesEveryRequest
access from a client app. If false, the IP addresses in Login
IP Ranges are enforced only when a user logs in. This field affects
all user profiles with login IP restrictions. Available in API version
34.0 and later.
1865
SecuritySettingsMetadata Types
DescriptionField TypeField
If enabled, and a UserDevices status is set to revoked, that
device cant log in from a Salesforce app. Logins from browsers
arent affected.
booleanenforceUserDeviceRevoked
This field is available in API version 50.0 and later.
If enabled (true), the default, when sessions time out for
inactive users, current sessions become invalid. The browser
booleanforceLogoutOnSessionTimeout
refreshes and returns to the login page. To access the org, the
user must log in again. Available in API version 31.0 and later.
If true, an admin who is logged in as another user must log
in again to their original session, after logging out as the
booleanforceRelogin
secondary user. If false, the admin isnt required to log in
again.
If you enable Remember me until logout (true), usernames
(login hints) are cached until the user logs out. If a session times
booleanhasRetainedLoginHints
out, usernames appear on the Switcher as inactive. If false
(default), usernames aren't cached for SSO sessions.
If Enable user switching istrue (default), users can log in to
other orgs by selecting their profile picture and using the
booleanhasUserSwitching
Switcher. You must also enable the Enable caching and
autocomplete on login page setting.
If false, the Switcher isnt enabled and your org doesnt
appear in Switchers on other orgs.
Indicates whether Visualforce, Salesforce sites, or Experience
Cloud sites must use HTTPS. Available in API version 41.0 and
later.
booleanhstsOnForcecomSites
Indicates whether a users identity is confirmed when changing
their email address, instead of requiring a relogin.
booleanidentityConfirmationOnEmailChange
This field is available in API version 42.0 and later.
Indicates whether users are required to confirm their identities
when adding a verification method such as Salesforce
booleanidentityConfirmationOnTwoFactorRegistrationEnabled
Authenticator for multi-factor authentication (MFA), instead of
requiring a relogin. (Multi-factor authentication was formerly
called two-factor authentication.)
This field is available in API version 40.0 and later.
Indicates whether the current UI session for a user is associated
with a specific domain. This check helps prevent unauthorized
booleanlockSessionsToDomain
use of the session ID in another domain. The value is true by
default for orgs created with the Spring 15 release or later.
Available in API version 33.0 and later.
1866
SecuritySettingsMetadata Types
DescriptionField TypeField
Indicates whether user sessions are locked to the IP address
from which the user logged in (true) or not (false).
booleanlockSessionsToIp
The API version that Lightning Locker enforces for security of
custom Lightning components. The default value matches the
stringlockerServiceAPIVersion
Salesforce API version of the current release. Only valid
Salesforce API versions between 46.0 and the current release
can be specified. The version must be specified as a string in
the format "nn.0", such as "48.0". This setting has no
effect on the lockerServiceNext setting, which enables
Lightning Web Security.
This field is available in API version 47.0 and later.
If true, a stricter Content Security Policy is enabled to disallow
the unsafe-inline source for the script-src CSP
booleanlockerServiceCSP
directive. Script tags cant be used to load JavaScript, and event
handlers cant use inline JavaScript. Lightning Locker and
Lightning Web Security depend on this setting to be enabled
to protect Lightning components.
If true, Lightning Web Security is used instead of Lightning
Locker to protect Lightning web components. Lightning Locker
booleanlockerServiceNext
continues to protect Aura components. If false, Lightning
Locker protects Lightning web components and Aura
components. Available in API version 53.0 and later.
Reserved for internal use.booleanlockerServiceNextControl
The URL to which users are redirected when they log out of
Salesforce. If no value is specified, the default is
stringlogoutURL
https://MyDomainName.my.salesforce.com.
Available in API version 34.0 and later.
If true, users cant access untrusted URLs outside the
Salesforce domains via links in a web tab. When a user clicks
booleanredirectBlockModeEnabled
the link, a message informs the user that they cant access the
page because the external site isnt trusted. The default is
false.
To specify the URLs that you trust, use the RedirectWhitelistUrl
Metadata type.
The redirectBlockModeEnabled and
redirectionWarning fields are mutually exclusive. Only
one of those fields can be true.
Available in API 56.0 and later.
If true, users see an alert when they click a link in a web tab
that redirects them to an untrusted URL outside the Salesforce
booleanredirectionWarning
1867
SecuritySettingsMetadata Types
DescriptionField TypeField
domains. The default is true in orgs created in Spring 18 and
later and false in orgs created in Winter 18 and earlier.
To specify the URLs that you trust, use the RedirectWhitelistUrl
Metadata type.
The redirectBlockModeEnabled and
redirectionWarning fields are mutually exclusive. Only
one of those fields can be true.
Available in API version 42.0 and later.
If true, pages served by Salesforce for this org include the
referrer-policy HTTP header with the directive defined
booleanreferrerPolicy
by referrerPolicyDirective. If false, that HTTP
header isnt included and requests can always see the full URL
of the Salesforce page. The default is true. Available in API
version 42.0 and later.
In API version 42.057.0, if referrerPolicy is true,
pages served by Salesforce for this org include the
referrer-policy HTTP header with the
origin-when-cross-origin directive.
The HTTP referrer policy directive for pages served by Salesforce.
The default is origin-when-cross-origin. If
ReferrerPolicy
(enumeration
of type string)
referrerPolicyDirective
referrerPolicy is false, this value has no effect.
Available in API version 58.0 and later.
Valid values are:
origin-when-cross-originSend the origin
only for cross-domain requests or when the target website
is on a downgraded protocol. An example of a downgraded
protocol is a request made from an HTTPS URL to an HTTP
site. This is the default setting.
no-referrerNever include the referrer.
no-referrer-when-downgradeOmit the referrer
when the target website is on a downgraded protocol. For
example, when making a request to an HTTP site from an
HTTPS URL. This referrerPolicyDirective isnt
recommended,because the full URL of the page is exposed
to cross-origin requests to the same or a higher protocol
level. For example, requests from HTTPS to HTTPS and
requests from HTTP to either HTTP or HTTPS.
originAlways send the origin only.
same-originOmit the referrer for cross-origin
requests.
strict-originFor requests with the same protocol
level (HTTPS to HTTPS), send the origin only. Omit the
1868
SecuritySettingsMetadata Types
DescriptionField TypeField
referrer when the target website is on a downgraded
protocol. An example of a downgraded protocol is a request
made from an HTTPS URL to an HTTP site.
strict-origin-when-cross-originFor
same-origin requests, send the full referrer URL. For
cross-origin requests with the same protocol level (HTTPS
to HTTPS), send the origin only. Omit the referrer when the
target website is on a downgraded protocol.
unsafe-urlAlways include the full referrer URL. This
referrerPolicyDirective isnt recommended because the full
URL of the page is exposed to requests from insecure
origins.
For more information on HTTP referrer policy directives,
including examples, see the Referrer-Policy entry in the MDN
Docs HTTP Guide.
Sets the HttpOnly attribute on session cookies, making them
inaccessible via JavaScript. If true, session ID cookie access is
restricted. If false, access is restricted.
If you have a custom or packaged application that uses
JavaScript to access session ID cookies, your application breaks
booleanrequireHttpOnly
if requireHttpOnly is set to true. The application can't
access the cookie.
This field is available in API version 40.0 to 60.0.
Determines whether HTTPS is required to log in to or access
Salesforce. This option is enabled by default for security reasons
booleanrequireHttps
and cant be disabled. To change to HTTP, contact Salesforce
Customer Support.
This field is available in API version 40.0 and later.
Deprecated in API version 36.0 to 50.0. Removed in API version
51.0 and later.
booleansecurityCentralKillSession
The length of time after which users without activity are
prompted to log out or continue working. Valid values are:
SessionTimeout
(enumeration
of type string)
sessionTimeout
FifteenMinutes
ThirtyMinutes
SixtyMinutes
NinetyMinutesAvailable in API version 58.0 and
later.
TwoHours
FourHours
EightHours
1869
SecuritySettingsMetadata Types
DescriptionField TypeField
TwelveHours
TwentyFourHoursAvailable in API version 38.0 and
later.
If true, a Lightning app replaces the authentication cookie
with a session token when the Lightning app is in a third-party
context, such as Lightning Out.
Browsers are restricting the use of third-party cookies. This org
setting is an alternative for the authentication cookie to
booleansidToken3rdPartyAuraApp
requiring that users disable browser settings, such as Safaris
Prevent cross-site tracking setting.
This field is available in API version 59.0 and later.
Indicates which screen users see first when they're prompted
to register a verification method for multi-factor authentication
(MFA).
If true, users see a list of all supported verification methods.
booleanskipSFAWhenMFADirectUILogin
If false, users see only the Salesforce Authenticator option.
To see a list of all supported verification methods, users must
navigate to a new page.
Indicates what happens to a user's UI sessions when an admin
resets that user's password. If true, all of the user's UI sessions
are terminated. If false, no UI sessions are terminated.
booleanterminateUserSessionsWhenAdminResetsPassword
Redirects all expired tabs in your browser to your custom logout
URL (true). By default, this option is enabled for all new orgs
and is available in API version 52.0 and later.
For orgs created prior to the Summer 21 release, the default
setting is false. Before enabling this setting, review these
considerations.
booleanuseLocalStorageForLogoutUrl
This setting uses the browsers local storage to store the
custom logout URL.
Verify that this setting doesnt interfere with your custom
login integrations.
SingleSignOnSettings
Represents your orgs single sign-on (SSO) settings. These settings are available API version 47.0 and later.
DescriptionField TypeField Name
If you enable Make Federation ID case-insensitive (true),
the Federation ID field on a user object isnt case-sensitive. If
booleanenableCaseInsensitiveFederationID
1870
SecuritySettingsMetadata Types
DescriptionField TypeField Name
disabled (false), the Federation ID field remains case-sensitive.
The default is false.
If you enable Force Delegated Authentication Callout
(true), a callout to the SSO endpoint occurs regardless of login
booleanenableForceDelegatedCallout
restriction failures. If disabled (false), the default, and if a
users first login attempt fails due to login restrictions within the
Salesforce org, a call isnt made to the SSO endpoint.
If true (default), you can configure multiple SAML providers.
After enabling the setting, it cant be disabled.
booleanenableMultipleSamlConfigs
If you enable User Provisioning Enabled (true), you can
provision users through a SAML assertion (called just-in-time
booleanenableSamlJitProvisn’tioning
provisioning). Requires EnableSamlLogin to be true
and enableMultipleSamlConfigs to be false. The
default is enabled (false).
If you enable SAML Enabled (true), users can SSO into
Salesforce from providers via SAML. The default isnt enabled
(false).
booleanenableSamlLogin
If Disable login with Salesforce credentials is true, users
are redirected to third-party identity providers for authentication.
The default is enabled (false).
If you enabled this feature prior to the Summer 20 release and
want to disable it prior to July 27, 2020, contact Customer
Support.
booleanisLoginWithSalesforceCredentialsDisabled
Declarative Metadata Sample Definition
The following is a sample security.settings metadata file.
<?xml version="1.0" encoding="UTF-8"?>
<SecuritySettings xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<canUsersGrantLoginAccess>true</canUsersGrantLoginAccess>
<enableAdminLoginAsAnyUser xsi:nil="true"/>
<enableAuditFieldsInactiveOwner xsi:nil="true"/>
<enableAuraSecureEvalPref xsi:nil="true"/>
<enableCoopHeader>true</enableCoopHeader>
<enableCoepHeader>false</enableCoepHeader>
<enableCrossOrgRedirects>false</enableCrossOrgRedirects>
<enablePermissionsPolicy>true</enablePermissionsPolicy>
<grantCameraAccess>TrustedUrls</grantCameraAccess>
<grantMicrophoneAccess>TrustedUrls</grantMicrophoneAccess>
<networkAccess/>
<passwordPolicies>
<complexity>NoRestriction</complexity>
<expiration>Never</expiration>
1871
SecuritySettingsMetadata Types
<historyRestriction>0</historyRestriction>
<lockoutInterval>FifteenMinutes</lockoutInterval>
<maxLoginAttempts>TenAttempts</maxLoginAttempts>
<minimumPasswordLength>5</minimumPasswordLength>
<minimumPasswordLifetime>false</minimumPasswordLifetime>
<obscureSecretAnswer>false</obscureSecretAnswer>
<questionRestriction>DoesNotContainPassword</questionRestriction>
</passwordPolicies>
<redirectBlockModeEnabled>false</redirectBlockModeEnabled>
<sendCspForUncommonClients>false</sendCspForUncommonClients>
<sessionSettings>
<allowUserAuthenticationByCertificate>false</allowUserAuthenticationByCertificate>
<disableTimeoutWarning>false</disableTimeoutWarning>
<enableBuiltInAuthenticator>false</enableBuiltInAuthenticator>
<enableCSPOnEmail>true</enableCSPOnEmail>
<enableCSRFOnGet>true</enableCSRFOnGet>
<enableCSRFOnPost>true</enableCSRFOnPost>
<enableCacheAndAutocomplete>true</enableCacheAndAutocomplete>
<enableClickjackNonsetupSFDC>true</enableClickjackNonsetupSFDC>
<enableClickjackNonsetupUser>false</enableClickjackNonsetupUser>
<enableClickjackNonsetupUserHeaderless>false</enableClickjackNonsetupUserHeaderless>
<enableClickjackSetup>true</enableClickjackSetup>
<enableContentSniffingProtection>true</enableContentSniffingProtection>
<enableLightningLogin>true</enableLightningLogin>
<enableLightningLoginOnlyWithUserPerm>false</enableLightningLoginOnlyWithUserPerm>
<useLocalStorageForLogoutUrl>false</useLocalStorageForLogoutUrl>
<enableOauthCorsPolicy>false</enableOauthCorsPolicy>
<enablePostForSessions>false</enablePostForSessions>
<enableSMSIdentity>true</enableSMSIdentity>
<enableU2F>false</enableU2F>
<enforceIpRangesEveryRequest>false</enforceIpRangesEveryRequest>
<enforceUserDeviceRevoked>false</enforceUserDeviceRevoked>
<forceLogoutOnSessionTimeout>true</forceLogoutOnSessionTimeout>
<forceRelogin>true</forceRelogin>
<hasRetainedLoginHints>false</hasRetainedLoginHints>
<hasUserSwitching>true</hasUserSwitching>
<hstsOnForcecomSites>false</hstsOnForcecomSites>
<identityConfirmationOnEmailChange>true</identityConfirmationOnEmailChange>
<identityConfirmationOnTwoFactorRegistrationEnabled>true</identityConfirmationOnTwoFactorRegistrationEnabled>
<lockSessionsToDomain>true</lockSessionsToDomain>
<lockSessionsToIp>false</lockSessionsToIp>
<lockerServiceAPIVersion>56.0</lockerServiceAPIVersion>
<lockerServiceCSP>true</lockerServiceCSP>
<lockerServiceNext>true</lockerServiceNext>
<logoutURL>https://mycompany.com</logoutUrl>
<redirectionWarning>true</redirectionWarning>
<referrerPolicy>true</referrerPolicy>
<referrerPolicyDirective>strict-origin-when-cross-origin</referrerPolicyDirective>
<requireHttps>false</requireHttps>
1872
SecuritySettingsMetadata Types
<sessionTimeout>TwoHours</sessionTimeout>
<useLocalStorageForLogoutUrl>true</useLocalStorageForLogoutUrl>
</sessionSettings>
<singleSignOnSettings>
<enableCaseInsensitiveFederationID>false</enableCaseInsensitiveFederationID>
<enableForceDelegatedCallout>false</enableForceDelegatedCallout>
<enableMultipleSamlConfigs>true</enableMultipleSamlConfigs>
<enableSamlJitProvisioning>false</enableSamlJitProvisioning>
<enableSamlLogin>false</enableSamlLogin>
<isLoginWithSalesforceCredentialsDisabled>true</isLoginWithSalesforceCredentialsDisabled>
</singleSignOnSettings>
</SecuritySettings>
The following is an example package.xml manifest that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Security</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
ServiceCloudVoiceSettings
Represents an organizations Service Cloud Voice settings. This type extends the Metadata metadata type and inherits its fullName
field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
ServiceCloudVoiceSettings values are stored in the ServiceCloudVoice.settings file in the settings folder. The
.settings files are different from other named components because theres only one settings file for each settings component.
Version
ServiceCloudVoiceSettings is available in API versions 52.0 and later.
1873
ServiceCloudVoiceSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether to allow a third-party telephony service to work with
Service Cloud Voice with Partner Telephony.
booleanenableSCVExternalTelephony
Indicates whether to enable the Service Cloud Voice with Amazon
Connect.
booleanenableServiceCloudVoice
Indicates whether you agree to the terms of using Service Cloud Voice
with Amazon Connect in a Salesforce Government Cloud environment.
booleanenableVoiceInGovCloudOptIn
Amazon Connect is a third-party Amazon service that sits outside the
Salesforce Government Cloud FedRAMP environment. Amazon Connect
is a separate service offered by Amazon and not a FedRAMP authorized
service. Therefore, Amazon Connects processing environment falls
outside the Government Cloud FedRAMP authorization boundary. To
learn more, see Amazon Connect.
Declarative Metadata Sample Definition
The following is an example of a ServiceCloudVoice.settings component.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceCloudVoiceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableServiceCloudVoice>true</enableServiceCloudVoice>
</ServiceCloudVoiceSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ServiceCloudVoice</members>
<name>Settings</name>
</types>
<version>52.0</version>
</Package>
ServiceSetupAssistantSettings
Represents an organizations Service Setup Assistant settings. The Service Setup Assistant can be used to set up a basic service console
app.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1874
ServiceSetupAssistantSettingsMetadata Types
File Suffix and Directory Location
ServiceSetupAssistantSettings values are stored in the ServiceSetupAssistant.settings file in the settings directory.
The .settings files are different from other named components because theres only one settings file for each settings component.
Version
ServiceSetupAssistantSettings components are available in API version 50.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the Service Setup Assistant is enabled (true) or not
(false).
booleanenableServiceSetupAssistant
Declarative Metadata Sample Definition
The following is an example of a ServiceSetupAssistantSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<ServiceSetupAssistantSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableServiceSetupAssistant>true</enableServiceSetupAssistant>
</ServiceSetupAssistantSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SharingSettings
Represents an organizations sharing, visibility, and data access settings. This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
SharingSettings values are stored in the Sharing.settings file in the settings directory. The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
SharingSettings is available in API version 47.0 and later.
1875
SharingSettingsMetadata Types
Special Access Rules
To use SharingSettings, you need the Manage Sharing permission.
Fields
DescriptionField TypeField Name
Indicates whether group membership calculations are suspended (true)
or not (false). This field has a default value of false. This field is
available in API version 49.0 and later.
booleandeferGroupMembership
Important:
The defer sharing calculation feature isn't enabled by default.
To enable it for your Salesforce org, contact Salesforce
Customer Support.
When you change the value of this field from true to
false, group membership is automatically recalculated.
Sharing rules are also automatically recalculated, unless the
deferSharingRules field is set to true prior to
modifying deferGroupMembership. Depending on
your org, these recalculations can take a significant amount
of time to complete.
If the deferGroupMembership field is set to true,
you cant change the value of deferSharingRules.
Sharing rule calculations are suspended regardless of the
value of deferSharingRules.
Indicates whether sharing rule calculations are suspended (true) or
not (false). This field has a default value of false. This field is
available in API version 49.0 and later.
booleandeferSharingRules
Important:
The defer sharing calculation feature isn't enabled by default.
To enable it for your Salesforce org, contact Salesforce
Customer Support.
When you change the value of this field from true to
false, sharing rules are automatically recalculated.
Depending on your org, this recalculation can take a
significant amount of time to complete.
If the deferGroupMembership field is set to true,
you cant change the value of deferSharingRules.
Sharing rule calculations are suspended regardless of the
value of deferSharingRules.
1876
SharingSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether person roles are assigned to new site users in accounts
without existing users (true) or if regular site roles are created for new
users (false). This field has a default value of false.
booleanenableAccountRoleOptimization
Indicates whether sharing is enabled for assets (true) or asset access
is determined by the parent objects sharing rules (false). This field
has a default value of false.
booleanenableAssetSharing
Indicates whether site users in the same site can see each other regardless
of the organization-wide defaults (true) or not (false). This field has
booleanenableCommunityUserVisibility
a default value of false. In orgs created in API version 47.0 and later,
this setting doesnt apply to guest users.
Indicates whether the external sharing model is enabled (true) or not
(false). This field has a default value of true if Salesforce Experiences
booleanenableExternalSharingModel
are enabled, and a default value of false if not. To use this field, you
need the Customize Application permission.
Indicates whether users can share records with their managers and
manager subordinates groups (true) or not (false). This field has a
booleanenableManagerGroups
default value of false. To use this field, you need the View and Manage
Users permission.
Indicates whether users can share their own user record (true) or not
(false). This field has a default value of false.
booleanenableManualUserRecordSharing
Indicates whether you can grant super user access to partners in sites
(true) or not (false). This field has a default value of false. To use
this field, you need the Customize Application permission
booleanenablePartnerSuperUserAccess
Indicates whether portal users can access related contacts for cases that
they own (true) or not (false). This field has a default value of
false.
booleanenablePortalUserCaseSharing
Indicates whether portal users in the same customer or partner portal
account can see each other regardless of the organization-wide defaults
booleanenablePortalUserVisibility
(true) or not (false). This field has a default value of false. To
enable this field, contact Salesforce Support.
Removes group membership info for the original territory management
feature after migrating to Enterprise Territory Management when set to
booleanenableRemoveTMGroupMembership
true. This field has a default value of false. Once this field is set to
true, it can't be set to false again.
Indicates whether users must have read access to a record to see the
records name in lookup and system fields (true) or not (false). This
booleanenableRestrictAccessLookupRecords
field has a default value of true in Salesforce orgs created in Spring
20 or later and a default value of false in all other orgs. This field is
available in API version 48.0 and later.
1877
SharingSettingsMetadata Types
DescriptionField TypeField Name
When true, guest users have org-wide defaults set to Private. To share
records with them, you must use guest user sharing rules.
As of API version 50.0, this field's value is always true, regardless of
the value that you set. Changing its value has no effect on Salesforce,
even if it reads false.
booleanenableSecureGuestAccess
This change applies retroactively back to API version 47.0, when this field
was first introduced. Previously, in API version 47.0 to 49.0, this field
indicated whether guest users record access is secured (true) or not
(false), and the field's default value was false. Now, in all API
versions, this field's value is always true, even if it reads false.
Indicates whether users can view reports based on standard report types
that may expose data of users to whom they don't have access (true)
or not (false). This field has a default value of false.
booleanenableStandardReportVisibility
Indicates whether forecast managers can act as delegated administrators
for territories below them in the hierarchy (true) or not (false). This
field has a default value of false.
booleanenableTerritoryForecastManager
Declarative Metadata Sample Definition
The following is an example of a SharingSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SharingSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<deferGroupMembership>false</deferGroupMembership>
<deferSharingRules>false</deferSharingRules>
<enableAccountRoleOptimization>false</enableAccountRoleOptimization>
<enableAssetSharing>false</enableAssetSharing>
<enableCommunityUserVisibility>false</enableCommunityUserVisibility>
<enableExternalSharingModel>true</enableExternalSharingModel>
<enableManagerGroups>false</enableManagerGroups>
<enableManualUserRecordSharing>true</enableManualUserRecordSharing>
<enablePartnerSuperUserAccess>false</enablePartnerSuperUserAccess>
<enablePortalUserCaseSharing>false</enablePortalUserCaseSharing>
<enablePortalUserVisibility>true</enablePortalUserVisibility>
<enableRemoveTMGroupMembership>false</enableRemoveTMGroupMembership>
<enableRestrictAccessLookupRecords>true</enableRestrictAccessLookupRecords>
<enableSecureGuestAccess>true</enableSecureGuestAccess>
<enableStandardReportVisibility>false</enableStandardReportVisibility>
<enableTerritoryForecastManager>false</enableTerritoryForecastManager>
</SharingSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Sharing</members>
<name>Settings</name>
1878
SharingSettingsMetadata Types
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SiteSettings
Represents the settings for Experience Cloud sites and for Salesforce Sites.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
SiteSettings values are stored in a single file named Site.settings in the settings directory. The .settings files are
different from other named components because theres only one .settings file for each settings component.
Version
SiteSettings components are available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether the enhanced sites and content platform for
Experience Cloud is enabled for your org (true) or not (false). The
booleanenableEnhancedSitesAndContentPlatform
default is true. When true, new LWR sites and enhanced CMS
workspaces are hosted together on a redesigned platform that offers
partial deployment, site content search, and easy content management.
Enhanced LWR sites are represented by the DigitalExperienceBundle
and DigitalExperienceConfig types. Available in API version 56.0 and
later.
Indicates whether SEO-friendly URL snippets, or slugs, are enabled for
your org (true) or not (false). The default is false. When true,
booleanenableExperienceFriendlyUrls
available only in B2C Commerce LWR sites. Available only in API version
58.0. In API version 59.0 and later, use
expFriendlyUrlsAsDefault in the Network type.
Indicates whether security tokens for API logins from callouts (in API
version 31.0 and earlier) are required (true) or not (false). The default
value is true.
booleanenableProxyLoginICHeader
1879
SiteSettingsMetadata Types
DescriptionField TypeField Name
When true, indicates when the org assigns records created by guest
users of a site to a default owner in the org. When false, the guest
booleanenableSitesRecordReassignOrgPref
user remains the owner of the record. The default value is false.
Available in API version 48.0 and later.
Indicates whether guest and authenticated external users can view topics
in Salesforce Sites and Salesforce portals (true) or not (false). The
default value is false.
booleanenableTopicsInSites
Deprecated in API version 52.0 and later. Allow users of Visualforce pages
to override API access control restrictions and access APIs when the
booleanenableVisualforceApiAccessAllowed
enableAdminApprovedAppsOnly in ConnectedAppSettings is
enabled (true). The default value is false.
Indicates whether the Build Your Own (LWC) template is available in
Experience Builder. The default value is false. Available in API version
48.0 and later. Removed in API version 51.0.
booleanenableWebruntimeBYOTemplate
Declarative Metadata Sample Definition
The following is an example of a SiteSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SiteSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableProxyLoginICHeader>true</enableProxyLoginICHeader>
<enableTopicsInSites>false</enableTopicsInSites>
</SiteSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Site</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SocialCustomerServiceSettings
Represents Social Customer Service settings such as how to format inbound content from social posts to cases. This type extends the
Metadata metadata type and inherits its fullName field.
1880
SocialCustomerServiceSettingsMetadata Types
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
SocialCustomerServiceSettings components have the suffix settings and are stored in the settings folder. The .settings
files are different from other named components because theres only one settings file for each settings component.
Version
SocialCustomerServiceSettings is available in API version 41.0 and later.
Fields
DescriptionField TypeField Name
Required. Specifies an option from which inbound social
content is formatted to appear in case records Case Subject
field. Valid values are:
CaseSubjectOption
(enumeration of type
string)
caseSubjectOption
SocialPostSource
SocialPostContent
BuildCustom
Indicates whether responses from all Facebook managed
accounts are enabled. If this setting is disabled, responses to
booleanenableAllFBResponseAccounts
a Facebook post can only be sent from the account that the
original customer post was directed to. The default value is
true. Available in API version 56.0 and later.
Indicates whether social approvals are enabled. To learn more,
see Enable Social Post Approvals.The default value is false.
Available in API version 47.0 and later.
booleanenableSocialApprovals
Indicates whether case assignment rules are enabled. Use
case assignment rules to determine how cases are assigned
booleanenableSocialCaseAssignmentRules
to users or put into queues as they are created. The default
value is false. Available in API version 47.0 and later.
Indicates whether to enable the Social Customer Service
feature. The default value is false. Available in API version
47.0 and later.
booleanenableSocialCustomerService
Indicates whether to enable Social Persona history tracking.
History tracking helps identify who made what changes
booleanenableSocialPersonaHistoryTracking
when, and for differentiating between automatic and manual
changes. The default value is false. Available in API version
47.0 and later.
Indicates whether to enable Social Post history tracking.
History tracking helps identify who made what changes
booleanenableSocialPostHistoryTracking
when, and for differentiating between automatic and manual
1881
SocialCustomerServiceSettingsMetadata Types
DescriptionField TypeField Name
changes. The default value is false. Available in API version
47.0 and later.
Indicates whether to use the original social post that initiated
the case as the parent record. The default value is false.
Available in API version 47.0 and later.
booleanenableSocialReceiveParentPost
Declarative Metadata Sample Definition
This is a sample of a SocialCustomerServiceSettings.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<SocialCustomerServiceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<caseSubjectOption>SocialPostSource</caseSubjectOption>
<enableSocialApprovals>true</enableSocialApprovals>
<enableSocialCaseAssignmentRules>false</enableSocialCaseAssignmentRules>
<enableSocialCustomerService>true</enableSocialCustomerService>
<enableSocialPersonaHistoryTracking>false</enableSocialPersonaHistoryTracking>
<enableSocialPostHistoryTracking>false</enableSocialPostHistoryTracking>
<enableSocialReceiveParentPost>true</enableSocialReceiveParentPost>
</SocialCustomerServiceSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SocialCustomerService</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SocialProfileSettings
Represents org preferences for social media features such as enabling Twitter and Facebook.Represents org preferences for social media
features such as enabling Twitter and Facebook. This type extends the Metadata metadata type and inherits the fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1882
SocialProfileSettingsMetadata Types
File Suffix and Directory Location
SocialProfileSettings values are stored in a single file named SocialProfile.settings in the settings directory of the
corresponding package directory. The .settings files are different from other named components because theres only one settings
file for each settings component.
Version
SocialProfileSettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Prevents users from accessing Facebook in social CRM (true) or not
(false). enableSocialProfiles must be true to enable
Facebook social profiles.
booleanisFacebookSocialProfilesDisabled
Prevents users from accessing LinkedIn in social CRM (true) or not
(false). enableSocialProfiles must be true to enable
LinkedIn social profiles.
booleanisLinkedInSocialProfilesDisabled
Prevents users from accessing Twitter in social CRM (true) or not
(false). enableSocialProfiles must be true to enable
Twitter social profiles.
This setting is permanently set to True because Twitter access was
removed in API version 59.0.
booleanisTwitterSocialProfilesDisabled
Prevents users from accessing YouTube in social CRM (true) or not
(false). enableSocialProfiles must be true to enable
YouTube social profiles.
This setting is permanently set to True because YouTube access was
removed in API version 60.0.
booleanisYouTubeSocialProfilesDisabled
Indicates whether users can access social media profiles in social CRM
(true) or not (false).
booleanenableSocialProfiles
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SourceTrackingSettings (Beta)
Represents settings for source tracking, so that changes you make in your Developer and Developer Pro sandboxes or local workspace
can be tracked. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1883
SourceTrackingSettings (Beta)Metadata Types
File Suffix and Directory Location
SourceTrackingSettings values are stored in the SourceTracking.settings file in the settings folder. The .settings
files are different from other named components because there is only one settings file for each settings component.
Version
SourceTrackingSettings is available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether to enable source tracking automatically when
Developer or Developer Pro sandboxes are created or refreshed (true)
or not (false). The default value is false.
If you set enableSourceTrackingSandboxes back to false
after it was enabled, a sandbox that is tracking source changes continues
to do so until it is refreshed.
booleanenableSourceTrackingSandboxes
Note: You don't need to have the Developer Hub (DevHub)
enabled in the same org to enable source tracking.
This field applies to production orgs only; in other orgs, this field is
ignored.
Declarative Metadata Sample Definition
The following is an example of a SourceTrackingSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SourceTrackingSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableSourceTrackingSandboxes>true</enableSourceTrackingSandboxes>
</SourceTrackingSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SubscriptionManagementSettings
Represents the settings used to manage recurring subscriptions.
Parent Type and Manifest Access
This type extends the Metadata metadata type and inherits its fullName field.
1884
SubscriptionManagementSettingsMetadata Types
In the package manifest, all the settings metadata types for the org are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
SubscriptionManagementSettings values are stored in the subscriptionmanagement.settings file in the
settings folder. The .settings files are different from other named components, because theres only one settings file for each
settings component.
Version
SubscriptionManagementSettings components are available in API version 55.0 and later.
Special Access Rules
This metadata type is available with Subscription Management.
Fields
DescriptionField TypeField Name
Indicates whether document
generation is enabled in the org
booleanenableBillingDocGen
(true) or not (false). The
default value is false.
Indicates whether to convert
negative invoice lines into a credit
booleanenableConvert
NegativeInvoiceLines
ToCreditMemoAndApply
note (true) or not (false). This
credit note holds a positive
balance that you can later use to
apply against future invoices. The
default value is false.
Indicates whether payments can
be applied on the whole invoice
booleanenableInvHeaderLvlSettlement
(true) or only on invoice lines
(false). The default value is
false.
Indicates whether the payment
schedule and payment schedule
booleanenablePaymentScheduleAutomation
item are created automatically
(true) or not (false). The
default value is false.
Indicates whether refunds are
processed automatically (true)
booleanenableRefundAutomation
or not (false). The default value
is false.
1885
SubscriptionManagementSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the billing
schedules in Subscription
booleanenableRevSubMgmtBlngOptOut
Management are disabled (true)
or not (false). The default value
is false.
Indicates whether Subscription
Management is enabled (true)
booleanenableSubscriptionManagement
or not (false). The default value
is false.
Declarative Metadata Sample Definition
This example shows a sample SubscriptionManagementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SubscriptionManagementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableSubscriptionManagement>true</enableSubscriptionManagement>
</SubscriptionManagementSettings>
This example shows a sample package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>SubscriptionManagementSettings</members>
<name>Settings</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The wildcard
applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest
file, see Deploying and Retrieving Metadata with the Zip File.
SurveySettings
Represents an orgs survey settings. Use the SurveySettings component to enable Salesforce Surveys, enable Customer Lifecyle Maps
and choose whether the owner of a survey can manage the responses. This type extends the Metadata metadata type and inherits its
fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
SurveySettings values are stored in a single file named Survey.settings in the settings folder. The .settings files are different from other
named components because there is only one settings file for each settings component.
1886
SurveySettingsMetadata Types
Version
SurveySettings is available in API version 47.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Customer Lifecycle Maps is enabled for your org (true)
or not (false). The default value is false.
booleanenableIndustriesCxmEnabled
Indicates whether Surveys is enabled for your org (true) or not (false).
The default value is false.
booleanenableSurvey
Indicates whether the owner of a survey can manage its responses. The
default value is false.
booleanenableSurveyOwnerCanManageResponse
Declarative Metadata Sample Definition
The following is an example of a SurveySettings component.
<?xml version="1.0" encoding="UTF-8"?>
<SurveySettingsxmlns="http://soap.sforce.com/2006/04/metadata">
<enableIndustriesCxmEnabled>false</enableIndustriesCxmEnabled>
<enableSurvey>true</enableSurvey>
<enableSurveyOwnerCanManageResponse>false</enableSurveyOwnerCanManageResponse>
</SurveySettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Survey</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Territory2Settings
Represents an orgs Territory2 settings. Use Territory2 settings to set the access level that Territory Management 2.0 users have to records
associated with sales territories, and to enable features. The standard record access settings apply to accounts and opportunities. If your
Salesforce org uses Private default internal access for contacts or cases, you can also set access for those records. This type extends
the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
1887
Territory2SettingsMetadata Types
File Suffix and Directory Location
Territory2Settings values are stored in a single file named Territory2.settings in the settings directory of the corresponding
package directory. The .settings files are different from other named components because theres only one settings file for each
settings component.
Version
Territory2Settings is available in API version 32.0 and later.
Special Access Rules
Fields
DescriptionField TypeField Name
Sets the default level of access that users have to account records in
territories: view and edit accounts assigned to territories or view,
edit, transfer, and delete accounts assigned to territories.
stringdefaultAccountAccessLevel
Sets the default level of access that users have to case records in
territories: view and edit accounts assigned to territories or view,
edit, transfer, and delete accounts assigned to territories.
stringdefaultCaseAccessLevel
Sets the default level of access that users have to contact records in
territories: view and edit accounts assigned to territories or view,
edit, transfer, and delete accounts assigned to territories.
stringdefaultContactAccessLevel
Sets the default level of access that users have to opportunity records
in territories: view and edit accounts assigned to territories or view,
edit, transfer, and delete accounts assigned to territories.
stringdefaultOpportunityAccessLevel
Enables and disables Enterprise Territory Management only. If true,
Enterprise Territory Management is enabled. If false (default),
booleanenableTerritoryManagement2
Enterprise Territory Management is not enabled. Enabling and disabling
Enterprise Territory Management is exclusive of all other operations, and
the field value must be true before other territory-management
operations can run.
Available in API version 47.0 and later.
Optional. Specifies an Apex class to assign territories to opportunities
and whether you want to run it when an opportunity is created. Available
in API version 34.0 and later.
Territory2SettingsOpportunityFilteropportunityFilterSettings
If true, a success banner appears on the Territory Settings page in
Setup.
Available in API version 49.0 and later.
booleanshowTM2EnabledBanner
1888
Territory2SettingsMetadata Types
DescriptionField TypeField Name
Sets the user access levels of all objects that support territory assignments
in the org. Available in API version 57.0 and later.
Territory2SupportedObject[]supportedObjects
Sets the access level that users in a parent territory get to the
opportunities assigned to its child territories, regardless of who owns
the opportunities.
Valid values are:
stringt2ForecastAccessLevel
View
Edit
Available in API version 49.0 and later.
If true, account assignment rules do not run during account insert
jobs.
Available in API version 53.0 and later.
booleantm2BypassRealignAccInsert
If true, when a user is assigned to a territory, the assignment action is
logged.
Available in API version 57.0 and later.
booleantm2EnableUserAssignmentLog
Territory2SettingsOpportunityFilter
This subtype specifies an Apex class that assigns territories to opportunities. You can run the Apex class automatically every time a user
creates an opportunity.
DescriptionField Name
Field Type
string
apexClassName
Description
Represents the Apex class name.
Field Type
boolean
enableFilter
Description
If true, the Apex class is used to assign territories to opportunities.
Field Type
boolean
runOnCreate
Description
If true, the Apex class runs automatically every time a user creates an opportunity.
1889
Territory2SettingsMetadata Types
Territory2SupportedObject
Sets the user access levels of all objects that support territory assignments in the org.
DescriptionField Name
Field Type
string
defaultAccessLevel
Description
Required. The default user access level as permitted by the organizations sharing
settings. Valid values are:
Read
Edit
Transfer
All
Field Type
string
objectType
Description
Required. The only supported object type is Lead.
Field Type
string
state
Description
Required. Valid values are:
Disabled
Enabled
Declarative Metadata Sample Definition
The following example shows the definition of a Territory2Settings component.
<?xml version="1.0" encoding="UTF-8"?>
<Territory2Settings xmlns="http://soap.sforce.com/2006/04/metadata">
<defaultAccountAccessLevel>Owner</defaultAccountAccessLevel>
<defaultOpportunityAccessLevel>Read</defaultOpportunityAccessLevel>
<defaultCaseAccessLevel>None</defaultCaseAccessLevel>
<defaultContactAccessLevel>Edit</defaultContactAccessLevel>
<enableTerritoryManagement2>true</enableTerritoryManagement2>
<showTM2EnabledBanner>true</showTM2EnabledBanner>
<supportedObjects>
<defaultAccessLevel>Read</defaultAccessLevel>
<state>Disabled</state>
<objectType>Lead</objectType>
</supportedObjects>
<tm2EnableUserAssignmentLog>true</tm2EnableUserAssignmentLog>
1890
Territory2SettingsMetadata Types
<t2ForecastAccessLevel>View</t2ForecastAccessLevel>
</Territory2Settings>
Usage
Territory Management 2.0 components dont support packaging or change sets and arent supported in CRUD calls.
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
TrailheadSettings
Represents an orgs integration with Trailhead for Learning Paths or Enablement programs, including access to enablement sites (formerly
myTrailhead).
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
TrailheadSettings values are stored in the Trailhead.settings file in the settings directory. The .settings files are
different from other named components because there's only one settings file for each settings component.
Version
TrailheadSettings components are available in API version 47.0 and later.
Special Access Rules
To access enablement site (myTrailhead) content, the org must have a Sales Enablement license.
Fields
DescriptionField TypeField Name
Indicates whether animated confetti plays on the screen after a user
reaches certain milestones, such as completing an Enablement program
in the Guidance Center. The default value of this field is false.
booleanenableConfettiEffect
Indicates whether the org is connected to an enablement site
(myTrailhead). The default value of this field is true.
booleanenableMyTrailheadPref
Indicates whether the terms and conditions for showing Trailhead
content in Lightning Experience are accepted in your org. The default
value of this field is false.
booleanenableTrailheadInLexTerms
1891
TrailheadSettingsMetadata Types
Declarative Metadata Sample Definition
The following is an example of a TrailheadSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<TrailheadSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableMyTrailheadPref>true</enableMyTrailheadPref>
</TrailheadSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Trailhead</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
TrialOrgSettings
Represents the settings in a trial users org. This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
TrialOrgSettings values are stored in the TrialOrg.settings file in the settings directory.The .settings files are different
from other named components because theres only one settings file for each settings component.
Version
TrialOrgsettings is available in API version 48.0 and later.
Special Access Rules
Access to TrialOrgSettings requires users to complete the checkout flow in Enterprise, Professional, or Essentials editions. For Essentials,
you can also access TrialOrgSettings by completing step 7 of the Setup Assistant.
1892
TrialOrgSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether sample data may be deleted on trial orgs (true) or
not (false). The default value is false.
booleanenableSampleDataDeleted
Declarative Metadata Sample Definition
The following is an example of a TrialOrgSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<TrialOrgSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableSampleDataDeleted>false</enableSampleDataDeleted>
</TrialOrgSettings>
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
UserEngagementSettings
Represents the metadata associated with various feature settings around Lightning Experience transition and adoption, user engagement
and adoption assistance, and adoption apps. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
UserEngagementSettings components have the suffix .settings and are stored in the settings folder.
Version
Prompt components are available in API version 47.0 and later.
Special Access Rules
See related Salesforce Help for each feature for permission and edition requirements.
Fields
DescriptionField TypeField Name
Indicates whether orgs using the Government Orgs can access Lightning
Experience Transition Tools external applications (true) or not (false).
booleancanGovCloudUseAdoptionApps
Examples of these applications are Salesforce Optimizer, Lightning
Experience Transition Assistant, and the Lightning Experience Readiness
Report. See External Application Settings under Security in Setup.
The default is false.
1893
UserEngagementSettingsMetadata Types
DescriptionField TypeField Name
Indicates where users are automatically switched from Salesforce Classic
to Lightning Experience every day (true) or weekly (false). If false,
booleandoesScheduledSwitcherRunDaily
then users are switched weekly. The default is false. See Encourage
Users to Stay in Lightning Experience in Salesforce Help.
Indicates whether a custom section has been added to the Lightning
Experience Help Menu (true) or not (false). The default is false.
booleanenableCustomHelpGlobalSection
See Define Custom Help for the Lightning Experience Help Menu in
Salesforce Help for more information.
Indicates whether the Give Feedback to Salesforce link in the Lightning
Experience Help Menu is visible to users (true) or not (false). The
booleanenableHelpMenuShowFeedback
default is true. Even if false, admins always see all links in the Help
Menu. See Define Custom Help for the Lightning Experience Help Menu
in Salesforce Help for more information.
Indicates whether the Help For This Page section in the Lightning
Experience Help Menu is visible to users (true) or not (false). The
booleanenableHelpMenuShowHelp
default is true. Even if false, admins always see all links in the Help
Menu. See Define Custom Help for the Lightning Experience Help Menu
in Salesforce Help for more information.
Indicates whether the Getting Started section in the Lightning Experience
Help Menu is visible to users (true) or not (false). The default is
booleanenableHelpMenuShowNewUser
true. Even if false, admins always see all links in the Help Menu.
See Define Custom Help for the Lightning Experience Help Menu in
Salesforce Help for more information.
Indicates whether the Search Documentation link in the Lightning
Experience Help Menu is visible to users (true) or not (false). The
booleanenableHelpMenuShowSearch
default is true. Even if false, admins always see all links in the Help
Menu. See Define Custom Help for the Lightning Experience Help Menu
in Salesforce Help for more information.
Indicates whether any Salesforce-created help resources in Lightning
Experience Help Menu are visible to users (true) or not (false). The
booleanenableHelpMenuShowSfdcContent
default is true. Even if false, admins always see all links in the Help
Menu. See Define Custom Help for the Lightning Experience Help Menu
in Salesforce Help for more information.
Indicates whether the View Keyboard Shortcuts link in the Lightning
Experience Help Menu is visible to users (true) or not (false). The
booleanenableHelpMenuShowShortcut
default is true. Even if false, admins always see all links in the Help
Menu. See Define Custom Help for the Lightning Experience Help Menu
in Salesforce Help for more information.
Indicates whether the Get Support link in the Lightning Experience Help
Menu is visible to users (true) or not (false). The default is true.
booleanenableHelpMenuShowSupport
Even if false, admins always see all links in the Help Menu. See Define
Custom Help for the Lightning Experience Help Menu in Salesforce Help
for more information.
1894
UserEngagementSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether the Go to Trailhead link in the Lightning Experience
Help Menu is visible to users (true) or not (false). The default is
booleanenableHelpMenuShowTrailhead
true. Even if false, admins always see all links in the Help Menu.
See Define Custom Help for the Lightning Experience Help Menu in
Salesforce Help for more information.
Indicates whether the Its Better in Lightning prompt about Dashboards
is hidden from users (true) or not (false). The default is true.
Deprecated in API version 51.0 and later.
booleanenableIBILOptOutDashboards
Indicates whether the Its Better in Lightning prompt about
Events/Calendar is hidden from users (true) or not (false). The
default is true. Deprecated in API version 51.0 and later.
booleanenableIBILOptOutEvents
Indicates whether the Its Better in Lightning prompt about Reports is
hidden from users (true) or not (false). The default is true.
Deprecated in API version 51.0 and later.
booleanenableIBILOptOutReports
Indicates whether the Its Better in Lightning prompt about Tasks is
hidden from users (true) or not (false). The default is true.
Deprecated in API version 51.0 and later.
booleanenableIBILOptOutTasks
Indicates whether the Switch to Salesforce Classic Feedback Form is
shown to users (true) or not (false). The default is false. See
booleanenableLexToClassicFeedbackEnable
Switch to Salesforce Classic Feedback Form in Salesforce Help for more
information.
Indicates whether adoption assistance and other in-app guidance is
shown to users in sandbox orgs (true) or not (false). The default is
booleanenableOrchestrationInSandbox
false. See Define Prompts in Lightning Experience in Salesforce Help
for more information.
Indicates whether all custom in-app guidance created by an org is shown
to users (true) or not (false). Doesnt affect active status. The default
booleanenableOrgUserAssistEnabled
is true. See Define Prompts in Lightning Experience in Salesforce Help
for more information.
Indicates whether users are automatically switched from Salesforce
Classic to Lightning Experience (true) or not (false). The default is
booleanenableScheduledSwitcher
true. See Encourage Users to Stay in Lightning Experience in Salesforce
Help.
Indicates whether the Salesforce Product Feedback Form is shown to
users (true) or not (false). The default is true. See Salesforce
Product Feedback Form in Salesforce Help for more information.
booleanenableSfdcProductFeedbackSurvey
Indicates whether all standard in-app guidance created by Salesforce is
shown to users (true) or not (false). Doesnt affect active status. The
booleanenableShowSalesforceUserAssist
default is true. See Define Prompts in Lightning Experience in
Salesforce Help for more information.
1895
UserEngagementSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether all notifications about the Winter 20 Turn on Lightning
Experience critical update are hidden from admins (true) or not
(false). The default is false.
booleanisCrucNotificationDisabled
Indicates whether the Lightning Experience welcome mat is hidden
from users the first time they log into the user interface (true) or not
booleanisLEXWelcomeMatDisabled
(false). The default is false. See Lightning Experience Welcome
Mat in Salesforce Help for more information.
Indicates whether all notifications about the Lightning Experience
Transition Assistant are hidden from admins in Salesforce Classic (true)
or not (false). The default is false.
booleanisMeetTheAssistantDisabledInClassic
Indicates whether all notifications about the Lightning Experience
Transition Assistant are hidden from admins in Lightning Experience
(true) or not (false). The default is false.
booleanisMeetTheAssistantDisabledInLightning
Indicates whether Salesforce Optimizer is turned on in the org (true)
or not (false). The default is false. See Improve Your
Implementation with Salesforce Optimizer in Salesforce Help.
booleanoptimizerAppEnabled
Declarative Metadata Sample Definition
The following is an example of a UserEngagementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<UserEngagementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<canGovCloudUseAdoptionApps>false</canGovCloudUseAdoptionApps>
<doesScheduledSwitcherRunDaily>true</doesScheduledSwitcherRunDaily>
<enableCustomHelpGlobalSection>true</enableCustomHelpGlobalSection>
<enableHelpMenuShowFeedback>true</enableHelpMenuShowFeedback>
<enableHelpMenuShowHelp>true</enableHelpMenuShowHelp>
<enableHelpMenuShowNewUser>true</enableHelpMenuShowNewUser>
<enableHelpMenuShowSearch>true</enableHelpMenuShowSearch>
<enableHelpMenuShowSfdcContent>true</enableHelpMenuShowSfdcContent>
<enableHelpMenuShowShortcut>true</enableHelpMenuShowShortcut>
<enableHelpMenuShowSupport>true</enableHelpMenuShowSupport>
<enableHelpMenuShowTrailhead>true</enableHelpMenuShowTrailhead>
<enableIBILOptOutDashboards>true</enableIBILOptOutDashboards>
<enableIBILOptOutEvents>true</enableIBILOptOutEvents>
<enableIBILOptOutReports>true</enableIBILOptOutReports>
<enableIBILOptOutTasks>true</enableIBILOptOutTasks>
<enableLexToClassicFeedbackEnable>true</enableLexToClassicFeedbackEnable>
<enableOrgUserAssistEnabled>true</enableOrgUserAssistEnabled>
<enableScheduledSwitcher>true</enableScheduledSwitcher>
<enableSfdcProductFeedbackSurvey>true</enableSfdcProductFeedbackSurvey>
<enableOrchestrationInSandbox>true</enableOrchestrationInSandbox>
<enableShowSalesforceUserAssist>true</enableShowSalesforceUserAssist>
<isCrucNotificationDisabled>false</isCrucNotificationDisabled>
<isLEXWelcomeMatDisabled>false</isLEXWelcomeMatDisabled>
<isMeetTheAssistantDisabledInClassic>false</isMeetTheAssistantDisabledInClassic>
1896
UserEngagementSettingsMetadata Types
<isMeetTheAssistantDisabledInLightning>false</isMeetTheAssistantDisabledInLightning>
<optimizerAppEnabled>true</optimizerAppEnabled>
</UserEngagementSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>UserEngagement</members>
<name>Settings</name>
</types>
<version>47.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
UserInterfaceSettings
Represents the settings that modify the behavior of the orgs user interface. This type extends the Metadata metadata type and inherits
its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
A UserInterfaceSettings component file has the suffix .settings and is stored in the settings directory. The .settings files
are different from other named components because theres only one settings file for each settings component.
Version
UserInterfaceSettings components are available in API version 46.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether related lists are loaded asynchronously (true) or not
(false). The default is false. Available in API version 47.0 and later.
Salesforce Classic only.
booleanenableAsyncRelatedLists
Indicates whether a Visualforce page that hides the standard header has
clickjack protections (true) or not (false). The default is true. This
setting applies to all of your Visualforce pages.
booleanenableClickjackUserPageHeaderless
1897
UserInterfaceSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether users are allowed to collapse or expand sections in
record details by using the arrow icon next to the section heading. The
default is true.
booleanenableCollapsibleSections
Indicates whether users are allowed to show or hide the sidebar on every
page that normally includes it (true) or not (false). The default is
false. Applies to Salesforce Classic only.
booleanenableCollapsibleSidebar
Indicates whether users with Customize Application permission can
truncate custom objects (true) or not (false). When you truncate
booleanenableCustomObjectTruncate
an object, you delete the objects associated records permanently, while
preserving the empty object and its metadata. The default is false.
Available in API version 47.0 and later.
Indicates whether custom sidebar components are available on all pages
for all org users (true) or not (false). The default is false. Applies
to Salesforce Classic only.
booleanenableCustomSidebarOnAllPages
Indicates whether users can delete field history and field history archive
records (true) or not (false). The default is false. Available in API
version 47.0 and later.
booleanenableDeleteFieldHistory
Indicates whether related lists of external objects are loaded
asynchronously ( true) or not (false). The default is true. Available
in API version 48.0 and later. Salesforce Classic only.
booleanenableExternalObjectAsyncRelatedLists
Indicates whether an interactive overlay containing record details is
displayed (true) or not (false). The default is true.
booleanenableHoverDetails
Note: To view hover details for a record, users need the
appropriate sharing access and field-level security access for the
fields in the mini page layout.
Indicates whether users are allowed to edit field values on a records
detail page (true) or not (false). The default is true.
booleanenableInlineEdit
Indicates whether users can install and use personal canvas apps
(true) or not (false). The default is true. This setting applies
to all of your Visualforce pages.
booleanenablePersonalCanvas
Indicates whether related list hover links display at the top of record
detail pages and custom object detail pages in Setup (true) or not
booleanenableRelatedListHovers
(false). Users can hover over a related list link to display the list and
its number of records in an interactive overlay. Users quickly view and
manage the related list items from the overlay. Users can also click a
related list hover link to jump to the related list without having to scroll
down the page. The default is true. Available in API version 50.0 and
later.
Indicates whether an area displays on a tab home page ( corresponds
to the Show Quick Create setting), allowing users to create a record
booleanenableQuickCreate
quickly with minimal information (true) or not (false). The Quick
1898
UserInterfaceSettingsMetadata Types
DescriptionField TypeField Name
Create area displays by default on the tab home pages for leads, accounts,
contacts, and opportunities. You can control whether the Quick Create
area is displayed on all relevant tab home pages.
Declarative Metadata Sample Definition
The following is an example of a UserInterfaceSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<UserInterfaceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableDeleteFieldHistory>false</enableDeleteFieldHistory>
<enableInlineEdit>true</enableInlineEdit>
<enableHoverDetails>false</enableHoverDetails>
<enableQuickCreate>true</enableQuickCreate>
<enablePersonalCanvas>false</enablePersonalCanvas>
<enableClickjackUserPageHeaderless>true</enableClickjackUserPageHeaderless>
</UserInterfaceSettings>
Example Package Manifest
The following is an example package manifest used to deploy or retrieve the user interface settings metadata for an organization:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>UserInterface</members>
<name>Settings</name>
</types>
<version>46.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
UserManagementSettings
Represents a selection of user management options that appear on the User Management Settings Setup page. This type extends the
Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
UserMangementSettings are stored in the UserManagement.settings directory. The .settings files are different from
other named components because theres only one settings file for each settings component.
1899
UserManagementSettingsMetadata Types
Version
Manage org-wide settings for certain options. User Management Settings are available in API version 46.0 and later.
Fields
DescriptionField TypeField
Indicates if personal information fields in user records are
hidden from external users (true) or not (false).
booleanenableConcealPersonalInfo
When this field is set to true, 10 personal information
fields are hidden. The default value is false. This field
is unavailable for orgs created in Winter 22 or later.
Salesforce recommends that you use the
enableEnhancedConcealPersonalInfo field
instead of enableConcealPersonalInfo. Before
you set the
enableEnhancedConcealPersonalInfo field
to true, make sure that
enableConcealPersonalInfo is set to false.
If true and your org has the External Identity license,
you can create contactless users. Having users without
booleanenableContactlessExternalIdentityUsers
contact information reduces the overhead of managing
customers. Purchase the External Identity license to
access the Customer 360 Identity product.
The default is false. Available in API version 47.0 and
later.
Indicates if personal information fields in user records are
hidden from external users (true) or not (false).
booleanenableEnhancedConcealPersonalInfo
When this field is set to true, you can choose which
fields are classified as personal information and hidden
on the User Management Settings Setup page. The
default value is false. This field is available in API
version 53.0 and later.
Before you set the
enableEnhancedConcealPersonalInfo field
to true, make sure that
enableConcealPersonalInfo is set to false.
If you enable Enhanced Permission Set Component
Views (true), you can work with permission sets more
booleanenableEnhancedPermsetMgmt
easily. For example, when you have large numbers of
Apex class assignments for permission sets, you can
enable a paginated result set, standard filtering, and
sorting.
1900
UserManagementSettingsMetadata Types
DescriptionField TypeField
If you enable Enhanced Profile Lists Views (true),
you can quickly view, customize, and edit list data.
booleanenableEnhancedProfileMgmt
Indicates whether you create and manage user access
policies through an improved user interface (true) or
booleanenableEnhcUiUserAccessPolicies
not (false). The default value is false. If user access
policies arent enabled, this field has no effect. If user
access policies are enabled, this field is automatically set
to true, but you can change it to false. Available in
API version 60.0 and later.
If you enable Enhanced Profile User Interface (true),
you can use the streamlined, enhanced profile user
booleanenableNewProfileUI
interface to browse, search, and modify settings. You can
use only one user interface at a time.
With profile filtering enabled (true), you can restrict
who sees profile names to the users who require the
booleanenableProfileFiltering
access for their job roles. If profile filtering is disabled
(false), users can see all profiles in a Salesforce org,
regardless of which permissions they have.
Important: Profile names are also exposed when
users with permissions to perform the following
tasks take these actions:
Create a tab or record type with a wizard step
that includes the assignment of tabs and
record types to profiles.
Configure a login flow where viewing profile
lists is required to make flow associations.
Set up delegated admins where looking up
profiles is needed to identify assignable
profiles.
Administer an org as a delegated customer
admin.
Administer an org as a delegated admin to
view and assign profiles of the delegated
group.
This field is available in API version 50.0 and later.
Indicates whether the Email Domain Allowlist is visible
(true) or hidden (false) in Setup. The default value
is false.
This field is available in API version 53.0 and later.
booleanenableRestrictEmailDomains
If you enable Let Users Scramble Their User Data
(true), users can request that Salesforce remove all their
booleanenableScrambleUserData
1901
UserManagementSettingsMetadata Types
DescriptionField TypeField
personal data. Because Salesforce cant delete
information, it scrambles their data. Scrambling a users
data is unrecoverable. So this org-wide setting serves as
an extra precaution. If a user requests it, you scramble
the data programmatically with the obfuscateUser
Apex method. You can use the method, for example, in
a custom Apex trigger, workflow, or the Developer
Console.
This field is available in API version 47.0 and later.
If you enable User Self Deactivate (true), users can
deactivate their Experience Cloud site or Chatter
accounts.
booleanenableUserSelfDeactivate
If true, users can assign field-level security to
permission sets instead of to profiles when creating a
booleanpermsetsInFieldCreation
field on an object, setting field-level security on a field,
or changing a field type on a field. The default is false.
Available in API version 56.0 and later.
Indicates if admins can use an updated user interface
that includes an assignment expiration for permission
booleanpsaExpirationUIEnabled
sets and permission set groups (true) or not (false).
The default value is false. This field is available in API
version 52.0 and later.
When enabled (true), only permissions accessible to
your org are enabled when you clone profiles. When
booleanrestrictedProfileCloning
disabled (false), all permissions currently enabled in
the source profile are also enabled for the cloned profile,
even if your org can't currently access them.
This field is available in API version 50.0 and later.
Indicates if user access policies are enabled (true) or
not (false). With user access policies, you can automate
booleanuserAccessPoliciesEnabled
and migrate your users assignments to managed
package licenses, permission sets, and other access
mechanisms based on criteria that you set. The default
value is false. This field is available in API version 58.0
and later.
Declarative Metadata Sample Definition
The following is an example of a UserManagementSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<UserManagementSettings xmlns="http://soap.sforce.com/2006/04/metadata"
1902
UserManagementSettingsMetadata Types
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<enableConcealPersonalInfo>false</enableConcealPersonalInfo>
<enableContactlessExternalIdentityUsers>false</enableContactlessExternalIdentityUsers>
<enableEnhancedConcealPersonalInfo>true</enableEnhancedConcealPersonalInfo>
<enableEnhancedPermsetMgmt>false</enableEnhancedPermsetMgmt>
<enableEnhancedProfileMgmt>true</enableEnhancedProfileMgmt>
<enableNewProfileUI>false</enableNewProfileUI>
<enableProfileFiltering>false</enableProfileFiltering>
<enableRestrictEmailDomains>true</enableRestrictEmailDomains>
<enableScrambleUserData>false</enableScrambleUserData>
<enableUserSelfDeactivate>false</enableUserSelfDeactivate>
<restrictedProfileCloning>true</restrictedProfileCloning>
<userAccessPoliciesEnabled>true</userAccessPoliciesEnabled>
</UserManagementSettings>
The following is an example package.xml manifest that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>UserManagement</members>
<name>Settings</name>
</types>
<version>53.0</version>
</Package>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
VoiceSettings
Represents an orgs Sales Dialer settings, such as call recording, conferencing, and voicemail. This type extends the Metadata metadata
type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
VoiceSettings values are stored in the Voice.settings file in the settings directory. The .settings files are different from
other named components because theres only one settings file for each settings component.
Version
VoiceSettings is available in API version 47.0 and later.
1903
VoiceSettingsMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether call disposition is enabled (true) or not (false).
With call disposition, also called Call Result, sales reps can track whether
a call was connected and how it went.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableCallDisposition
Indicates whether the consent reminder is enabled (true) or not
(false). With the consent reminder, prior to recording a call, users see
a prompt reminding them not to record phone calls without consent.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableConsentReminder
Indicates whether Call List is enabled (true) or not (false). Sales reps
can use call list to keep a running list of the calls they want to make.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableVoiceCallList
Indicates whether Call Recording is enabled (true) or not (false).
Sales reps can record important calls directly from the call panel in Sales
Dialer.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableVoiceCallRecording
Indicates whether Call Monitoring is enabled (true) or not (false).
Using the Monitor tab in the call panel, managers can listen to the calls
of their sales reps for personalized coaching.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableVoiceCoaching
Reserved for future use.booleanenableVoiceConferencing
Indicates whether Local Presence is enabled (true) or not (false).
Local Presence displays phone numbers with the same area code as the
prospects your reps are calling, so more calls are answered.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableVoiceLocalPresence
Indicates whether voicemail is enabled (true) or not (false). Sales
reps can receive and store up to 20 personal voicemail messages in
Salesforce.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableVoiceMail
1904
VoiceSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether Voicemail Drop is enabled (true) or not (false).
Sales reps can drop (or send) prerecorded messages to recipients
voicemail boxes.
Default value is false. To use this feature, enable Dialer in Lightning
Experience.
booleanenableVoiceMailDrop
Declarative Metadata Sample Definition
The following is an example of the package file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
</types>
<version>28.0</version>
</Package>
The package file references the following Voice.settings file.
<?xml version="1.0" encoding="UTF-8"?>
<VoiceSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCallDisposition>true</enableCallDisposition>
<enableVoiceCallList>true</enableVoiceCallList>
<enableVoiceCallRecording>true</enableVoiceCallRecording>
<enableVoiceCoaching>true</enableVoiceCoaching>
<enableVoiceConferencing>true</enableVoiceConferencing>
<enableVoiceLocalPresence>true</enableVoiceLocalPresence>
<enableVoiceMail>true</enableVoiceMail>
<enableVoiceMailDrop>true</enableVoiceMailDrop>
</VoiceSettings>
Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesnt apply to metadata types for feature settings. The
wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WarrantyLifeCycleMgmtSettings
Represents settings that control the Warranty Administration for your org.
This type extends the Metadata metadata type and inherits its fullName field.
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for more details.
File Suffix and Directory Location
WarrantyLifeCycleMgmtSettings values are stored in the WarrantyLifecycleMgmt.settings file in the settings directory.
1905
WarrantyLifeCycleMgmtSettingsMetadata Types
Version
WarrantyLifeCycleMgmtSettings components are available in API version 54.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether warranty life-cycle management is enabled in your
org (true) or not false).
booleanenableWarrantyLCMgmt
Declarative Metadata Sample Definition
The following is an example of WarrantyLifeCycleMgmtSettings component.
<!--
~ Copyright 2022 salesforce.com, inc.
~ All Rights Reserved
~ Company Confidential
-->
<WarrantyLifecycleMgmtSettings
xmlns="http://soap.sforce.com/2006/04/metadata">
<enableWarrantyLCMgmt>true</enableWarrantyLCMgmt>
</WarrantyLifecycleMgmtSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright 2022 salesforce.com, inc.
~ All Rights Reserved
~ Company Confidential
-->
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>WarrantyLifecycleMgmt</members>
<name>Settings</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WorkDotComSettings
Represents WorkDotCom settings. This type extends the Metadata metadata type and inherits its fullName field.
1906
WorkDotComSettingsMetadata Types
Version
WorkDotComSettings components are available in API version 31.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether Coaching Manager Group Access is available to users
(true)or not (false). Default value is true.
Deprecated.
booleanenableCoachingManagerGroupAccess
Indicates whether Goal Manager Group Access is available to users
(true)or not (false). Default value is true.
Deprecated.
booleanenableGoalManagerGroupAccess
Indicates whether Profile Skills is available to users (true)or not
(false). Default value is true.
booleanenableProfileSkills
Indicates whether Add Skills as Feed Posts is available to users (true)or
not (false). Default value is true.
booleanenableProfileSkillsAddFeedPost
Indicates whether Profile Skills Auto Suggest is available to users
(true)or not (false). Default value is true.
booleanenableProfileSkillsAutoSuggest
Indicates whether Profile Skills Use Platform is available to users
(true)or not (false). Default value is true.
booleanenableProfileSkillsUsePlatform
Indicates whether Badge Definition Restriction is available to users
(true)or not (false). Default value is true.
Deprecated.
booleanenableWorkBadgeDefRestrictPref
Indicates whether Calibration is available to users (true)or not
(false). Default value is false.
Deprecated.
booleanenableWorkCalibration
Indicates whether Canvas is available to users (true)or not (false).
Default value is true.
Deprecated.
booleanenableWorkCanvasPref
Indicates whether Certification is available to users (true)or not
(false). Default value is true.
Deprecated.
booleanenableWorkCertification
Indicates whether Certification Notification is available to users
(true)or not (false). Default value is false.
Deprecated.
booleanenableWorkCertificationNotification
1907
WorkDotComSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether Rewards is available to users (true)or not
(false). Default value is true.
Deprecated.
booleanenableWorkRewardsPref
Indicates whether Thanks is available to users (true) or not
(false). Default value is true.
booleanenableWorkThanksPref
Declarative Metadata Sample Definition
The following is an example of a WorkDotComSettings component.
<?xml version="1.0" encoding="UTF-8"?>
<WorkDotComSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableCoachingManagerGroupAccess>true</enableCoachingManagerGroupAccess>
<enableGoalManagerGroupAccess>true</enableGoalManagerGroupAccess>
<enableProfileSkills>true</enableProfileSkills>
<enableProfileSkillsAddFeedPost>true</enableProfileSkillsAddFeedPost>
<enableProfileSkillsAutoSuggest>true</enableProfileSkillsAutoSuggest>
<enableProfileSkillsUsePlatform>true</enableProfileSkillsUsePlatform>
<enableWorkBadgeDefRestrictPref>true</enableWorkBadgeDefRestrictPref>
<enableWorkCalibration>true</enableWorkCalibration>
<enableWorkCanvasPref>true</enableWorkCanvasPref>
<enableWorkCertification>true</enableWorkCertification>
<enableWorkCertificationNotification>true</enableWorkCertificationNotification>
<enableWorkRewardsPref>true</enableWorkRewardsPref>
<enableWorkThanksPref>true</enableWorkThanksPref>
</WorkDotComSettings>
WorkforceEngagementSettings
Represents settings for Workforce Engagement Management.
File Suffix and Directory Location
WorkforceEngagementSettings components are stored in the WorkforceEngagement.settings folder.
Version
WorkforceEngagementSettings is available in API version 52.0 and later.
Special Access Rules
To use Workforce Engagement settings, the org requires a Workforce Engagement license.
Fields
Field Type
1908
WorkforceEngagementSettingsMetadata Types
DescriptionField TypeField Name
Indicates whether machine learning-based forecasting is used (true)
or not used (false).
booleanenableMachineLearningForecasting
Indicates whether Workforce Engagement is enabled (true) or not
enabled (false).
booleanenableWorkforceEngagement
Indicates whether the Workforce Engagement Configuration App is
installed or enabled (true) or not (false). If true, it grants access
booleanenableWorkforceEngagementConfiguration
to the Lightning App as well as the app's Job Profile Mapping tab. It also
defaults the standard and custom profile tab settings to On. If false,
it removes access to the app and tab but doesnt delete the app
metadata. This field is available in API version 53.0 and later.
Indicates whether historical adherence is enabled (true) or not enabled
(false). This field is available in API version 54.0 and later.
booleanenableHistoricalAdherence
Indicates whether individual adherence is enabled (true) or not enabled
(false). This field is available in API version 54.0 and later.
booleanenableIndividualAdherence
Indicates whether the intraday management dashboard is enabled
(true) or not enabled (false). This field is available in API version
55.0 and later.
booleanenableIntradayManagement
Indicates whether real-time adherence is enabled (true) or not enabled
(false). To use real-time adherence, you must also enable
Omni-Channel. This field is available in API version 55.0 and later.
booleanenableRealTimeAdherence
Declarative Metadata Sample Definition
The following is an example of a WorkforceEngagement.settings component.
<?xml version="1.0" encoding="UTF-8"?>
<WorkforceEngagementSettings xmlns="http://soap.sforce.com/2006/04/metadata">
<enableMachineLearningForecasting>true</enableMachineLearningForecasting>
<enableWorkforceEngagement>true</enableWorkforceEngagement>
<enableWorkforceEngagementConfiguration>true</enableWorkforceEngagementConfiguration>
<enableHistoricalAdherence>true</enableHistoricalAdherence>
<enableenableIndividualAdherence>true</enableIndividualAdherence>
<enableIntradayManagement>true</enableIntradayManagement>
<enableRealTimeAdherence>true</enableRealTimeAdherence>
</WorkforceEngagementSettings>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
2 <Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>WorkforceEngagement</members>
5 <name>Settings</name>
6 </types>
1909
WorkforceEngagementSettingsMetadata Types
7 <55.0>[ftest]</55.0>
8 </Package>
Usage
When enableMachineLearningForecasting is set to false, we clean up data from our Ofek forecasting platform. The original copy of
the same set of data is stored in the Core app, so no data is lost.
SharedTo
SharedTo defines the sharing access for a list view or a folder. It can be used to specify the target and source for owner-based sharing
rules.
See Sharing Considerations and Public and Personal Groups in Salesforce Help.
Note: SharedTo on page 1910 is included in the metadata for shared and private list views. SharedTo on page 1910 isnt in the
metadata for public list views.
Declarative Metadata File Suffix and Directory Location
SharedTo on page 1910 is used with ListView, Folder, and SharingRules.
Version
SharedTo on page 1910 is available in API version 17.0 and later.
Fields
DescriptionField TypeField
A group containing all customer portal users.
This field is available in API version 24.0 and later.
stringallCustomerPortalUsers
A group containing all internal and nonportal users.
This field is available in API version 24.0 and later.
stringallInternalUsers
A group containing all partner users.
This field is available in API version 24.0 and later.
stringallPartnerUsers
A system-managed group with sharing access containing all
partner members of the corresponding channel program or
level.
This field is available in API version 41.0 and later.
stringchannelProgramGroup
1910
SharedToMetadata Types
DescriptionField TypeField
A list of system-managed groups with sharing access containing
all partner members of the corresponding channel programs or
levels.
This field is available in API version 41.0 and later.
string[]channelProgramGroups
A list of groups with sharing access. Use this field instead of the
groups field.
This field is available in API version 22.0 and later.
string[]group
A list of guest user nicknames with sharing access. This field can
be used only with SharingGuestRule.
This field is available in API version 47.0 and later.
string[]guestUser
A list of groups with sharing access.
Use the group field instead for API version 22.0 and later.
string[]groups
A list of users whose direct and indirect subordinates receive
sharing access. This field is available in API version 24.0 and later.
string[]managerSubordinates
A list of users whose direct and indirect managers receive sharing
access. This field is available in API version 24.0 and later.
string[]managers
A list of groups with sharing access containing all users in a
portal role.
This field is available in API version 24.0 and later.
string[]portalRole
A list of groups with sharing access containing all users in a
portal role or any users under that role.
This field is available in API version 24.0 and later.
string[]portalRoleandSubordinates
A list of roles with sharing access. Use this field instead of the
roles field.
This field is available in API version 22.0 and later.
string[]role
A list of roles with sharing access. All roles below each of these
roles in the role hierarchy also have sharing access. If portal
string[]roleAndSubordinates
accounts are enabled, then all roles and portal accounts below
each of these roles in the role hierarchy also have sharing access.
Use this field instead of the rolesAndSubordinates
field.
This field is available in API version 22.0 and later. In Salesforce
orgs created before February 8, 2024, this field is available by
default. In orgs created on February 8, 2024 or later, this field is
only available after digital experiences is enabled.
1911
SharedToMetadata Types
DescriptionField TypeField
A list of roles with sharing access. All roles below each of these
roles in the role hierarchy also have sharing access.
This field is available in API version 22.0 and later. In Salesforce
orgs created before February 8, 2024, this value is only available
string[]roleAndSubordinatesInternal
after digital experiences is enabled. In orgs created on February
8, 2024 or later, this value is available by default.
A list of roles with sharing access.
Use the role field instead for API version 22.0 and later.
string[]roles
A list of roles with sharing access. All roles below each of these
roles in the role hierarchy also have sharing access. If portal
string[]rolesAndSubordinates
accounts are enabled, then all roles and portal accounts below
each of these roles in the role hierarchy also have sharing access.
Use the roleAndSubordinates field instead for API
version 22.0 and later.
A list of territories with sharing access.
Use the territory field instead for API version 22.0 and
later.
string[]territories
A list of territories with sharing access. All territories below each
of these territories in the territory hierarchy also have sharing
access.
Use the territoryAndSubordinates field instead for
API version 22.0 and later.
string[]territoriesAndSubordinates
A list of territories with sharing access. Use this field instead of
the territories field.
If youre using Enterprise Territory Management, use
modelName.territoryName for the shared-to and
shared-from territory values, where:
string[]territory
modelName equals the name of the active territory model
in the API.
territoryName equals the territorys name in the API.
This field is available in API version 22.0 and later.
A list of territories with sharing access. All territories below each
of these territories in the territory hierarchy also have sharing
string[]territoryAndSubordinates
access. Use this field instead of the
territoriesAndSubordinates field.
If youre using Enterprise Territory Management, use
modelName.territoryName for the shared-to and
1912
SharedToMetadata Types
DescriptionField TypeField
shared-from territoryAndSubordinates values,
where:
modelName equals the name of the active territory model
in the API.
territoryName equals the territorys name in the API.
This field is available in API version 22.0 and later.
A list of queues with sharing access. Applies only to lead, case,
and CustomObject sharing rules.
This field is available in API version 24.0 and later.
string[]queue
SharingBaseRule
Represents sharing rule settings such as access level and to whom access is granted.
This type extends the Metadata metadata type and inherits its fullName field.
Note: You cant create a SharingBaseRule on page 1913 component directly. Use the components under SharingRules instead.
Version
SharingBaseRule on page 1913 replaces BaseSharingRule and is available in API version 33.0 and later.
Fields
DescriptionField TypeField
Required. The access level that the sharing rule
grants.
stringaccessLevel
The access level for the accounts children (case,
contact, and opportunity).
AccountSharingRuleSettings[]accountSettings
Describes the sharing rule. Maximum of 1000
characters.
stringdescription
Required. Label for the sharing rule.stringlabel
Required. Specifies who the record is shared
with.
SharedTosharedTo
AccountSharingRuleSettings
Defines the access level for the case, contact, and opportunity associated with the account.
1913
SharingBaseRuleMetadata Types
DescriptionField TypeField
Required. The access level that the user or group
has to cases associated with the account.
Possible values are:
stringcaseAccessLevel
None
Read
Edit
Required. The access level that the user or group
has to contacts associated with the account.
Possible values are:
stringcontactAccessLevel
None
Read
Edit
Required. The access level that the user or group
has to opportunities associated with the account.
Possible values are:
stringopportunityAccessLevel
None
Read
Edit
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
SharingRules
Represents the base container for sharing rules, which can be criteria-based, ownership-based, territory-based, or for guest user access.
SharingRules enables you to share records with a set of users, using rules that specify the access level for the target user group.
This type extends the Metadata metadata type and inherits its fullName field. For more information, see Sharing Rules in Salesforce
Help.
In API version 33.0 and later, retrieving, deleting, or deploying of all sharing rules in an organization is available. Wildcard support is also
available. You cant retrieve, delete, or deploy manual sharing rules or sharing rules by their type (owner, criteria-based, territory, or guest
user).
Declarative Metadata File Suffix and Directory Location
In API version 33.0 and later, components are stored in the sharingRules folder and their file name matches the object name with the
suffix .sharingRules. Criteria-based, owner-based, territory-based, and guest user sharing rules are all contained in a
object.sharingRule file.
1914
SharingRulesMetadata Types
Before API version 33.0, SharingRules components are stored in their corresponding object directory and the file name matches the
object name. For example, the accountSharingRules directory contains an Account.sharingRules file for account
sharing rules. SharingRules for custom objects are stored in the customObjectSharingRules directory, which contains files
with the .sharingRules extension such as ObjA__c.sharingRules, where ObjA refers to the developer name of a custom
object type.
Version
SharingRules components are available in API version 24.0 and later, but these components are no longer available in API version 33.0
and later: AccountSharingRules, CampaignSharingRules, CaseSharingRules, ContactSharingRules, LeadSharingRules,
OpportunitySharingRules, AccountTerritorySharingRules, CustomObjectSharingRules, UserSharingRules.
In API version 33.0 and later, use SharingCriteriaRule, SharingOwnerRule and SharingTerritoryRule.
Special Access Rules
As of Spring 20 and later, only users with the View Setup and Configuration permission can access this object, and only users with the
Manage Sharing permission can edit this object.
Fields
The following information assumes that youre familiar with implementing sharing rules for standard objects and custom objects. For
more information on these fields, see Sharing Settings in Salesforce Help.
DescriptionField TypeField
An array of criteria-based sharing rules. Available in API
version 33.0 and later.
SharingCriteriaRule[]sharingCriteriaRules
An array of guest user sharing rules. Available in API
version 47.0 and later.
SharingGuestRule[]sharingGuestRules
An array of ownership-based sharing rules. Available in
API version 33.0 and later.
SharingOwnerRule[]sharingOwnerRules
An array of territory-based sharing rules. Available in API
version 33.0 and later.
SharingTerritoryRule[]sharingTerritoryRules
SharingCriteriaRule
Defines a criteria-based sharing rule. It extends SharingBaseRule and inherits all its fields. Available in API version 33.0 and later.
DescriptionField TypeField
Advanced filter conditions that are specified for the sharing
rule.
stringbooleanFilter
An array of the boolean criteria (conditions) for the sharing
rule.
FilterItem[]criteriaItems
1915
SharingRulesMetadata Types
DescriptionField TypeField
Required. Indicates whether records owned by users who
cant have an assigned role are included in the records
booleanincludeRecordsOwnedByAll
shared (true) or not (false). Examples of users who
cant have an assigned role are high-volume users and
system users such as automated process users.or
Salesforce system users.
You cant edit this field after the sharing rule is created.
SharingGuestRule
Defines a guest user sharing rule. It extends SharingBaseRule and inherits all its fields, except accountSettings. Available in API
version 47.0 and later.
Note: For SharingGuestRule, the accessLevel field can be set only to Read.
DescriptionField TypeField
Advanced filter conditions that are specified for the sharing
rule. Available in API version 48.0 and later.
stringbooleanFilter
An array of the boolean criteria (conditions) for the sharing
rule. Available in API version 48.0 and later.
FilterItem[]criteriaItems
Required. Indicates whether records owned by
high-volume community or site users are included in the
booleanincludeHVUOwnedRecords
records shared (true) or not (false). By default, only
records owned by authenticated users, guest users, and
queues are included in sharing rules. This field has a default
value of false. Available in API version 52.0 and later.
You cant edit this field after the sharing rule is created.
SharingOwnerRule
Defines an ownership-based sharing rule. It extends SharingBaseRule and inherits all its fields. Available in API version 33.0 and later.
DescriptionField TypeField
Required. Specifies the record owners.
If youre using Enterprise Territory Management, use
modelName.territoryName for the shared-to
SharedTosharedFrom
and shared-from territory and
territoryAndSubordinates values on the
SharedTo type, where:
modelName equals the name of the active territory
model in the API.
1916
SharingRulesMetadata Types
DescriptionField TypeField
territoryName equals the territorys name in
the API.
SharingTerritoryRule
Defines a territory-based sharing rule. It extends SharingOwnerRule and inherits all its fields. Available in API version 33.0 and later.
AccountSharingRules
Represents the sharing rules for accounts. It extends the SharingRules metadata type and inherits its fullName field. Only available
in API version 32.0 and earlier.
DescriptionField TypeField
List that defines user criteria-based rules.AccountCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.AccountOwnerSharingRule[]ownerRules
CampaignSharingRules
Represents the sharing rules for campaigns. It extends the SharingRules metadata type and inherits its fullName field. Only available
in API version 32.0 and earlier.
DescriptionField TypeField
List that defines user criteria-based rules.CampaignCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.CampaignOwnerSharingRule[]ownerRules
CaseSharingRules
Represents the sharing rules for cases. It extends the SharingRules metadata type and inherits its fullName field. Only available in
API version 32.0 and earlier.
DescriptionField TypeField
List that defines user criteria-based rules.CaseCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.CaseOwnerSharingRule[]ownerRules
ContactSharingRules
Represents the sharing rules for contacts. It extends the SharingRules metadata type and inherits its fullName field. Only available
in API version 32.0 and earlier.
1917
SharingRulesMetadata Types
DescriptionField TypeField
List that defines user criteria-based rules.ContactCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.ContactOwnerSharingRule[]ownerRules
LeadSharingRules
Represents the sharing rules for leads. It extends the SharingRules metadata type and inherits its fullName field. Only available in
API version 32.0 and earlier.
DescriptionField TypeField
List that defines user criteria-based rules.LeadCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.LeadOwnerSharingRule[]ownerRules
OpportunitySharingRules
Represents the sharing rules for opportunities. It extends the SharingRules metadata type and inherits its fullName field. Only available
in API version 32.0 and earlier.
DescriptionField TypeField
List that defines user criteria-based rules.OpportunityCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.OpportunityOwnerSharingRule[]ownerRules
AccountTerritorySharingRules
Represents the sharing rules for account territories in the original territory management feature. It extends the SharingRules metadata
type and inherits its fullName field. Only available in API version 32.0 and earlier.
DescriptionField TypeField
List that defines user membership-based rules. The list of
acceptable values for the sharedFrom fields are:
AccountTerritorySharingRule[]rules
territory
territoryAndSubordinates
CustomObjectSharingRules
Represents the sharing rules for custom objects. It extends the SharingRules metadata type and inherits its fullName field. Only
available in API version 32.0 and earlier.
1918
SharingRulesMetadata Types
DescriptionField TypeField
List that defines user criteria-based rules.CustomObjectCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.CustomObjectOwnerSharingRule[]ownerRules
UserSharingRules
Represents the sharing rules for users. With user sharing rules, you can share members of a group with members of another group. It
extends the SharingRules metadata type and inherits its fullName field. Only available in API version 32.0 and earlier.
DescriptionField TypeField
List that defines user criteria-based rules.UserCriteriaBasedSharingRule[]criteriaBasedRules
List that defines user membership-based rules.UserMembershipSharingRule[]membershipRules
Declarative Metadata Sample Definition
For retrieving sharing rules, see package.xml sample at SharingRules.
The following sample XML definition represents a criteria-based sharing rule in API version 33.0.
<?xml version="1.0" encoding="UTF-8"?>
<SharingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<sharingCriteriaRules>
<fullName>AccountCriteriaShareWithCEO</fullName>
<accessLevel>Edit</accessLevel>
<accountSettings>
<caseAccessLevel>Read</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<opportunityAccessLevel>Edit</opportunityAccessLevel>
</accountSettings>
<criteriaItems>
<field>Name</field>
<operation>startsWith</operation>
<value>Test</value>
</criteriaItems>
<description>my account criteria rule description</description>
<label>AccountCriteriaShareWithCEO</label>
<sharedTo>
<role>CEO</role>
</sharedTo>
</sharingCriteriaRules>
</SharingRules>
The following sample XML definition represents an ownership-based sharing rule in API version 33.0.
<?xml version="1.0" encoding="UTF-8"?>
<SharingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<sharingOwnerRules>
<fullName>MyCase</fullName>
<accessLevel>Edit</accessLevel>
1919
SharingRulesMetadata Types
<description>my case test owner sharing rule desc</description>
<label>MyCase</label>
<sharedFrom>
<role>COO</role>
</sharedFrom>
<sharedTo>
<role>CEO</role>
</sharedTo>
</sharingOwnerRules>
</SharingRules>
The following sample XML definition represents a territory-based sharing rule in API version 33.0.
<?xml version="1.0" encoding="UTF-8"?>
<SharingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<sharingTerritoryRules>
<fullName>MyAccountTerritoryRule</fullName>
<accessLevel>Read</accessLevel>
<accountSettings>
<caseAccessLevel>None</caseAccessLevel>
<contactAccessLevel>Read</contactAccessLevel>
<opportunityAccessLevel>None</opportunityAccessLevel>
</accountSettings>
<description>MyAccountTerritoryRule desc</description>
<label>MyAccountTerritoryRule</label>
<sharedFrom>
<territory>My_territory</territory>
</sharedFrom>
<sharedTo>
<role>CEO</role>
</sharedTo>
</sharingTerritoryRules>
</SharingRules>
The following is the definition of two account owner-based sharing rules in API version 32.0 and earlier. The file name corresponds to
Account.sharingRules under the accountSharingRules directory. In this definition, ownerRules corresponds to
AccountOwnerSharingRule.
<?xml version="1.0" encoding="UTF-8"?>
<AccountSharingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<ownerRules>
<fullName>G1Dev_G2New</fullName>
<sharedFrom>
<group>G1Dev</group>
</sharedFrom>
<sharedTo>
<group>G2New</group>
</sharedTo>
<accountAccessLevel>Read</caseAccessLevel>
<caseAccessLevel>None</caseAccessLevel>
<contactAccessLevel>Read</contactAccessLevel>
<name>G1Dev_G2New</name>
<opportunityAccessLevel>Edit</opportunityAccessLevel>
</ownerRules>
<ownerRules>
1920
SharingRulesMetadata Types
<fullName>G2New_R1New</fullName>
<sharedFrom>
<group>G2New</group>
</sharedFrom>
<sharedTo>
<roleAndSubordinates>R1New</roleAndSubordinates>
</sharedTo>
<accountAccessLevel>Edit</accountAccessLevel>
<caseAccessLevel>Read</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<name>G2New_R1New</name>
<opportunityAccessLevel>None</opportunityAccessLevel>
</ownerRules>
</AccountSharingRules>
The following is the definition of a user criteria-based sharing rule and a user membership-based sharing rule in API version 32.0 and
earlier. The file name corresponds to User.sharingRules under the userSharingRules directory.
<?xml version="1.0" encoding="UTF-8"?>
<UserSharingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<criteriaBasedRules>
<fullName>shareUsers2</fullName>
<sharedTo>
<group>Asia_Division</group>
</sharedTo>
<criteriaItems>
<field>FirstName</field>
<operation>equals</operation>
<value>John</value>
</criteriaItems>
<name>shareUsers2</name>
<userAccessLevel>Read</userAccessLevel>
</criteriaBasedRules>
<membershipRules>
<fullName>shareUsers1</fullName>
<sharedTo>
<group>South_America_Division</group>
</sharedTo>
<sharedFrom>
<group>Asia_Division</group>
</sharedFrom>
<name>shareUsers1</name>
<userAccessLevel>Read</userAccessLevel>
</membershipRules>
</UserSharingRules>
The following shows a sample package.xml file.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>ObjA__c.*</members>
<name>SharingCriteriaRule</name>
</types>
<types>
1921
SharingRulesMetadata Types
<members>ObjA__c.*</members>
<name>SharingOwnerRule</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1. BaseSharingRule
This component is removed as of API version 33.0 and is available in earlier versions only. Use SharingBaseRule instead. Represents
the base container for criteria-based and owner-based sharing rules.
2. CriteriaBasedSharingRule
This component is removed as of API version 33.0 and is available in earlier versions only. Use SharingRules instead. Represents a
criteria-based sharing rule. CriteriaBasedSharingRule enables you to share records based on specific criteria.
3. OwnerSharingRule
Represents an ownership-based sharing rule. OwnerSharingRule enables you to share records owned by a set of users with another
set, using rules that specify the access level of the target user group. This component is removed as of API version 33.0 and is available
in earlier versions only.
BaseSharingRule
This component is removed as of API version 33.0 and is available in earlier versions only. Use SharingBaseRule instead. Represents the
base container for criteria-based and owner-based sharing rules.
This type extends the Metadata metadata type and inherits its fullName field.
Note: You cant create a BaseSharingRule component directly. Use the components under the CriteriaBasedSharingRule or
OwnerSharingRule metadata types instead.
Version
BaseSharingRule on page 1922 components are available in API version 24.0 and later.
Fields
DescriptionField TypeField
Required. Specifies who the record is shared
with.
SharedTosharedTo
The unique identifier for API access.The
fullName can contain only underscores and
stringfullName
alphanumeric characters. It must be unique,
begin with a letter, not include spaces, not end
with an underscore, and not contain two
1922
BaseSharingRuleMetadata Types
DescriptionField TypeField
consecutive underscores. This field is inherited
from the Metadata component.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
CriteriaBasedSharingRule
This component is removed as of API version 33.0 and is available in earlier versions only. Use SharingRules instead. Represents a
criteria-based sharing rule. CriteriaBasedSharingRule enables you to share records based on specific criteria.
It extends the BaseSharingRule metadata type and inherits its sharedTo field. For more information, see Criteria-Based Sharing Rules
Overview in Salesforce Help.
Note: You cant create a CrteriaBasedSharingRule component directly. Use the child components instead.
Declarative Metadata File Suffix and Directory Location
CriteriaBasedSharingRule components are stored within the SharingRules component in the criteriaBasedRules field.
Version
CriteriaBasedSharingRule components are available in API version 24.0 and later.
Special Access Rules
As of Spring 20 and later, only users with the View Setup and Configuration permission can access this object, and only users with the
Manage Sharing permission can edit this object.
Fields
The following information assumes that youre familiar with implementing sharing rules for standard objects and custom objects. For
more information on these fields, see Sharing Settings in Salesforce Help.
DescriptionField TypeField
List that represents the criteria for the sharing
rule. The possible values are:
FilterItem[]criteriaItems
field
operation
value
1923
CriteriaBasedSharingRuleMetadata Types
AccountCriteriaBasedSharingRule
Represents a criteria-based sharing rule for accounts. It extends the CriteriaBasedSharingRule metadata type and inherits its
criteriaItems field.
AccountCriteriaBasedSharingRule is used by the criteriaBasedRules field in AccountSharingRules.
DescriptionField TypeField
Required. A value that represents the level of access that the
user or group has to the account. The possible values are:
ShareAccessLevelNoNone
(enumeration of type string)
accountAccessLevel
Read
Edit
All
Represents the filter logic of the sharing rule.stringbooleanFilter
Required. A value that represents the level of access that the
user or group has to cases associated with the account. The
possible values are:
ShareAccessLevelNoAll
(enumeration of type string)
caseAccessLevel
None
Read
Edit
Required. A value that represents the level of access that the
user or group has to contacts associated with the account. The
possible values are:
ShareAccessLevelNoAll
(enumeration of type string)
contactAccessLevel
None
Read
Edit
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
Required. A value that represents the level of access that a target
group is granted for any associated opportunity. The possible
values are:
ShareAccessLevelNoAll
(enumeration of type string)
opportunityAccessLevel
None
Read
Edit
1924
CriteriaBasedSharingRuleMetadata Types
CampaignCriteriaBasedSharingRule
Represents a criteria-based sharing rule for campaigns. It extends the CriteriaBasedSharingRule metadata type and inherits its
criteriaItems field.
CampaignCriteriaBasedSharingRule is used by the criteriaBasedRules field in CampaignSharingRules.
DescriptionField TypeField
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters. This field is available in API version 29.0 and later.
stringdescription
Required. A value that represents the level of access that a target
group is granted for a campaign. The possible values are:
ShareAccessLevelNoNone
(enumeration of type string)
campaignAccessLevel
Read
Edit
All
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
CaseCriteriaBasedSharingRule
Represents a criteria-based sharing rule for cases. It extends the CriteriaBasedSharingRule metadata type and inherits its
criteriaItems field.
CaseCriteriaBasedSharingRule is used by the criteriaBasedRules field in CaseSharingRules.
DescriptionField TypeField
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. A value that represents the level of access being
granted for a case. The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
caseAccessLevel
Read
Edit
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
ContactCriteriaBasedSharingRule
Represents a criteria-based sharing rule for contacts. It extends the CriteriaBasedSharingRule metadata type and inherits its
criteriaItems field.
1925
CriteriaBasedSharingRuleMetadata Types
ContactCriteriaBasedSharingRule is used by the criteriaBasedRules field in ContactSharingRules.
DescriptionField TypeField
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. A value that represents the level of access being
granted to the target group, role, or user for a contact. The
possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
contactAccessLevel
Read
Edit
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
LeadCriteriaBasedSharingRule
Represents a criteria-based sharing rule for leads. It extends the CriteriaBasedSharingRule metadata type and inherits its criteriaItems
field.
LeadCriteriaBasedSharingRule is used by the criteriaBasedRules field in LeadSharingRules.
DescriptionField TypeField
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters. This field is available in API version 29.0 and later.
stringdescription
Required. A value that represents the level of allowed access.
The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
leadAccessLevel
Read
Edit
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
OpportunityCriteriaBasedSharingRule
Represents a criteria-based sharing rule for opportunities. It extends the CriteriaBasedSharingRule metadata type and inherits its
criteriaItems field.
OpportunityCriteriaBasedSharingRule is used by the criteriaBasedRules field in OpportunitySharingRules.
1926
CriteriaBasedSharingRuleMetadata Types
DescriptionField TypeField
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. A value that represents the level of allowed access.
The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
opportunityAccessLevel
Read
Edit
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
CustomObjectCriteriaBasedSharingRule
Represents a criteria-based sharing rule for custom objects. It extends the CriteriaBasedSharingRule metadata type and inherits its
criteriaItems field.
CustomObjectCriteriaBasedSharingRule is used by the criteriaBasedRules field in CustomObjectSharingRules.
DescriptionField TypeField
Required. A value that represents the type of allowed sharing.
The possible values are:
stringaccessLevel
Read
Edit
All
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
UserCriteriaBasedSharingRule
Represents a criteria-based sharing rule for users. It extends the CriteriaBasedSharingRule metadata type and inherits its criteriaItems
field.
UserCriteriaBasedSharingRule is used by the criteriaBasedRules field in UserSharingRules.
1927
CriteriaBasedSharingRuleMetadata Types
DescriptionField TypeField
Represents the filter logic of the sharing rule.stringbooleanFilter
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
Required. A value that represents the type of allowed sharing.
The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
userAccessLevel
Read
Edit
Declarative Metadata Sample Definition
The following is the definition of two owner-based sharing rules and one criteria-based sharing rule containing two criteria items. The
file name corresponds to the Account.sharingRules file under the accountSharingRules directory.
<?xml version="1.0" encoding="UTF-8"?>
<AccountSharingRules xmlns="http://soap.sforce.com/2006/04/metadata">
<ownerRules>
<fullName>G1Dev_G2New</fullName>
<sharedTo>
<group>G2New</group>
</sharedTo>
<sharedFrom>
<group>G1Dev</group>
</sharedFrom>
<accountAccessLevel>Read</accountAccessLevel>
<caseAccessLevel>None</caseAccessLevel>
<contactAccessLevel>Read</contactAccessLevel>
</ownerRules>
<fullName>G2New_R1New</fullName>
<sharedTo>
<roleAndSubordinates>R1New</roleAndSubordinates>
</sharedTo>
<sharedFrom>
<group>G2New</group>
</sharedFrom>
<accountAccessLevel>Edit</accountAccessLevel>
<caseAccessLevel>Read</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<name>G2New_R1New</name>
<opportunityAccessLevel>None</opportunityAccessLevel>
</ownerRules>
<criteriaBasedRules>
<fullName>AccountCriteria</fullName>
<sharedTo>
<group>G1</group>
1928
CriteriaBasedSharingRuleMetadata Types
</sharedTo>
<criteriaItems>
<field>BillingCity</field>
<operation>equals</operation>
<value>San Francisco</value>
</criteriaItems>
<criteriaItems>
<field>MyChkBox__c</field>
<operation>notEqual</operation>
<value>False</value>
</criteriaItems>
<accountAccessLevel>Read</accountAccessLevel>
<booleanFilter>1 OR 2</booleanFilter>
<caseAccessLevel>None</caseAccessLevel>
<contactAccessLevel>Read</contactAccessLevel>
<name>AccountCriteria</name>
<opportunityAccessLevel>None</opportunityAccessLevel>
</criteriaBasedRules>
</AccountSharingRules>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
OwnerSharingRule
Represents an ownership-based sharing rule. OwnerSharingRule enables you to share records owned by a set of users with another set,
using rules that specify the access level of the target user group. This component is removed as of API version 33.0 and is available in
earlier versions only.
OwnerSharingRule extends the BaseSharingRule metadata type and inherits its SharedTo field. For more information, see Sharing Rules
in the Salesforce online help.
Note: You cant create a OwnerSharingRule component directly. Use the child components instead.
Declarative Metadata File Suffix and Directory Location
OwnerSharingRules components are stored within the SharingRules component in the ownerRules field.
Version
OwnerSharingRules components are available in API version 24.0 and later.
Special Access Rules
As of Spring 20 and later, only users with the View Setup and Configuration permission can access this object, and only users with the
Manage Sharing permission can edit this object.
1929
OwnerSharingRuleMetadata Types
Fields
The following information assumes that you are familiar with implementing sharing rules for standard objects and custom objects. For
more information on these fields, see Sharing Settings in the Salesforce online help.
DescriptionField TypeField
Required. Specifies the record owners.SharedTosharedFrom
Required. Specifies who the record should be
shared with.
SharedTosharedTo
The unique identifier for API access. The
fullName can contain only underscores and
stringfullName
alphanumeric characters. It must be unique,
begin with a letter, not include spaces, not end
with an underscore, and not contain two
consecutive underscores. This field is inherited
from the Metadata component.
AccountOwnerSharingRule
Represents a sharing rule for an account with users other than the owner. It extends the OwnerSharingRule metadata type and inherits
its fullName, sharedFrom, and sharedTo fields.
AccountOwnerSharingRule is used by the ownerRules field in AccountSharingRules.
DescriptionField TypeField
Required. A value that represents the level of access that a group
or role has to the account. The possible values are:
ShareAccessLevelNoNone
(enumeration of type string)
accountAccessLevel
Read
Edit
All
Required. A value that represents the level of access that a group
or role has to cases associated with the account. The possible
values are:
ShareAccessLevelNoAll
(enumeration of type string)
caseAccessLevel
None
Read
Edit
Required. A value that represents the level of access that a group
or role has to contacts associated with the account. The possible
values are:
ShareAccessLevelNoAll
(enumeration of type string)
contactAccessLevel
None
Read
Edit
1930
OwnerSharingRuleMetadata Types
DescriptionField TypeField
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
Required. A value that represents the level of access that a group
or role is granted for any associated opportunity. The possible
values are:
ShareAccessLevelNoAll
(enumeration of type string)
opportunityAccessLevel
None
Read
Edit
CampaignOwnerSharingRule
Represents a sharing rule for a campaign with users other than the owner. It extends the OwnerSharingRule metadata type and inherits
its fullName, sharedFrom, and sharedTo fields.
CampaignOwnerSharingRule is used by the ownerRules field in CampaignSharingRules.
DescriptionField TypeField
A value that represents the level of access that a group or role
is granted for a campaign. The possible values are:
ShareAccessLevelNoNone
(enumeration of type string)
campaignAccessLevel
Read
Edit
All
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Name for the sharing rule. Corresponds to Label in the user
interface.
stringname
CaseOwnerSharingRule
Represents a sharing rule for a case with users other than the owner. It extends the OwnerSharingRule metadata type and inherits its
fullName, sharedFrom, and sharedTo fields.
CaseOwnerSharingRule is used by the ownerRules field in CaseSharingRules. All the following fields are required.
DescriptionField TypeField
Required. A value that represents the level of access that a group
or role is granted for a case. The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
caseAccessLevel
Read
Edit
1931
OwnerSharingRuleMetadata Types
DescriptionField TypeField
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
ContactOwnerSharingRule
Represents a sharing rule for a contact with users other than the owner. It extends the OwnerSharingRule metadata type and inherits
its fullName, sharedFrom, and sharedTo fields.
ContactOwnerSharingRule is used by the ownerRules field in ContactSharingRules.
DescriptionField TypeField
Required. A value that represents the level of access that a group
or role is granted for a contact. The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
contactAccessLevel
Read
Edit
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
LeadOwnerSharingRule
Represents a sharing rule for a lead with users other than the owner. It extends the OwnerSharingRule metadata type and inherits its
fullName, sharedFrom, and sharedTo fields.
LeadOwnerSharingRule is used by the ownerRules field in LeadSharingRules.
DescriptionField TypeField
Required. A value that represents the level of access that a group
or role is granted for a lead. The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
leadAccessLevel
Read
Edit
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. Required. Name for the sharing rule. Corresponds to
Label in the user interface.
stringname
1932
OwnerSharingRuleMetadata Types
OpportunityOwnerSharingRule
Represents a sharing rule for an opportunity with users other than the owner. It extends the OwnerSharingRule metadata type and
inherits its fullName, sharedFrom, and sharedTo fields.
OpportunityOwnerSharingRule is used by the ownerRules field in OpportunitySharingRules.
DescriptionField TypeField
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. A value that represents the level of access that a group
or role is granted for an opportunity. The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
opportunityAccessLevel
Read
Edit
AccountTerritorySharingRule
Represents a rule for sharing an account within a territory. It extends the OwnerSharingRule metadata type and inherits its fullName,
sharedFrom, and sharedTo fields.
AccountTerritorySharingRule is used by the ownerRules field in AccountTerritorySharingRules.
DescriptionField TypeField
Required. A value that represents the level of access that a
Territory or TerritoryAndSubordinates group is granted for an
account territory. The possible values are:
ShareAccessLevelNoNone
(enumeration of type string)
accountAccessLevel
Read
Edit
All
Required. A value that represents the level of access that a
Territory or TerritoryAndSubordinates group is granted for all
child cases to an account. The possible values are:
ShareAccessLevelNoAll
(enumeration of type string)
caseAccessLevel
None
Read
Edit
Required. A value that represents the level of access that a
Territory or TerritoryAndSubordinates group is granted for all
related contacts on an account. The possible values are:
ShareAccessLevelNoAll
(enumeration of type string)
contactAccessLevel
None
Read
1933
OwnerSharingRuleMetadata Types
DescriptionField TypeField
Edit
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
Required. A value that represents the level of access that a
Territory or TerritoryAndSubordinates group is granted for all
ShareAccessLevelNoAll
(enumeration of type string)
opportunityAccessLevel
opportunities associated with an account. The possible values
are:
None
Read
Edit
CustomObjectOwnerSharingRule
Represents a sharing rule for custom objects. It extends the OwnerSharingRule metadata type and inherits its fullName, sharedFrom,
and sharedTo fields.
CustomObjectOwnerSharingRule is used by the ownerRules field in CustomObjectSharingRules.
DescriptionField TypeField
Required. A value that represents the level of access that a group
or role is granted to a custom object. The possible values are:
stringaccessLevel
Read
Edit
All
Represents the description of the sharing rule. Maximum of 1000
characters.
This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
UserMembershipSharingRule
Represents a sharing rule to share members of a group with another group of users. It extends the OwnerSharingRule metadata type
and inherits its fullName, sharedFrom, and sharedTo fields.
UserMembershipSharingRule is used by the ownerRules field in UserSharingRules on page 1919.
1934
OwnerSharingRuleMetadata Types
DescriptionField TypeField
Represents the description of the sharing rule. Maximum of 1000
characters.This field is available in API version 29.0 and later.
stringdescription
Required. Name for the sharing rule. Corresponds to Label in
the user interface.
stringname
Required. A value that represents the level of access that a group
or role is granted for a user. The possible values are:
ShareAccessLevelReadEdit
(enumeration of type string)
userAccessLevel
Read
Edit
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SharingSet
Represents a sharing set. A sharing set defines an access mapping that grants portal or community users access to objects that are
associated with their accounts or contacts.
This type extends the Metadata metadata type and inherits its fullName field.
For example, you can grant portal or community users access to all cases related to their account record. Similarly, you can grant portal
or community users access to all cases related to a parent account that is identified on the users account record.
File Suffix and Directory Location
SharingSet components have the suffix .sharingSet and are stored in the sharingSets folder.
Version
SharingSet components are available in API version 30.0 and later.
Special Access Rules
As of Spring 20 and later, only users with the View Setup and Configuration permission can access this object, and only users with the
Manage Sharing permission can edit this object. To create or update sharing sets, you need the Customize Application permission.
Sharing sets are available with these licenses.
Authenticated Website
Customer Community Login
Customer Community Plus
Partner Community
Customer Community User
1935
SharingSetMetadata Types
High Volume Customer Portal
High Volume Portal
Overage Authenticated Website User
Overage High Volume Customer Portal User
Fields
DescriptionField TypeField Name
A list of access mappings on a sharing set.AccessMapping[]accessMappings
The sharing set description. Limit: 255 characters.stringdescription
Required. The unique identifier for API access. Corresponds to Sharing
Set Name on the user interface.
stringname
The profiles of users that are granted access to the target objects. Profiles
must be associated with a license that can use sharing sets. See Special
Access Rules for more information.
string[]profiles
AccessMapping
AccessMapping represents an access mapping in the sharing set, which grants access to a target object by looking up to an account or
contact associated with the user.
You can grant portal users access to a target object, or to both a target object and its associated objects, such as an account and its
contacts and cases.
DescriptionField TypeField Name
Required. The target object access level granted to the portal user. Valid values
are:
stringaccessLevel
Read
Edit
Required. A lookup to the target object, which supports standard or custom
fields, or an ID. For accounts or cases associated with entitlements, use
Entitlement.Account or Entitlement.Case.
stringobjectField
Required. The target object to which the portal user is gaining access, and
refers to one of the following:
stringobject
Account
Campaign
Contact
Case
Custom Objects (for example, ObjA__c)
Opportunity
1936
SharingSetMetadata Types
DescriptionField TypeField Name
Order
ServiceContract
User
WorkOrder
Portal users gain access to all order entitlements and order items under an
account to which they have access.
Required. The users lookup to an account, contact, or a standard or custom
field derived from an account or contact. Either the user or the users manager
can be used in the lookup. Valid values are:
stringuserField
Account
Account.Field
Contact
Contact.Field
Contact.RelatedAccount
Manager.Account
Manager.Contact
Field refers to a standard or custom field based on an account or contact.
Declarative Metadata Sample Definition
The following is an example of a SharingSet component that grants users access to all contacts whose ReportsTo fields match the
users contacts.
<?xml version="1.0" encoding="UTF-8"?>
<SharingSet xmlns="http://soap.sforce.com/2006/04/metadata">
<accessMappings>
<accessLevel>Read</accessLevel>
<objectField>ReportsTo</objectField>
<object>Contact</object>
<userField>Contact</userField>
</accessMappings>
<description>User Access Mapping</description>
<name>User</name>
<profiles>customer community user</profiles>
</SharingSet>
The following is an example of a SharingSet component that grants users access to all cases that are related to an entitlement, which is
associated with the users account.
<?xml version="1.0" encoding="UTF-8"?>
<SharingSet xmlns="http://soap.sforce.com/2006/04/metadata">
<name>Case</name>
<accessMappings>
<accessLevel>Edit</accessLevel>
<objectField>Entitlement.Account</objectField>
1937
SharingSetMetadata Types
<object>Case</object>
<userField>Account</userField>
</accessMappings>
</SharingSet>
The following is an example of a SharingSet component with a list of access mappings.
<?xml version="1.0" encoding="UTF-8"?>
<SharingSet xmlns="http://soap.sforce.com/2006/04/metadata">
<description>This is a basic sharing set with several access mappings.</description>
<name>Basic</name>
<profiles>customer community user</profiles>
<accessMappings>
<accessLevel>Read</accessLevel>
<objectField>Id</objectField>
<object>Account</object>
<userField>Account</userField>
</accessMappings>
<accessMappings>
<accessLevel>Edit</accessLevel>
<objectField>Account</objectField>
<object>Contact</object>
<userField>Account</userField>
</accessMappings>
<accessMappings>
<accessLevel>Edit</accessLevel>
<objectField>Contact</objectField>
<object>Case</object>
<userField>Contact</userField>
</accessMappings>
<accessMappings>
<accessLevel>Read</accessLevel>
<objectField>AccountLookup__c</objectField>
<object>HVPUAccessible__c</object>
<userField>Account</userField>
</accessMappings>
</SharingSet>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>SharingSetBasic</fullName>
<types>
<members>HVPUAccessible__c.AccountLookup__c</members>
<members>HVPUAccessible__c.ContactLookup__c</members>
<name>CustomField</name>
</types>
<types>
<members>HVPUAccessible__c</members>
<name>CustomObject</name>
</types>
<types>
<members>Basic</members>
<name>SharingSet</name>
</types>
1938
SharingSetMetadata Types
<version>30.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SiteDotCom
Represents a site for deployment.
SiteDotCom extends the MetadataWithContent type and inherits its fullName and content fields.
Declarative Metadata File Suffix and Directory Location
SiteDotCom components are stored in the siteDotComSites directory of the corresponding package directory.
The file name for the metadata .xml file is [sitename]1.site-meta.xml. The file name for the site file is
[sitename]1.site.
When a Lightning site is created, two sites are made behind the scenes: CustomSite (of type ChatterNetwork) and SiteDotComSite (of
type ChatterNetworkPicasso). These sites are named, respectively, <site_name> and <site_name>1. The corresponding MDAPI file
names are <site_name>.site-meta.xml and <site_name>1.site-meta.xml. 1 is appended to the SiteDotComSite
type to keep the name unique from the corresponding CustomSite site.
Note: There is a file size limitation when using the Metadata API to deploy a site from sandbox to production. The assets in the
.site file can't be larger than 40 MB. The site gets created, but the assets show in the new site as broken. To fix the assets, export
the assets from the sandbox environment separately and then import them into your new site.
Version
SiteDotCom components are available in API version 30.0 and later.
Fields
DescriptionField TypeField
The name of the site that youre deploying.stringlabel
Required. Identifies whether the site is a
ChatterNetworkPicasso site for Experience
Cloud Sites, or a Siteforce site for Site.com sites.
(enumeration of type
string)
siteType
1939
SiteDotComMetadata Types
Declarative Metadata Sample Definition
Here are two examples of a SiteDotCom XML definition.
<?xml version="1.0" encoding="UTF-8"?>
<SiteDotCom xmlns="http://soap.sforce.com/2006/04/metadata">
<label>testsite</label>
<siteType>Siteforce</siteType>
</SiteDotCom>
<?xml version="1.0" encoding="UTF-8"?>
<SiteDotCom xmlns="http://soap.sforce.com/2006/04/metadata">
<label>testCommunity</label>
<siteType>ChatterNetworkPicasso</siteType>
</SiteDotCom>
Usage
You can only deploy a .site file retrieved in Summer 19 or later. Older files arent supported.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Skill
Represents the settings for a skill used for field service or to route chats to agents in Chat, such as the name of the skill and which agents
the skills are assigned to.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Skill values are stored in the <developer_name>.skill file in the skills directory.
Version
Skill is available in API version 28.0 and later.
Fields
DescriptionField TypeField Name
Specifies how skills are assigned to Chat users. Skills can be
assigned to sets of users or sets of profiles.
SkillAssignmentsassignments
1940
SkillMetadata Types
DescriptionField TypeField Name
Specifies the description of the skill. This field is available in
API version 38.0 and later.
stringdescription
Specifies the name of the skill.stringlabel
Specifies the skill type, such as language or department,
associated with the skill. This field is available in API version
58.0 and later.
stringskillType
SkillAssignments
Represents which users and user profiles to whom specific skills are assigned.
Fields
DescriptionField TypeField Name
Specifies the profiles that are associated with a specific skill.SkillProfileAssignmentsprofiles
Specifies the users that are associated with a specific skill.SkillUserAssignmentsusers
SkillProfileAssignments
Represents the profiles that are associated with a specific skill.
Fields
DescriptionField TypeField Name
Specifies the custom name of the profile associated with a
specific skill.
stringprofile
SkillUserAssignments
Represents the users that are associated with a specific skill.
Fields
DescriptionField TypeField Name
Specifies the username of the user associated with a specific
skill.
stringuser
1941
SkillMetadata Types
Declarative Metadata Sample Definition
This is a sample of a skill file.
<?xml version="1.0" encoding="UTF-8"?>
<Skill xmlns="http://soap.sforce.com/2006/04/metadata">
<label>My Skill 1</label>
<assignments>
<profiles>
<profile>LiveAgentOperator</profile>
<profile>LiveAgentSupervisor</profile>
</profiles>
<users>
<user>[email protected]</user>
</users>
</assignments>
</Skill>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
StandardValueSet
Represents the set of values in a standard picklist field. This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
StandardValueSet components have the suffix .standardValueSet and are stored in the standardValueSets folder.
Version
StandardValueSet components are available in API version 38.0 and later.
Fields
DescriptionField TypeField Name
Groups picklist and enumerated values. For example, for the picklist
values of the Status field on the Service Appointment object, Done
stringgroupingStringEnum
and Finished can both have a grouping string of Completed.
Available in API version 41.0 and later.
Required. Indicates whether a global value set is sorted in alphabetical
order. By default, this value is false.
booleansorted
1942
StandardValueSetMetadata Types
DescriptionField TypeField Name
Defines each value in a standard picklists value set. The
groupingString value is available in API version 38.0 and later.
When you deploy a StandardValueSet, this array must contain at least
one picklist value. Otherwise, you receive an error.
StandardValue[]standardValue
Note: When setting standardValue on Record Types,
including person account record types, new picklist values loaded
into your organization through the Metadata API dont display in
the picklist UI by default. For users to see the new values, go to
the Record Types list for the object containing the picklist field,
click Edit, and add the new value to the Selected Fields list.
Declarative Metadata Sample Definition
The following example shows a StandardValueSet component thats defined as the Stage standard picklist on a customized opportunity
object.
<?xml version="1.0" encoding="UTF-8"?>
<StandardValueSet xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>OpportunityStage</fullName> <!-- Enum name -->
<standardValue>
<fullName>Closed Abandoned</fullName>
</standardValue>
<standardValue>
<fullName>Closed Won</fullName>
</standardValue>
<standardValue>
<fullName>Closed Lost</fullName>
</standardValue>
</StandardValueSet>
<CustomObject>
<fullName>Opportunity</fullName>
<fields>
<fullName>StageName</fullName> <!-- field name -->
<label>Stage</label>
<type>Picklist</type>
</fields>
<label>ObjectWithValueSet</label>
<pluralLabel>ObjectWithValueSet</pluralLabel>
<sharingModel>ReadWrite</sharingModel>
</CustomObject>
For a list of standard value set names for standard picklists, see StandardValueSet Names and Standard Picklist Fields.
1943
StandardValueSetMetadata Types
Wildcard Support in the Manifest File
This metadata type doesnt support the wildcard character * (asterisk) in the package.xml manifest file. For information about
using the manifest file, see Deploying and Retrieving Metadata with the Zip File.
StandardValueSetTranslation
Contains details for a standard picklist translation. It returns a translated standard value set.This type extends the Metadata metadata
type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
StandardValueSetTranslation components have the suffix .standardValueSetTranslation and are stored in the
standardValueSetTranslations folder.
Translations are stored in a file with a format of ValueSetName-lang.standardValueSetTranslation, where
ValueSetName is the global value sets name, and lang is the translation language.
Version
StandardValueSetTranslation components are available in API version 38.0 and later.
Fields
DescriptionField TypeField
A list of values from global value sets to be translated.ValueTranslation[]valueTranslation
Declarative Metadata Sample Definition
The following is an example of a StandardValueSetTranslation component. When a value isnt translated, its translation becomes a
comment thats paired with its label.
<?xml version="1.0" encoding="UTF-8"?>
<StandardValueSetTranslation xmlns="http://soap.sforce.com/2006/04/metadata">
<valueTranslation>
<masterLabel>Cold</masterLabel>
<translation><!-- Cold --></translation>
</valueTranslation>
<valueTranslation>
<masterLabel>Hot</masterLabel>
<translation><!-- Hot --></translation>
</valueTranslation>
<valueTranslation>
<masterLabel>Warm</masterLabel>
<translation><!-- Warm --></translation>
1944
StandardValueSetTranslationMetadata Types
</valueTranslation>
</StandardValueSetTranslation>
The following is an example package.xml that references the StandardValueSetTranslation definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>AccountRating-fr</members>
<name>StandardValueSetTranslation</name>
</types>
<version>38.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
Translations
StaticResource
Represents a static resource file, often a code library in a ZIP file. Static resources allow you to upload content that you can reference in
a Visualforce page, including archives (such as .zip and .jar files), images, style sheets, JavaScript, and other files. Static resources can be
used only within your Salesforce org, so you cant host content here for other apps or websites.
This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
File Suffix and Directory Location
The file suffix is .resource for the template file. The accompanying metadata file is named resource-meta.xml.
Static resource components are stored in the staticresources folder in the corresponding package directory.
Version
Static resources are available in API version 12.0 and later.
Fields
This metadata type contains the following fields:
1945
StaticResourceMetadata Types
DescriptionField TypeField Name
Required. Indicates whether the static resource is marked with a public caching
tag so that a third-party delivery client can cache the content. This field is available
in API version 14.0. The valid values are:
StaticResourceCacheControl
(enumeration of type string)
cacheControl
Private
Public
The static resource content. Base 64-encoded binary data. Before making an API
call, client applications must encode the binary attachment data as base64. Upon
base64Binarycontent
receiving a response, client applications must decode the base64 data to binary.
This conversion is handled for you by a SOAP client. This field is inherited from
the MetadataWithContent component.
Required. The content type of the file, for example text/plain.stringcontentType
The description of the static resource.stringdescription
The static resource name. The name can only contain characters, letters, and the
underscore (_) character. The name must start with a letter, and cant end with
an underscore or contain two consecutive underscore characters.
Inherited from the Metadata component, this field isnt defined in the WSDL for
this component. It must be specified when creating, updating, or deleting. See
create() to see an example of this field specified for a call.
stringfullName
Declarative Metadata Sample Definition
<?xml version="1.0" encoding="UTF-8"?>
<StaticResource xmlns="http://soap.sforce.com/2006/04/metadata">
<contentType>text/plain</contentType>
<description>Test Resource</description>
</StaticResource>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SustainabilityUom
Represents the unit of measure (UOM) values for custom fuel types in an org. Track fuel consumption and emission results with the
flexibility to add custom fuel types and UOM values.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1946
SustainabilityUomMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
SustainabilityUom components have the suffix .sustainabilityUom and are stored in the sustainabilityUoms folder.
Version
SustainabilityUom components are available in API version 56.0 and later.
Special Access Rules
The Net Zero Cloud permission set license is required to access this object along with the user access for carbon accounting and org
access for custom fuels and UOMs.
Fields
DescriptionField Name
Field Type
string
description
Description
The description of the unit of measure.
Field Type
boolean
isProductUom
Description
Indicates whether the unit of measure is for a product that the company has procured
in its supply chain operations (true) or not (false).
The default value is false.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
The default value is false.
Field Type
boolean
isStationaryAssetUom
Description
Indicates whether the unit of measure is used in the stationary asset calculations
(true) or (false).
1947
SustainabilityUomMetadata Types
DescriptionField Name
The default value is false.
Field Type
boolean
isVehicleAssetUom
Description
Indicates whether the unit of measure is used in the vehicle asset calculations (true)
or (false).
The default value is false.
Field Type
string
masterLabel
Description
Required.
The label assigned to this object.
Field Type
UnitType (enumeration of type string)
unitType
Description
Required.
The type of unit used for conversions or calculations.
Values are:
Energy
Other
Volume
Weight
Declarative Metadata Sample Definition
The following is an example of a SustainabilityUom component.
<?xml version="1.0" encoding="UTF-8"?>
<SustainabilityUom xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Weight in Grams</description>
<isProductUom>true</isProductUom>
<isProtected>false</isProtected>
<isStationaryAssetUom>false</isStationaryAssetUom>
<isVehicleAssetUom>false</isVehicleAssetUom>
<masterLabel>Grams</masterLabel>
<unitType>Weight</unitType>
</SustainabilityUom>
1948
SustainabilityUomMetadata Types
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<members>Grams</members>
<name>SustainabilityUom</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SustnUomConversion
Represents information about the unit of measure (UOM) conversion for the custom fuel types defined by a customer in an org.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
SustnUomConversion components have the suffix sustnUomConversion and are stored in the sustnUomConversions
folder.
Version
SustnUomConversion components are available in API version 57.0 and later.
Special Access Rules
The Net Zero Cloud permission set license is required to access this object along with the user access for carbon accounting and org
access for custom fuels and UOMs.
1949
SustnUomConversionMetadata Types
Fields
DescriptionField Name
Field Type
double
conversionFactor
Description
Required.
The conversion factor that's used to convert values from one unit of measure to another
for the fuel type.
Field Type
string
fuelType
Description
The name of the fuel type.
Possible values are:
AutogasLPG
Biodiesel
Biomass
CityGas
CompressedNaturalGasCNG
Cooling
Diesel
Electricity
Ethanol
FuelOil
Gasoline
Heat
HeavyOil
ITElectricity
JetFuel
Kerosene
LightOil
LiquidNaturalGasLNG
MobileDiesel
NaturalGas
Propane
Refrigerant
Steam
1950
SustnUomConversionMetadata Types
DescriptionField Name
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type.
The default value is false.
Field Type
string
masterLabel
Description
A user-friendly name for SustnUomConversion, which is defined when the
SustnUomConversion is created.
Field Type
string
sourceUom
Description
Required.
The source unit of measure for the fuel type.
Possible values are:
1000m3
GJ
GWh
Kiloliters
Liters
MJ
MMBtu
MWh
Therms
Tonnes
UkGallons
UsGallons
ccf
kG
kWh
kcal
lbs
longTons
m3
shortTons
1951
SustnUomConversionMetadata Types
DescriptionField Name
Field Type
string
targetUom
Description
Required.
The target unit of measure for the fuel type.
Field Type
string
uomsKey
Description
The key associated with a unit of measure for the fuel type.
Declarative Metadata Sample Definition
The following is an example of a SustnUomConversion component.
<?xml version="1.0" encoding="UTF-8"?>
<SustnUomConversion xmlns="http://soap.sforce.com/2006/04/metadata">
<conversionFactor>0.9</conversionFactor>
<fuelType>Diesel</fuelType>
<isProtected>false</isProtected>
<masterLabel>KG_Liters</masterLabel>
<sourceUom>KG</sourceUom>
<targetUom>Liters</targetUom>
<uomsKey>uomsKey</uomsKey>
</SustnUomConversion>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<fullName>Pkg</fullName>
<types>
<members>US_UK_Gallons</members>
<members>Therms_kWh</members>
<members>KG_Liters</members>
<name>SustnUomConversion</name>
</types>
<version>57.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1952
SustnUomConversionMetadata Types
SvcCatalogCategory
Represents the grouping of individual catalog items in Service Catalog.
File Suffix and Directory Location
SvcCatalogCategory components have the suffix category and are stored in the svcCatalogCategories folder.
Version
SvcCatalogCategory components are available in API version 53.0 and later.
Fields
DescriptionField Name
Field Type
string
image
Description
The developer name of a content document to be displayed in the Service Catalog
for this category.
Field Type
boolean
isActive
Description
Indicates if a catalog category is active.
Field Type
boolean
isProtected
Description
An auto-generated value. This value currently has no impact.
Field Type
string
masterLabel
Description
Required. The primary label for the catalog category record.
Field Type
string
parentCategory
Description
If provided, the name of another SvcCatalogCategory that this category should appear
under. The parent category in this field cant have its own parent category. Categories
cant have more than one level of nesting.
1953
SvcCatalogCategoryMetadata Types
DescriptionField Name
Field Type
int
sortOrder
Description
Displays a set order for catalog category entities.
Declarative Metadata Sample Definition
The following is an example of a SvcCatalogCategory component.
<?xml version="1.0" encoding="UTF-8"?>
<SvcCatalogCategory xmlns="http://soap.sforce.com/2006/04/metadata">
<image>AdobeStock_287068722</image>
<isActive>true</isActive>
<isProtected>false</isProtected>
<masterLabel>Workplace Services</masterLabel>
<sortOrder>4</sortOrder>
</SvcCatalogCategory>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SvcCatalogFulfillmentFlow
Represents the flow associated with a specific catalog item in the Service Catalog.
File Suffix and Directory Location
SvcCatalogFulfillmentFlow components have the suffix fulfillmentFlow and are stored in the
svcCatalogFulfillmentFlows folder.
Version
SvcCatalogFulfillmentFlows components are available in API version 53.0 and later.
Fields
DescriptionField Name
Field Type
string
description
1954
SvcCatalogFulfillmentFlowMetadata Types
DescriptionField Name
Description
Required. Free-text description of the fulfillment flow.
Field Type
string
flow
Description
Required. The name of the flow represented by this SvcCatalogFulfillmentFlow.
Field Type
string
icon
Description
Represents the details of an icon.
Field Type
boolean
isProtected
Description
An auto-generated value. This value currently has no impact.
Field Type
SvcCatalogFulfillFlowItem on page 1955[]
items
Description
The list of variables in the flow that can accept a value as input.
Field Type
string
masterLabel
Description
Required. The primary label for the fulfillment flow record.
SvcCatalogFulfillFlowItem
Represents a variable in a fulfillment flow that can accept input. Describes what type of value it accepts.
DescriptionField Name
Field Type
string
catalogInputVariable
Description
Required.
The FlowVariable the fulfillment flow property represents.
1955
SvcCatalogFulfillmentFlowMetadata Types
DescriptionField Name
Field Type
PropertyDisplayType (enumeration of type string)
displayType
Description
The display options available.
Values are:
Checkbox
Date (available in API version 59.0 and later)
DateTime (available in API version 59.0 and later)
Lookup
Number
Picklist
Queue (available in API version 57.0 and later)
Text
Field Type
string
fieldDefinition
Description
The name of a field in the object provided in objectLookupDomain that specifies
the value for this variable. If displayType is Picklist, this value must be the
name of a picklist field. If displayType is Lookup and fieldLookupDomain
is FieldDefinition, this value must be the name of a relationship field.
Field Type
string
fieldLookupDomain
Description
The name of a standard or custom object that specifies the domain of that lookup or
picklist. This value is relevant only if displayType is Lookup or Picklist.
Field Type
boolean
isAdditionalQuestionsInputVariable
Description
Determines if this variable accepts input for all additional questions that were asked
to a user. This value can only be true if the displayType for this item is Text.
Only one item per SvcCatalogFulfillmentFlow component can set this attribute to
true.
Field Type
boolean
isRequired
Description
Determines if the field is required for the related fulfillment flow to be executed.
1956
SvcCatalogFulfillmentFlowMetadata Types
DescriptionField Name
Field Type
string
lookupDomainFieldType
Description
This value specifies the fields for the object specified by objectLookupDomain
that are displayed in the Catalog Builder by type. This value is only relevant if
displayType is Lookup and fieldLookupDomain is
FieldDefinition.
Field Type
string
masterLabel
Description
Required.
The primary label for the fulfillment flow record.
Field Type
string
objectLookupDomain
Description
The name of a custom or standard object. If displayType is Lookup or
Picklist, this value filters the available options to a specific object.
Declarative Metadata Sample Definition
The following is an example of a SvcCatalogFulfillmentFlow component.
<?xml version="1.0" encoding="UTF-8"?>
<SvcCatalogFulfillmentFlow xmlns="http://soap.sforce.com/2006/04/metadata">
<description>Creates a Case record related to the Contact belonging to the current
User. If this will be used by Users without related Contacts, provide an Account Id below.
This Account Id will be used instead of a Contact.</description>
<flow>Create_Case_by_Record_Type</flow>
<isProtected>false</isProtected>
<items>
<catalogInputVariable>Input_RecordTypeApiName</catalogInputVariable>
<displayType>Text</displayType>
<isAdditionalQuestionsInputVariable>false</isAdditionalQuestionsInputVariable>
<isRequired>true</isRequired>
<masterLabel>Record Type Developer Name</masterLabel>
</items>
<items>
<catalogInputVariable>Input_AccountId</catalogInputVariable>
<displayType>Lookup</displayType>
<fieldDefinition>AccountId</fieldDefinition>
<fieldLookupDomain>Account</fieldLookupDomain>
<isAdditionalQuestionsInputVariable>false</isAdditionalQuestionsInputVariable>
<isRequired>false</isRequired>
1957
SvcCatalogFulfillmentFlowMetadata Types
<masterLabel>(Optional) Related Account</masterLabel>
<objectLookupDomain>Contact</objectLookupDomain>
</items>
<items>
<catalogInputVariable>Input_Origin</catalogInputVariable>
<displayType>Picklist</displayType>
<fieldDefinition>Origin</fieldDefinition>
<isAdditionalQuestionsInputVariable>false</isAdditionalQuestionsInputVariable>
<isRequired>true</isRequired>
<masterLabel>Case Origin</masterLabel>
<objectLookupDomain>Case</objectLookupDomain>
</items>
<items>
<catalogInputVariable>Input_Priority</catalogInputVariable>
<displayType>Picklist</displayType>
<fieldDefinition>Priority</fieldDefinition>
<isAdditionalQuestionsInputVariable>false</isAdditionalQuestionsInputVariable>
<isRequired>false</isRequired>
<masterLabel>Case Priority</masterLabel>
<objectLookupDomain>Case</objectLookupDomain>
</items>
<items>
<catalogInputVariable>Input_Status</catalogInputVariable>
<displayType>Picklist</displayType>
<fieldDefinition>Status</fieldDefinition>
<isAdditionalQuestionsInputVariable>false</isAdditionalQuestionsInputVariable>
<isRequired>true</isRequired>
<masterLabel>Case Status</masterLabel>
<objectLookupDomain>Case</objectLookupDomain>
</items>
<items>
<catalogInputVariable>Input_Subject</catalogInputVariable>
<displayType>Text</displayType>
<isAdditionalQuestionsInputVariable>false</isAdditionalQuestionsInputVariable>
<isRequired>true</isRequired>
<masterLabel>Case Subject</masterLabel>
</items>
<items>
<catalogInputVariable>Input_Description</catalogInputVariable>
<displayType>Text</displayType>
<isAdditionalQuestionsInputVariable>true</isAdditionalQuestionsInputVariable>
<isRequired>false</isRequired>
<masterLabel>Case Description</masterLabel>
</items>
<masterLabel>Create Case by Record Type</masterLabel>
</SvcCatalogFulfillmentFlow>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
1958
SvcCatalogFulfillmentFlowMetadata Types
SvcCatalogItemDef
Represents the entity associated with a specific, individual service available in the Service Catalog.
File Suffix and Directory Location
SvcCatalogItemDef components have the suffix catalogItem and are stored in the svcCatalogItems folder.
Version
SvcCatalogItemDef components are available in API version 53.0 and later.
Fields
DescriptionField Name
Field Type
double
apiVersion
Description
The API version in which this catalog item was created. The value for this field updates
based on the value of fulfillmentFlow. For catalog items created before version
57.0, the value for this field is null. Available in version 57.0 and later.
Field Type
SvcCatalogItemDefFiltrCrit[]
catalogFilterCriteria
Description
The eligibility rule associated with a catalog item. Eligibility rules customize access to
catalog items for different audiences, based on the User object. Available in API version
59.0 and later.
Field Type
SvcCatalogCategoryItem[]
categories
Description
A list of catalog categories that contain this catalog item.
Field Type
SvcCatalogItemDefDataCategorySelection[]
dataCategories
Description
A list of data categories for this catalog item. Available in API version 59.0 and later.
Field Type
string
description
Description
Description of the catalog item.
1959
SvcCatalogItemDefMetadata Types
DescriptionField Name
Field Type
string
flow
Description
The screen flow associated with the catalog item. Available in API version 53.0 to 58.0.
Field Type
string
fulfillmentFlow
Description
Name of the related SvcCatalogFulfillmentFlow on page 1954, which
represents the flow associated with a specific catalog item in the Service Catalog.
Available in API version 56.0 and later.
Field Type
string
image
Description
The developer name of a content document to be displayed in the Service Catalog
for this item.
Field Type
SvcCatalogItemAttribute[]
inputs
Description
Represents attributes of a catalog item version. Available in API version 57.0 and later.
Field Type
string
internalNotes
Description
Intended to describe what the catalog item does and its implementation. That value
is meant for other catalog builders.
Field Type
boolean
isAvailableToAllCustomers
Description
Required. Controls catalog item access for internal users. To share with all internal
users, set the value to True. This value corresponds to the Allow Access for All
Users option for Internal Access in the Catalog Item Builder. Available in API version
61.0 and later.
Field Type
boolean
isFeatured
Description
Determines if the catalog item is part of the featured catalog items.
1960
SvcCatalogItemDefMetadata Types
DescriptionField Name
Field Type
boolean
isGuestAccessible
Description
Required. Controls catalog item access for guest users. To share with guests, set the
value to True. This value corresponds to Guest Visibility option for External Access
in the Catalog Item Builder. Available in API version 61.0 and later.
Field Type
boolean
isProtected
Description
An auto-generated value. This value has no impact.
Field Type
string
masterLabel
Description
Required. The primary label for the catalog item record.
Field Type
SharedTo on page 1910
sharedTo
Description
Describes how the catalog item is shared across multiple catalog categories.
SvcCatalogItemDef only supports sharing with groups.
Field Type
PublishStatusType (enumeration of type string)
status
Description
Required. Displays the publishing status of a catalog item.
Values are:
Deprecated
Draft
PendingChanges
Published
SvcCatalogItemDefFiltrCrit
Represents the association of an eligibility rule with a catalog item. Eligibility rules customize access to catalog items for different
audiences, based on the User object. Available in version 59.0 and later.
1961
SvcCatalogItemDefMetadata Types
DescriptionField Name
Field Type
string
svcCatalogFilterCriteria
Description
The name of the associated catalogFilerCriteria eligibility filter.
SvcCatalogCategoryItem
Represents the assignment of this service to a category within the Service Catalog.
DescriptionField Name
Field Type
boolean
isPrimaryCategory
Description
Determines if the catalog category (svcCatalogCategory) is the primary category
for this catalog item. Exactly one category per SvcCatalogItemDef component must
set this attribute to true.
Field Type
int
sortOrder
Description
The position of the catalog item relative to other catalog items in the catalog category.
Field Type
string
svcCatalogCategory
Description
Required. The catalog category the catalog item is assigned to.
SvcCatalogItemDefDataCategorySelection
Represents a list of data categories for this catalog item. This subtype is available in API version 59.0 and later.
DescriptionField Name
Field Type
string
category
Description
API name of a data category.
Field Type
string
categoryGroup
1962
SvcCatalogItemDefMetadata Types
DescriptionField Name
Description
API Name of a data category group.
SvcCatalogItemAttribute
Represents an attribute of a catalog item version. It can be a static input filled by the catalog builder user or additional questions that
end users answer at runtime. Available in API version 57.0 and later.
DescriptionField Name
Field Type
string
field
Description
Applicable when the display type is Lookup/Reference.
Field Type
SvcCatalogItemAttrDataType (enumeration of type string)
inputType
Description
Required.
Values are:
Attachment
Checkbox
Currency
Date
Datetime
DisplayText
Email
IPAddress
Integer
ListOfBoolean
ListOfDouble
ListOfInteger
ListOfMaps
ListOfString
Lookup
Map
MultilineText
Number
NumericScale
1963
SvcCatalogItemDefMetadata Types
DescriptionField Name
Percentage
Picklist
Queue
SingleCheckbox (available in API version 59.0 and later)
SinglelineText
Text
Toggle (available in API version 59.0 and later)
URL
Field Type
string
inputVariable
Description
References the input variable to which the attribute value is forwarded.
Field Type
boolean
isRequired
Description
Determines if an answer is required for this question.
Field Type
string
label
Description
A translatable label for rendering the attribute to users.
Field Type
double
maxValue
Description
Applicable when the display type is slider.
Field Type
double
minValue
Description
Applicable when the display type is slider.
Field Type
string
name
Description
Required. Applicable when the display type is Lookup/Reference.
1964
SvcCatalogItemDefMetadata Types
DescriptionField Name
Field Type
string
object
Description
A picklist objects custom API Name. Applies when inputType is set to Picklist.
Field Type
SvcCatalogItemAttrDetail
options
Description
The values attached to an attribute of an item version.
Field Type
SvcCatalogItemAttrType (enumeration of type string)
type
Description
Required. Type of the attribute; used to determine if it's a pre-filled input or questions
to ask users.
Values are:
FulfillmentInput
UserQuestion
Field Type
string
value
Description
Attribute value defined by the catalog builder.
SvcCatalogItemAttrDetail
Represents the details for an attribute of an item version. Used for options displayed in picklist or checkbox groups.
DescriptionField Name
Field Type
boolean
isDefault
Description
Required. Marks the attribute detail as the default. Applicable when the input display
type is picklist or checkbox.
Field Type
string
label
Description
Required. Picklist option label when the input type is picklist or checkbox.
1965
SvcCatalogItemDefMetadata Types
DescriptionField Name
Field Type
string
value
Description
Attribute value defined by the catalog builder.
Declarative Metadata Sample Definition
The following is an example of a SvcCatalogItemDef component.
<SvcCatalogItemDef xmlns="http://soap.sforce.com/2006/04/metadata">
<apiVersion>57.0</apiVersion>
<categories>
<isPrimaryCategory>true</isPrimaryCategory>
<sortOrder>3</sortOrder>
<svcCatalogCategory>Category1</svcCatalogCategory>
</categories>
<dataCategories>
<category>France</category>
<categoryGroup>World</categoryGroup>
</dataCategories>
<masterLabel>Item Draft Update</masterLabel>
<description>Item with a Draft state</description>
<fulfillmentFlow>TestQuestions</fulfillmentFlow>
<isFeatured>false</isFeatured>
<isProtected>false</isProtected>
<status>Published</status>
<inputs>
<name>Input1</name>
<type>FulfillmentInput</type>
<inputVariable>input1</inputVariable>
<label>Input Static</label>
<inputType>Text</inputType>
<isRequired>false</isRequired>
</inputs>
<inputs>
<type>UserQuestion</type>
<inputType>Picklist</inputType>
<isRequired>false</isRequired>
<label>My First Question</label>
<name>first_question</name>
<options>
<label>Option 1</label>
<value>option_1</value>
<isDefault>true</isDefault>
</options>
<options>
<label>Option 2</label>
<value>option_2</value>
<isDefault>false</isDefault>
1966
SvcCatalogItemDefMetadata Types
</options>
<options>
<label>Option 3</label>
<value>option_3</value>
<isDefault>false</isDefault>
</options>
</inputs>
</SvcCatalogItemDef>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SynonymDictionary
Represents a set of synonym groups, which are groups of words or phrases that are treated as equivalent in users searches. You can
define synonym groups to optimize search results for acronyms, variations of product names, and other terminology unique to your
organization.
Synonyms are available in Service Cloud features such as Salesforce Knowledge. This type extends the Metadata metadata type and
inherits its fullName field.
File Suffix and Directory Location
SynonymDictionary components have the suffix .synonymDictionary and are stored in the synonymDictionaries folder.
Version
SynonymDictionary components are available in API version 29.0 and later.
Special Access Rules
Synonyms must be enabled in your organization. Only users with the Manage Synonyms permission can access this object.
Fields
DescriptionField TypeField Name
The synonym groups defined in this dictionary.SynonymGroupgroups
Indicates whether this component is protected (true) or not (false).
Protected components cannot be linked to or referenced by components
created in the installing organization.
booleanisProtected
Required. Specifies the display name of the synonym dictionary.stringlabel
1967
SynonymDictionaryMetadata Types
SynonymGroup
Represents a group of synonymous words or phrases.
DescriptionField TypeField Name
Required. Specifies the languages the synonym group applies to. If synonyms
are specific to a single language, specify only that language. If the synonyms
Language on page
1993
languages
apply to multiple languages, specify multiple languages for one synonym
group.
Required. A word or phrase synonymous with other terms in the group.
Maximum of 50 characters. Minimum of two terms per group.
Synonym groups are symmetric, which means that if oranges and apples are
defined in a synonym group, a search for oranges will return a match for
apples, and vice versa for a search for apples.
stringterms
Declarative Metadata Sample Definition
The following is an example of a SynonymDictionary component:
<?xml version="1.0" encoding="UTF-8"?>
<SynonymDictionary xmlns="http://soap.sforce.com/2006/04/metadata">
<groups>
<languages>en_US</languages>
<terms>Salesforce</terms>
<terms>salesforce.com</terms>
<terms>The Customer Company</terms>
<terms>SFDC</terms>
</groups>
<groups>
<languages>fr</languages>
<terms>renault</terms>
<terms>clio</terms>
</groups>
<label>Sample Dictionary</label>
</SynonymDictionary>
The following is an example package.xml that references the SynonymDictionary component.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Sample Dictionary</members>
<name>SynonymDictionary</name>
</types>
<version>61.0</version>
</Package>
1968
SynonymDictionaryMetadata Types
Usage
If you have existing synonym groups defined before API version 29.0, your existing groups are associated with a default dictionary called
_Default.
If you have a set of synonyms that require frequent updates, we recommend assigning the synonym group or groups to a dedicated
dictionary with a small number of groups. Each time you deploy an existing dictionary, all of its synonym groups are overwritten. We
dont support deploying updates to only a single synonym group within a dictionary.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Territory
Represents a territory in your organization.
Declarative Metadata File Suffix and Directory Location
The file suffix for territory components is .territory and components are stored in the territories directory of the
corresponding package directory.
Version
Territory components are available in API version 24.0 and later.
Fields
This metadata type extends to subtype RoleOrTerritory.
DescriptionField TypeField Name
Specifies whether users in this territory can access accounts that are
assigned to this territory and are otherwise inaccessible. Valid values are:
stringaccountAccessLevel
Read
Edit
All
If your organizations sharing model for accounts is Public Read/Write,
valid values are only Edit and All.
If no value is set for this field, this field value uses the default access level
that is specified in the Manage Territory page in Setup.
This field is available in API version 31.0 and later.
The unique identifier for API access. The fullName can contain only
underscores and alphanumeric characters. It must be unique, begin with
stringfullName
1969
TerritoryMetadata Types
DescriptionField TypeField Name
a letter, not include spaces, not end with an underscore, and not contain
two consecutive underscores. This field is inherited from the Metadata
component. Corresponds to Territory Name in the user interface.
The territory above this territory in the territory hierarchy.stringparentTerritory
Declarative Metadata Sample Definition
The following is the definition of a territory.
<?xml version="1.0" encoding="UTF-8"?>
<Territory xmlns="http://soap.sforce.com/2006/04/metadata">
<accountAccessLevel>Edit</accountAccessLevel>
<caseAccessLevel>Edit</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
<description>Sample Territory</description>
<mayForecastManagerShare>false</mayForecastManagerShare>
<name>T22name</name>
<opportunityAccessLevel>Read</opportunityAccessLevel>
</Territory>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Territory2
Represents the metadata associated with a sales territory in Territory Management 2.0. This type extends the Metadata metadata type
and inherits its fullName field. Available only if Territory Management 2.0 has been enabled for your organization.
File Suffix and Directory Location
Territory2 components have the suffix territory2 and are stored in the territories folder under the folder for the corresponding
Territory2Model.
Version
Territory2 components are available in API version 32.0 and later.
Special Access Rules
The Territory2Model object has a State field in the SOAP API. States include Planning, Active, Archived, and several other
states, such as Cloning, that indicate that a process is underway. Users who do not have the Manage Territories permission can access
only territories that belong to the model in Active state. The Manage Territories permission is required for deploy() calls for all
territory management entities. Using retrieve() without the Manage Territories permission returns only entities that belong to a
1970
Territory2Metadata Types
Territory2Model in Active state. We recommend against retrieving without the Manage Territories permission because the call
retrieves only partial data.
Fields
DescriptionField TypeField Name
Specifies whether users in this territory can access accounts that are
assigned to this territory and are otherwise inaccessible. Valid values
are:
stringaccountAccessLevel
Read
Edit
All
If your organizations sharing model for accounts is Public Read/Write,
valid values are only Edit and All. If no value is set for this field,
this field value uses the default access level that is specified in
Territory2Settings as permitted by the organizations sharing settings.
Specifies whether users in this territory can access cases that are
assigned to this territory and are otherwise inaccessible. Valid values
are:
stringcaseAccessLevel
None
Read
Edit
Specify no value if your organizations sharing model for
cases/opportunities is Public Read/Write. If no value is set for this field,
this field value uses the default access level that is specified in
Territory2Settings as permitted by the organizations sharing settings.
Specifies whether users in this territory can access contacts that are
assigned to this territory and are otherwise inaccessible. Valid values
are:
stringcontactAccessLevel
None
Read
Edit
Specify no value if your organizations sharing model for contacts is
Public Read/Write or Controlled By Parent.
Values for custom fields defined on the Territory2 object and used by
this territory. Their metadata is captured separately in CustomObject
on page 578. Note the following:
FieldValuecustomFields
Territory2 and Territory2Model objects do not handle values for
Text Area (Long), Text Area (Rich), and text-encrypted custom fields.
Fields are referenced using their API names. Compound field types
like Location appear as their constituent column fields. For example,
1971
Territory2Metadata Types
DescriptionField TypeField Name
nnn_Latitude__s, nnn_Longitude__s where nnn is
the field name and the suffixes are the geolocation components.
Values of required custom fields are enforced during the
deploy() operation.
A description of the territory.stringdescription
Required. The user interface label for the territory.stringname
Represents the user access levels of an object associated to a territory.
Available in API version 57.0 and later.
Territory2AccessLevel[]objectAccessLevels
Specifies whether users in this territory can access opportunities that
are assigned to this territory and are otherwise inaccessible. Valid values
are:
stringopportunityAccessLevel
None
Read
Edit
Specify no value if your organizations sharing model for
cases/opportunities is Public Read/Write. If no value is set for this field,
this field value uses the default access level that is specified in
Territory2Settings as permitted by the organizations sharing settings.
The name of the territorys parent. When you specify the parent territory,
use the developer name. Do not use the fully qualified name. Custom
stringparentTerritory
fields with no values are retrieved with values of type: <value
xsi:nil="true"/>. You can also use <value
xsi:nil="true"/> syntax to remove existing values in custom
fields.
Represents an object assignment rule and its association to a territory.
Use the developer name of the rule.
Territory2RuleAssociation[]ruleAssociations
Required. The territory type that the territory belongs to.stringterritory2Type
FieldValue
Represents the values of custom fields on the Territory2 object. Available in API version 32.0 and later.
DescriptionField TypeField Name
Required. The user interface label for the territory.stringname
The value of the field, which can also be null. The field type is specified in
the XML and depends on the field value.
any typevalue
1972
Territory2Metadata Types
Territory2AccessLevel
Represents the association of an object access level to a territory. Available in API version 57.0 and later.
DescriptionField TypeField Name
Required. Valid values are:stringaccessLevel
Read
Edit
Transfer
All
If your organizations sharing model for accounts is Public Read/Write, valid
values are only Edit and All. If no value is set for this field, this field value
uses the default access level that is specified in Territory2Settings as permitted
by the organizations sharing settings.
Required. The type of object associated to the territory. For example, Lead.stringobjectType
Territory2RuleAssociation
Represents the association of an object assignment rule to a territory. Available in API version 32.0 and later.
DescriptionField TypeField Name
Required. Indicates whether the rule is inherited from a parent territory (true)
or local to the current territory (false).
Rule inheritance flows from the parent territory where the rule is created to
the rules descendent territories, if any, in the territory model hierarchy. A local
rule is created within a single territory and affects that territory only.
booleaninherited
Required. The name of a rule associated with the territory. It isnt necessary to
fully qualify ruleName because Metadata API assumes that the rule belongs
to the same model as the territory.
stringruleName
Declarative Metadata Sample Definition
The following example shows the definition of a Territory2 component.
<?xml version="1.0" encoding="UTF-8"?>
<Territory2 xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<name>USA</name>
<description>United States sales</description>
<accountAccessLevel>Edit</accountAccessLevel>
<opportunityAccessLevel>Read</opportunityAccessLevel>
<caseAccessLevel>Edit</caseAccessLevel>
<contactAccessLevel>Edit</contactAccessLevel>
1973
Territory2Metadata Types
<parentTerritory>Worldwide_Sales</parentTerritory>
<territory2Type>Geo</territory2Type>
<objectAccessLevels>
<accessLevel>All</accessLevel>
<objectType>Lead</objectType>
</objectAccessLevels>
<ruleAssociations>
<ruleName>AccRule1</name>
<inherited>True</inherited>
</ruleAssociations>
<ruleAssociations>
<ruleName>AccRule2</name>
<inherited>False</inherited>
</ruleAssociations>
<customFields>
<name>Activation_DateTime__c</name>
<value xsi:type="xsd:dateTime">2014-07-16T05:05:00.000Z</value>
</customFields>
<customFields>
<name>AutoNumber__c</name>
<value xsi:type="xsd:string">T# 000001</value>
</customFields>
<customFields>
<name>DeactivationDate__c</name>
<value xsi:type="xsd:date">2016-07-12</value>
</customFields>
<customFields>
<name>External_Id__c</name>
<value xsi:type="xsd:string">AB2345</value>
</customFields>
<customFields>
<name>ManagersPhone__c</name>
<value xsi:nil="true"/>
</customFields>
</Territory2>
The following is a package.xml sample. FY13 and FY14 represent the names of territory models and demonstrate that rules
can have identical developer names within different models. A wildcard character (*) in place of the model name can be used to retrieve
all rules in all models in an organization.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FY13</members>
<members>FY14</members>
<name>Territory2Model</name>
</types>
<types>
<members>FY13.USA</members>
<members>FY13.Worldwide_Sales</members>
<members>FY14.APAC</members>
<members>FY14.USA</members>
<name>Territory2</name>
1974
Territory2Metadata Types
</types>
<version>61.0</version>
</Package>
Usage
Triggers defined on Territory2 do not fire during a deploy() operation unless there is a deployment failure. For example, when
a child territory references a parent and deploys before the parent territory, the failed components try to deploy again one at a time,
allowing triggers to run.
Territory Management 2.0 components dont support packaging or change sets and arent supported in CRUD calls.
For unlocked packaging, Territory2 requires packages without a namespace.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Territory2Model
Represents the metadata associated with a territory model in Territory Management 2.0. This type extends the Metadata metadata type
and inherits its fullName field.Available only if Territory Management 2.0 has been enabled for your Salesforce org.
File Suffix and Directory Location
Territory2Model components have the suffix territory2Model and are stored in the territory2Models folder.
Version
Territory2Model components are available in API version 32.0 and later.
Special Access Rules
The Territory2Model object has a State field in the SOAP API. States include Planning, Active, Archived, and several other
states, such as Cloning, that indicate that a process is underway. Users who do not have the Manage Territories permission can access
only models in Active state. The Manage Territories permission is required for deploy() calls for all territory management entities.
Using retrieve() without the Manage Territories permission returns only entities that belong to a Territory2Model in Active
state. We recommend against retrieving without the Manage Territories permission because the call retrieves only partial data.
1975
Territory2ModelMetadata Types
Fields
DescriptionField TypeField Name
Custom fields defined on the Territory2Model object and used by this
model. Their metadata is captured separately.
FieldValuecustomFields
Territory2 and Territory2Model objects do not handle values for Text
Area (Long), Text Area (Rich), and text-encrypted custom fields.
Fields are referenced using their API names. Compound field types
like Location appear as their constituent column fields. For example,
nnn_Latitude__s, nnn_Longitude__s where nnn is
the field name and the suffixes are the geolocation components.
Values of required custom fields are enforced during the
deploy() operation.
A description for the territory model.stringdescription
Required. The user interface label for the territory model.stringname
Declarative Metadata Sample Definition
The following example shows the definition of a Territory2Model component.
<?xml version="1.0" encoding="UTF-8"?>
<Territory2Model xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<name>FY13</name>
<description>Geographic allocation</description>
<customFields>
<name>Activation_DateTime__c</name>
<value xsi:type="xsd:dateTime">2014-07-16T05:05:00.000Z</value>
</customFields>
<customFields>
<name>AutoNumber__c</name>
<value xsi:type="xsd:string">M# 000001</value>
</customFields>
<customFields>
<name>DeactivationDate__c</name>
<value xsi:type="xsd:date">2016-07-12</value>
</customFields>
<customFields>
<name>External_Id__c</name>
<value xsi:nil="true"/>
</customFields>
</Territory2Model>
1976
Territory2ModelMetadata Types
Usage
The retrieve() call does not return models in these four states: Cloning, Cloning Failed, Deleting, and Deletion
Failed.
Whenever a model is created, its initial state is Planning. You can only do a deploy() operation for models in Planning
or Active state. The same requirement applies to territories and rules associated with those models. For example, sometimes
you can have a model in Planning state on a sandbox org, and a model with the same developer name in Archived state
on your production org. The deploy() operation on production fails because that models state is Archived and that state
prevents changes to the model.
Because of the state restrictions, if you have territory models in different orgs with identical developer names and you attempt a
deploy() operation, Metadata API attempts to create new models. However, that operation fails because of the developer name
conflict. For example, sometimes you can have a model in Planning state on a sandbox org, and a model with the same developer
name in Archived state on your production org. The deploy() operation on production fails because that models state is
Archived and that state prevents changes to the model.
If you try to delete a model that has territories, then the delete() call changes the models state to Deleting and cascade
deletes all territories, rules, and user associations in the model. Deleting can take some time depending on the number of territories
in the model.
Whenever a model is created, its initial state is Planning. If a model with the same developer name already exists, it already has
a state, so we do not include the State field in Territory2.
Territory Management 2.0 components dont support packaging or change sets and arent supported in CRUD calls.
Namespaces arent supported for unlocked packages.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Territory2Rule
Represents the metadata associated with a territory assignment rule associated with an object, such as Account, in Territory Management
2.0. Available only if Territory Management 2.0 has been enabled for your Salesforce org.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
Territory2Rule components have the suffix territory2Rule and are stored in the rules folder under the folder for the
corresponding Territory2Model.
Version
Territory2Rule components are available in API version 32.0 and later.
1977
Territory2RuleMetadata Types
Special Access
The Territory2Model object has a State field in SOAP API. States include Planning, Active, Archived, and several other
states, such as Cloning, that indicate that a process is underway. Users who dont have the Manage Territories permission can access
only rules that belong to the model in Active state. The Manage Territories permission is required for deploy() calls for all territory
management entities, in addition to the permissions required by Metadata API. Using retrieve() without the Manage Territories
permission returns only entities that belong to a Territory2Model in Active state. We recommend against retrieving without the
Manage Territories permission because the call retrieves only partial data.The SOAP API and the user interface require that a user
attempting to create or edit a rule has field-level security access to the fields referenced in the rule item. This restriction is relaxed for
Metadata API deploy() operations, as they require both Manage Territories and either the Modify Metadata Through Metadata API
Functions or Modify All Data permissions.
Fields
DescriptionField TypeField Name
Required. Indicates whether the rule is active (true) or inactive
(false). Via the API, active rules run automatically when object records
booleanactive
are created and edited. The exception is when the value of the
IsExcludedFromRealign field on an object record is true,
which prevents record assignment rules from evaluating that record.
An advanced filter condition. For example: (1 AND 2) OR 3.
Numbering must start at 1 and must be contiguous.
stringbooleanFilter
Required. The user interface label for the rule.stringname
Required. The object that the rule is defined for. For API version 32.0, the
only available object is Account.
stringobjectType
The items that define a rules the selection criteria, such as Billing
State equals California.
Territory2RuleItem
on page 1978
ruleItems
Territory2RuleItem
Represents the association of a rule item to a rule. Available in API version 32.0 and later.
DescriptionField TypeField Name
The standard or custom object field that the rule item operates on.stringfield
The criterion to apply for the rule item. For example: equals or starts
with. Valid values are:
FilterOperation
(enumeration of type
string)
operation
equals
notEqual
lessThan
greaterThan
lessOrEqual
1978
Territory2RuleMetadata Types
DescriptionField TypeField Name
greaterOrEqual
contains
notContain
startsWith
includes
excludes
within (DISTANCE criteria only)
The field value or values to evaluate. For example: if the field is Billing
ZIP/Postal Code, a value could be 94105.
stringvalue
Declarative Metadata Sample Definition
The following example shows the definition of a Territory2RuleItem component.
<?xml version="1.0" encoding="UTF-8"?>
<Territory2Rule xmlns="http://soap.sforce.com/2006/04/metadata">
<label>Northern CA</label>
<description>To capture northern CA based accounts</description>
<objectType>Account</objectType>
<active>True</active>
<ruleItems>
<field>BillingZip</field>
<operation>contains</operation>
<value><94105,94404,94536/value>
</ruleItems>
<ruleItems>
<field>Industry</field>
<operation>equals</operation>
<value>IT</value>
</ruleItems>
<ruleItems>
<field>someCustomField__c</field>
<operation>greater_than</operation>
<value>50000</value>
</ruleItems>
<booleanFilter>(1 OR 2) AND 3</booleanFilter>
</Territory2Rule>
The following is a package.xml sample. FY13 and FY14 represent names of territory models and demonstrate that rules can
have identical developer names within different models. A wildcard character (*) in place of the model name can be used to retrieve all
rules in all models in an org.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FY13</members>
1979
Territory2RuleMetadata Types
<members>FY14</members>
<name>Territory2Model</name>
</types>
<types>
<members>FY13.AccRule1</members>
<members>FY14.AccRule1</members>
<name>Territory2Rule</name>
</types>
<version>61.0</version>
</Package>
Usage
A territory rule can have up to 10 rule items.
The sort order of rule items is implicitly derived from the position of the rule items in the XML
Rules cant be run via Metadata API.
Territory Management 2.0 components dont support packaging or change sets and arent supported in CRUD calls.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Territory2Type
Represents the metadata for a category of territories in Territory Management 2.0. Every Territory2 must have a Territory2Type. This type
extends the Metadata metadata type and inherits its fullName field.Available only if Enterprise Territory Management has been
enabled for your Salesforce org.
File Suffix and Directory Location
Territory2Type components have the suffix territory2Type and are stored in the territory2Types folder.
Version
Territory2Type components are available in API version 32.0 and later.
Special Access Rules
The Manage Territories permission is required for the deploy() operation, but not retrieve(). The retrieve() operation
retrieves all the Territory2Type components in the org.
1980
Territory2TypeMetadata Types
Fields
DescriptionField TypeField Name
A description of the territory type.stringdescription
Required. The user interface label for the territory type.stringname
Required. Used for Filter-Based Opportunity Territory Assignment
(Pilot in Spring 15 / Metadata API version 33). Lets you specify a
intpriority
priority for a territory type. For opportunity assignments, the filter
examines all territories assigned to the account that the opportunity
is assigned to. The account-assigned territory whose territory type
priority is highest is then assigned to the opportunity. The
priority field value on each territory type must be unique.
Further, if there are multiple territories with the same territory type,
and therefore the same priority, assigned to the account, no territory
is not assigned to the opportunity.
Declarative Metadata Sample Definition
The following example shows the definition of a Territory2Type component.
<?xml version="1.0" encoding="UTF-8"?>
<Territory2Type xmlns="http://soap.sforce.com/2006/04/metadata">
<name>Geo</name>
<description>Geographic allocation</description>
</Territory2Type>
Usage
Territory Management 2.0 components dont support packaging or change sets and arent supported in CRUD calls.
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
TimelineObjectDefinition
Represents the container that stores the details of a timeline configuration. You can use this resource with Salesforce objects to see their
records' related events in a linear time-sorted view.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
1981
TimelineObjectDefinitionMetadata Types
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
TimelineObjectDefinition components have the suffix .timelineObjectDefinition and are stored in the
timelineObjectDefinitions folder.
Version
TimelineObjectDefinition components are available in API version 55.0 and later.
Special Access Rules
The Health Cloud or Life Sciences Cloud license is required to use this metadata type.
Fields
DescriptionField Name
Field Type
string
baseObject
Description
Required.
The object on which a timeline is based. Information displayed in a timeline comes
from objects that are related to the base object. The base object can be a Salesforce
object or custom object.
Field Type
string
definition
Description
Required.
The timeline definition in JSON format.
Field Type
boolean
isActive
Description
Indicates whether the timeline is active (true) or not (false).
Field Type
string
masterLabel
Description
Required.
1982
TimelineObjectDefinitionMetadata Types
DescriptionField Name
The user interface label of the timeline object definition record.
Declarative Metadata Sample Definition
The following is an example of a TimelineObjectDefinition component.
<?xml version="1.0" encoding="UTF-8"?>
<TimelineObjectDefinition
xmlns="http://soap.sforce.com/2006/04/metadata">
<baseObject>Account</baseObject>
<definition>{&quot;timeline&quot;:{&quot;anchorObject&quot;:{&quot;object&quot;:{&quot;entity&quot;:&quot;Account&quot;,&quot;label&quot;:&quot;Account&quot;,&quot;source&quot;:&quot;&quot;,&quot;icon&quot;:&quot;&quot;}},&quot;age&quot;:{&quot;field&quot;:&quot;EffectiveDate&quot;,&quot;label&quot;:&quot;Effective
Date&quot;,&quot;type&quot;:&quot;DateTime&quot;},&quot;events&quot;:[{&quot;oneToMany&quot;:{&quot;eventObject&quot;:{&quot;name&quot;:&quot;Case&quot;,&quot;label&quot;:&quot;Case&quot;,&quot;recordTypes&quot;:[],&quot;fieldsToDisplay&quot;:[{&quot;field&quot;:&quot;Description&quot;,&quot;label&quot;:&quot;Description&quot;,&quot;type&quot;:&quot;StringPlusClob&quot;},{&quot;field&quot;:&quot;Priority&quot;,&quot;label&quot;:&quot;Priority&quot;,&quot;type&quot;:&quot;DynamicEnum&quot;},{&quot;field&quot;:&quot;Status&quot;,&quot;label&quot;:&quot;Status&quot;,&quot;type&quot;:&quot;DynamicEnum&quot;},{&quot;field&quot;:&quot;Subject&quot;,&quot;label&quot;:&quot;Subject&quot;,&quot;type&quot;:&quot;Text&quot;}],&quot;relatedlistsToDisplay&quot;:[{&quot;entity&quot;:&quot;CaseComments&quot;,&quot;label&quot;:&quot;Case
Comments&quot;},{&quot;entity&quot;:&quot;CombinedAttachments&quot;,&quot;label&quot;:&quot;Attachments&quot;},{&quot;entity&quot;:&quot;AttachedContentDocuments&quot;,&quot;label&quot;:&quot;Files&quot;}],&quot;title&quot;:{&quot;field&quot;:&quot;CaseNumber&quot;,&quot;label&quot;:&quot;Case
Number&quot;,&quot;type&quot;:&quot;AutoNumber&quot;},&quot;subTitle&quot;:{&quot;field&quot;:&quot;Comments&quot;,&quot;label&quot;:&quot;Internal
Comments&quot;,&quot;type&quot;:&quot;MultiLineText&quot;}},&quot;filters&quot;:[{&quot;field&quot;:{&quot;field&quot;:&quot;Status&quot;,&quot;label&quot;:&quot;Status&quot;,&quot;type&quot;:&quot;DynamicEnum&quot;},&quot;operator&quot;:&quot;EQ&quot;,&quot;values&quot;:[&quot;New&quot;],&quot;order&quot;:1}],&quot;sort&quot;:{&quot;field&quot;:&quot;CreatedDate&quot;,&quot;label&quot;:&quot;Created
Date&quot;,&quot;type&quot;:&quot;DateTime&quot;},&quot;anchorReferenceField&quot;:{&quot;field&quot;:&quot;AccountId&quot;,&quot;label&quot;:&quot;Account
ID&quot;,&quot;type&quot;:&quot;EntityId&quot;}}},{&quot;oneToMany&quot;:{&quot;eventObject&quot;:{&quot;name&quot;:&quot;Event&quot;,&quot;label&quot;:&quot;Event&quot;,&quot;recordTypes&quot;:[],&quot;fieldsToDisplay&quot;:[{&quot;field&quot;:&quot;ActivityDate&quot;,&quot;label&quot;:&quot;Due
Date
Only&quot;,&quot;type&quot;:&quot;DueDate&quot;},{&quot;field&quot;:&quot;Attendees&quot;,&quot;label&quot;:&quot;Attendees&quot;,&quot;type&quot;:&quot;StringPlusClob&quot;}],&quot;relatedlistsToDisplay&quot;:[],&quot;title&quot;:{&quot;field&quot;:&quot;Description&quot;,&quot;label&quot;:&quot;Description&quot;,&quot;type&quot;:&quot;StringPlusClob&quot;},&quot;subTitle&quot;:{&quot;field&quot;:&quot;Location&quot;,&quot;label&quot;:&quot;Location&quot;,&quot;type&quot;:&quot;Text&quot;}},&quot;filters&quot;:[],&quot;sort&quot;:{&quot;field&quot;:&quot;ActivityDate&quot;,&quot;label&quot;:&quot;Due
Date
Only&quot;,&quot;type&quot;:&quot;DueDate&quot;},&quot;anchorReferenceField&quot;:{&quot;field&quot;:&quot;WhatId&quot;,&quot;label&quot;:&quot;Related
To
ID&quot;,&quot;type&quot;:&quot;EntityId&quot;}}},{&quot;oneToMany&quot;:{&quot;eventObject&quot;:{&quot;name&quot;:&quot;Task&quot;,&quot;label&quot;:&quot;Task&quot;,&quot;recordTypes&quot;:[],&quot;fieldsToDisplay&quot;:[{&quot;field&quot;:&quot;CallDisposition&quot;,&quot;label&quot;:&quot;Call
Result&quot;,&quot;type&quot;:&quot;Text&quot;},{&quot;field&quot;:&quot;CallObject&quot;,&quot;label&quot;:&quot;Call
Object
Identifier&quot;,&quot;type&quot;:&quot;Text&quot;},{&quot;field&quot;:&quot;CallType&quot;,&quot;label&quot;:&quot;Call
Type&quot;,&quot;type&quot;:&quot;StaticEnum&quot;}],&quot;relatedlistsToDisplay&quot;:[],&quot;title&quot;:{&quot;field&quot;:&quot;Description&quot;,&quot;label&quot;:&quot;Description&quot;,&quot;type&quot;:&quot;StringPlusClob&quot;},&quot;subTitle&quot;:{&quot;field&quot;:&quot;Priority&quot;,&quot;label&quot;:&quot;Priority&quot;,&quot;type&quot;:&quot;DynamicEnum&quot;}},&quot;filters&quot;:[],&quot;sort&quot;:{&quot;field&quot;:&quot;ActivityDate&quot;,&quot;label&quot;:&quot;Due
Date
Only&quot;,&quot;type&quot;:&quot;DueDate&quot;},&quot;anchorReferenceField&quot;:{&quot;field&quot;:&quot;WhatId&quot;,&quot;label&quot;:&quot;Related
To ID&quot;,&quot;type&quot;:&quot;EntityId&quot;}}}]}}</definition>
<isActive>true</isActive>
<masterLabel>HealthTimeline</masterLabel>
</TimelineObjectDefinition>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
1983
TimelineObjectDefinitionMetadata Types
<name>TimelineObjectDefinition</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
TimeSheetTemplate
Represents a template for creating time sheets in Field Service. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
TimeSheetTemplate components have the suffix timeSheetTemplate and are stored in the timeSheetTemplates folder.
Version
TimeSheetTemplate components are available in API version 46.0 and later.
Special Access Rules
Field Service must be enabled. Users must have the Customize Application and Time Sheet Template permissions.
Fields
DescriptionField TypeField Name
Required. Indicates whether the time sheet template is active (true)
or not (false).
booleanactive
The time sheet template's description.stringdescription
Required. Defines the frequency of the time sheet creation period. One
of the following values:
TimeSheetFrequency
(enumeration of
type string)
frequency
Daily
Weekly
EveryTwoWeeks
TwiceAMonth
Monthly
1984
TimeSheetTemplateMetadata Types
DescriptionField TypeField Name
Required. The name of the time sheet template.stringmasterLabel
Required. The date when the time sheet takes effect.datestartDate
A list of profiles that the template is assigned to.TimeSheetTemplateAssignmenttimeSheetTemplateAssignments
Required. The end day of the template's work week. One of the following
values:
DaysOfWeek
(enumeration of
type string)
workWeekEndDay
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Required. The start day of the template's work week. One of the following
values:
DaysOfWeek
(enumeration of
type string)
workWeekStartDay
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
TimeSheetTemplateAssignment
Returns a quick action thats associated with an EmbeddedServiceLiveAgent setup. The quick action includes the pre-chat form fields
that the embedded chat window displays and shows the order in which the fields are displayed.
DescriptionField TypeField Name
The IDs of the user profiles that a time sheet template is assigned to.stringassignedTo
Declarative Metadata Sample Definition
The following is an example of a TimeSheetTemplate file.
<?xml version=“1.0” encoding=“UTF-8"?>
<TimeSheetTemplate xmlns=“http://soap.sforce.com/2006/04/metadata“>
<active>true</active>
<description>Time Sheet Template description</description>
<frequency>Daily</frequency>
1985
TimeSheetTemplateMetadata Types
<masterLabel>label</masterLabel>
<startDate>2018-10-18</startDate>
<timeSheetTemplateAssignments>
<assignedTo>admin</assignedTo>
</timeSheetTemplateAssignments>
<timeSheetTemplateAssignments>
<assignedTo>standard</assignedTo>
</timeSheetTemplateAssignments>
<workWeekEndDay>Tuesday</workWeekEndDay>
<workWeekStartDay>Monday</workWeekStartDay>
</TimeSheetTemplate>
The following is an example package.xml that references the previous definition.
<?xml version=“1.0” encoding=“UTF-8"?>
<Package xmlns=“http://soap.sforce.com/2006/04/metadata“>
<types>
<members>*</members>
<name>TimeSheetTemplate</name>
</types>
<version>46.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
TopicsForObjects
Represents the ability to assign topics to objects or to remove topic assignments.
File Suffix and Directory Location
TopicsForObjects components have the suffix .topicsForObjects and are stored in the topicsForObjects folder of the
corresponding package directory.
Version
TopicsForObjects components are available in API version 41.0 and later.
1986
TopicsForObjectsMetadata Types
Fields
DescriptionField TypeField Name
Required. When true, indicates whether users can assign topics or remove
topic assignments. When false, users cant assign or remove topics.
Upon org creation, this value is true for the following objects:
booleanenableTopics
Account
Asset
Campaign
Case
Contact
Content Document
Contract
Event
Lead
Opportunity
Order
Solution
Task
For all remaining standard objects and custom objects, the default is
false.
Required. Indicates the objects API name for enabling topics.stringentityApiName
Declarative Metadata Sample Definition
The following is an example of a TopicsForObjects component.
<?xml version="1.0" encoding="UTF-8"?>
<TopicsForObjects xmlns="http://soap.sforce.com/2006/04/metadata">
<enableTopics>false</enableTopics>
<entityApiName>Account</entityApiName>
</TopicsForObjects>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>TopicsForObjects</name>
</types>
<version>41.0</version>
</Package>
1987
TopicsForObjectsMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
TransactionSecurityPolicy
Represents a transaction security policy definition. Transaction security policies give you a way to look through events in your organization
and specify actions to take when certain combinations occur.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
TransactionSecurityPolicy components have the suffix .transactionSecurityPolicy and are stored in the
transactionSecurityPolicies folder.
Version
TransactionSecurityPolicy components are available in API version 35.0 and later.
Fields
DescriptionField TypeField Name
Required. Describes the action to take when the matching
Transaction Security policy is triggered.
TransactionSecurityActionaction
Required. If true, the policy is enabled and actively monitors its
event.
booleanactive
Required for Apex-based policies, and optional for all other policies.
The name of the class that implements the
stringapexClass
TxnSecurity.PolicyCondition or
TxnSecurity.EventCondition interface for this policy.
Available in API version 46.0 and later.
The custom message sent to a user when a policy blocks their
action. Used in Real-Time Event Monitoring only. Maximum of 1000
stringblockMessage
characters. This field is null when the default message option is
selected in the UI. Available only when eventName is set to
ApiEvent, ListViewEvent,
BulkApiResultEventStore, or ReportEvent. Available
in API version 49.0 and later.
Include org- or policy-specific information in your custom message,
such as the name of the responsible administrator or the business
1988
TransactionSecurityPolicyMetadata Types
DescriptionField TypeField Name
unit. Be careful about what you include. Too much information on
how the policy was designed. can aid a malicious user.
Two-factor authentication (2FA) isnt supported in Lightning
Experience, so events like ListView and ReportEvent are
upgraded to Block in Lightning.
Custom messages arent translatable.
The administrator-created custom email content sent when a policy
is triggered. Used in Real-Time Event Monitoring only. Maximum
stringcustomEmailContent
of 1333 characters. This field is null when the Custom Email Content
setting is selected in the UI but no message content is entered.
Available in API version 54.0 and later.
Custom messages arent translatable.
A description of the policy.stringdescription
This unique name prevents conflicts with other policies that have
the same masterLabel. This name can contain only
stringdeveloperName
underscores and alphanumeric characters, and must be unique in
your org. It must begin with a letter, not include spaces, not end
with an underscore, and not contain two consecutive underscores.
Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this field.
Used in Real-Time Event Monitoring only. Indicates the name of
the event the policy monitors. This field is available in API 45.0 and
later. Valid values are:
TransactionSecurityEventName
(enumeration of type string)
eventName
ApiEventTracks these user-initiated read-only API calls:
query(), queryMore(), and count(). Captures API
requests through SOAP API and Bulk API for the Enterprise and
Partner WSDLs. Tooling API calls and API calls originating from
a Salesforce mobile app arent captured.
ApiAnomalyEventStoreTracks anomalies in how
users make API calls. ApiAnomalyEventStore is an object that
stores the event data of ApiAnomalyEvent. This object is
available in API version 50.0 and later.
BulkApiResultEventStoreTracks when a user
downloads the results of a Bulk API request.
BulkApiResultEventStore is a big object that stores the event
data of BulkApiResultEvent. This object is available in API
version 50.0 and later.
CredentialStuffingEventStoreTracks when a
user successfully logs into Salesforce during an identified
credential stuffing attack. Credential stuffing refers to
1989
TransactionSecurityPolicyMetadata Types
DescriptionField TypeField Name
large-scale automated login requests using stolen user
credentials.This value is available in API version 49.0 and later.
FileEventStore (beta)Tracks when a user downloads,
previews, or uploads a file. FileEventStore is a big object that
stores the event data of FileEvent. This object is available in
API version 57.0 and later.
ListViewEventTracks when users access data with list
views using Lightning Experience, Salesforce Classic, or the
API. It doesnt track list views of Setup entities.
LoginEventLoginEvent tracks the login activity of users
who log in to Salesforce.
PermissionSetEventStore Tracks changes to
permission sets and permission set groups.
ReportAnomalyEventStoreTracks anomalies in
how users run or export reports, including unsaved reports.
This value is available in API version 49.0 and later.
ReportEventTracks when reports are run in your org.
SessionHijackingEventStoreTracks when
unauthorized users gain ownership of a Salesforce users
session with a stolen session identifier. To detect such an event,
Salesforce evaluates how significantly a users current browser
fingerprint diverges from the previously known fingerprint
using a probabilistically inferred significance of change.
Available in API version 49.0 and later.
Used in Legacy Transaction Security only. Required for Apex-based
policies, and optional for all other policies. Indicates which type of
event is being monitored. Valid values are:
MonitoredEvents (enumeration
of type string)
eventType
AccessResourceNotifies you when the selected
resource has been accessed.
AuditTrailReserved for future use.
DataExportNotifies you when the selected object type
has been exported using the Data Loader API client.
EntityNotifies you on use of an object type such as an
authentication provider or Chatter comment.
LoginNotifies you when a user logs in.
As of Summer '20, Legacy Transaction Security is a retired feature
in all Salesforce orgs.
Used in Legacy Transaction Security only. The name or ID of an
active user who is assigned the Modify All Data and View Setup
user permissions.
As of Summer '20, Legacy Transaction Security is a retired feature
in all Salesforce orgs.
stringexecutionUser
1990
TransactionSecurityPolicyMetadata Types
DescriptionField TypeField Name
Required only for policies of type
CustomConditionBuilderPolicy. The ID of the Flow
stringflow
object that contains the logic the Condition Builder transaction
security policy. Available in API version 46.0 and later.
The label for this object. This display value is the internal label that
ist translated.
Where possible, we changed noninclusive terms to align with our
company value of Equality. We maintained certain terms to avoid
any effect on customer implementations.
stringmasterLabel
Used in Legacy Transaction Security only. Required for Apex-based
policies, and optional for all other policies. A resource used to
stringresourceName
narrow down the conditions under which the policy triggers. For
example, with a DataExport event, you can select a resource
Lead to specifically monitor export activity occurring on your Lead
entities. The resources available depend on the Event Type
field. The following valid resources are grouped by event type.
AccessResourceConnectedApplication, Reports
DataExportAccount, Case, Contact, Lead, Opportunity
EntityAuthProvider, ChatterMessage, FeedComment,
FeedItem, Idea, Question
LoginLoginHistory
As of Summer '20, Legacy Transaction Security is a retired feature
in all Salesforce orgs.
The type of validation that the policy uses. The valid values are:TxnSecurityPolicyType
(enumeration of type string)
type
CustomApexPolicy Created with Apex editor.
CustomConditionBuilderPolicy Created with
Condition Builder.
The default value is CustomApexPolicy.
TransactionSecurityAction
Describes the action to take when the matching Transaction Security policy is triggered.
DescriptionField TypeField Name
If true, the requested operation is blocked. This action only
applies to Login and AccessResource events.
booleanblock
1991
TransactionSecurityPolicyMetadata Types
DescriptionField TypeField Name
Used in Legacy Transaction Security only. If true, a current session
must be closed before a new session can be started. This action
only applies to Login events.
As of Summer '20, Legacy Transaction Security is a retired feature
in all Salesforce orgs.
booleanendSession
Used in Legacy Transaction Security only. If true, the user that
triggered the policy is frozen. This action only applies to Chatter
resources for Entity events.
As of Summer '20, Legacy Transaction Security is a retired feature
in all Salesforce orgs.
booleanfreezeUser
Specifies how to notify the Salesforce administrator when the
action is triggered. There can be none, one, or multiple notifications.
TransactionSecurityNotification[]notifications
If true, multi-factor authentication (MFA) is required for a higher
level of access before the requested operation can continue. This
action only applies to Login and AccessResource events.
Multi-factor authentication was formerly called two-factor
authentication.
booleantwoFactorAuthentication
TransactionSecurityNotification
Describes who to notify and how to notify them when the matching Transaction Security policy is triggered.
DescriptionField TypeField Name
True if an in-app notification is selected.booleaninApp
True if an email notification is selected.booleansendEmail
The user to receive the notification.stringuser
Declarative Metadata Sample Definition
The following is an example of a Real-Time Event Monitoring TransactionSecurityPolicy component.
<?xml version="1.0" encoding="UTF-8"?>
<TransactionSecurityPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<action>
<block>true</block>
<notifications>
<inApp>true</inApp>
<sendEmail>true</sendEmail>
<user>[email protected]</user>
</notifications>
<twoFactorAuthentication>false</twoFactorAuthentication>
1992
TransactionSecurityPolicyMetadata Types
</action>
<active>true</active>
<apexClass>TxnSecMDApiPolicyEventCondition</apexClass>
<blockMessage>You cannot view this report.</blockMessage>
<developerName>TxnSecPolicyMDApi</developerName>
<eventName>ReportEvent</eventName>
<masterLabel>Txn Sec MD Api Policy</masterLabel>
<type>CustomApexPolicy</type>
</TransactionSecurityPolicy>
The following is an example package manifest used to deploy or retrieve the transaction security metadata for an organization.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>MySecurityPolicy</members>
<name>TransactionSecurityPolicy</name>
</types>
<version>35.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Translations
Metadata type that enables work with translations for various supported languages. The ability to translate component labels is part of
the Translation Workbench.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
This type extends the Metadata metadata type and inherits its fullName field.
Language
A two-character language code identifies each language, such as en. A five-character code is used for languages that differ depending
on location. For example, en_AU.
Note: Setting a default language is different from setting a default locale. For more information, see Select Your Language, Locale,
and Currency in Salesforce Help.
Salesforce offers full support for these languages.
Chinese (Simplified): zh_CN
Chinese (Traditional): zh_TW
Danish: da
Dutch: nl_NL
English: en_US
1993
TranslationsMetadata Types
Finnish: fi
French: fr
German: de
Italian: it
Japanese: ja
Korean: ko
Norwegian: no
Portuguese (Brazil): pt_BR
Russian: ru
Spanish: es
Spanish (Mexico): es_MX Spanish (Mexico) defaults to Spanish for customer-defined translations.
Swedish: sv
Thai: th The Salesforce user interface is fully translated to Thai, but Help is in English.
End-user languages are useful if you have a multilingual organization or partners who speak languages other than your companys
default language. For end-user languages, Salesforce provides translated labels for standard objects and pages, except admin pages,
Setup, and Help. Some clouds and features support a subset of these languages in the UI. For details, see User Interface Language Support
in Salesforce Help. When you select an end-user language, labels that arent translated and Salesforce Help appear in English. End-user
languages are intended only for personal use by end users. Dont use end-user languages as corporate languages. Salesforce doesnt
provide customer support in end-user languages.
End-user languages include:
Arabic: ar
Bulgarian: bg
Croatian: hr
Czech: cs
English (UK): en_GB
Greek: el
Hebrew: iw
Hungarian: hu
Indonesian: in
Polish: pl
Portuguese (European): pt_PT
Romanian: ro
Slovak: sk
Slovenian: sl
Turkish: tr
Ukrainian: uk
Vietnamese: vi
Important: Before enabling end-user languages Arabic and Hebrew, review the right-to-left language support limitations.
1994
TranslationsMetadata Types
In situations where Salesforce doesnt provide default translations, use platform-only languages to localize apps and custom functionality
that you build on the Salesforce Platform. You can translate items such as custom labels, custom objects, and field names. You can also
rename most standard objects, labels, and fields. Informational text and non-field label text arent translatable.
Platform-only languages are available in all places where you can select a language in the application. However, when you select a
platform-only language, all standard Salesforce labels default to English or, in select cases, to an end-user or fully supported language.
Note: Language support is closely tied to the API version. For example, we introduced support for Belgian Dutch (nl_BE) in API
version 40.0. To take advantage of this language, you must use API version 40.0 or later. In general, we recommend using the most
recent version of the API to make the most of our language features.
Platform-only languages include:
Albanian: sq
Afrikaans: af
Amharic: am
Arabic (Algeria): ar_DZ
Arabic (Bahrain): ar_BH
Arabic (Egypt): ar_EG
Arabic (Iraq): ar_IQ
Arabic (Jordan): ar_JO
Arabic (Kuwait): ar_KW
Arabic (Lebanon): ar_LB
Arabic (Libya): ar_LY
Arabic (Morocco): ar_MA
Arabic (Oman): ar_OM
Arabic (Qatar): ar_QA
Arabic (Saudi Arabia): ar_SA
Arabic (Sudan): ar_SD
Arabic (Syria): ar_SY
Arabic (Tunisia): ar_TN
Arabic (United Arab Emirates): ar_AE
Arabic (Yemen): ar_YE
Armenian: hy
Basque: eu
Bosnian: bs
Bengali: bn
Burmese: my
Catalan: ca
Chinese (Hong Kong): zh_HK
Chinese (Singapore): zh_SG
Chinese (Malaysia): zh_MY
Dutch (Belgium): nl_BE
English (Australia): en_AU
1995
TranslationsMetadata Types
English (Belgium): en_BE
English (Canada): en_CA
English (Cyprus): en_CY
English (Germany): en_DE
English (Hong Kong): en_HK
English (India): en_IN
English (Ireland): en_IE
English (Israel): en_IL
English (Malaysia): en_MY
English (Malta): en_MT
English (Netherlands): en_NL
English (New Zealand): en_NZ
English (Philippines): en_PH
English (Singapore): en_SG
English (South Africa): en_ZA
English (United Arab Emirates): en_AE
Estonian: et
Farsi: fa
French (Belgium): fr_BE
French (Canada): fr_CA
French (Luxembourg): fr_LU
French (Morocco): fr_MA
French (Switzerland): fr_CH
Georgian: ka
German (Austria): de_AT
German (Belgium): de_BE
German (Luxembourg): de_LU
German (Switzerland): de_CH
Greek (Cyprus): el_CY
Greenlandic: kl
Gujarati: gu
Hawaiian: haw
Haitian Creole: ht
Hindi: hi
Hmong: hmn
Icelandic: is
Irish: ga
Italian (Switzerland): it_CH
Kannada: kn
Kazakh: kk
1996
TranslationsMetadata Types
Khmer: km
Latvian: lv
Lithuanian: lt
Luxembourgish: lb
Macedonian: mk
Malay: ms
Malayalam: ml
Maltese: mt
Marathi: mr
Montenegrin: sh_ME
Punjabi: pa
Romanian (Moldova): ro_MD
Romansh: rm
Russian (Armenia): ru_AM
Russian (Belarus): ru_BY
Russian (Kazakhstan): ru_KZ
Russian (Kyrgyzstan): ru_KG
Russian (Lithuania): ru_LT
Russian (Moldova): ru_MD
Russian (Poland): ru_PL
Russian (Ukraine): ru_UA
Samoan: sm
Serbian (Cyrillic): sr
Serbian (Latin): sh
Spanish (Argentina): es_AR
Spanish (Bolivia): es_BO
Spanish (Chile): es_CL
Spanish (Colombia): es_CO
Spanish (Costa Rica): es_CR
Spanish (Dominican Republic): es_DO
Spanish (Ecuador): es_EC
Spanish (El Salvador): es_SV
Spanish (Guatemala): es_GT
Spanish (Honduras): es_HN
Spanish (Nicaragua): es_NI
Spanish (Panama): es_PA
Spanish (Paraguay): es_PY
Spanish (Peru): es_PE
Spanish (Puerto Rico): es_PR
Spanish (United States): es_US
1997
TranslationsMetadata Types
Spanish (Uruguay): es_UY
Spanish (Venezuela): es_VE
Swahili: sw
Tagalog: tl
Tamil: ta
Te reo: mi
Telugu: te
Urdu: ur
Welsh: cy
Xhosa: xh
Yiddish: ji
Zulu: zu
Important: Before enabling Urdu as a platform-only language, review the right-to-left language support limitations.
Declarative Metadata File Suffix and Directory Location
Translations are stored in a file with a format of localeCode.translation, where localeCode is the locale code of the
translation language. For example, the file name for German translations is de.translation. The supported locale codes are listed
in Language.
Custom object translations are stored in the objectTranslations folder in the corresponding package directory.
Version
Translations components are available in API version 14.0 and later.
Fields
DescriptionField TypeField
A list of bot translations. Available in API version 53.0 and
later.
BotTranslation[]bots
A list of custom application translations.CustomApplicationTranslation[]customApplications
A list of custom label translations.CustomLabelTranslation[]customLabels
A list of translations for web links defined in a home page
component.
CustomPageWebLinkTranslation[]customPageWebLinks
A list of custom tab translations.CustomTabTranslation[]customTabs
A list of admin-configured explainability message
templates.
ExplainabilityMsgTemplateFieldTranslation[]desFieldTemplateMessages
1998
TranslationsMetadata Types
DescriptionField TypeField
A list of flow translations.
Only Flow and AutolaunchedFlow types are supported
for translation.
FlowDefinitionTranslation[]flowDefinitions
This field is available in API version 41.0 and later.
A list of identity verification translation fields.
IdentityVerificationFieldTranslationidentityVerificationCustomFieldLabels
This field is available in API version 54.0 and later.
Required. The language code. For example, de for
German.
Inherited from Metadata, this field is defined in the WSDL
for this metadata type. It must be specified when
stringfullName
creating, updating, or deleting. For an example of this
field specified for a call, see createMetadata().
A list of global picklist translations. A global picklists
value set is inherited by all the custom picklist fields that
are based on it.
This field is available in API version 37.0 only and is
removed from later versions.
GlobalPicklistTranslation[]globalPicklists
A list of translations of Pipeline Inspection forecast
category metric settings. This field is available in API
version 57.0 and later.
PipelineInspMetricConfigTranslationpipelineInspMetricConfigs
A list of In-App Guidance prompt translations. This field
is available in API version 48.0 and later.
PromptTranslationprompts
A list of global rather than object-specific quick actions.GlobalQuickActionTranslation[]quickActions
A list of report type translations.ReportTypeTranslation[]reportTypes
A list of s-control translations.ScontrolTranslation[]scontrols
BotTranslation
BotTranslation contains details for a translation of a bot. Available in API version 53.0 and later.
DescriptionField TypeField
A list of bot version translations.BotVersionTranslation[]botVersions
Required. Name of the bot.
The fullName for the translation must match the fullName
inherited by the original Bot type.
stringfullName
1999
TranslationsMetadata Types
BotVersionTranslation
BotVersionTranslation contains details for a translation of a bot version. Available in API version 53.0 and later.
DescriptionField TypeField
A translated list of dialogs in this bot version.BotDialogTranslation[]botDialogs
Required. Name of a bot version.
The fullName for the translation must match the
fullName inherited by the original BotVersion type.
stringfullName
BotDialogTranslation
BotDialogTranslation contains details for a translation of a bot dialog. Available in API version 53.0 and later.
DescriptionField TypeField
A translated list of steps that are executed as part of the dialog.BotStepTranslation[]botSteps
Required. This unique name prevents conflicts with other dialogs
associated with the same bot version.
The developerName for the translation must match the
developerName on the original BotDialog subtype of
BotVersion.
stringdeveloperName
A translated label that identifies the dialog throughout the
Salesforce user interface.
stringlabel
BotStepTranslation
BotStepTranslation contains details for a translation of a bot step. Available in API version 53.0 and later.
DescriptionField TypeField
A translated list of bot messages used by a BotStep of type
Message.
BotMessageTranslation[]botMessages
A translated list of bot steps associated with a BotStep of type
Group.
BotStepTranslation[]botSteps
A translated bot variable operation used by a BotStep of type
VariableOperation.
BotVariableOperationTranslationbotVariableOperation
Required. A unique key that identifies a step within a dialog. This
key is used to link translated labels to labels within the step. This
stringstepIdentifier
field is recommended for all step records and is required for
translated step labels.
2000
TranslationsMetadata Types
DescriptionField TypeField
The stepIdentifier for the translation must match the
stepIdentifier on the original BotStep subtype of
BotVersion.
Required. Valid values are:BotStepType (enumeration of
type string)
type
Navigation
Invocation
VariableOperation
Message
Wait
Group
RecordLookup (Available in API version 48.0 and later.)
The type for the translation must match the type on the
original BotStep subtype of BotVersion.
BotMessageTranslation
BotMessageTranslation contains details for a translation of a bot message step. Available in API version 53.0 and later.
DescriptionField TypeField
A translated message to display as part of an outgoing message
from the bot to the customer.
stringmessage
Required. A unique key that identifies a message within a dialog.
This key is used to link translated labels to labels within the
stringmessageIdentifier
message. This field is recommended for all message records and
is required for translated message labels.
The messageIdentifier for the translation must match
the messageIdentifier on the original BotMessage
subtype of BotVersion.
BotVariableOperationTranslation
BotVariableOperationTranslation contains details for a translation of a bot variable operation (question) step. Available in API version
53.0 and later.
DescriptionField TypeField
A translated list of bot messages used as prompt messages by
a BotVariableOperation of type Collect.
BotMessageTranslation on page
2001[]
botMessages
2001
TranslationsMetadata Types
DescriptionField TypeField
A translated list of static choice options used by a
BotVariableOperation of type Collect and
quickReplyType of Static.
BotQuickReplyOptionTranslation
on page 2002[]
botQuickReplyOptions
A translated formula template used to resolve a label for
Dynamic choice options of type Object.
stringquickReplyOptionTemplate
In Conversation Repair, the translated messages assigned to
repair attempts.
BotMessageTranslation on page
2001[]
retryMessages
In a File dialog step, the translated message displayed to the
customer as part of type CollectAttachment to confirm a
successful file upload. Available in API version 57.0 and later.
BotMessageTranslation on page
2001[]
successMessages
Required. Valid values are:BotVariableOperationType
(enumeration of type string)
type
Set
Unset
Collect
SetConversationLanguage
Required. A unique key that identifies a variable operation within
a dialog. This key is used to link translated labels to labels within
stringvariableOperationIdentifier
the variable operation. This field is recommended for all variable
operation records and is required for translated variable
operation labels.
The variableOperationIdentifier for the
translation must match the
variableOperationIdentifier on the original
BotVariableOperation subtype of BotVersion.
BotQuickReplyOptionTranslation
BotQuickReplyOptionTranslation contains details for a translation of a bot quick reply option within a bot variable operation (question)
step. Available in API version 53.0 and later.
DescriptionField TypeField
A translated value to be displayed as a menu or button choice
to your customer.
stringliteralValue
Required. A unique key that identifies a quick reply option within
a dialog. This key is used to link translated labels to labels within
stringquickReplyOptionIdentifier
the quick reply option. This field is recommended for all quick
reply option records and is required for translated quick reply
option labels.
2002
TranslationsMetadata Types
DescriptionField TypeField
The quickReplyOptionIdentifier for the translation
must match the quickReplyOptionIdentifier on
the original BotQuickReplyOption subtype of BotVersion.
CustomApplicationTranslation
CustomApplicationTranslation contains details for a custom application translation. For more details, see CustomApplication.
DescriptionField TypeField
The optional description text of the application translation.stringdescription
Required. The translated custom application name. Maximum
of 765 characters.
stringlabel
Required. The name of the custom application.stringname
CustomLabelTranslation
CustomLabelTranslation contains details for a custom label translation. For more details, see CustomLabels.
DescriptionField TypeField
Required. The translated custom label name. Maximum of 765
characters.
stringlabel
Required. The custom label name.stringname
CustomPageWebLinkTranslation
CustomPageWebLinkTranslation contains details for a translation of a web link defined in a home page component. For more details,
see CustomPageWebLink.
DescriptionField TypeField
Required. The translated web link.stringlabel
Required. The name of the web link.stringname
CustomTabTranslation
CustomTabTranslation contains details for a translation of a custom tab. For more details, see CustomTab.
DescriptionField TypeField
Required. The translated custom tab name.stringlabel
2003
TranslationsMetadata Types
DescriptionField TypeField
Required. The custom tab name.stringname
ExplainabilityMsgTemplateFieldTranslation
Represents the template that contains the decision explanation message for a specified step element type.
DescriptionField TypeField Name
The explainability message field description.stringdescription
A user-friendly name for
ExplainabilityMsgTemplateFieldTranslation.
stringlabel
Required.
stringname
The name of the decision explanation message for a specified
step element type.
The message associated with the template for a specific
expression set step type.
stringtemplateMessage
Declarative Metadata Sample Definition
This is an example of an ExplainabilityMsgTemplateFieldTranslation component.
<?xml version="1.0" encoding="UTF-8"?>
<Translations xmlns="http://soap.sforce.com/2006/04/metadata">
<desFieldTemplateMessages>
<description>Calc Blitz Message</description>
<label>CALBLITZ</label>
<name>CALBLITZ</name>
<templateMessage>CALBLITZ</templateMessage>
</desFieldTemplateMessages>
</Translations>
FlowDefinitionTranslation
FlowDefinitionTranslation contains details for a translation of a flow definition. For more details, see FlowDefinition.
Available in API version 41.0 and later.
DescriptionField TypeField
A list of flow version translations for the flow definition.FlowTranslation[]flows
Required. The API name for the flow definition.stringfullName
2004
TranslationsMetadata Types
DescriptionField TypeField
A translated label for the flow definition.
By default, flow definitions inherit the label of the active flow
version. If you provide a label here, the definition label no longer
inherits changes to the active version label.
stringlabel
FlowTranslation
FlowTranslation contains details for a translation of a flow version. For more details, see Flow.
Available in API version 41.0 and later.
DescriptionField TypeField
A list of choice translations for the flow version.FlowChoiceTranslation[]choices
The API name for the flow version.
A unique name for the flow that contains only underscores and
alphanumeric characters. The name must be unique across the
stringfullName
org, begin with a letter, not include spaces, not end with an
underscore, and not contain two consecutive underscores.
To deploy or retrieve a version, you can specify the version
number. For example, sampleFlow-3 specifies version 3 of
the flow whose unique name is sampleFlow. If you dont specify
a version number, the flow is the latest version.
In API version 43.0 and earlier, this field included the version
number. In API version 44 and later, this field no longer includes
the version number.
A translated label for the flow version.stringlabel
A list of screen translations for the flow version.FlowScreenTranslation[]screens
A list of stage translations for the flow version. Available in API
version 43.0 and later.
FlowStageTranslation on page
2007[]
stages
FlowChoiceTranslation
FlowChoiceTranslation contains details for a translation of a choice in a flow version. For more details, see FlowChoice in Flow.
Available in API version 41.0 and later.
DescriptionField TypeField
A translated label for the choice.stringchoiceText
Required. A unique name for the choice.stringname
A translated choice input for the choice.FlowChoiceUserInputTranslationuserInput
2005
TranslationsMetadata Types
FlowChoiceUserInputTranslation
FlowChoiceUserInputTranslation contains details for a translation of a choice input. For more details, see FlowChoiceUserInput in Flow.
Available in API version 41.0 and later.
DescriptionField TypeField
A translated label for the choice input.stringpromptText
A translated validation rule for the choice input.FlowInputValidationRuleTranslationvalidationRule
FlowInputValidationRuleTranslation
FlowInputValidationRuleTranslation contains details for a translation of a validation rule. For more details, see FlowInputValidationRule
in Flow.
Available in API version 41.0 and later.
DescriptionField TypeField
A translated error message for the validation rule.stringerrorMessage
FlowScreenTranslation
FlowScreenTranslation contains details for a translation of a screen. For more details, see FlowScreen in Flow.
Available in API version 41.0 and later.
DescriptionField TypeField
A translated label for the Back button. Available in API version
54.0 and later.
stringbackButtonLabel
A list of screen component translations for the screen.FlowScreenFieldTranslation[]fields
Translated help text for the screen.stringhelpText
Required. An API name for the screen.stringname
A translated label for the Next or Finish button. Available in API
version 54.0 and later.
stringnextOrFinishButtonLabel
A translated label for the Pause button. Available in API version
54.0 and later.
stringpauseButtonLabel
A translated pause confirmation message for the screen.stringpausedText
FlowScreenFieldTranslation
FlowScreenFieldTranslation contains details for a translation of a screen component. For more details, see FlowScreenField in Flow.
Available in API version 41.0 and later.
2006
TranslationsMetadata Types
Note: Translation isnt supported for screen components that require Lightning runtime.
DescriptionField TypeField
A translated label for the screen component.stringfieldText
Translated help text for the screen component.stringhelpText
Reserved for internal use.FlowInputParameterTranslationinputParameters
Required. An API name for the screen component.stringname
Translated validation rule for the screen component.FlowInputValidationRuleTranslationvalidationRule
FlowInputParameterTranslation
FlowInputParameterTranslation is reserved for internal use.
DescriptionField TypeField
Reserved for internal use.stringname
Reserved for internal use.FlowFerovTranslationvalue
FlowFerovTranslation
FlowFerovTranslation is reserved for internal use.
DescriptionField TypeField
Reserved for internal use.FlowComplexLiteralTranslationcomplexValues
Reserved for internal use.stringstringValues
FlowComplexLiteralTranslation
FlowComplexLiteralTranslation is reserved for internal use.
DescriptionField TypeField
Reserved for internal use.stringcustomAspectKey
Reserved for internal use.stringvalue
FlowStageTranslation
FlowStageTranslation contains details for a translation of a stage in a flow version. For more details, see FlowStage in Flow.
Available in API version 43.0 and later.
2007
TranslationsMetadata Types
DescriptionField TypeField
A translated label for the stage.stringlabel
Required. An API name for the stage.stringname
FlowTextTemplateTranslation
FlowTextTemplateTranslation is available only in flows created via Salesforce Surveys and represents the translation details for the text
on all the pages of a survey.
Available in API version 45.0 and later.
DescriptionField TypeField
Required. Unique name for the text template.stringname
Translated text for the text template.stringtext
IdentityVerificationFieldTranslation
Translates the UI components associated with identity verification fields.
Available in API version 54.0 and later.
DescriptionField TypeField
The custom label for the field that contains the verification data.stringcustomFieldLabel
The identity verification field description.stringdescription
A user-friendly name for IdentityVerificationFieldTranslation.stringlabel
Required. The name of the identity verification field.stringname
Declarative Metadata Sample Definition
This is an example of an IdentityVerificationFieldTranslation component.
<?xml version="1.0" encoding="UTF-8"?>
<Translations
xmlns="http://soap.sforce.com/2006/04/metadata">
<identityVerificationCustomFieldLabels>
<description>Telefono Numero</description>
<label>Telefono Numero</label>
<name>Sample93Phone</name>
</identityVerificationCustomFieldLabels>
<identityVerificationCustomFieldLabels>
<description>Nombre de la Cuenta</description>
<label>Nombre de la Cuenta</label>
<name>Sample93Account</name>
</identityVerificationCustomFieldLabels>
2008
TranslationsMetadata Types
<identityVerificationCustomFieldLabels>
<name>Sample93PostalCode</name>
</identityVerificationCustomFieldLabels>
<identityVerificationCustomFieldLabels>
<name>Sample93AccountName</name>
<description>Nombre</description>
<label>Nombre</label>
</identityVerificationCustomFieldLabels>
</Translations>
GlobalPicklistTranslation
Note: GlobalPicklistTranslation is available in API version 37.0 only and is removed from later versions.
GlobalPicklistTranslation contains details for a global picklist translation.
Translations are stored in a file with a format of globalPicklistName__e-lang.objectTranslation, where
globalPicklistName__e is the global picklist name and lang is the translation language. To reference a global picklist
translation value, use globalPicklistName__e.value1, where value1 is the translated value for the user interface.
Heres what translations look like for a global picklist.
<?xml version="1.0" encoding="UTF-8"?>
<Translations xmlns="http://soap.sforce.com/2006/04/metadata">
<globalPicklists>
<name>transpicklist</name>
<picklistValues>
<masterLabel>Three</masterLabel>
<translation>Trois</translation>
</picklistValues>
<picklistValues>
<masterLabel>Four</masterLabel>
<translation>Quatre</translation>
</picklistValues>
</globalPicklists>
</Translations>
DescriptionField TypeField
Required. Represents the name of a global picklist to be
translated.
stringname
A list of picklist values from global picklists to be translated.PicklistValueTranslation[]picklistValues
GlobalQuickActionTranslation
GlobalQuickActionTranslation contains details for the global translation of a quick action. For more information, see QuickAction.
DescriptionField TypeField
Identifies which quick action label the translated text belongs
to. Use this field only when you want to use different strings for
stringaspect
2009
TranslationsMetadata Types
DescriptionField TypeField
the quick actions field label and informational message. Valid
values are Master and InfoMessage. Available in API
version 53.0 and later.
Required. The translated quick action name, globally.stringlabel
Required. The quick action name.stringname
PipelineInspMetricConfigTranslation
PipelineInspMetricConfigTranslation contains details for the translation of Pipeline Inspection forecast category metric settings. Available
in API version 57.0 and later.
DescriptionField TypeField
Required. The translated Pipeline Inspection metric
configuration name.
stringlabel
Required. The name of the Pipeline Inspection metric
configuration.
stringname
PromptTranslation
PromptTranslation contains metadata for the translation of a prompt, which is part of In-App Guidance. Available in API Version 48.0
and later.
DescriptionField TypeField
The prompt description.stringdescription
The translated prompt name.stringlabel
Required. The name of the prompt.stringname
A list of the prompt version translations.PromptVersionTranslationpromptVersions
PromptVersionTranslation
PromptVersionTranslation contains details for translation of a prompt, which is part of In-App Guidance. Available in API Version 48.0
and later.
DescriptionField TypeField
The label for the prompts action button.stringactionButtonLabel
The URL for the prompts action button.stringactionButtonLink
The body text of the prompt.stringbody
2010
TranslationsMetadata Types
DescriptionField TypeField
The prompt description.stringdescription
The label for the floating prompts dismiss button.stringdismissButtonLabel
The header for the docked prompt.stringheader
The alt text for a prompts image. Available in API version 53.0
and later.
stringimageAltText
The URL for a prompts image. Available in API version 53.0 and
later.
stringimageLink
The translated prompt name.stringlabel
Required. The name of the prompt.stringname
The title of the prompt.stringtitle
The URL for the docked prompts video.stringvideoLink
ReportTypeTranslation
ReportTypeTranslation contains details for a translation of a custom report type. For more details, see ReportType.
DescriptionField TypeField
The translated report type description.stringdescription
The translated report type name.stringlabel
Required. The name of the report type.stringname
A list of report type section translations.ReportTypeSectionTranslation[]sections
ReportTypeSectionTranslation
ReportTypeSectionTranslation contains details for a report type section translation.
DescriptionField TypeField
A list of report type column translations.ReportTypeColumnTranslation[]columns
The translated report type section name.stringlabel
Required. The name of the report type section.stringname
ReportTypeColumnTranslation
ReportTypeColumnTranslation contains details for a report type column translation.
2011
TranslationsMetadata Types
DescriptionField TypeField
Required. The translated report type column name.stringlabel
Required. The report type column name.stringname
ScontrolTranslation
Important: Visualforce pages supersede s-controls. Organizations that haven't previously used s-controls cant create them.
Existing s-controls are unaffected and can still be edited.
ScontrolTranslation contains details for a translation of an s-control. For more information, see About S-Controls in Salesforce Help.
DescriptionField TypeField
Required. The translated s-control name.stringlabel
Required. The name of the s-control.stringname
Declarative Metadata Sample Definition
This sample XML definition shows a translations component.
<?xml version="1.0" encoding="UTF-8"?>
<Translations xmlns="http://soap.sforce.com/2006/04/metadata">
<customApplications>
<label>Angebot-Manager</label>
<name>Quote Manager</name>
</customApplications>
<customLabels>
<label>Dieses ist ein manuelles Angebot</label>
<name>quoteManual</name>
</customLabels>
</Translations>
Usage
When you use the retrieve() call to get translations, the files returned in the .translations folder only include translations
for the other metadata types referenced in package.xml. For example, this package.xml file contains types elements that
match all custom applications, custom labels, web links defined in home page components, custom tabs, report types, and s-controls.
Translations for all these metadata types are returned because each metadata type is explicitly listed in package.xml.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>CustomApplication</name>
</types>
<types>
<members>*</members>
<name>CustomLabels</name>
2012
TranslationsMetadata Types
</types>
<types>
<members>*</members>
<name>CustomPageWebLink</name>
</types>
<types>
<members>*</members>
<name>CustomTab</name>
</types>
<types>
<members>*</members>
<name>ReportType</name>
</types>
<types>
<members>*</members>
<name>Scontrol</name>
</types>
<types>
<members>*</members>
<name>Translations</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
SEE ALSO:
CustomLabels
UIObjectRelationConfig
Represents the admin-created configuration of the object relation UI component.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
UIObjectRelationConfig components have the suffix .uiObjectRelationConfig and are stored in the
uiObjectRelationConfigs folder.
2013
UIObjectRelationConfigMetadata Types
Version
UIObjectRelationConfig components are available in API version 54.0 and later.
Special Access Rules
You must be a Health Cloud or Life Sciences Cloud customer to use this metadata type
Fields
DescriptionField Name
Field Type
string
contextObject
Description
Required.
The object that provides the context for this object relation configuration.
Field Type
string
contextObjectRecordType
Description
The record type of the context object for this configuration, if applicable.
Field Type
string
directRelationshipField
Description
For direct relationships, the child relationship field on the related object that matches
the context object.
Field Type
string
indirectObjectContextField
Description
For indirect relationships, the field on the junction object that matches the context
object.
Field Type
string
indirectObjectRelatedField
Description
For indirect relationships, the field on the junction object that matches the related
object.
Field Type
string
indirectRelationshipObject
2014
UIObjectRelationConfigMetadata Types
DescriptionField Name
Description
For indirect relationships, the junction object representing the relationship between
the related object and its context object.
Field Type
boolean
isActive
Description
Indicates whether the configuration is active (true) or not (false).
Field Type
string
masterLabel
Description
Required.
Label for the UIObjectRelationConfig. In the UI, this field is UI Object Relation Config.
Field Type
string
relatedObject
Description
Required.
The object containing the data that this object relation configuration displays.
Field Type
string
relatedObjectRecordType
Description
The record type of the related object for this configuration.
Field Type
ObjectRelationshipType (enumeration of type string)
relationshipType
Description
Required.
A string indicating the type of relationship between the related object and context
object.
Valid values are:
Direct
Indirect
InverseDirect
Self
Field Type
UIObjectRelationFieldConfig[]
UIObjectRelationFieldConfigs
2015
UIObjectRelationConfigMetadata Types
DescriptionField Name
Description
Provides a configuration for an object relation field on a specific row of content.
UIObjectRelationFieldConfig
Represents a configuration for a single row of content on a specific object relation configuration.
DescriptionField Name
Field Type
string
displayLabel
Description
Required.
A string containing the user-defined label for this field, to be displayed on each object
relation of this type.
Field Type
string
queryText
Description
Required.
A case-insensitive template query for generating the content in this field.
Field Type
int
rowOrder
Description
Required.
Determines the top-to-bottom display order of this field on the object relation UI.
Declarative Metadata Sample Definition
This is an example of a UIObjectRelationConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<UIObjectRelationConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<UIObjectRelationFieldConfigs>
<displayLabel>Address:</displayLabel>
<queryText>{
"startNode": {
"initialObject": "RelatedObject"
},
"traversalNodes": [],
"fieldNode": {
2016
UIObjectRelationConfigMetadata Types
"fieldEnumOrId": "ShippingAddress"
}
}</queryText>
<rowOrder>1</rowOrder>
</UIObjectRelationFieldConfigs>
<UIObjectRelationFieldConfigs>
<displayLabel>Phone:</displayLabel>
<queryText>{
"startNode": {
"initialObject": "RelatedObject"
},
"traversalNodes": [],
"fieldNode": {
"fieldEnumOrId": "Phone"
}
}</queryText>
<rowOrder>2</rowOrder>
</UIObjectRelationFieldConfigs>
<UIObjectRelationFieldConfigs>
<displayLabel>Fax:</displayLabel>
<queryText>{
"startNode": {
"initialObject": "RelatedObject"
},
"traversalNodes": [],
"fieldNode": {
"fieldEnumOrId": "Fax"
}
}</queryText>
<rowOrder>3</rowOrder>
</UIObjectRelationFieldConfigs>
<UIObjectRelationFieldConfigs>
<displayLabel>Parent Organization:</displayLabel>
<queryText>{
"startNode": {
"initialObject": "RelatedObject"
},
"traversalNodes": [
{
"destinationObjectEnumOrId": "Account",
"fieldEnumOrId": "ParentId",
"traversalDirection": "parent"
}
],
"fieldNode": {
"fieldEnumOrId": "Name"
}
}</queryText>
<rowOrder>4</rowOrder>
</UIObjectRelationFieldConfigs>
<contextObject>Contact</contextObject>
<directRelationshipField>AccountId</directRelationshipField>
<isActive>true</isActive>
<masterLabel>Sample Primary Account Configuration</masterLabel>
2017
UIObjectRelationConfigMetadata Types
<relatedObject>Account</relatedObject>
<relationshipType>Direct</relationshipType>
<indirectObjectRelatedField></indirectObjectRelatedField>
<indirectObjectContextField></indirectObjectContextField>
<contextObjectRecordType></contextObjectRecordType>
<indirectRelationshipObject></indirectRelationshipObject>
<relatedObjectRecordType></relatedObjectRecordType>
</UIObjectRelationConfig>
This is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>UIObjectRelationConfig</name>
</types>
<version>54.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
UserAccessPolicy
Represents a user access policy.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
UserAccessPolicy components have the suffix .useraccesspolicy and are stored in the useraccesspolicies folder.
Version
UserAccessPolicy components are available in API version 57.0 and later.
Special Access Rules
To create or modify user access policies, users must have the Manage User Access Policies permission.
2018
UserAccessPolicyMetadata Types
Fields
DescriptionField Name
Field Type
string
booleanFilter
Description
Required. The logic that determines how your user criteria filters are applied in the
user access policy. For example, if you have two user access policy filters with the
sortOrder equal to 1 and 2, respectively, the booleanFilter can be 1
AND 2 or 1 OR 2.
Field Type
string
description
Description
Description of the user access policy.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt impact the behavior of the metadata type. The
default value is false.
Field Type
string
masterLabel
Description
Required. A user-friendly name for the user access policy, which is defined when the
user access policy is created.
Field Type
int
order
Description
Indicates the order for which active policy is applied when a user meets the criteria
for multiple policies. Must be an integer from 0 to 10,000. Only the active policy with
the lowest order value is applied. This field is required only if the status field is
set to Active.
Available in API version 61.0 and later.
Field Type
UserAccessPolicyStatus (enumeration of type string)
status
Description
Required. The status of the user access policy.
Values are:
2019
UserAccessPolicyMetadata Types
DescriptionField Name
Active
Completed
Design
Failed
Migrate
Testing
Updating
Field Type
UserAccessPolicyTriggerType (enumeration of type string)
triggerType
Description
The type of user record trigger for which this user access policy runs.
Values are:
CreateThe user access policy runs when a user who matches the policy criteria
is created.
CreateAndUpdateThe user access policy runs when a user who matches
the policy criteria is either created or updated.
UpdateThe user access policy runs when a user who matches the policy criteria
is updated.
Field Type
UserAccessPolicyAction[]
userAccessPolicyActions
Description
The actions applied by the user access policy to grant access to or revoke access from
an access mechanism.
Field Type
UserAccessPolicyFilter[]
userAccessPolicyFilters
Description
The filters used to define the users that the user access policy is applied to.
UserAccessPolicyAction
Represents an action applied by a user access policy.
DescriptionField Name
Field Type
UserAccessPolicyActionType (enumeration of type string)
action
2020
UserAccessPolicyMetadata Types
DescriptionField Name
Description
Required. Indicates whether the user access policy grants or revokes the target access
mechanism.
Values are:
Grant
Revoke
Field Type
string
target
Description
Required. Developer name of the access mechanism that the user access policy applies.
Field Type
UserAccessPolicyActionTargetType (enumeration of type string)
type
Description
Required. The type of access mechanism that the user access policy applies.
Values are:
Group
PackageLicense
PermissionSet
PermissionSetGroup
PermissionSetLicense
Queue
UserAccessPolicyFilter
Represents a user criteria filter for a user access policy.
DescriptionField Name
Field Type
string
columnName
Description
If type is set to User, this is the user field that your user criteria filter is based on.
If you set type to any value other than User, then this field isnt used.
Field Type
UserAccessPolicyFilterOperation (enumeration of type string)
operation
2021
UserAccessPolicyMetadata Types
DescriptionField Name
Description
Required. The operator of the user criteria filter.
Values are:
equals
in Available in API version 58.0 and later.
not equal
Select in if you want to reference multiple profiles or roles in the same user criteria
filter via the target field.
Field Type
int
sortOrder
Description
Required. The numeric reference used to identify the specific user criteria filter.
Field Type
string
target
Description
Required. If type is set to User, then set this field to User as well. If type is set
to any other value, then set this field to the developer name of the specific resource
used in the user criteria filter.
Field Type
UserAccessPolicyFilterTargetType (enumeration of type string)
type
Description
Required. The type of resource that the user criteria filter is based on.
Values are:
Group
PackageLicense
PermissionSet
PermissionSetGroup
PermissionSetLicense
Profile
Queue
User
UserRole
Field Type
string
value
2022
UserAccessPolicyMetadata Types
DescriptionField Name
Description
If type is set to User, this field is the value of the user field specified in
columnName that your user filter is operating on. If you set type to any value other
than User, then this field isnt used.
Declarative Metadata Sample Definition
The following is an example of a UserAccessPolicy component.
<?xml version="1.0" encoding="UTF-8"?>
<UserAccessPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<booleanFilter>1 AND 2</booleanFilter>
<description>Policy to assign Sales Rep PSG to active Sales Reps.</description>
<masterLabel>Sales Rep Migration</masterLabel>
<order>3</order>
<status>Active</status>
<triggerType>CreateAndUpdate</triggerType>
<userAccessPolicyActions>
<action>Grant</action>
<target>SalesRepPSG</target>
<type>PermissionSetGroup</type>
</userAccessPolicyActions>
<userAccessPolicyFilters>
<operation>equals</operation>
<sortOrder>1</sortOrder>
<target>SalesRepCustomProfile</target>
<type>Profile</type>
</userAccessPolicyFilters>
<userAccessPolicyFilters>
<columnName>IsActive</columnName>
<operation>equals</operation>
<sortOrder>2</sortOrder>
<target>User</target>
<type>User</type>
<value>true</value>
</userAccessPolicyFilters>
</UserAccessPolicy>
To reference multiple profiles or roles, in UserAccessPolicyFilter, set the operator field to in. Then, reference the resources developer
names in the target field, separated by commas.
<?xml version="1.0" encoding="UTF-8"?>
<UserAccessPolicy xmlns="http://soap.sforce.com/2006/04/metadata">
<booleanFilter>1</booleanFilter>
<description>Policy to remove AMER Sales group from employees with one of two
roles</description>
<masterLabel>Remove AMER Sales Group</masterLabel>
<status>Active</status>
<userAccessPolicyActions>
<action>Revoke</action>
2023
UserAccessPolicyMetadata Types
<target>AMERSalesPublicGroup</target>
<type>Group</type>
</userAccessPolicyActions>
<userAccessPolicyFilters>
<operation>in</operation>
<sortOrder>1</sortOrder>
<target>SalesOps,InsideSalesRep</target>
<type>UserRole</type>
</userAccessPolicyFilters>
</UserAccessPolicy>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>UserAccessPolicy</name>
</types>
<version>61.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
UserAuthCertificate
Represents a PEM-encoded user certificate. These certificates are associated with a user, and externally uploaded. The uploaded certificate
is used to authenticate the user.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
UserAuthCertificate components have the suffix .userAuthCertificate and are stored in the userAuthCertificates
folder.
Version
UserAuthCertificate components are available in API version 50.0 and later.
2024
UserAuthCertificateMetadata Types
Fields
DescriptionField TypeField Name
Required: The name of the certificate with an underscore between words.stringdeveloperName
Note: Only users with View DeveloperName OR View Setup and
Configuration permission can view, group, sort, and filter this
field.
Required. The date on which the certificate expires.dateTimeexpirationDate
Required. A user-friendly name that you create for the certificate. Limited
to 64 characters.
stringmasterLabel
Required. The serial number for the certificate.stringserialNumber
Required: The users name.stringuser
Declarative Metadata Sample Definition
The following is an example of a UserAuthCertificate component.
<UserAuthCertificate xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<content xsi:nil="true"/>
<developerName>ND_user_cert</developerName>
<expirationDate>2030-10-01T08:30:00.000Z</expirationDate>
<masterLabel>ND user cert</masterLabel>
<serialNumber>1401</serialNumber>
<user>005RM000001Zn1E</user>
</UserAuthCertificate>
The following is an example package.xml that references the previous definition.
Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>UserAuthCertificate</name>
</types>
<version>50.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
2025
UserAuthCertificateMetadata Types
UserCriteria
Represents the member criteria to use in Experience Cloud site moderation rules. This type extends the Metadata metadata type and
inherits its fullName field..
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
UserCriteria components have the suffix site_name.user_criteria_developer_name.userCriteria and are stored
in the UserCriteria folder.
Version
UserCriteria components are available in API version 39.0 and later.
Special Access Rules
To view, create, edit, and delete moderation rules, you need the Manage Experiences or Create and Set Up Experiences permission. As
of Spring 20 and later, only users with permission to edit moderation rules can access this object.
Fields
DescriptionField TypeField Name
If specified, includes only users that were created within a specific time
frame.
intcreationAgeInSeconds
The description of the user criteria.stringdescription
If specified, includes only members that have posted or commented in
the Experience Cloud site within a specific time frame.
intlastChatterActivityAgeInSeconds
Name of the user criteria.stringmasterLabel
The member type to use in moderation rules. Valid values are:NetworkUserType
enumeration ( of
type string)
userTypes
Internal
Customer
Partner
Declarative Metadata Sample Definition
The following is an example of a UserCriteria component.
<?xml version="1.0" encoding="UTF-8"?>
<UserCriteria xmlns="http://soap.sforce.com/2006/04/metadata">
2026
UserCriteriaMetadata Types
<masterLabel>Customer and Partner Members</masterLabel>
<description>Member criteria matches customer and partner member</description>
<userTypes>Partner</userTypes>
<userTypes>Customer</userTypes>
</UserCriteria>
UserProfileSearchScope
Reserved for internal use.
UserProvisioningConfig
Represents information to use during a user provisioning request flow, such as the attributes for an update. This type extends the Metadata
metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
UserProvisioningConfig components have the suffix .userProvisioningConfig and are stored in the
UserProvisioningConfigs directory.
Version
UserProvisioningConfig components are available in API version 49.0 and later.
Fields
DescriptionField TypeField Name
Indicates whether approvals are required for provisioning users for the
associated connected app. If the value is null, no approval is required.
stringapprovalRequired
The ID of the connected app for which users are being provisioned.stringconnectedApp
Indicates whether user provisioning is enabled for the associated
connected app (true) or not (false). Default setting is false.
booleanenabled
Lists the operations, as comma-separated values, that create a user
provisioning request for the associated connected app. Allowed values
are:
stringenabledOperations
Create
Update
EnableAndDisable (activation and deactivation)
SuspendAndRestore (freeze and unfreeze)
2027
UserProfileSearchScopeMetadata Types
DescriptionField TypeField Name
User Provisioning flow type which includes a reference to the Apex
UserProvisioningPlugin class. The flow calls the third-party
services API to manage user account provisioning on that system.
stringflow
The primary label for this object. This value is the internal label that
doesnt get translated.
stringmasterLabel
The Salesforce ID of the named credential thats used for a request. The
named credential identifies the third-party system and the third-party
authentication settings.
stringnamedCredential
Serves as a place for admins to add any additional information about
the configuration. This field is for internal reference only, and is not used
by any process.
stringnotes
Lists the user attributes, as comma-separated values, that generate a
user provisioning request during an update.
stringonUpdateAttributes
When collecting and analyzing users on a third-party system, the plug-in
uses this filter to limit the scope of the collection.
stringreconFilter
Stores the attributes used to link the Salesforce user to the account on
the third-party system, in JSON format. For example:
{"linkingSalesforceUserAttribute":"Username",
"linkingTargetUserAttribute":"Email"}
stringuserAccountMapping
Declarative Metadata Sample Definition
The following is an example of a UserProvisioningConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<UserProvisioningConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<approvalRequired>True</approvalRequired>
<enabled>true</enabled>
<enabledOperations>NA</enabledOperations>
<connectedApp>ExampleApp</connectedApp>
<masterLabel>label</masterLabel>
<notes>note</notes>
<onUpdateAttributes>attri</onUpdateAttributes>
<reconFilter>filter</reconFilter>
<userAccountMapping>mapping</userAccountMapping>
</UserProvisioningConfig>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>UPC</members>
<name>UserProvisioningConfig</name>
</types>
2028
UserProvisioningConfigMetadata Types
<version>49.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
VirtualVisitConfig
Represents an external video provider configuration, which relays events from Salesforce to the provider.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
VirtualVisitConfig components have the suffix .virtualVisitConfig and are stored in the VirtualVisitConfigs folder.
Version
VirtualVisitConfig components are available in API version 54.0 and later.
Special Access Rules
Access to this metadata type requires at least one of these preferences:
Video Calls: Org Pref (VideoVisits) Org preference
Industries Einstein: Intelligent Form Reader (EinsteinDocReader)
Industries Einstein: Sentiment Insights Account (IESentimentAnalysis)
Natural Language Processing: Key phrase extraction and entity detection (NLPServiceEnabled) Org Preference and the NLP: Key
phrase extraction (KeyPhrasePrefEnabled) Org Preference
Natural Language Processing (NLPServicePrefEnabled) Org Preference
Fields
DescriptionField Name
Field Type
VirtualVisitComprehendServiceType (enumeration of type string)
comprehendServiceType
2029
VirtualVisitConfigMetadata Types
DescriptionField Name
Description
Specifies the type of service used to convert speech into text or to analyze the converted
speech text.
Valid values are:
ComprehendMedicalService
ComprehendService
Type
string
developerName
Properties
Filter, Group, Sort
Description
The unique name of the object in the API. This name can contain only underscores
and alphanumeric characters, and must be unique in your org. It must begin with a
letter, not include spaces, not end with an underscore, and not contain two consecutive
underscores. In managed packages, this field prevents naming conflicts on package
installations. With this field, a developer can change the objects name in a managed
package and the changes are reflected in a subscribers organization. Label is Record
Type Name. This field is automatically generated, but you can supply your own value
if you create the record using the API.
Field Type
string
experienceCloudSiteUrl
Description
The URL of the Digital Experience site where the Video Call component is available to
portal or guest users.
Field Type
string
externalMsgServiceIdentifier
Description
For internal use only.
Field Type
string
externalRoleIdentifier
Description
The ID of the role that's used to allow users to join a video call and to grant them
temporary access to certain functions needed to participate in the call.
Field Type
string
externalUserIdentifier
Description
For internal use only.
2030
VirtualVisitConfigMetadata Types
DescriptionField Name
Type
string
fullName
Properties
Create, Group, Nillable
Description
The full name of the VirtualVisitConfig type in Metadata API. The full name can include
a namespace prefix. 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.
Field Type
boolean
isProtected
Description
An auto-generated value that doesnt currently impact the behavior of the metadata
type.
Field Type
string
masterLabel
Description
Required.
A user-friendly name for VirtualVisitConfig, which is defined when the VirtualVisitConfig
is created.
Field Type
string
messagingRegion
Description
The region where the waiting room and messaging channel data is processed and
stored. Available in API version 57.0 and later.
Field Type
string
namedCredential
Description
The named credential record used to authenticate and authorize a video call vendors
account.
Field Type
string
storageBucketName
Description
The name of the storage bucket that stores the meeting transcript.
Field Type
VirtualVisitUsageType (enumeration of type string)
usageType
2031
VirtualVisitConfigMetadata Types
DescriptionField Name
Description
The name of the Salesforce feature for which the video call configuration record is
created.
Valid values are:
CHIME
ENTITY_DETECTION
INTELLIGENT_FORM_READER
KEY_PHRASE_EXTRACTION
SENTIMENT_ANALYSIS
Field Type
string
videoCallApptTypeValue
Description
The default Appointment Type picklist values from the Service Appointment object
that represent a video appointment type. Use semicolons to separate multiple values.
Field Type
string
videoControlRegion
Description
The region where API calls related to Video Calls are made. Available in API version
57.0 and later.
Field Type
VirtualVisitVisitRegion (enumeration of type string)
visitRegion
Description
The region where the Video Call audio and video data is processed.
Valid values are:
af-south-1
ap-east-1
ap-northeast-1
ap-northeast-2
ap-northeast-3
ap-south-1
ap-southeast-1
ap-southeast-2
ca-central-1
eu-central-1
eu-north-1
eu-south-1
eu-west-1
2032
VirtualVisitConfigMetadata Types
DescriptionField Name
eu-west-2
eu-west-3
me-south-1
sa-east-1
us-east-1
us-east-2
us-west-1
us-west-2
Declarative Metadata Sample Definition
This is an example of a VirtualVisitConfig component.
<?xml version="1.0" encoding="UTF-8"?>
<VirtualVisitConfig xmlns="http://soap.sforce.com/2006/04/metadata">
<usageType>CHIME</usageType>
<visitRegion>us-east-1</visitRegion>
<masterLabel>vvconfig1</masterLabel>
<experienceCloudSiteUrl>[email protected]</experienceCloudSiteUrl>
<namedCredential>SampleNamedCredential</namedCredential>
<comprehendServiceType>ComprehendService</comprehendServiceType>
<storageBucketName>comprehendbucket</storageBucketName>
<isProtected>false</isProtected>
</VirtualVisitConfig>
This is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<namespacePrefix>[namespacePrefix]</namespacePrefix>
<fullName>deployPackage</fullName>
<types>
<members>*</members>
<name>VirtualVisitConfig</name>
</types>
<types>
<members>*</members>
<name>NamedCredential</name>
</types>
<version>55.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
2033
VirtualVisitConfigMetadata Types
WaveApplication
Represents the Analytics application. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WaveApplication components have the suffix .wapp and are stored in the wave folder.
Version
WaveApplication components are available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
The icon that represents the Analytics application.stringassetIcon
The description that appears in the user interface.stringdescription
The internal api name of the folder or application.stringfolder
The user interface label name of the folder or application.stringmasterLabel
The folder sharing rules.FolderShareshares
The internal (unique) name of the template used to create the
application. This field is blank if the application wasnt created from a
template.
stringtemplateOrigin
The version assigned to the application template by the template's
creator. This field is blank if the application wasnt created from a
template.
stringtemplateVersion
Declarative Metadata Sample Definition
The following is an example of a WaveApplication component.
<?xml version="1.0" encoding="UTF-8"?>
<WaveApplication xmlns="http://soap.sforce.com/2006/04/metadata">
<assetIcon>/analytics/wave/web/proto/images/app/icons/11.png</assetIcon>
<description>Application that shows my sales</description>
<folder>edit</folder>
<masterLabel>Sales Application</masterLabel>
<shares>
<accessLevel>EditAllContents</accessLevel>
<sharedTo>[email protected]</sharedTo>
<sharedToType>User</sharedToType>
2034
WaveApplicationMetadata Types
</shares>
</WaveApplication>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveComponent
Represents the WaveComponent object in the Analytics application. This type extends the MetadataWithContent metadata type and
inherits its content and fullName fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
When using Metadata API to work with Analytics components, consider that:
Modifications to the .wcomp component are unsupported.
File Suffix and Directory Location
WaveComponent components have the suffix .wcomp and are stored in the wave folder.
Version
WaveComponent components are available in API version 51.0 and later.
Fields
DescriptionField TypeField Name
Required. The internal name of the application.stringapplication
The component description that appears in the user interface.stringdescription
Required. The component name that appears in the user interface.stringmasterLabel
Links the component to the template used to create it. Null for assets
not created from a template.
stringtemplateAssetSourceName
Declarative Metadata Sample Definition
The following is an example of a WaveComponent component.
<?xml version="1.0" encoding="UTF-8"?>
<WaveComponent xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<content xsi:nil="true"/>
2035
WaveComponentMetadata Types
<application>dev__app</application>
<masterLabel>Component1</masterLabel>
<description>Component description</description>
</WaveComponent>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveDataflow
Represents the WaveDataflow object in the Analytics application. This type extends the MetadataWithContent metadata type and inherits
its content and fullName fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WaveDataflow components have the suffix .wdf and are stored in the wave folder.
Version
WaveDataflow components are available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
The name of the Analytics application the dataflow is connected to. This
field is available in API version 48.0 and later.
stringapplication
The type of the dataflow. Supported types are User and Prepared.
The default value is User This field is available in API version 41.0 and
later.
stringdataflowType
The dataflow description that appears in the user interface.stringdescription
Required. The dataflow name that appears in the user interface.stringmasterLabel
Declarative Metadata Sample Definition
The following is an example of a WaveDataflow component.
<?xml version="1.0" encoding="UTF-8"?>
<WaveDataflow xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <content xsi:nil="true"/>
2036
WaveDataflowMetadata Types
<description>flow1</description>
<masterLabel>flow1</masterLabel>
</WaveDataflow>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveDashboard
Represents the WaveDashboard object in the Analytics application. This type extends the MetadataWithContent metadata type and
inherits its content and fullName fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
When using Metadata API to work with Analytics dashboards, consider that:
Modifications to the .wdash component are unsupported.
Modifying or removing conditional formatting from the source org or .wdash component doesnt cause issues while deploying.
Removing steps from the .wdash component causes deployment to the destination org to fail because the source dashboard
fails validation.
File Suffix and Directory Location
WaveDashboard components have the suffix .wdash and are stored in the wave folder.
Version
WaveDashboard components are available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
Required. The internal name of the application.stringapplication
The date version for the dashboard. Only available in v55.0 and above.integerdateVersion
The dashboard description that appears in the user interface.stringdescription
Required. The dashboard name that appears in the user interface.stringmasterLabel
Links the dashboard to the template used to create it. Null for assets not
created from a template.
stringtemplateAssetSourceName
2037
WaveDashboardMetadata Types
Declarative Metadata Sample Definition
The following is an example of a WaveDashboard component.
<?xml version="1.0" encoding="UTF-8"?>
<WaveDashboard xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<content xsi:nil="true"/>
<application>dev__app</application>
<masterLabel>Dashboard1</masterLabel>
<description>somedesc</description>
</WaveDashboard>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveDataset
Represents the WaveDataset object in the Analytics application. This type extends the Metadata metadata type and inherits its fullName
field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WaveDataset components have the suffix .wds and are stored in the wave folder.
Version
WaveDataset components are available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
Required. The internal name of the application.stringapplication
The dataset description that appears in the user interface.stringdescription
Required. The user interface label name of the dataset.stringmasterLabel
Links the dataset to the template used to create it. Null for assets not
created from a template.
stringtemplateAssetSourceName
The type of the dataset. Dataset types include Default,
Live,StagedData, and Trended.
stringtype
2038
WaveDatasetMetadata Types
Declarative Metadata Sample Definition
The following is an example of a WaveDataset component.
<WaveDataset>
<application>SharedApp</application>
<description>description</description>
<masterLabel>datasetLabel</masterLabel>
<type>Default</type>
</WaveDataset>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveLens
Represents the WaveLens object in the Analytics application.
This type extends to MetadataWithContent metadata type and inherits its content and fullName fields.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WaveLens components have the suffix .wlens and are stored in the wave folder.
Version
WaveLens components are available in API version 37.0 and later.
Fields
DescriptionField TypeField Name
Required. The internal name of the application.stringapplication
A reference to the dataset used to create this lens.stringdatasets
The date version used for this lens.intdateVersion
The dashboard description that appears in the user interface.stringdescription
Required. The user interface label name of the dashboard.stringmasterLabel
Links the lens to the template used to create it. Null for assets not created
from a template.
stringtemplateAssetSourceName
2039
WaveLensMetadata Types
DescriptionField TypeField Name
Required. The visualization type to be used for this lens. Valid values are:stringvisualizationType
calheatmapCalendar heat map
comparisontableComparison table
heatmapHeat map
hbarHorizontal bar
hbarhdotHorizontal dot plot
matrixMatrix
parallelcoordsParallel coordinates
pieDonut
pivottablePivot table
scatterScatter plot
stackhbarStacked horizontal bar
stackvbarStacked vertical bar
timeTime line
valuestableValues table
vbarVertical bar
vdotVertical dot plot
Declarative Metadata Sample Definition
The following is an example of a WaveLens component.
<?xml version="1.0" encoding="UTF-8"?>
<WaveLens xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<content xsi:nil="true"/>
<application>dev__app</application>
<datasets>dev__abc</datasets>
<masterLabel>lens1</masterLabel>
<description>lens in shared app</description>
<visualizationType>hbar</visualizationType>
</WaveLens>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveRecipe
Represents the WaveRecipe type in an Analytics application. A recipe is a saved set of steps to perform on a specific source dataset or
connected data. This type extends the MetadataWithContent metadata type and inherits its content and fullName fields.
2040
WaveRecipeMetadata Types
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WaveRecipe components have the suffix .wdpr and are stored in the wave folder.
Version
WaveRecipe components are available in API version 41.0 and later.
Fields
DescriptionField TypeField Name
The internal name of the application.stringapplication
Required. The dataflow ID for the Analytics recipe.stringdataflow
The format of the current recipe definition. Valid values are:stringformat
R2 - recipes created with Data Prep
R3 - recipes created with Data Prep (API version 49.0)
Required. The recipe name that appears in the user interface.stringmasterLabel
A filter condition that defines row-level access to records in a recipe.stringsecurityPredicate
The name of the dataset the recipe saves data results into.stringtargetDatasetAlias
Links the recipe to the template used to create it. Null for assets not
created from a template.
stringtemplateAssetSourceName
Declarative Metadata Sample Definition
The following is an example of a WaveRecipe component.
<?xml version="1.0" encoding="UTF-8"?>
<WaveRecipe xmlns="http://soap.sforce.com/2006/04/metadata"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <content xsi:nil="true"/>
<dataflow>02KB0000000b5c7MAA</dataflow>
<format>R3</format>
<masterLabel>recipe1</masterLabel>
<securityPredicate>'UserId' == "$User.Id"</securityPredicate>
<targetDatasetAlias>Dataset One</targetDatasetAlias>
</WaveRecipe>
2041
WaveRecipeMetadata Types
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Note: Use of the wildcard character doesnt return the recipes associated dataflows.
WaveTemplateBundle
Represents an Analytics template bundle, which can be used to create Analytics apps. A bundle contains an Analytics template definition
and all its related resources.This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
An Analytics template bundle is a folder that contains definition files for a template. Unlike other metadata components, a
WaveTemplateBundle component isnt represented by a single component file, but instead by a collection of JSON and CSV definition
files. Each definition file represents a resource in a template, such as lenses, dashboards, dataflows, and comma-separated values. For
example, this directory structure shows the hierarchy of the folders and files for one Analytics Template definition, template1.
waveTemplates
template1
template-info.json
variables.json
ui.json
extFiles
PostalCodes.csv
Analytics template bundles must be under a top-level folder thats named waveTemplates. Each bundle must have its own subfolder
under the waveTemplates folder and be named with the template's fully qualified API name. The bundle folder must contain a
template-info.json file to specify the metadata about the template and the references to other definition files. An entire bundle doesnt
have a suffix and definition files can have one of the following suffixes.
Component TypeSuffix
JavaScript Object Notation.json
Comma-Separated Values.csv
Version
WaveTemplateBundle components are available in API version 35.0 and later.
Special Access Rules
Definitions can be created in both managed and unmanaged packages.
2042
WaveTemplateBundleMetadata Types
Fields
DescriptionField TypeField Name
The icon to use by default for new Analytics apps based on this template.
Valid values are 1.png through 20.png.
stringassetIcon
The specification of the template.stringdescription
Required. The label of the template.stringlabel
Required. The type of the template. Valid values are:stringtemplateType
App
Dashboard
Lens
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WaveXmd
Represents the WaveXmd object in the Analytics application. This type extends the Metadata metadata type and inherits its fullName
field.
File Suffix and Directory Location
WaveXmd components have the suffix .xmd and are stored in the wave folder.
Version
WaveXmd components are available in API version 39.0 and later.
Fields
DescriptionField TypeField Name
The name of the Analytics application the XMD is associated with.
Available in API version 43.0 and later.
stringapplication
Required. Specifies the dataset associated with this XMD.stringdataset
The name of the connector source for the dataset.stringdatasetConnector
Specifies the fully qualified name of the dataset version associated with
this XMD.
stringdatasetFullyQualifiedName
2043
WaveXmdMetadata Types
DescriptionField TypeField Name
List of dates, with formatting information.WaveXmdDatedates
List of dimensions, with formatting information.WaveXmdDimensiondimensions
List of measures, with formatting information.WaveXmdMeasuremeasures
List of organizations, for multi-organization support.WaveXmdOrganizationorganizations
The origin of the dataset version.stringorigin
The XMD type. Valid values are:stringtype
System
User
Main
Asset
Available in API version 43.0 and later.
The visualization behavior for Analytics assets. Valid values are:stringwaveVisualization
dashboard
lens
Available in API version 43.0 and later.
WaveXmdDate
WaveXmdDate represents a date.
DescriptionField TypeField
Required. Alias of the Date column.stringalias
Indicates whether the date is displayed in compact form (true)
or not (false).
booleancompact
The day field.stringdateFieldDay
The epoch day field.stringdateFieldEpochDay
The epoch second field.stringdateFieldEpochSecond
The fiscal month field.stringdateFieldFiscalMonth
The fiscal quarter field.stringdateFieldFiscalQuarter
The fiscal week field.stringdateFieldFiscalWeek
The fiscal year field.stringdateFieldFiscalYear
The full year field.stringdateFieldFullYear
The hour field.stringdateFieldHour
2044
WaveXmdMetadata Types
DescriptionField TypeField
The minute field.stringdateFieldMinute
The month field.stringdateFieldMonth
The quarter field.stringdateFieldQuarter
The second field.stringdateFieldSecond
The week field.stringdateFieldWeek
The year field.stringdateFieldYear
The description of the date column.stringdescription
Required. Represents the first day of the week.intfirstDayOfWeek
Required. Offset number of months for the fiscal year in relation
to the calendar year.
intfiscalMonthOffset
Indicates whether the year end is the fiscal year (true) or not
(false).
booleanisYearEndFiscalYear
The label of the date column.stringlabel
Indicates whether the date is displayed in the explorer (true)
or not (false).
booleanshowInExplorer
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
Required. The type of date. Valid values are:stringtype
DateA legacy date type. Available when the time zone
isnt enabled.
DateOnlyA date type without an associated time.
Available when the time zone is enabled.
DateTimeA date type that contains both date and time
parts. Available when the time zone is enabled.
WaveXmdDimension
WaveXmdDimension represents a dimension.
DescriptionField TypeField
The conditional formatting property for the dimension. Available
in API version 43.0 and later.
WaveXmdFormattingPropertyconditionalFormatting
Custom actions linked to this dimension.WaveXmdDimensionCustomActioncustomActions
Indicates whether the dimension has custom actions enabled
(true) or not (false).
booleancustomActionsEnabled
2045
WaveXmdMetadata Types
DescriptionField TypeField
The format used for a date that is a dimension.stringdateFormat
The default action assigned to a dimension. An action for a
dimension can be openSfdcRecord,
stringdefaultAction
openActionsMenu, none, or a valid API name with dot
notation like Global.LogACall or FeedItem.Post.
The description of the dimension.stringdescription
Required. The field name of the dimension (used in queries).stringfield
The fully qualified name of the dimension.stringfullyQualifiedName
The image template.stringimageTemplate
Required. Indicates whether the dimension is derived (true)
or not (false).
booleanisDerived
Indicates whether the dimension is multi-value (true) or not
(false).
booleanisMultiValue
The label for the dimension.stringlabel
The template for formatting a link.stringlinkTemplate
Indicates whether the dimension has link templates enabled
(true) or not (false).
booleanlinkTemplateEnabled
The tooltip to be displayed for links.stringlinkTooltip
The member overrides for a dimension.WaveXmdDimensionMembermembers
The origin of this dimension.stringorigin
Ordered list of dimensions. The list defines the default order in
which to display the dimensions in the user interface.
WaveXmdRecordDisplayLookuprecordDisplayFields
The record ID for this dimension.stringrecordIdField
The record organization ID for this dimension.stringrecordOrganizationIdField
Salesforce actions linked to this dimension.WaveXmdDimensionSalesforceActionsalesforceActions
Indicates whether the dimension has Salesforce actions enabled
(true) or not (false).
booleansalesforceActionsEnabled
Default order in which to show the dimensions in the user
interface.
intshowDetailsDefaultFieldIndex
Indicates whether the dimension is displayed in the explorer
(true) or not (false).
booleanshowInExplorer
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
2046
WaveXmdMetadata Types
WaveXmdFormattingProperty
WaveXmdFormattingProperty represents an XMD formatting property for conditional formatting.
DescriptionField TypeField
The formatting bins for this property.WaveXmdFormattingBinformattingBins
The formatting predicates for this property.WaveXmdFormattingPredicateformattingPredicates
Required. The property name.stringproperty
Required. The reference field for this property.stringreferenceField
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
Required. The property type.stringtype
WaveXmdFormattingBin
WaveXmdFormatttingBin represents an XMD formatting bin for conditional formatting.
DescriptionField TypeField
Required. The formatting bin.stringbin
Required. The format value for the bin.stringformatValue
Required. The label for the bin.stringlabel
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
WaveXmdFormattingPredicate
WaveXmdFormattingPredicate represents an XMD formatting predicate for conditional formatting.
DescriptionField TypeField
Required. The format value for the predicate.stringformatValue
Required. The operator for the predicate.stringoperator
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
Required. The value for the predicate.stringvalue
WaveXmdDimensionCustomAction
WaveXmdDimensionCustomAction represents a custom action in a dimension.
2047
WaveXmdMetadata Types
DescriptionField TypeField
Required. The name of this custom action.stringcustomActionName
Required. Indicates whether the action is enabled for a specific
dimension (true) or not (false).
booleanenabled
The icon for the action.stringicon
The method for the action.stringmethod
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
The target for the action.stringtarget
The tooltip for the action.stringtooltip
The URL for the action.stringurl
WaveXmdDimensionMember
WaveXmdDimensionMember represents a dimension.
DescriptionField TypeField
The color for the member.stringcolor
The label for the member.stringlabel
Required. The member value.stringmember
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
WaveXmdRecordDisplayLookup
WaveXmdDimensionRecordDisplayLookup represents a record display field.
DescriptionField TypeField
Required. The field to display.stringrecordDisplayField
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
WaveXmdDimensionSalesforceAction
WaveXmdDimensionSalesforceAction represents an action in a dimension.
2048
WaveXmdMetadata Types
DescriptionField TypeField
Required. Indicates whether the action is enabled for a specific
dimension (true) or not (false).
booleanenabled
Required. The name of the action.stringsalesforceActionName
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
WaveXmdMeasure
WaveXmdMeasure represents a measure.
DescriptionField TypeField
The conditional formatting for the measure. Available in API
version 43.0 and later.
WaveXmdFormattingPropertyconditionalFormatting
The list of currency formats for multiple currencies. Use this field
to set the format for each currency used in the dataset.
WaveXmdMeasure[]currencies
The default currency code for the dataset.StringcurrencyCode
The format used for a date that is a measure.stringdateFormat
The description of the measure.stringdescription
Required. The field name of the measure (used in queries).stringfield
The original (XMD 1.1) format array as a single string.stringformatCustomFormat
The number of digits displayed after the decimal place.intformatDecimalDigits
The custom separator for the decimal place. Available in API
version 48.0 and later.
stringformatDecimalSeparator
Indicates whether to display negative numbers with parentheses,
rather than a minus sign (true) or not (false).
booleanformatIsNegativeParens
The prefix placed before the field value.stringformatPrefix
The suffix placed after the field value.stringformatSuffix
The custom separator for the thousands place. Available in API
version 48.0 and later.
stringformatThousandsSeparator
The unit string for the measure. For example, 'cm'.stringformatUnit
The multiplier for the unit.doubleformatUnitMultiplier
The fully qualified name of the measure.stringfullyQualifiedName
Required. Indicates whether the measure is derived (true) or
not (false).
booleanisDerived
2049
WaveXmdMetadata Types
DescriptionField TypeField
Indicates whether multiple currencies are available for this
dataset (true) or not (false).
booleanisMultiCurrency
The label for the measure.stringlabel
The origin of the measure.stringorigin
Default order in which to show the measures in the user
interface.
intshowDetailsDefaultFieldIndex
Indicates whether the measure is displayed in the explorer
(true) or not (false).
booleanshowInExplorer
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
WaveXmdOrganization
WaveXmdOrganization represents a Salesforce organization.
DescriptionField TypeField
Required. The instance URL for the organization.stringinstanceUrl
Required. The label for the organization.stringlabel
Required. The ID of the organization.stringorganizationIdentifier
Required. The index value the system assigns to indicate where
the item appears in a list.
intsortIndex
Declarative Metadata Sample Definition
The following is an example of a WaveXmd component for an Asset XMD belonging to a dashboard.
<WaveXmd>
<dataset xsi:nil="true"/>
<dimesions>
<conditionalFormatting>
<formattingBins>
<bin>*</bin>
<formatValue>#FFFFFF</formatValue>
<label xsi:nil="true"/>
<sortIndex>0</sortIndex>
</formattingBins>
<formattingBins>
<bin>0</bin>
<formatValue>#000000</formatValue>
<label xsi:nil="true"/>
<sortIndex>1</sortIndex>
</formattingBins>
2050
WaveXmdMetadata Types
<property>chartColor</property>
<referenceField>count</referenceField>
<sortIndex xsi:nil="true"/>
<type>multiple</type>
</conditionalFormatting>
<field>all_1.ALL</field>
<isDerived>false</isDerived>
<sortIndex>0</sortIndex>
</dimensions>
<measures>
<conditionalFormatting>
<formattingBins>
<bin>*</bin>
<formatValue>#FFFFFF</formatValue>
<label xsi:nil="true"/>
<sortIndex>0</sortIndex>
</formattingBins>
<formattingBins>
<bin>0</bin>
<formatValue>#000000</formatValue>
<label xsi:nil="true"/>
<sortIndex>1</sortIndex>
</formattingBins>
<property>chartColor</property>
<referenceField>count</referenceField>
<sortIndex xsi:nil="true"/>
<type>multiple</type>
</conditionalFormatting>
<field>all_1.count</field>
<formatCustomFormat>[&quot;#,###.##%&quot;,1]</formatCustomFormat>
<isDerived>false</isDerived>
<sortIndex>0</sortIndex>
</measures>
<type>Asset</type>
<waveVisualization>dashboard</waveVisualization>
</WaveXmd>
WebStoreBundle
Represents the configuration of a webstore.
Parent Type
This type extends the Metadata metadata type and inherits its fullName field.
File Suffix and Directory Location
WebStoreBundle components have the suffix Webstore and are stored in the .webStoreBundle folder.
2051
WebStoreBundleMetadata Types
Version
WebStoreBundle components are available in API version 49.0 and later.
Special Access Rules
A B2B Commerce or D2C Commerce license and access to Commerce objects is required.
Fields
DescriptionField Name
Field Type
boolean
autoFacetingEnabled
Description
Indicates whether auto faceting is enabled (true) or not (false). If enabled (True),
the most relevant search facets are automatically returned, in addition to the configured
search facets, in the product search results. If disabled (False), only the configured
search facets are returned. The default is False.See Add Product Search Filters
(Facets).for more information. This field is available in API version 50.0 or later.
Field Type
boolean
cartToOrderAutoCustomFieldMapping
Description
Indicates whether custom field mapping for cart and order objects is enabled (True)
or not (False). The default value is True. This field is available in API version 57.0
or later.
Field Type
boolean
commerceEinsteinActivitiesTracked
Description
Indicates whether Commerce Einstein activities tracking is enabled (true) or not
(false).
Field Type
boolean
commerceEinsteinDeployed
Description
Indicates whether Commerce Einstein is deployed (true) or not (false).
Field Type
CountryIsoCode (enumeration of type string)
country
Description
Two-digit ISO code of the store's country. Purchases can be shipped only to the country
assigned to the store. Valid for only D2C stores. This field is available in API version 56.0
and later.
2052
WebStoreBundleMetadata Types
DescriptionField Name
Field Type
string
defaultCurrency
Description
The stores default currency setting for new records.
Field Type
string
defaultLanguage
Description
Required. The stores default language setting for new records.
Field Type
TaxLocaleType (enumeration of type string)
defaultTaxLocaleType
Description
Required. The default tax type for the store.
Possible values are:
Automatic
Gross
Net
Field Type
string
description
Description
Description of the store.
Field Type
boolean
guestBrowsingEnabled
Description
Indicates whether guest browsing is enabled (true) or not (false).
Field Type
int
guestCartTimeToLive
Description
Amount of time in minutes that a guest cart stays active and doesnt expire. This field
is available in API version 52.0 and later.
Field Type
string
label
Description
Required. The stores label.
2053
WebStoreBundleMetadata Types
DescriptionField Name
Field Type
OrderLifeCycleType (enumeration of type string)
orderLifeCycleType
Description
The order life cycle type. Possible values are:
MANAGED
UNMANAGED
This field is available in API version 55.0 and later.
Field Type
PricingStrategy (enumeration of type string)
pricingStrategy
Description
Required. The price selected to display to buyers. Possible values are:
LowestPrice
Priority
The default value is LowestPrice.
Field Type
ProductGrouping (enumeration of type string)
productGrouping
Description
Determines whether product variations are listed individually in search results or are
represented by the parent product, which links to its children.
Possible values are:
NoGroupingVariations are listed individually in search results.
VariationParentThe parent product is returned in search results with a
link to its children.
The default value is VariationParent. This field is available in API version 52.0
and later.
Field Type
boolean
skipAdditionalEntitlementCheckForSearch
Description
By default, user entitlement checks are run as part of a search index rebuild and again
when product search results are returned. Skips the second check to promote faster
search performance. Set the option to True to skip additional entitlement checks on
a search. This field is available in API version 52.0 and later.
Field Type
boolean
skuDetectionEnabled
Description
Indicates whether SKU detection is enabled (true) or not (false).
2054
WebStoreBundleMetadata Types
DescriptionField Name
Field Type
string
storeName
Description
Name of the store.
Field Type
string
supportedCurrencies
Description
Currencies supported by the store.
Field Type
string
supportedLanguages
Description
Required. Languages supported by the store.
Field Type
string
supportedShipToCountries
Description
Countries that the store can ship to.
Field Type
WebStoreType (enumeration of type string)
type
Description
Required. The type of store configuration, B2C, B2B, or B2CE. Default is B2B.
Declarative Metadata Sample Definition
The following is an example of a WebStoreBundle component.
<?xml version="1.0" encoding="UTF-8"?>
<WebStoreBundle xmlns="http://soap.sforce.com/2006/04/metadata">
<autoFacetingEnabled>false</autoFacetingEnabled>
<commerceEinsteinActivitiesTracked>false</commerceEinsteinActivitiesTracked>
<commerceEinsteinDeployed>false</commerceEinsteinDeployed>
<defaultTaxLocaleType>Net</defaultTaxLocaleType>
<guestBrowsingEnabled>true</guestBrowsingEnabled>
<pricingStrategy>Priority</pricingStrategy>
<skipAdditionalEntitlementCheckForSearch>true</skipAdditionalEntitlementCheckForSearch>
<skuDetectionEnabled>false</skuDetectionEnabled>
<type>B2B</type>
<cartToOrderAutoCustomFieldMapping>true</cartToOrderAutoCustomFieldMapping>
<country>US</country>
<description>WebStore description</description>
<guestCartTimeToLive>10</guestCartTimeToLive>
2055
WebStoreBundleMetadata Types
<orderLifeCycleType>MANAGED</orderLifeCycleType>
<productGrouping>VariationParent</productGrouping>
<supportedCurrencies>USD</supportedCurrencies>
<supportedShipToCountries>CA;US</supportedShipToCountries>
<label>WebStore</label>
<supportedLanguages>en_US</supportedLanguages>
<defaultLanguage>en_US</defaultLanguage>
<defaultCurrency>000</defaultCurrency>
<storeName>WebStore</storeName>
</WebStoreBundle>
The following is an example package.xml that references the previous definition.
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<name>WebStoreBundle</name>
<members>WebStore</members>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
WebStoreTemplate
Represents a configuration for creating commerce stores.
This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WebStoreTemplate components have the suffix .webstoretemplate and are stored in the webstoretemplate folder.
Version
WebStoreTemplate components are available in API version 49.0 and later.
Special Access Rules
A B2B Commerce or D2C Commerce license and access to Commerce objects is required.
2056
WebStoreTemplateMetadata Types
Fields
DescriptionField TypeField Name
Indicates whether auto faceting is enabled (true) or not (false). If
enabled (True), the most relevant search facets are automatically
booleanautoFacetingEnabled
returned, in addition to the configured search facets, in the product
search results. If disabled (False), only the configured search facets are
returned. The default is False. See Add Product Search Filters (Facets)
for more information. This field is available in API version 50.0 or later.
Indicates whether add-to-cart requests are processed asynchronously
(True) or not (False). The default value is True. This field is available
in API version 59.0 or later.
booleancartAsyncProcessingEnabled
Indicates whether the cart calculate extension is enabled (True) or not
(False). The default value is False. This field is available in API version
59.0 or later.
booleancartCalculateEnabled
Indicates whether custom field mapping for cart and order objects is
enabled (True) or not (False). The default value is True. This field
is available in API version 57.0 or later.
booleancartToOrderAutoCustomFieldMapping
Amount of time in minutes that a checkout stays active and doesnt
expire. This field is available in API version 52.0 and later.
intcheckoutTimeToLive
A timestamp in the default server timezone (GMT). All checkouts that
start before this date are considered expired. This field is available in API
version 52.0 and later.
dateTimecheckoutValidAfterDate
Indicates whether Commerce Einstein activities tracking is enabled
(true) or not (false).
booleancommerceEinsteinActivitiesTracked
Indicates whether Commerce Einstein is deployed (true) or not
(false).
booleancommerceEinsteinDeployed
Two-digit ISO code of the store's country. Purchases can be shipped only
to the country assigned to the store. Valid for only D2C stores. This field
is available in API version 56.0 and later.
stringcountry
The templates default currency setting for new records.stringdefaultCurrency
Required. The templates default language setting for new records.stringdefaultLanguage
Required. The templates default tax type for your webstore. Possible
values include:
TaxLocaleType
(enumeration of
type string)
defaultTaxLocaleType
Automatic
Gross
Net
The description of the template.stringdescription
2057
WebStoreTemplateMetadata Types
DescriptionField TypeField Name
Indicates whether a cart can include multiple items with the same
product ID (True) or not (False). The default value is False. This
field is available in API version 59.0 or later.
booleanduplicateCartItemsEnabled
Indicates whether guest browsing is enabled for this store. Set the option
to True to allow guest buyers access to products in the store.
booleanguestBrowsingEnabled
Required. Indicates whether guest cart access is enabled for a store
created with an LWR template. Set the option to True to allow guest
buyers access to products in the store.
This field is available in API version 58.0 and later.
booleanguestCartEnabled
Required. Indicates whether guest checkout access is enabled for a store
created with an LWR template. Set the option to True to allow guest
buyers access to products in the store.
This field is available in API version 58.0 and later.
booleanguestCheckoutEnabled
Required. The original (untranslated) name of a label. Each translated
label is paired with its original untranslated version.
stringmasterLabel
Maximum number of values that can be added to a facet.intmaxValuesPerFacet
Status of the order. Possible values include:stringorderActivationStatus
Activated
Draft
This field is available in API version 55.0 and later.
The order life cycle type. Possible values include:OrderLifeCycleType
(enumeration of
type string)
orderLifeCycleType
MANAGED
UNMANAGED
This field is available in API version 55.0 and later.
Number of results displayed per search results page.intpaginationSize
Required. Indicates whether cart contents are preserved when a guest
logs in to the store. Set the option to True to preserve guest carts.
This field is available in API version 60.0 and later.
booleanpreserveGuestCartEnabled
Required. The price selected to display to buyers. Possible values include:PricingStrategy
(enumeration of
type string)
pricingStrategy
LowestPrice
Priority
The default value is LowestPrice.
Determines whether product variations are listed individually in search
results or are represented by the parent product, which links to its
children. Possible values are:
ProductGrouping
(enumeration of
type string)
productGrouping
NoGroupingVariations are listed individually in search results.
2058
WebStoreTemplateMetadata Types
DescriptionField TypeField Name
VariationParentThe parent product is returned in search
results with a link to its children.
The default value is VariationParent. This field is available in API
version 52.0 and later.
By default, user entitlement checks are run as part of a search index
rebuild and again when product search results are returned. Skips the
booleanskipAdditionalEntitlementCheckForSearch
second check to promote faster search performance. Set the option to
True to skip additional entitlement checks on a search. This field is
available in API version 52.0 and later.
Indicates whether SKU detection is enabled (true) or not (false).booleanskuDetectionEnabled
Required. Indicates whether split shipments are enabled (true) or not
(false).
booleansplitShipmentEnabled
Currencies supported for store template.stringsupportedCurrencies
Required. Languages supported for store template.stringsupportedLanguages
Countries that a store created from the template can ship to.stringsupportedShipToCountries
Required. The type of store configuration, B2C, B2B, or B2CE. Default
is B2B.
WebStoreType
(enumeration of
type string)
type
Declarative Metadata Sample Definition
The following is an example of a web store template component.
<?xml version="1.0" encoding="UTF-8"?>
<WebStoreTemplate xmlns="http://soap.sforce.com/2006/04/metadata">
<autoFacetingEnabled>true</autoFacetingEnabled>
<cartAsyncProcessingEnabled>true</cartAsyncProcessingEnabled>
<cartCalculateEnabled>false</cartCalculateEnabled>
<cartToOrderAutoCustomFieldMapping>true</cartToOrderAutoCustomFieldMapping>
<checkoutTimeToLive>10</checkoutTimeToLive>
<checkoutValidAfterDate>2020-08-10T09:26:50</checkoutValidAfterDate>
<commerceEinsteinActivitiesTracked>false</commerceEinsteinActivitiesTracked>
<commerceEinsteinDeployed>false</commerceEinsteinDeployed>
<country>US</country>
<defaultCurrency>USD</defaultCurrency>
<defaultLanguage>ENGLISH</defaultLanguage>
<defaultTaxLocaleType>Net</defaultTaxLocaleType>
<description>WebStore description</description>
<duplicateCartItemsEnabled>false</duplicateCartItemsEnabled>
<guestBrowsingEnabled>true</guestBrowsingEnabled>
<guestCartEnabled>false</guestCartEnabled>
<guestCartTimeToLive>10</guestCartTimeToLive>
<guestCheckoutEnabled>false</guestCheckoutEnabled>
<masterLabel>WebStore</masterLabel>
2059
WebStoreTemplateMetadata Types
<maxValuesPerFacet>99</maxValuesPerFacet>
<orderActivationStatus>Activated</orderActivationStatus>
<orderLifeCycleType>MANAGED</orderLifeCycleType>
<paginationSize>9</paginationSize>
<preserveGuestCartEnabled>false</preserveGuestCartEnabled>
<pricingStrategy>Priority</pricingStrategy>
<productGrouping>VariationParent</productGrouping>
<skipAdditionalEntitlementCheckForSearch>true</skipAdditionalEntitlementCheckForSearch>
<skuDetectionEnabled>false</skuDetectionEnabled>
<supportedCurrencies>USD</supportedCurrencies>
<supportedLanguages>en_us</supportedLanguages>
<supportedShipToCountries>CA;US</supportedShipToCountries>
<splitShipmentEnabled>false</splitShipmentEnabled>
<type>B2B</type>
</WebStoreTemplate>
The following is an example package.xml that references the previous definition.
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>WebStoreTemplate</name>
</types>
<version>60.0</version>
</Package>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
Workflow
Represents the metadata associated with a workflow rule. A workflow rule sets workflow actions into motion when its designated
conditions are met. You can configure workflow actions to execute immediately when a record meets the conditions in your workflow
rule, or set time triggers that execute the workflow actions on a specific day. Use this metadata type to create, update, or delete workflow
rule definitions.
For more information, see Workflow in Salesforce Help. This type extends the Metadata metadata type and inherits its fullName field.
When using a manifest file, retrieve all workflow components using this code.
<types>
<members>*</members>
<name>Workflow</name>
</types>
2060
WorkflowMetadata Types
Declarative Metadata File Suffix and Directory Location
Workflow files have the suffix .workflow. Theres one file per standard or custom object that has workflow. These files are stored in
the workflows directory of the corresponding package.
Version
Workflow rules are available in API version 13.0 and later.
Workflow
This metadata type represents the valid types of workflow rules and actions associated with a standard or custom object.
DescriptionField TypeField Name
An array of all alerts for the object associated with the workflow.WorkflowAlert[]alerts
An array of all field updates for the object associated with the
workflow.
WorkflowFieldUpdate[]fieldUpdates
An array of flow triggers for the object associated with the
workflow. Available in API version 30.0 and later.
The pilot program for flow trigger workflow actions is closed. If
you already enabled the pilot in your org, you can continue to
WorkflowFlowAction[]flowActions
create and edit flow trigger workflow actions. If you didnt enable
the pilot, use Flow Builder to create a record-triggered flow, or
use Process Builder to launch a flow from a process.
The developer name used as a unique identifier for API access.
The fullName can contain only underscores and
stringfullName
alphanumeric characters. It must be unique, begin with a letter,
not include spaces, not end with an underscore, and not contain
two consecutive underscores. This field is inherited from the
Metadata component.
An array of Salesforce Knowledge Workflow Publishes associated
with the workflow. Available in API version 27.0 and later.
WorkflowKnowledgePublish[]knowledgePublishes
An array of all the outbound messages for the object associated
with the workflow.
WorkflowOutboundMessage[]outboundMessages
An array of all the objects associated with the workflow.WorkflowRule[]rules
An array of all the tasks for the object associated with the
workflow.
WorkflowTask[]tasks
WorkflowActionReference
WorkflowActionReference represents one of the workflow actions.
2061
WorkflowMetadata Types
DescriptionField TypeField Name
Required. The name of the workflow action.stringname
Required. Available types of workflow actions:WorkflowActionType
(enumeration of type string)
type
Alert
FieldUpdate
FlowActionAvailable in API version 30.0 and later
OutboundMessage
Task
The pilot program for flow trigger workflow actions is closed. If you
already enabled the pilot in your org, you can continue to create
and edit flow trigger workflow actions. If you didn't enable the pilot,
use Flow Builder to create a record-triggered flow, or use Process
Builder to launch a flow from a process.
WorkflowAlert
WorkflowAlert represents an email alert associated with a workflow rule.
DescriptionField TypeField Name
Additional email addresses. This field is similar to the CC field
in email clients.
For the email to be sent successfully, set a value for
ccEmails or recipients. You can set values for both
string[]ccEmails
fields. The value of ccEmails can include up to 5 different
email addresses.
Required. A description of the email alert. Available in API
version 16.0 and later.
stringdescription
Required. The developer name used as a unique identifier for
API access. The fullName can contain only underscores
stringfullName
and alphanumeric characters. It must be unique, begin with
a letter, not include spaces, not end with an underscore, and
not contain two consecutive underscores. This field is inherited
from the Metadata component.
Required. Indicates whether this component is protected
(true) or not (false). Protected components cant be linked
booleanprotected
to or referenced by components created in the installing
organization.
The recipients for the email.
For the email to be sent successfully, set a value for
ccEmails or recipients. You can set values for both
fields.
WorkflowEmailRecipient[]recipients
2062
WorkflowMetadata Types
DescriptionField TypeField Name
The address in the From field for the email alert. With this
address, you can use a standard global email address for your
stringsenderAddress
organization, such as [email protected], instead
of the default From field, which is the email address of the
person who updates the record. You can only specify a value
in this field if the senderType is set to
OrgWideEmailAddress. See Organization-Wide Email
Addresses in Salesforce Help.
The email used as the senders From and Reply-To addresses.
These values are valid.
ActionEmailSenderType
(enumeration of type string)
senderType
CurrentUserThe email address of the person
updating the record. This value is the default setting.
DefaultWorkflowUserThe email address of the
default workflow user. If the email alert is installed from a
package, this field value is changed to CurrentUser.
OrgWideEmailAddressA verified global email
address for your organization, such as
Required. Named reference to an EmailTemplate. This email
template isnt required to exist in the zip file, but it must exist
in Metadata API.
Lightning email templates arent packageable. We recommend
using a Classic email template.
stringtemplate
WorkflowEmailRecipient
WorkflowEmailRecipient represents a recipient for an email alert associated with a workflow rule.
DescriptionField TypeField Name
Name of the field referenced in type. The field named is of
the type specified in type.
stringfield
The recipients for the email. Depending on the type selected,
this field is required.
stringrecipient
Named reference to an EmailTemplate component. Valid values
are:
ActionEmailRecipientTypes
(enumeration of type string)
type
accountOwnerThe email is sent to the records
account owner. For example, the Account owner for an
Opportunity.
accountTeamOnly applicable on the Account object.
The email is sent to everyone on that Accounts account
team.
2063
WorkflowMetadata Types
DescriptionField TypeField Name
campaignMemberDerivedOwnerEmails are sent
to lead and contact owners when contacts are added to a
campaign or in response to a campaign.
contactLookupThe email is sent to a contact whose
value is looked up from a field on the record. For this value,
the field field must reference a Contact.
creatorThe email is sent to the records creator.
customerPortalOwnerThe email is sent to a
specific self-service portal user. For this value, the recipient
field must reference a self-service portal user by their
username.
emailThe email is sent to an email address whose value
is looked up from a field on the record. For this value, the
field field must reference an email field.
groupThe email is sent to all users in a group. For this
value, the recipient field must reference a group by group
name.
opportunityTeamOnly applicable on the
Opportunity object. The email is sent to everyone on that
Opportunitys opportunity team.
ownerThe email is sent to the records owner.
partnerUserThe email is sent to a specific partner
user. For this value, the recipient field must reference a
partner user by username.
portalRole - Like role, but for portal roles only.
portalRoleSubordinates - Like
roleSubordinates, but for portal roles only.
roleThe email is sent to all users in a role. For this value,
the recipient field must reference a role name in the role
hierarchy.
roleSubordinatesThe email is sent to all users in
a role subordinate. For this value, the recipient field must
reference a role.
roleSubordinatesInternalLike
roleSubordinates, but for internal portal roles only.
userThe email is sent to a specific user. For this value,
the recipient field must reference a user by username.
userLookupThe email is sent to a user whose value
is looked up from a field on the record. For this value, the
field field must reference a user foreign key field.
2064
WorkflowMetadata Types
WorkflowFieldUpdate
WorkflowFieldUpdate represents a workflow field update. With field updates, you can automatically update a field value to one that you
specify when a workflow rule is triggered.
DescriptionField TypeField Name
The description of the field update. This information is useful to
track the reasoning for initially configuring the field update.
stringdescription
Required. The field on the object for the workflow to be updated.stringfield
If the operation field value is Formula, the formula used
to compute the new field value.
stringformula
Required. The developer name used as a unique identifier for API
access. The fullName can contain only underscores and
stringfullName
alphanumeric characters. It must be unique, begin with a letter,
not include spaces, not end with an underscore, and not contain
two consecutive underscores. This field is inherited from the
Metadata component.
If the operation field value is Literal, the literal value for
the field.
stringliteralValue
If the operation field value is lookupValue, the lookup
value that is referenced.
stringlookupValue
The type of object that the lookupValue field value is
referencing. The valid values are:
LookupValueType
(enumeration of type string)
lookupValueType
Queue
RecordType
User
Required. A name for the component. Available in version API
16.0 and later.
stringname
Required. Notify the assignee when the field is updated.booleannotifyAssignee
Required. The operation that computes the value with which to
update the field. Valid values are:
FieldUpdateOperation
(enumeration of type string)
operation
FormulaIndicates the field is set to a formula. If set, the
formula must be a valid formula.
LiteralIndicates the field is set to a literal value. If set,
the literalValue must be a valid literal value for this field.
LookupValueSimilar to Literal, but for an object
reference, such as a contact, user, or account. If set, the
lookupValue element must be set. Only User is supported
in the current API.
NextValueIndicates that the field will be set to its next
value. Only allowed when the field update references a picklist.
2065
WorkflowMetadata Types
DescriptionField TypeField Name
NullIndicates that the field is set to null.
PreviousValueIndicates that the field is set to its
previous value. Only allowed when the field update references
a picklist.
Required. Indicates whether this component is protected (true)
or not (false). Protected components cant be linked to or
referenced by components created in the installing organization.
booleanprotected
When set to true, if the field update changes the fields value,
all workflow rules on the associated object are reevaluated. Any
booleanreevaluateOnChange
workflow rules whose criteria are met as a result of the field value
change are triggered.
If any of the triggered workflow rules result in another field update
thats also enabled for workflow rule reevaluation, a domino effect
occurs, and more workflow rules can be reevaluated as a result of
the newly triggered field update. This cascade of workflow rule
reevaluation and triggering can happen up to 5 times after the
initial field update that started it.
Object set if the change is detected on a child record. If set, the
object points to the foreign key reference on the child object that
stringtargetObject
points to the parent. For example, if EmailMessage child
record is changed, EmailMessage.ParentId points to
the Case parent. This field is named sourceField before
version 14.0. The field name change is automatically handled
between versions and doesnt require any manual editing of
existing XML component files.
WorkflowFlowAction
Represents a flow trigger, which is a workflow action that launches a flow. Available in API version 30.0 and later. For more information,
see these topics in Salesforce Help.
Define a Flow Trigger for Workflow (Pilot)
Flow Trigger Considerations (Pilot)
Note:
The pilot program for flow trigger workflow actions is closed. If you already enabled the pilot in your org, you can continue to
create and edit flow trigger workflow actions. If you didnt enable the pilot, use Flow Builder to create a record-triggered flow,
or use Process Builder to launch a flow from a process.
Test mode for flow triggers isnt supported in the Metadata API. If you want a flow trigger to run the latest flow version when
an administrator causes the workflow rule to fire, enable test mode via the user interface after deployment.
DescriptionField TypeField Name
Describes the flow trigger.stringdescription
2066
WorkflowMetadata Types
DescriptionField TypeField Name
Required. API name of the flow that this workflow action launches.stringflow
An array of values to pass into flow variables when launching the
flow.
WorkflowFlowActionParameter[]flowInputs
Required. Name of the flow trigger.stringlabel
Reserved for future use.stringlanguage
Reserved for future use.booleanprotected
WorkflowFlowActionParameter
Represents a value specified in the flow trigger that is passed into a variable when launching the flow.
Note: The pilot program for flow trigger workflow actions is closed. If you already enabled the pilot in your org, you can continue
to create and edit flow trigger workflow actions. If you didnt enable the pilot, use Flow Builder to create a record-triggered flow,
or use Process Builder to launch a flow from a process.
DescriptionField TypeField Name
Required. API name of the flow variable.
The flow variable must have isInput set to True.
stringname
Required. Value to assign to the flow variable when launching the flow.
If the variable's data type is sObject, value must be a merge field that identifies a recordor a
lookup relationship field that references a recordof the same object type as the variable. For example:
stringvalue
{!this}Identifies the record that fired the workflow rule.
{!Contact}Identifies the contact associated with the record that fired the workflow rule.
{!Asset.Account}Identifies the account associated with the asset that is associated with
the record that fired the workflow rule.
{!SomeObject__r}Uses a lookup relationship field to identify a custom object record
associated with the record that fired the workflow rule.
For variables of other data types, you can enter a merge field or a literal value. Manually enter a literal
value when the variable requires the same value every time the flow is launched, regardless of which
record fired the workflow rule. For example, you can enter true or false for a variable of type
Boolean.
Supported merge fields identify a global variable or a field of the same data type as the flow variable.
For example:
{!Id}ID of the record that fired the workflow rule.
{!Account.Owner.Email}Email address of the account owner for the account associated
with the record that fired the workflow rule.
{!$Organization.Country}Country of the organization.
2067
WorkflowMetadata Types
WorkflowKnowledgePublish
WorkflowKnowledgePublish represents Salesforce Knowledge article publishing actions and information. Available in API version 27.0
and later.
DescriptionField TypeField Name
Required. The article publishing actions available when
this rule fires. Valid values are:
KnowledgeWorkflowAction
(enumeration of type string)
action
PublishAsNewPublishes the article as a new
article.
PublishPublishes the article as a version of a
previously published article.
A brief article description.stringdescription
Required. Label that represents the article throughout the
Salesforce user interface.
stringlabel
The language of the article.stringlanguage
Required. Indicates whether this component is protected
(true) or not (false). Protected components cant be
booleanprotected
linked to or referenced by components created in the
installing organization.
WorkflowOutboundMessage
WorkflowOutboundMessage represents an outbound message associated with a workflow rule. Outbound messages are workflow and
approval actions that send the information you specify to an endpoint you designate, such as an external service. An outbound message
sends the data in the specified fields in the form of a SOAP message to the endpoint. For more information, see Outbound Message
Actions in Salesforce Help.
DescriptionField TypeField Name
Required. The API version of the outbound message. Automatically set
to the current API version when the outbound message is created. Valid
API versions for outbound messages are 8.0 and 18.0 or later.
This API version is used in API calls back to Salesforce using the enterprise
or partner WSDLs. The API Version can only be modified by using
doubleapiVersion
Metadata API. It cant be modified using the Salesforce user interface.
This field is available in API version 18.0 and later.
If you change the apiVersion to a version that doesnt support one
of the fields configured for the outbound message, the messages
fail until you update your outbound message listener to consume the
updated WSDL.
2068
WorkflowMetadata Types
DescriptionField TypeField Name
To monitor the status of outbound messages, from Setup, in the Quick
Find box, enter Outbound Messages, and then select Outbound
Messages inSalesforce.
Describes the outbound message.stringdescription
Required. The endpoint URL to which the outbound message is sent.stringendpointUrl
The named references to the fields to be sent.string[]fields
Required. The developer name used as a unique identifier for API access.
The fullName can contain only underscores and alphanumeric
stringfullName
characters. It must be unique, begin with a letter, not include spaces, not
end with an underscore, and not contain two consecutive underscores.
This field is inherited from the Metadata component.
Required. Set if you want the Salesforce session ID included in the
outbound message. Useful if you intend to make API calls and you dont
want to include a username and password.
booleanincludeSessionId
Required. The named reference to the user under which this message is
sent.
stringintegrationUser
Required. A name for the component. Available in version API 16.0 and
later.
stringname
Required. Indicates whether this component is protected (true) or not
(false). Protected components cant be linked to or referenced by
components created in the installing organization.
booleanprotected
This field is only available for organizations with dead letter queue
permissions turned on. If set, this outbound message uses the dead letter
queue if normal delivery fails.
booleanuseDeadLetterQueue
WorkflowRule
This metadata type represents a workflow rule. This type extends the Metadata metadata type and inherits its fullName field.
DescriptionField TypeField Name
An array of references for the actions that
happen when this rule fires.
WorkflowActionReference[]actions
Required. Determines if this rule is active.booleanactive
For advanced criteria filter, the boolean
formula. For example, (1 AND 2) OR
3.
stringbooleanFilter
An array of the boolean criteria (conditions)
under which this rule fires. Either
FilterItem[]criteriaItems
2069
WorkflowMetadata Types
DescriptionField TypeField Name
criteriaItems or formula must
be set.
The description of the workflow rule.stringdescription
The API version in which a migration fails.
Used as a reference to admins to retry the
stringfailedMigrationToolVersion
migration when the next version is
released.
Available in API version 54.0 and later.
The formula condition under which this
rule first must be set, either formula or
criteriaItems.
stringformula
The developer name used as a unique
identifier for API access. The fullName
stringfullName
can contain only underscores and
alphanumeric characters. It must be
unique, begin with a letter, not include
spaces, not end with an underscore, and
not contain two consecutive underscores.
This field is inherited from the Metadata
component.
Under what conditions the trigger fires.
Valid values are:
WorkflowTriggerTypes (enumeration of type string)triggerType
onAllChangesThe workflow
rule is considered on all changes.
onCreateOnlyThe workflow
rule is considered only on create.
onCreateOrTriggeringUpdateThe
workflow rule is considered on create
and triggering updates.
Represents a set of Workflow actions,
including Field Updates, Email Alerts,
WorkflowTimeTriggerworkflowTimeTriggers
Outbound Messages, and Tasks, that
executes before or after a specified interval
of time.
WorkflowTask
This metadata type references an assigned workflow task.
2070
WorkflowMetadata Types
DescriptionField TypeField Name
Specifies the user, role, or team to which the workflow rule
or action is assigned. The field corresponding to the value
stringassignedTo
specified here must be the same as the specified
assignedToType.
Valid string values for this type are:ActionTaskAssignedToTypes
(enumeration of type string)
assignedToType
accountCreatorWhen set, the task is assigned
to the records account's creator.
accountOwnerWhen set, the task is assigned to
the records account owner (Opportunity).
accountTeamSame as WorkflowAlert type
creatorWhen set, the task is assigned to the
records creator.
opportunityTeamSame as WorkflowAlert type
ownerWhen set, the task is assigned to the records
owner.
partnerUserWhen set, the assignedTo field
references a partner user by username.
portalRoleWhen set, the assignedTo field
references a Role by role name, a portal role.
roleWhen set, the assignedTo field references
a Role by role name.
userWhen set, the assignedTo field references
a User by username.
The description of this workflow task.stringdescription
Required. The offset, in days, from either the trigger date,
or the date specified in the (optional)
intdueDateOffset
offsetFromField. The offset can be a negative
number.
Required. The developer name used as a unique identifier
for API access. The fullName can contain only
stringfullName
underscores and alphanumeric characters. It must be
unique, begin with a letter, not include spaces, not end
with an underscore, and not contain two consecutive
underscores. This field is inherited from the Metadata
component.
Required. Set to send an email notification when the task
is assigned.
booleannotifyAssignee
Optional field reference of the date field from which the
dueDate is computed.
stringoffsetFromField
Required. The priority to assign the created task.stringpriority
2071
WorkflowMetadata Types
DescriptionField TypeField Name
Required. Indicates whether this component is protected
(true) or not (false). Protected components cant be
booleanprotected
linked to or referenced by components created in the
installing organization.
Required. The status to assign the created task.stringstatus
Required. A subject for the workflow task thats used if an
email notification is sent when the task is assigned. Available
in API version 16.0 and later.
stringsubject
WorkflowTimeTrigger
Represents a set of Workflow actions, including Field Updates, Email Alerts, Outbound Messages, and Tasks, that execute before or after
a specified interval of time.
DescriptionField TypeField Name
An array of references for the actions that happen when this trigger
fires.
WorkflowActionReference[]actions
The date type field name that the time-based workflow triggers
from, such as Created Date, Last Modified Date,
stringoffsetFromField
Rule Trigger Date, or a custom date field on the object
for which the workflow rule is defined.
The numeric value of the time after or before the workflow triggers.
A negative value represents the time length before the trigger fires.
stringtimeLength
The timeLength is measured in either hours or days, as specified
by workflowTimeTriggerUnit.
The unit of time before or after which the time-based workflow
triggers. Valid string values are:
WorkflowTimeUnits
(enumeration of type string)
workflowTimeTriggerUnit
Hours
Days
Declarative Metadata Sample Definition
Heres the definition of a workflow rule.
<?xml version="1.0" encoding="UTF-8"?>
<Workflow xmlns="http://soap.sforce.com/2006/04/metadata">
<alerts>
<fullName>Another_alert</fullName>
<description>Another alert</description>
<protected>false</protected>
<recipients>
<type>accountOwner</type>
2072
WorkflowMetadata Types
</recipients>
<recipients>
<field>Contact__c</field>
<type>contactLookup</type>
</recipients>
<recipients>
<field>Email__c</field>
<type>email</type>
</recipients>
<template>TestEmail/Email Test</template>
</alerts>
<fieldUpdates>
<fullName>Enum_Field_Update</fullName>
<description>Blah</description>
<field>EnumField__c</field>
<name>Enum Field Update</name>
<notifyAssignee>true</notifyAssignee>
<operation>NextValue</operation>
<protected>false</protected>
</fieldUpdates>
<fieldUpdates>
<fullName>Enum_Field_Update2</fullName>
<description>Blah</description>
<field>EnumField__c</field>
<literalValue>PLX2</literalValue>
<name>Enum Field Update2</name>
<notifyAssignee>true</notifyAssignee>
<operation>Literal</operation>
<protected>false</protected>
</fieldUpdates>
<fieldUpdates>
<fullName>Field_Update</fullName>
<description>TestField update desc</description>
<field>Name</field>
<formula>Name &amp; &quot;Updated&quot;</formula>
<name>Field Update</name>
<notifyAssignee>false</notifyAssignee>
<operation>Formula</operation>
<protected>false</protected>
</fieldUpdates>
<fieldUpdates>
<fullName>Lookup_On_Contact</fullName>
<field>RealOwner__c</field>
<lookupValue>[email protected]</lookupValue>
<name>Lookup On Contact</name>
<notifyAssignee>false</notifyAssignee>
<operation>LookupValue</operation>
<protected>false</protected>
</fieldUpdates>
<outboundMessages>
<fullName>Another_Outbound_message</fullName>
<description>Another Random outbound.</description>
<endpointUrl>http://www.test.com</endpointUrl>
<fields>Email__c</fields>
2073
WorkflowMetadata Types
<fields>Id</fields>
<fields>Name</fields>
<includeSessionId>true</includeSessionId>
<integrationUser>[email protected]</integrationUser>
<name>Another Outbound message</name>
<protected>false</protected>
</outboundMessages>
<rules>
<fullName>BooleanFilter</fullName>
<active>false</active>
<booleanFilter>1 AND 2 OR 3</booleanFilter>
<criteriaItems>
<field>CustomObjectForWorkflow__c.CreatedById</field>
<operation>notEqual</operation>
</criteriaItems>
<criteriaItems>
<field>CustomObjectForWorkflow__c.CreatedById</field>
<operation>notEqual</operation>
<value>abc</value>
</criteriaItems>
<criteriaItems>
<field>CustomObjectForWorkflow__c.CreatedById</field>
<operation>equals</operation>
<value>xyz</value>
</criteriaItems>
<triggerType>onCreateOrTriggeringUpdate</triggerType>
</rules>
<rules>
<fullName>Custom Rule1</fullName>
<actions>
<name>Another_alert</name>
<type>Alert</type>
</actions>
<actions>
<name>Enum_Field_Update2</name>
<type>FieldUpdate</type>
</actions>
<actions>
<fullName>Field_Update</name>
<type>FieldUpdate</type>
</actions>
<actions>
<name>Another_Outbound_message</name>
<type>OutboundMessage</type>
</actions>
<actions>
<name>Role_task_was_completed</name>
<type>Task</type>
</actions>
<active>true</active>
<criteriaItems>
<field>CustomObjectForWorkflow__c.Name</field>
<operation>startsWith</operation>
<value>ABC</value>
2074
WorkflowMetadata Types
</criteriaItems>
<description>Custom Rule1 desc</description>
<triggerType>onCreateOrTriggeringUpdate</triggerType>
</rules>
<rules>
<fullName>IsChangedFunctionRule</fullName>
<active>true</active>
<description>IsChangedDesc</description>
<formula>ISCHANGED(Name)</formula>
<triggerType>onAllChanges</triggerType>
</rules>
<tasks>
<fullName>Another_task_was_completed</fullName>
<assignedToType>owner</assignedToType>
<description>Random Comment</description>
<dueDateOffset>20</dueDateOffset>
<notifyAssignee>true</notifyAssignee>
<priority>High</priority>
<protected>false</protected>
<status>Completed</status>
<subject>Another task was completed</subject>
</tasks>
<tasks>
<fullName>Role_task_was_completed</fullName>
<assignedTo>R11</assignedTo>
<assignedToType>role</assignedToType>
<dueDateOffset>-2</dueDateOffset>
<notifyAssignee>true</notifyAssignee>
<offsetFromField>CustomObjectForWorkflow__c.CreatedDate</offsetFromField>
<priority>High</priority>
<protected>false</protected>
<status>Completed</status>
<subject>Role task was completed</subject>
</tasks>
<tasks>
<fullName>User_task_was_completed</fullName>
<assignedTo>[email protected]</assignedTo>
<assignedToType>user</assignedToType>
<dueDateOffset>-2</dueDateOffset>
<notifyAssignee>true</notifyAssignee>
<offsetFromField>User.CreatedDate</offsetFromField>
<priority>High</priority>
<protected>false</protected>
<status>Completed</status>
<subject>User task was completed</subject>
</tasks>
</Workflow>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
2075
WorkflowMetadata Types
WorkSkillRouting
Represents a setup object that stores a set of WorkSkillRoutingAttribute objects. These objects are used to route a work item to an agent
who has the skills necessary to take the work. This type extends the Metadata metadata type and inherits its fullName field.
Important: Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain
terms to avoid any effect on customer implementations.
File Suffix and Directory Location
WorkSkillRouting components have the suffix workSkillRouting and are stored in the workSkillRoutings folder.
Version
WorkSkillRouting components are available in API version 46.0 and later.
Fields
DescriptionField TypeField Name
Required. Indicates whether assignment rules are active and can be
evaluated.
booleanisActive
Required. The label for this object. This display value is the internal label
that is not translated.
stringmasterLabel
Required. Type of Salesforce object that the attributes are associated
with.
stringrelatedEntity
A set of mappings between work-item field values and skills. Create one
attribute mapping set for each object.
WorkSkillRoutingAttribute[]workSkillRoutingAttributes
WorkSkillRoutingAttribute
Represents the routing assignments between object attributes and skills. Attributes are used to route a work item to an agent who has
the skills necessary to take the work.
Fields
DescriptionField TypeField Name
Required. Field that this attribute applies to.stringfield
After a designated timeout period, additional skills are dropped from
Omni-Channel routing. The case is then routed to the best-matched
agent even if they dont have all the skills.
booleanisAdditionalSkill
2076
WorkSkillRoutingMetadata Types
DescriptionField TypeField Name
Required. Skill used to route the work item when the attribute maps to
the value selected.
stringskill
Level of the skill required. This value can range from 0 to 10.intskillLevel
For additional skills, specify the order in which a skill is dropped if after
the Drop Additional Skills Timeout on the routing configuration, no agent
intskillPriority
with that skill is available. Skills with a lower priority rank (9 or 10) are
dropped first. Skills with a higher priority rank (0 or 1) are dropped last.
Skills with the same priority value are dropped as a group. You can set
skill priority using attribute setup for skills-based routing or Apex code.
Available in API version 49.0 and later.
Attribute value that is assigned to the selected skill.stringvalue
Declarative Metadata Sample Definition
The following is an example of a WorkSkillRouting component.
<?xml version="1.0" encoding="UTF-8"?>
<WorkSkillRouting xmlns="http://soap.sforce.com/2006/04/metadata">
<isActive>true</isActive>
<masterLabel>Attribute setup for skills-based routing for Case object</masterLabel>
<relatedEntity>Case</relatedEntity>
<workSkillRoutingAttributes>
<field>Case.Origin</field>
<isAdditionalSkill>false</isAdditionalSkill>
<skill>Technical_Skill</skill>
<skillLevel>3</skillLevel>
<skillPriority>2</skillPriority>
<value>Web</value>
</workSkillRoutingAttributes>
</WorkSkillRouting>
Wildcard Support in the Manifest File
This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the
manifest file, see Deploying and Retrieving Metadata with the Zip File.
2077
WorkSkillRoutingMetadata Types
CHAPTER 13 Headers
Use headers in Metadata API calls to set options for each call.
AllOrNoneHeader
Indicates whether to roll back all metadata changes when some of the records in a call result in failures.
CallOptions
Specifies the API client identifier.
DebuggingHeader
Specifies that the deployment result contains the debug log output, and specifies the level of detail included in the log. The debug
log contains the output of Apex tests that are executed as part of a deployment.
SessionHeader
Specifies the session ID that the login call returns. This session ID is used to authenticate all subsequent Metadata API calls.
AllOrNoneHeader
Indicates whether to roll back all metadata changes when some of the records in a call result in failures.
Version
This header is available in API version 34.0 and later.
Supported Calls
createMetadata(), updateMetadata(), upsertMetadata(), deleteMetadata()
Usage
If this header isnt used in API version 34.0 and later, by default a call can save a partial set of records (equivalent to
AllOrNoneHeader=false)the records that are processed successfully are saved and records that have failures arent saved.
Fields
DescriptionTypeField Name
Set to true to cause all metadata changes to be rolled back if
any records in the call cause failures. Set to false to enable
booleanallOrNone
2078
DescriptionTypeField Name
saving only the records that are processed successfully when other
records in the call cause failures.
Sample CodeJava
Add the AllOrNoneHeader to the metadata connection before you perform a call as follows:
metadataConnection.setAllOrNoneHeader(true);
This next example shows how to use the AllOrNoneHeader when creating two custom objects. Because the second custom object
doesnt have the required Name field, the create() call cant create this custom object and rolls back the first custom object. The
output is shown after this code sample.
import com.sforce.soap.metadata.*;
import com.sforce.soap.metadata.Error;
import com.sforce.ws.ConnectionException;
public class CallWithHeader {
MetadataConnection metadataConnection = null;
public static void main(String[] args) throws ConnectionException {
CallWithHeader samples = new CallWithHeader();
samples.createWithHeader();
}
public CallWithHeader() throws ConnectionException {
metadataConnection = MetadataLoginUtil.login();
}
public void createWithHeader() throws ConnectionException {
// Define two custom objects to be inserted.
CustomObject co1 = new CustomObject();
String name1 = "MyCustomObject1";
co1.setFullName(name1 + "__c");
co1.setDeploymentStatus(DeploymentStatus.Deployed);
co1.setDescription("Created by the Metadata API");
co1.setEnableActivities(true);
co1.setLabel(name1 + " Object");
co1.setPluralLabel(co1.getLabel() + "s");
co1.setSharingModel(SharingModel.ReadWrite);
CustomField nf = new CustomField();
nf.setType(FieldType.Text);
nf.setLabel(co1.getFullName() + " Name");
co1.setNameField(nf);
// The second custom object doesn't have a Name field
CustomObject co2 = new CustomObject();
String name2 = "MyCustomObject2";
co2.setFullName(name2 + "__c");
2079
AllOrNoneHeaderHeaders
co2.setDeploymentStatus(DeploymentStatus.Deployed);
co2.setDescription("Created by the Metadata API");
co2.setEnableActivities(true);
co2.setLabel(name2 + " Object");
co2.setPluralLabel(co2.getLabel() + "s");
co2.setSharingModel(SharingModel.ReadWrite);
// Setting the allOrNone header to true to cause
// the call to not commit any record if one or more
// records in this call have failures.
metadataConnection.setAllOrNoneHeader(true);
// Now that the header has been set, make the create call.
SaveResult[] results = metadataConnection
.createMetadata(new Metadata[] { co1, co2 });
// Iterate through the call results
for (SaveResult r : results) {
if (r.isSuccess()) {
System.out.println("Created component: " + r.getFullName());
} else {
System.out
.println("Errors were encountered while creating "
+ r.getFullName());
for (Error e : r.getErrors()) {
System.out.println("Error message: " + e.getMessage());
System.out.println("Status code: " + e.getStatusCode());
}
}
}
}
}
This is the output that the sample returns. The first record is rolled back and the second has a failure.
Errors were encountered while creating MyCustomObject1__c
Error message: Record rolled back because not all records were valid and the request was
using AllOrNone header
Status code: ALL_OR_NONE_OPERATION_ROLLED_BACK
Errors were encountered while creating MyCustomObject2__c
Error message: Must specify a nameField of type Text or AutoNumber
Status code: FIELD_INTEGRITY_EXCEPTION
CallOptions
Specifies the API client identifier.
Version
This call is available in all API versions.
2080
CallOptionsHeaders
Supported Calls
All Metadata API calls.
Fields
DescriptionTypeField Name
A value that identifies an API client.stringclient
Sample CodeJava
To change the API client ID, add the CallOptions header to the metadata connection before you perform a call as follows:
metadataConnection.setCallOptions("client ID");
DebuggingHeader
Specifies that the deployment result contains the debug log output, and specifies the level of detail included in the log. The debug log
contains the output of Apex tests that are executed as part of a deployment.
Version
This header is available in all API versions.
Supported Calls
deploy()
Fields
DescriptionTypeField Name
A list of log categories with their associated log levels.LogInfo[]categories
Deprecated. This field is provided only for backward compatibility.
If you provide values for both debugLevel and categories,
the categories value is used.
LogType (enumeration of type string)debugLevel
The debugLevel field specifies the type of information returned
in the debug log. The values are listed from the least amount of
information returned to the most information returned. Valid values
include:
None
Debugonly
2081
DebuggingHeaderHeaders
DescriptionTypeField Name
Db
Profiling
Callout
Detail
LogInfo
Specifies the type and amount of information to be returned in the debug log. The categories field takes a list of these objects.
LogInfo is a mapping of category to level.
DescriptionTypeElement Name
Specify the type of information returned in the debug log. Valid values are:LogCategorycategory
Db
Workflow
Validation
Callout
Apex_code
Apex_profiling
Visualforce
System
All
Specifies the level of detail returned in the debug log.
Valid log levels are (listed from lowest to highest):
LogCategoryLevellevel
NONE
ERROR
WARN
INFO
DEBUG
FINE
FINER
FINEST
Sample CodeJava
Add the DebuggingHeader to the metadata connection before you perform the deploy() call as follows.
LogInfo[] logs = new LogInfo[1];
logs[0] = new LogInfo();
2082
DebuggingHeaderHeaders
logs[0].setCategory(LogCategory.Apex_code);
logs[0].setLevel(LogCategoryLevel.Fine);
metadataConnection.setDebuggingHeader(logs);
The result of the deploy() call is obtained by calling checkDeployStatus(). After the deployment finishes, and if tests were
run, the response of checkDeployStatus() contains the debug log output in the debugLog field of a DebuggingInfo
output header.
SessionHeader
Specifies the session ID that the login call returns. This session ID is used to authenticate all subsequent Metadata API calls.
Version
This header is available in all API versions.
Supported Calls
All Metadata API calls.
Fields
DescriptionTypeField Name
The session ID that the login call returns.stringsessionId
Sample CodeJava
Add the SessionHeader to the metadata connection before you perform a call as follows:
metadataConnection.setSessionHeader("<session_ID>");
2083
SessionHeaderHeaders
APPENDICES
APPENDIX A CustomObjectTranslation Language Support: Fully
Supported Languages
Not every language supports all the possible values for the fields in CustomObjectTranslation. Use this appendix to determine which
field values a language supports.
Note: Salesforce offers three levels of language support: fully supported languages, end-user languages, and platform-only
languages. This appendix provides information only for fully supported languages.
Chinese (Simplified)
plural
false
Chinese (Traditional)
plural
false
Danish
article
None
Definite
Indefinite
gender
Feminine
Neuter
plural
true
false
Dutch
gender
Feminine
2084
Neuter
plural
true
false
Finnish
caseType
Ablative
Adessive
Allative
Elative
Essive
Genitive
Illative
Inessive
Nominative
Partitive
Translative
plural
true
false
possessive
None
First
Second
French
gender
Masculine
Feminine
startsWith
Consonant
Vowel
plural
true
false
2085
CustomObjectTranslation Language Support: Fully Supported
Languages
German
caseType
Accusative
Dative
Genitive
Nominative
gender
Masculine
Feminine
Neuter
plural
true
false
Italian
gender
Masculine
Feminine
startsWith
Consonant
Special
Vowel
plural
true
false
Japanese
plural
false
Korean
plural
false
2086
CustomObjectTranslation Language Support: Fully Supported
Languages
Norwegian
article
Definite
Indefinite
None
gender
Masculine
Feminine
Neuter
plural
true
false
Portuguese (Brazil)
gender
Masculine
Feminine
plural
true
false
Russian
caseType
Accusative
Dative
Genitive
Instrumental
Nominative
Prepositional
gender
Masculine
Feminine
Neuter
AnimateMasculine
plural
true
2087
CustomObjectTranslation Language Support: Fully Supported
Languages
false
Spanish
gender
Masculine
Feminine
plural
true
false
Spanish (Mexico)
gender
Masculine
Feminine
plural
true
false
Swedish
article
None
Definite
Indefinite
gender
Feminine
Neuter
plural
true
false
Thai
plural
false
2088
CustomObjectTranslation Language Support: Fully Supported
Languages
APPENDIX B CustomObjectTranslation Language Support:
End-User Languages
Not every language supports all the possible values for the fields in CustomObjectTranslation. Use this appendix to determine which
field values a language supports.
Note: Salesforce offers three levels of language support: fully supported languages, end-user languages, and platform-only
languages. This appendix provides information only for end-user languages.
Arabic
article
Definite
None
gender
Masculine
Feminine
plural
true
false
possessive
None
First
Second
Bulgarian
gender
Masculine
Feminine
Neuter
plural
true
false
2089
Croatian
caseType
Accusative
Dative
Genitive
Instrumental
Locative
Nominative
gender
Feminine
Masculine
Neuter
plural
true
false
Czech
caseType
Accusative
Dative
Genitive
Instrumental
Locative
Nominative
gender
Masculine
Feminine
Neuter
AnimateMasculine
plural
true
false
English (UK)
plural
false
2090
CustomObjectTranslation Language Support: End-User
Languages
true
startsWith
Consonant
Vowel
Greek
caseType
Accusative
Genitive
Nominative
gender
Masculine
Feminine
Neuter
plural
true
false
Hebrew
article
Definite
None
gender
Masculine
Feminine
plural
true
false
Hungarian
caseType
Ablative
Accusative
Allative
Causalfinal
Dative
Delative
2091
CustomObjectTranslation Language Support: End-User
Languages
Distributive
Elative
Essiveformal
Illative
Inessive
Instrumental
Nominative
Sublative
Termanative
Translative
Superessive
plural
true
false
possessive
None
First
Second
startsWith
Consonant
Vowel
Indonesian
plural
false
true
Polish
caseType
Nominative
Accusative
Dative
Genitive
Instrumental
Locative
gender
Masculine
2092
CustomObjectTranslation Language Support: End-User
Languages
Feminine
Neuter
AnimateMasculine
plural
true
false
Portuguese (Portugal)
gender
Feminine
Masculine
plural
true
false
Romanian
article
Definite
None
gender
Masculine
Feminine
Neuter
plural
true
false
Slovak
caseType
Accusative
Dative
Genitive
Instrumental
Nominative
Locative
gender
Feminine
2093
CustomObjectTranslation Language Support: End-User
Languages
Masculine
Neuter
AnimateMasculine
plural
true
false
Slovenian
caseType
Accusative
Dative
Genitive
Instrumental
Nominative
Locative
gender
Feminine
Masculine
Neuter
AnimateMasculine
plural
true
false
Turkish
caseType
Ablative
Accusative
Dative
Genitive
Nominative
Locative
possessive
None
First
Second
2094
CustomObjectTranslation Language Support: End-User
Languages
plural
true
false
Ukrainian
caseType
Accusative
Dative
Genitive
Instrumental
Nominative
Locative
gender
Masculine
Feminine
Neuter
AnimateMasculine
plural
true
false
Vietnamese
plural
true
false
2095
CustomObjectTranslation Language Support: End-User
Languages
APPENDIX C StandardValueSet Names and Standard Picklist
Fields
In API version 38.0 and later, standard picklists are represented by the StandardValueSet type. In previous versions, standard picklists are
represented by the CustomField type. This table lists the names of standard picklists as standard value sets and their corresponding field
names.
Note: The names of standard value sets and picklist fields are case-sensitive.
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
Accreditation.AccreditationRating
1
AAccreditationRating
1
AccountContactRelation.RolesAccountContactMultiRoles
AccountContactRole.RoleAccountContactRole
Account.Ownership
AccountCleanInfo.Ownership
AccountOwnership
Account.Rating
Lead.Rating
AccountRating
Account.TypeAccountType
Accreditation.AccreditingBody
1
AccreditationAccreditingBody
1
Accreditation.Status
1
AccreditationStatus
1
Accreditation.SubType
1
AccreditationSubType
1
Accreditation.Type
1
AccreditationType
1
AntiCorruptionInitSum.EmployeeType
4
ACInitSumEmployeeType
4
AntiCorruptionInitSum.InitiativeType
4
ACInitSumInitiativeType
4
AntiCorruptionInitSum.RecipientCategory
4
ACISumRecipientCategory
4
AntiCorruptionInitSum.Country
4
ACorruptionInitSumCountry
4
AntiCorruptionInitSum.Region
4
ACorruptionInitSumRegion
4
ActivityTiming.ActivityTime
1
ActivityTimeEnum
1
CareRequest.AdmissionSource
1
AdmissionSource
1
2096
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
CareRequest.AdmissionType
1
AdmissionType
1
AllergyIntolerance.Category
1
AllergyIntoleranceCategory
1
AllergyIntolerance.Severity
1
AllergyIntoleranceSeverity
1
AllergyIntolerance.Status
1
AllergyIntoleranceStatus
1
AllergyIntolerance.Type
1
AllergyIntoleranceType
1
AllergyIntolerance.VerificationStatus
1
AllergyVerificationStatus
1
CareRequest.AppealRequestReasonType
1
AppealRequestReasonType
1
CareRequest.ApprovedLevelOfCare
1
ApprovedLevelOfCare
1
AssessmentQuestion.QuestionCategoryAQuestionQuestionCategory
AppointmentReason.AppointmentReason
1
AReasonAppointmentReason
1
Assessment.AssessmentRatingAssessmentRating
Assessment.AssessmentStatusAssessmentStatus
AssetAction.CategoryAssetActionCategory
AssetRelationship.RelationshipTypeAssetRelationshipType
Asset.StatusAssetStatus
AssociatedLocation.TypeAssociatedLocationType
AuthorNote.RecipientType
1
AuthorNoteRecipientType
1
CareBarrierType.CodeType
1
BarrierCodeType
1
BoardCertification.CertificationType
1
BCCertificationType
1
BenefitType.ProcessType
5
BenefitProcessType
5
BusinessLicense.JurisdictionType
1
BLicenseJurisdictionType
1
BusinessLicense.VerificationStatus
1
BLicenseVerificationStatus
1
BoardCertification.Status
1
BoardCertificationStatus
1
BusinessLicense.Status
1
BusinessLicenseStatus
1
CampaignMember.StatusCampaignMemberStatus
Campaign.StatusCampaignStatus
Campaign.TypeCampaignType
CardPaymentMethod.CardTypeCardType
CareRequestItem.AmbulanceTransportReason
1
CareAmbulanceTransReason
1
CareRequestItem.AmbulanceTransportType
1
CareAmbulanceTransType
1
2097
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
CareBarrier.Priority
1
CareBarrierPriority
1
CareBarrier.Status
1
CareBarrierStatus
1
CareBenefitVerifyRequest.Status
1
CareBenefitVerifyRequestStatus
1
CareDeterminant.Priority
1
CareDeterminantPriority
1
CareDeterminantType.Domain
1
CareDeterminantTypeDomain
1
CareDeterminantType.Type
1
CareDeterminantTypeType
1
CareEpisode.Status
1
CareEpisodeStatus
1
CareEpisode.Type
1
CareEpisodeType
1
CareRequestItem.Status
1
CareItemStatus
1
CareRequestItem.StatusReason
1
CareItemStatusReason
1
CareMetricTarget.Type
1
CareMetricTargetType
1
CareObservation.Category
1
CareObservationCategory
1
CareObservation.ObservationStatus
1
CareObservationStatus
1
CarePlanActivity.Status
1
CarePlanActivityStatus
1
CarePlan.AuthorizationType
1
CarePlanAuthorizationType
1
CarePlanDetail.DetailType
1
CarePlanDetailDetailType
1
CarePreauthItem.Laterality
1
CarePreauthItemLaterality
1
CarePreauth.Status
1
CarePreauthStatus
1
CareProgramEnrollee.Status
1
CareProgramEnrolleeStatus
1
CareProgramGoal.Priority
1
CareProgramGoalPriority
1
CareProgramGoal.Status
1
CareProgramGoalStatus
1
CareProgramProduct.Status
1
CareProgramProductStatus
1
CareProgramProvider.Role
1
CareProgramProviderRole
1
CareProgramProvider.Status
1
CareProgramProviderStatus
1
CareProgram.Status
1
CareProgramStatus
1
CareProgramTeamMember.Role
1
CareProgramTeamMemberRole
1
CareRequestItem.QuantityType
1
CareQuantityType
1
CareRegisteredDevice.Status
1
CareRegisteredDeviceStatus
1
CareRequestExtension.AmbulanceTransportReason
1
CareRequestExtensionAmbulanceTransportReason
1
CareRequestExtension.AmbulanceTransportType
1
CareRequestExtensionAmbulanceTransportType
1
2098
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
CareRequestExtension.NursingHomeResidentialStatus
1
CareRequestExtensionNursingHomeResidentialStatus
1
CareRequestExtension.RequestType
1
CareRequestExtensionRequestType
1
CareRequestExtension.ServiceLevel
1
CareRequestExtensionServiceLevel
1
CareRequest.MemberGender
1
CareRequestMemberGender
1
CareRequest.MemberPrognosis
1
CareRequestMemberPrognosis
1
CareRequest.QuantityType
1
CareRequestQuantityType
1
CareRequestReviewer.Status
1
CareRequestReviewerStatus
1
CareSpecialty.SpecialtyType
1
CareSpecialtySpecialtyType
1
CareSpecialty.SpecialtyUsage
1
CareSpecialtySpecialtyUsage
1
CareTaxonomy.TaxonomyType
1
CareTaxonomyTaxonomyType
1
CareTeam.Status
1
CareTeamStatus
1
CaseContactRole.RoleCaseContactRole
CaseEpisode.Subtype
5
CaseEpisodeSubType
5
CaseEpisode.Type
5
CaseEpisodeType
5
Case.OriginCaseOrigin
Case.PriorityCasePriority
Case.ReasonCaseReason
CarePlan.Status
1
CaseServicePlanStatus
1
Case.StatusCaseStatus
Case.TypeCaseType
CoverageBenefit.CoverageType
1
CBCoverageType
1
CoverageBenefitItemLimit.TermType
1
CBenefitItemLimitTermType
1
CoverageBenefitItemLimit.CoverageLevel
1
CBItemLimitCoverageLevel
1
CoverageBenefitItemLimit.NetworkType
1
CBItemLimitNetworkType
1
CategorizedCareFeeAgreement.LineofBusiness
1
CCFALineOfBusiness
1
CrbnCreditProject.AdditionalBenefits
4
CCPAdditionalBenefits
4
CrbnCreditProject.MitigationType
4
CCProjectMitigationType
4
CrbnCreditProject.StandardsAgencyName
4
CCPStandardsAgencyName
4
CrbnCreditProject.ProjectType
4
CCreditProjectProjectType
4
CareDiagnosis.PresentOnAdmission
1
CDPresentOnAdmission
1
2099
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
ClinicalEncounterIdentifier.IdUsageType
1
CEIdentifierIdUsageType
1
ClinicalEncounter.AdmissionSource
1
CEncounterAdmissionSource
1
ClinicalEncounter.Category
1
CEncounterCategory
1
ClinicalEncounter.DietPreference
1
CEncounterDietPreference
1
ClinicalEncounterFacility.Status
1
CEncounterFacilityStatus
1
ClinicalEncounter.ServiceType
1
CEncounterServiceType
1
ClinicalEncounter.SpecialCourtesy
1
CEncounterSpecialCourtesy
1
ClinicalEncounter.Status
1
CEncounterStatus
1
CareEpisodeDetail.DetailType
1
CEpisodeDetailDetailType
1
ChangeRequestRelatedItem.ImpactLevelChangeRequestRelatedItemImpactLevel
ChangeRequest.BusinessReasonChangeRequestBusinessReason
ChangeRequest.CategoryChangeRequestCategory
ChangeRequest.ImpactChangeRequestImpact
ChangeRequest.PriorityChangeRequestPriority
ChangeRequest.RiskLevelChangeRequestRiskLevel
ChangeRequest.StatusChangeRequestStatus
PersonEducation.ClassRankReportingFormat
1
ClassRankReportingFormat
1
PersonEducation.ClassRankWeightingType
1
ClassRankWeightingType
1
ClinicalAlert.Categories
1
ClinicalAlertCategories
1
ClinicalAlert.Status
1
ClinicalAlertStatus
1
CareRequest.ClinicalCaseType
1
ClinicalCaseType
1
ClinicalDetectedIssue.SeverityLevel
1
ClinicalDetectedIssueSeverityLevel
1
ClinicalDetectedIssue.Status
1
ClinicalDetectedIssueStatus
1
CareObservationComponent.ValueType
1
COComponentValueType
1
CareObservationComponent.ValueInterpretation
1
COCValueInterpretation
1
CodeSet.CodeSetType
1
CodeSetCodeSetType
1
EngagementInteraction.CommunicationChannel
1
CommunicationChannel
1
Supplier.CompanyRelationshipType
4
CompanyRelationshipType
4
Asset.ConsequenceOfFailureConsequenceOfFailure
ContactPointAddress.AddressTypeContactPointAddressType
2100
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
ContactPointAddress.UsageTypeContactPointUsageType
ContactRequest.RequestReasonContactRequestReason
ContactRequest.StatusContactRequestStatus
OpportunityContactRole.RoleContactRole
ContractContactRole.RoleContractContactRole
ContractLineItem.Status
1
ContractLineItemStatus
1
Contract.StatusContractStatus
CareObservation.ProcessingResult
1
COProcessingResult
1
CareObservation.ValueInterpretation
1
COValueInterpretation
1
CarePlanActivity.ActivityType
1
CPAActivityType
1
CarePlanActivityDetail.DetailType
1
CPADetailDetailType
1
CarePlanActivityDetail.DetailType
1
CPADetailDetailType
1
CareProviderAdverseAction.ActionType
1
CPAdverseActionActionType
1
CareProviderAdverseAction.Status
1
CPAdverseActionStatus
1
ContractPaymentAgreement.AgreementType
1
CPAgreementAgreementType
1
ContractPaymentAgreement.LineofBusiness
1
CPAgreementLineofBusiness
1
CarePlanActivity.ProhibitedActivity
1
CPAProhibitedActivity
1
CarePlanDetail.ProblemPriority
1
CPDProblemPriority
1
CareProgramEligibilityRule.Status
1
CPEligibilityRuleStatus
1
CareProgramEnrolleeProduct.Status
1
CPEnrolleeProductStatus
1
CareProgramEnrollmentCard.Status
1
CPEnrollmentCardStatus
1
CareProviderFacilitySpecialty.SpecialtyRole
1
CPFSpecialtySpecialtyRole
1
CaseProceedingParticipant.Role
5
CPPRole
5
CareProgramProduct.Availability
1
CProgramProductAvailability
1
CarePlanTemplateProblem.Priority
1
CPTemplateProblemPriority
1
CareRequestDrug.DrugAdministrationSetting
1
CRDDrugAdministrationSetting
1
CareRegisteredDevice.NameType
1
CRDNameType
1
CareRequestDrug.Priority
1
CCRDPriority
1
CareRequestDrug.Priority
1
CCRDPriority
1
CareRequestDrug.RequestType
1
CRDRequestType
1
2101
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
CareRequestDrug.Status
1
CRDStatus
1
CareRequestDrug.StatusReason
1
CRDStatusReason
1
CareRequestExtension.CaseSubStatus
1
CRECaseSubStatus
1
CareRequestExtension.CaseSubStatus
1
CRECaseSubStatus
1
CareRequestExtension.DocumentAttachmentStatus
1
CREDocumentAttachmentStatus
1
CareRequestExtension.IndependentReviewDetermination
1
CREIndependentReviewDetermination
1
CareRequestExtension.AuthorizationRefIdentifier
1
CREPriorAuthRequestIdentifier
1
CareRequestExtension.PriorDischargeStatus
1
CREPriorDischargeStatus
1
CareRequestExtension.ReopenRequestOutcome
1
CREReopenRequestOutcome
1
CareRequestExtension.ReopenRequestType
1
CREReopenRequestType
1
CareRequestExtension.RequestOutcome
1
CRERequestOutcome
1
CareRequestItem.ApprovedLevelOfCare
1
CRIApprovedLevelOfCare
1
CareRequestItem.ClinicalDetermination
1
CRIClinicalDetermination
1
CareRequestItem.CurrentLevelOfCare
1
CRICurrentLevelOfCare
1
CareRequestItem.DeniedLevelOfCare
1
CRIDeniedLevelOfCare
1
CareRequestItem.ModifiedLevelOfCare
1
CRIModifiedLevelOfCare
1
CareRequestItem.Priority
1
CRIPriority
1
CareRequestItem.RequestedLevelOfCare
1
CRIRequestedLevelOfCare
1
CareRequestItem.RequestType
1
CRIRequestType
1
CareRequestReviewer.ReviewerType
1
CRReviewerReviewerType
1
CodeSetBundle.Type
1
CSBundleUsageType
1
ClinicalServiceRequest.Type
1
CServiceRequestIntent
1
ClinicalServiceRequest.Priority
1
CServiceRequestPriority
1
ClinicalServiceRequest.Status
1
CServiceRequestStatus
1
ClinicalServiceRequestDetail.DetailType
1
CSRequestDetailDetailType
1
CareRequest.CurrentLevelOfCare
1
CurrentLevelOfCare
1
DocumentChecklistItem.Status
1
DChecklistItemStatus
1
CareRequest.DecisionReason
1
DecisionReason
1
CareRequest.DeniedLevelOfCare
1
DeniedLevelOfCare
1
CareDiagnosis.CodeType
1
DiagnosisCodeType
1
2102
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
DiagnosticSummary.Category
1
DiagnosticSummaryCategory
1
DiagnosticSummary.Status
1
DiagnosticSummaryStatus
1
Asset.DigitalAssetStatusDigitalAssetStatus
DivrsEquityInclSum.DiversityType
4
DEInclSumDiversityType
4
DivrsEquityInclSum.EmployeeType
4
DEInclSumEmployeeType
4
DivrsEquityInclSum.EmploymentType
4
DEInclSumEmploymentType
4
DivrsEquityInclSum.Gender
4
DEInclSumGender
4
DivrsEquityInclSum.DiversityCategory
4
DEISumDiversityCategory
4
CareDiagnosis.DischargeCodeType
1
DischargeDiagnosisCodeType
1
ClinicalDetectedIssueDetail.DetailType
1
DIssueDetailType
1
DivrsEquityInclSum.Location
4
DivrsEquityInclSumLocation
4
DivrsEquityInclSum.Race
4
DivrsEquityInclSumRace
4
CareRequestDrug.ClinicalDetermination
1
DrugClinicalDetermination
1
DiagnosticSummaryDetail.DocumentRelationType
1
DSDDocumentRelationType
1
DiagnosticSummary.DocumentStage
1
DSDocumentStage
1
DiagnosticSummaryDetail.DetailType
1
DSummaryDetailDetailType
1
DiagnosticSummary.UsageType
1
DSummaryUsageType
1
EngagementChannelType.ContactPointType
1
ECTypeContactPointType
1
PersonEducation.EducationLevel
1
EducationLevel
1
EnrollmentEligibilityCriteria.Status
1
EEligibilityCriteriaStatus
1
PersonEmployment.Occupation
1
EmploymentOccupation
1
PersonEmployment.EmploymentStatus
1
EmploymentStatus
1
EngagementAttendee.Role
1
EngagementAttendeeRole
1
EngagementInteraction.Sentiment
1
EngagementSentimentEnum
1
EngagementInteraction.Status
1
EngagementStatusEnum
1
EngagementInteraction.Type
1
EngagementTypeEnum
1
CareProgramEnrollee.OptOutReasonType
1
EnrolleeOptOutReasonType
1
BenefitAssignment.Status
5
EnrollmentStatus
5
Entitlement.TypeEntitlementType
EmpBenefitSummary.EmployeeBenefitType
4
EBSEmployeeBenefitType
4
2103
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
EmpBenefitSummary.PercentageCalcType
4
EBSPercentageCalcType
4
EmpBenefitSummary.BenefitUsage
4
EBSummaryBenefitUsage
4
EmpBenefitSummary.EmploymentType
4
EBSummaryEmploymentType
4
EmpBenefitSummary.EmployeeBenefitType
4
EBSEmployeeBenefitType
4
EmpBenefitSummary.PercentageCalcType
4
EBSPercentageCalcType
4
EmployeeDemographicSum.AgeGroup
4
EDemographicSumAgeGroup
4
EmployeeDemographicSum.Gender
4
EDemographicSumGender
4
EmployeeDemographicSum.Region
4
EDemographicSumRegion
4
EmployeeDemographicSum.ReportType
4
EDemographicSumReportType
4
EmployeeDemographicSum.WorkType
4
EDemographicSumWorkType
4
EmployeeDevelopmentSum.Gender
4
EDevelopmentSumGender
4
EmployeeDevelopmentSum.EmployeeType
4
EDSumEmployeeType
4
EmployeeDemographicSum.EmploymentType
4
EDSumEmploymentType
4
EmployeeDevelopmentSum.ProgramCategory
4
EDSumProgramCategory
4
EconomicPerformanceSum.Market
4
EPSumMarket
4
EconomicPerformanceSum.PerformanceCategory
4
EPSumPerformanceCategory
4
EconomicPerformanceSum.PerformanceType
4
EPSumPerformanceType
4
EconomicPerformanceSum.Region
4
EPSumRegion
4
EmssnRdctnCommitment.CompanyBusinessRegion
4
ERCompanyBusinessRegion
4
EmssnRdctnCommitment.CompanySector
4
ERCompanySector
4
EmssnReductionTarget.TargetType
4
EReductionTargetTargetType
4
EmssnReductionTarget.OtherTargetKpi
4
ERTargetOtherTargetKpi
4
EmssnReductionTarget.TargetSettingMethod
4
ERTTargetSettingMethod
4
Event.SubjectEventSubject
Event.TypeEventType
CareRequest.FacilityRoomBedType
1
FacilityRoomBedType
1
CareRequest.FinalLevelOfCare
1
FinalLevelOfCare
1
FinanceTransaction.EventActionFinanceEventAction
FinanceBalanceSnapshot.EventType
FinanceTransaction.EventType
FinanceEventType
2104
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
Period.PeriodLabelFiscalYearPeriodName
FiscalYearSettings.PeriodPrefixFiscalYearPeriodPrefix
Period.QuarterLabelFiscalYearQuarterName
FiscalYearSettings.QuarterPrefixFiscalYearQuarterPrefix
n/aForecastingItemCategory
2
FrgtHaulingEmssnFctr.FreightHaulingMode
4
FrgtHaulingEnrgyUse.FreightHaulingMode
4
FreightHaulingMode
4
Scope3CrbnFtprnt.AuditApprovalStatus
4
StnryAssetCrbnFtprnt.AuditApprovalStatus
4
FtprntAuditApprovalStatus
4
VehicleAssetCrbnFtprnt.AuditApprovalStatus
4
WasteFootprint.AuditApprovalStatus
4
FulfillmentOrder.StatusFulfillmentStatus
FulfillmentOrder.TypeFulfillmentType
GoalAssignmentDetail.DetailType
1
GADetailDetailType
1
GoalAssignment.ProgressionStatus
1
GoalAssignmentProgressionStatus
1
GoalAssignment.Status
1
GoalAssignmentStatus
1
GoalDefinition.Category
1
GoalDefinitionCategory
1
GoalDefinition.UsageType
1
GoalDefinitionUsageType
1
GovtFinancialAsstSum.Type
4
GovtFinancialAsstSumType
4
PersonEducation.GpaWeightingType
1
GpaWeightingType
1
CareRequest.GrievanceType
1
GrievanceType
1
HealthcareFacility.LocationType
1
HCFacilityLocationType
1
HealthCareProcedure.Category
1
HcpCategory
1
HealthCareProcedure.CodeType
1
HcpCodeType
1
HealthCareDiagnosis.Category
1
HealthCareDiagnosisCategory
1
HealthCareDiagnosis.CodeType
1
HealthCareDiagnosisCodeType
1
HealthCareDiagnosis.Gender
1
HealthCareDiagnosisGender
1
HealthcareProvider.Status
1
HealthcareProviderStatus
1
HealthConditionDetail.DetailType
1
HealthConditionDetailType
1
HealthCondition.Severity
1
HealthConditionSeverity
1
2105
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
HealthCondition.ConditionStatus
1
HealthConditionStatus
1
HealthCondition.Type
1
HealthConditionType
1
HealthCondition.DiagnosticStatus
1
HealthDiagnosticStatus
1
HealthcareFacilityNetwork.GenderRestriction
1
HFNetworkGenderRestriction
1
HealthcareFacilityNetwork.PanelStatus
1
HFNetworkPanelStatus
1
HealthcarePayerNetwork.NetworkType
1
HPayerNetworkNetworkType
1
HealthcarePayerNetwork.LineofBusiness
1
HPayerNwkLineOfBusiness
1
HealthcarePractitionerFacility.GenderRestriction
1
HPFGenderRestriction
1
HealthcarePractitionerFacility.TerminationReason
1
HPFTerminationReason
1
HealthcareProviderNpi.NpiType
1
HProviderNpiNpiType
1
HealthcareProvider.ProviderClass
1
HProviderProviderClass
1
HealthcareProvider.ProviderType
1
HProviderProviderType
1
HealthcareProviderSpecialty.SpecialtyRole
1
HPSpecialtySpecialtyRole
1
HealthScoreActionLog.ActionStatus
1
HSActionLogActionStatus
1
IndividualApplication.Status
1
IaApplnStatus
1
IndividualApplication.Category
1
IaAuthCategory
1
IndividualApplication.InternalStatus
1
IaInternalStatus
1
IndividualApplicationItem.Status
1
IAItemStatus
1
IndividualApplication.RejectionReason
1
IARejectionReason
1
IndividualApplication.ServiceType
1
IAServiceType
1
IdeaTheme.Categories
3
IdeaCategory
3
Idea.CategoriesIdeaMultiCategory
Idea.StatusIdeaStatus
IdeaTheme.StatusIdeaThemeStatus
Identifier.IdUsageType
1
IdentifierIdUsageType
1
InsurancePolicy.FnolChannel
1
IFnolChannel
1
Incident.CategoryIncidentCategory
Incident.ImpactIncidentImpact
Incident.PriorityIncidentPriority
IncidentRelatedItem.ImpactLevelIncidentRelatedItemImpactLevel
2106
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
IncidentRelatedItem.ImpactTypeIncidentRelatedItemImpactType
Incident.ReportedMethodIncidentReportedMethod
Incident.StatusIncidentStatus
Incident.SubCategoryIncidentSubCategory
Incident.TypeIncidentType
Incident.UrgencyIncidentUrgency
Account.Industry
AccountCleanInfo.Industry
Industry
Lead.Industry
LeadCleanInfo.Industry
CareInterventionType.CodeType
1
InterventionCodeType
1
InsurancePolicy.CancellationReasonType
1
IPCancelationReasonType
1
InsurancePolicyCoverage.BenefitPaymentFrequency
1
IPCBenefitPaymentFrequency
1
InsurancePolicyCoverage.Category
1
IPCCategory
1
InsurancePolicyCoverage.CategoryGroup
1
IPCCategoryGroup
1
InsurancePolicyCoverage.DeathBenefitOptionType
1
IPCDeathBenefitOptionType
1
InsurancePolicyCoverage.IncomeOptionType
1
IPCIncomeOptionType
1
InsurancePolicyCoverage.LimitRange
1
IPCLimitRange
1
InsurancePolicy.AuditTerm
1
IPolicyAuditTerm
1
InsurancePolicy.ChangeSubtype
1
IPolicyChangeSubType
1
InsurancePolicy.ChangeType
1
IPolicyChangeType
1
InsurancePolicy.RenewalChannel
1
IPolicyChannel
1
InsurancePolicy.PlanTier
1
IPolicyPlanTier
1
InsurancePolicy.PlanType
1
IPolicyPlanType
1
InsurancePolicy.PolicyType
1
IPolicyPolicyType
1
InsurancePolicy.PremiumCalculationMethod
1
IPolicyPremiumCalcMethod
1
InsurancePolicy.PremiumFrequency
1
IPolicyPremiumFrequency
1
InsurancePolicy.PremiumPaymentType
1
IPolicyPremiumPaymentType
1
InsurancePolicy.Status
1
IPolicyStatus
1
InsurancePolicy.Substatus
1
IPolicySubStatusCode
1
2107
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
InsurancePolicy.PolicyTerm
1
IPolicyTerm
1
InsurancePolicyTransaction.Status
1
IPolicyTransactionStatus
1
InsurancePolicyTransaction.Type
1
IPolicyTransactionType
1
InsurancePolicyOwner.PolicyOwnerType
1
IPOwnerPOwnerType
1
InsurancePolicyParticipant.Role
1
IPParticipantRole
1
InsurancePolicyParticipant.RelationshipToInsured
1
IPPRelationshipToInsured
1
Account.AccountSource
CampaignMember.LeadSource
LeadSource
Contact.LeadSource
Lead.LeadSource
Opportunity.LeadSource
Lead.StatusLeadStatus
BusinessLicense.LicenseClass
1
LicenseClassType
1
BusinessLicense.LineOfAuthority
1
LineOfAuthorityType
1
Location.LocationTypeLocationType
BusinessLicenseApplication.ApplicationCategory
1
LPIApplnCategory
1
BusinessLicenseApplication.Status
1
LPIApplnStatus
1
Medication.MedicationCategory
1
MedicationCategoryEnum
1
MedicationDispense.MedAdministrationSettingCategory
1
MedicationDispenseMedAdministrationSettingCategory
1
MedicationDispense.Status
1
MedicationDispenseStatus
1
MedicationDispense.SubstitutionReason
1
MedicationDispenseSubstitutionReason
1
MedicationDispense.SubstitutionType
1
MedicationDispenseSubstitutionType
1
MedicationStatement.Status
1
MedicationStatementStatus
1
Medication.Status
1
MedicationStatus
1
MedicationTherapyReview.SurrogateType
1
MedReviewRepresentativeType
1
MedicationTherapyReview.ReviewSubtype
1
MedTherapyReviewSubtype
1
MemberPlan.PrimarySecondaryTertiary
1
MemberPlanPrimarySecondaryTertiary
1
MemberPlan.RelationshipToSubscriber
1
MemberPlanRelToSub
1
MemberPlan.Status
1
MemberPlanStatus
1
MemberPlan.VerificationStatus
1
MemberPlanVerificStatus
1
Individual.MilitaryServiceMilitaryService
2108
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
CareRequestItem.ModifiedCodeType
1
ModifiedCareCodeType
1
CareDiagnosis.ModifiedCodeType
1
ModifiedDiagnosisCodeType
1
CareRequestDrug.ModifiedCodeType
1
ModifiedDrugCodeType
1
CareRequest.ModifiedLevelOfCare
1
ModifiedLevelOfCare
1
MedicationRequest.Priority
1
MRequestPriority
1
MedicationRequest.Status
1
MRequestStatus
1
MedicationRequest.TherapyDuration
1
MRequestTherapyDuration
1
MedicationRequest.Type
1
MRequestType
1
MedicationStatement.DeliverySetting
1
MStatementDeliverySetting
1
MedicationStatementDetail.DetailType
1
MStatementDetailType
1
OcrDocumentScanResult.OcrService
1
OcrService
1
OcrDocumentScanResult.OcrStatus
1
OcrStatus
1
OrgIncidentSummary.HazardType
4
OIncidentSummaryHazardType
4
OrgIncidentSummary.CorrectiveActionType
4
OISCorrectiveActionType
4
OrgIncidentSummary.IncidentSubtype
4
OISummaryIncidentSubtype
4
OrgIncidentSummary.IncidentType
4
OISummaryIncidentType
4
OrgIncidentSummary.PenaltyType
4
OISummaryPenaltyType
4
OpportunityCompetitor.CompetitorNameOpportunityCompetitor
Opportunity.StageNameOpportunityStage
Opportunity.TypeOpportunityType
OrderItemSummaryChange.ReasonOrderItemSummaryChgRsn
Not available in 37.0 and earlierOrderStatus
OrderSummaryRoutingSchedule.ReasonOrderSummaryRoutingSchdRsn
OrderSummary.StatusOrderSummaryStatus
Order.TypeOrderType
CareRequest.ParProvider
1
ParProvider
1
PartnerRole.ReverseRolePartnerRole
PartyProfile.CountryofBirthPartyProfileCountryofBirth
PartyProfile.EmploymentTypePartyProfileEmploymentType
PartyProfile.FundSourcePartyProfileFundSource
2109
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
PartyProfile.GenderPartyProfileGender
PartyProfile.ResidentTypePartyProfileResidentType
PartyProfile.ReviewDecisionPartyProfileReviewDecision
PartyProfile.RiskTypePartyProfileRiskType
PartyProfile.StagePartyProfileStage
PartyScreeningStep.TypePartyScreeningStepType
PartyScreeningSummary.StatusPartyScreeningSummaryStatus
PatientImmunization.Status
1
PatientImmunizationStatus
1
ProductEmissionsFactor.EmssnFctrDataSourceType
4
PEFEFctrDataSourceType
4
PersonEmployment.EmploymentType
1
PersonEmploymentType
1
PersonLanguage.Language
1
PersonLanguageLanguage
1
PersonLanguage.SpeakingProficiencyLevel
1
PersonLanguageSpeakingProficiencyLevel
1
PersonLanguage.WritingProficiencyLevel
1
PersonLanguageWritingProficiencyLevel
1
PersonName.NameUsageType
1
PersonNameNameUsageType
1
PersonEmployment.VerificationStatus
1
PersonVerificationStatus
1
PatientHealthReaction.Severity
1
PHealthReactionSeverity
1
PartyIdentityVerification.ResultPIdentityVerificationResult
PartyIdentityVerification.StatusPIdentityVerificationStatus
PartyIdentityVerificationStep.StatusPIVerificationStepStatus
PartyIdentityVerificationStep.TypePIVerificationStepType
PartyIdentityVerification.VerifiedByPIVerificationVerifiedBy
PartyIdentityVerification.OverriddenResultPIVOverriddenResult
PartyIdentityVerificationResult.OverrideReasonPIVResultOverrideReason
PartyIdentityVerificationStep.VerificationDecisionPIVSVerificationDecision
CareRequest.PlaceOfService
1
PlaceOfService
1
PlanBenefit.Status
1
PlanBenefitStatus
1
PatientMedicationDosage.DosageDefinitionType
1
PMDDosageDefinitionType
1
PatientMedicationDosage.DosageQuantityType
1
PMDosageDosageAmountType
1
PatientMedicationDosage.DosageRateType
1
PMDosageRateType
1
PatientMedicalProcedureDetail.DetailType
1
PMPDetailDetailType
1
2110
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
PatientMedicalProcedure.Outcome
1
PMPOutcome
1
PatientMedicalProcedure.Status
1
PMPStatus
1
PartyProfile.CreditScoreProviderPPCreditScoreProvider
PartyProfile.PrimaryIdentifierTypePPPrimaryIdentifierType
PartyProfileAddress.AddressTypePProfileAddressAddressType
PartyProfile.CountryOfDomicilePProfileCountryOfDomicile
PartyProfile.EmploymentIndustryPProfileEmploymentIndustry
PartyProfile.NationalityPProfileNationality
PartyProfile.OffBoardingReasonPProfileOffBoardingReason
PartyProfileRisk.RiskCategoryPProfileRiskRiskCategory
PartyProfileRisk.OverridenRiskCategoryPPROverridenRiskCategory
PartyProfile.TaxpayerIdentificationTypePPTaxIdentificationType
Problem.CategoryProblemCategory
ProblemDefinition.Category
1
ProblemDefinitionCategory
1
ProblemDefinition.Priority
1
ProblemDefinitionPriority
1
ProblemDefinition.UsageType
1
ProblemDefinitionUsageTypeEnum
1
Problem.ImpactProblemImpact
Problem.PriorityProblemPriority
ProblemRelatedItem.ImpactLevelProblemRelatedItemImpactLevel
ProblemRelatedItem.ImpactTypeProblemRelatedItemImpactType
Problem.StatusProblemStatus
Problem.SubCategoryProblemSubCategory
Problem.UrgencyProblemUrgency
ProcessException.CategoryProcessExceptionCategory
ProcessException.PriorityProcessExceptionPriority
ProcessException.SeverityProcessExceptionSeverity
ProcessException.StatusProcessExceptionStatus
Product2.FamilyProduct2Family
ProductRequestLineItem.StatusProdRequestLineItemStatus
EngagementChannelType.UsageType
1
ProductLineEnum
1
2111
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
ProductRequest.StatusProductRequestStatus
CareRequest.CriteriaMet
1
ProgressionCriteriaMet
1
PartyScreeningStep.ResultCodePScreeningStepResultCode
PartyScreeningStep.StatusPScreeningStepStatus
PartyScreeningSummary.ResultOverrideReasonPSSResultOverrideReason
PartyScreeningStep.MatchedFieldListPSStepMatchedFieldList
PartyScreeningSummaryS.creenedByPSSummaryScreenedBy
PartyScreeningSummary.ScreeningDecisionPSSummaryScreeningDecision
PurchaserPlan.Affiliation
1
PurchaserPlanAffiliation
1
PurchaserPlan.PlanStatus
1
PurchaserPlanStatus
1
PurchaserPlan.PlanType
1
PurchaserPlanType
1
Product2.QuantityUnitOfMeasure
ReturnOrderLineItem.QuantityUnitOfMeasure
QuantityUnitOfMeasure
Question.Origin
3
QuestionOrigin
3
QuickText.CategoryQuickTextCategory
QuickText.ChannelQuickTextChannel
Quote.StatusQuoteStatus
ReceivedDocument.Direction
1
ReceivedDocumentDirection
1
ReceivedDocument.OcrStatus
1
ReceivedDocumentOcrStatus
1
ReceivedDocument.Priority
1
ReceivedDocumentPriority
1
ReceivedDocument.Status
1
ReceivedDocumentStatus
1
BusinessLicenseApplication.Category
1
RegAuthCategory
1
CareProviderAdverseAction.RegulatoryBodyType
1
RegulatoryBodyType
1
CareRequest.ReopenReason
1
ReopenReason
1
CareRequestItem.CodeType
1
RequestedCareCodeType
1
CareRequestDrug.CodeType
1
RequestedDrugCodeType
1
CareRequest.RequestedLevelOfCare
1
RequestedLevelOfCare
1
CareRequest.RequesterType
1
RequesterType
1
CareRequest.RequestingPractitionerLicense
1
RequestingPractitionerLicense
1
CareRequest.RequestingPractitionerSpecialty
1
RequestingPractitionerSpecialty
1
2112
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
BusinessLicense.ResidenceStatus
1
ResidenceStatusType
1
UserTerritory2Association.RoleInTerritory2RoleInTerritory2
ResourceAbsence.TypeResourceAbsenceType
ReturnOrderLineItem.ProcessingPlanReturnOrderLineItemProcessPlan
ReturnOrderLineItem.ReasonForRejectionReturnOrderLineItemReasonForRejection
ReturnOrderLineItem.ReasonForReturnReturnOrderLineItemReasonForReturn
ReturnOrderLineItem.RepaymentMethodReturnOrderLineItemRepaymentMethod
ReturnOrder.ShipmentTypeReturnOrderShipmentType
ReturnOrder.StatusReturnOrderStatus
ResidentialLoanApplication.StatusRLAAppStatus
ResidentialLoanApplication.AmortizationTypeRLAAmortType
ResidentialLoanApplication.MortgageProgramTypeRLAAppliedFor
ResidentialLoanApplication.EstateHoldTypeRLAEstateType
ResidentialLoanApplication.LoanPurposeRLALoanPurpose
ResidentialLoanApplication.MortgageLienTypeRLAMortLienType
ResidentialLoanApplication.NativeLandTenureRLANativeTenure
ResidentialLoanApplication.ProjectTypeRLAProjectType
ResidentialLoanApplication.RefinanceTypeRLARefinanceType
ResidentialLoanApplication.RefinanceProgramTypeRLARefProgType
ResidentialLoanApplication.TitleTypeRLATitleType
ResidentialLoanApplication.TrustTitleTypeRLATrustType
OpportunityTeamMember.TeamMemberRole
UserAccountTeamMember.TeamMemberRole
SalesTeamRole
UserTeamMember.TeamMemberRole
AccountTeamMember.TeamMemberRole
CampaignMember.Salutation
Salutation
Contact.Salutation
Lead.Salutation
ServiceAppointmentGroup.Status
1
SAppointmentGroupStatus
1
ScorecardMetric.CategoryScorecardMetricCategory
2113
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
SustainabilityScorecard.ScienceBasedTargetStatus
4
ScienceBasedTargetStatus
4
SocialContributionSum.Category
4
SContributionSumCategory
4
Scope3CrbnFtprnt.FootprintStage
4
Scope3CrbnFtprntStage
4
ServiceAppointment.StatusServiceAppointmentStatus
ServiceContract.ApprovalStatusServiceContractApprovalStatus
CarePlanTemplate.Status
1
ServicePlanTemplateStatus
1
CareRequest.ServicingPractitionerLicense
1
ServicingPractitionerLicense
1
CareRequest.ServicingPractitionerSpecialty
1
ServicingPractitionerSpecialty
1
ServiceTerritoryMember.RoleServTerrMemRoleType
Shift.StatusShiftStatus
SocialContributionSum.Type
4
SocialContributionSumType
4
SocialPost.ClassificationSocialPostClassification
SocialPost.EngagementLevelSocialPostEngagementLevel
SocialPost.ReviewedStatusSocialPostReviewedStatus
Solution.StatusSolutionStatus
Scope3EmssnSrc.BusinessRegion
4
StnryAssetEnvrSrc.BusinessRegion
4
SourceBusinessRegion
4
VehicleAssetEmssnSrc.BusinessRegion
4
Asset.StatusReasonStatusReason
StnryAssetCrbnFtprnt.FootprintStage
4
StnryAssetCrbnFtprntStage
4
StnryAssetCrbnFtprnt.AllocationStatus
4
StnryAstCrbnFtAllocStatus
4
StnryAssetCrbnFtprnt.DataGapStatus
4
StnryAstCrbnFtDataGapSts
4
StnryAssetCrbnFtprnt.AllocationStatus
4
StnryAstCrbnFtAllocStatus
4
StnryAssetCrbnFtprnt.DataGapStatus
4
StnryAstCrbnFtDataGapSts
4
StnryAssetEnvrSrc.StationaryAssetType
4
StnryAstEvSrcStnryAstTyp
4
StnryAssetWaterFtprnt.FootprintStage
4
StnryAssetWaterFtprntStage
4
SustainabilityScorecard.SupplierClassification
4
SupplierClassification
4
SustainabilityScorecard.SupplierEmssnRdctnCmtType
4
SupplierEmssnRdctnCmtTypev
SustainabilityScorecard.SupplierReportingScope
4
SupplierReportingScope
4
SustainabilityScorecard.SupplierTier
4
SupplierTier
4
2114
StandardValueSet Names and Standard Picklist Fields
Field Name (API version 37.0 and earlier)Standard Value Set Name (API version 38.0 and later)
SustainabilityScorecard.Status
4
SustainabilityScorecardStatus
4
Task.PriorityTaskPriority
Task.StatusTaskStatus
Task.SubjectTaskSubject
Task.TypeTaskType
TrackedCommunicationDetail.DetailType
1
TCDDetailType
1
TrackedCommunication.Priority
1
TCPriority
1
TrackedCommunication.Status
1
TCStatus
1
TrackedCommunication.StatusReason
1
TCStatusReason
1
EngagementTopic.ProcessFailureReason
1
TopicFailureReasonEnum
1
EngagementTopic.ProcessStatus
1
TopicProcessStatusEnum
1
TrackedCommunication.Type
1
TrackedCommunicationType
1
CareInterventionType.InterventionType
1
TypesOfIntervention
1
ConsumptionSchedule.UnitOfMeasureUnitOfMeasure
UnitOfMeasure.Type
1
UnitOfMeasureType
1
VehicleAssetCrbnFtprnt.FootprintStage
4
VehicleAstCrbnFtprntStage
4
VehicleAssetCrbnFtprnt.VehicleType
4
VehicleAssetEmssnSrc.VehicleType
4
VehicleType
4
WasteFootprint.FootprintStage
4
WasteFootprintStage
4
WstDispoEmssnFctrSetItm.DisposalType
4
WasteDisposalType
4
WstDispoEmssnFctrSetItm.WasteType
4
WasteType
4
WorkOrderLineItem.PriorityWorkOrderLineItemPriority
WorkOrderLineItem.StatusWorkOrderLineItemStatus
WorkOrder.PriorityWorkOrderPriority
WorkOrder.StatusWorkOrderStatus
WorkStep.StatusWorkStepStatus
ServiceAppointment.AppointmentTypeWorkTypeDefApptType
WorkTypeGroup.AdditionalInformationWorkTypeGroupAddInfo
1
Part of Salesforce Health Cloud.
2115
StandardValueSet Names and Standard Picklist Fields
2
You can only update the label in this standard value set or picklist field. You cant insert or delete picklist values.
3
You cant read or update this standard value set or picklist field.
4
Part of Salesforce Net Zero Cloud.
5
Part of Public Sector Solutions.
2116
StandardValueSet Names and Standard Picklist Fields
INDEX
C
ChatterEmailsMDSettings component 1638
Components
ChatterEmailsMDSettings 1638
P
Prompt component 1424
U
UserEngagementSettings component 1893
2117