# legacydeveloper Api Meta - Full Documentation # AccountingFieldMapping Represents the accounting field mappings to organize your data and bring it to ledger entry records. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | accountingModelConfig | Field Type string Description Required. Record ID of the AccountingModelConfig record that the Field Mapping is associated with. | | isForAllocationType | Field Type boolean Description Reserved for internal use. | | isForPaymentType | Field Type boolean Description Reserved for internal use. | | isForTransactionType | Field Type boolean Description Reserved for internal use. | | isProtected | Field Type boolean Description Indicates whether this component is protected (true) or not protected (false). Default value is false. | | mappingBehavior | Field Type MappingBehaviorType (enumeration of type string) Description Required. Specifies how the target’s 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 | | masterLabel | Field Type string Description Required. A user-friendly name for AccountingFieldMapping, which is defined when the AccountingFieldMapping is created. | | sourceField | Field Type string Description The API name of the field on the source object that is mapped to the target field. | | targetField | Field Type string 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. ModelConfigOne FieldMappingOne FieldMappingOne true true true PointInTime TransactionJournal.MappingTargetOne\_\_c MappingTargetOne\_\_c false The following is an example package.xml that references the previous definition. FieldMappingOne AccountingFieldMapping 58.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AccountingModelConfig Represents the mapping of the financial data model to a logical data model and configuration for the generation of Transaction Journal records. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Fields | Field Name | Description | | --- | --- | | accountingType | Field Type AccountingType (enumeration of type string) Description Required. Determines whether the accounting set generates revenue or expense type transaction journal records. Valid values are: - Expense - Revenue | | defaultAccrualAccountCode | Field Type string Description The code for your accounting system's default accrual account. | | defaultWriteOffAccountCode | Field Type string Description Represents the name of your account for written off payments. | | earliestCreatedDate | Field Type dateTime Description Required. The date used to filter source records for processing. The Accounting Subledger only considers records created on or after this date. | | expectedCashFlowGrouping | Field Type ExpectedCashFlowGrouping (enumeration of type string) Description Determines whether Accounting Subledger groups transaction journal records by fund account or by a combination of fund account and due date. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Changing this setting doesn't impact existing records; it only affects records created or reversed afterward. Valid values are: - GroupByFundAccount - GroupByFundAndDueDate | | financeBook | Field Type string Description Reserved for internal use. | | internalMappingDetails | Field Type string Description Required. Represents the structure of your financial data in JSON format. | | isActive | Field Type boolean Description Required. Indicates whether only records that are true are processed when the Subledger Job runs. | | isGroupedByFundAccount | Field Type boolean Description Reserved for internal use. | | isUsed | Field Type boolean Description Required. Indicates whether the Accounting Model has been used or activated at least once (true) or not (false). ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If the value is set to true, you can’t select another object for the object model or change the number of objects associated with that Accounting Model. | | jobFilterCriteria | Field Type string Description Reserved for internal use. | | masterLabel | Field Type string Description Required. A user-friendly name for AccountingModelConfig, which is defined when the AccountingModelConfig is created. | | paidCashFlowGrouping | Field Type PaidCashFlowGrouping (enumeration of type string) Description Determines the level of detail for generated transaction journal records. Valid values are: - GroupByFundAccount—Accounting Subledger splits all transaction journal records into fund accounts. Secondary records are created for payment type records but not for transaction type records. - GroupBySummary—Accounting Subledger only splits credits for revenue and debits for expenses by fund accounts. | | recordTypeFilter | Field Type string Description Specify the record type IDs from the primary object to be processed. This field is case-sensitive. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If no record type is specified in the filter, all records are processed. | | runOrder | Field Type int 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. ModelConfigOne ModelConfigOne abc abc false false 123 abcabc 2021-12-01T00:00:00.000Z abcabc Revenue GroupByFundAccount GroupBySummary The following is an example package.xml that references the previous definition. ModelConfigOne AccountingModelConfig 57.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AccountingSettings Represents the settings for the Accounting Subledger feature. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 | Field Name | Description | | --- | --- | | enableAccountingSubledger | Field Type boolean Description Indicates whether Transaction Journal creation is enabled for the organization (true) or not (false). | | enableAslDataCloud | Field Type boolean Description Requires Data Cloud and Accounting Subledger access. Indicates whether Data Cloud Runtime for Accounting Subledger feature is enabled for the organization (true) or not (false). This field is available in API version 66.0 and later. | | enableFinancePeriod | Field Type boolean Description Reserved for internal use. | | enablePaymentMethodAdjust | Field Type boolean Description Indicates whether changes to the Payment Method generate adjustments on Transaction Journal records (true) or not (false). | | enableScheduledJob | Field Type boolean Description Reserved for internal use. | | enableSkipReversalLogic | Field Type boolean Description Indicates whether Skip Reversal Logic is enabled (true) or not (false). | ## Declarative Metadata Sample Definition The following is an example of an AccountingSettings component. true true true false The following is an example package.xml that references the previous definition. Accounting Settings 57.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AccountInsightsSettings Represents an org’s Einstein Account Insights settings. This setting controls features that help your reps maintain their relationships with their customers. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This metadata type has been deprecated as of API version 59.0. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version AccountInsightsSettings is available in API versions 48.0 to 58.0. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableAccountInsights | boolean | Indicates whether Einstein Account Insights is enabled (true) or not (false). The default value is false. | ## Declarative Metadata Sample Definition The following is an example of the AccountInsights.settings file: true ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the AccountInsights settings metadata: AccountInsights Settings 29.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AccountIntelligenceSettings Represents an org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for details. ## 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 there’s only one settings file for each settings component. ## Version AccountIntelligenceSettings is available in API versions 48.0 and later. ## Fields
Field Name Field Type Description
enableAccountLogos boolean 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.

enableAutomatedAccountFields boolean Indicates whether Automated Account Fields is enabled (true) or not (false). The default value is false.
enableNewsStories boolean Indicates whether News is enabled (true) or not (false). The default value is false.

enableAutomatedAccountFields must be true to use this setting.

## Declarative Metadata Sample Definition The following is an example of the AccountIntelligence.settings file: true true true ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the AccountIntelligence settings metadata: AccountIntelligence Settings 48.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AccountPlanObjMeasCalcDef Represents the metadata associated with an account plan objective measure calculation definition. An account plan objective measure calculation definition contains a target object, rollup field, and logic for calculating the current value of a sales account plan objective measure. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location AccountPlanObjMeasCalcDef components have the suffix .accountPlanObjMeasCalcDef and are stored in the accountPlanObjMeasCalcDefs folder. ## Version AccountPlanObjMeasCalcDef components are available in API version 63.0 and later. ## Special Access Rules To access AccountPlanObjMeasCalcDef components, enable account plans. ## Fields | Field Name | Description | | --- | --- | | conditions | Field Type [AccountPlanObjMeasCalcCond](#AccountPlanObjMeasCalcCond) Description The field and value combinations for filtering records to include in the calculation definition. | | description | Field Type string Description A summary of the calculation definition that’s visible to users when they select the definition for an account plan objective measure. | | developerName | Field Type string Description Required. The unique name of the object in the API. The name: - must be 40 characters or fewer - must begin with a letter - can contain only underscores and alphanumeric characters - can’t include spaces - can’t end with an underscore - can’t contain 2 consecutive underscores | | masterLabel | Field Type string Description Required. Label for this calculation definition. This display value is the internal label that doesn't get translated. | | rollupType | Field Type string Description Required. The method for calculating the account plan objective measure’s current value from records that match the calculation definition and any optional conditions. Possible values are: - Count - Max - Min - Sum In Setup, this field’s label is Calculation Type. | | status | Field Type string Description Required. Specifies the status of the calculation definition. Possible values are: - Active - Draft - Inactive Only active calculation definitions are available for users to select when they specify an account plan objective measure. | | targetField | Field Type string Description The field on TargetObject to use for calculating the account plan objective measure’s current value. Rollup fields on the Campaign, Case, Contact, or Opportunity object are supported. In Setup, this field’s label is Rollup Field. | | targetObject | Field Type string Description Required. The object to use for calculating the account plan objective measure’s current value. Possible values are: - Campaign - Case - Contact - Opportunity | ## AccountPlanObjMeasCalcCond Represents a field and value combination for filtering records to include in the calculation of a sales account plan objective measure’s current value. | Field Name | Description | | --- | --- | | fieldName | Field Type string Description Required. A field on the calculation definition’s TargetObject that you want to filter by. Fields on the Campaign, Case, Contact, or Opportunity objects are supported. | | operation | Field Type string Description Required. The logical operator for matching records with the specified field value. Possible values are: - Contains - Equals - GreaterOrEqual - GreaterThan - LessOrEqual - LessThan - NotContain - NotEqual - StartsWith | | value | Field Type string Description Required. The value to match for the specified field. | ## Declarative Metadata Sample Definition The following is an example of an AccountPlanObjMeasCalcDef component. StageName Equals ClosedWon Define sales revenue goals. Current Value will be auto-calculated as the sum of your selected Opportunities Amount with 'Closed Won' Stage. Opportunity\_Revenue\_Targets Opportunity Revenue Targets Sum Active Amount Opportunity The following is an example package.xml that references the previous definition. Opportunity\_Revenue\_Targets AccountPlanObjMeasCalcDef 63.0 # AccountPlanSettings Represents an org’s account plan settings. These settings control features that make it easy for sales reps to set objectives with actionable metrics and to store account research and analysis. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for more details. ## File Suffix and Directory Location AccountPlanSettings values are stored in the AccountPlan.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 AccountPlanSettings components are available in API version 63.0 and later. ## Fields | Field Name | Description | | --- | --- | | enableAccountPlan | Field Type boolean Description Indicates whether Account Plans is enabled (true) or not (false). The default value is false. | ## Declarative Metadata Sample Definition The following is an example of an AccountPlanSettings component. true The following is an example package.xml that references the previous definition. AccountPlan Settings 63.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AccountRelationshipShareRule The rule that determines which object records are shared, how they’re shared, the account relationship type that shares the records, and the level of access granted to the records. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") 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
Field Name Field Type Description
accessLevel string Type of access granted by the share rule. Valid values are:
  • Read
  • Edit
accountToCriteriaField string 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.

description string A meaningful explanation of the sharing rule.
entityType string The type of data shared by this share rule. Valid values are:
  • Account
  • Campaign
  • Case
  • Contact
  • Custom Object
  • Lead
  • Opportunity
  • Order
  • Quote
API names of top-level custom objects in the org can also be used, for example, CustomObject__c.
masterLabel string The label assigned to the sharing rule to identify it.
staticFormulaCriteria string A way to further filter what data gets shared. This string must be a deterministic formula, and spanning isn’t allowed.
type string Match the type of an account relationship for data to be shared according to the accountToCriteriaField and the staticFormulaCriteria fields.
## Declarative Metadata Sample Definition The following is an example of an AccountRelationshipShareRule component.    Edit    Account.OwnerId    TestDescription    Account    TestName    YearStarted = "1980"    Dealer The following is an example package.xml that references the previous definition.            ArsrDevName        AccountRelationshipShareRule     45.0 This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. # AccountSettings Represents an org’s account settings for account teams, account owner report, and the **View Hierarchy** link. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version AccountSettings is available in API versions 29.0 and later. ## Fields
Field Name Field Type Description
enableAccountDiscovery boolean When true, sets up Einstein Account Management dashboards and installs the related CRM Analytics and Customer Insights apps. The 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.

enableAccountHistoryTracking boolean Indicates whether history tracking is enabled for accounts (true) or not (false). The default value is false. If history tracking is disabled, 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.
enableAccountInsightsInMobile boolean Deprecated in API version 59.0 and later because the feature is no longer available. Indicates whether users can see Einstein Account Insights on 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.

enableAccountOwnerReport boolean Indicates whether the Account Owner Report can (true) or can’t (false) be run by all users.
enableAccountTeams boolean Indicates whether account teams are enabled (true) or not (false).

The Metadata API can’t be used to disable account teams.

enableContactHistoryTracking boolean Indicates whether history tracking is enabled for contacts (true) or not (false). Available in API version 46.0 and later.
enableRelateContactToMultipleAccounts boolean Indicates whether users can relate a contact to multiple accounts (true) or only one account (false). The default value is false. If this feature (Contacts to Multiple Accounts) is disabled, secondary contact–account 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.

enableReportsToOnPersonAccount boolean Indicates whether the Reports To field on Person Account, which corresponds to the PersonReportsToId field on the Account object, is enabled. The field allows users to associate person accounts and contacts with other person accounts or contacts that they report to.

Available in API version 62.0 and later.

showViewHierarchyLink boolean Indicates whether the default View Hierarchy link on all business account detail pages is visible (true) or hidden (false).
## Declarative Metadata Sample Definition The following is an example of the Account.settings file: true true false true true true true true true ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the Account settings metadata: Account Settings 29.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ActionableListDefinition Represents the data source definition details associated with an actionable list. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. ## 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 | Field Name | Description | | --- | --- | | actionableListDatasetColumns | Field Type [ActionableListDatasetColumn](#ActionableListDatasetColumn)\[\] Description The object that stores columns in a dataset associated with an actionable list. | | actionableListMemberStatuses | Field Type [ActionableListMemberStatus](#ActionableListMemberStatus)\[\] Description The object that stores the status and the corresponding status icon details of an individual actionable list member. | | actionableListType | Field Type static enum Description Specifies the type of actionable list. Available in API version 68.0 and later. | | isactive | Field Type boolean Description Indicates whether the actionable list definition is active (yes) or not (no). Available in API version 68.0 and later. | | batchCalcJobDefinition | Field Type string Description The batch calculation job definition that's associated with the creation of an actionable list. This field is a relationship field. | | datasetName | Field Type string Description The name of the dataset that is associated with the actionable list. | | description | Field Type text Description The description of the actionable list definition. Available in API version 68.0 and later. | | edgeMart | Field Type string Description The edgemart dataset that's associated with the actionable list. Available in API version 58.0 and later. | | isActive | Field Type boolean Description Indicates whether the actionable list definition is active (true) or not (false). The default value is false. | | masterLabel | Field Type string Description Required. The master label of the actionable list definition. | | objectName | Field Type string 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 - Lead - Opportunity API version 57.0 and later: - Account - Contact | | sourceObjectFieldName | Field Type text Description The name of the source object field associated with the actionable list definition. Available in API version 68.0 and later. | | sourceObjectName | Field Type text Description The source object name for which the actionable list is created. Available in API version 68.0 and later. | ## ActionableListDatasetColumn Represents the information about the columns in a dataset associated with an actionable list. Table 1. Fields | Field Name | Description | | --- | --- | | actionableListDefinition | Field Type master/detail Description The actionable list definition that's associated with the column. Available in API version 68.0 and later. | | dataDomain | Field Type DatasetColumnDataType (enumeration of type string) Description The data domain that is mapped to the data type of the dataset column. Possible values are: - Dates - Dimensions - Measures | | dataType | Field Type DatatableDataType (enumeration of type string) 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 - Text - Url | | displayOrder | Field Type int 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. | | isDefault | Field Type boolean Description Indicates whether the dataset column is added to the actionable list by default (true) or not (false). The default value is false. | | isGroupedByListDefObj | Field Type boolean 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. | | IsTypeAheadSearchEnabled | Field Type boolean Description Indicates whether the type-ahead search for filters is enabled (true) or not (false). Available in API version 60.0 and later. | | isSourceObjectField | Field Type boolean Description Indicates whether the dataset column belongs to source data model object or not. Available in API version 68.0 and later. | | objectName | Field Type string 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 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 | | sourceColumnApiName | Field Type string Description The API name of the column in the source dataset. Available in API version 68.0 and later. | | sourceFieldName | Field Type string 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. Table 2. Fields | Field Name | Description | | --- | --- | | iconName | Field Type string Description The name of the icon that's mapped to the status. | | status | Field Type string Description The status of the actionable list member. | ## Declarative Metadata Sample Definition The following is an example of a ActionableListDefinition component. true NewColumn1 ApiName Dimensions false NewColumn2 Account 1 Text NewMember1 Active true NewMember2 Account true Test1 AccountDef The following is an example package.xml that references the previous definition. \* ActionableListDefinition 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Fields
Field Name Field Type Description
actionLinkTemplates ActionLinkTemplate[] Action link templates that are associated with the action link group template.
category PlatformAction​GroupCategory (enumeration of type string) Required. The location of the action link group within the feed element. Values are:
  • Primary—The action link group is displayed in the body of the feed element.
  • Overflow—The action link group is displayed in the overflow menu of the feed element.
executionsAllowed ActionLink​ExecutionsAllowed (enumeration of type string) Required. The number of times an action link can be executed. Values are:
  • Once—An action link can be executed only once across all users.
  • OncePerUser—An action link can be executed only once for each user.
  • Unlimited—An action link can be executed an unlimited number of times by each user. If the action link’s actionType is Api or ApiAsync, you can’t use this value.
hoursUntilExpiration int 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.
isPublished boolean Required. If true, the action link group template is published. Action link group templates shouldn’t be published until at least one action link template is associated with it.
name string Required. The name of the action link group template to use in code.
## ActionLinkTemplate ActionLinkTemplate components are used to create multiple action links that share properties.
Field Name Field Type Description
actionUrl string 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 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 aren’t provided to clients. Links to Salesforce can be relative. All other links must be absolute and start with https://.
headers string Template for the HTTP headers sent when corresponding action links are invoked. This field can be used only for Api and ApiAsync action links. This field can contain context variables and binding variables in the form {!Bindings.key}.
isConfirmationRequired boolean Required. If true, a confirmation dialog appears before the action is executed.
isGroupDefault boolean 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.
label string 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.
labelKey string 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: Approve, Pending, Approved, Failed. For a complete list of keys and labels, see Action Link Labels in the Connect REST API Developer Guide.
linkType ActionLinkType (enumeration of type string) Required. The type of action link. One of these values:
  • Api—The 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.
  • ApiAsync—The 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.
  • Download—The action link downloads a file from the action URL.
  • Ui—The action link takes the user to a web page at the action URL.
method ActionLink​HttpMethod (enumeration of type string) Required. HTTP method for the action URL. One of these values:
  • HttpDelete—Returns HTTP 204 on success. Response body or output class is empty.
  • HttpGet—Returns HTTP 200 on success.
  • HttpHead—Returns HTTP 200 on success. Response body or output class is empty.
  • HttpPatch—Returns HTTP 200 on success or HTTP 204 if the response body or output class is empty.
  • HttpPost—Returns 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.
  • HttpPut—Return HTTP 200 on success or HTTP 204 if the response body or output class is empty.

Ui and Download action links must use HttpGet.

position int Required. An integer specifying the position of the action link template relative to other action links in the group. 0 is the first position.
requestBody string 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. This field can contain context variables and binding variables in the form {!Bindings.key}.
userAlias string If you selected CustomUser or CustomExcludedUser for UserVisibility, this field is the alias for the custom user. Use the alias in a template binding to specify the custom user when an action link group is created using the template.
userVisibility ActionLink​UserVisibility (enumeration of type string) Required. Who can see the action link. This value is set per action link, not per action link group. Values are:
  • Creator—Only the creator of the action link can see the action link.
  • Everyone—Everyone can see the action link.
  • EveryoneButCreator—Everyone but the creator of the action link can see the action link.
  • Manager—Only the manager of the creator of the action link can see the action link.
  • CustomUser—Only the custom user can see the action link.
  • CustomExcludedUser—Everyone but the custom user can see the action link.
## Declarative Metadata Sample Definition The following is an example of an ActionLinkGroupTemplate component. /services/data/{!Bindings.word}/chatter/feed-elements Content-Type:{!Bindings.word3} true true Add API httpPost 0 {"body":{"messageSegments":\[{"type": "Text", "text": "{!Bindings.word1}"}\]},"subjectId": "{!Bindings.word2}", "feedElementType": "feedItem"} customExcludedUser CustomExcludedUser Primary OncePerUser 10 true MyPackage The following is an example package.xml that references the previous definition. \* ActionLinkGroupTemplate 33.0 ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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.
Field Name Field Type Description
actionName string Required. The possible values are the same as the actions you can override:
  • accept
  • clone
  • delete
  • edit
  • list
  • new
  • tab
  • view
comment string Any comments you want associated with the override.
content string Set this field if type is set to flexipage, lightningcomponent, scontrol, or visualforce. It refers 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.
formFactor FormFactor (enumeration of type string) 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.

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 there’s 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.
skipRecordTypeSelect boolean Set this field to true if you prefer that any new records created by this action override aren’t forwarded to the record type selection page. This field is only valid if the actionName is a “create” type (like new), and type is set to visualforce. This field is available in API version 21.0 and later.
type ActionOverrideType (enumeration of type string) Required. Represents the type of action override. Valid values are described in ActionOverrideType.
## ActionOverrideType [ActionOverrideType](#actionOverrideType_section) is an enumeration of type string that defines which kind of action override to use. The valid values are: - default—The override uses a custom override provided by an installed package. If there isn’t one available, the standard Salesforce behavior is used. - flexipage—The override uses behavior from a Lightning page, and is only valid for the View action in Lightning Experience. - lightningcomponent—The override uses behavior from a Lightning component. - scontrol—The override uses behavior from an s-control. - standard—The override uses regular Salesforce behavior. - visualforce—The override uses behavior from a Visualforce page. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 section, and remove the row. Then, change the 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. Don’t use a previously retrieved file. Org default flexipage override assignment metadata can’t 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: edit visualforce myEditVFPage This edit action is a lot safer. edit lightningcomponent myEditLightningComponent Large This edit action is a lot safer. A Lightning component override for the Salesforce mobile app: edit lightningcomponent myEditLightningComponent Small This edit action is a lot safer. When overrides are included in a managed package, the overrides are represented as default type in the metadata. Calling [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm#meta_retrieve "The retrieve() call retrieves XML file representations of components in an organization.") presents the following: edit default 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: edit standard To set a Lightning page action override on the View standard button in Lightning Experience, use: View myLightningPage Large flexipage ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_businessprocess.htm "BusinessProcess") #### See Also - [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") # ActionPlanTemplate Represents the instance of an action plan template. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Fields
Field Name Field Type Description
actionPlanTemplateItem ActionPlanTemplateItem The instance of an item on an action plan template version.
actionPlanTemplateItemDependencies ActionPlanTemplateItemDependency[] Defines the dependencies between action plan template items. Available in API version 59.0 and later.
actionPlanType ActionPlanTemplateType (enumeration of type string) Type of the action plan template. Valid values are:
  • Industries
  • Retail
  • ITSM—Available in API version 65.0 and later.
  • PrvdEngmtCompliance
  • KAM

Available in API version 63.0 and later.

category string Category for this action plan template. Available in API version 64.0 and later.
description string The description of the action plan template.
estimatedCompletionDays int Estimated number of days required to complete the action plan. Available in API version 64.0 and later.
fileBasedTemplatePath string File path for a file-based action plan template. Available in API version 64.0 and later.
isAdHocItemCreationEnabled boolean Required. Indicates whether ad hoc item creation is enabled for this action plan template (true) or not (false). Available in API version 59.0 and later.
name string Required. The name of the action plan template.
sourceType string Source type of the action plan template. Available in API version 64.0 and later.
status string Status of the action plan template. Available in API version 64.0 and later.
subcategory string Subcategory for this action plan template. Available in API version 64.0 and later.
targetEntityType string Required. The parent object this action plan template relates to. Supported parent objects are Account, BusinessMilestone, Campaign, Case, Claim, Contact, Contract, InsurancePolicy, InsurancePolicyCoverage, Lead, Opportunity, PersonLifeEvent, and Visit and custom objects with activities enabled.
uniqueName string Required. The unique identifier for this action plan template record.
## ActionPlanTemplateItem Represents the instance of an item on an action plan template version. | Field Name | Field Type | Description | | --- | --- | --- | | actionPlanTemplateItemValue | [ActionPlanTemplateItemValue](#ActionPlanTemplateItemValue) | The value associated with the action plan template item. | | displayOrder | int | The order in which this item is displayed within the action plan template version. | | isRequired | boolean | Indicates whether the task created from this template item is required. | | itemEntityType | string | 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. | | name | string | Required. The name of the action plan template item. | | uniqueName | string | Required. The unique identifier for this action plan template item record. | ## ActionPlanTemplateItemDependency Represents a dependency between action plan template items, defining the sequential relationship and creation timing of items. Available in API version 59.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | creationType | string | Required. Defines how the dependent item is created in the action plan. | | name | string | Required. Name of the dependency relationship. | | previousTemplateItem | [ActionPlanTemplateItem](#ActionPlanTemplateItem) | Required. Reference to the prerequisite template item that must be completed before the dependent item begins. | | templateItem | [ActionPlanTemplateItem](#ActionPlanTemplateItem) | Required. Reference to the dependent template item that relies on the completion of the previous item. | ## ActionPlanTemplateItemValue Represents the value associated with an action plan template item. | Field Name | Field Type | Description | | --- | --- | --- | | itemEntityType | string | 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. | | name | string | Required. The name of the action plan template item value. | | valueFormula | string | The formula for this action plan template item. | | valueLiteral | string | The value for this action plan template item. | ## Declarative Metadata Sample Definition The following is an example of an ActionPlanTemplate component. Subject APT 01 Account Packaging APTI 01 Task Priority Normal Task ActivityDate StartDate + 10 Task 1 true Task APT 01 Account Packaging APTI 01 APT\_01\_Account\_Packaging\_APTI\_01\_2827f387\_9dbc\_11e9\_920a\_e95716848ddd Subject APT 01 Account Packaging APTI 02 Task Priority Normal Task ActivityDate StartDate + 10 Task 1 true Task APT 01 Account Packaging APTI 02 APT\_01\_Account\_Packaging\_APTI\_02\_3430da7b\_9dbc\_11e9\_920a\_b5d3292906c3 Subject APT 01 Account Packaging APTI 03 Task Priority Normal Task ActivityDate StartDate + 10 Task 1 true Task APT 01 Account Packaging APTI 03 APT\_01\_Account\_Packaging\_APTI\_03\_2d0363d9\_9dbc\_11e9\_920a\_219a003f176d APT Task Dependency OnPreviousItemCompleted Subject APT 01 Account Packaging APTI 01 Task Priority Normal Task ActivityDate StartDate + 10 Task 1 true Task APT 01 Account Packaging APTI 01 APT\_01\_Account\_Packaging\_APTI\_01\_2827f387\_9dbc\_11e9\_920a\_e95716848ddd Subject APT 01 Account Packaging APTI 02 Task Priority Normal Task ActivityDate StartDate + 10 Task 1 true Task APT 01 Account Packaging APTI 02 APT\_01\_Account\_Packaging\_APTI\_02\_3430da7b\_9dbc\_11e9\_920a\_b5d3292906c3 APT 01 Account Packaging Description APT 01 Account Packaging Account Industries APT\_01\_Account\_Packaging\_0c9e8b15\_9dbc\_11e9\_920a\_8d6ecf990219 false Onboarding OnBoarding Product 4 Migrated From SandBox Action Plan Template Draft The following is an example package.xml that references the previous definition. \* ActionPlanTemplate 47.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based.htm "HTML (New Window)"). # ActionsSettings Represents an org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for details. ## 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 there’s only one settings file for each settings component. ## Version Components are available in API version 47.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableDefaultQuickActionsOn | boolean | Indicates whether default quick actions are created in the org (true, the default setting) or not (false). | | enableDynamicActionsMobileStdObj | boolean | Indicates whether Dynamic Actions on Mobile is enabled (true) or not (false, the default setting). | | enableMdpEnabled | boolean | Indicates whether multi-dimensional publisher is enabled (true, the default setting) or not (false). | | enableThirdPartyActions | boolean | Indicates whether third-party actions are displayed in the multi-dimensional publisher (true) or not (false, the default setting). | | enableOfflineWebLinks | boolean | Indicates whether a button or link is available offline (true), or if it's only available online (false, the default setting). | ## Declarative Metadata Sample Definition The following is an example of an ActionsSettings component. true true true ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ActivationPlatform Represents the ActivationPlatform configuration, such as platform name, delivery schedule, output format, and destination folder. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | activationPlatformConnectorType | Field Type ActivationPlatformConnectorType (enumeration of type string) Description Reserved for future use. | | activationPlatformAdditionalMetadata | Field Type string Description Provides additional details about the activation platform, including subscriber override options, partner supported IDs, and file output properties such as maximum file size, compression settings, and the maximum number of records per file. | | dataConnector | Field Type string Description Reference to the ActvPfrmDataConnectorS3 metadata type, which contains S3 bucket and export directory information into which Data 360 writes data. | | description | Field Type string Description Required. The description for ActivationPlatform. | | enabled | Field Type boolean Description Required. Indicates whether the ActivationPlatform is enabled (true) or not (false). The default is false. | | includeSegmentNames | Field Type boolean Description Indicates whether to include the segment name in metadata (true) or not (false). | | logoUrl | Field Type string Description URL of the logo for the activation channel destination. | | masterLabel | Field Type string Description Required. The name for the activation channel destination. | | notes | Field Type string Description Notes for this ActivationPlartform. | | outputFormat | Field Type ActivationPlatformFileOutputFormat (enumeration of type string) Description Required. The output format of the file. Valid values are: - CSV - JSON - PARQUET | | outputGrouping | Field Type ActivationPlatformFileOutputGrouping (enumeration of type string) Description Required. The grouping of the output. Valid values are: - PER\_ACCOUNT - PER\_SEGMENT - PER\_USER | | periodicRefreshFrequecy | Field Type ActivationPlatformPeriodicFullRefresh (enumeration of type string) Description The frequency (in days) for periodic full refreshes when using incremental refresh mode. Valid values are: - REFRESH\_30 - REFRESH\_60 | | platformType | Field Type ActivationPlatformType (enumeration of type string) Description Required. The type of the Activation Platform. Valid values are: - Advertising - Analytics - Marketing - Publishing - Technology | | refreshFrequency | Field Type ActivationPlatformRefreshFrequency (enumeration of type string) Description Required. Indicates how often the activation platform accepts data delivery. Valid value is: - TWENTY\_FOUR | | refreshMode | Field Type ActivationPlatformRefreshMode (enumeration of type string) 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. S3Connector Activation Platform Description false false link to logo MyExternalPlatform Notes about this Platform CSV PER\_ACCOUNT FULL TWENTY\_FOUR NEVER Advertising The following is an example package.xml that references the previous definition. MyActivationPlatform APlatform ActivationPlatform AccountIdField ActivationPlatformField S3Connector ActvPfrmDataConnectorS3 EmailIdentifier ActvPlatformAdncIdentifier AccountIdFieldValue ActvPlatformFieldValue 54.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # ActivationPlatformActvAttr Represents the information about activation attributes. Reserved for future use. # ActivationPlatformField Represents the information about the fields used in ActivationPlatform. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | activationPlatform | Field Type string Description Required. Reference to the ActivationPlatform metadata type. | | helpText | Field Type string Description Information about ActivationPlatformField. | | isHidden | Field Type boolean Description Required. Indicates whether ActivationPlatformField can be overridden by marketer (false) or not (true). The default is false. Field can’t be overridden by marketer when set to true. | | isRequired | Field Type boolean Description Required. Indicates whether this ActivationPlatformField is required (true) or not (false). The default is false. | | masterLabel | Field Type string Description Required. The name of the ActivationPlaformField. | | type | Field Type ActivationPlatformFieldDataType (enumeration of type string) Description Represents the datatype of the field. Valid value is: - Text | ## Declarative Metadata Sample Definition The following is an example of an ActivationPlatformField component. APlatform false true AccountId The following is an example package.xml that references the previous definition. MyActivationPlatform APlatform ActivationPlatform AccountIdField ActivationPlatformField 54.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # ActivitiesSettings Represents an org's 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) - 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s 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.
Field Name Field Type Description
allowUsersToRelateMultipleContactsToTasksAndEvents boolean This field indicates whether Shared Activities is enabled. When the value is true, allows users to relate multiple contacts to a task or event.
Important

Important

Beginning with API v36.0, this field is read-only in all versions of the API. You can’t change the value of this field. Even though this field was updateable before Spring '16, changing this field’s 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.

autoRelateEventAttendees boolean 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.

Available in API version 42.0 and later.

enableActivityReminders boolean Enables popup activity reminders for an organization.

Admins control this field on the Activity Settings page.

enableCalendarHomeLWC boolean 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.

enableClickCreateEvents boolean Lets users create events in day and weekly calendar views by double-clicking a specific time slot and entering the details of the 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. Doesn’t support recurring events or multi-person events.

Admins control this field on the User Interface settings page.

enableDragAndDropScheduling boolean 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 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.

enableEmailTracking boolean Enables tracking of outbound HTML emails if an organization uses HTML email templates.

Admins control this field on the Activity Settings page.

enableFlowTaskNotifsViaApex boolean If Apex invokes Process Builder to create a task, determines whether an email is sent (true) or not (false).
enableGroupTasks boolean Lets users assign independent copies of a new task to multiple users.

Admins control this field on the Activity Settings page.

enableHideChildEventsPreference boolean Enables hiding child events from the calendar or activity views. This setting is useful if you have complex event hierarchies and want to simplify the views by hiding less relevant details. This field is available in API version 50.0 and later.

Admins control this field on the Activity Settings page.

enableListViewScheduling boolean Extends the functionality of enableDragAndDropScheduling and enableClickCreateEvents to list view calendars.

Admins control this field on the User Interface settings page.

enableLogNote boolean Enables the option to create and associate a note on an existing record.
enableMLSingleClientProfile boolean Enable creating a client profile using machine learning. When this setting is enabled, Salesforce uses machine learning algorithms to analyze and consolidate client data, providing a more comprehensive client profile. This can help sales and service teams to better understand their clients and provide more personalized interactions. This field is available in API version 50.0 and later.

Admins control this field on the Activity Settings page.

enableMultidayEvents boolean Enables creation of events that end more than 24 hours after they start.

Admins control this field on the Activity Settings page.

enableRecurringEvents boolean Enables creation of events that repeat at specified intervals.

Admins control this field on the Activity Settings page.

enableRecurringTasks boolean Enables creation of tasks that repeat at specified intervals.

Admins control this field on the Activity Settings page.

enableRollUpActivToContactsAcct boolean Enables a contact’s activities to be rolled up and displayed on the contact’s primary account. Default value is true.

Available in API versions 47.0 and later.

enableSidebarCalendarShortcut boolean In the sidebar, displays a shortcut link to a user’s last-used calendar view.

Admins control this field on the Activity Settings page.

enableSimpleTaskCreateUI boolean 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.

enableTimelineCompDateSort boolean 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.

enableUNSTaskDelegatedToNotifications boolean 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.
enableUserListViewCalendars boolean Allows users to create and view user list view calendars in Lightning Experience. Available in API versions 47.0 and later
meetingRequestsLogo string 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.

showCustomLogoMeetingRequests boolean Displays a custom logo in meeting request emails and on a meeting’s 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.

showEventDetailsMultiUserCalendar boolean Displays event details on-screen rather than in hover text.

Admins control this field on the Activity Settings page.

showHomePageHoverLinksForEvents boolean In the calendar section of the Home tab:
  • 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.

showMyTasksHoverLinks boolean In the My Tasks section of the Home tab and on the calendar day view:
  • 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.

## Example Package Manifest The following is an example package manifest used to deploy or retrieve the activity settings metadata for an organization: Activities Settings 28.0 ## Declarative Metadata Sample Definition The following is an example of an activity settings file: true true true true true true true true true true true true true true Folder02/logo03.png true true true true ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [Document](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_document.htm "Represents a Document. All documents must be in a document folder, such as sampleFolder/TestDocument.") # ActvPfrmDataConnectorS3 Represents the Amazon S3 bucket name and export directory. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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 | Field Name | Description | | --- | --- | | bucketName | Field Type string Description Required. The Amazon S3 bucket name. | | exportDirectory | Field Type string Description This is an optional field that is reserved for internal use. | | masterLabel | Field Type string Description Required. The display name of ActvPfrmDataConnectorS3. | ## Declarative Metadata Sample Definition The following is an example of an ActvPfrmDataConnectorS3 component. MyS3Bucket Output S3Connector The following is an example package.xml that references the previous definition. MyActivationPlatform APlatform ActivationPlatform S3Connector ActvPfrmDataConnectorS3 54.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Fields | Field Name | Description | | --- | --- | | activationPlatform | Field Type string Description Required. Reference to the ActivationPlatform metadata type.Reference to ActivationPlatform. | | identifierHashMethod | Field Type ActivationPlatformIdentifierHashMethod (enumeration of type string) 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. | | identifierType | Field Type ActivationPlatformIdentifierType (enumeration of type string) Description Required. The type of identifier to be activated. Valid values are: - EMAIL - MAID - OTT - PHONE | | masterLabel | Field Type string Description Required. The name of the identifier. | ## Declarative Metadata Sample Definition The following is an example of an ActvPlatformAdncIdentifier component. APlatform SHA256 EMAIL EmailIdentifier The following is an example package.xml that references the previous definition. MyActivationPlatform APlatform ActivationPlatform EmailIdentifier ActvPlatformAdncIdentifier 54.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # ActvPlatformFieldValue Represents the field values for the ActivationPlatformFields. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Special Access Rules ## Fields | Field Name | Description | | --- | --- | | activationPlatformField | Field Type string Description Required. Reference to the ActivationPlatform metadata type. | | isDefault | Field Type boolean Description Required. Indicates whether the value is default (true) or not (false). The default is false. Picklist isn’t supported in API version 54.0 | | masterLabel | Field Type string Description Required. The name of the field. | | value | Field Type string Description The value of activationPlatformField. | ## Declarative Metadata Sample Definition The following is an example of an ActvPlatformFieldValue component. Field with no value: AccountIdField true AccountIdValue null Field with value: AccountIdField true AccountIdValue 1234 The following is an example package.xml that references the previous definition. MyActivationPlatform APlatform ActivationPlatform AccountIdField ActivationPlatformField AccountIdValue ActvPlatformFieldValue 54.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version AddressSettings is available in API versions 27.0 and later. ## Salesforce CLI Usage When working with the Salesforce CLI, use the metadata type Settings:Address to deploy or retrieve address settings. ## CountriesAndStates This complex metadata type represents valid definitions of states and countries/territories in picklists. | Field | Field Type | Description | | --- | --- | --- | | countries | Country\[\] | The countries and territories available in picklists. | ## Country This metadata type provides the definition for a country/territory in a picklist.
Field Field Type Description
active boolean Determines whether the value is available in the API.
Important

Important

After you enable state and country/territory picklists in your Salesforce organization, you can’t set the active status to false.

integrationValue string
A customizable text value that is linked to a state or country/territory code. Integration values for standard states, 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.
Important

Important

If you don’t 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.

isoCode string The ISO-standard code populates this field when you issue a retrieve() call. You can’t edit the isoCode of standard states, countries, and territories.
label string The label is what users see in picklists in Salesforce.
orgDefault boolean Sets a country or territory as the default value for new records in the Salesforce organization.
standard boolean Standard states and countries are states and countries that are included with Salesforce. You can’t edit the standard attribute.
states State[] The states or provinces that are part of the country or territory.
visible boolean Makes the state, country, or territory available to users in Salesforce. States, countries, or territories that are visible must also be active.
## State This metadata type provides the definition for a state in a picklist.
Field Field Type Description
active boolean Determines whether the value is available in the API.
Important

Important

After you enable state and country/territory picklists in your Salesforce organization, you can’t set the active status to false.

integrationValue string
A customizable text value that is linked to a state or country/territory code. Integration values for standard states, 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.
Important

Important

If you don’t 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.

isoCode string The ISO-standard code populates this field when you issue a retrieve() call.
label string The label is what users see in picklists in Salesforce.
standard boolean Standard states and countries are states and countries that are included with Salesforce. You can’t edit the standard attribute.
visible boolean Makes the state, country, or territory available to users in Salesforce. States, countries, or territories that are visible must also be active.
## 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 68.0. true United States US United States true true true Alabama AL Alabama true true true Alaska AK Alaska true true true true Canada CA Canada false true Alberta AB Alberta true true true British Columbia BC British Columbia true true true true Greenland GL Greenland true false ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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 unit’s data. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | accountFieldName | Field Type string Description The field name for the account in the advanced account forecast fact record. | | calculationFrequency | Field Type AdvAcctFcstCalcFrequency (enumeration of type string) Description The frequency at which the forecast set is recalculated automatically. Possible values are: - Monthly - Quarterly - Weekly - Yearly The default value is Monthly. | | description | Field Type string Description The description of the advanced account forecast set record. | | dimensions | Field Type [AdvAcctForecastDimension\[\]](#AdvAcctForecastDimension) Description The dimensions selected for an advanced account forecast set to categorize the forecast data. | | displayGroups | Field Type [AdvAcctFrcstDisplayGroup\[\]](#AdvAcctFrcstDisplayGroup) Description The information about the groups for the advanced account forecast set measures or dimensions. | | forecastAdjPeriods | Field Type [AdvAcctForecastAdjPeriod\[\]](#AdvAcctForecastAdjPeriod) Description The details about the adjustment period of the advanced account forecast values. | | forecastFactObjectName | Field Type string Description Required. The API name of the object that contains the advanced forecast fact records. | | forecastFormulas | Field Type [AdvAccountForecastFormula\[\]](#AdvAccountForecastFormula) Description The formulas based on which forecast values are calculated. | | forecastPeriodGroupName | Field Type string Description Required. The name of the advanced account forecast period group record. | | forecastQuantityFieldName | Field Type string Description The field name for the forecast quantity in the advanced account forecast fact record. | | forecastRevenueFieldName | Field Type string Description The field name for the forecast revenue in the advanced account forecast record. | | forecastSetFieldName | Field Type string Description The field name for the Forecast Set ID in the advanced account forecast fact record. | | forecastSetName | Field Type string Description Required. The name of the advanced account forecast set record. | | forecastStatusFieldName | Field Type string Description The field name for the status in the advanced account forecast fact record. | | generationDpeDefName | Field Type string Description The name of the data processing engine (DPE) definition that’s used to generate advanced account forecast fact records. | | measureDefinitions | Field Type [AdvAcctForecastMeasureDef\[\]](#AdvAcctForecastMeasureDef) Description The measures to display in the advanced account forecasts grid for the forecast set. | | periodFieldName | Field Type string Description The field name for the period in the advanced account forecast fact record. | | recalculateDpeDefName | Field Type string Description The name of the data processing engine definition that’s used to recalculate the advanced account forecast fact records. | | regenerationDpeDefName | Field Type string Description The name of the data processing engine definition that’s used to regenerate the advanced account forecast fact records. | | rolloverDpeDefName | Field Type string Description The data processing engine definition that’s used to generate the rollover advanced account forecast fact records. | | rolloverFrequency | Field Type AdvAcctFcstCalcFrequency (enumeration of type string) Description The frequency of rollover of the advanced account forecast records. Possible values are: - Monthly - Quarterly - Weekly - Yearly The default value is Monthly. | | status | Field Type AdvAccForecastSetStatus (enumeration of type string) 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. | Field Name | Description | | --- | --- | | endPeriod | Field Type int Description Required. The period until when the forecast formula is applicable. | | formulaExpression | Field Type string Description Required. The formula based on which forecast values are calculated. | | formulaType | Field Type AdvAcctFcstFormulaType (enumeration of type string) Description Required. Specifies the calculation type for the formula. Possible values are: - QUANTITY - REVENUE The default value is QUANTITY. | | startPeriod | Field Type int Description Required. The period from when the forecast formula is applicable. | ## AdvAcctForecastAdjPeriod Represents details about the adjustment period of the advanced account forecast values. | Field Name | Description | | --- | --- | | adjustmentDayCount | Field Type int Description Required. The number of days during which you can make forecast adjustments. | | frequency | Field Type PeriodTypes (enumeration of type string) Description Required. The frequency that’s applicable to make any forecast adjustments. Possible values are: - Month - Quarter - Week - Year The default value is Month. | | profileName | Field Type string Description The name of the profile with which you can adjust the forecast set. | | startDay | Field Type int 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. | Field Name | Description | | --- | --- | | advAcctForecastDimName | Field Type string Description Required. The name of the advanced account forecast dimension. | | dimensionFieldName | Field Type string Description Required. The API name of the field for the dimension in the custom object that contains the generated advanced account forecast records. | | dimensionSourceName | Field Type string Description The name of the dimension source associated with the advanced account forecast set dimension record. | | hierarchySequenceNumber | Field Type int 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. | Field Name | Description | | --- | --- | | advAcctForecastMeasureDefName | Field Type string Description Required. The name of the definition for the advanced account forecast measure. | | aggregationType | Field Type AdvAcctFcstAggregationType (enumeration of type string) Description Required. The type of aggregation that’s used for calculating the advanced account forecast values. Possible values are: - AVERAGE - MAXIMUM - MINIMUM - SUM The default value is SUM. | | computationMethod | Field Type AdvAcctFcstComputationMethod (enumeration of type string) Description Required. The method that’s used for calculating the advanced account forecast values. Values are: - CUSTOM - DATA\_PROCESSING\_ENGINE\_DEFINITION - FORMULA The default value is DATA\_PROCESSING\_ENGINE\_DEFINITION. | | forecastDataMeasureName | Field Type string Description Required. The field of the facts object used for the advanced account forecast measure. | | forecastMeasureName | Field Type string Description Required. The name for the advanced account forecast measure to show on UI. | | forecastMeasureType | Field Type AdvAcctFcstMeasureType (enumeration of type string) Description Required. The measure type that’s used for the generated advanced forecast values. Possible values are: - QUANTITY - REVENUE The default value is QUANTITY. | | isAdjustmentTracked | Field Type boolean 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. | Field Name | Description | | --- | --- | | advAcctFrcstDisplayGroupName | Field Type string Description Required. The name of the advanced account forecast display group. | | displayGroupItems | Field Type [AdvAcctFrcstDplyGroupItem\[\]](#AdvAcctFrcstDplyGroupItem) Description The items associated with a display group for an advanced account forecast set. | | displayGroupType | Field Type AdvAcctFrcstDisplayGroupType (enumeration of type string) Description The category of the display group. Possible value is: - MEASURE | | isDefault | Field Type boolean Description Indicates whether the display group is the default group (true) or not (false). | | userProfileName | Field Type string 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. | Field Name | Description | | --- | --- | | advAcctFrcstDplyGroupItemName | Field Type string Description Required. The name of the advanced account forecast display group that’s associated with the group item. | | displayOrder | Field Type int Description Required. The display order of the display group item. | | measureReferenceName | Field Type string Description The ID of the measure associated with the display group item. | ## Declarative Metadata Sample Definition The following is an example of an AdvAccountForecastSet component. Quarterly 5 Quarter 1 12 6 2 QUANTITY PeriodGroup1 Account Period ForecastedQuantity ForecastedRevenue AdvAccountForecastFact AdvAcctForecastSetPartner Monthly Status sample forecast set Inactive Forecast Set 1 Account DimSource1 1 DimensionName MeasureName Sample Def Name true Samplemeasure name MINIMUM DATA\_PROCESSING\_ENGINE\_DEFINITION QUANTITY Sample Measure Group MEASURE false Sample Quantity Sample Def Name 1 The following is an example package.xml that references the previous definition. \* AdvAccountForecastSet 68.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AffinityScoreDefinition Represents the affinity information used in calculations to analyze and categorize contacts for marketing purposes. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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 68.0 and later. ## 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 ### affinityScoreDefinitionDesc - **Field Type**: string - **Description**: Description of the affinity score definition. ### affinityScoreDefinitionName - **Field Type**: string - **Description**: Name of the affinity score definition. ### affinityScoreType - **Field Type**: AffinityScoreType (enumeration of type string) - **Description**: Type of the affinity score that's defined. Valid values are CAP—Capacity, Ability, Propensity (CAP), or RFM—Recency, Frequency, Monetary (RFM). - **Default value**: RFM ### masterLabel - **Field Type**: string - **Description**: Label for this affinity score definition value. This display value is the internal label that doesn't get translated. ### numberOfMonths - **Field Type**: int - **Description**: Number of months to analyze the records for calculating the affinity score. ### numberOfRanges - **Field Type**: int - **Description**: Required. Number of ranges to use in the calculation, ranging from 0 to 9. Provide the corresponding range list values in the scoreRangeList field. ### scoreRangeList - **Field Type**: string - **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. ### sourceFieldApiNameList - **Field Type**: string - **Description**: Required. API names of the source fields that are referenced in the score calculation. ### sourceObjectApiNameList - **Field Type**: string - **Description**: API names of the source objects that are referenced in the score calculation. ### targetFieldApiNameList - **Field Type**: string - **Description**: Required. API names of the target fields where the calculated scores are added. ### targetObjectApiName - **Field Type**: string - **Description**: API name of the target object where the calculated scores are added. Example scoreRangeList format: { "R ranges":"0-30, 31-100, 100+", "F ranges":"0-10, 11-100, 100+", "M ranges":"0-1000, 1001-5000, 5000+" } ## Declarative Metadata Sample Definition This example shows a sample of an AffinityScoreDefinition component. RFM Affinity Score AffinityScoreDefinition\_RFM RFM MasterLabel 12 3 \[ { "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\] } \] \[ { "name": "R Source", "values": \[ { "fieldName": "DonorGiftSummary.DaysSinceLastGift", "fieldWeight": 1 } \] }, { "name": "F Source", "values": \[ { "fieldName": "DonorGiftSummary.GiftCount", "fieldWeight": 1 } \] }, { "name": "M Source", "values": \[ { "fieldName": "DonorGiftSummary.TotalGiftsCount", "fieldWeight": 1 } \] } \] \[ { "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 } \] } \] This example shows a sample of the package.xml file that references the previous definition. \* AffinityScoreDefinition 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # AgentforceAccountManagementSettings Represents an org’s Agentforce Account Management settings. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for details. ## File Suffix and Directory Location AgentforceAccountManagementSettings values are stored in the AgentforceAccountManagement.settings file in the settings folder. The .settings files are different from other named components because there’s only one settings file for each settings component. ## Version AgentforceAccountManagementSettings components are available in API version 65.0 and later. ## Fields | Field Name | Description | | --- | --- | | enableAccountManagement | Field Type boolean Description Indicates whether Agentforce Account Management is enabled (true) or not (false). | ## Declarative Metadata Sample Definition The following is an example of the AgentforceAccountManagement.settings file: true The following is an example package.xml manifest that references the previous definition. AgentforceAccountManagement Settings 65.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AgentforceForDevelopersSettings Represents Agentforce for Developers settings. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all org settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for more details. ## File Suffix and Directory Location AgentforceForDevelopersSettings values are stored in the AgentforceForDevelopers.settings file in the settings folder. The .settings files are different from other named components because there’s only one settings file for each settings component. ## Version AgentforceForDevelopersSettings are available in API versions 62.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | agentforceForDevelopersOptOut | boolean | Indicates whether Agentforce for Developers is enabled: true or false. If true, Agentforce for Developers isn't enabled in your org, which means that you've opted out of using it. If false, Agentforce for Developers is enabled. The default value is false. | ## Declarative Metadata Sample Definition The following is an example of the AgentforceForDevelopers.settings file: false The following is an example package.xml manifest that references the previous definition. AgentforceForDevelopersSettings Settings 62.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AgentPlatformSettings Represents settings for Agentforce. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for more details. ## File Suffix and Directory Location AgentPlatformSettings values are stored in the AgentPlatformSettings.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 AgentPlatformSettings components are available in API version 64.0 and later. ## Special Access Rules Einstein Generative AI (EinsteinGptSettings.enableEinsteinGptPlatform) must be enabled for your org. ## Fields | Field Name | Description | | --- | --- | | enableAgentPlatform | Field Type boolean Description Indicates whether Agentforce is turned on. The default value is false. | ## Declarative Metadata Sample Definition The following is an example of an AgentPlatformSettings component. true The following is an example package.xml that references the previous definition. AgentPlatform Settings 64.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AiAgentDefinition Represents an Agentforce agent and the settings that apply to all its versions, such as its type and its context variables. Each version of the agent is a separate AiAgentDefinitionVersion component. For information about retrieving and deploying an Agentforce agent, see Use [Use Metadata to Move an Agent to a New Org](https://developer.salesforce.com/docs/ai/agentforce/guide/agent-dx-deploy-metadata.html). ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. The fullName is the agent's API name, for example, MyAgent. Each version of the agent is an AiAgentDefinitionVersion component named with a version number, for example MyAgent#1 or MyAgent#2. ## File Suffix and Directory Location AiAgentDefinition components have the suffix .aiAgentDefinition and are stored in the aiAgents folder. For example, aiAgents/MyAgent.aiAgentDefinition. ## Version AiAgentDefinition components are available in API version 68.0 and later. ## Special Access Rules AiAgentDefinition is available only if Agents is enabled in your org. ## Fields | Field Name | Description | | --- | --- | | agentDescription | Field Type string Description A description of the agent. | | agentDSLEnabled | Field Type boolean Description Indicates whether the agent is defined using Agent Script (true) or not (false). When you deploy a new agent with this field set to true, include the agent's AiAuthoringBundle in the deployment unless the target org already has it. | | agentType | Field Type string Description The type of agent, for example, EinsteinServiceAgent. Required when type is InternalCopilot or ExternalCopilot\`. For InternalCopilot agents, you can't change this value after the agent is created.Valid values are: - AgentforceEmployeeAgent - Analytics - AppDevAgent - BankingServiceAgent - BuyerAgent - CustomAgent - EinsteinSDR - EinsteinServiceAgent - Employee - ExperienceBuilder - FieldServiceAgent - GoalBasedAgent - GuidedShoppingAgent - LightningAppBuilder - ProspectingAgent - SalesCanvasAgent - SalesDealAgent - SalesEinsteinCoach - ScaleAgent - ServicePlanner - Setup - ShopperAgent - ThirdPartyA2AAgent | | botUser | Field Type string Description The username of the user that the agent runs as. Use the username, not the user's name or ID. The user must be an active standard user with access to the agent. Not supported when agentType is Employee or AgentforceEmployeeAgent. | | contextVariables | Field Type [ConversationContextVariable\[\]](#ConversationContextVariable) Description The context variables that store data available to the agent during a conversation. | | logPrivateConversationData | Field Type boolean Description Indicates whether private conversation data is logged (true) or not (false). | | richContentEnabled | Field Type boolean Description Indicates whether the agent supports rich content in its responses (true) or not (false). | | type | Field Type string Description The configuration type of the agent. Always set this field. If you omit this field when you create an agent, the agent gets type Bot and is retrieved as a Bot component, not an AiAgentDefinition component. You can't change the type after the agent is created. Valid values are: - AgentforceOrchestrator - Bot - ExternalCopilot—An external-facing agent. For example, an Agentforce Service agent. - InternalCopilot—An internal-facing agent. For example, an Agentforce Employee agent. | ## ConversationContextVariable Represents the context variable that stores data available to the agent during a conversation. | Field Name | Description | | --- | --- | | contextVariableMappings | Field Type [ConversationContextVariableMapping\[\]](#ConversationContextVariableMapping) Description The mappings that associate the context variable with a source field. | | dataType | Field Type ConversationDataType (enumeration of type string) Description Required. Valid values are: - Boolean - Currency - Date - DateTime - Id - Object - Number - Text | | description | Field Type string Description A description of this context variable. This value may be used by the Agentforce planner service. | | developerName | Field Type string 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. | | includeInPrompt | Field Type boolean Description Indicates whether the context variable is injected into the prompt sent to the Agentforce model (true) or not (false). | | label | Field Type string Description Required. Label that identifies a context variable throughout the Salesforce user interface. | | SObjectType | Field Type string Description Specifies the SObjectType of the ID stored in the context variable. | ## ConversationContextVariableMapping Represents the variable that associates the context variable with a source field. | Field Name | Description | | --- | --- | | fieldName | Field Type string Description Required. The name of the field mapped to the context variable. | | messageType | Field Type MessageType (enumeration of type string) Description Required. The type of message that the mapping applies to. Valid values are: - Alexa - AppleBusinessChat - Custom - Email - EmbeddedMessaging - Facebook - GoogleChat - GoogleHome - InternalCopilot - Line - MsCopilot - Omega - Phone - PstnVoice - Rcs - SipVoice - Slack - Text - Voice - VoiceIntegrationPilot - WebChat - WeChat - WhatsApp - WhatsAppVoice | | SObjectType | Field Type string Description Required. Specifies the SObjectType of the ID used in the context variable mapping. | ## Declarative Metadata Sample Definition Here's an example of an AiAgentDefinition component. true Answers common customer questions and escalates complex issues. EinsteinServiceAgent myagent.user@example.com MessagingSession MessagingSession.ChannelType EmbeddedMessaging Text The channel the customer is messaging from. ChannelType false false true ExternalCopilot ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # AiAgentDefinitionVersion Represents a version of an Agentforce agent definition, conversation variables, planner configuration, and behavior settings. For information about retrieving and deploying an Agentforce agent, see Use [Use Metadata to Move an Agent to a New Org](https://developer.salesforce.com/docs/ai/agentforce/guide/agent-dx-deploy-metadata.html). ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. The fullName is the agent's API name, for example, MyAgent. Each version of the agent is an AiAgentDefinitionVersion component named with a version number, for example MyAgent#1 or MyAgent#2. ## File Suffix and Directory Location AiAgentDefinitionVersion components have the suffix .aiAgentDefinitionVersion-meta.xml suffix and are stored in a subfolder for the agent in the AiAgentDefinitionVersions folder. Agent components are stored in these subfolders: - plannerActions/ - localActions/ - agentGraph/ - agentScript/—contains a compiled copy of the script, not the Agent Script source ## Version AiAgentDefinitionVersion components are available in API version 68.0 and later. ## Special Access Rules AiAgentDefinitionVersion is available only if Agents is enabled in your org. ## Usage This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## Fields | Field Name | Description | | --- | --- | | aiAgentFieldLevelRecordAccesses | Field Type [AiAgentDefinitionFieldLevelRecordAccess\[\]](#AiAgentDefinitionFieldLevelRecordAccess) Description The field-level record access settings that define which object fields the agent can read or write. | | articleAnswersGPTEnabled | Field Type boolean Description Indicates whether the agent generates answers from knowledge articles using generative AI (true) or not (false). | | billingMode | Field Type AgentBillingMode (enumeration of type string) Description The billing model for the agent. Valid values are: - ActionBased - OutcomeBased | | botDialogs | Field Type [BotDialog\[\]](#BotDialog) Description The list of dialogs in this agent version. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This field isn't returned when you retrieve the metadata. To set the welcome, error, and escalation messages, use welcomeMessage, errorMessage, and escalationMessage. You can't specify this field together with any of those message fields in the same agent version. | | citationsEnabled | Field Type boolean Description Indicates whether the agent includes citations in its responses (true) or not (false). | | company | Field Type string Description Reserved for internal use. | | conversationVariables | Field Type [ConversationVariable\[\]](#ConversationVariable) 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. | | copilotPrimaryLanguage | Field Type Language (enumeration of type string) Description The primary language that the agent uses in conversations. | | copilotSecondaryLanguages | Field Type string Description The additional languages that the agent supports beyond the primary language. | | entryDialog | Field Type string Description A reference to the first dialog that the agent presents to your customer. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This field isn't returned when you retrieve the metadata. To set the welcome, error, and escalation messages, use welcomeMessage, errorMessage, and escalationMessage. | | errorMessage | Field Type string Description The message that the agent displays when it encounters an error. | | escalationMessage | Field Type string Description The message that the agent displays when it escalates a conversation to a human. | | genAiPlannerName | Field Type string Description The API name of the planner that powers the agent's reasoning and actions. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This field isn't returned when you retrieve the metadata. To set the welcome, error, and escalation messages, use welcomeMessage, errorMessage, and escalationMessage. | | isScriptCompatibleAgent | Field Type boolean Description Indicates whether the agent is compatible with Agent Script (true) or not (false). | | knowledgeActionEnabled | Field Type boolean Description Indicates whether the agent can use knowledge actions to answer questions (true) or not (false). | | knowledgeFallbackEnabled | Field Type boolean Description Indicates whether the agent falls back to knowledge articles when no other action applies (true) or not (false). | | mainMenuDialog | Field Type string Description A reference to the dialog identified as the main menu dialog. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This field isn't returned when you retrieve the metadata. To set the welcome, error, and escalation messages, use welcomeMessage, errorMessage, and escalationMessage. | | planner | Field Type [AiAgentDefinitionPlanner](#AiAgentDefinitionPlanner) Description The planner configuration that defines how the agent selects and runs actions. | | role | Field Type string Description A description of the agent's role and purpose. | | smallTalkEnabled | Field Type boolean Description Indicates whether the agent responds to small talk (true) or not (false). | | staticPromptsEnabled | Field Type boolean Description Indicates whether the agent uses static prompts (true) or not (false). | | status | Field Type BotStatusCode (enumeration of type string) Description The activation status of the agent. Valid values are: - Active - Inactive | | stopRecPrompts | Field Type boolean Description Indicates whether the agent stops showing recommended prompts (true) or not (false). | | surfacesEnabled | Field Type boolean Description Indicates whether the agent is available across its configured surfaces (true) or not (false). | | toneType | Field Type GenAiBotToneType (enumeration of type string) Description The conversational tone that the agent uses in its responses. Valid values are: - Casual - Formal - Neutral | | version | Field Type int Description The version number of the agent definition. | | welcomeMessage | Field Type string Description The message that the agent displays at the start of a conversation. | ## AiAgentDefinitionFieldLevelRecordAccess Represents the field-level record access settings that define which object fields the agent can read or write. | Field Name | Description | | --- | --- | | accessLevel | Field Type AiAgentRecordAccessLevel (enumeration of type string) Description Required. The level of access that the agent has to the specified field. Valid values are: - ReadWrite | | field | Field Type string Description Required. The API name of the field that the access setting applies to. | | object | Field Type string Description Required. The API name of the object that the access setting applies to. | ## AiAgentDefinitionPlanner Represents the planner configuration that defines how the agent selects and runs actions. | Field Name | Description | | --- | --- | | attributeMappings | Field Type GenAiPlannerAttrMapping\[\] Description The attribute mappings that the planner uses. | | botTemplate | Field Type string Description The API name of the bot template that the planner is based on. | | capabilities | Field Type string Description The capabilities available to the planner. | | description | Field Type string Description A description of the planner. | | genAiFunctions | Field Type GenAiPlannerFunctionDef\[\] Description The functions available to the planner. | | genAiPlugins | Field Type GenAiPlannerFunctionDef\[\] Description The plugins available to the planner. | | masterLabel | Field Type string Description Required. The label displayed in the Salesforce user interface. | | plannerSurfaces | Field Type AiPlannerSurfaceDef\[\] Description The surfaces on which the planner is available. | | plannerType | Field Type PlannerType (enumeration of type string) Description Required. The type of planner that powers the agent. Valid values are: - AiCopilot\_\_AgileAppDev - AiCopilot\_\_ReAct - AiCopilot\_\_SequentialPlannerIntentClassifier - Atlas\_\_ConcurrentMultiAgentOrchestration - Atlas\_\_VoiceAgent - BYOP\_\_waiiplanner - SentOS\_\_SearchAgent | | ruleExpressionAssignments | Field Type GenAiPlannerRuleExprAsgn\[\] Description The rule expression assignments for the planner. | | ruleExpressions | Field Type GenAiPlannerRuleExprDef\[\] Description The rule expressions defined for the planner. | ## BotDialog Represents the dialogs in this agent version. This metadata type isn’t returned during a retrieve operation. You can't deploy both dialogs and the messages (welcomeMessage, errorMessage, or escalationMessage) in the same deploy. We recommend using messages instead of dialogs. | Field Name | Description | | --- | --- | | botDialogGroup | Field Type string Description The bot dialog group that contains this bot dialog. | | botSteps | Field Type BotStep\[\] Description The ordered steps that make up this dialog. | | description | Field Type string Description A description of the bot dialog. | | developerName | Field Type string 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field. | | isPlaceholderDialog | Field Type boolean 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. | | label | Field Type string Description Required. A label that identifies the dialog throughout the Salesforce user interface. | | mlIntent | Field Type string Description Required. The name of the intent associated with a dialog. | | mlIntentTrainingEnabled | Field Type boolean 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. | | showInFooterMenu | Field Type boolean Description Indicates whether to show this dialog in the Bot Options menu. The default value is false. | ## ConversationVariable Represents a specific piece of data collected from the customer. You can use variables within dialog actions as both inputs and outputs. | Field Name | Description | | --- | --- | | SObjectType | Field Type string Description Specifies the SObjectType of the ID stored in a bot variable. Valid values are: - BotDefinition - Queue | | collectionType | Field Type ConversationVariableCollectionType (enumeration of type string) Description This field defines whether a variable is designated as a List Variable. Valid value is List. | | dataType | Field Type ConversationDataType (enumeration of type string) Description Required. Valid values are: - Boolean - Currency - Date - DateTime - Id - Object - Number - Text | | description | Field Type string Description A description of this variable. This value can be used by the Agentforce planner service. | | developerName | Field Type string 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. | | includeInPrompt | Field Type boolean Description Indicates whether the variable is injected into the prompt sent to the Agentforce model. If true, the variable appears in the **Included Fields** section of the UI. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The default variables Id, EndUserId, and EndUserLanguage always appear in the **Included Fields** section of the UI, regardless of their value of includeInPrompt. We recommend that you don't change the value of includeInPrompt for these default variables, as changing the value can prevent your agent from accessing important session data. | | label | Field Type string Description Required. Label that identifies a variable throughout the Salesforce user interface. | | visibility | Field Type ConversationVariableVisibilityType (enumeration of type string) Description Determines which components can set this variable. If the visibility is internal, the variable can only be set by action outputs. If the visibility is external, the variable can also be set by the API. Valid values are: - internal - external | ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # AIApplication Represents an instance of an AI application. For example, Einstein Prediction Builder. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
Field Name Field Type Description
developerName string 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.
Note

Note

Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.

masterLabel string Label that identifies the AI application throughout the Salesforce user interface.
status AIApplicationStatus (enumeration of type string) Required. The status of the application. Valid values are:
  • Disabled
  • Draft
  • Enabled
  • Migrated
type AIApplicationType (enumeration of type string) The type of AI application. Valid values are:
  • PredictionBuilder
## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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
Field Name Field Type Description
aiApplicationDeveloperName string Required. Represents the AIApplication to which AIApplicationConfig belongs. 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 51.0 and later.
applicationId string Required. The ID of the parent AI application.
developerName string Represents the name of the application config. 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.
insightReasonEnabled boolean Required. When true, generates the predictors, or field values, that were used to generate the prediction value.
masterLabel string Required. Label that identifies the AI application configuration throughout the Salesforce user interface.
rank int Required. Reserved for future use.
scoringMode AIScoringMode (enumeration of type string) Required. Frequency with which the prediction scores are written back. Valid values are:
  • Batch
  • OnDemand
  • Streaming
## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AiAuthoringBundle Represents an AI authoring bundle, which is a container for AI-related authoring content. For example, an AI authoring bundle for an Agentforce agent contains an Agent Script file and the associated metadata content. AiAuthoringBundle packages and manages AI authoring artifacts with version control features. This metadata type provides a structured way to organize, version, and target AI-related content within your Salesforce org. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type. ## Directory Structure AiAuthoringBundle agents are stored in an aiAuthoringBundles folder with a specific structure. Here’s an example of the structure. +--aiAuthoringBundles +--my\_service\_agent (1) +--my\_service\_agent.agent (2) +--my\_service\_agent.bundle-meta.xml (3) +--my\_employee\_agent (1) +--my\_employee\_agent.agent (2) +--my\_employee\_agent.bundle-meta.xml (3) The bundle includes the following resources: - A folder (1) for each agent. If the folder suffix contains an underscore followed by a number (for example, my\_service\_agent\_5), that number indicates the agent version. If there isn't a number in the suffix, the agent definition applies to the latest version of the agent. - Each agent folder contains a file that defines the agent (2). For example, this file can be an Agent Script definition. See [Agent Script in the Agentforce Developer Guide](https://developer.salesforce.com/docs/einstein/genai/guide/get-started.html) for details. - Each agent folder contains the metadata associated with the agent (3). Be sure to review the description for the target field to understand how to distinguish committed agent versions from uncommitted versions. ## Version AiAuthoringBundle is available in API version 65.0 and later. ## Fields | Field Name | Description | | --- | --- | | bundleType | AiAuthoringBundleType (enumeration of type string) Description Specifies the type or category of the AI authoring bundle, indicating the kind of AI authoring content contained within the bundle. Currently, this value must be AGENT, which represents an Agent Script agent. See [Agent Script in the Agentforce Developer Guide](https://developer.salesforce.com/docs/einstein/genai/guide/get-started.html) for details. | | target | string Description Specifies the context or destination for the AI authoring bundle, defining how the bundle content should be applied or deployed. To commit an agent version, Agentforce agents must specify the developerName for the [Bot](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_bot.htm "Represents a definition of an Einstein Bot configuration that can have one or more versions. Only one version can be active.") and [BotVersion](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_botversion.htm "Represents the configuration details for a specific Einstein Bot version, including dialogs and variables.") components, separated by a period: {Bot}.{BotVersion}. For example, Agentforce\_Service\_Agent.v2. These two components tie the AI authoring bundle to a specific agent and a specific agent version. This field is automatically populated when you publish an agent with [Agentforce DX](https://developer.salesforce.com/docs/einstein/genai/guide/agent-dx.html). Publishing an agent with this field present is the equivalent to committing the agent in Agentforce Builder with the **Commit Version** button. If you want to deploy an agent to your org in draft state, omit this field. | | versionDescription | string Description Provides a human-readable description of the bundle version, documenting what changes or features are included in this version of the AI authoring bundle. | | versionTag | string Description Defines a version identifier or tag for the AI authoring bundle. This value can be used for version tracking and management of different bundle iterations. | ## Declarative Metadata Sample Definition The following package.xml file is an example of an AiAuthoringBundle component. New\_Agent AiAuthoringBundle 65.0 In the .zip file for this bundle, each agent is nested in the aiAuthoringBundles folder. This example shows the directory structure in the .zip file for an agent named New\_Agent. Each agent bundle folder must contain an agent file and a metadata file. +--aiAuthoringBundles +--New\_Agent +--New\_Agent.agent +--New\_Agent.bundle-meta.xml To see an example of an Agent Script agent file, see [Agent Script in the Agentforce Developer Guide](https://developer.salesforce.com/docs/einstein/genai/guide/get-started.html). This example shows the metadata XML for the agent in the file New\_Agent.bundle-meta.xml. The example commits the agent version because it contains a target value. Uncommitted versions don't contain this field. AGENT Agentforce\_Service\_Agent.v2 DF 2026.3 ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AiEvaluationDefinition Represents an agent evaluation, including subject metadata and a set of test cases. In Metadata API, you can create test definitions, including specifying inputs and expected outcomes, and deploy them to different orgs. In Connect API, you can execute test scenarios, poll for results, and retrieve test outcomes. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. For more information on testing agents, see the [Testing API Developer Guide](https://developer.salesforce.com/docs/einstein/genai/guide/testing-api.html). ## File Suffix and Directory Location AiEvaluationDefinition components have the suffix .aiEvaluationDefinition and are stored in the aiEvaluationDefinitions folder. ## Version AiEvaluationDefinition is available in API version 63.0 and later. Individual fields may have specific minimum API version requirements as noted in the field descriptions. ## Special Access Rules AiEvaluationDefinition is available only if Agentforce is enabled. See [Set Up Agents](https://help.salesforce.com/s/articleView?id=ai.copilot_setup.htm&language=en_US) in Salesforce Help. ## Fields | Field Name | Description | | --- | --- | | description | string Description The purpose of the test. | | name | string Description Required. The API name of the test. 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. | | subjectName | string Description Required. A unique identifier for the agent being tested. Make sure that this identifier matches the API name of the agent, which you can find on the agent details page in Setup. | | subjectType | string Description Required. The type of subject being tested. The only currently supported value is AGENT. | | subjectVersion | string Description The agent version to test. If not provided, the latest active version is used by default. You can find the version in the BotVersion metadata type. | | testCase | [AiEvaluationTestCase\[\]](#AiEvaluationTestCase) Description A list of test cases. | ## AiEvaluationTestCase Represents a test case. | Field Name | Description | | --- | --- | | expectation | [AiEvaluationExpectation\[\]](#AiEvaluationExpectation) Description The criteria used to test the artifact's responses. | | inputs | [AiEvaluationAgentTestCaseInput\[\]](#AiEvaluationAgentTestCaseInput) Description The specific input provided to the artifact being tested. | | number | int Description The unique number for the test case. If not provided, the value is automatically calculated. | ## AiEvaluationExpectation Represents the expected outcome for a test case. | Field Name | Description | | --- | --- | | expectedValue | string Description The expected outcome of the test. The format of this field depends on the value of the name field. The expected outcome is compared against the response generated when you run the test using [Connect REST API](https://developer.salesforce.com/docs/einstein/genai/guide/testing-api-connect.html) | | label | string Description An optional label for an expectation. Typically added when using the same custom expectation name multiple times in a test case. If provided, this label appears in the test results; otherwise, the expectation name appears. | | name | string Description Required. The expectation name. Valid values are: - topic\_sequence\_match: The expectedValue field value is a string representing the topic that the agent is expected to use, such as OOTBSingleRecordSummary. For a list of agent topics, see Standard Agent Topic Reference in Salesforce Help. - action\_sequence\_match: The expectedValue field value is a string\[\] representing a list of actions that you expect the artifact to take during the test, such as \['IdentifyRecordByName', 'action2'\]. For a list of agent actions, see Standard Agent Action Reference in Salesforce Help. This option was previously called action\_sequence\_match. - bot\_response\_rating: The expectedValue field value is a string representing the expected response generated by the artifact, such as Summarization of the Global Media account. - coherence: A generated answer is coherent if it’s easy to understand and has no grammatical errors. If you use this quality check, you don't need an expectedValue field value. - completeness: A generated answer is complete if it includes all the essential information. If you use this quality check, you don't need an expectedValue field value. - conciseness: A generated answer is concise if it's brief but comprehensive. Shorter is better. If you use this quality check, you don't need an expectedValue field value. - output\_latency\_milliseconds: Latency in milliseconds from sending a request until a response is received. If you use this quality check, you don't need an expectedValue field value. - string\_comparison: A custom evaluation criteria that tests a response for a specified string value. - numeric\_comparison: A custom evaluation criteria that tests a response for a specified numeric value. | | parameter | [AiEvaluationTestCaseCritParam\[\]](#AiEvaluationTestCaseCritParam) Description Required for custom test criteria. An array of parameters for the specific custom criteria defined by expectation.name. This field replaces expectedValue for custom test criteria. | ## AiEvaluationTestCaseCritParam Defines a criterion parameter for expectations, including name, value, and whether it references another value. Available in API version 64.0 and later. | Field Name | Description | | --- | --- | | isReference | boolean Description If true, indicates that value is a JSONPath expression referencing runtime data from the generatedData object returned by the Get Test Results resource. If true, the value must be a JSONPath string. The default value is false. | | name | string Description Required for custom evaluation criteria. The name of the parameter required by the evaluation. Valid values are: operator—type of comparison; actual—runtime value to evaluate; expected—target value to compare against. For operator, valid options include: - equals: Checks if the actual value exactly matches the expected value (string or numeric). - contains: Checks if the actual string contains the expected string. - startswith: Checks if the actual string begins with the expected string. - endswith: Checks if the actual string ends with the expected string. - greater\_than\_or\_equal: Checks if the numeric actual value is greater than or equal to the numeric expected value (\>=). - greater\_than: Checks if the numeric actual value is greater than the numeric expected value (\>). - less\_than: Checks if the numeric actual value is less than the numeric expected value (<). - less\_than\_or\_equal: Checks if the numeric actual value is less than or equal to the numeric expected value (<=). | | value | string Description Required for custom evaluation criteria. The value for the parameter. This field can be a literal value or a JSONPath expression if isReference is true. Typically, JSONPath expressions are used to dynamically retrieve actual parameters. | ## AiEvaluationAgentTestCaseInput Represents the inputs for a test case, including variables, conversation history, and the utterance. | Field Name | Description | | --- | --- | | contextVariable | [AiEvalCopilotTestCaseCntxtVar\[\]](#AiEvalCopilotTestCaseCntxtVar) Description An XML array of context variables sent to the agent. | | conversationHistory | [AiEvalCopilotTestCaseConv\[\]](#AiEvalCopilotTestCaseConv) Description An XML array of conversation history elements sent to the agent. | | utterance | string Description Required. The request sent to the agent. | ## AiEvalCopilotTestCaseCntxtVar An XML array of context variables sent to the agent. | Field Name | Description | | --- | --- | | variableName | string Description Required. The name of the context variable. | | variableValue | string Description Required. The value of the context variable. | ## AiEvalCopilotTestCaseConv An XML array of conversation history sent to the agent. | Field Name | Description | | --- | --- | | index | integer Description A zero based index for this conversation message. | | message | string Description The text from the user or agent. | | role | string Description The role associated with a message. Valid values are user or agent. A conversation must begin with a message from the user. | | topic | string Description Required for agent messages. Represents the topic the agent used to generate a response. | ## Declarative Metadata Sample Definition Here's an example of an AiEvaluationDefinition component. My Sample Tests my\_test\_n1 Agentforce\_for\_Salesforce AGENT v1 1 Summarize the Global Media account topic\_sequence\_match OOTBSingleRecordSummary action\_sequence\_match \['IdentifyRecordByName'\] bot\_response\_rating Summarization of the Global Media account conciseness 2 give me a pizza recipe topic\_sequence\_match Small\_Talk action\_sequence\_match \[\] bot\_response\_rating the agent cannot answer this ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AiPlannerVoiceDef Represents a voice definition for an Agentforce voice agent. It stores the speech-to-text and text-to-speech configuration settings used during voice interactions, including model selection, voice persona, and audio synthesis parameters. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location AiPlannerVoiceDef components have the suffix .aiPlannerVoiceDef and are stored in the aiPlannerVoiceDef folder. ## Version AiPlannerVoiceDef components are available in API version 63.0 and later. ## Special Access Rules AiPlannerVoiceDef is available only if Agents and Agentforce Voice are enabled in your org. ## Fields | Field Name | Description | | --- | --- | | additionalConfigs | Field Type string Description A JSON string for extensible configuration settings not covered by explicit fields. Allows additional voice parameters to be stored without requiring schema changes. | | developerName | Field Type string Description Required. Represents the API name of the voice definition. This name must be unique across all voice definitions. 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. | | inboundFillerWordsBool | Field Type boolean Description Specifies whether filler words (such as "um" or "uh") are included when processing inbound audio. When true, filler words are preserved in the transcription output. When false, they are stripped. | | inboundKeywords | Field Type string Description A JSON object of keywords or phrases with optional boost weights that improve speech recognition accuracy for inbound audio. Positive values increase recognition priority; negative values suppress. Example: {"keywords": {"Salesforce": 5, "Agentforce": 5, "cancel": -10}}. | | inboundModel | Field Type string Description The speech-to-text model used to transcribe inbound audio. References a deployed model record in MktMLAIModel (e.g., sfdc\_ai\_\_Default\_Nova\_2\_PhoneCall). | | label | Field Type string Description The user-facing label for this AiPlannerVoiceDef component as it appears in the Salesforce UI. | | languageCode | Field Type string Description The BCP 47 language code specifying the language used for voice processing, for example en-US for American English or ja-JP for Japanese. | | outboundFillerSentences | Field Type string Description A JSON object of filler sentences the voice agent speaks while processing a response, organized by category. Helps maintain natural conversational flow during pauses. Example: {"fillerSentences": {"waiting": \["Let me look into that...", "Just a moment..."\], "confirmation": \["Got it, let me confirm that."\], "fallback": \["Sorry, could you repeat that?"\]}}. | | outboundModel | Field Type string Description The text-to-speech model used to synthesize outbound audio. References a deployed model record in MktMLAIModel (e.g., sfdc\_ai\_\_Default\_Eleven\_Flash\_V2). | | outboundSimilarity | Field Type double Description A value between 0 and 1 that controls how closely the synthesized voice matches the selected voice profile. Higher values produce a more faithful reproduction; lower values allow more natural variation. Default is typically 0.75. | | outboundSpeedNum | Field Type double Description A multiplier that controls the speaking rate of the outbound voice. A value of 1.0 represents normal speed. Typical range is 0.7 (slower) to 1.2 (faster), depending on the voice persona's configured bounds. | | outboundStability | Field Type double Description A value between 0 and 1 that controls the consistency of the outbound voice tone and delivery. Higher values produce a more stable, predictable output; lower values introduce more expressive variation. Default is typically 0.65. | | outboundStyleExaggeration | Field Type double Description A value between 0 and 1 that amplifies the speaking style of the selected voice. Higher values increase expressiveness and emotional range in the synthesized speech. A value of 0 produces neutral delivery. | | outboundVoice | Field Type string Description The name of the voice persona used for text-to-speech synthesis in outbound audio (e.g., elevenlabs-Mark-en\_US). Maps to a voice configuration defined in the voice metadata layer. | | pronunciationDict | Field Type string Description A custom pronunciation dictionary that defines phonetic overrides for how specific words or phrases are pronounced by the text-to-speech engine. Useful for brand names, technical terms, or unusual proper nouns. | | voiceIdentifier | Field Type string Description A unique identifier for the voice configuration, typically the pre-computed hash ID from the voice metadata layer (e.g., f64af13e6fb0). Used to reference or distinguish this voice setup across planner configurations. | ## Declarative Metadata Sample Definition The following is an example of an AiPlannerVoiceDef component. This agent is either testing you, or you're testing it. My Test Agent AiCopilot\_\_ReAct dev2Automation false key2 sfdc\_ai\_\_DefaultOpenAIGPT35Turbo label2 test2 sfdc\_ai\_\_DefaultOpenAIGPT35Turbo 0.8 1.2 0.5 1.8 test2 The following is an example package.xml that references the previous definition. \* GenAiPlannerBundle 63.0 # AiPluginUtteranceDef Represents an utterance that can be used to pick a topic during runtime. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location AiPluginUtteranceDef components are part of other components, such as GenAiPlugin, and aren't used separately. ## Version AiPluginUtteranceDef components are available in API version 63.0 and later. ## Special Access Rules AiPluginUtteranceDef is available only if Agents is enabled in your org. ## Fields | Field Name | Description | | --- | --- | | developerName | Field Type string Description Required. Represents the API name of the utterance. 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. | | language | Field Type string Description Required. The language of the utterance. | | masterLabel | Field Type string Description Required. The master label for the utterance. | | utterance | Field Type string Description Required. The utterance. | ## Declarative Metadata Sample Definition See [GenAiPlugin](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_genaiplugin.htm "Represents an agent topic, which is a category of actions related to a particular job to be done by AI agents."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version AIReplyRecommendationsSettings is available in API version 49.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableAIReplyRecommendations | boolean | If true (default), Einstein Reply Recommendations is enabled. If false, it is disabled. | | enableGenReplyRecommendations | boolean | If true (default), Einstein Service Replies is enabled. If false, it is disabled. Available in API version 58.0 or later. | | enableServiceEinsteinGPTGrounding | boolean | If true (default), Service AI Grounding is enabled. If false, it is disabled. Available in API version 58.0 or later. | ## Declarative Metadata Sample Definition The following is an example aireplyrecommendations.settings metadata file: true ## Example Package Manifest The following is an example package.xml manifest that references the AIReplyRecommendationsSettings definitions: AIReplyRecommendations Settings 49.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). ## Copyright Rights of ALBERT EINSTEIN are used with permission of The Hebrew University of Jerusalem. Represented exclusively by Greenlight. # AIScoringModelDefinition Represents information about a machine learning model that’s used by the Scoring Framework for Industries Cloud Einstein. The machine learning model is used for scoring, including its configuration. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 product’s CRM license. ## Fields | Field Name | Description | | --- | --- | | aiModelConfig | Field Type string Description Required. ID of an AI model configuration related to the AI scoring model record. | | aiScoringModelDefVersions | Field Type [AIScoringModelDefVersion\[\]](#AIScoringModelDefVersion) Description Represents information of various versions of a model. | | description | Field Type string Description Description for an AIScoringModelDefinition record. | | masterLabel | Field Type string 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. | Field Name | Description | | --- | --- | | aiScoringModelDefinition | Field Type string Description Required. Parent AIScoringModelDefinition record that’s related to an AIScoringModelDefVersion record. | | aiScoringSteps | Field Type [AIScoringStep\[\]](#AIScoringStep) Description Represents information about a step associated with an AI scoring model version. | | developerName | Field Type string 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 object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. | | masterLabel | Field Type string Description Required. A user-friendly name for the AIScoringModelDefVersion component name, which is defined when the AIScoringModelDefVersion component name is created. | | modelMode | Field Type AIScoringModelDefVersionMode (enumeration of type string) 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. | Field Name | Description | | --- | --- | | aiModelConfigStep | Field Type string Description Required. ID of the AI model config step that’s related to the AIScoringStep record. | | stepDetail | Field Type string Description Scoring step details in JSON format. | ## Declarative Metadata Sample Definition Here’s an example of an AIScoringModelDefinition component. Prediction\_Scores\_for\_Accounts V1 Test Prediction\_Scores\_for\_Accounts.GrainSelector {label:Account,name:Account} Prediction\_Scores\_for\_Accounts.AugmentedDataset Prediction\_Scores\_for\_Accounts.TargetConditionBuilder {specificOutcomeDefined:Yes,label:Financial accounts are associated with an account,name:FA\_Target} Prediction\_Scores\_for\_Accounts.InputVariableSelector Prediction\_Scores\_for\_Accounts.CustomFilter Prediction\_Scores\_for\_Accounts.WriteBackConnector V1 V1 TRAIN\_AND\_DEPLOY Test for metadata Test The following is an example package.xml that references the previous definition. \* AIScoringModelDefVersion \* AIScoringModelDefinition 68.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AIUsecaseDefinition Represents a collection of fields in your Salesforce org used to define a machine learning use case and get real-time predictions. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 product’s CRM license. ## Fields | Field Name | Description | | --- | --- | | aiUsecaseFieldMappings | Field Type [AIUsecaseFieldMapping\[\]](#AIUsecaseFieldMapping) Description The field mappings for the use case definition. Each use case definition can have multiple field mappings. | | aiUsecaseModels | Field Type [AIUsecaseModel\[\]](#AIUsecaseModel) Description The models for the use case definition. Each use case definition can have multiple use case models. | | creatorType | Field Type CreatorType (enumeration of type string) 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. | | masterLabel | Field Type string Description Required. A user-friendly name for the use case definition, which is defined when the use case definition is created. | | maximumInsightCount | Field Type int Description The maximum number of insights returned by the scoring response. | | maximumRecommendationCount | Field Type int Description The maximum number of recommendations returned by the Next Best Action Strategy. | | maximumSuggestionCount | Field Type int Description The maximum number of suggestions returned by the scoring response. | | primaryResponseObject | Field Type string Description The primary object in which the scoring response is stored based on the specified field mapping. | | recommendationResponseObject | Field Type string Description The recommendation response object associated with the use case definition. | | recommendationSource | Field Type RcmdSourceType (enumeration of type string) Description The tool or platform that generates recommendations. Valid values are: - Next\_Best\_Action\_Flow - None Available in API version 57.0 and later. | | secondaryResponseObject | Field Type string Description The object in which the scoring response is stored based on the specified field mapping. | | shouldSaveFeatures | Field Type boolean Description Indicates whether to save the features extracted for the scoring request (true) or not (false). The default value is false. | | shouldSaveInsights | Field Type boolean Description Indicates whether to save the prediction insights that are used to generate the score (true) or not (false). The default value is false. | | shouldSaveRecommendation | Field Type boolean Description Indicates whether to save the recommendation (true) or not (false). The default value is false. | | shouldSaveRequestResponse | Field Type boolean Description Indicates whether to save the request response (true) or not (false). The default value is false. | | shouldSaveScore | Field Type boolean Description Indicates whether to save the prediction score (true) or not (false). The default value is false. | | shouldSaveSuggestions | Field Type boolean Description Indicates whether to save the suggestions for improving the prediction score (true) or not (false). The default value is false. | | suggestionImpactMinimumPct | Field Type int 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. | | usecaseName | Field Type string 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. | Field Name | Description | | --- | --- | | developerName | Field Type string 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 object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. | | mappedFieldName | Field Type string Description Required. The name of the field where the scoring response is stored. | | mappedFieldType | Field Type MappedFieldType (enumeration of type string) 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. | | masterLabel | Field Type string Description Required. A user-friendly name for the use case field mapping, which is defined when the field mapping is created. | | responseFieldName | Field Type string Description Required. The name of the response object’s field that’s mapped to the field storing the score. | | responseObject | Field Type string Description Required. The object whose field is mapped to the field storing the score. It’s either the PrimaryResponseObject or the SecondaryResponseObject specified in the AIUsecaseDefinition object. | | sequenceNumber | Field Type int 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. | Field Name | Description | | --- | --- | | aiFeatureExtractors | Field Type [AIFeatureExtractor\[\]](#AIFeatureExtractor) Description The AI feature extractors to retrieve the input data. | | defaultFeatureExtractor | Field Type [AIFeatureExtractor](#AIFeatureExtractor) Description The default AI feature extractor to retrieve the input data. | | developerName | Field Type string 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 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 object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. | | masterLabel | Field Type string Description Required. A user-friendly name for the use case model, which is defined when the use case model is created. | | predictionDefinition | Field Type string Description The unique identifier of the prediction definition that’s 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. | | predictionPlatform | Field Type PredictionPlatform (enumeration of type string) Description Required. The platform on which the machine learning model is created and deployed. Valid values are: - Data\_Cloud - Default—For internal use only. - Einstein\_Discovery - Einstein\_on\_Data\_Cloud—Available in API version 63.0 and later. The default value is Einstein\_Discovery. Available in API version 57.0 and later. | ## AIFeatureExtractor Represents information about the feature extractor that’s used to retrieve the input data for the use case model that’s used to generate predictions. | Field Name | Description | | --- | --- | | batchInputSourceIdentifier | Field Type string 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. | | batchInputSourceInformation | Field Type string Description The information about the batch input source, including query parameters, objects, field mappings, and filter criteria. Available in API version 63.0 and later. | | batchInputSourceType | Field Type BatchInputSourceType (enumeration of type string) Description The input source of the features computed in batch jobs. Possible values are: - CRMA - Data Cloud The default value is CRMA. | | className | Field Type string Description Required. The ID of the Apex class created for the feature extractor. | | developerName | Field Type string 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 object’s name in a managed package and the changes are reflected in a subscriber’s organization. Label is **Record Type Name**. | | extractorType | Field Type ExtractorType (enumeration of type string) Description Required. The type of the feature extractor. Valid values are: - APEX - JAVA - HYBRID The default value is APEX. | | featureInputType | Field Type string Description Required. The type of feature input that’s used in generating predictions. Valid values are: - Realtime\_Input - Sample\_Input - Batch\_Input - Batch\_And\_Realtime\_Input Available in API version 57.0 and later. | | inputContext | Field Type string 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. | | masterLabel | Field Type string 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. DevNamee1 Name INSIGHT DevName AnnualRevenue Lead 2 DevNamee2 Value INSIGHT DevName Id Account 2 DevNamee3 Score PREDICTION\_SCORE DevName Company Lead DevNamee4 RecordId SECONDARY\_RESPONSE\_RECORD\_ID DevName Address Lead joinFieldInformation DevName5 DevName4 PREDICTION\_SCORE\_INPUT DevName Address Lead\_Dmo {"recordIdField":"Value2","recordIdObject":"Value1","recordJoinRelation":"Value3"} DevName6 DevName5 PREDICTION\_SCORE\_INPUT DevName Address Lead\_Dmo {"recordIdField":"Value2","recordIdObject":"Value1","recordJoinRelation":"Value3"} {"customPredictionAttributes":\[{"id":1,"fieldLabel":"Label 1","sourceField":"Total\_Spend\_c\_\_c"},{"id":2,"fieldLabel":"Label 2","sourceField":"Predicted\_Churned2\_recommendation\_impact\_\_c"}\]} %%SCORE%% 01pxx0000004X2CAAU APEX DevNamee2 DevName Realtime\_Input "{columnNames=\[column1, column2\], rawData=\[S, 315090\]}" DatasetName CRMA {"streamingTransformName":"SDT\_Name","recordIdField":"fieldname","featureFieldsMapping":{"feature1":"field1","feature2":"field2"},"streaminTransformLabel":"SDT\_Label","batchInputSourceLabel":"DMO\_Label"} 01pxx0000004X0aAAE APEX DevNamee1 DevName Realtime\_Input "{columnNames=\[column1, column2\], rawData=\[S, 315090\]}" DatasetName CRMA {"streamingTransformName":"SDT\_Name","recordIdField":"fieldname","featureFieldsMapping":{"feature1":"field1","feature2":"field2"},"streaminTransformLabel":"SDT\_Label","batchInputSourceLabel":"DMO\_Label"} DevNamee1 DevName PredictionDefinitionD Einstein\_Discovery true DevNamee2 DevName PredictionDefinitionBA Einstein\_Discovery true DevNamee3 DevName PredictionDefinitionCA Einstein\_Discovery true DevName4 DevName Model1 Data\_Cloud false DevName5 DevName Model1 Einstein\_on\_Data\_Cloud false DevName 3 3 3 Lead Account Contact true true false false true true 50 FTestSampleMLUsecase Next\_Best\_Action\_Flow INTERNAL\_USER The following is an example package.xml that references the previous definition. \* \*AIUsecaseDefinition\* 68.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously."), [updateMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_updateMetadata.htm "Updates one or more metadata components in your organization synchronously."), [upsertMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_upsertMetadata.htm "Creates or updates one or more metadata components in your organization synchronously."), [deleteMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteMetadata.htm "Deletes one or more metadata components from your organization synchronously.") ## Usage If this header isn’t 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 aren’t saved. ## Fields ### allOrNone - **Type**: boolean - **Description**: 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 saving only the records that are processed successfully when other records in the call cause failures. ## Sample Code—Java 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 doesn’t have the required Name field, the create() call can’t 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"); 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 # AnalyticsDashboard Represents a Tableau Next dashboard. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location AnalyticsDashboard components have the suffix .uadash and are stored in the analyticsDashboards folder. ## Version AnalyticsDashboard components are available in API version 64.0 and later. ## Limits | Definition | Limit | | --- | --- | | The maximum number of AnalyticsDashboard components in a single deploy operation. | 50 | | The maximum number of AnalyticsDashboard components in a single retrieve operation. | 100 | | The maximum number of AnalyticsDashboard components across all deploy operations in a 24-hour window. | 100 | | The maximum number of AnalyticsDashboard components across all retrieve operations in a 24-hour window. | 200 | ## Fields | Field Name | Description | | --- | --- | | analyticsWorkspace | Field Type string Description Required. The Tableau Next workspace the dashboard belongs to. | | backgroundSource | Field Type string Description The source for the dashboard background. | | customConfig | Field Type string Description A custom configuration for the dashboard. | | description | Field Type string Description The description of the dashboard. | | lastDraftModifiedDate | Field Type dateTime Description The date the dashboard draft was last modified. | | lastPublishedDate | Field Type dateTime Description The date the dashboard was last published. | | layouts | Field Type [AnalyticsDashboardLayout\[\]](#AnalyticsDashboardLayout) Description The layouts for the dashboard. A dashboard has 0 or more layouts. | | masterLabel | Field Type string Description Required. The name of the dashboard. | | style | Field Type string Description The style of the dashboard. This is a JSON string. Example: {"widgetStyle":{"backgroundColor":"#ffffff","borderEdges":\[\],"borderColor":"#cccccc","borderWidth":1,"borderRadius":0}} | | templateAssetSourceName | Field Type string Description If the dashboard was created from a template, the name of the source dashboard in the template. | | templateSource | Field Type string Description If the dashboard was created from a template, the name of the source template. | | version | Field Type double Description The API version of the dashboard. | | widgets | Field Type [AnalyticsDashboardWidget\[\]](#AnalyticsDashboardWidget) Description A list of widgets in the dashboard. A dashboard has 0 or more widgets. | | workspaceAssetRelationships | Field Type [AnalyticsWorkspaceAsset\[\]](meta_analyticsworkspace.htm#AnalyticsWorkspaceAsset) Description A list of analytics assets in the workspace this dashboard is associated with. A dashboard has 0 or more workspace asset relationships. | ## AnalyticsDashboardLayout Represents a layout for a Tableau Next dashboard. A dashboard can have multiple layouts, like Desktop and Mobile. | Field Name | Description | | --- | --- | | analyticsDashboard | Field Type string Description Required. The name of the dashboard the layout is associated with. | | analyticsDashboardVersion | Field Type string Description The version of the dashboard the layout is associated with. | | columnCount | Field Type string Description The number of columns in the layout. | | label | Field Type string Description The label for the layout. | | layoutName | Field Type string Description The name of the layout. | | maxWidth | Field Type string Description The max width of the layout, in pixels. | | pages | Field Type [AnalyticsDashboardPage\[\]](#AnalyticsDashboardPage) Description The pages to display for this dashboard layout. A layout has 0 or more pages. | | rowHeight | Field Type string Description The row height for layout rows. | | style | Field Type string Description The style for the layout. This is a JSON string. Example: {"backgroundColor":"#ffffff","gutterColor":"#f3f3f3","cellSpacingX":8,"cellSpacingY":8 | | version | Field Type double Description The API version of the dashboard layout. | ## AnalyticsDashboardPage Represents a page in a Tableau Next dashboard. | Field Name | Description | | --- | --- | | index | Field Type int Description The index of the page in the dashboard. An index of 0 is the first page of the dashboard. No index is required if there is only the default page of the dashboard. | | label | Field Type string Description The label for the dashboard page. | | pageName | Field Type string Description The generated unique ID for the dashboard page. | | pageWidgets | Field Type [AnalyticsDashPageWidget\[\]](#AnalyticsDashPageWidget) Description A list of dashboard page widgets. A page has 0 or more page widgets. | ## AnalyticsDashPageWidget Represents an dashboard page widget for a Tableau Next dashboard page. | Field Name | Description | | --- | --- | | analyticsDashboardWidget | Field Type string Description Required. The name of dashboard widget, defined in the list of widgets for the dashboard. | | colspan | Field Type string Description The column span for the widget on the page. This is a numeric value. | | column | Field Type string Description The column the widget is placed in on the page. This is a numeric value. | | row | Field Type string Description The row the widget is placed in on the page. This is a numeric value. | | rowspan | Field Type string Description The row span for the widget on the page. This is a numeric value. | ## AnalyticsDashboardWidget Represents a widget on a Tableau Next dashboard. | Field Name | Description | | --- | --- | | analyticsDashboard | Field Type string Description Required. The API name of the dashboard the widget is associated with. | | buttonWidgetDefs | Field Type [AnalyticsButtonWidgetDef\[\]](#AnalyticsButtonWidgetDef) Description A list of button widget type definitions. A dashboard has 0 or more button widgets. Required if button widget are defined. | | containerWidgetDefs | Field Type [AnalyticsContainerWidgetDef\[\]](#AnalyticsContainerWidgetDef) Description A list of container widget type definitions. A dashboard has 0 or more container widgets. Required if container widgets are defined. | | dynamicTokens | Field Type [AnlytDshbrdWdgtDynamicTkn\[\]](#AnlytDshbrdWdgtDynamicTkn) Description A list of dynamic widget tokens. A dashboard has 0 or more dynamic tokens. | | filterWidgetDefs | Field Type [AnalyticsFilterWidgetDef\[\]](#AnalyticsFilterWidgetDef) Description A list of filter widget type definitions. A dashboard has 0 or more filter widgets. Required if filter widgets are defined. | | imageWidgetDefs | Field Type [AnalyticsImageWidgetDef\[\]](#AnalyticsImageWidgetDef) Description A list of image widget type definitions. A dashboard has 0 or more image widgets. Required if image widgets are defined. | | label | Field Type string Description The label for the widget. | | metricWidgetDefs | Field Type [AnalyticsMetricWidgetDef\[\]](#AnalyticsMetricWidgetDef) Description A list of metric widget type defintions. A dashboard has 0 or more metric widgets. Required if metric widget are defined. | | navigationWidgetDefs | Field Type [AnalyticsNavWidgetDef\[\]](#AnalyticsNavWidgetDef) Description A list of navigation widget type definitions. A dashboard has 0 or more navigation widgets. Required if navigation widgets are defined. | | parameterWidgetDefs | Field Type [AnalyticsParamWidgetDef\[\]](#AnalyticsParamWidgetDef) Description A list of parameter widget type defintions. A dashboard has 0 or more parameter widgets. Required for parameter widgets are defined. | | textWidgetDefs | Field Type [AnalyticsTextWidgetDef\[\]](#AnalyticsTextWidgetDef) Description TA list of text widget type definitions. A dashboard has 0 or more text widgets. Required if text widgets are defined. | | type | Field Type AnalyticsWidgetType (enumeration of type string) Description Required. The widget type. Values are: - button - container - extension - filter - image - metric - parameter - navigation - text - summary - visualization | | vizWidgetDefs | Field Type [AnalyticsVizWidgetDef\[\]](#AnalyticsVizWidgetDef) Description A list of visualization widget type definitions. A dashboard has 0 or more visualization widgets. Required if visualization widgets are defined. | | widgetActions | Field Type [AnalyticsAssetAction\[\]](#AnalyticsAssetAction) Description The actions for the widget. A widget has 0 or more text widgets. | | widgetName | Field Type string Description The API name of the widget. Use this for the analyticsDashboardWidget value in AnalyticsDashPageWidget. | ## AnalyticsAssetAction Represents an action for a Tableau Next asset. | Field Name | Description | | --- | --- | | actionType | Field Type AnalyticsActionType (enumeration of type string) Description Required. The action type. Values are: - filter - flow - navigate - parameter - recordaction | | analyticsAssetVersion | Field Type string Description Optional. The version of the Analytics asset the action is associated with. | | eventType | Field Type AnalyticsActionEventType (enumeration of type string) Description Required. The action event type. Values are: - click - select | | parameters | Field Type string Description The parameter for the action. This is a JSON string. Example: {"destination":{"type":"url","target":"www.salesforce.com"}} | | version | Field Type double Description The API version of the action. | ## AnalyticsButtonWidgetDef Represents a button widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | parameters | Field Type string Description The parameters for the button widget. This is a JSON String. Example: {"text":"Button","alignmentX":"center","alignmentY":"center","fontSize":16} | ## AnalyticsContainerWidgetDef Represents a container widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | parameters | Field Type string Description The parameters for the container widget. This is a JSON String. Example: {"widgetStyle":{"backgroundColor":"#1295FF","borderEdges":\[\]}} | ## AnlytDshbrdWdgtDynamicTkn Represents a widget dynamic token for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | description | Field Type string Description The description for the dynamic token. | | label | Field Type string Description The label for the dynamic token. | | source | Field Type string Description The source object of the dynamic token. | | tokenName | Field Type string Description The name of the dynamic token. | | tokenSpec | Field Type string Description The specification for the dynamic token. | | type | Field Type AnalyticsDynamicTokenType Description The type of dynamic token. Values are: - query - insights - metric - reference | ## AnalyticsFilterWidgetDef Represents a filter widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | initialValues | Field Type string Description The initial values for the filter. | | parameters | Field Type string Description The parameters for the filter widget. This is a JSON String. Example: {"receiveFilterSource":{"filterMode":"all","widgetIds":\[\]},"filterOption":{"objectName":"Account","fieldName":"Account\_Id","dataType":"Text","selectionType":"multiple"},"isLabelHidden":false} | | source | Field Type string Description The data source to apply the filter to. | ## AnalyticsImageWidgetDef Represents a image widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | parameters | Field Type string Description The parameters for the image widget. This is a JSON String. | | source | Field Type string Description The data source the image is associated with. | ## AnalyticsMetricWidgetDef Represents a metric widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | parameters | Field Type string Description The parameters for the filter widget. This is a JSON String. Example: {"metricOption":{"layout":{"componentVisibility":{"details":true,"title":true,"value":true,"comparison":true,"chart":true,"insights":false}},"sdmApiName":"AccountModel","sdmId":"2SMxx0000004CFUGA2"},"receiveFilterSource":{"filterMode":"all","widgetIds":\[\]}} | | semanticModel | Field Type string Description The semantic model the metric is associated with. | | source | Field Type string Description The data source the metric is associated with. | | sourceDeprecated | Field Type string Description Present if the data source the metric is associated with is deprecated. | | version | Field Type double Description The API version of the metric. | ## AnalyticsNavWidgetDef Represents a navigation widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | parameters | Field Type string Description The parameters for the navigation widget. This is a JSON String. | ## AnalyticsParamWidgetDef Represents a parameters widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | initialValues | Field Type string Description The initial values for the parameters. | | parameters | Field Type string Description The parameters for the filter widget. This is a JSON String. Example: {"parameterName":"AccountParameter\_prm","isLabelHidden":false} | | source | Field Type string Description The data source the parameters are associated with. | ## AnalyticsTextWidgetDef Represents a text widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | parameters | Field Type string Description The parameters for the filter widget. This is a JSON String. Example: {"content":\[{"attributes":{"color":"#000000","size":"12px"},"insert":"full dashboard"},{"attributes":{"align":"left"},"insert":"\\n"}\]} | ## AnalyticsVizWidgetDef Represents a visualization widget definition for a Tableau Next dashboard. | Field Name | Description | | --- | --- | | analyticsVisualization | Field Type string Description The API name of the visualization. | | analyticsVizVersion | Field Type string Description The version of the visualization. | | parameters | Field Type string Description The parameters for the filter widget. This is a JSON String. Example: {"legendPosition":"Right","receiveFilterSource":{"filterMode":"all","widgetIds":\[\]}} | ## Declarative Metadata Sample Definition The following is an example of an AnalyticsDashboard component. My\_Workspace A dashboard My\_Dashboard 36 default 1200 layoutLabel 0 Page 1 e412bc11-d43b-4fba-ab44-b31bb842b49a visualization\_1 11 1 2 10 button\_1 9 13 8 2 container\_1 11 23 2 10 text\_2 9 13 5 2 metric\_1 11 1 13 10 list\_4 9 13 13 2 list\_1 9 13 2 2 24 {"backgroundColor":"#ffffff","gutterColor":"#f3f3f3","cellSpacingX":8,"cellSpacingY":8} My Dashboard {"widgetStyle":{"backgroundColor":"#ffffff","borderEdges":\[\],"borderColor":"#cccccc","borderWidth":1,"borderRadius":0}} 64.0 My\_Dashboard visualization New\_Visualization {"legendPosition":"Right","receiveFilterSource":{"filterMode":"all","widgetIds":\[\]}} visualization\_1 My\_Dashboard {"text":"Button","alignmentX":"center","alignmentY":"center","fontSize":16} button navigate click {"destination":{"type":"url","target":"www.salesforce.com"}} 63.0 button\_1 My\_Dashboard {"widgetStyle":{"backgroundColor":"#1295FF","borderEdges":\[\]}} container container\_1 My\_Dashboard {"content":\[{"attributes":{"color":"#000000","size":"12px"},"insert":"full dashboard"},{"attributes":{"align":"left"},"insert":"\\n"}\]} text text\_2 My\_Dashboard {"metricOption":{"layout":{"componentVisibility":{"details":true,"title":true,"value":true,"comparison":true,"chart":true,"insights":false}},"sdmApiName":"AccountModel","sdmId":"2SMxx0000004CFUGA2"},"receiveFilterSource":{"filterMode":"all","widgetIds":\[\]}} AccountMetric\_mtc metric metric\_1 My\_Dashboard null {"receiveFilterSource":{"filterMode":"all","widgetIds":\[\]},"filterOption":{"objectName":"Account","fieldName":"Account\_Id","dataType":"Text","selectionType":"multiple"},"isLabelHidden":false} AccountModel Account Id filter list\_4 My\_Dashboard AccountParameter null {"parameterName":"AccountParameter\_prm","isLabelHidden":false} AccountModel parameter list\_1 AnalyticsDashboard Created My\_Workspace The following is an example package.xml that references the previous definition. My\_Dashboard AnalyticsDashboard 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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. ## 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 | Field | Field Type | Description | | --- | --- | --- | | description | string | A description of the reporting snapshot. | | groupColumn | string | A column that specifies which level to extract data from the source report. It’s only applicable for summary reports. | | mappings | [AnalyticSnapshotMapping](#AnalyticSnapshotMapping)\[\] | A list of reporting snapshot mappings. For valid values, see [AnalyticSnapshotMapping](#AnalyticSnapshotMapping). | | name | string | Required. The display name of the reporting snapshot. | | runningUser | string | The username of the user whose role and sharing settings are used to run the reporting snapshot. | | sourceReport | string | Required. The report where data is extracted from. | | targetObject | string | Required. The custom object where data is inserted. | ## AnalyticSnapshotMapping AnalyticSnapshotMapping defines the mapping for the reporting snapshot. Valid values are:
Field Field Type Description
aggregateType ReportSummaryType[] (enumeration of type string) List that defines if and how each report field is summarized. For valid values, see ReportSummaryType.
sourceField string The sourceField can be one of the following:
  • 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)
  • 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.

sourceType ReportJobSourceTypes[] (enumeration of type string) List that defines the report format for the reporting snapshot. For valid values, see ReportJobSourceTypes.
targetField string A field on the targetObject into which this particular sourceField is inserted.
## ReportJobSourceTypes An enumeration of type string that defines the report format for the reporting snapshot. Valid values are: | Enumeration Value | Description | | --- | --- | | snapshot | Use this option if the sourceField contains snapshot-specific information such as JobName, RunningUser, or ExecutionTime. | | summary | Use this option if referencing a summary (Sum, Average, Minimum, Maximum) of a field from the sourceReport. | | tabular | Use this option if referencing an available column from the sourceReport. | ## Declarative Metadata Sample Definition Here’s a sample XML definition of a reporting snapshot. my description INDUSTRY Average SALES summary myObject \_\_c.Name ExecutionTime snapshot myObject \_\_c.field3\_\_c INDUSTRY tabular testObject\_\_c.Name my snapshot user@salesforce.com myFolder/mytSummaryReport myObject\_\_c ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). #### See Also - [Report](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_report.htm "Represents a custom report. This metadata type only supports custom reports; standard reports aren’t supported.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 there’s 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. Fields that pertain to CRM Analytics, Data 360 Reports and Dashboards, Tableau, and Tableau Next are only available in orgnizations with CRM Analytics, Data 360, Tableau, and Tableau Next licenses and enablement. ## Fields
Field Name Field Type Description
always​Gen​Previews boolean

Indicates whether Analytics asset previews are generated (true) or not (false). Available in API version 47.0 and later.

analytics​Adoption​Metadata boolean

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.

analytics​Calendar​App boolean

Indicates whether the Analytics Calendar app for Industry templates can be installed in Salesforce (true) or not (false). Available in API version 49.0. Removed in API version 50.0.

auto​Install​Apps boolean

Indicates whether CRM Analytics apps can be auto-installed in Salesforce (true) or not (false). Available in API version 54.0 and later.

bundle​Caching​Opt​Out boolean

Indicates whether the default CRM Analytics dashboard bundle caching behavior is disabled (true) or enabled (false). Available in API version 58.0 and later.

can​Access​Analytics​Via​API boolean

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.

can​Annotate​Dashboards boolean

Indicates whether the Analytics dashboards Chatter annotation feature is enabled in Salesforce (true) or not (false). Available in API version 47.0 and later.

can​Enable​BYOM​Zero​Day​Scoring boolean

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.

can​Enable​Live​Metrics boolean

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.

can​Enable​Saved​View boolean

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.

can​Explore​Data​Conversationally boolean

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.

can​Share​Apps​With​Communities boolean

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.

can​Subscribe​Dashboard​Widgets boolean

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.

can​View​Thumbnail​Assets boolean

Indicates whether the thumbnail representations of Analytics lenses and dashboards are viewable (true) or not (false). Available in API version 47.0 and later.

cdp​Query​Caching​Opt​In boolean

Indicates whether caching is enabled for direct queries to Data 360 (true) or not (false). Available in API version 65.0 and later.

concurrency​Limit​Sharing boolean

Indicates whether the concurrency limits of Data Prep dataflows and recipes can be shared (true) or not (false). Available in API version 60.0 and later.

disable​Incremental​Dataset​Creation boolean

Indicates whether incremental dataset optimization is disabled (true) or not (false). Available in API version 65.0 and later.

enable​Ai​Sentiment​In​Dcr​Pref boolean

Indicates whether AI sentiment analysis is enabled for Data 360 reports (true) or not (false). Available in API version 68.0 and later.

enable​Amazon​Redshift​Output​Connector boolean

Indicates whether the Amazon Redshift Output connector is enabled in Salesforce (true) or not (false). Available in API version 58.0 and later.

enable​Analytics​Encryption boolean

Indicates whether encryption is enabled for Analytics in Salesforce (true) or not (false). Available in API version 48.0 and later.

enable​Analytics​Sharing​Enable boolean

Indicates whether the Analytics sharing is enabled in Salesforce (true) or not (false). Available in API version 48.0 and later.

enable​Analyze​In​Tableau​Next boolean

Indicates whether the Analyze in Tableau Next feature is enabled in Data 360 reports (true) or not (false). Available in API version 67.0 and later.

enable​Auto​Complete​Combo boolean

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.

enable​Autonomous​Experience boolean

Indicates whether Ask Salesforce for Data is enabled in Salesforce (true) or not (false). Available as Beta in API version 54.0 and later.

enable​Azure​DL​Gen2​Output​Connector boolean

Indicates whether the Azure DL Gen2 output connector is enabled in Salesforce (true) or not (false). Available in API version 54.0 and later.

enable​C360​Global​Profile​Data boolean

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.

enable​Cdp​Beta​Connectors boolean

Indicates whether beta Data 360 connectors are enabled for Tableau Next (true) or not (false). Available in API version 68.0 and later.

enable​Cio​History​Reporting​Pref boolean

Indicates whether CIO history reporting is enabled for Data 360 reports (true) or not (false). Available in API version 67.0 or later.

enable​Create​Legacy​Dataflows boolean

Indicates whether access to creating dataflows is available in Salesforce (true) or not (false). Available in API version 55.0 and later.

enable​Crma​Data​Cloud​Integration boolean

Indicates whether platform integration between CRM Analytics and Data 360 is enabled (true) or not (false). Available in API version 58.0 and later.

enable​Crma​Subs​For​Exp​Cloud boolean

Indicates whether CRM Analtyics subscriptions are available in Experience Cloud (true) or not (false). Available in API version 67.0 and later.

enable​Cross​Cloud​Csi boolean

Indicates whether cross-cloud calculated insights (CSI) are enabled for Data 360 reports and Tableau Next (true) or not (false). Available in API version 68.0 and later.

enable​Crt​Setup​Lightning​UiPref boolean

Indicates whether the enhanced custom report type setup pages is enabled in Salesforce (true) or not (false). Available in API version 64.0 and later.

enable​Currency​Support​In​DCR​Pref boolean

Indicates whether currency fields are enabled for Data 360 reports (true) or not (false). Available in API version 67.0 or later.

enable​Dashboard​Change​Owner​Pref boolean

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 59.0. Removed in API version 60.0.

enable​Dashboard​Cmp​Refresh​Pref boolean

Indicates whether Lightning Experience dashboard component refresh is enabled in Salesforce (true) or not (false). Available in API version 64.0. Removed in API 65.0.

enable​Dashboard​Component​Snapshot boolean

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.

enable​Dashboard​Flexi​Table boolean

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.

enable​Dashboard​To​PDF​Enable boolean

Indicates whether a dashboard can be exported to a PDF in Salesforce (true) or not (false). Available in API version 48.0 and later.

enable​Dashboard​Sub​Org​Email​Pref boolean

Indicates whether the unique org email for Lightning Experience dashboard subscriptions is enabled (true) or not (false). Available in API version 64.0 and later.

enable​Data​Cloud​Reporting​Pref boolean

Indicates whether Data 360 reporting with the analytics query engine is enabled (true) or not (false). Available in API version 59.0 and later.

enable​Data​Blending boolean

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.

enable​Dimensional​Hierarchy​In​DCR​Pref boolean

Indicates whether dimenional hierarchy is enabled for Data 360 reports (true) or not (false). Available in API version 67.0 or later.

enable​Easy​Setup​AI boolean

Indicates whether the Easy Setup AI experience is enabled for Tableau Next (true) or not (false). Available in API version 68.0 and later.

enable​Email​Reports​To​Portal​Users boolean

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.

enable​Explore​In​Tableau boolean

Indicates whether the Explore in Tableau feature is enabled for Salesforce analytics features (true) or not (false). Available in API version 60.0 and later.

enable​Firebird​Editor boolean

Indicates whether the Firebird editor is available in Salesforce (true) or not (false). Available in API version 48.0 and later.

enable​Floating​Report​Headers boolean

Indicates whether report results display floating headers when scrolling (true) or not (false). Available in API version 47.0 and later.

enable​Headless​Browser​Service​TOS boolean

Indicates whether the terms of service for the Analytics headless browser service are available in Salesforce (true) or not (false). Available in API version 68.0 and later.

enable​Include​Disclaimer​Message boolean

Indicates whether confidental data disclaimers are included with analytics assets (true) or not (false). Available in API version 64.0 and later.

enable​Incremental​Upsert boolean Indicates whether the incremental upsert operation is enabled for CRM Analytics recipe output nodes (true) or not (false). Available in API version 66.0 and later.
enable​Insights boolean

Indicates whether CRM Analytics is enabled in Salesforce (true) or not (false).

enable​Insights​HC​Mode boolean

Indicates whether CRM Analytics for Public Cloud is enabled in Salesforce (true) or not (false). Available in API version 58.0 and later.

enable​Joined​Report​In​DCR​Pref boolean

Indicates whether joined reports are enabled for Data 360 reports (true) or not (false). Available in API version 67.0 or later.

enable​Lightning​Dashboard​LWR​Pref boolean

Indicates whether Lightning Web Runtime (LWR) is enabled for Lightning Experience dashboards (true) or not (false). Available in API version 68.0 and later.

enable​Lightning​Report​Builder boolean

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.

enable​Lightning​Report​LWR​Pref boolean

Indicates whether Lightning Web Runtime (LWR) is enabled for Lightning Experience reports (true) or not (false). Available in API version 68.0 and later.

enable​Lotus​Notes​Images boolean

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.

enable​Lwc​In​Dashboards boolean

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.

enable​MDW boolean

Indicates whether the metadata warehouse (MDW) is enabled for semantic authoring in Salesforce Analytics (true) or not (false). Available in API version 64.0 and later.

enable​Mass​Enable​Report​Builder boolean

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.

enable​Native​Tableau​LWC boolean

Indicates whether native Tableau Lightning Web Components are enabled in Salesforce (true) or not (false). Available in API version 64.0 and later.

enable​New​Charts​Engine boolean

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.

enable​Null​Dimension boolean

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.

enable​Org​Can​See​Live​Previews boolean

Indicates whether admins can enable live previews of data in Salesforce (true) or not (false). Available in API version 57.0 and later.

enable​Org​Can​View​Tableau boolean

Indicates whether admins can enable Tableau dashboards in Salesforce (true) or not (false). Available in API version 55.0 and later.

enable​Org​Can​View​Thumbnail​For​OA boolean

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.

enable​Org​Has​Mobile​Offline​Enabled boolean

Indicates whether admins can enable mobile offline access in Salesforce (true) or not (false). Available in API version 51.0 and later.

enable​Org​Has​Watchlist​Enabled boolean

Indicates whether admins can turn on watchlists for assets in Salesforce (true) or not (false). Available in API version 50.0 and later.

enable​Org​Hierarchy boolean

Indicates whether the org hierarchy feature is enabled for Tableau Next (true) or not (false). Available in API version 67.0 and later.

enable​Org​Hierarchy​In​Dcr​Pref boolean

Indicates whether org hierarchy is enabled for Data 360 reports (true) or not (false). Available in API version 68.0 and later.

enable​Org​Wide​Email​Notification boolean

Indicates whether a unique org email for CRM Analytics dashboard subscriptions and notifications is enabled (true) or not (false). Available in API version 65.0 and later.

enable​Power​Insights boolean

Indicates whether admins can turn on Power Insights for this org (true) or not (false). Removed in API version 51.0.

enable​Predict​Function boolean

Indicates whether the creating Predict Caluculated Fields is enabled for semantic authoring in Salesforce Analytics (true) or not (false). Available in API version 67.0 and later.

enable​Pupparazzi​For​Notifications boolean Indicates whether the CRM Analytics Hyperforce headless browser service is enabled (true) or not (false). Available in API version 66.0 and above.
enable​Query​Live​Connectors boolean

Indicates whether querying live connectors is available in Salesforce (true) or not (false). Available in API version 48.0 and later.

enable​Recommended​Report​Type​Pref boolean

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.

enable​Remote​Home​Org​Ops boolean

Indicates whether remote home org operations are enabled for the App Template Framework in Salesforce (true) or not (false). Available in API version 65.0 and later.

enable​Remove​Footer​For​Rep​Display boolean

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.

enable​Remove​Footer​From​Rep​Exp boolean

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.

enable​Report​Cdn​Pref boolean

Indicates whether the content delivery network (CDN) feature in Lightning Experience Reports is available in Salesforce (true) or not (false). Available in API version 64.0 and later.

enable​Report​Custom​Text​Export​Pref boolean Indicates whether the export of custom text in Lightning Experience Reports is available in Salesforce (true) or not (false). Available in API version 66.0 and later.
enable​Report​Escape​Chars​Pref boolean

Indicates whether the sanitization of malicious characters in CSV exports to prevent formula injection feature in Lightning Experience Reports is available in Salesforce (true) or not (false). Available in API version 65.0 and later.

enable​Report​Field​To​Field​Pref boolean

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.

enable​Report​Crt​Auto​Add​Pref boolean

Indicates whether the feature to automatically add new fields to relevant custom Lightning Experience report types when they’re created is available in Salesforce (true) or not (false). Available in API version 50.0 and 51.0. Removed in API version 52.0.

enable​Report​Hide​Xls​Export​Pref boolean

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.

Note

Note

To manage this setting, users must have the Export Reports user permission.

enable​Report​Inline​Edit​Pref boolean

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.

enable​Report​Interface​Pref boolean Indicates whether interfaces on Data 360 reports during packaging are enabled (true) or not (false). Available in API version 66.0 and later.
enable​Report​Notifications​Enable boolean

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.

enable​Report​Record​Preview​Org​Pref boolean

Indicates whether the report record preview feature is enabled for Data 360 reports (true) or not (false). Available in API version 68.0 and later.

enable​Report​Sub​Org​Email​Pref boolean

Indicates whether the unique org email for Lightning Experience Report subscriptions is enabled (true) or not (false). Available in API version 61.0 and later.

enable​Report​Unique​Row​Count​Pref boolean

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.

enable​Report​Type​Search​Pref boolean

Indicates whether report type search is enabled for Data 360 reports (true) or not (false). Available in API version 68.0 and later.

enable​Reporting​On​SDM​Pref boolean

Indicates whether reporting on Data 360 semantic models (SDM) is enabled (true) or not (false). Available in API version 63.0 and later.

enable​Request​Priority​Schdl boolean

Indicates whether priority-based dataflow request scheduling is available in Salesforce (true) or not (false). Available in API version 50.0 and later.

enable​S1​Analytics​Eclair​Enable boolean

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.

enable​S3​Output​Connector boolean

Indicates whether the S3 output data connector is available in Salesforce (true) or not (false). Available in API version 49.0 and later.

enable​SFX​Joined​Reports​Enable boolean

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.

enable​Salesforce​Output​Connector boolean

Indicates whether the Salesforce output data connector is available in Salesforce (true) or not (false). Available in API version 51.0 and later.

enable​Secure​Image​Sharing boolean

Indicates whether secure image sharing and downloading is enabled in Salesforce (true) or not (false). Available in API version 50.0 and later.

enable​Smart​Data​Discovery boolean

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.

enable​Semantic​Authoring​AI boolean

Indicates whether semantic authoring AI is enabled for Salesforce Analytics (true) or not (false). Available in API version 68.0 and later.

enable​Show​High​Contrast​Chart boolean

Indicates whether high-contrast charts are enabled for Tableau Next dashboards (true) or not (false). Available in API version 63.0 and later.

enable​Snowflake​Output​Connector boolean

Indicates whether the Snowflake output data connector is available in Salesforce (true) or not (false). Available in API version 49.0 and later.

enable​Summary​Filter​Org​Pref boolean

Indicates whether Lightning Experience Report summary filters are enabled (true) or not (false). Available in API version 60.0 and later.

enable​Sql​Dataset boolean

Indicates whether SQL datasets are available in Salesforce (true) or not (false). Available in API version 52.0. Removed in API version 53.0.

enable​Sql​Live​Dataset boolean

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.

enable​TN​App​Auto​Install boolean

Indicates whether Tableau Next templated apps can be auto-installed in Salesforce (true) or not (false). Available in API version 67.0 and later.

enable​TN​App​Auto​Update boolean

Indicates whether Tableau Next templated apps are automatically updated in Salesforce (true) or not (false). Available in API version 67.0 and later.

enable​Tableau​Adoption​Insights boolean

Indicates whether Tableau Admin Adoption Insights is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent boolean

Indicates whether Tableau Agent is enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent​Analyze​Data boolean

Indicates whether the standard Tableau Agent Data Analysis topic and Analyze Data action are enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent​Beacon boolean

Indicates whether the Tableau Agent Beacon, which generates analytical insights that surface relevant business findings and recommendations proactively, is enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent​Create​Alert boolean

Indicates whether the standard Tableau Agent Data Alert Management topic and Create Data Alert action are enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent​Data​Exploration boolean

Indicates whether the Tableau Agent Data Connection and Analytics Creation are enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent​Data​Pro boolean

Indicates whether the standard Tableau Agent Semantic Model Curation topic and Create Calculated Field actions are enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agent​Description​Generation boolean

Indicates whether Tableau Agent Description Generation action is enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Agentic​Transforms boolean

Indicates whether Tableau Agent agentic transforms are enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Analytics​Feedback​Streaming boolean

Indicates whether Tableau Agent analytics feedback streaming is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Analytics​Interactions boolean

Indicates whether Tableau Agent analytics interactions testing center is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Annotations boolean

Indicates whether Tableau annotations are enabled for Slack (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Asset​Compare​Use​Llm boolean

Indicates whether Tableau asset comparison API uses LLM-powered comparison (true) or the deterministic engine (false). Available in API version 68.0 and later.

enable​Tableau​Asset​Thumbnail boolean

Indicates whether Tableau Next asset thumbnails are enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Audit boolean

Indicates whether Tableau Next auditing is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Client​Monitor boolean

Indicates whether the Tableau Next client monitor is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Concierge​V2 boolean

Indicates whether Tableau Next Concierge V2 is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Enhanced​Visualization​Authoring boolean

Indicates whether beta features for Tableau Next visualization authoring are enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​External​Data​Exploration boolean

Indicates whether Tableau Next external data exploration is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Following boolean

Indicates whether the Tableau Next following feature is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Generate​Visualization boolean

Indicates whether Tableau Agent generate visualization feature is enabled in Agentforce (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Hyper​Output​Connector boolean

Indicates whether the Tableau hyper output data connector is available in Salesforce (true) or not (false). Available in API version 51.0 and later.

enable​Tableau​MI​Summary boolean

Indicates whether the Tableau Next metrics insights (MI) summary is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Maps boolean

Indicates whether Tableau Next maps are enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Personal​Org boolean

Indicates whether Tableau Next personal orgs are enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Personal​Org​Sf​Support boolean

Indicates whether Salesforce support login as SysAmdin is enabled for Tableau Next personal orgs (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Platform boolean

Indicates whether the Tableau Next platform is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Private​Marketplace​Consume​Flow boolean

Indicates whether Tableau Next marketplace is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Private​Marketplace​Metric​Consume​Flow boolean

Indicates whether Tableau Next marketplace metric templates are enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Private​Marketplace​Template​Builder​Flow boolean

Indicates whether the Tableau Next marketplace template builder is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Sdm​Ai​Optimization boolean

Indicates whether Tableau semantic model (SDM) AI optimization is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Seamless​Auth boolean

Indicates whether Tableau Next configuration for token-based authentication is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Slack​App boolean

Indicates whether the Tableau Next Slack app is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Slack​Collab boolean

Indicates whether the Tableau Next integration for Slack is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Tableau​Template​Bldr boolean

Indicates whether the Tableau Next template builder is enabled (true) or not (false). Available in API version 68.0 and later.

enable​Use​Old​Charts​Look​And​Feel boolean

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.

enable​Wave​Assets​New​Date​Version boolean

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.

enable​Wave​Custom​Fiscal boolean

Indicates whether custom fiscal year is enabled for Analytics in Salesforce (true) or not (false). When enabled, custom fiscal year lets admins import custom fiscal year definitions from Salesforce to Analytics. Available in API version 50.0 and later.

enable​Wave​Iframe​Dashboard boolean

Indicates whether using legacy iframe embedding instead of LWC for CRM Analytics dashboards is enabled (true) or not (false). Available in API version 57.0 and later.

enable​Wave​Index​MV​Dim boolean

Indicates whether multivalve dimension indexing is enabled in Salesforce (true) or not (false). Available in API version 50.0 and later.

enable​Wave​Index​MV​Dim​V2 boolean

Indicates whether version 2 multivalve dimension indexing is enabled in Salesforce (true) or not (false). Available in API version 52.0 and later.

enable​Wave​Multi​Currency boolean

Indicates whether CRM Analytics multiple currencies is enabled (true) or not (false). Available in API version 56.0 and later. (Beta)

enable​Wave​Lwc​Dashboards boolean

Indicates whether embedded Analytics dashboards are rendered in Lightning Experience using a Lightning Web Component (true) or the legacy Aura Component (false). Available in API version 55.0 and 56.0. Removed in API version 57.0.

enable​Wave​Record​Navigation boolean

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.

enable​Wave​Replication boolean

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.

enable​Wave​Sharing​Inheritance boolean

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.

enable​Wave​Sql​CF​Indexing boolean

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.

enable​Wave​Sql​In​Query​Api boolean

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.

enable​Wave​Template boolean

Indicates whether Analytics templates are enabled for this org (true) or not (false). Removed in API version 51.0.

enable​Wave​Trended​Dataset​Cleanup boolean

Indicates whether this org allows automatic deletion of inactive trended datasets (true) or not (false). Available in API version 47.0 and later.

enable​Write​To​Data​Cloud boolean

Indicates whether CRM Analytics recipe output to Data 360 is enabled (true) or not (false). Available in API version 60.0 and later. (Beta)

etl​Orchestration​Pref boolean

Indicates whether Data Prep recipe orchestration is enabled (true) or not (false). Available in API version 54.0 and later. (Beta)

incremental​Upsert​Enabled boolean Indicates whether the incremental upsert operation is enabled for CRM Analytics recipe output nodes (true) or not (false). Available in API version 66.0. Removed in API version 68.0.
inherit​Sharing​For​Non​Oppty​Objects boolean

Indicates whether medium visibility support for Analytics sharing inheritance for all Salesforce objects besides the Opportunity object is available in Salesforce (true) or not (false). Available in API version 48.0 and 49.0. Removed in API version 50.0.

inherit​Sharing​For​Oppty​Object boolean

Indicates whether medium visibility support for Analytics sharing inheritance for the Opportunity object is available in Salesforce (true) or not (false). Available in API version 48.0 and 49.0. Removed in API version 50.0.

is​Discovery​Optimization​Enabled boolean

Indicates whether Einstein Discovery optimization is enabled (true) or not (false). Available in API version 58.0 and later. (Beta)

is​High​Volume​Pushback​Enabled boolean

Indicates whether Einstein Discovery high volume push back is enabled in Salesforce (true) or not (false). Available in API version 58.0 and later.

max​Hours​App​In​Progress integer

The maximum number of hours an embedded application can have the status InProgress before it’s canceled. Available in API version 50.0 and later.

query​Caching​Opt​Out boolean

Indicates whether the option to cache query results is enabled (true) or not (false). Available in API version 59.0 and later.

recipe​Direct​Data​Pref boolean

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.

recipe​Fiscal​Pref boolean

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.

recipe​Pre​Caching​Opt​Out boolean

Indicates whether the option to disable Data Prep recipe pre-step caching is available (true) or not (false). Available in API version 53.0 and later.

recipe​Schedule​Export​Pref boolean

Indicates whether exporting schedules for CRM Analytics recipes is enabled (true) or not (false). Available in API version 67.0 and later.

recipe​Staged​Data​Pref boolean

Indicates whether staged data for Data Prep recipes is available in Salesforce (true) or not (false). Available in API version 53.0 and later.

replace​Blank​Measures​With​Nulls boolean

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.

set​Wave​Is​Year​End​Fiscal​Year boolean

Indicates whether the Analytics year end is the fiscal year end (true) or not (false). This preference is only applicable when enableWaveCustomFiscal is true. If false, the fiscal year end is the calendar year end. Available in API version 50.0 and later.

sonic​Enabled boolean

Indicates whether the Sonic feature is available in Salesforce (true) or not (false). Available in API version 51.0 and later.

turn​On​Time​Zones boolean

Indicates whether the timezone feature is available in Salesforce (true) or not (false). Available in API version 48.0 and later.

## Declarative Metadata Sample Definition The following is an example of the Analytics.settings file: true true true ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the Analytics settings metadata: Analytics Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AnalyticsVisualization Represents a Tableau Next visualization. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location AnalyticsVisualization components have the suffix .uaviz and are stored in the analyticsVisualizations folder. ## Version AnalyticsVisualization components are available in API version 64.0 and later. ## Limits | Definition | Limit | | --- | --- | | The maximum number of AnalyticsVisualization components in a single deploy operation. | 50 | | The maximum number of AnalyticsVisualization components in a single retrieve operation. | 100 | | The maximum number of AnalyticsVisualization components across all deploy operations in a 24-hour window. | 100 | | The maximum number of AnalyticsVisualization components across all retrieve operations in a 24-hour window. | 200 | ## Fields | Field Name | Description | | --- | --- | | actions | Field Type [AnalyticsAssetAction\[\]](meta_analyticsdashboard.htm#AnalyticsAssetAction) Description The actions for the visualization. A visualization has 0 or more actions. | | analyticsWorkspace | Field Type string Description Required. The Tableau Next workspace the visualization belongs to. | | creationSource | Field Type string Description The creation source for the visualization. | | dataSource | Field Type string Description Required. The data source for the visualization. | | description | Field Type string Description The description for the visualization. | | fields | Field Type [AnalyticsVizField\[\]](#AnalyticsVizField) Description A list of data fields for the visualization. A visualization has 0 or more fields. | | lastDraftModifiedDate | Field Type dateTime Description The date and time the workspace draft was last modified. | | lastPublishedDate | Field Type dateTime Description The date and time the workspace was last published. | | masterLabel | Field Type string Description Required. The name of the visualization. | | templateAssetSourceName | Field Type string Description If the visualization was created from a template, the name of the source visualization in the template. | | templateSource | Field Type string Description If the visualization was created from a template, the name of the source template. | | version | Field Type double Description The API version of the visualization. | | views | Field Type [AnalyticsVizViewDef\[\]](#AnalyticsVizViewDef) Description A list of views for the visualization. A visualization has 0 or more views. | | visualSpecification | Field Type base64Binary Description Required. The visual specification for the visualization. | | workspaceAssetRelationships | Field Type [AnalyticsWorkspaceAsset\[\]](meta_analyticsworkspace.htm#AnalyticsWorkspaceAsset) Description A list of analytics assets in the workspace this visualization is associated with. A visualization has 0 or more workspace asset relationships. | ## AnalyticsVizField Represents a data field in a visualization. | Field Name | Description | | --- | --- | | adHocCalc | Field Type string Description The expression to do an ad-hoc calculation with. | | analyticsVizVersion | Field Type string Description The version of the visualization the field is associated with. | | computeUsing | Field Type string Description The expression to compute the field value with. | | displayCategory | Field Type VisualizationFieldDisplayCategoryType (enumeration of type string) Description The display category type for the visualization field. Values are: - Continuous - Discrete | | fieldKey | Field Type string Description Required. The key for the field. | | fieldName | Field Type string Description The name of the field. | | function | Field Type VisualizationFieldFunctionType (enumeration of type string) Description The function type of the visualization field. Values are: - Attr - Avg - Count - CountD - DatePartDay - DatePartHour - DatePartMinute - DatePartMonth - DatePartQuarter - DatePartSecond - DatePartWeek - DatePartWeekDay - DatePartYear - DateTruncDay - DateTruncHour - DateTruncMinute - DateTruncMonth - DateTruncQuarter - DateTruncSecond - DateTruncWeek - DateTruncYear - FiscalDatePartMonth - FiscalDatePartQuarter - FiscalDatePartWeek - FiscalDatePartYear - FiscalDateTruncMonth - FiscalDateTruncQuarter - FiscalDateTruncWeek - FiscalDateTruncYear - Max - Mdy - Median - Min - My - Stdev - Stdevp - Sum - UserAgg - Var - Varp | | hierarchyName | Field Type string Description The hierarchy name for the field. | | hierarchyLevel | Field Type integer Description The hierarchy level for the field. | | label | Field Type string Description The label for the field. | | latitudeOrY | Field Type string Description The latitude or Y value for the field. | | longitudeOrX | Field Type string Description The longitude or X value for the field. | | objectName | Field Type string Description The name of the data source object for the field. | | positionName | Field Type string Description The position name for the field. | | positional | Field Type base64binary Description The positional data for the field. REMOVED in v68.0. | | quickTableCalc | Field Type string Description The expression to do a quick table calculation with. | | role | Field Type VisualizationFieldRoleType (enumeration of type string) Description The role type of the visualization field. Values are: - Dimension - Measure | | type | Field Type VisualizationFieldType (enumeration of type string) Description The type of the visualization field. Values are: - Field - MapPosition - MeasureNames - MeasureValues | ## AnalyticsVizViewDef Represents a view definition for a Tableau Next visualization. | Field Name | Description | | --- | --- | | analyticsVizVersion | Field Type string Description The version of the visualization the view is associated with. | | fullName | Field Type string Description Required. The full name of the view definition. | | isOriginal | Field Type boolean Description Required. Indicates whether the view is original (true) or not (false). | | masterLabel | Field Type string Description Required. The name of the view definition. | | version | Field Type double Description The API version of the visualization view. | | viewSpecification | Field Type string Description The specification for the view definition. | ## Declarative Metadata Sample Definition The following is an example of an AnalyticsVisualization component. My\_Workspace A visualization My\_Semantic\_Model Discrete Field1 Lead\_Source18 Opportunity\_Home Dimension Field Field2 Continuous Amount Sum Opportunity\_Home Measure Field default My\_Visualization\_default {"filters":\[{"fieldKey":"Field1","filterInfos":\[{"isCustom":false,"isExcludes":false,"type":"In","useAll":false,"values":\["NewBusiness"\]},{"includeAllValuesWhenEmpty":true,"isExcludes":false,"operator":"Contains","type":"WildCard","value":""}\],"isContext":false}\],"sorts":\[{"byField":"Field2","fieldKey":"Field1","order":"Ascending","type":"Nested"}\]} true My\_Visualization 64.0 AnalyticVisualization Created My\_Workspace The following is an example package.xml that references the metadata definition. My\_Visualization AnalyticsVisualization 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AnalyticsWorkspace Represents a Tableau Next workspace. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location AnalyticsWorkspace components have the suffix .analtyicsWorkspace and are stored in the analyticsWorkspaces folder. ## Version AnalyticsWorkspace components are available in API version 64 and later. ## Limits | Definition | Limit | | --- | --- | | The maximum number of AnalyticsWorkspace components in a single deploy operation. | 50 | | The maximum number of AnalyticsWorkspace components in a single retrieve operation. | 100 | | The maximum number of AnalyticsWorkspace components across all deploy operations in a 24-hour window. | 100 | | The maximum number of AnalyticsWorkspace components across all retrieve operations in a 24-hour window. | 200 | ## Fields | Field Name | Description | | --- | --- | | description | Field Type string Description The workspace description. | | masterLabel | Field Type string Description Required. The name of the workspace. | | workspaceAssetRelationships | Field Type [AnalyticsWorkspaceAsset\[\]](#AnalyticsWorkspaceAsset) Description The workspace assets associated with the workspace. A workspace has 1 or more assets. | ## AnalyticsWorkspaceAsset Represents a Tableau Next analytics asset. | Field Name | Description | | --- | --- | | asset | Field Type string Description Required. The name of workspace asset | | assetType | Field Type AnalyticsWorkspaceAssetType (enumeration of type string) Description Required. The workspace asset type Values are: - AnalyticsDashboard (Tableau Next Dashboard) - AnalyticsVisualization (Tableau Next Visualization) - MktCalculatedInsightObject (Data 360 Calculated Insight Object) - MktDataConnection (Data 360 Connection) - MktDataLakeObject (Data 360 Data Lake Object) - MktDataModelObject (Data 360 Data Model Object) - SemanticModel (Semantic Model) | | assetUsageType | Field Type AnalyticsWorkspaceAssetUsageType (enumeration of type string) Description Required. The workspace asset usage type. Values are: - Created - Referenced | | metadataSourceType | Field Type AnalyticsWorkspaceAssetMetadataSourceType (enumeration of type string) Description The workspace asset metadata source type. Values are: - Promoted - Reused | | workspace | Field Type string Description Required. The workspace the asset belongs to. | ## Declarative Metadata Sample Definition The following is an example of an AnalyticsWorkspace component. An example for Analytics Workspace Analytics Workspace My Test Dashboard AnalyticsDashboard Created Promoted Analytics Workspace The following is an example package.xml that references the previous definition. \* AnalyticsWorkspace 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
Field Name Field Type Description
animationFrequency picklist Required. The frequency with which an animation is displayed when a user selects the designated picklist values in a path. Valid values are:
  • 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.
developerName string Required. The developer name for the animation rule.
Note

Note

Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.

isActive boolean Required. Indicates whether the animation rule is active (true) or not (false).
masterLabel string Required. The label for the animation rule.
recordTypeContext picklist 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.
recordTypeName reference The record type selected for the sObject in which the animation is displayed.
sobjectType string The object on which the animation rule is run.
targetField string Required. Name of the field used to determine when to display an animation.
targetFieldChangeToValues string 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.
## Declarative Metadata Sample Definition The following is an example of an AnimationRule component. Always AnimationRule\_DeveloperName true AnimationRule Label All \_\_MASTER\_\_ Opportunity StageName Delivered, Negotiating, Closed Won The following is an example package.xml that references the AnimationRule component. PathAssistant Settings AnimationRule\_Developer\_Name AnimationRule 46.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/ "html (New Window)"). This type extends the [MetadataWithContent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") metadata type and inherits its content and fullName fields. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note By default, you can’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_crud_based_calls_intro.htm "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."), 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.cls-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:
Field Name Field Type Description
apiVersion double

The API version for this class. Every class has an API version specified at creation.

content base64 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 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.
fullName string The Apex class name. The name can only contain characters, letters, and the underscore (_) character, must start with a letter, and can’t end with an underscore or contain two consecutive underscore characters. This field is inherited from the Metadata component.
packageVersions PackageVersion[] 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.

status ApexCodeUnitStatus (enumeration of type string)

The status of the Apex class. The following string values are valid:

  • 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 it’s only supported for ApexTrigger; it isn’t 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. It’s available in API version 16.0 and later. See [Set Package Versions for Apex Classes and Triggers](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_manpkgs_subscriber_version.htm "HTML (New Window)") in the Apex Developer Guide.
Field Name Field Type Description
namespace string Required. In a packaging context, a namespace prefix is a one to 15-character alphanumeric identifier that distinguishes your package and its contents from packages of other developers on AppExchange. Namespace prefixes are case-insensitive. For example, ABC and abc aren’t 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.

majorNumber int Required. The major number of the package version. A package version number has a majorNumber.minorNumber format.
minorNumber int Required. The minor number of the package version. A package version number has a majorNumber.minorNumber format.
## 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: 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [ApexTrigger](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_triggers.htm "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.") # ApexComponent Represents a Visualforce component. For more information, see Visualforce in Salesforce Help and [StaticResource: MetadataWithContent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_staticresource.htm#extends_metadatawithcontent) ## 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. ## Fields This metadata type contains the following fields:
Field Name Field Type Description
apiVersion double 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.
content base64Binary The component content. Base 64-encoded binary data. Before making an API call, client applications must encode 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. This field is inherited from the MetadataWithContent component.
description string A description of what the component does.
fullName string The component developer name used as a unique identifier for API access. 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.
label string Required. The label for this component.
packageVersions PackageVersion[] 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.

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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [ApexPage](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_pages.htm "Represents a Visualforce page.") # 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. ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | apexEmailNotification | [ApexEmailNotification](#ApexEmailNotification) | A specific Apex email notification. You can specify multiple notifications. | ## ApexEmailNotification Represents an Apex email notification. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Each ApexEmailNotification can contain an email or a user but not both. | Field Name | Field Type | Description | | --- | --- | --- | | email | string | The external email address to which the notification is sent. Mutually exclusive with the user field. | | user | string | The username of the Salesforce user to be notified. Mutually exclusive with the email field. | ## Usage Deploying ApexEmailNotifications deletes all previous notifications in the org. For example, consider two notifications, test1@example.com and test2@example.com, that are deployed in an org. When the following apexEmailNotifications.notifications is deployed, test1@example.com is deleted, because it's not in the deployed list. test2@example.com ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. ## 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. apexEmailNotifications ApexEmailNotifications 49.0 This example uses a wildcard in package.xml. \* ApexEmailNotifications 49.0 This sample deploys an Apex email notification that notifies a Salesforce user in the org. user1@example.com This sample deploys an Apex email notification that notifies an external email address. test@example.com ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ApexPage Represents a Visualforce page. For more information, see Visualforce in Salesforce Help. This type extends the [MetadataWithContent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") metadata type and inherits its content and fullName fields. ## 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:
Field Name Field Type Description
apiVersion double 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, it’s changed to 15.0.
content base64Binary The page content. Base 64-encoded binary data. Before making an API call, client applications must encode 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. This field is inherited from the MetadataWithContent component.
description string A description of what the page does.
fullName string The page developer name used as a unique identifier for API access. 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.
availableInTouch boolean Indicates if Visualforce tabs associated with the Visualforce page can be used in the Salesforce mobile app. (Use of this field for Salesforce Touch is deprecated.). This field is available in API version 27.0 and later.

Standard object tabs that are overridden with a Visualforce page aren’t 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.

confirmationTokenRequired boolean 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 field’s value from false to true, links to the page require a CSRF token to be added to them, or the page is inaccessible.

label string Required. The label for this page.
packageVersions PackageVersion[] 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.

## Declarative Metadata Sample Definition The following sample creates the MyPage.page page, and the corresponding MyPage.page-meta.xml metadata file. SampleApexPage.page file: Congratulations This is your new Page. SampleApexPage.page-meta.xml: This is a sample Visualforce page. SampleApexPage ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [ApexComponent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_component.htm "Represents a Visualforce component.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version ApexSettings components are available in API version 47.0 and later. ## Fields
Field Name Field Type Description
asyncApexExecutionsOverride integer Use this field to specify an override value that is less than the licensed rolling 24-hour asynchronous Apex job limit. The org defaults to the licensed asynchronous limit if the override is 0, null, or omitted. Applicable to only nonproduction orgs, including sandboxes, scratch orgs, and Developer Edition orgs. Used for testing elastic processing behavior. See Elastic Limits for Asynchronous Apex Jobs (Beta). Available in API version 68.0 and later.
DefaultQueueableDelay integer Indicates the admin-controlled minimum delay (in seconds) that applies to all enqueued jobs that 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.
enableAggregateCodeCoverageOnly boolean Indicates whether aggregate (not detailed) totals are tracked for Apex test coverage data (true) or not (false). The default value is false.
enableApexAccessRightsPref boolean Deprecated.
enableApexApprovalLockUnlock boolean Indicates whether approval process lock and unlock operations from Apex code are allowed (true) or not (false). The default value is false.
enableApexCtrlImplicitWithSharingPref boolean Indicates whether the Use with sharing for @AuraEnabled Apex Controllers with Implicit Sharing critical update is activated (true) or not (false). For more details, see the Winter ’20 Release Notes.
enableApexPropertyGetterPref boolean Indicates whether the Enforce Access Modifiers on Apex Properties in Lightning Component Markup critical update is activated (true) or not (false). For more details, see the Winter ’20 Release Notes.
enableAsyncApexElasticExecutions boolean Indicates whether the Use elastic limits for asynchronous Apex jobs (Beta) setting is enabled (true) or not (false). The default value is false. Available in API version 67.0 and later.
enableAuraApexCtrlAuthUserAccessCheckPref boolean Indicates whether the Restrict Access to @AuraEnabled Apex Methods for Authenticated Users Based on User Profile critical update is activated (true) or not (false). For more details, see the Winter ’20 Release Notes.
enableAuraApexCtrlGuestUserAccessCheckPref boolean Indicates whether the Restrict Access to @AuraEnabled Apex Methods for Guest and Portal Users Based on User Profile critical update is activated (true) or not (false). For more details, see the Winter ’20 Release Notes.
enableBlockPackagedApexExecAnon boolean Indicates whether the Block Apex Anonymous Code Execution from Managed Packages release update is enabled (true) or not (false). The default value is false. Available in API version 67.0 and later.
enableCompileOnDeploy boolean Indicates whether Apex code is automatically recompiled (true) or not (false). When set to true, code is recompiled before completing a metadata deployment, change set deployment, package installation, or package upgrade. For production orgs and full sandboxes, the default value is true. For all other orgs, the default value is false.
Note

Note

This setting can’t be disabled in production orgs.

enableDisableParallelApexTesting boolean Indicates whether Apex tests are serially executed (true) or not (false). The default value is false.
Note

Note

Even when parallel testing is enabled by setting this value to false, tests that are run during deployments are always run serially.

enableDebugLogsDuringDeployment boolean Indicates whether debug logs are enabled during metadata deployment (true) or not (false), in conjunction with an active debug log trace flag. If this setting is true but the trace flag is not active, debug logs are not enabled during metadata deployment. The default value is false.
Note

Note

Enabling the debug log in the DebuggingHeader overrides this setting.

enableEnforceSummer26ApexHeapLimit boolean Indicates whether a nonproduction org is restricted to the lower Summer ’26 Apex heap limits (true) or not (false). The default value is false. This setting is available only in Winter ’27. In Spring ’27, the higher Apex heap limits are enforced globally regardless of the setting status. For more details, see Handle Larger Datasets with Increased Apex Heap Limits. Available in API version 68.0.
enableGaplessTestAutoNum boolean Indicates whether autonumbering gaps are prevented by Apex test executions not incrementing autonumber fields for non-test records (true) or not (false). The default value is true.
enableMngdCtrlActionAccessPref boolean Indicates whether the Disable Access to Non-global Apex Controller Methods in Managed Packages critical update is activated (true) or not (false). For more details, see the Winter ’20 Release Notes.
enableNonCertifiedApexMdCrud boolean Indicates whether Apex classes can access metadata, public or protected, through classes in the Metadata namespace (true) or not (false). The default value is false.
enableRestrictCommunityExecAnon boolean Indicates whether guest users are restricted from executing anonymous Apex. The restriction applies regardless of whether the Author Apex permission is set. The default value is true.
enableSecureNoArgConstructorPref boolean Not used. Critical update is automatically enforced. See Restrict Reflective Access to Non-Global Constructors in Packages (Critical Update).
enableTestSetupSkipTestResults boolean Indicates whether Apex test results are generated for @TestSetup methods (false) or not (true). Available in API version 61.0 and later.
## Declarative Metadata Sample Definition The following is an example of ApexSettings components. true The following is an example package.xml manifest that references the previous definition. Apex Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | testClassName | string\[\] | A list of Apex test classes, specified by name, to include in this test suite. | ## 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 don’t originate from managed packages.   LocalTestClass A\*Class   Namespace1.NamespacedTestClass   \*   Namespace1.\*   Namespace2.\* 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.         \*      ApexClass            \*      ApexTestSuite      38.0         \*      ApexClass            Suite1      Suite2      ApexTestSuite      38.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") metadata type and inherits its content and fullName fields. ## Supported Calls All Metadata API calls except [CRUD-Based Calls](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_crud_based_calls_intro.htm "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."), 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:
Field Name Field Type Description
apiVersion double Required. The API version for this trigger. Every trigger has an API version specified at creation.
content base64 The Apex trigger definition. This field is inherited from the MetadataWithContent component.
fullName string The Apex trigger name. The name can only contain characters, letters, and the underscore (_) character, must start with a letter, and can’t end with an underscore or contain two consecutive underscore characters. This field is inherited from the Metadata component.
packageVersions PackageVersion[] 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.

status ApexCodeUnitStatus (enumeration of type string) Required. The status of the Apex trigger. The following string values are valid:
  • 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: 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [ApexClass](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_classes.htm "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.") # 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.
Salesforce API Versions Version Support Status Version Retirement Info
Versions 41.0 through 68.0 Supported.
Versions 31.0 through 40.0

Supported.

Deprecated and unsupported from Summer ’27.

Retired from Summer ’28.

Salesforce Platform API Versions 31.0 through 40.0 Retirement
Versions 21.0 through 30.0 As of Summer ’25, these versions are retired and unavailable. Salesforce Platform API Versions 21.0 through 30.0 Retirement
Versions 7.0 through 20.0 As of Summer ’22, these versions are retired and unavailable. Salesforce Platform API Versions 7.0 through 20.0 Retirement
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](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_eventlogfile_apitotalusage.htm) event type. # AppAnalyticsSettings Represents settings to retrieve AppExchange App Analytics usage data. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version AppAnalyticsSettings is available in API versions 50.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableAppAnalyticsOptOut | boolean | 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. | | enableSimulationMode | boolean | Indicates whether AppExchange App Analytics simulation mode is enabled (true) or disabled (false). Available in API version 50.0 and later. Default is false. | ## Declarative Metadata Sample Definition The following is an example of the AppAnalytics.settings file: true false ## Example Package Manifest This example package manifest deploys or retrieves AppAnalytics settings metadata. AppAnalytics Settings 50.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 | Field Name | Field Type | Description | | --- | --- | --- | | doesHideAllAppsInAppLauncher | boolean | 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. | ## Declarative Metadata Sample Definition The following is an example of an AppExperienceSettings component. false ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the AppExperienceSettings metadata for an organization: AppExperience Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AppFrameworkApp Represents an installed app framework app. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. ## File Suffix and Directory Location AppFrameworkApp components have the suffix .appFrameworkApp and are stored in the appFrameworkApps folder. ## Version AppFrameworkApp components are available in API version 68.0 and later. ## Fields | Field Name | Description | | --- | --- | | appAssetVersion | Field Type double Description The API version of the assets in the app. | | appTemplate | Field Type string Description The name of the template used to install the app. | | description | Field Type string Description The description of the app. | | installedAssets | Field Type [AppFrameworkInstalledAsset\[\]](#AppFrameworkInstalledAsset) Description The installed assets associated with the app. An app has 1 or more installed assets. | | label | Field Type string Description Required The label for the app. | | templateSubType | Field Type string Description The subtype of the template used to install the app. Valid values include Tableau, DataCloud, AgentforceAnalytics, Flow, Dashboard, Visualization, SemanticModel, Metric, and Extension. | | templateType | Field Type string Description The type of the template used to install the app. Valid values include App and Component. | | templateVersion | Field Type string Description The version of the template used to install the app. | ## AppFrameworkInstalledAsset An installed asset in an app. | Field Name | Description | | --- | --- | | appAssetVersion | Field Type double Description The API version of the installed asset. | | asset | Field Type string Description Required The name of the installed asset. | | tags | Field Type string Description A list of the tags for the installed asset. | | templateAssetSourceName | Field Type string Description Required The name of the template used to install this asset. | | type | Field Type string Description The type of the installed asset. Valid values include Dashboard and Workspace. | ## Declarative Metadata Sample Definition The following is an example of a AppFramework component. 68.0 basic\_template Basic template app 68.0 Workspace1 Workspace1 Workspace 68.0 Dashboard1 Dashboard1 Dashboard 68.0 Dashboard2 Dashboard2 Dashboard 68.0 Dashboard3 Dashboard3 Dashboard Basic Test Template app APP 1.0 The following is an example package.xml that references the previous definition. Dashboard1 Dashboard2 Dashboard3 AnalyticsDashboard Workspace1 AnalyticsWorkspace BasicTemplate\_app AppFrameworkApp 68.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # AppFrameworkTemplateBundle Represents the app framework template bundle. Use these templates for Data 360 and Tableau Next assets. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location An app framework template bundle is a folder that contains definition files for a template. Unlike other metadata components, a AppFrameworkTemplateBundle component isn’t represented with a single component file, but instead by a collection of JSON and other definition files. Each definition file represents a resource in a template, such as semantic models, workspaces, visualizations, and dashboards. For example, this directory structure shows the hierarchy of the folders and files for one app framework template definition, myTemplate. appTemplates myTemplate template-info.json create-chain.json rules.json variables.json layout.json workspaces myWorkspace.json dashboards myDashboard.json App framework template bundles must be under a top-level folder that’s named appTemplates. Each bundle must have its own subfolder under the appTemplate folder and 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 doesn’t have a suffix and definition files can have one of the these suffixes. | Suffix | Component Type | | --- | --- | | .json | JSON file | | .html | HTML file | ## Version AppFrameworkTemplateBundle components are available in API version 64.0 and later. ## Special Access Rules Create definitions in both managed and unmanaged packages. ## Fields | Field Name | Description | | --- | --- | | assetVersion | Field Type double Description The API version of the template bundle. | | description | Field Type string Description The description for the template. | | label | Field Type string Description Required The label for the template. | | maxAppCount | Field Type int Description The maximum number of apps that can be created from this template. | | templateBadgeIcon | Field Type string Description The badge icon for the template. This must be a .png file type. | | templateStatus | Field Type string Description The status of the template. | | templateSubtype | Field Type string Description The subtype of the template. | | templateType | Field Type string Description The type of the template. | ## Declarative Metadata Sample Definition This is an example package.xml that references the previous definition. myTemplate AppFrameworkTemplateBundle 64.0 ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 appointmentAssignmentPolicies folder. ## Version AppointmentAssignmentPolicy components are available in API version 53.0 and later. ## Fields
Field Name Field Type Description
masterLabel string Required. The label for the appointment assignment policy.
policyApplicableDuration string Required. The frequency at which the utilization of service resources is calculated. Valid values are:
  • Monthly
  • ParameterBased
  • Weekly
policyType string Required. The type of appointment assignment policy. Valid value is:
  • loadBalancing
utilizationFactor string Required. Specifies the count type for the resource utilization. Valid values are:
  • NumberOfAppointments
  • TotalAppointmentDuration
## Declarative Metadata Sample Definition The following is an example of an appointmentAssignmentPolicy component. loadBalancing Assignment Policy loadBalancing Weekly TotalAppointmentDuration The following is an example package.xml that references the previous definition. sample AppointmentAssignmentPolicy 53.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
Field Name Field Type Description
appointmentAssignmentPolicy string The name of the appointment assignment policy. This field is available in API version 53.0 and later.
appointmentStartTimeInterval picklist Required. The proposed time interval in minutes between appointment start times. For example, if you set the interval to 15, appointments can 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
  • 120
  • 150
  • 180
  • 240
  • 300
  • 360
  • 420
  • 480
extCalEventHandler lookup Required. The API name of the custom Apex class that checks service resources’ external calendar events and returns the time slots where service resources are already booked. Available in API version 50.0 and later.
isSvcTerritoryMemberShiftUsed boolean Required. Indicates whether to consider shifts of service territory members when determining the availability of service resources for appointments (true) or not (false). This field is available in API version 54.0 and later.
isSvcTerrOpHoursWithShiftsUsed boolean Required. Indicates whether to consider the intersection of shifts and service territory operating hours when determining the availability of service resources for appointments (true) or not (false). This field is available in API version 54.0 and later.
masterLabel string Required. The label for the appointment scheduling policy.
shouldCheckExternalCalendar boolean 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.
shouldConsiderCalendarEvents boolean 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).
shouldEnforceExcludedResource boolean Required. Indicates whether this appointment scheduling policy prevents excluded service resources from being assigned to appointments (true) or not (false).
shouldEnforceRequiredResource boolean Required. Indicates whether this appointment scheduling policy allows only required service resources to be assigned to appointments (true) or not (false).
shouldMatchSkill boolean 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).
shouldMatchSkillLevel boolean 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).
shouldRespectVisitingHours boolean Required. Indicates whether this appointment scheduling policy prevents users from scheduling appointments outside of an account’s visiting hours (true) or not (false).
shouldUsePrimaryMembers boolean 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).
shouldUseSecondaryMembers boolean 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).
## Declarative Metadata Sample Definition The following is an example of an appointmentSchedulingPolicy component. ResourceAssignmentRule1 15 Default Appointment Scheduling Policy true true true true true false true true true The following is an example package.xml that references the previous definition. sample AppointmentSchedulingPolicy 47.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 aren’t supported in the Metadata API. - The metadata doesn’t include the order of active approval processes. Sometimes you have to reorder the approval processes in the destination org after deployment. ## 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
Field Name Field Type Description
active boolean Required. Whether the approval process is active.

After an approval process is activated, you can’t add, delete, or change the order of the steps or change its reject or skip behavior, even if the process is inactive.

allowRecall boolean Whether to allow submitters to recall approval requests.

If set to false, only administrators can recall approval requests.

allowedSubmitters ApprovalSubmitter[] Required. An array of users who are allowed to submit records for approval.
approvalPageFields ApprovalPageField 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:
  • Name field
  • Owner field (except for child objects)

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.

approvalStep ApprovalStep[] An array of approval step definitions.
description string Describes the approval process.
emailTemplate string Specifies which Classic email template to use for approval requests. If not specified, the default email template is used.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

When an approval process assigns an approval request to a user, Salesforce sends the user an approval request email.

enableMobileDeviceAccess boolean Whether users can access an external version of the approval page from any browser, including browsers on mobile devices, without logging in to Salesforce. Corresponds to Security Settings in the user interface.

If set to true, approval steps can’t have approvers of type adhoc.

If set to false, approvers must log in to Salesforce to access the approval page.

entryCriteria ApprovalEntryCriteria Determines which records can enter the approval process. Exclude this field to allow all records to enter the approval process.

When you deploy an approval process with no entry criteria to overwrite an existing approval process with entry criteria, then the entry criteria from the existing process are applied to the deployed process.

finalApprovalActions ApprovalAction Specifies which workflow actions to execute when all required approvals have been given for a record.
finalApprovalRecordLock boolean Whether to keep the record locked after it receives all necessary approvals. Default: false.
finalRejectionActions ApprovalAction Specifies which workflow actions to execute after a record enters the final rejection state.
finalRejectionRecordLock boolean Whether to keep the record locked after it’s finally rejected. Default: false.
initialSubmissionActions ApprovalAction Specifies which workflow actions to execute when a record is initially submitted for approval.
label string Required. Name of the approval process.
nextAutomatedApprover NextAutomatedApprover 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.

postTemplate string 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.

recallActions ApprovalAction Specifies which workflow actions to execute when a pending approval request is withdrawn.
recordEditability RecordEditabilityType (enumeration of type string) Specifies which users can edit records that are pending approval. When a record is submitted for approval, it’s automatically locked to prevent other users from editing it during the approval process. Valid values are:
  • AdminOnly—Records pending approval can be edited by:
    • Users with the “Modify All Data” permission
    • Users with the “Modify All Records” object-level permission for the given object
  • AdminOrCurrentApprover—Records pending approval can be edited by:
    • Users with the “Modify All Data” permission
    • Users with the “Modify All Records” 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
showApprovalHistory boolean Whether to add the Approval History related list to the approval page, which is where the approver can view the 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.
Field Name Field Type Description
submitter string 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:
  • owner
  • creator
  • allInternalUsers
Example:
<allowedSubmitters> 
    <type>allInternalUsers</type>
</allowedSubmitters>  
<allowedSubmitters>
    <submitter>myGroup</submitter>
    <type>group</type>
</allowedSubmitters>
type ProcessSubmitterType (enumeration of type string) Required. Type of user or set of users who can submit records for approval. Valid values are:
  • group
  • role
  • user
  • roleSubordinates
  • roleSubordinatesInternal
  • owner
  • creator
  • partnerUser
  • customerPortalUser
  • portalRole
  • portalRoleSubordinates
  • allInternalUsers—all 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. | Field Name | Field Type | Description | | --- | --- | --- | | field | string\[\] | An array of fields that are displayed on the page for the approver to approve or reject the record. | ## 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 approver’s delegate respond to the requests. The first step specifies what to do if a record doesn’t advance to that step. Later steps specify what happens if an approver rejects the request. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 can’t 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.
Field Name Field Type Description
allowDelegate boolean 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.
approvalActions ApprovalAction Specifies which workflow actions to execute when a record is approved in this step of the approval process.
assignedApprover ApprovalStepApprover Specifies the assigned approvers for this step of the approval process.
description string Describes the approval step.
entryCriteria ApprovalEntryCriteria Determines which records can enter this step of the approval process.
ifCriteriaNotMet StepCriteriaNotMetType (enumeration of type string) Specifies what to do for records that don't meet the entry criteria. Valid values are:
  • ApproveRecord—Approve the request and execute all final approval actions.
  • RejectRecord—Reject the request and execute all final rejection actions. This option is available only for the first step in the approval process.
  • GotoNextStep—Skip to the next approval step. If you select this option for the first approval step, and a record doesn’t meet the entry criteria for any other step, the record is rejected.
label string Required. Name of the approval step.
name string Required. Unique name of the approval step. It must contain only underscores and alphanumeric characters, begin with a 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.
rejectBehavior ApprovalStepRejectBehavior Required, except for the first step in the approval process. Specifies what happens if the approver rejects the request 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.

rejectionActions ApprovalAction Specifies which workflow actions to execute when a record is rejected in this step of the approval process.
## ApprovalAction Represents the actions that occur as a result of an approval process. | Field Name | Field Type | Description | | --- | --- | --- | | action | [WorkflowActionReference](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_workflow.htm#WorkflowActionReference)\[\] | An array of workflow actions to execute. | ## ApprovalStepApprover Represents the assigned approvers for an approval step. Each step supports up to 25 approvers.
Field Name Field Type Description
approver Approver[] An array of assigned approvers for this step of the approval process.
whenMultipleApprovers RoutingType (enumeration of type string) Specifies how to handle approval or rejection when multiple approvers are assigned to the step. Valid values are:
  • 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.
  • FirstResponse—Approve 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.
Field Name Field Type Description
name string Identifies an assigned approver. This field is required, except when the type is one of the following and the name is ignored:
  • adhoc
  • userHierarchyField
type NextOwnerType (enumeration of type string) Combined with the specified name, type identifies an assigned approver. Valid values are:
  • adhoc—The 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.
  • user—A user in your organization. For this value, enter a username for the name field.
  • userHierarchyField—A 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.
  • relatedUserField—A 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.
  • queue—Automatically 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.
Field Name Field Type Description
booleanFilter string Filter logic for criteriaItems. Exclude this field if you enter a formula.
criteriaItems FilterItem[] Filter criteria that a record must meet to enter the approval process or approval step.

Approval processes don’t support valueField entries in filter criteria.

formula string Formula that must evaluate to true for a record to enter the approval process or approval step.
## 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.
Field Name Field Type Description
type StepRejectBehaviorType (enumeration of type string) Not allowed in the first step of the approval process. Valid values are:
  • RejectRequest—Rejects the request even if previous steps were approved. Salesforce performs all rejection actions specified for this step and all final rejection actions.
  • BackToPrevious—Rejects 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. | Field Name | Field Type | Description | | --- | --- | --- | | useApproverFieldOfRecordOwner | boolean | Required. Whether the first executed approval step uses the specified userHierarchyField in the record owner’s user record—instead of the submitter’s user record—as the approver. All remaining steps use the specified userHierarchyField in the user record of the preceding step’s approver. | | userHierarchyField | string | Required. Standard or custom user hierarchy field whose value specifies which user to assign as the approver. For example, the standard 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: false false owner USSalesRep role MarketingGroup group kcooper@example.com user Name Owner MyLeadCustomField\_\_c Address false LeadApprovedTask1 Task LeadApprovedTask2 Task adhoc Step1 Step1 LeadRejectedTask Task false userHierarchyField Lead.CreatedDate greaterThan 3/25/2013 User.IsActive notEqual true ApproveRecord Step2 Step2 RejectRequest true MarketingTeamQueue queue LastModifiedBy relatedUserField awheeler@example.com user FirstResponse CONTAINS( MyLeadCustomField\_\_c , 'Salesforce') Step3 Step3 BackToPrevious MyFolder/LeadsNewassignmentnotification false Lead.AnnualRevenue greaterThan 10500 Lead.MyLeadCustomField\_\_c equals Salesforce LeadEmailContacted Alert true ProcessRejectedMessageAction OutboundMessage false LeadFieldUpdate FieldUpdate NewLeadEmail Alert SampleProcess false customlookupuserfield\_\_c MyPostTemplate ProcessRecalledMessageAction OutboundMessage AdminOnly false ## 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 can’t use it to retrieve a subset of approval processes. Syntax such as Lead.\* isn’t supported. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://help.salesforce.com/s/articleView?id=service.knowledge_article_types_manage.htm&type=5&language=en_US)” in the Salesforce online help and [Knowledge](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_guidelines_knowledge.htm) 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: articlefilemetadata Unrestricted newarticle\_\_kav.description\_\_c CustomField newarticle\_\_kav CustomObject ## Version ArticleTypes are available in API version 19.0 and later. ## Fields
Field Name Field Type Description
articleTypeChannel​Display articleTypeChannelDisplay Represents the article-type templates used to display an article in the various channels. See “Article Type Templates” in the Salesforce online help.
deploymentStatus DeploymentStatus (enumeration of type string)

A string which represents the deployment status of a custom object or field. Valid values are:

  • InDevelopment
  • Deployed
description string A description of the article type. Maximum of 1000 characters.
fields CustomField[] Represents one or more fields in the article type.
gender Gender Indicates the gender of the noun that represents the object. This is used for languages where words need different treatment depending on their gender.
label string Label that represents the object throughout the Salesforce user interface.
pluralLabel string Plural version of the label value.
startsWith StartsWith (enumeration of type string) 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.
## 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. | Field Name | Field Type | Description | | --- | --- | --- | | articleTypeTemplates | [ArticleTypeTemplate](#articleTypeTemplates)\[\] | Indicates which article-type template applies in the specified channel. | ## ArticleTypeTemplate Sets the article-type template for a specific channel. If not specified, the default article-type template applies.
Field Name Field Type Description
channel string Specifies the channel where the article-type template applies:
  • AllChannels: all the available channels.
  • App: the Articles tab in Salesforce Knowledge.
  • Pkb: the public knowledge base.
  • Csp: the Customer Portal.
  • Prm: the partner portal.
page string Represents the name of the custom Visualforce page used as a custom article-type template. Use this field when you select template
template string Indicates the article-type template used for the specified channel:
  • 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: App Tab Prm Tab Csp Tab Pkb Toc Deployed Article type with custom fields description\_\_c Description 48 Text newarticle newarticles ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). - **[ArticleType Layout](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_layout.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_channellayout.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_customfield.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_layout.htm "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.") - [ArticleType CustomField](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_customfield.htm "Represents the metadata associated with an article type custom field. Use this metadata type to create, update, or delete article type custom field definitions.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype.htm "Represents the metadata associated with an article type.") 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. MyCustomObject\_\_c.MyCustomField\_\_c Account.MyCustomAccountField\_\_c MyArticleType\_\_kav.MyOtherCustomField\_\_c CustomField ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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.
Field Name Field Type Description
defaultValue string If specified, represents the default value of the field. This field was deprecated in API version 48.0.
deleteConstraint Metadata Field Types (enumeration of type string) Provides deletion options for lookup relationships. Valid values are:
  • Cascade—Deletes the lookup record as well as associated lookup fields.
  • Restrict—Prevents the record from being deleted if it's in a lookup relationship.
  • SetNull—This 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 string Description of the field.
formula string If specified, represents a formula on the field.
formulaTreatBlankAs Metadata Field Types (enumeration of type string) Indicates how to treat blanks in a formula. Valid values are: BlankAsBlank and BlankAsZero.
fullName string 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.

This value cannot be null.

inlineHelpText string Represents the content of field-level help. For more information, see "Define Field-Level Help" in Salesforce Help.
label string Label for the field. You cannot update the label for standard fields in Article Type such as Title, UrlName, Summary, etc.
length int Length of the field.
picklist Picklist (Including Dependent Picklist) (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.
referenceTo string If specified, indicates a reference this field has to another object.
relationshipLabel string Label for the relationship.
relationshipName string 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.
required boolean Indicates whether the field requires a value on creation (true) or not (false).
type FieldType Required. Indicates the field type for the field. Valid values are:
  • 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
visibleLines int Indicates the number of lines displayed for the field.
## Declarative Metadata Sample Definition Comments\_\_c add your comments about this object here 32000 LongTextArea 30 #### See Also - [ArticleType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype.htm "Represents the metadata associated with an article type.") - [ArticleType Layout](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_layout.htm "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.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype.htm#articleTypeTemplates). 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_guidelines_knowledge.htm) 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 | Field Name | Field Type | Description | | --- | --- | --- | | layoutSections | [LayoutSection](#LayoutSection)\[\] | The main sections of the layout containing the article fields. The order here determines the layout order. | ## LayoutSection LayoutSection represents a section of an ArticleType layout. | Field Name | Field Type | Description | | --- | --- | --- | | customLabel | boolean | 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 predefined set of valid values, for example 'System Information', which are automatically translated. | | label | string | The label; either standard or custom, based on the customLabel flag. | | layoutColumns | [LayoutColumn](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_layouts.htm#LayoutColumn)\[\] | The columns of the layout, depending on the style. Salesforce Knowledge only supports one column in article type layouts. | | style | LayoutSectionStyle ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) | The style of the layout. Salesforce Knowledge only supports the value OneColumn, which displays a one-column page. | ## LayoutColumn LayoutColumn represents the items in a column within a layout section. | Field Name | Field Type | Description | | --- | --- | --- | | layoutItems | [LayoutItem](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_layouts.htm#LayoutItem)\[\] | The individual items within a column (ordered from top to bottom). | ## LayoutItem LayoutItem represents the valid values that define a layout item. | Field Name | Field Type | Description | | --- | --- | --- | | field | string | The field name reference, for example MyField\_\_c. | ## Declarative Metadata Sample Definition The following is the definition of an ArticleType page layout: true Description description\_\_c dateTime\_\_c OneColumn Data Sheet file\_\_c OneColumn #### See Also - [ArticleType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype.htm "Represents the metadata associated with an article type.") - [ArticleType CustomField](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_articletype_customfield.htm "Represents the metadata associated with an article type custom field. Use this metadata type to create, update, or delete article type custom field definitions.") # AssessmentQuestion Represents the container object that stores the questions required for an assessment. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | assessmentQuestionVersion | Field Type [AssessmentQuestionVersion](#AssesQVer) Description The object that stores the question versions for the assessment questions. | | dataType | Field Type string Description Required. The data type of the assessment question. | | developerName | Field Type string 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. | | displayTextCategory | Field Type string Description Specifies the category of the display text when the data type is Text Block. | | formulaResponseDataType | Field Type string Description Specifies the data type of the question response calculated by a formula. | | name | Field Type string Description Required. The name of the record. | | questionCategory | Field Type string Description Required. Stores the question category. | | relatedQuestion | Field Type string Description Specifies the related question. Used to define a question hierarchy. | ## AssessmentQuestionVersion​​ Stores the question versions for the assessment questions. | Field Name | Description | | --- | --- | | additionalInformation | Field Type string Description The additional details for a UI element, such as the disclosure text. | | description | Field Type string Description The description for the assessment question. This text isn’t rendered on the assessment. | | guidanceInformation | Field Type string Description The guidance for the assessment question. | | helpText | Field Type string Description The text that's added as an info bubble in the UI element related to the assessment question. | | isActive | Field Type boolean Description Required. Indicates whether the current version of the assessment question is set to active (true) or not (false). The default value is false. | | name | Field Type string Description Required. Name of the assessment question version record. | | optionSourceResponseValue | Field Type boolean 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. | | questionText | Field Type string Description Required. The assessment question text. Contains the label for the assessment question that appears on the assessment. | | responseValues | Field Type string Description Holds the values to be defined in the picklist, multiselect picklist, or radio buttons. | | status | Field Type string Description Required. Status of the assessment question version. Possible values are Draft, Active, or Archived. | | versionNumber | Field Type int Description Required. The assessment question version number. | ## Declarative Metadata Sample Definition The following is an example of an AssessmentQuestion component. ParentQuestionDevName AI ParentQuestionDevName Desc ParentQuestionDevName HT true ParentQuestionDevName true ParentQuestionDevName Text Active 1 DateTime ParentQuestionDevName ParentQuestionDevName Demographic The following is an example package.xml that references the previous definition. \* AssessmentQuestion 55.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If an active assessment question version doesn’t exist for the assessment question, then the latest assessment question version with Status as Draft is retrieved. - The value for the 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 isn’t 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 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 aren’t available in target org but available in the package, then deploying the questions inserts the Related Questions in the correct order. - If the assessment questions are associated with flows of type Discovery Framework Data Capture Flow, then deploy the assessment questions first. After deploying the assessment questions, deploy the flows. # AssessmentQuestionSet Represents the container object for Assessment Questions. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | assessmentQuestionDeveloperNames | Field Type string\[\] 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. | | developerName | Field Type string 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. | | name | Field Type string Description Required. The question set name. | ## Declarative Metadata Sample Definition The following is an example of an AssessmentQuestionSet component. QuestionSetDevName QuestionSetName QuestionDevName The following is an example package.xml that references the previous definition. \* AssessmentQuestion \* AssessmentQuestionSet 55.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). ## 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 don’t exist in the target org but are available in the package, then deploying the assessment question sets inserts the questions in the correct order. # 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: \* AssignmentRules 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: Case AssignmentRules 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. Case.samplerule Case.newrule AssignmentRule ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | assignmentRule | [AssignmentRule\[\]](#AssignmentRule_sub) | Represents the definitions of the named assignment rules. | ## AssignmentRule Specifies whether the rule is active or not and its definition. Rules are processed in the order they appear within the AssignmentRules container.
Field Name Field Type Description
active boolean Indicates whether the assignment rule is active (true) or not (false).
fullname string 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.

This value can't be null.

ruleEntry RuleEntry[] Represents the type and description for the assignment rule.
## RuleEntry Represents the fields used by the rule.
Field Name Field Type Description
assignedTo string The name of the user or queue the item is assigned to.
assignedToType AssignToLookupValueType (enumeration of type string) Valid values are:
  • User
  • Queue
booleanFilter string Advanced filter conditions that were specified for the rule.
criteriaItems FilterItem[] The items in the list that define the assignment criteria.
formula string The validation formula.

Specify either formula or criteriaItems, but not both fields.

notifyCcRecipients boolean Specifies whether email addresses included on the Cc line of an incoming Email-to-Case or Web-to-Lead message are included on the Cc line of the auto-response to that message (true) or not (false). Available in API version 32.0 and later.
overrideExistingTeams boolean 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).
team string[] The name of the case team. It can occur 0 or more times.
template string Specifies the template to use for the email that is automatically sent to the designated recipient.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

## Declarative Metadata Sample Definition The following is an example file showing two assignment rules on the Case object: samplerule false testUser@org.com User Case.IsEscalated equals True emailtemplate Another samplerule false otherUser@org.com User Case.IsEscalated equals False emailtemplate ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm) 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 | Field Name | Description | | --- | --- | | enableAssociationEngine | Field Type boolean Description Automatically associates new accounts with the user’s 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. true The following is an example package.xml that references the previous definition. AssociationEngine Settings ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AsyncResult Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call. ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm "The retrieve() call returns an array of RetrieveResult objects."). Also, the asynchronous [create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm#meta_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."), [update()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm#meta_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."), and [delete()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_delete.htm#meta_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.") 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") - [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") AsyncResult has this field that’s in use. ### id - **Type**: ID - **Description**: Required. The ID of the component that's being deployed or retrieved. 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") object and added several new ones, to improve the process for getting information about deployments. For more information about these changes, see [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org."). 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. ### done - **Type**: boolean - **Description**: Required. Indicates whether the call has been completed (true) or not (false). ### id - **Type**: ID - **Description**: Required. The ID of the component that's being created, updated, deleted, deployed, or retrieved. ### message - **Type**: string - **Description**: The message that corresponds to the returned [statusCode](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field, if any. ### state - **Type**: AsyncRequestState ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Required. The AsyncRequestState object has one of four possible values. - Queued: This call hasn’t started. It’s waiting in a queue. - InProgress: This call has started but hasn’t been completed. - Completed: This call has been completed. - Error: An error occurred. See the [statusCode](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") for more information. ### statusCode - **Type**: StatusCode ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: If an error occurred during the [create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm "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."), [update()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm "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."), or [delete()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_delete.htm "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.") call, a status code is returned, and the message that corresponds to the status code is returned in the [message](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field. For a description of each StatusCode value, see [StatusCode](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#statuscode_topic) in the [SOAP API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/ "HTML (New Window)"). ## API Version 28.0 and Earlier In API version 28.0 and earlier, these asynchronous calls can return AsyncResult. - [create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm "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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_delete.htm "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.") - [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") - [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") - [update()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm "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.") Use the [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") and [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") calls use AsyncResult, though you must subsequently use [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") or [checkRetrieveStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkretrievestatus.htm "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") respectively to get more status information for the deployment or retrieval. AsyncResult has the following fields. ### checkOnly - **Type**: boolean - **Description**: This field is available in API version 16.0 and later and is relevant only for the 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 deployment doesn’t deploy any components or change the organization in any way. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### done - **Type**: boolean - **Description**: Required. Indicates whether the call has been completed (true) or not (false). ### id - **Type**: ID - **Description**: Required. The ID of the component that's being created, updated, deleted, deployed, or retrieved. ### message - **Type**: string - **Description**: The message that corresponds to the returned [statusCode](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field, if any. ### numberComponentErrors - **Type**: int - **Description**: This field is available in API version 16.0 and later and is relevant only for the The number of components that generated errors during this deployment. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### numberComponentsDeployed - **Type**: int - **Description**: This field is available in API version 16.0 and later and is relevant only for the The number of components that have been deployed for this deployment. This field in conjunction with the [numberComponentsTotal](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field gives you an indication of the progress of the deployment. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### numberComponentsTotal - **Type**: int - **Description**: This field is available in API version 16.0 and later and is relevant only for the The total number of components in the deployment. This field in conjunction with the [numberComponentsDeployed](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field gives you an indication of the progress of the deployment. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### numberTestErrors - **Type**: int - **Description**: This field is available in API version 16.0 and later and is relevant only for the The number of Apex tests that generated errors during this deployment. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### numberTestsCompleted - **Type**: int - **Description**: This field is available in API version 16.0 and later and is relevant only for the The number of Apex tests that have been completed for this deployment. This field in conjunction with the [numberTestsTotal](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field gives you an indication of the progress of tests for the deployment. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### numberTestsTotal - **Type**: int - **Description**: This field is available in API version 16.0 and later and is relevant only for the The total number of Apex tests in the deployment. This field in conjunction with the [numberTestsCompleted](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field gives you an indication of the progress of tests for the deployment. The value in this field isn’t accurate until the deployment has started running tests for the components that are being deployed. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### secondsToWait - **Type**: int - **Description**: 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 calling to see if the operation is complete. Double your wait time for each successive iteration of calls until the operation is complete. ### state - **Type**: AsyncRequestState ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Required. The AsyncRequestState object has one of four possible values. - Queued: This call hasn’t started. It’s waiting in a queue. - InProgress: This call has started but hasn’t been completed. - Completed: This call has been completed. - Error: An error occurred. See the [statusCode](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") for more information. ### stateDetail - **Type**: string - **Description**: 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### stateDetailLastModifiedDate - **Type**: dateTime - **Description**: The date and time when the This field is available in API version 16.0 and later and is relevant only for the [stateDetail](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field was last modified. [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### statusCode - **Type**: StatusCode ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: If an error occurred during the [create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm "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."), [update()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm "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."), [delete()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_delete.htm "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."), or [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call, a status code is returned, and the message that corresponds to the status code is returned in the [message](#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field. For a description of each StatusCode value, see [StatusCode](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#statuscode_topic) in the [SOAP API Developer Guide](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/ "HTML (New Window)"). # 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
Field Name Field Type Description
audienceName string Required. The name of the audience.
container string Required. The name of the site or org that contains the audience.
criteria AudienceCriteria Required. Criteria in an audience. This field is available in API version 47.0 and later.
criterion AudienceCriterion[] Removed. List of criteria in an audience.

This field is available in API version 44.0–46.0. In API version 47.0 and later, use criteria instead.

description string The description of the audience.
formula string Formula used to determine the audience. This field is available in API version 45.0 and later.
formulaFilterType FormulaFilterType​(enumeration of type string) Indicates the audience’s formula type. Valid values are
  • AllCriteriaMatch
  • AnyCriterionMatches
  • CustomLogicMatches (available in API version 45.0 and later)
isDefaultAudience boolean 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.

targets PersonalizationTarget​Infos Targets for the audience. This field is available in API version 47.0 and later.
## AudienceCriteria Represents criteria for an audience. This subtype is available in API version 47.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | criterion | [AudienceCriterion](#AudienceCriterion)\[\] | List of criteria for an audience. An audience can have up to 100 criteria. | ## AudienceCriterion Represents a criterion for an audience.
Field Name Field Type Description
criteriaNumber int 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.
criterionValue AudienceCriteriaValue The value of the criterion.
operator AudienceCriterionOperator(enumeration of type string) The operator associated with this criterion. Valid values are:
  • 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)
type AudienceCriterion​Type(enumeration of type string) Required. Valid values are:
  • GeoLocation
  • Domain
  • 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](#AudCritTypeAudCritValueTable). | Field Name | Field Type | Description | | --- | --- | --- | | audienceDeveloperName | string | 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. | | city | string | City of a user. You can use this field only when the value of the AudienceCriterion type field is GeoLocation. | | country | string | Country of a user. You can use this field only when the value of the AudienceCriterion type field is GeoLocation. | | domain | string | Domain of a user. You can use this field only when the value of the AudienceCriterion type field is Domain. | | entityField | string | Field of an object. You can use this field only when the value of the AudienceCriterion type field is FieldBased. | | entityType | string | Type of object. You can use this field only when the value of the AudienceCriterion type field is FieldBased. | | fieldValue | string | Value of a field. You can use this field only when the value of the AudienceCriterion type field is FieldBased. | | isEnabled | string | 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. | | permissionName | string | 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. | | permissionType | string | 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. | | profile | string | Profile of a user. You can use this field only when the value of the AudienceCriterion type field is Profile. | | subdivision | string | Subdivision of a user. You can use this field only when the value of the AudienceCriterion type field is GeoLocation. | This table summarizes which AudienceCriteriaValue fields you can use with the different AudienceCriterion type field values.
AudienceCriterion Type AudienceCriteriaValue Fields
GeoLocation city

country

subdivision

Domain domain
Profile profile
FieldBased entityField

entityType

fieldValue

Permission isEnabled

permissionName

permissionType

Audience audienceDeveloperName
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_experiencebundle.htm "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.") in your package to support experience variation targets. | Field Name | Field Type | Description | | --- | --- | --- | | target | [PersonalizationTarget​Info](#PersonalizationTargetInfo)\[\] | List of targets for an audience. | ## PersonalizationTargetInfo Represents a target for an audience. This subtype is available in API version 47.0 and later.
Field Name Field Type Description
groupName string 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.

priority int Priority of the target. Within a group, priority determines which target is returned when the user matches more than one audience.
targetType string Required. Type of target, indicating the nature of the data being targeted. Supported values include:
  • 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.

targetValue string 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.

## Declarative Metadata Sample Definition The following is an example of an Audience component. Audience Metadata Customer 1 United States Nevada Equal GeoLocation 2 customer community user Equal Profile 3 sampledomain.example.com Equal Domain 4 Manager.Profile.CreatedBy.Contact.MailingCountry User USA StartsWith FieldBased 5 RecordTypeId CollaborationGroup CollaborationGroup.Group\_RT2 Equal FieldBased 6 true ManageUsers Standard Equal Permission 7 false NamespaceXYZ\_\_CustomPermABC Custom Equal Permission 8 Audience1 Equal Audience 1 AND (2 OR 3 OR 4 OR 5 OR 6 OR 7) AND 8 CustomLogicMatches false c194d79c-5c6b-4c6a-8d14-0e7042564355$#$Branding 1 ExperienceVariation Customer\_Service\_testBrandingSet\_Branding ## Usage You can’t use Metadata API to delete an audience. In API version 47.0 and later, you can’t 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 don’t 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 doesn’t 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: testAudience testContainer 1 United States Nevada Equal GeoLocation AllCriteriaMatch false Update an audience without updating targets To update an audience without updating targets, deploy the audience without targets tags. For example: testAudience testContainer 1 United States Nevada Equal GeoLocation AllCriteriaMatch false 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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 isn’t a single file, it’s 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 doesn’t have a suffix. Definition files can have one of these suffixes: | Suffix | Component Type | | --- | --- | | .app | Application | | .cmp | Component | | .design | Design | | .evt | Event | | .intf | Interface | | .js | Controller, Helper, or Renderer | | .svg | SVG image | | .css | Style | | .auradoc | Documentation | | .tokens | Tokens collection | 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. 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
Field Name Field Type Description
apiVersion double 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.
auraDefinitions AuraDefinitions Reserved for internal use.
controllerContent base64Binary The content of a JavaScript client-side controller.
description string The specification of the Aura bundle. Available in API version 35.0 and later.
designContent base64Binary The content of a design definition. Only valid inside a component bundle.
documentationContent base64Binary The content of a documentation definition.
helperContent base64Binary The content of a JavaScript helper.
markup base64Binary The content of the markup for a definition.
modelContent base64Binary Deprecated. Do not use.
packageVersions PackageVersion[] The list of installed managed package versions that this Aura definition bundle references. Available in API version 35.0 and later.
rendererContent base64Binary The content of a JavaScript client-side renderer.
styleContent base64Binary The CSS for the definition.
SVGContent base64Binary The SVG image for the definition.
testsuiteContent base64Binary Reserved for internal use.
type AuraBundleType (enumeration of type string) The definition type. Valid values are:
  • Application
  • Component
  • Event
  • Interface
  • Tokens
## 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: 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. sampleCmp AuraDefinitionBundle 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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. ## 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
Field Name Field Type Description
appleTeam string 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.
authorizeUrl string 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.”

consumerKey string The app’s 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.”

consumerSecret string The consumer secret of the app that is registered at the third-party provider. After it’s set, you can’t change the value. When using create(), this 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.

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.

controlPlane MuleSoftControlPlane (enumeration of type string) Required when using MuleSoft as a third-party authentication provider. Environment where the MuleSoft Anypoint Platform control plane is hosted. 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:
  • None—User-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.
  • US—US control plane
  • EU—EU control plane
customMetadataTypeRecord string 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.
defaultScopes string 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.”

ecKey string Required when using Apple as a third-party authentication provider. A private key generated by Apple. Available in API version 48.0 and later.
errorUrl string A custom error URL for the authentication provider to use to report errors.
executionUser string

Required to specify a registration handler. The username of the Salesforce admin or system user who runs the Apex handler or flow. The execution user provides the context in which the registration handler runs. For example, if the 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.

flow string A flow for the registration handler. The flow must be of the Identity User Registration Flow type.

You can use either a flow or an Apex class for the registration handler. To use an Apex class instead, omit the flow field and specify an Apex class in the registrationHandler field.

Available in API version 64.0 and later.

flowDefaultAccount string For authentication providers that use a flow registration handler, the default account that new external users are assigned to. If you include this field, Salesforce automatically uses it for the defaultAccountId variable in the Authentication Provider User Registration standard flow.

A default account is required to use a flow registration handler to create and update external users. You can specify a default account here or in the flow itself. If you use both, the default account that's configured in the flow takes precedent.

Available in API version 64.0 and later.

flowDefaultProfile string For authentication providers that use a flow registration handler, the default profile that new users are assigned to. If you include this field, Salesforce automatically uses it for the defaultProfileId variable in the Authentication Provider User Registration standard flow.

A default profile is required to use a flow registration handler. You can specify a default profile here or in the flow itself. If you use both, the default profile that's configured in the flow takes precedent.

Available in API version 64.0 and later.

friendlyName string Required. A user-friendly name for the authentication provider.
iconUrl string 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.
idTokenIssuer string The source of the authentication token in https: URI format. This field is available when configuring an OpenID Connect or Microsoft 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.
includeOrgIdInIdentifier boolean 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 of the third-party identity in addition to the user ID. After you enable this setting, you can’t disable it. Applies only to a Salesforce-managed auth provider. Available in API version 32.0 and later.
isPkceEnabled boolean 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.
  • Custom
  • Facebook
  • Google
  • Microsoft
  • OpenIdConnect
  • Salesforce.

This field is available in API version 59.0 and later.

linkKickoffUrl string 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.
logoutUrl string 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, such as https://acme.my.salesforce.com. Available in API version 33.0 and later.
oauthKickoffUrl string The URL for obtaining OAuth access tokens for a third party. This field is read-only. Available in API version 43.0 and later.
paramForwardAllowlist AuthProvParamFwdAllowlist[] An allowlisted URL parameter that can be forwarded from the authentication provider's client configuration URLs to the authorization URL. Available in API version 62.0 and later.
plugin string An existing Apex class that extends the Auth.AuthProviderPluginClass abstract class. Available in API version 36.0 and later.
portal string This field is used only with portals, which are deprecated. Salesforce doesn’t support creating portals, but existing portals are supported.
providerType AuthProviderType (enumeration of type string) Required. The third-party authentication provider to use. Valid values include:
  • Apple
  • Bitbucket—Provides authentication for a Bitbucket provider. Enables you to connect to Bitbucket from a Lightning Platform application. When logged in to Bitbucket, the app can makes calls to Bitbucket APIs. The Bitbucket provider isn’t available as an SSO provider, so users can’t log in to a Salesforce org using their Bitbucket login credentials. Available in API version 61.0 and higher.
  • Custom—A provider configured with a custom authentication provider plug-in. Available in API version 36.0 and later.
  • Facebook.
  • GitHub—Provides 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 isn’t available as an SSO provider, so users can’t 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.
  • Microsoft—Provides authentication for all services that can be accessed via Microsoft Azure Active Directory. Available in API version 55.0 and later.
  • MicrosoftACS—Microsoft 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.
registrationHandler string An existing Apex class that implements the Auth.RegistrationHandler interface.

You can use either an Apex class or a flow for the registration handler. To use a flow instead, omit the registrationHandler field and specify a flow in the flow field.

requireMfa boolean 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 trigger MFA, you must apply MFA directly to users via one of two methods. 1) Enable the org setting Require multi-factor authentication (MFA) for all direct UI logins to your Salesforce org. 2) Assign the user permission multi-factor authentication for User Interface Logins.
sendAccessTokenInHeader boolean 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.
sendClientCredentialsInHeader boolean Required when creating an OpenID Connect authentication provider. If enabled (true), the client credentials are sent in a header to the tokenUrl instead of a query string. The credentials are in the standard 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.
sendSecretInApis boolean
Determines whether the encrypted consumer secret appears in API responses. If enabled (default), the secret appears in the response. If disabled (false), responses don’t 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.

ssoKickoffUrl string 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.
tokenUrl string 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.”

userInfoUrl string 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.”

## AuthProvParamFwdAllowlist Represents an allowlisted URL parameter that can be forwarded from authentication provider client configuration URLs to the authorization URL. Use this type to add custom functionality to authentication providers. For example, allowlist a ui\_locales parameter and use it to send a user's language preference from Salesforce to the third-party provider's login page. You can allowlist up to 10 parameters. | Filed Name | Field type | Description | | --- | --- | --- | | description | string | A description for the allowlisted URL parameter. | | param | string | The name of the parameter, such as ui\_locales or login\_hint. | ## Declarative Metadata Sample Definition ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Starting in November 2022, enter the consumerSecret value as plaintext, for example, yourplaintextconsumersecret. Existing consumer secrets that were entered as encrypted values can be deployed throughout the Winter ‘23 release. yourappkey PwdVxXjzu3NCZ3MD4He+wA=\= admin@your.org FacebookAuthProvider Facebook RegistrationHandler true This example package manifest references the previous AuthProvider definition. FacebookAuthProvider AuthProvider 28.0 ## Usage Salesforce provides default authentication providers, called Salesforce-managed auth providers, to simplify setting up these service providers for authentication. - Apple - Bitbucket - 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If you provide a value for one of these fields, you must also provide a value for consumerKey and consumerSecret. ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # AutomatedContactsSettings Represents an org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version AutomatedContactsSettings is available in API versions 48.0 and later. ## Fields
Field Name Field Type Description
enableAddContactAutomatically boolean 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.

Note

Note

When this feature is enabled, users do not see new contacts as suggestions. The contacts are added automatically.

enableAddContactRoleAutomatically boolean Indicates whether opportunity contact roles from external accounts are automatically added to Salesforce (true) or not (false). The default value is false.
Note

Note

When this feature is enabled, users do not see new contact roles as suggestions. The contact roles are added automatically.

enableAddContactRoleWithSuggestion boolean 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.
enableAddContactWithSuggestion boolean 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.

## Declarative Metadata Sample Definition The following is an example of the AutomatedContactsSettings.settings file: true true true true ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the AutomatedContacts settings metadata: AutomatedContactsSettings Settings 29.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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: \* AutoResponseRules 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: Case AutoResponseRules 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. Case.samplerule Case.newrule AutoResponseRule ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | autoresponseRule | [AutoResponseRule\[\]](#autoresponserule_sub) | Represents the definitions of the named auto-response rules. | ## AutoResponseRule Represents whether a rule is active or not and the order in which the entry is processed in the rule.
Field Name Field Type Description
active boolean Indicates whether the autoresponse rule is active (true) or not (false).
fullname string 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.

This value can't be null.

ruleEntry RuleEntry[] Represents the type and description for the auto-response rule.
## RuleEntry Represents the fields used by the rule.
Field Name Field Type Description
booleanFilter string Advanced filter conditions that were specified for the rule.
criteriaItems FilterItem[] The items in the list that define the assignment criteria.
formula string The validation formula.

Specify either formula or criteriaItems, but not both fields.

replyToEmail string The email address that appears in the reply-to header.
senderEmail string The email address of the person or queue sending the email notification.
senderName string The name of the person or queue sending the email notification.
template string Specifies the template to use for the email that is automatically sent to the designated recipient.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

## Declarative Metadata Sample Definition The following is an example AutoResponseRules component: ajbdeploytest2 false Case.Description contains testing test@test.org tester name j test@@test.org emailtemplate ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note You can’t create a BaseSharingRule component directly. Use the components under the [CriteriaBasedSharingRule](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_cbsrule.htm#meta_cbsrules "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.") or [OwnerSharingRule](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_ownersharingrule.htm#meta_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.") metadata types instead. ## Version [BaseSharingRule](#meta_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.") components are available in API version 24.0 and later. ## Fields | Field | Field Type | Description | | --- | --- | --- | | sharedTo | [SharedTo](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharedto.htm "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.") | Required. Specifies who the record is shared with. | | fullName | string | The unique identifier for API access.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_cbsrule.htm "CriteriaBasedSharingRule") # BatchCalcJobDefinition Represents a Data Processing Engine definition. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 know the products and user permissions needed to access this type, See [product availability](https://help.salesforce.com/s/articleView?id=ind.dpe_editions.htm&language=en_US) and [user permissions](https://help.salesforce.com/s/articleView?id=ind.dpe_setup.htm&language=en_US) for Data Processing Engine. ## Fields
Field Name Field Type Description
activities BatchCalcJobActivity[] Collection of reusable activities, such as a data stream run or an activation trigger, that can be referenced across steps in a data processing engine definition.

Available in API version 68.0 and later.

aggregates BatchCalcJob​​​Aggregate[] Collection of aggregate nodes in a data processing engine.
apiVersion string API version in which the data processing engine definition is created. For example, 68.0.

Available in API version 68.0 and later.

appends BatchCalcJobUnion[] Collection of append nodes in a data processing engine.
atomicWritebacks BatchCalcJobAtomicWriteBack[] Collection of composite writeback nodes in a data processing engine definition. Available in API version 62.0 and later.
customNodes BatchCalcJobCustomNode[] Collection of custom nodes in a data processing engine. Available in API version 57.0 and later.
currencyConversion string Specifies the currency conversion type for the data processing engine definition.

Available in API version 67.0 and later.

dataSpaceApiName string Stores the Data Space API Name from Data 360. Available in API version 60.0 and later.
datasources BatchCalcJob​Datasource[] Collection of data source nodes in a data processing engine.
definitionRunMode BatchCalcJobDefRunMode(enumeration of type string) Specifies the execution mode in a data processing engine. Valid values are:
  • Batch
  • OnDemand
definitionType BatchCalcJobDefType (enumeration of type string) Type of data processing engine definition.

Valid values are:

  • Calcservice
  • DataStudio

Available in API version 68.0 and later.

description string Description of a data processing engine definition.
doesGenAllFailedRecords boolean Indicates whether the error file includes a complete list of all failed writeback records (true) or not (false). The default value is false, and only the first instance of a failure is recorded in the error file. If set to true, all failed records are recorded in the error file for the writeback node.

Available in API version 65.0 and later.

executionPlatformObjectType ExecutionPlatformObjectType(enumeration of type string) The execution platform object type that's used during the read, transform, and writeback process for the Data Processing Engine definition. Possible values are:
  • CalculatedInsightsObject
  • DataLakeObject
  • DataModelObject
  • None

Available in API version 65.0 and later.

executionPlatformType ExecutionPlatformType(enumeration of type string) The platform that's used to run the Data Processing Engine definition. Valid values are:
  • CRMA
  • CDP
  • CORE

Available in API version 59.0 and later.

filters BatchCalcJobFilter[] Collection of filter nodes in a data processing engine. definition.
forecasts BatchCalcJobForecast[] Collection of forecast nodes in a data processing engine. definition.

Available in API version 58.0 and later.

hierarchyPaths BatchCalcJobHierarchyPath[] Collection of hierarchy path nodes in a data processing engine definition.
isTemplate boolean Indicates whether it’s a template data processing engine definition.
joins BatchCalcJobSource​Join[] Collection of join nodes in a data processing engine.
label string The label of a data processing engine definition.
parameters BatchCalcJobParameter[] Collection of input variables in a data processing engine.
processType BatchCalcProcessType (enumeration of type string) The process type of a data processing engine. These process types may be available to you depending on your industry solution and permission sets. Valid values are:
  • AccountingPeriodClosure
  • AccountingSubledger—This value is reserved for internal use.
  • AccrualsAndPayoutEngine
  • ActionableList
  • AdvancedAccountForecast
  • AutomotiveFoundation
  • BenefitManagement
  • BillingSchedulesforInvoiceGeneration
  • CDPEnrichment
  • ChannelInventoryManagement—Available in API version 63.0 and later.
  • CollectionPlan—Available in API version 65.0 and later.
  • ContextService—Available in API version 67.0 and later.
  • CriteriaBsdSearchAndFilter
  • DataProcessingEngine
  • DecisionMatrixDataUpload
  • Decisiontable
  • Education
  • EmployeeService—Available in API version 63.0 and later.
  • EnergyUtilitiesSales
  • FinancialSummaryRollup
  • FlexibleHierarchy
  • ForeignExchangeGainLossCalculations—Available in API version 65.0 and later.
  • FSCHierarchyRollUp
  • Fundraising—Available in API version 64.0 and later.
  • FundraisingRollups—Available in API version 63.0 and later.
  • GeneralLedgerAccountBalancesSummary—Available in API version 65.0 and later.
  • InventoryBatchSearch—Available in API version 65.0 and later.
  • InventorySearch—Available in API version 65.0 and later.
  • InvoiceGeneration
  • Loyalty
  • LegalEntityAccountingPeriodClosureAdvanced—Available in API version 63.0 and later.
  • LifeSciencesCommercialTerritoryAlignment—Available in API version 63.0 and later.
  • LifeSciencesCustomerEngagement—Available in API version 64.0 and later.
  • LoyaltyPartnerManagement
  • LoyaltyPointsAggregation
  • MediaAdSales
  • NextGenForecasting—Available in API version 64.0 and earlier.
  • NetZero
  • PatientServicesProgram—Available in API version 64.0 and later.
  • PennyPerfectPricing—Available in API version 68.0 and later.
  • PlanningAndForecasting
  • PnmRosterFileUpload
  • PriceProtection
  • ProductCatalogManagement
  • ProgramBasedBusiness
  • ProviderSearch—This value is reserved for internal use.
  • PublicSector—Available in API version 68.0 and later.
  • Rebates
  • RebateAndAccrualManagementAdvanced
  • Recruitment
  • RevenueTransactionManagement—Available in API version 63.0 and later.
  • SalesAgreement—Available in API version 63.0 and later.
  • TestAtomicWritebackScale—Available in API version 64.0 and later.
  • TestProcessType
  • UsageManagement
status BatchJobDefinition​Status (enumeration of type string) Status of a data processing engine definition. Valid values are:
  • Active
  • Inactive
steps BatchCalcJobStep[] Collection of steps that group related activities in a data processing engine definition.

Available in API version 68.0 and later.

targetCurrencyIsoCode string ISO code of the target currency for currency conversion in the data processing engine definition.

Available in API version 67.0 and later.

transforms BatchCalcJobTransform[] Collection of data transformation nodes in a data processing engine.
writebacks BatchCalcJobWriteback​Object[] Collection of writeback objects in which the results of the data processing engine are written back.
## BatchCalcJob​Activity Represents a reusable activity, such as a data stream run or an activation trigger, that can be referenced across steps in a data processing engine definition. ## Fields
Field Name Field Type Description
activityName string Required. Unique name that identifies the activity in a step.

Available in API version 68.0 and later.

activityType BatchCalcJobActivityType (enumeration of type string) Required. Type of activity performed in a step. Valid values are:
  • RefreshDataGraphActivity
  • RefreshSegmentActivity
  • RunCalculatedInsightsActivity
  • RunDataStreamActivity
  • RunDataTransformActivity
  • RunIdentityResolutionActivity
  • TriggerActivationActivity

Available in API version 68.0 and later.

label string User-defined name for the activity.

Available in API version 68.0 and later.

name string Required. Unique API name of the activity.

Available in API version 68.0 and later.

## BatchCalcJob​Step Represents a stage in a data processing engine definition. A step groups related activities that must be completed before the definition advances to the next step. ## Fields
Field Name Field Type Description
label string User-defined name for the step.

Available in API version 68.0 and later.

name string Unique API name that identifies the step.

Available in API version 68.0 and later.

processNodes BatchCalcJobStepProcNode[] Collection of process nodes that associate activities with the step.

Available in API version 68.0 and later.

sources string[] Collection of source node names associated with the step.

Available in API version 68.0 and later.

## BatchCalcJobStepProcNode Represents the association between a step and an activity that runs in that step. The sequence number defines the execution order of activities in a step. ## Fields
Field Name Field Type Description
processNodeReferenceRecord string Required. Action that represents the activity in the step.

Available in API version 68.0 and later.

sequenceNumber integer Execution order of the activity in the step.

Available in API version 68.0 and later.

## BatchCalcJob​​​Aggregate Represents a collection of fields relating to an aggregate node in a data processing engine. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | description | string | Description of an aggregate node. | | fields | [BatchCalcJob​AggregateField](#bcjaggregatefieldID)\[\] | Required. Collection of aggregation fields. | | groupBy | string\[\] | Required. Collections of fields used to group data in an aggregate node. | | label | string | Required. Label of an aggregate node. | | name | string | Required. Name of an aggregate node. | | sourceName | string | Required. Name of the source node. | ## BatchCalcJob​AggregateField Represents a collection of fields relating to an aggregation field in an aggregate node of a data processing engine. ## Fields
Field Name Field Type Description
aggregateFunction BatchCalcJobAggregateFunction (enumeration of type string) Required. Function used for aggregation.

Valid values are:

  • Unique—A count of unique values.
  • Sum—The sum of all values.
  • Max—The largest value.
  • Min—The smallest value.
  • Avg—The average value, calculated as the mean.
  • Std—The standard deviation.
  • Stdp—A standard deviation with population variance.
  • Var—The variance.
  • VarP—The variance with population.
  • Count—The total count of values.
alias string Required. Name that subsequent nodes within the data processing engine use to refer to the aggregate field.
sourceFieldName string Required. Source node field on which the aggregate is calculated.
## BatchCalcJobAtomicWriteback Represents a node in a DPE definition that stores the details about the relationship between the writeback nodes and the composite writeback operations between the nodes. | Field Name | Field Type | Description | | --- | --- | --- | | description | string | Description of the composite writeback object. | | label | string | Required. Name of the composite writeback object. | | name | string | Required. API name of the composite writeback object. | | writebackObject​Relationships | [BatchCalcJobAtomicWritebackRelationship](#BatchCalcJobAtomicWritebackRelationship)\[\] | Specifies the relationship between the writeback objects that are involved in the writeback operation. | | writebackSequence | int | Sequence in which the data processing engine executes the composite write back node. | ## BatchCalcJobAtomicWritebackRelationship Represents the relationships between the writeback objects that are involved in a composite writeback operation. It captures the relationships between these objects and the sequence in which they should be processed. | Field Name | Field Type | Description | | --- | --- | --- | | childWriteback​ObjectField | string | Field name that's associated with the child writeback object in a composite writeback relationship. Available in API version 63.0 and later. | | childWriteback​ObjectName | string | Name of the child writeback object that's associated with the writeback relationship. | | parentWriteback​ObjectField | string | Field name that's associated with the parent writeback object in a composite writeback relationship. Available in API version 63.0 and later. | | parentWriteback​ObjectName | string | Required. Name of the parent writeback object that's associated with the writeback relationship. | | relationshipName | string | Describes the relationship between the child and parent writeback objects in a composite writeback node. Available in API version 64.0 and later. | | sequenceNumber | int | Sequence number of the writeback node that's associated with its parent node in the relationship. | ## BatchCalcJob​​​CustomNode Represents a collection of custom nodes in a data processing engine. Use a custom node to add a custom action. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | description | string | Description of a custom node. | | extensionName | string | Required. Name of an extension node. | | extensionNamespace | string | Required. Namespace of an extension node. | | label | string | Required. Label of a custom node. | | name | string | Required. Name of a custom node. | | parameters | [BatchCalcJob​​​CustomNodeParameter](#bcjcustomnodeparameterID)\[\] | The field mappings of an extension node. | | sources | string\[\] | Sources of an extension node. | ## BatchCalcJob​​​CustomNodeParameter Represents the field mappings of an extension node. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | name | string | Required. Name of a parameter. | | value | string | Required. Value of a parameter. | ## BatchCalcJob​Datasource Represents a collection of fields relating to a data source node in a data processing engine. ## Fields
Field Name Field Type Description
CSVDelimiter ​BatchCalcJobCSVDelimiter (enumeration of type string) Specifies the field separator to read fields from a CSV file record.

Possible values are:

  • COMMA
  • BACKQUOTE
  • CARET
  • PIPE
  • SEMICOLON
  • TAB

The default value is COMMA.

The same delimiter value used for the CSV file can’t 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 string Description of a data source node.
fields BatchCalcJob​DatasourceField[] Required. Collection of data source fields.
fileIdentifier string Specifies the source of the file or file storage system.
filePath string The file path for the specified file.
fileSource BatchCalcJobFileSource (enumeration of type string) Specifies the source of the file or file storage system.

Possible value is:

  • ContentManagement
label string Required. Label of a data source node.
name string Required. Name of a data source node.
parentDataSource string Name of the parent data source node.

Available in API version 67.0 and later.

sourceName string Required. Name of a standard or custom object from which the data source node extracts data.
subtype BatchCalcJobSubtype (enumeration of type string) Specifies the subtype of the data source. Use this field to identify data source nodes that reference context nodes or similar structures.

Valid value is:

  • ContextNode

Available in API version 67.0 and later.

type BatchCalcJobDataSource​Type (enumeration of type string) Required. Type of object for the source object field. Supported values are:
  • Analytics
  • CalculatedInsightsObject
  • Context—Available in API version 67.0 and later.
  • CRMObject
  • CSV
  • DataLakeObject
  • DataModelObject
  • StandardObject
.
## BatchCalcJob​DatasourceField 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
Field Name Field Type Description
alias string Name that subsequent nodes within the data processing engine use to refer to the data source field. Required when the field name is lookup.
dataType BatchCalcJobDataType (enumeration of type string) Specifies the data type of the input field when using a CSV file as a data source.

Possible values are:

  • Boolean—Available in API version 65.0 and later.
  • Date
  • DateTime
  • MultiValue
  • Numeric
  • Text
isPrimaryKey boolean Indicates whether a column name is the primary key (true) or not (false) for the Data Cloud CSV file.
name string Required. Name of the field. Can be either of the following:
  • 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
Field Name Field Type Description
criteria BatchCalcJobFilter​Criteria[] Collection of filter criteria in a filter node.

The field is required when isDynamicFilter is set to False.

description string Description of the batch calculation job filter.
filterCondition string Logic that is specified to apply the filter conditions.

The field is required when isDynamicFilter is set to False.

filterParameterName string Name of the parameter of type filter.
isDynamicFilter boolean Indicates whether the filter criteria is dynamic. If value is set to True, filter criteria is passed in runtime with filterParameterName.
label string Required. Label of the filter node.
name string Required. Name of the filter node.
sourceName string Required. Name of the source node.
## BatchCalcJobForecast Represents a collection of fields relating to a forecast node in a data processing engine. Available in API version 58.0 and later. ## Fields
Field Name Field Type Description
accuracyPercent BatchCalcJobFrcstAccuracy (enumeration of type string)

The interval percentage to account for errors in forecasts.

Possible values are:

  • Eighty
  • NinetyFive
  • None

The default value is None.

aggregationFields BtchCalcJobFrcstAggrFld[] The list of fields to forecast.
dateFieldName string Required.

The date field from the source node used to forecast values for the specified forecast length.

description string The description of the forecast node.
forecastModelType BatchCalcJobFrcstModel (enumeration of type string) The model used to forecast data.

Possible values are:

  • Additive
  • Auto
  • Multiplicative

The default value is Auto.

forecastPeriodCount int The number of time periods to generate 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.

forecastPeriodType BatchCalcJobFrcstPeriodType (enumeration of type string) Required.

The type of forecast period to group date field values in the forecast results.

Possible values are:

  • FiscalYear
  • FiscalYearMonth
  • FiscalYearQuarter
  • FiscalYearWeek
  • Year
  • YearMonth
  • YearMonthDay
  • YearQuarter
  • YearWeek
groupFields BatchCalcJobFrcstGrpFld[] The source fields for grouping the data to be processed by the forecast node.
label string Required.

The name of the forecast node in the UI.

name string Required.

A unique name for the forecast node.

periodStartDateName string Required.

The start date of the forecast period.

seasonality BatchCalcJobFrcstSeasonality (enumeration of type string)

Represents the periodic fluctuations that occur around the same time every year.

Possible values are:

  • Two
  • Three
  • Four
  • Five
  • 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.

shouldExcludeLastPeriod boolean Indicates whether to ignore the last period in the source node when it has incomplete data (true) or not (false).

The default value is false.

sourceName string Required.

The name of the source node.

A source can be any node other than the datasink and register node.

## BtchCalcJobFrcstAggrFld Represents a list of fields to forecast in a forecast node.
Field Name Field Type Description
aggregateFunction BatchCalcJobAggregateFunction (enumeration of type string) Required.

The function of the aggregate field.

Possible values are:

  • Avg
  • Count
  • Max
  • Min
  • Std
  • StdP
  • Sum
  • Unique
  • Var
  • VarP
aggregationResultLabel string Required.

The name of the aggregation result generated from the aggregation function that’s applied to the source node field.

fieldName string Required.

The name of the source field.

## BatchCalcJobFrcstGrpFld Represents source fields for grouping the data to be processed by the forecast node.
Field Name Field Type Description
fieldName string Required.

The name of the source field to group the data to be processed by the forecast node.

groupBy string A comma-separated list of values to group data by.

Required when the source field type is Date or DateTime.

Possible values are:

  • Second
  • Second Epoch
  • Minute
  • Hour
  • Day
  • Day Epoch
  • Week
  • Month
  • Quarter
  • Year
## BatchCalcJobHierarchyPath Represents a collection of hierarchy path nodes in a data processing engine definition. ## Fields
Field Name Field Type Description
aggregateFields BatchCalcJobHierarchyPath​AggregateField[] Collection of aggregate fields for the hierarchy path node.

Available in API version 67.0 and later.

description string Description of the hierarchy path node.
hierarchyFieldName string Required. Field name that contains the hierarchy path.
isAggregationRequired boolean Indicates whether aggregation is required for the hierarchy path node (true) or not (false).

Available in API version 67.0 and later.

isSelfFieldValueIncluded boolean Indicates whether the self value is included in the calculated hierarchy path (True) or not (False).
label string Required. Label of the hierarchy path node.
name string Required. Name of the hierarchy path node.
parentFieldName string Required. Parent field name to calculate hierarchy path.
rollupMultiplicationFactor double Multiplication factor used for the rollup calculation in the hierarchy path node.

Available in API version 264.0 and later.

rollupPercentageFieldName string Field name used for rollup percentage calculation in the hierarchy path.

Available in API version 67.0 and later.

selfFieldName string Required. Self field name to calculate hierarchy path.
sourceName string Required. Name of the source node.
## BatchCalcJobHierarchyPath​AggregateField Represents a collection of fields relating to an aggregation field in a hierarchy path node of a data processing engine. ## Fields
Field Name Field Type Description
aggregateFunction BatchCalcJobHierPathAggrFunc (enumeration of type string) Required. Function used to aggregate values across the hierarchy path.

Valid values are:

  • Count
  • Sum

Available in API version 67.0 and later.

shouldExcludeParentValue boolean Indicates whether to exclude the parent record's value from the hierarchical aggregation (true) or include it (false). The default value is false. This field is supported only when definitionRunMode is OnDemand.

Available in API version 68.0 and later.

## BatchCalcJobFilter​Criteria Represents a collection of fields relating to a filter condition in a filter node in a data processing engine. ## Fields
Field Name Field Type Description
inputVariable string Name of the input variable used as a filter.
operator BatchCalcJobFilter​Operator (enumeration of type string) Required. Operator that is specified in the filter condition.

Valid values are:

  • Equals
  • NotEquals
  • GreaterThan
  • GreaterThanOrEqual
  • LessThan
  • LessThanOrEqual
  • StartsWith
  • EndsWith
  • Contains
  • DoesNotContain
  • IsNull
  • IsNotNull
  • In
  • NotIn
sequence integer Required. Sequence number used to refer the criteria in a filter node.
sourceFieldName string Required. Name of the field from the source node to apply the filter.
value string Value used to filter data from the source node.
## BatchCalcJobParameter Represents a collection of fields relating to an input variable in a data processing engine. ## Fields
Field Name Field Type Description
dataType BatchCalcJobParameter​DataType (enumeration of type string) Required. Data type of the parameter. Valid values are:
  • Date
  • DateTime
  • Expression
  • FileIdentifier
  • Filter
  • Numeric
  • Text
defaultValue string Default value of the parameter.
description string Description of the batch calculation job parameter.
isMultiValue boolean Indicates whether the parameter has different values (True) or not (False). This field is supported only for the Text data type.
label string Required. Label of the batch calculation job parameter.
name string Required. Name of the batch calculation job parameter.
## BatchCalcJobSource​Join Represents a collection of fields relating to a join node in a data processing engine. ## Fields
Field Name Field Type Description
description string Description of the join node.
fields BatchCalcJobJoin​ResultField[] Collection of fields in a join node.
hasLookUpMultipleValues boolean Indicates whether the lookup join returns multiple values (true) or not (false).

Available in API version 67.0 and later.

joinKeys BatchCalcJobJoin​Key[] Collection of mapping of fields from the primary source node and the second source node in a join node.
label string Required. Label of the join node.
name string Required. Name of the join node.
primarySourceName string Required. Name associated with the node as the primary source node.
secondarySourceName string Required. Name associated with the node as the secondary source node.
type BatchCalcJobSource​JoinType (enumeration of type string) Required. Type of join specified between the primary source node and secondary source node. Valid values are:
  • LeftOuter
  • RightOuter
  • Inner
  • Outer
  • Lookup
## BatchCalcJobJoin​Key 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 | Field Name | Field Type | Description | | --- | --- | --- | | primarySourceFieldName | string | Required. Mapped field name of the primary source node. | | secondarySourceFieldName | string | Required. Mapped field name of the secondary source node. | ## BatchCalcJobJoin​ResultField Represents a collection of fields relating to a set of resultant fields in a join node of a data processing engine. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | alias | string | Required. Name that subsequent nodes within the data processing engine definition use to refer to the resultant field. | | sourceFieldName | string | Required. Name of field from the primary or secondary data source. | | sourceName | string | Required. Source node of the primary or secondary data source. | ## BatchCalcJobTransform Represents a collection of fields relating to a data transformation in a data processing engine. ## Fields
Field Name Field Type Description
description string The description of the batch calculation job transform.
droppedFields BatchCalcJobTransform​DroppedField[] The collection of dropped fields in a data transformation. Available when the transformation type is Slice.
expressionFields BatchCalcJobTransform​AddedField[] The collection of formula fields in a data transformation. Available when the transformation type is Expression.
label string Required. The label of the batch calculation job transform.
name string Required. The name of the batch calculation job transform.
orderBy BatchCalcJobOrderByField[] A collection of fields that’s used to sort the records within each partition group.
partitionBy string[] A group of fields that’s used to partition the source data into partition groups.
sourceName string Required. Name of the source node.
transformType BatchCalcJobTransform​Type (enumeration of type string) Required. The type of transformation.

Valid values are:

  • ComputeRelative—This transformation calculates values based on values of the same partition group.
  • Expression—This transformation calculates values based on existing values of fields in the same record.
  • Slice—This transformation removes fields from the source node.
## BatchCalcJobTransform​DroppedField Represents a collection of fields relating to a dropped field in a data transformation of a data processing engine. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | sourceFieldName | string | Required. Name of the field that is dropped. | ## BatchCalcJobTransform​AddedField Represents a collection of fields relating to a formula in a data transformation of a data processing engine. ## Fields
Field Name Field Type Description
alias string Required. Name that subsequent nodes within the data processing engine use to the transform node.
dataType BatchCalcJobDataType (enumeration of type string) Required. Data type of the formula.

Valid values are:

  • Boolean—Available in API version 65.0 and later.
  • Date
  • DateTime
  • MultiValue
  • Numeric
  • Text
decimalPlaces integer Number of digits to the right of a decimal point in the value. Required for the Numeric data type.
displayOrder integer The order in which this expression is evaluated in its parent formula node. Values start at 1 and must be continuous. This field can be null for legacy formulas.

Available in API version 68.0 and later.

expression string Required. Formula defined by the user.
length integer Total length of the value including the decimal places. Required for data types: Text and Numeric.
## BatchCalcJobOrderByField Represents a collection of fields that are used to sort the partitioned data. ## Fields
Field Name Field Type Description
name string Required. Name of the field that is used to sort data.
orderType BatchCalcJobOrderType(enumeration of type string) Order in which the data is sorted.

Valid values are:

  • Ascending
  • Descending
## BatchCalcJobUnion Represents a collection of fields relating to the union of data from two nodes in a data processing engine. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | description | string | Description of the batch calculation job union. | | isDisjointedSchema | boolean | 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. | | label | string | Required. Label of the batch calculation job union. | | name | string | Required. Name of the batch calculation job union. | | sources | string\[\] | Names of the source nodes. | ## BatchCalcJobWriteback​Object Represents a collection of fields relating to the object in which the results of the data processing engine are written back. ## Fields
Field Name Field Type Description
canWrtbckToNonEditableFields boolean Indicates whether the non-editable fields are included in field mapping when the action type is upsert. The default value is false.

Available in API version 64.0 and later.

description string Descriptions of the batch calculation job writeback object.
externalId​FieldName string Unique external field ID for the target object name.

Available in API version 60.0 and later.

fields BatchCalcJobWriteback​Mapping[] Collection of the writeback fields.
filterCondition string 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.

folderName string The folder where the writeback dataset is saved. Available in API version 57.0 and later.
groupBy string Reserved for future use.
isChangedRow boolean Indicates whether a row in the write back object is changed. Set to True to write back the changed rows.
isExistingDataset boolean Indicates whether a CRM Application (CRMA) dataset or a Data 360 Data Lake object is present (true) or will be created (false). Available in API version 62.0 and later.
jsonStructureType string JSON structure type for the writeback object.

Available in API version 67.0 and later.

label string Required. Name of the write back object.
name string Required. Name of the batch calculation job write back object.
operationType BatchCalcJobWriteback​Opn (enumeration of type string) Type of operation specified.

Valid values are:

  • Delete—This value is available in API version 56.0 and later.
  • Insert
  • Overwrite—Available only when storageType is DataLakeObject. This value is available in API version 60.0 and later.
  • Update
  • Upsert
sharingInheritanceObjectName string The name of the source object from which the row-level sharing inheritance settings are applied. Available in API version 57.0 and later.
shouldCreateTargetObject boolean Indicates whether target Data Lake Object or Salesforce Object is created in Salesforce (true) or not (false). Available in API version 65.0 and later.
shouldMngRow​LockFor​GroupedRec boolean Reserved for future use.
sourceName string Required. Name of the source node associated with the write back object.
storageType BatchCalcJobWriteback​Type (enumeration of type string) Specifies where you want to use the data stored in the source node. Available in API version 57.0 and later.

Valid values are:

  • Analytics
  • DataLakeObject
  • sObject

The default value is sObject.

targetObjectName string Required. Object that is inserted or upserted by the data processing engine.
targetObjectCategory string Category of the target object for the writeback operation.

Available in API version 67.0 and later.

writebackSequence integer Sequence in which the target object is updated by the data processing engine.
writebackUser string ID of the user whose permissions decide which objects and fields of the target object can be updated.
## BatchCalcJobWriteback​Mapping Represents a collection of fields relating to the mapping between results and the fields in the target object. ## Fields
Field Name Field Type Description
fieldType string Target field type on the writeback object. Valid values are:
  • EventTimeField—Available in API version 67.0 and later.
  • ParentRecordIdentifierField—Available in API version 67.0 and later.
  • PrimaryKey
  • QualifierKey
  • RecordIdentifierField—Available in API version 67.0 and later.

Available in API version 64.0 and later.

isAutogenerated boolean Indicates whether the target field value on the writeback object is autogenerated (true) or not (false).

Available in API version 64.0 and later.

parentName string Name of the lookup object. Required only when the relationshipName field is defined.
relationshipName string Name of the lookup relationship.
runtimeParameter boolean 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.

sourceFieldName string Required. Name of the field in the source node that is written back.
targetFieldName string Name of the sObject field to which the results are written back.
## Declarative Metadata Sample Definition The following is an example of a BatchCalcJobDefinition component. Aggregate Description Count NameCount Name ContactId Name AggregateOpportunities AggregateOpportunities Opportunity ForecastNode Description ContactForecast ContactForecast Contact CreatedDate YearMonth false 12 CreatedDateYM Auto None None Count CountOfLastName LastName LastModifiedDate Week Append desc true AppendAllAccounts AppendAllAccounts AccountsOfManufacturingIndustry ComputeRelativeManufacturingIndustry Desc Contact Id Id false Text LastName LastName false Text CreatedDate CreatedDate false Date LastModifiedDate LastModifiedDate false Date Contact Contact Contact StandardObject ContentManagement 069xx0000004CAeAAM COMMA parentFolder/childFolder Name Name false Text ContactId ContactId false Text Opportunity Opportunity Opportunity StandardObject ContentManagement 069xx0000004CAeAAM COMMA parentFolder/childFolder 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. Equals 1 LastName Salesforce Filter Desc 1 false AccountsOfManufacturingIndustry AccountsOfManufacturingIndustry AccountOpportunities Hierarchy Path Node Hierarchy\_Path true true Get Hierarchy Get\_Hierarchy ContactId LastName AppendAllAccounts Count \* CountOfLastName false None Left Outer Join ContactId Id Contact LastName LastName Contact NameCount NameCount AggregateOpportunities OpportunityName Name AggregateOpportunities Id ContactId AccountOpportunities AccountOpportunities Contact AggregateOpportunities LeftOuter Create Transaction Journals Based on Orders Date 2020-01-01 Desc TextParameter false DateParameter DateParameter Filter {"filterCondition": "1 AND 2", "criteria": \[{"sourceFieldName": "NameCount","operator": "GreaterThan","value": "20","sequence": "1"}, {"sourceFieldName": "Name","operator": "Equals","value": "Salesforce","sequence": "2"}\]} false FilterParameter FilterParameter Numeric 5000 Desc TextParameter false NumericParameter NumericParameter Text @salesforce.com Desc TextParameter false TextParameter TextParameter Rebates Batch Inactive transforms Desc NewLastName Text TODAY() 80 ManufacturingIndustry ManufacturingIndustry AccountsOfManufacturingIndustry Expression NewLastName MediaIndustry MediaIndustry ManufacturingIndustry Slice compute relative transforms Desc NewLastName Text rank() 80 ComputeRelativeManufacturingIndustry ComputeRelativeManufacturingIndustry LastName Ascending LastName MediaIndustry ComputeRelative RebatesCustomNode Rebates Custom Node customNodes Desc Get\_Hierarchy RebatesExpression industries\_mfg inputColumn LastName isFilterCriteria true outputColumn GenName GenName LastName false exportToContact exportToContact Export To Contact Insert RebatesCustomNode Contact 1 false CreatedDateYM CreatedDate false false exportToContactFC exportToContactFC Export To Contact Insert ContactForecast Contact 2 false The following is an example package.xml that references the previous definition. \* BatchCalcJobDefinition 60.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # BatchProcessJobDefinition Represents the details of a Batch Management job definition. This type extends the Metadata metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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. ## Special Access Rules To know the products and user permissions needed to access this type, See [Supported Editions and Permissions for Batch Management](https://help.salesforce.com/s/articleView?id=ind.concept_batch_management_editions.htm&language=en_US). ## Fields
Field Name Field Type Description
batchSize integer Required. Number of records that each Batch Management job can process. Flow type Batch Management jobs can process up to 2000 records and Loyalty Program Process type Batch Management jobs can process up to 250 records.
dataSource BatchDataSource[] Required. Source of information whose records must be processed by the Batch Management job.
description string Description of the Batch Management job, up to 255 characters.
executionProcessApiName string API name of process that must be executed by the Batch Management job. This field is available in API version 55.0 and later.
  • If the batch job’s type is Flow, enter the API name of an active flow that the batch job must execute.
  • If the batch job’s 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.

flowApiName string API name of an active flow process that must be executed by the Batch Management job.

You can either specify the flow API name in the executionProcessApiName field or in the flowApiName field.

flowInputVariable string Input variable of associated flow that is used by the batch job to uniquely identify records.
masterLabel string Required. Name of the Batch Management job, up to 80 characters.
processGroup string Required. Name of the group for which the Batch Management job processes records.
retryCount integer Required. Number of times this Batch Management job must be rerun in case it fails. The maximum retry count is 3. Valid values are 1–3.
retryInterval integer Required. Number of milliseconds after which the Batch Management job must be rerun in case it fails. Valid values are 1,000–10,000.
status string Indicates the status of the Batch Management job. Valid values are Active and Inactive.
type string (enumeration of type string) 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:
  • BulkUpdate
  • Calc—Data Processing Engine
  • ConsumptionOveragesCalculation
  • DecisionTableRefresh
  • DeepCloneSalesAgreement
  • FlattenAccountIOUHierarchyBatchJob
  • Flow
  • EnergyUseRecordCreationBatchJob
  • EntitlementCreationBatchJob
  • HighScaleBreProcess
  • IndustriesLSCommercial
  • InvoiceDTPRunBatchJob
  • InvoiceRecoveryRunBatchJob
  • InvoiceRunBatchJob
  • LifeSciProviderActivityGoalSharingBatchJob
  • LoyaltyProgramProcess
  • NetUnitRateCalculation
  • NextGenCommitmentBatchProcessingJob
  • ManagerProvisioning
  • PbbToOptyConversion
  • ProductCatalogCacheRefresh
  • PromotionChannelPropagationBatchJob
  • RatableSummaryCreation
  • ServiceProcess
  • StoreAssortmentPropagationBatchJob
  • SummaryCreation
  • WorkDotComToHRManagerProvisioning
## BatchDataSource Represents the source of information whose records must be processed by the Batch Management job. ## Fields
Field Name Field Type Description
condition string Required. Criteria defined to filter the records.
criteria string Type of filter criteria that’s used to filter records for processing.
dataSourceType string Type of data source that's used to create the batch job definition. Valid values are:
  • SingleSobject
  • MultiSobject
  • File—Available in API version 67.0 and later.

Available in API version 64.0 and later.

filters BatchDataSrcFilterCriteria[] Filter criterion that decides which records must be processed by the Batch Management job.
orderFields BatchDataSourceOrderField Fields that are used to order the records before the records are added to a batch in a job.
sourceObject string 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:

  • 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.
sourceObjectField string 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 job’s type is Loyalty Program Process and a TierProcess type active loyalty program process is specified in the 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
Field Name Field Type Description
domainObjectName string Name of the object the field is associated with. Available in API version 64.0 and later.
dynamicValueType string Data type of the input variable used as a filter.
fieldName string Required. Name of the field that must be used to filter records.
fieldPath string Stores the path to a field in the object. Available in API version 64.0 and later.
fieldValue string Required. Value of the field that must be filtered. Specify the field if dynamicValue is set to false.
dynamicValue boolean Required. Indicates whether the filter criteria is dynamic.
operator string (enumeration of type string) Required. Operator that is specified in the filter criteria. Valid values are:
  • equals
  • excludes
  • greaterThan
  • greaterThanOrEqualTo
  • in
  • includes
  • lessThan
  • LessThanOrEqualTo
  • GreaterOrEqual
  • like
  • notEquals
  • notIn
sequenceNo integer Required. Sequence number used to refer the criteria in a filter.
## BatchDataSourceOrderField Represents the fields that are used to group data. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | domainObjectName | string | Required. Name of the object the field is associated with. Available in API version 64.0 and later. | | fieldName | string | Required. Name of the field that must be used to filter records. Available in API version 64.0 and later. | | fieldPath | string | Required. Stores the path to a field in the object. Available in API version 64.0 and later. | ## Declarative Metadata Sample Definition The following is an example of a BatchProcessJobDefinition component. 10 1 all false string Name abcd equals 1 Account Flow1 recordId BatchJob1 Loyalty 2 1000 Inactive test Flow testFlow The following is an example of a Flow object used in Metadata API. 51.0 Flow1 {!$Flow.CurrentDateTime} Flow1 BuilderType LightningFlowBuilder OriginBuilderType LightningFlowBuilder AutoLaunchedFlow getAcc getAcc 614 465 false and Id EqualTo recordId true Account true 73 213 getAcc Draft recordId String false true false The following is an example package.xml that references the previous definition. \* BatchProcessJobDefinition Flow1 Flow 51.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # BillingSettings Represents the settings for Salesforce Billing. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm "HTML (New Window)") for more details. ## File Suffix and Directory Location The BillingSettings values are stored in the BillingSettings.settings file in the settings folder. The .settings files are different from other named components, because there’s only one settings file for each settings component. ## Version BillingSettings components are available in API version 62.0 and later. ## Special Access Rules These settings are available when Billing is enabled. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | acctRecGlAccount | string | General ledger account to record the credit amount for unrealized or realized losses and the debit amount for unrealized or realized gains in transaction journals. Available in API version 64.0 and later. | | billingContextDefinition | string | Name of the context definition that the [Create Billing Schedules for Orders API](https://developer.salesforce.com/docs/atlas.en-us.264.0.revenue_lifecycle_management_dev_guide.meta/revenue_lifecycle_management_dev_guide/connect_resources_create_billing_schedules.htm "HTML (New Window)") uses to understand your order data. Available in API version 64.0 and later. | | billingContextSourceMapping | string | Name of the context mapping that links Order fields to billing transaction context nodes. Available in API version 64.0 and later. | | billingIntraCtxtSrcMapping | string | Name of the custom context mapping that maps your custom or standard Order fields to billing transaction context nodes. Available in API version 64.0 and later. | | defaultAPClosureDPEDefnName | string | Org-wide default value to specify the Data Processing Engine (DPE) definition to close legal entity accounting periods. Available in API version 64.0 and later. | | defaultApplyCreditMemoFlow | string | Default flow that’s used to apply the credit memo to invoices. Available in API version 64.0 and later. | | defaultBillingTreatment | string | Org-wide default value to specify the name of the billing treatment. Available in API version 64.0 and later. | | defaultEmailTemplate | string | Default email template to send the generated invoice PDFs. Available in API version 64.0 and later. | | defaultInvPreviewTemplate | string | Default template to generate PDFs of invoice previews. Available in API version 64.0 and later. | | defaultInvoiceDocTemplate | string | Default template to generate PDFs of invoices. Available in API version 64.0 and later. | | defaultLegalEntity | string | Org-wide default value to specify the name of the legal entity. Available in API version 64.0 and later. | | defaultTaxTreatment | string | Org-wide default value to specify the name of the tax treatment. Available in API version 64.0 and later. | | enableBillingDisputeManagement | boolean | Indicates whether to enable Dispute Management (true) or not (false). The default value is false. Available in API version 66.0 and later. | | enableBillingForecast | boolean | Indicates whether to enable billing forecasts (true) or not (false). The default value is false. Available in API version 68.0 and later. | | enableBillingSetup | boolean | Indicates whether to enable Billing setting (true) or not (false). The default value is false. | | enableCreditMemoSequenceService | boolean | Indicates whether to mandate the application of sequence policy for credit memos (true) or not (false). The default value is false. Available in API version 66.0 and later with Revenue Cloud Billing. | | enableCrMemoApplicationToPostedInvoices | boolean | Indicates whether to enable Apply Credits to Posted Invoices setting (true) or not (false). The default value is false. This setting automates settlement of invoices through application of credits to posted invoices. The credit application level determines whether credits are automatically applied to invoices or invoice lines. | | enableFailedPaymentsRetry | boolean | Indicates whether to retry failed payment schedule items automatically based on the defined payment retry rules (true) or not (false). The default value is false. Available in API version 66.0 and later. | | enableForeignExchangeTrxnJrnlCreation | boolean | Indicates whether to create Transaction Journal records for invoices that hold balance amounts (partially settled and not fully settled posted invoices) to record foreign exchange unrealized gains or losses during the closure activity of a legal entity accounting period. The default value is false. Available in API version 65.0 and later with Revenue Cloud Billing. | | enableInvoiceEmailDelivery | boolean | Indicates whether to enable Configure Email Delivery Settings (true) or not (false). The default value is false. Available in API version 63.0 and later with Revenue Cloud Billing. | | enableInvoicePdfGeneration | boolean | Indicates whether to enable Document Generation setting (true) or not (false). The default value is false. Available in API version 63.0 and later with Revenue Cloud Billing. | | enableInvoiceSequenceService | boolean | Indicates whether to mandate the application of sequence policy for posted invoices (true) or not (false). The default value is false. If enabled, each posted invoice is assigned an invoice number. Available in API version 65.0 and later with Revenue Cloud Billing. | | enableNegInvoiceLnConversionToCrMemoLn | boolean | Indicates whether to enable Convert Negative Invoice Lines to Credit Memo Lines setting (true) or not (false). The default value is false. | | enablePaymentSchedulesAndItemsCreation | boolean | Indicates whether to create a default payment schedule policy and payment schedule treatment (true) or not (false). The default value is false. If enabled, payment schedules and payment schedule items are created during financial transactions such as posting of invoices. Available in API version 64.0 and later with Revenue Cloud Billing. | | enableRefundIssuingAndBalanceSettlement | boolean | Indicates whether to issue refunds and settle balances (true) or not (false). The default value is false. If enabled, refunds are issued and credit memos are applied to any remaining invoice balance when customers amend or cancel an order. Available in API version 67.0 and later. | | enableTransactionJournalCreation | boolean | Indicates whether to create Transaction Journal records based on the defined general ledger account assignment rules for the billing entities when billing transaction records are created or updated ( true ) or not ( false ). The default value is false. Available in API version 63.0 and later with Revenue Cloud Billing. Billing transaction records include these transaction types. | | enableTransactionsApplicationToInvoices | boolean | Indicates whether to enable Credit Application Level setting (true) or not (false). The default value is false. **Revenue Cloud Advanced:** This setting applies balances of credit memos to invoices or balances of credit memo lines to invoice lines. For the latter, amounts and balances on the invoices are rolled-up from the related invoice lines. **Revenue Cloud Billing:** This setting applies balances of credit memos and payments to invoices or balances of credit memo lines and payments lines to invoice lines. For the latter, amounts and balances on the invoices are rolled-up from the related invoice lines. | | enableTrxnAmountsStorageInCorpCurrency | boolean | Indicates whether to allow conversion of amounts of the Invoice, Invoice Line, Credit Memo, and Credit Memo Line records to your corporate currency (true) or not (false). The default value is false. Available in API version 63.0 and later. Store the converted amounts in corporate currency-specific amount fields. | | realisedGainGlAccount | string | Name of the general ledger account to record realized gains in transaction journals. Available in API version 64.0 and later. | | realisedLossGlAccount | string | Name of the general ledger account to record realized losses in transaction journals. Available in API version 64.0 and later. | | ruleBasedCrAndPymtAppln | string | Automates the settlement of the posted invoices by applying payments and credits that meet the specified application rules. The rules application level determines whether payments or credits are applied first to the invoices. The ruleset displays a list of selectable rules. Available in API version 66.0 and later. | | unrealisedGainGlAccount | string | Name of the general ledger account to record unrealized gains in transaction journals. Available in API version 64.0 and later. | | unrealisedLossGlAccount | string | Name of the general ledger account to record unrealized losses in transaction journals. Available in API version 64.0 and later. | enableTransactionJournalCreation values: - Invoice - Invoice Line - Invoice Line Tax - Credit Memo - Credit Memo Line - Credit Memo Line Tax - Payment - Refund - Payment Line Invoice - Payment Line Invoice Line - Credit Memo Inv Application - Credit Memo Line Invoice Line ## Declarative Metadata Sample Definition The following is an example of a BillingSettings component. true true true true true true true true true true true The following is an example package.xml that references the previous definition. Billing Settings 68.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm "HTML (New Window)"). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # BlacklistedConsumer Represents a connected app that is inaccessible to your Salesforce org’s users. This type extends the Metadata metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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:
Field Name Field Type Description
blockedByApiWhitelisting boolean Set to true to apply the Permitted Users policy, Admin approved users are pre-authorized to all connected apps in the org. 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.
consumerKey string 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 can’t be edited. The value must be alphanumeric, can’t contain special characters or spaces, and must be between 8–256 characters. Consumer keys must be globally unique.

consumerName string Required. The name of the connected app being blocked.
masterLabel string Required. The primary label for the connected app record.
## Declarative Metadata Sample Definition The following is an example of a component. testConsumerKey testName false myTest The following is an example package.xml that references the previous definition. \* BlacklistedConsumer 49.0 ## Usage Use this type judiciously for connected apps that you want to make inaccessible to your org’s users. Blocking an app ends all current user sessions and prevents future sessions. To block malicious attempts to access your org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location Bot components have the suffix .bot and are stored in the bots 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. Bot metadata deployment and retrieval are not supported for Lead Nurturing and Sales Coach Agents. ## Fields
Field Name Field Type Description
agentDSLEnabled boolean Reserved for internal use.
agentTemplate string If this Bot represents an agent, this field represents the name of the agent template used to create it. Available in API version 64.0 and later.
agentType GenAiAgentType (enumeration of type string) Specifies the agent type for this agent. For example, AgentforceServiceAgent. Available in API version 64.0 and later.
botMlDomain LocalMlDomain 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.
botUser string Specifies the username of the user account, not the first and last name or the user ID. Available in API version 46.0 and later.
botVersions BotVersion Represents the configuration details for a specific Einstein Bots version, including dialogs, intents, entities, and variables.
contextVariables ConversationContextVariable Represents the context variables that enable your bot to gather customer information regardless of channel. Available in API 45.0 and later.
conversationChannelProviders ConversationDefinitionChannelProvider [] Represents a list of the conversation channels linked to the bot. Available in API version 51.0 and later.
defaultOutboundFlow string Specifies a fallback escalation behavior if the primary agent escalation behavior is not available. For example, Agentforce Service Agents can route conversations to human service reps. Available in API version 65.0 and later.
description string A description of the bot.
label string Label that identifies the bot throughout the Salesforce user interface.
logPrivateConversationData boolean Specifies whether to log customer inputs as part of conversation data (true) or not (false). Available in API version 48.0 and later.
pageContextVariables PageContextVariable[] Provides page-level context variables for the bot. Available in API version 64.0 and later.
sessionTimeout int Represents the maximum amount of minutes that a bot session can be idle. Available in API version 58.0 and later.
type BotType (enumeration of type string) Required. The default value is Bot. This field represents the configuration type of the bot. Valid values are:
  • Bot— Default Einstein Bot configuration.
  • ExternalCopilot— An external-facing agent. For example, an Agentforce Service agent.
  • InternalCopilot— An internal-facing agent. For example, an Agentforce Employee agent.
## LocalMlDomain An Einstein Intent Set local to the current bot version. | Field Name | Field Type | Description | | --- | --- | --- | | label | string | Label that represents an Einstein Intent Set local to the current bot version throughout the Salesforce user interface. | | mlIntents | [MlIntent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_mldomain.htm#MlIntent)\[\] | List of intents associated with this local intent set. | | mlSlotClasses | [MlSlotClass](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_mldomain.htm#MlSlotClass)\[\] | List of entities associated with this local intent set. | | name | string | Required. This unique name prevents conflicts with other local Einstein Intent Sets. 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. | ## ConversationContextVariable A context variable local to the current bot version. Available in API version 45.0 and later.
Field Name Field Type Description
contextVariableMappings ConversationContextVariableMapping Represents the mapping between a context variable, channel type, and sObject field.
dataType ConversationDataType (enumeration of type string) Required. Represents the data type of the context variable. Valid values are:
  • Text
  • Number
  • Boolean
  • Object
  • Date
  • DateTime
  • Currency
  • Id
description string A description of this variable. This value may be used by the Agentforce planner service. Available in API version 63.0 and later.
developerName string Required. Represents the name of the context variable. 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.
includeInPrompt boolean Indicates whether the variable is injected into the prompt sent to the Agentforce model. If true, the variable appears in the Included Fields section of the UI.
Note

Note

The default variables Id, EndUserId, and EndUserLanguage always appear in the Included Fields section of the UI, regardless of their value of includeInPrompt. We recommend that you don't change the value of includeInPrompt for these default variables, as changing the value can prevent your agent from accessing important session data.

Available in API version 63.0 and later.
label string Required. A label that identifies the context variable throughout the Salesforce user interface.
SObjectType string Valid values are:
  • BotDefinition
  • Queue
## ConversationContextVariableMapping Represents the mapping between a context variable, channel type, and sObject field.
Field Name Field Type Description
fieldName string Required. The API name of an SObject field to be used as part of the mapping.
messageType MessageType (enumeration of type string) Required. Represents the message channel. Valid values are:
  • Alexa
  • AppleBusinessChat—Messages sent in enhanced Apple Messages for Business channels.
  • Email
  • EmbeddedMessaging—Messages sent in Messaging for In-App and Web channels. Available in API version 50.0 and later.
  • Facebook
  • GoogleChat—Available in API version 68.0 and later.
  • GoogleHome
  • InternalCopilot
  • Line
  • MsCopilot
  • Omega
  • Phone
  • PstnVoice
  • Rcs
  • SipVoice
  • Slack—Available in API version 68.0 and later.
  • Text
  • VoiceIntegrationPilot
  • WeChat
  • WebChat
  • WhatsApp
  • WhatsAppVoice
SObjectType string Required. SObject type for the field property defined as part of the mapping. Valid values are:
  • LiveChatTranscript
  • MessagingEndUser
  • MessagingSession
## ConversationDefinitionChannelProvider The developer name of a conversation channel linked to the bot. Available in API version 51.0 and later. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 aren’t visible in Metadata API. | Field Name | Field Type | Description | | --- | --- | --- | | agentRequired | boolean | Specifies whether an agent must be online for the bot to be active (true) or not (false) The default is false. | | chatButtonName | string | Required. The developer name of a LiveChatButton metadata component. | ## PageContextVariable A page-level context variable used by the bot. Available in API version 64.0 and later.
Field Name Field Type Description
SObjectType string Specifies the sObject type associated with this page context variable.
dataType ConversationDataType (enumeration of type string) Required. Represents the data type of the page context variable. Valid values are:
  • Text
  • Number
  • Boolean
  • Object
  • Date
  • DateTime
  • Currency
  • Id
description string A description of the page context variable.
developerName string Required. Represents the unique API name of the page context variable. 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.
label string Required. A label that identifies the page context variable throughout the Salesforce user interface.
## Declarative Metadata Sample Definition The following is an example of a Bot. This example has been trimmed to make it easier to read. Astros Pizza New\_Order New Order Today is pie day so I want pie Size Value Size en\_US Big Extra Large X-Large Grande Huge Large Astros\_Pizza\_ld1 v1 Order\_Management Order Management Order\_Management 🍕🍕🍕Pizza Time! 🍕🍕🍕 Message Verified\_User ConversationVariable Equals false Customer\_Verification Call Navigation Group Location ConversationVariable IsNotSet Select\_Location Call Navigation Group CreateOrderService apex customer Input Contact ConversationVariable location Input Location ConversationVariable output Output Pizza\_Order ConversationVariable Set VariableOperation Perfect, let's work on your order from our {!Location.Name} location Message Add\_Items\_to\_Order Redirect Navigation New\_Order New Order New\_Order false Object Contact Contact Text Delivery\_Address Delivery Address Object Pizza\_Order Pizza Order Welcome Main\_Menu LiveChatTranscript LiveChatTranscript.ChatKey WebChat Text ChatKey Chat Key LiveChatTranscript LiveChatTranscript.ContactId WebChat Id ContactId Contact Id LiveChatTranscript LiveChatTranscript.LiveChatVisitorId WebChat Id EndUserId End User Id LiveChatTranscript LiveChatTranscript.Id WebChat Id RoutableId Routable Id .... false Chat\_Button\_For\_Bot Astro's Pizza The following is an example package.xml that references the previous definition. Pizza\_Bot Bot 45.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # BotBlock Represents the configuration details for a specific Einstein Bot block, including dialogs and variables. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Special Access Rules BotBlock is available only if Chat and Einstein Bots are enabled in your org. Bot metadata deployment and retrieval are not supported for Lead Nurturing and Sales Coach Agents. ## Fields | Field Name | Description | | --- | --- | | botBlockVersions | Field Type [BotBlockVersion\[\]](#BotBlockVersion) Description The configuration details for specific Einstein Bot block versions, including dialogs and variables. | | description | Field Type string Description A description of the bot block. | | masterLabel | Field Type string Description Required. A user-friendly label for BotBlock, which is defined when the block is created. | | richContentEnabled | Field Type boolean 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. | Field Name | Description | | --- | --- | | botDialogs | Field Type [BotDialog\[\]](meta_botversion.htm#BotDialog) Description The list of dialogs in this bot block. | | conversationGoals | Field Type [ConversationDefinitionGoal\[\]](meta_botversion.htm#ConversationDefinitionGoal) Description The list of goals in this bot block. Available in API version 57.0 and later. | | conversationLanguages | Field Type string Description Required. Specifies the language of the bot block. | | conversationVariables | Field Type [ConversationVariable\[\]](meta_botversion.htm#ConversationVariable) 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. | | description | Field Type string Description A description of the bot block. | | mlDomain | Field Type [LocalMlDomain](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_bot.htm#LocalMlDomain) Description Required. The Einstein Intent Set that groups intents, entities, and variables associated with a block. | | permissionSet | Field Type string Description The permission set associated with the bot block. Available in API version 59.0 and later. | | status | Field Type ConvDefBlockVersionStatus (enumeration of type string) Description Required. Indicates whether a block is published or is a draft. Values are: - Published | ## Declarative Metadata Sample Definition The following is an example of a BotBlock component. Published Test\_Dialog\_1646070168572 Test\_Dialog\_1646070168572 false Test\_Dialog\_1646070168926 Test\_Dialog\_1646070168926 false s4 Wait Main\_Menu Main Menu Main\_Menu false Goodbye! Click the "End Chat" button to end this chat m2 s6 Message s7 Wait End\_Chat End Chat End\_Chat false Unfortunately, there are no agents available at the moment m3 s8 Message s9 Wait No\_Agent\_Available No Agent false Hi! I'm your helpful bot. m1 s1 Message Account Account.Phone Equal Value 0 Account.Phone Account.OwnerId 1 \_LastCustomerInput ConversationVariable MyCustomVariable s2 RecordLookup Main\_Menu Redirect s3 Navigation Welcome Welcome Welcome false en\_US Text TestVariableABC TestVariableABC Text TestVariableXYZ TestVariableXYZ List Object MyCustomVariable MyCustomVariable Created for testing. vPub End\_Chat End Chat es Utterance1 es Utterance2 es Utterance3 Main Menu Intent Main\_Menu Main Menu Welcome Intent Welcome Welcome blockDevName0001\_vPub Published Collects the user's first name, last name, email address, phone number, and company name. User Info Collection Block true The following is an example package.xml that references the previous definition. AgentTransfer BotBlock 58.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # BotSettings Represents an organization’s 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. ## Special Access Rules Bot metadata deployment and retrieval are not supported for Lead Nurturing and Sales Coach Agents. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableBots | boolean | Indicates whether Einstein Bots is enabled (true) or not (false). | ## Declarative Metadata Sample Definition The following is an example of a BotSetting. This example has been trimmed to make it easier to read. true The following is an example package.xml manifest that references the previous definition. Bot Settings 46.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # BotTemplate Represents the configuration details for a specific Einstein Bot template, including dialogs and variables. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. Bot metadata deployment and retrieval are not supported for Lead Nurturing and Sales Coach Agents. ## Fields | Field Name | Description | | --- | --- | | botDialogGroups | Field Type [BotDialogGroup\[\]](meta_botversion.htm#BotDialogGroup) Description The list of dialog groups in this bot template. | | botDialogs | Field Type [BotDialog\[\]](meta_botversion.htm#BotDialog) Description The list of dialogs in this bot template. | | conversationLanguages | Field Type string Description Required. Specifies the language of the bot template. | | contextVariables | Field Type [ConversationContextVariable\[\]](meta_bot.htm#ConversationContextVariable) Description Represents the context variables that enable your bot to gather customer information regardless of channel. | | conversationGoals | Field Type [ConversationDefinitionGoal\[\]](meta_botversion.htm#ConversationDefinitionGoal) Description The list of goals in this bot template. Available in API version 57.0 and later. | | conversationSystemDialogs | Field Type [ConversationSystemDialog\[\]](meta_botversion.htm#ConversationSystemDialog) Description A system function assigned to a dialog. | | conversationVariables | Field Type [ConversationVariable\[\]](meta_botversion.htm#ConversationVariable) 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. | | description | Field Type string Description A description of the bot template. | | entryDialog | Field Type string Description A reference to the first dialog that the bot presents to your customer. For example, Welcome. | | icon | Field Type string Description The icon used to identify the template. | | mainMenuDialog | Field Type string Description A reference to the dialog identified as the main menu dialog. For example, Main Menu. | | masterLabel | Field Type string Description Required. A user-friendly label for BotTemplate, which is defined when the BotTemplate is created. | | mlDomain | Field Type [LocalMlDomain](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_bot.htm#LocalMlDomain) Description Required. Represents the Einstein Intent Set that groups intents, entities, and variables associated with a template. | | permissionSet | Field Type string Description The permission set associated with the bot template. Available in API version 59.0 and later. | | richContentEnabled | Field Type boolean Description Indicates whether the template is available for enhanced bots (true) or for standard bots (false). The default is false. | | type | Field Type BotType (enumeration of type string) Description This field represents the configuration type of the bot. The default value is Bot. Valid values are: - Bot—Default Einstein Bot configuration. - ExternalCopilot— An external-facing agent. For example, an Agentforce Service agent. - InternalCopilot— An internal-facing agent. For example, an Agentforce Employee agent. | ## Declarative Metadata Sample Definition The following is an example of a BotTemplate component. dialog\_group1 dialog group1 Test\_Dialog\_1 Test\_Dialog\_1 false Test\_Dialog\_2 Test\_Dialog\_2 false Hi! I'm your helpful bot. m1 s1 Message Account Account.Phone Equal Value 0 Account.Phone Account.OwnerId 1 \_LastCustomerInput ConversationVariable MyCustomVariable s2 RecordLookup Main\_Menu Redirect s3 Navigation Welcome Welcome Welcome false s4 Wait Main\_Menu Main Menu Main\_Menu false Goodbye! Click the "End Chat" button to end this chat m2 s6 Message s7 Wait End\_Chat End Chat End\_Chat false Unfortunately, there are no agents available at the moment m3 s8 Message s9 Wait No\_Agent\_Available No Agent false LiveChatTranscript LiveChatTranscript.ChatKey WebChat Text ChatKey Chat Key en\_US No\_Agent\_Available TransferFailed Test\_Dialog\_1 ErrorHandling Text TestVariableXYZ TestVariableXYZ List Object MyCustomVariable MyCustomVariable Description of BotTemplate Test\_Dialog\_1 AA8qwqXXXXX Test\_Dialog\_2 Astro Bot Astro Bot End\_Chat End Chat Utterance1 es Utterance2 es Utterance3 es Main\_Menu Main Menu Main Menu Intent Welcome Welcome Welcome Intent Astro\_Bot\_ld1 true The following is an example package.xml that references the previous definition. \* BotTemplate 55.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # BotVersion Represents the configuration details for a specific Einstein Bot version, including dialogs and variables. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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. Bot metadata deployment and retrieval are not supported for Lead Nurturing and Sales Coach Agents. ## Fields | Field Name | Description | | --- | --- | | botDialogGroups | Field Type [BotDialogGroup\[\]](#BotDialogGroup) Description The list of dialog groups in this bot version. | | botDialogs | Field Type [BotDialog\[\]](#BotDialog) Description The list of dialogs in this bot version. | | company | Field Type string Description Reserved for internal use. | | conversationGoals | Field Type [ConversationDefinitionGoal\[\]](#ConversationDefinitionGoal) Description The list of goals in this bot verion. Available in API version 57.0 and later. | | conversationDefinitionPlanners | Field Type [ConversationDefinitionPlanner\[\]](#ConversationDefinitionPlanner) Description Represents the API name of the Agent planner service [GenAiPlanner](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_genaiplanner.htm "Represents a planner for an agent. It’s a container for all the topics and actions used to interact with a large language model (LLM)."). Available in API version 60.0 and later. | | conversationSystemDialogs | Field Type [ConversationSystemDialog\[\]](#ConversationSystemDialog) Description A system function assigned to a dialog. Available in API version 48.0 and later. | | conversationVariables | Field Type [ConversationVariable\[\]](#ConversationVariable) 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. | | copilotPrimaryLanguage | Field Type Language (enumeration of type string) Description Represents the primary language of a Copilot or Agent. | | copilotSecondaryLanguages | Field Type string Description Reserved for internal use. | | entryDialog | Field Type string Description Required. A reference to the first dialog that the bot presents to your customer. For example, Welcome. | | initialIntentDetectionEnabled | Field Type boolean Description Reserved for internal use. | | intentDisambiguationEnabled | Field Type boolean Description Reserved for internal use. | | intentThreshold | Field Type double Description Specifies how strictly a user message must match with a bot intent. Valid values are between 1 and 5, where 1 is the least strict and 5 is the most strict. To turn on this feature, contact Salesforce Customer Support. This field is available in API version 63.0 and later. | | intentV3Enabled | Field Type boolean Description Reserved for internal use. | | knowledgeActionEnabled | Field Type boolean Description Indicates whether a knowledge action is enabled. The default value is false. | | knowledgeFallbackEnabled | Field Type boolean Description Reserved for internal use. | | mainMenuDialog | Field Type string Description A reference to the dialog identified as the main menu dialog. For example, Main Menu. | | nlpProviders | Field Type [ConversationDefinitionNlpProvider\[\]](#ConversationDefinitionNlpProvider) Description Defines the language provider which is used for a particular language. Available in API version 49.0 and later. | | responseDelayMilliseconds | Field Type int Description An optional default or custom delay after every bot response to simulate typing. | | role | Field Type string Description Reserved for internal use. | | surfacesEnabled | Field Type boolean Description Reserved for internal use. | | toneType | Field Type GenAiBotToneType (enumeration of type string) Description The tone of the bot. Valid values are: - Casual - Formal - Neutral | ## BotDialogGroup The list of dialog groups in this bot version. | Field Name | Description | | --- | --- | | description | Field Type string Description A description of the bot dialog group. | | developerName | Field Type string 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field. | | label | Field Type string Description Required. A label that identifies the dialog group throughout the Salesforce user interface. | ## BotDialog The list of dialogs in this bot version. | Field Name | Description | | --- | --- | | botDialogGroup | Field Type string Description The bot dialog group that contains this bot dialog. | | botSteps | Field Type [BotStep\[\]](#BotStep) Description A list of steps that are executed as part of the dialog. | | description | Field Type string Description A description of the bot dialog. | | developerName | Field Type string 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field. | | isPlaceholderDialog | Field Type boolean 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. | | label | Field Type string Description Required. A label that identifies the dialog throughout the Salesforce user interface. | | mlIntent | Field Type string Description Required. A label that identifies the dialog throughout the Salesforce user interface. The name of the intent associated with a dialog. | | mlIntentTrainingEnabled | Field Type boolean 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. | | showInFooterMenu | Field Type boolean 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. | Field Name | Description | | --- | --- | | booleanFilter | Field Type string Description This field is reserved for future use. | | botInvocation | Field Type [BotInvocation](#BotInvocation) Description Bot Invocation used by a BotStep of type Invocation. | | botMessages | Field Type [BotMessage\[\]](#BotMessage) Description List of bot messages used by a BotStep of type Message. | | botNavigation | Field Type [BotNavigation](#BotNavigation) Description Bot Navigation used by a BotStep of type Navigation. | | botStepConditions | Field Type [BotStepCondition\[\]](#BotStepCondition) Description List of BotStep conditions associated with a BotStep of type Group. | | botSteps | Field Type [BotStep\[\]](#BotStep) Description List of BotSteps associated to a Bot Step of type Group. | | botVariableOperation | Field Type [BotVariableOperation\[\]](#BotVariableOperation) Description Bot Variable Operation used by a BotStep of type VariableOperation. | | conditionLogicType | Field Type ConversationDefinitionLogicalOperatorType (enumeration of type string) Description Represents the type of conditional logic used by a BotStep. Values are: - And - Or Available in API version 58.0 and later. | | conversationRecordLookup | Field Type [ConversationRecordLookup\[\]](#ConversationRecordLookup) Description A lookup action to the Conversation record. Available in API version 46.0 and later. | | conversationStepGoalMappings | Field Type [ConversationDefinitionStepGoalMapping\[\]](#ConversationDefinitionStepGoalMapping) Description The API name of a goal used by a BotStep of type GoalStep. Available in API version 57.0 and later. | | conversationSystemMessage | Field Type [ConversationSystemMessage\[\]](#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. | | messageDefinition | Field Type [ConversationDefinitionRichMessage\[\]](#ConversationDefinitionRichMessage) Description List of configuration details used by a BotStep that references a messaging component. Available in API version 54.0 and later. | | stepIdentifier | Field Type string 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. | | type | Field Type BotStepType (enumeration of type string) 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. | Field Name | Description | | --- | --- | | invocationActionName | Field Type string Description The name of the invocable action used by a Bot Invocation. | | invocationActionType | Field Type ConversationInvocableTargetType (enumeration of type string) 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 | | invocationMappings | Field Type [BotInvocationMapping\[\]](#BotInvocationMapping) Description List of Bot Invocation Mappings for a Bot Invocation. | ## BotInvocationMapping List of Bot Invocation Mappings for a Bot Invocation. | Field Name | Description | | --- | --- | | parameterName | Field Type string Description Required. Name of an Input/Output parameter of the parent Bot Invocation target. | | recordName | Field Type string Description Name of the record that is used as part of an Invocation mapping. Available in API version 54.0 and later. | | type | Field Type BotInvocationMappingType (enumeration of type string) Description Required. Values are: - Input - Output | | value | Field Type string Description Literal value to be assigned to the specified parameter. | | variableName | Field Type string Description Name of the Bot Variable that is used as part of an Invocation mapping. | | variableType | Field Type ConversationVariableType (enumeration of type string) Description This field relates to the type of variable used in this invocation mapping. Values are: - ContextVariable - ConversationVariable - PageContextVariable | ## BotMessage A bot message used by a BotStep of type Message. | Field Name | Description | | --- | --- | | message | Field Type string Description Required. Message to display as part of an outgoing message from the bot to the customer. | | messageIdentifier | Field Type string 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. | ## BotNavigation Bot navigation used by a BotStep of type Navigation. | Field Name | Description | | --- | --- | | botNavigationLinks | Field Type [BotNavigationLink\[\]](#BotNavigationLink) Description List of Bot Navigation links associated with a Bot Navigation of type Call or Redirect. | | type | Field Type BotNavigationType (enumeration of type string) Description Required. Values are: - Call - Redirect - TransferToAgent | ## BotNavigationLink List of Bot Navigation links associated with a Bot Navigation of type Call or Redirect. | Field Name | Description | | --- | --- | | label | Field Type string 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. | | targetBotDialog | Field Type string Description Name of the target dialog to be called as part of this Bot Navigation Link. | | targetVariable | Field Type string 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. | | targetVariableType | Field Type ConversationVariableType (enumeration of type string) 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 - PageContextVariable | ## BotStepCondition List of BotStep conditions associated with a BotStep of type Group. | Field Name | Description | | --- | --- | | leftOperandName | Field Type string Description Required. Name of the variable used as the left side of the condition operation. | | leftOperandType | Field Type ConversationVariableType (enumeration of type string) Description Required. Type of the variable used as the left side of the condition operation. Values are: - ContextVariable - ConversationVariable - PageContextVariable | | operatorType | Field Type BotStepConditionOperatorType (enumeration of type string) Description Required. Values are: - Equals - GreaterThan (Available in API version 47.0 and later.) - GreaterThanOrEqualTo (Available in API version 47.0 and later.) - IsNotSet - IsSet - LessThan (Available in API version 47.0 and later.) - LessThanOrEqualTo (Available in API version 47.0 and later.) - NotEquals | | rightOperandValue | Field Type string 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. | Field Name | Description | | --- | --- | | askCollectIfSet | Field Type boolean 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. | | autoSelectIfSingleChoice | Field Type boolean 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 user’s response. The default is false. Available in API version 51.0 and later. | | botInvocation | Field Type [BotInvocation](#BotInvocation) Description Bot Invocation used to provide Dynamic choices by a Bot Variable Operation of type Collect and quickReplyType of Dynamic. | | botMessages | Field Type [BotMessage\[\]](#BotMessage) Description List of Bot Messages used as prompt messages by a Bot Variable Operation of type Collect. | | botQuickReplyOptions | Field Type [BotQuickReplyOption\[\]](#BotQuickReplyOption) Description List of static choice options used by a Bot Variable Operation of type Collect and quickReplyType of Static. | | botVariableOperands | Field Type [BotVariableOperand\[\]](#BotVariableOperand) Description List of Bot Variable Operands associated with a Bot Variable of type Set or Unset. | | ignoreIntentRecognition | Field Type boolean Description If true the bot requires a response to a Question dialog step. The bot doesn't perform intent recognition for any user messages that do not fit the entity requirements. The bot repeats the question until the customer's response fits the entity requirements. Available in API version 63.0 and later. | | invalidInputBotNavigation | Field Type [BotNavigation](#BotNavigation) Description Bot Navigation used by a Bot Variable Operation of type Collect. This navigation is executed when the associated Bot Invocation doesn’t return any options. | | messageDefinition | Field Type [ConversationDefinitionRichMessage](#ConversationDefinitionRichMessage) 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. | | optionalCollect | Field Type boolean 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. | | quickReplyOptionTemplate | Field Type string Description Formula template used to resolve a label for Dynamic choice options of type Object. | | quickReplyType | Field Type BotQuickReplyType (enumeration of type string) Description Values are: - Dynamic - Static | | quickReplyWidgetType | Field Type BotWidgetType (enumeration of type string) Description Values are: - Buttons - Menu | | retryMessages | Field Type [BotMessage\[\]](#BotMessage) Description In [Conversation Repair](https://help.salesforce.com/articleView?id=bots_service_setup_dialog_question_text.htm&language=en_US "HTML (New Window)"), the messages assigned to repair attempts. Available in API version 48.0 and later. | | sourceVariableName | Field Type string Description Name of the source VariableName used in the variable operation. Available in API version 47.0 and later. | | sourceVariableType | Field Type ConversationVariableType (enumeration of type string) Description This name defines the data type of VariableName used in the variable operation. Values are: - ContextVariable - ConversationVariable - PageContextVariable | | successMessages | Field Type [BotMessage\[\]](#BotMessage) 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. | | type | Field Type BotVariableOperationType (enumeration of type string) 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 | | variableOperationIdentifier | Field Type string 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. | Field Name | Description | | --- | --- | | literalValue | Field Type string Description Required. Value to be displayed as a menu or button choice to your customer. | | quickReplyOptionIdentifier | Field Type string 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. 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. | Field Name | Description | | --- | --- | | disableAutoFill | Field Type boolean Description Disables auto-fill behavior for a bot variable under a bot variable operation of type Collect. | | sourceName | Field Type string Description Name of the source CustomField or MlSlotClass used in the variable operation. | | sourceType | Field Type ConversationVariableOperandSourceType (enumeration of type string) 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 | | sourceValue | Field Type string Description Literal value used as the source for this variable operation. | | targetName | Field Type string Description Required. Name of the target variable used in the variable operation. | | targetType | Field Type ConversationVariableType (enumeration of type string) Description Required. Type of the target used in the variable operation. Values are: - ContextVariable - ConversationVariable - PageContextVariable | ## ConversationRecordLookup Information related to the linked conversation. Currently only works on Lightning Knowledge. Available in API version 46.0 and later. | Field Name | Description | | --- | --- | | SObjectType | Field Type string Description Required. Specifies the SObjectType of the ID stored in a bot variable. | | conditions | Field Type [ConversationRecordLookupCondition\[\]](#ConversationRecordLookupCondition) Description The conditions associated with this lookup. Available in API version 51.0 and later. | | filterLogic | Field Type string Description The logical operator that connects the conditions. Values are: - And - Or Available in API version 51.0 and later. | | lookupFields | Field Type [ConversationRecordLookupField\[\]](#ConversationRecordLookupField) Description Definition of the fields that are used for this lookup. | | maxLookupResults | Field Type int Description Required. The maximum number of records to return (1-3). | | sortFieldName | Field Type string Description The name of the field used to sort the lookup results. Available in API version 51.0 and later. | | sortOrder | Field Type SortOrder (enumeration of type string) Description The display order of the lookup results. Values are: - Asc - Desc Available in API version 51.0 and later. | | sourceVariableName | Field Type string Description The input for this lookup operation. | | sourceVariableType | Field Type ConversationVariableType (enumeration of type string) Description Type of the target used in the variable operation. Values are: - ContextVariable - ConversationVariable - PageContextVariable | | targetVariableName | Field Type string 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. | Field Name | Description | | --- | --- | | leftOperand | Field Type string Description Required. Field on which the condition operation takes place. | | operatorType | Field Type string Description Required. The operator applied to the leftOperand. Values are: - Equals - NotEquals - IsSet - IsNotSet - GreaterThan - LessThan - GreaterThanOrEqualTo - LessThanOrEqualTo | | rightOperandName | Field Type string Description The name of the variable to compare against. | | rightOperandType | Field Type ConversationVariableType (enumeration of type string) Description The type of the variable to compare against. Values are: - ContextVariable - ConversationVariable - PageContextVariable | | rightOperandValue | Field Type string Description The custom value to compare against. This value is ignored when using IsSet and IsNotSet operators. | | sortOrder | Field Type int 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. | Field Name | Description | | --- | --- | | fieldName | Field Type string 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. | Field Name | Description | | --- | --- | | goalName | Field Type string 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. | Field Name | Description | | --- | --- | | systemMessageMappings | Field Type [ConversationSystemMessageMapping](#ConversationSystemMessageMapping) Description Defines the type of system message to be sent. | | type | Field Type ConversationSystemMessageType (enumeration of type string) 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. | Field Name | Description | | --- | --- | | mappingType | Field Type ConversationMappingType (enumeration of type string) Description Required. Defines the type of mapping used in the record. Values are: - Input - Output | | parameterType | Field Type ConversationSystemMessageParamType (enumeration of type string) Description Required. Defines the type of parameter the value is mapped to. Values are: - Transfer | | variableName | Field Type string 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. | Field Name | Description | | --- | --- | | messageDefinitionMappings | Field Type [BotInvocationMapping\[\]](#BotInvocationMapping) 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. | | messageDefinitionName | Field Type string 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. | Field Name | Description | | --- | --- | | developerName | Field Type string 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. | | label | Field Type string 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. | ## ConversationDefinitionPlanner Represents the API name for the Agent planner service. Available in API version 60.0 and later. | Field Name | Description | | --- | --- | | genAiPlannerName | Field Type string Description The name of an agent 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. | ## ConversationSystemDialog A system function assigned to a dialog. Available in API version 48.0 and later. | Field Name | Description | | --- | --- | | dialog | Field Type string Description The dialog name triggered when this system event fires. | | type | Field Type ConversationSystemDialogType (enumeration of type string) Description The type of system event. Required. Valid values are: - Disambiguation (Reserved for Future Use) - DisambiguationFailed (Reserved for Future Use) - ErrorHandling - KnowledgeAction (Available in API version 60.0.) - KnowledgeFallback (Available in API version 51.0.) - TransferFailed | ## 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. | Field Name | Description | | --- | --- | | collectionType | Field Type ConversationVariableCollectionType (enumeration of type string) Description This field defines whether a variable is designated as a List Variable. Valid value is List. | | dataType | Field Type ConversationVariableCollectionType (enumeration of type string) Description Required. Valid values are: - Boolean - Currency - Date - DateTime - Id (available in API 45.0 and later.) - Object - Number - Text | | description | Field Type string Description A description of this variable. This value may be used by the Agentforce planner service. Available in API version 63.0 and later. | | developerName | Field Type string 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. | | includeInPrompt | Field Type boolean Description Indicates whether the variable is injected into the prompt sent to the Agentforce model. If true, the variable appears in the **Included Fields** section of the UI. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The default variables Id, EndUserId, and EndUserLanguage always appear in the **Included Fields** section of the UI, regardless of their value of includeInPrompt. We recommend that you don't change the value of includeInPrompt for these default variables, as changing the value can prevent your agent from accessing important session data. Available in API version 63.0 and later. | | label | Field Type string Description Required. Label that identifies a variable throughout the Salesforce user interface. | | SObjectType | Field Type string Description Specifies the SObjectType of the ID stored in a bot variable. Valid values are: - BotDefinition - Queue | | visibility | Field Type ConversationVariableVisibilityType (enumeration of type string) Description Required. Determines which components can set this variable. If the visibility is internal, the variable can only be set by action outputs. If the visibility is external, the variable can also be set by the API. Valid values are: - internal - external | ## 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. | Field Name | Description | | --- | --- | | language | Field Type Language Description Required. The language assigned to a bot version. | | nlpProviderName | Field Type string Description If nlpProviderType is EinsteinAI, this field is blank. If Apex, this field holds the Apex class name of the service. | | nlpProviderType | Field Type ConversationDefinitionNlpProviderType (enumeration of type string) Description Required. Default value is EinsteinAi. Valid values are: - EinsteinAi - Apex | ## Declarative Metadata Sample Definition The following is an example of a BotVersion. Astros Pizza New\_Order New Order Today is pie day so I want pie Size Value Size en\_US Big Extra Large X-Large Grande Huge Large Astros\_Pizza\_ld1 v1 Order\_Management Order Management Order\_Management 🍕🍕🍕Pizza Time! 🍕🍕🍕 Greeting\_Message Greeting Message Verified\_User ConversationVariable Equals false Customer\_Verification Call Call\_Customer\_Verification Navigation Verify\_User Group Location ConversationVariable IsNotSet Select\_Location Call Call\_Select\_Location Navigation Set\_Location Group CreateOrderService apex customer Input Contact ConversationVariable location Input Location ConversationVariable output Output Pizza\_Order ConversationVariable Set Set\_Order Create\_Order VariableOperation Perfect, let's work on your order from our {!Location.Name} location Start\_Order\_Message Start\_Order Message Astros\_Pizza\_Menu 36e5a7cb-50c4-4279-aa06-1217eba1bf62 RichMessage Add\_Items\_to\_Order Redirect Proceed\_To\_Add\_Items Navigation New\_Order New Order New\_Order false Object Contact Contact Text Delivery\_Address Delivery Address Object Pizza\_Order Pizza Order Welcome Main\_Menu Astro's Pizza The following is an example package.xml that references the previous definition. Astros Pizza\_Bot.v1 BotVersion 45.0 ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm) 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 | Field Name | Description | | --- | --- | | associateAccountWithBranch | Field Type boolean Description Automatically associates new accounts with the user’s 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. true The following is an example package.xml that references the previous definition. BranchManagement Settings ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # BrandingSet Represents the definition of a set of branding properties for an Experience Builder site or for your org's Lightning Experience theme. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 | Field Name | Field Type | Description | | --- | --- | --- | | brandingSetProperty | [BrandingSetProperty](#BrandingSetProperty)\[\] | An array containing the name and value of each branding property, such as TextColor:#333. | | description | string | A description of the set of branding properties. | | masterLabel | string | Required. The user interface name of the set of branding properties. | | type | string | The assigned branding set definition for this BrandingSet. | ## BrandingSetProperty Represents the definition of a branding property in the Theme panel in Experience Builder or in the Edit Theme page in Setup. | Field Name | Field Type | Description | | --- | --- | --- | | propertyName | string | Required. The name of the branding property, such as TextColor. | | propertyValue | string | The value of the branding property, such as #333. | ## Branding Properties for Lightning Experience Themes Use these properties to describe Lightning Experience themes. Each propertyName is case-sensitive and must use all capital letters. Some properties only apply to either Salesforce Lightning Design System (SLDS) 1 themes or SLDS 2 themes. | Property | Description | | --- | --- | | ACCENT\_COLOR\_1 | Field Type string Description The primary accent color used to highlight active states of the user interface like navigation, tabs, and hover states. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 64.0 and later. | | ACCENT\_COLOR\_1\_DARK\_MODE | Field Type string Description The primary accent color used to highlight active states of the user interface like navigation, tabs, and hover states when a user views Salesforce in dark mode. Must be a valid hex string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_COLOR\_2 | Field Type string Description A variant of the primary accent color used to highlight active states of the user interface like navigation, tabs, and hover states. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 64.0 and later. | | ACCENT\_COLOR\_2\_DARK\_MODE | Field Type string Description A variant of the primary accent color used to highlight active states of the user interface like navigation, tabs, and hover states when a user views Salesforce in dark mode. Must be a valid hex string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_COLOR\_3 | Field Type string Description A variant of the primary accent color used to highlight active states of the user interface, like navigation, tabs, and hover states. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 64.0 and later. | | ACCENT\_COLOR\_3\_DARK\_MODE | Field Type string Description A variant of the primary accent color used to highlight active states of the user interface like navigation, tabs, and hover states when a user views Salesforce in dark mode. Must be a valid hex string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_CONTAINER\_CONTENT\_COLOR\_1 | Field Type string Description The primary color used for the icons and text within accent containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_CONTAINER\_CONTENT\_COLOR\_1\_DARK\_MODE | Field Type string Description The primary color used for the icons and text within accent containers when a user views Salesforce with dark mode enabled. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_CONTAINER\_CONTENT\_COLOR\_2 | Field Type string Description A variant of the primary color used for the icons and text within accent containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_CONTAINER\_CONTENT\_COLOR\_2\_DARK\_MODE | Field Type string Description A variant of the primary color used for the icons and text within accent containers when a user views Salesforce with dark mode enabled. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_CONTAINER\_CONTENT\_COLOR\_3 | Field Type string Description A variant of the primary color used for the icons and text within accent containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | ACCENT\_CONTAINER\_CONTENT\_COLOR\_3\_DARK\_MODE | Field Type string Description A variant of the primary color used for the icons and text within accent containers when a user views Salesforce with dark mode enabled. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | BANNER\_IMAGE | Field Type string Description The path to the image to display in the background of your org's pages. Use a JPG, PNG, or GIF that's 1800x360 pixels and smaller than 5 MB. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. Available only for SLDS 1 themes. | | BRAND\_COLOR | Field Type string Description The color to display on your nav bar and other important areas of Salesforce. Must be a valid hex color string in the format #54C254. | | BRAND\_IMAGE | Field Type string Description The path to the image to display as your logo. Use a JPG, PNG, or GIF that’s 600x120 pixels and smaller than 5 MB. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. | | BRAND\_IMAGE\_DARK\_MODE | Field Type string Description The path to the image to display as your logo when a user views Salesforce in dark mode. Use a JPG, PNG, or GIF that’s 600x120 pixels and smaller than 5 MB. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | CONTAINER\_ACCENT\_COLOR\_1 | Field Type string Description The primary color used for the background of branded component containers like the brand button. Container accent colors are also used for hover states for branded component containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 64.0 and later. | | CONTAINER\_ACCENT\_COLOR\_1\_DARK\_MODE | Field Type string Description The primary color used for the background of branded component containers like the brand button when a user views Salesforce in dark mode. Container accent colors are also used for hover states for branded component containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | CONTAINER\_ACCENT\_COLOR\_2 | Field Type string Description A variant of the primary color used for the background of branded component containers. Container accent colors are also used for hover states for branded component containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 64.0 and later. | | CONTAINER\_ACCENT\_COLOR\_2\_DARK\_MODE | Field Type string Description A variant of the primary color used for the background of branded component containers when a user views Salesforce in dark mode. Container accent colors are also used for hover states for branded component containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | CONTAINER\_ACCENT\_COLOR\_3 | Field Type string Description A variant of the primary color used for the background of branded component containers. Container accent colors are also used for hover states for branded component containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 64.0 and later. | | CONTAINER\_ACCENT\_COLOR\_3\_DARK\_MODE | Field Type string Description A variant of the primary color used for the background of branded component containers when a user views Salesforce in dark mode. Container accent colors are also used for hover states for branded component containers. Must be a valid hex color string in the format #54C254. Available only for SLDS 2 themes. Available in API version 65.0 and later. | | GROUP\_IMAGE | Field Type string Description The default group avatar image. Use a JPG, PNG, or GIF that's 200x200 pixels and smaller than 5 MB. Group owners can change their avatar image. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. | | GROUPS\_BANNER\_IMAGE | Field Type string Description The default banner image for group pages. Use a JPG, PNG, or GIF that’s 1800x360 pixels and smaller than 5 MB. Group owners can change their banner image. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. | | HEADER\_BACKGROUND\_COLOR | Field Type string Description The color to display at the top of your org pages. Your logo, global search, and global actions appear on top of the global header background. Must be a valid hex color string in the format #54C254. Available only for SLDS 1 themes. | | LINK\_AS\_BACKGROUND | Field Type boolean Description Indicates whether you want links in your org to use your selected brand color (true) or not (false). The default value is true. Available only for SLDS 1 themes. | | OVERRIDE\_A11Y\_COLOR | Field Type string Description When you select a value for BRAND\_COLOR, a color palette that complements your brand color and is WCAG 2.0 compliant is automatically generated. In places where your selected brand color isn’t accessible, an accessible color is used instead. If you provide a value for OVERRIDE\_A11Y\_COLOR, your value is used in the instances described in place of an automatically generated color. Overriding the accessible brand color only updates the first tile in your brand-based color palette, which affects colors like links and buttons. Overriding the accessibility brand color can make text harder to read. Must be a valid hex color string in the format #54C254. Available only for SLDS 1 themes. | | OVERRIDE\_LOADING\_PAGE | Field Type boolean Description Indicates whether your provided brand logo displays while a Lighting Experience page loads or refreshes (true) or not (false). The default value is false. | | PAGE\_BACKGROUND\_COLOR | Field Type string Description The color used for page backgrounds. Must be a valid hex color string in the format #54C254. Available only for SLDS 1 themes. | | PROFILE\_BANNER\_IMAGE | Field Type string Description The default banner image for user profiles. Use a JPG, PNG, or GIF that's 1800x360 pixels and smaller than 5 MB. Users can change their profile banner image. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. | | USER\_IMAGE | Field Type string Description The default avatar image for user profiles. Use a JPG, PNG, or GIF that's 200x200 pixels and smaller than 5 MB. Users can change their profile avatar image. Must refer to an [asset file](https://help.salesforce.com/s/articleView?id=experience.admin_files_asset_files.htm&type=5&language=en_US) that already exists within the org. | ## Declarative Metadata Sample Definition The following is an example of a BrandingSet component. TextTransformStyle uppercase DetailTextColor #696969 BorderColor #D4D4D4 HeaderImage HeaderFonts Montserrat CardBackgroundColor rgba(255, 255, 255, 0) LoginBackgroundColor #F4F4F4 ActionColor #2574A9 \_ActionColorTrans rgba(25, 124, 190, 0.9) CompanyLogo LoginBackgroundImage ../../../../sfsites/picasso/core/external/ salesforceIdentity/images/background.jpg?v=1 \_LinkColorDarker #135F90 \_ActionColorDarker #135F90 \_HoverColor rgba(25, 124, 190, 0.1) ErrorFontColor #ff9e9e TextColor #333 OverlayTextColor #FFFFFF PrimaryFont Lato LinkColor #2574A9 ex napili:branding-napili-merged The following is an example package.xml that references the previous definition. MyBrandingSet BrandingSet 40.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # BriefcaseDefinition Represents a briefcase definition. A briefcase makes selected records available for specific users and groups to view when they’re 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
Field Name Field Type Description
briefcaseRules BriefcaseRule[] A list of rules that specify which records are included in the briefcase.
description string Description of the briefcase.
isActive boolean Required. Indicates whether the briefcase is active by default (true) or inactive (false). Activate a briefcase to make the selected records available to assignees.
masterLabel string Required. Label for the briefcase name that appears in the Salesforce user interface.
type BriefcaseType (enumeration of type string) Applies if multiple briefcase types are available in your org. Valid values include:
  • Standard: Standard briefcase that can be used with priming APIs.
  • HighVolume: Increased capacity briefcase that’s used with performance priming in the Salesforce Field Service mobile app.
  • MobileAppSync: Automatically generated briefcase that’s used for performance priming in the Salesforce Field Service mobile app.
## BriefcaseRule Represents a rule that specifies records to be included in the BriefcaseDefinition.
Field Name Field Type Description
briefcaseRuleFilters BriefcaseRuleFilter[] A list of filters on a rule.
filterLogic string 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.
isAscendingOrder boolean Indicates whether the records should be sorted in ascending order (true) or descending order (false).
isRelatedFilesRule boolean Indicates whether the briefcase rule is part of a hierarchical set of rules that configure the offline priming of file attachments. Available only for the Offline App (Salesforce Mobile App Plus).

To configure the offline priming of file attachments, create a set of four hierarchical briefcase rules:

  • A rule with targetEntity set to the object with the file attachments at the first level
  • A rule with targetEntity set to ContentDocumentLink at the second level
  • A rule with targetEntity set to ContentDocument at the third level
  • A rule with targetEntity set to ContentVersion at the fourth level

See the Declarative Metadata Sample Definition section for an example briefcase definition that configures the offline priming of file attachments.

The ContentDocumentLink, ContentDocument, and ContentVersion rules must all have isRelatedFilesRule set to true. To delete a briefcase configuration for file attachments, you must delete the ContentDocumentLink rule and all of its nested rules. You can’t delete a single rule within the hierarchy of ContentDocumentLink, ContentDocument, and ContentVersion rules.

When isRelatedFilesRule is set to true, you must use the recordLimit field to limit the number of file attachments returned by a briefcase rule. Apply the same recordLimit value across the ContentDocumentLink, ContentDocument, and ContentVersion rules. You can optionally filter file attachments by file size and file type through Briefcase Builder in Setup.

After you set a value for isRelatedFilesRule, you can no longer modify the field. The value that you set persists for the life of the rule.

Removed in API version 63.0 and later.

orderBy string The field to order the records by, which determines how the records can be sorted. For example, Account Name or Created By.
queryScope FilterScope (enumeration of type string) A group of records to restrict the scope of this rule. Valid values include:
  • Everything
  • AssignedToMe
  • Mine

The AssignedToMe scope is supported for the ServiceAppointment object only.

recordLimit int 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 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.
relatedRules BriefcaseRule[] A list of rules that are related to the current rule.
relationshipField string Required for relatedRules. Defines the Salesforce object field that relates the relatedRules field to another relatedRules field or the 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.
relationshipType BriefcaseRuleRelationshipType (enumeration of type string) Required for relatedRules. Defines the relationship between the relatedRules field and another relatedRules field or the briefcaseRules field on the BriefcaseDefinition metadata type that it's nested in. Valid values include:
  • ParentToChild
  • ChildToParent
targetEntity string 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 can’t include any other fields. You can add only one briefcase rule for the same custom metadata type in a briefcase. Custom metadata types are supported as the targetEntity for top-level rules only–you can’t create a related rule with targetEntity as a custom metadata type.

## BriefcaseRuleFilter Specifies filter criteria for a BriefcaseRule.
Field Name Field Type Description
filterOperator BriefcaseFilterOperator (enumeration of type string) 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:
  • d—Ends with
  • e—Equals
  • g—Greater than
  • h—Greater than or equal
  • l—Less than
  • m—Less than or equal
  • n—Not equals. This value is applicable only when filterValue is empty.
  • s—Starts with
filterSeqNumber int Required. The filter number. When you apply multiple filters, the filters are numbered sequentially, 1, 2, 3, and so on.
filterValue string 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.

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

targetEntityField string Required. The API name of the field to filter by. This field is from the targetEntity on BriefcaseRule. Compound fields aren't supported. Fields 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. g 1 50000.00 AnnualRevenue l 2 50 NumberOfEmployees 1 AND 2 false NumberOfEmployees Everything 1000 Account Account Briefcase true Account With Standard Fields The following is an example package.xml that references the previous definition. AccountWithCustomFields BriefcaseDefinition 49.0 This example briefcase definition configures the offline priming of file attachments for the WorkOrder object. Files Priming is available only for the Offline App (Salesforce Mobile App Plus). false SystemModstamp Everything 25 WorkOrder ContentDocumentLink LinkedEntityId ParentToChild false true Everything 2 ContentDocument ContentDocumentId ChildToParent false true Everything 2 ContentVersion ContentDocumentId ParentToChild false true Everything 2 true WorkOrder with Related Files ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). ## Usage Briefcase objects are available in orgs that have Briefcase Builder and Field Service enabled. # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_calls_intro.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version BusinessHoursSettings is available in API version 29.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | businessHours | [BusinessHoursEntry](#BusinessHoursEntry)\[\] | Represents the application of business hours to entitlements, entitlement templates, campaigns, and cases. | | holidays | [Holidays](#Holidays)\[\] | Represents a holiday and its usage in businessHours. | ## BusinessHoursEntry Represents the application of business hours to entitlements, entitlement templates, campaigns, and cases. | Field Name | Field Type | Description | | --- | --- | --- | | timeZoneId | string | The time zone for the time that defines business hours. | | name | string | Name of the business hours. This name should be unique. | | active | string | Indicates whether the business hours are active. | | default | string | Indicates whether the business hours are used as the default business hours. | | mondayStartTime | string | Start time for the business hours on Monday. Uses the format HH:mm:ss.SSSZ. | | mondayEndTime | string | 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. | | tuesdayStartTime | string | Start time for the business hours on Tuesday. Uses the format HH:mm:ss.SSSZ. | | tuesdayEndTime | string | 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. | | wednesdayStartTime | string | Start time for the business hours on Wednesday. Uses the format HH:mm:ss.SSSZ. | | wednesdayEndTime | string | 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. | | thursdayStartTime | string | Start time for the business hours on Thursday. Uses the format HH:mm:ss.SSSZ. | | thursdayEndTime | string | 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. | | fridayStartTime | string | Start time for the business hours on Friday. Uses the format HH:mm:ss.SSSZ. | | fridayEndTime | string | 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. | | saturdayStartTime | string | Start time for the business hours on Saturday. Uses the format HH:mm:ss.SSSZ. | | saturdayEndTime | string | 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. | | sundayStartTime | string | Start time for the business hours on Sunday. Uses the format HH:mm:ss.SSSZ. | | sundayEndTime | string | 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. | ## Holidays Represents a holiday and its usage in businessHours. | Field Name | Field Type | Description | | --- | --- | --- | | name | string | Name of the holiday. This name does not have to be unique. | | description | string | The description of the holiday. | | isRecurring | string | Indicates whether the holiday is recurring. | | activityDate | string | The date of the holiday. Use for non-recurring holidays. Uses the format HH:mm:ss.SSSZ. | | recurrenceStartDate | string | The date the holiday starts recurring. Uses the format yyyy-mm-dd. | | recurrenceEndDate | string | The date the holiday stops recurring. Uses the format yyyy-mm-dd. Optional. | | startTime | string | 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. | | endTime | string | 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. | | recurrenceType | string | The recurrence type of the holiday. Valid values are: RecursDaily, RecursEveryWeekday, RecursMonthly, RecursMonthlyNth, RecursWeekly, RecursYearly, RecursYealyNth. | | recurrenceInterval | string | The interval of weeks, months, or years the holiday recurs. | | recurrenceDayOfWeek | string | The day of week the holiday recurs. Valid values: Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday. | | recurrenceDayOfMonth | string | The day of month the holiday recurs. Valid values: integers 1-31. | | recurrenceInstance | string | Valid values: First, Second, Third, Fourth, Last. Only used for recurrenceType RecursMonthlyNth and RecursYearlyNth. For example, if the recurenceInstance value is First, the holiday recurs on the first Monday of the month every 3 months. | | recurrenceMonthOfYear | string | Valid values: January, February, March, April, May, June, July, August, September, October, November, December. | | businessHours | string | The name of the business hours setting that applies to this holiday. | ## Declarative Metadata Sample Definition The following is an example businesshours.settings metadata file: true true 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z Default 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z America/Los\_Angeles 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z true false 00:00:00.000Z 00:00:00.000Z 15:00:00.000Z 09:00:00.000Z bh1 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 00:00:00.000Z 17:00:00.000Z 10:50:00.000Z America/Los\_Angeles 13:00:00.000Z 09:00:00.000Z 15:00:00.000Z 09:00:00.000Z 2013-09-02 Default bh1 false Labor Day bh1 true Christmas 25 December 2013-12-25 RecursYearly The following is an example package.xml manifest that references the BusinessHoursSettings definitions: BusinessHours Settings 29.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # BusinessProcess The BusinessProcess metadata type enables you to display different picklist values for users based on their profile. 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### Important Don’t use business processes as an access control mechanism. Profile assignment governs create and edit access for business process but doesn’t 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. Don’t store sensitive information in the business process description, name, or picklist values. Instead, store sensitive information in a separate object or fields to which you’ve 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") for more information. ## Version [BusinessProcess](#meta_businessprocess "The BusinessProcess metadata type enables you to display different picklist values for users based on their profile.") 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 | Field | Field Type | Description | | --- | --- | --- | | description | string | Description for the business process. | | fullName | string | Required. The name used as a unique identifier for API access. This field is inherited from the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") component, but the string it contains is created differently than the fullName strings for other types. For a fullName string [BusinessProcess](#meta_businessprocess "The BusinessProcess metadata type enables you to display different picklist values for users based on their profile."), 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. Use the object-qualified form (Opportunity. Bulk Orders) for API addressing, such as in a package.xml member in metadata retrieve results. When creating a business process in a CustomObject definition, use the bare process name (Bulk Orders) for the nested value. The enclosing object already supplies the entity context. | | isActive | boolean | Indicates if the business process is active (true) or not (false). | | namespacePrefix | string | The namespace of the developer organization where the package was created. | | values | [PicklistValue](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_globalpicklistvalue.htm#picklistvalue)\[\] | A list of picklist values associated with this business process. | ## Declarative Metadata Sample Definition The following is a sample XML definition of a lead business process. .... HardwareLeadProcess Lead Process for hardware division true Closed - Converted false CustomLeadStep1 false CustomLeadStep2 false Open - Not Contacted false Working - Contacted true .... ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file only when a [RecordType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_recordtype.htm#meta_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.") is specified. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). - [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/actionoverride.htm "ActionOverride") - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_compactlayout.htm "CompactLayout") #### See Also - [_Salesforce DX Developer Guide_: BusinessProcessGroup](https://developer.salesforce.com/docs/atlas.en-us.pkg2_dev.meta/pkg2_dev/packaging_packageable_components.htm#mdc_business_process_group) - [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 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
Field Name Field Type Description
businessProcessDefinitions BusinessProcessDefinition[] A list that defines stages in a customer lifecycle map.
customerSatisfactionMetric SurveyQuestionType(enumeration of type string) Required. Types of questions that can be associated with stages in a customer lifecycle map.

Valid values are:

  • Attachment
  • Boolean
  • CSAT
  • Currency
  • Date
  • DateTime
  • FreeText
  • Image
  • NPS
  • Matrix
  • MultiChoice
  • MultiSelectPicklist
  • NPS
  • Number
  • Picklist
  • Rating
  • ShortText
  • Slider
  • StackRank
  • Toggle
description string A description of the customer lifecycle map.
masterLabel string Required. The name of the customer lifecycle map.
## BusinessProcessDefinition
Field Name Field Type Description
businessProcessFeedbacks BusinessProcessFeedback[] A list of stages in a customer lifecycle map.
description string A description of a stage in the customer lifecycle map.
developerName string 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.

masterLabel string Required. The name of a stage in the customer lifecycle map.
sequenceNumber int Required. The position of a stage in the customer lifecycle map.
## BusinessProcessFeedback
Field Name Field Type Description
actionName string Required. The name of the survey used to collect feedback
actionParam string Required. The name of the survey question used to collect feedback.
actionType ExpFeedbackCollType(enumeration of type string) Required. The mode of feedback collection. Valid values are:
  • PHONE_CALL
  • SURVEY
## Declarative Metadata Sample Definition The following is an example of a BusinessProcessGroup component. Customer\_Onboarding Customer Onboarding A stage in a customer's lifecycle. 0 Survey New Customer CSAT How would you rate our service? NPS Customer Lifecycle This map tracks the feedback provided by customers' at different stages during their lifecycle. The following is an example package.xml that references the previous definition. policyholder BusinessProcessGroup 49.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CallCenter Represents the Call Center definition used to integrate Salesforce with a third-party computer-telephony integration (CTI) system, a partner telephony system, or partner Contact Center as a Service (CCaaS) system. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | adapterUrl | Field Type string Description Optional field. A URL that points to an adapter. | | contactCenterChannels | Field Type [ContactCenterChannel\[\]](#ContactCenterChannel) Description Relates Bring Your Own Channel for Contact Center as a Service (CCaaS) messaging channels to a CallCenter and represents the routing details for a voicemail configuration. | | displayName | Field Type string Description Required. The display name of this call center. | | displayNameLabel | Field Type string Description Required. The label of the displayName field in Call Center setup page. | | internalNameLabel | Field Type string Description Required. The label of the internalName field in Call Center setup page. | | sections | Field Type [CallCenterSection\[\]](#CallCenterSection) Description Custom setup items defined for this call center. | | version | Field Type string Description The version of this call center. | ## CallCenterSection | Field Name | Description | | --- | --- | | items | Field Type [CallCenterItem\[\]](#CallCenterItem) Description Contains the label, name, and value that describe the sections. | | label | Field Type string Description Required. The label of the section. | | name | Field Type string Description Required. The name of the section. | ## CallCenterItem | Field Name | Description | | --- | --- | | label | Field Type string Description Required. The label of the custom setup item. | | name | Field Type string Description Required. The name of the custom setup item. | | value | Field Type string Description Required. The value of the custom setup item. | ## ContactCenterChannel Represents a junction subtype that relates a Bring Your Own Channel for Contact Center as a Service (CCaaS) messaging channel to a CallCenter type for Bring Your Own Channel for CCaaS. This subtype also represents the routing details for a voicemail configuration and routing information for callback requests. This subtype is available in API version 56.0 and later. | Field Name | Description | | --- | --- | | channel | Field Type string Description Required. For Bring Your Own Channel for CCaaS, this field represents the unique ID of the Bring Your Own Channel messaging channel (MessagingChannel) that’s associated with the contact center (CallCenterId). Available in API version 60.0 and later. | | contactCenter | Field Type string Description Required. For Bring Your Own Channel for CCaaS, this field represents the unique ID of the contact center (CallCenterId) that’s associated with the Bring Your Own Channel messaging channel (MessagingChannel). Available in API version 60.0 and later. | | omniCallbackFallbackQueue | Field Type string Description If callbacks are configured for the contact center and the contact center uses Omni-Channel Unified Routing, this field represents the unique ID of the fallback queue to use if contact request routing through an Omni-Channel flow fails. Don't change the value in this field. Instead, configure contact request routing in Lightning Experience. Available in API version 65.0 and later. | | omniCallbackHandler | Field Type string Description If callbacks are configured for the contact center and the contact center uses Omni-Channel Unified Routing, this field represents the unique ID of the flow or queue used to route contact requests. Don't change the value in this field. Instead, configure contact request routing in Lightning Experience. Available in API version 65.0 and later. | | voiceMailFallbackQueue | Field Type string Description If voicemail routing is configured for the contact center, this field represents the unique ID of the fallback queue to use if voicemail routing fails. Don't change the value in this field. Instead, configure voicemail routing in Lightning Experience. | | voiceMailHandler | Field Type string Description If voicemail routing is configured for the contact center, this field represents the unique ID of the flow used to route voicemails. Don't change the value in this field. Instead, configure voicemail routing in Lightning Experience. | ## Declarative Metadata Sample Definition The following is an example of a CallCenter component: http://localhost:11000 Demo Call Center Adapter Display Name Internal Name Description reqDescription Demo Call Center Adapter CTI Connector ProgId reqProgId DemoAdapter.DemoAdapter.1 Version reqVersion 3.0 CTI Adapter URL reqAdapterUrl http://localhost:11000 General Information reqGeneralInfo Outside Prefix reqOutsidePrefix 1 Long Distance Prefix reqLongDistPrefix 1 International Prefix reqInternationalPrefix 01 Dialing Options reqDialingOptions 4 For information about the CallCenter definition file, see [Call Center Definition Files](https://developer.salesforce.com/docs/atlas.en-us.210.0.api_cti.meta/api_cti/sforce_api_cti_call_def_file.htm). # CallCenterRoutingMap Represents the mapping between a user or queue in a Salesforce org to a user or queue in an external system’s call center. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location CallCenterRoutingMap components have the suffix .callCenterRoutingMap and are stored in the callCenterRoutingMaps folder. ## Version CallCenterRoutingMap components are available in API version 52.0 and later. ## Special Access Rules This type requires Contact Center Admin, Contact Center Admin (Partner Telephony), Contact Center Supervisor, or Manage Call Centers permission. ## Fields | Field Name | Description | | --- | --- | | callCenter | Field Type string Description Required. Reference to a call center. | | developerName | Field Type string Description Required. The developer name is a combination of the Salesforce user ID or queue name, and the callCenter value, with an underscore between these two values. - \[SALESFORCE\_USER\_ID\]\_\[CALL\_CENTER\] - \[SALESFORCE\_QUEUE\_NAME\]\_\[CALL\_CENTER\] | | externalId | Field Type string Description Required. Unique identifier for the external system’s user or queue. | | masterLabel | Field Type string Description Required. The master label of the CallCenterRoutingMap. | | quickConnect | Field Type string Description The Amazon Connect QuickConnectId ARN used to determine agent availability for Omni-Channel call transfers. Available in API version 56.0 and later. | | referenceRecord | Field Type string Description Required. Lookup field to a Salesforce user or queue. | ## Declarative Metadata Sample Definition The following is an example of a CallCenterRoutingMap component. ExampleCallCenter User\_001ABC00000FjYIIA0\_04vZ6000000Cagl arn:aws:connect:ap-northeast-1:484907484500:instance/examplestring-9c18-4aa5-b5fe-cda6f34d99a0/agent/a69f7afe-5b04-4aa8-b5ee-108a84d0f504 001ABC00000FjYIIA0 example.d2b87b8182fa@salesforce.com The following is an example package.xml that references the previous definition. User\_001ABC00000FjYIIA0\_04vZ6000000Cagl CallCenterRoutingMap 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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. ## 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
Field Name Field Type Description
isActive boolean Indicates whether the media provider can upload voice recordings (true) or not (false).

Default value is false.

providerDescription string Description of the media provider.
providerName string Name of the media provider.
## Declarative Metadata Sample Definition The following is an example of a CallCoachingMediaProvider component. true Salesforce telephony provider Dialer The following is an example package.xml that references the previous definition. \* CallCoachingMediaProvider 49.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CallOptions Specifies the API client identifier. ## Version This call is available in all API versions. ## Supported Calls All Metadata API calls. ## Fields ### client - **Type**: string - **Description**: A value that identifies an API client. ## Sample Code—Java 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"); # CampaignInfluenceModel Represents a campaign influence model used by Customizable Campaign Influence. You can’t configure Customizable Campaign Influence via the Metadata API, but you can add a campaign influence model. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This information applies only to Customizable Campaign Influence and not to [Campaign Influence 1.0](https://help.salesforce.com/s/articleView?id=sf.campaigns_influence_original.htm&language=en_US) . ## 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
Field Name Field Type Description
isActive boolean Indicates whether the model is active. Active models can generate campaign influence records. Deactivating a model deletes its campaign influence records. Custom models are always active and this field is ignored. This field is available beginning with API version 40.0.
isDefaultModel boolean Required. Indicates if the model is the default model or not. Only campaign influence records associated with the default model appear 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.

isModelLocked boolean Required. Indicates if the model is locked or not. Campaign Influence records for locked models can be manipulated only via the API.
modelDescription string A description of the influence model.
name string Required. A unique name for the model.
recordPreference picklist The value of this field determines when to create campaign influence records.
  • 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.

## 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. true true true AllRecords Primary Campaign gets 100% of the revenue share Salesforce Model The following is an example of a CampaignInfluenceModel component that creates an influence model called Last Touch, which will not be the default model. true false true This model gives 100% influence attribution to the last campaign that touched the contact. Last Touch RecordsWithAttribution ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CampaignSettings Represents an org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version CampaignSettings is available in API versions 48.0 and later. ## Fields
Field Name Field Type Description
aiAttributionTimeframe int Indicates the number of months between the opportunity creation date and an engagement activity, during which Einstein scans for influential 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.

enableAIAttribution boolean 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.
enableAccountsAsCM boolean 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.
enableAutoCampInfluenceDisabled boolean Indicates whether Salesforce creates Campaign Influence information (true) or not (false). enableCampaignInfluence2 must be false to use this setting.

The default value is false.

enableB2bmaCampaignInfluence2 boolean 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.

enableCampaignHistoryTrackEnabled boolean This read-only field is reserved for system use.
enableCampaignInfluence2 boolean 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.

enableCampaignMemberTWCF boolean This read-only field is reserved for system use.
enableEKAI boolean 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.
enableOpportunityInfluence Indicates whether Opportunity Influence campaign attribution is enabled (true) or not (false). When enabled, Opportunity Influence connects opportunity revenue to specific campaigns. The default value is false. Available with Marketing Cloud Growth and Advanced editions in API version 63.0 and higher.
enableSuppressNoValueCI2 boolean This read-only field is reserved for system use.
## Declarative Metadata Sample Definition The following is an example of the Campaign.settings file: true true true true true true true true 9 true ## Example Package Manifest The following is an example package manifest used to deploy or retrieve the Campaign settings metadata: Campaign Settings 29.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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. For API versions 65.0 and higher, deployments with a status of Finalizing Deploy, can't be cancelled. For API versions below 65.0, attempts to cancel a deployment may fail if the deployment has started committing data. Alternatively, it's possible that the cancellation will succeed, but data from the deployment is also committed. **URI** https://host/services/data/vXX.0/metadata/deployRequest/deployRequestId **Formats** JSON **HTTP Method** PATCH **Authentication** Authorization: Bearer token ## Request Body: Request Deployment Cancellation 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 Cancellation 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", "canceledBy" : null, "canceledByName" : null, "isRunTestsEnabled" : null } } When an HTTP status code of 202 (Accepted) is returned, your cancellation request is in progress or successful. # cancelDeploy() Cancels a deployment that hasn’t completed yet. ## Syntax CancelDeployResult = metadatabinding.cancelDeploy(string id) ## Usage Use the cancelDeploy() operation to cancel a deployment in your org started by the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") 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. For API versions 65.0 and higher, deployments with a status of Finalizing Deploy, can't be cancelled. For API versions below 65.0, attempts to cancel a deployment may fail if the deployment has started committing data. Alternatively, it's possible that the cancellation will succeed, but data from the deployment is also committed. This operation takes the ID of the deployment you want to cancel and returns a [CancelDeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_canceldeployresult.htm "Contains information about a deployment cancellation—whether the cancellation completed and the deployment ID.") object. When the deployment is in the queue and hasn’t started yet, calling cancelDeploy() cancels the deployment immediately. When the deployment has started and is in progress, sometimes it doesn’t get canceled immediately, so call [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call in the AsyncResult object [id](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") 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 you’re done. If the done field value is false, the cancellation is in progress. To check the cancellation status, follow these steps. 1. Call [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") using the deployment ID you obtained earlier. 2. In the returned [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") 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 you’re 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. INVALID\_ID\_FIELD with the message You cannot cancel the deployment while finalizing is in progress The specified deployment can't be canceled. Applies to API version 65.0 and later. ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") permission. Otherwise, enable the Modify All Data permission. - [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "checkDeployStatus()") ## Arguments ### id - **Type**: [string](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/primitive_data_types.htm#i1435116) - **Description**: The ID of the deployment to cancel. ## Response [CancelDeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_canceldeployresult.htm "Contains information about a deployment cancellation—whether the cancellation completed and the deployment ID.") ## Sample Code—Java 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()); } } # CancelDeployResult Contains information about a deployment cancellation—whether the cancellation completed and the deployment ID. The asynchronous metadata call [cancelDeploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_canceldeploy.htm "Cancels a deployment that hasn’t completed yet.") returns a CancelDeployResult object. ## Version Available in API version 30.0 and later. CancelDeployResult has the following properties. ## done - **Type**: boolean - **Description**: Indicates whether the deployment cancellation, which is started through cancelDeploy(), has completed (true) or not (false). When a deployment hasn’t 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. ## id - **Type**: ID - **Description**: ID of the deployment being canceled. # CareBenefitVerifySettings Represents the configuration settings for benefit verification requests. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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 | Field Name | Description | | --- | --- | | codeSetType | Field Type string Description Specifies the code set type for the benefits verification service type codes. | | defaultNpi | Field Type string Description Default National Provider Identifier to be used in the benefits verification request. | | generalPlanServiceTypeCode | Field Type string Description Service type code for the plan benefits as a whole. | | isDefault | Field Type boolean Description Indicates whether this record is the default verification service (true) or not (false). | | masterLabel | Field Type string Description Required. Name of the benefits verification service. | | organizationName | Field Type string Description Specifies the organization name for the benefits verification request service. | | serviceApexClass | Field Type string Description Apex class used to access the benefits verification service. | | serviceNamedCredential | Field Type string Description Credential used to access the benefits verification service. | | serviceTypeSourceSystem | Field Type string Description Service type code for the plan benefits as a whole. | | uriPath | Field Type string Description Link to payer endpoint. | ## Declarative Metadata Sample Definition This is an example of a CareBenefitVerifySettings component. abc true test TestApexClass test efgh Lorem ipsum dolor Code set Npi info Organization name This is an example package.xml that references the previous definition. \* CareBenefitVerifySettings \* ApexClass \* NamedCredential 52.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # CareLimitType Defines the characteristics of limits on benefit provision. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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. ## Fields | Field Name | Description | | --- | --- | | isProtected | Field Type boolean Description An auto-generated value that doesn’t impact the behavior of the metadata type. | | limitType | Field Type string Description Source of limit on benefit provision, such as a co-insurance requirement. | | masterLabel | Field Type string Description Required. Name of the limit type. | | metricType | Field Type CareLimitTypeMetricType (enumeration of type string) 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. test test Money false This is an example package.xml that references the previous definition. \* CareLimitType 52.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
Field Name Field Type Description
isActive boolean Indicates whether this configuration is active (true) or not (false).
isProtected boolean An auto-generated value that doesn’t currently impact the behavior of the metadata type.
mappedObject ProviderSearch​ObjectMapping (enumeration of type string) Required. Indicates mapped objects.

Possible values are;

  • HealthCarePractitionerFacility
  • HealthCareProvider
masterLabel string Required. Name of the care provider.
sourceField string API name of the field that is copied to the target object.
targetField string API name of the field to copy the data to.
## Declarative Metadata Sample Definition The following is an example of a CareProviderSearchConfig component. Test1\_\_c Test1\_\_c HealthcareProvider false true testlabel The following is an example package.xml that references the previous definition. HealthcareProvider.Test1\_\_c CustomField CareProviderSearchableField.Test1\_\_c CustomField Test CareProviderSearchConfig 48.0 # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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. ## Version CareRequestConfiguration components are available in API version 44.0 and later. ## Fields | Field Name | Description | | --- | --- | | careRequestRecordType | Field Type string Description Required. The record type for the care request. | | careRequestRecords | Field Type [CareRequestRecords\[\]](#CareRequestRecords) Description The list of objects you can select to configure the care request. | | careRequestType | Field Type string Description Required. The type of care request. For example, an appeal, a service request, or an admission. | | isActive | Field Type boolean 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. | ## CareRequestRecords Displays a list of objects to customize the care request. | Field Name | Description | | --- | --- | | careRequestRecord | Field Type string Description Required. The object selected to configure the care request. | ## Declarative Metadata Sample Definition This is an example of a CareRequestConfiguration component. DrugRequest CareRequestItem CareRequestDrug Drug Request false false DrugRequest This is an example package.xml that references the previous definition. Case.DrugRequest BusinessProcess \* CareRequestConfiguration CareRequest.DrugRequest CareRequestDrug.DrugRequest CareRequestItem.DrugRequest Case.DrugRequest RecordType 44.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # 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. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note 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 ### externalIdField - **Field Type**: string - **Description**: The ID of the field in the external system. ### isActive - **Field Type**: boolean - **Description**: Indicates whether this field mapping is active (true) or not (false). - **Default value**: False ### isProtected - **Field Type**: boolean - **Description**: An auto-generated value that doesn’t currently impact the behavior of the metadata type. ### masterLabel - **Field Type**: string - **Description**: Required. The name of the care system field mapping. ### role - **Field Type**: SourceSystemFieldRole (enumeration of type string) - **Description**: Required. The role the field represents. - **Possible values**: - Patient—When 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. - RemoteMonitoringDevice—Indicates 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. - RemoteMonitoringPatient—Indicates 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. - ServiceProvider—The Enrollment API uses the value of externalIdField as the provider ID. This role is used when targetObject is set to Account. - NotApplicable—This role is used when targetObject is set to CareProgram or Product, which means that there is no applicable role. ### sourceSystem - **Field Type**: string - **Description**: The system where the record originated. ### targetObject - **Field Type**: string - **Description**: The name of the Salesforce object to which the external system field is mapped. ## Declarative Metadata Sample Definition The following is an example of a CareSystemFieldMapping component. AccountNumber true false Map1 Patient Epic Account The following is an example package.xml that references the previous definition. patient CareSystemFieldMapping 49.0 # CaseSettings Represents an organization’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for details. ## File Suffix and Directory Location [CaseSettings](#meta_casesettings "Represents an organization’s 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.") values are stored in the Case.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 [CaseSettings](#meta_casesettings "Represents an organization’s 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.") is available in API version 27.0 and later. ## Fields
Field Name Field Type Description
caseAssignNotificationTemplate string Specifies the email template used for case assignment notifications. The format must be folderName/emailTemplateName.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

caseAutoProcUser boolean Indicates whether to create an automated response record after a customer’s initial email (true) or not (false).
caseCloseNotificationTemplate string Specifies the email template used for case close notifications. The format must be folderName/emailTemplateName.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

caseCommentNotificationTemplate string Specifies the email template used for case comment notifications. The format must be folderName/emailTemplateName.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

caseCreateNotificationTemplate string Specifies the email template used for case create notifications. The format must be folderName/emailTemplateName.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

caseFeedItemSettings FeedItemSettings[] Specifies the settings for feed items in feed-based case page layouts. This field is available in API version 32.0 and later.
caseFeedReadUnreadLtng boolean Indicates whether unread feed items are shown in bold in Lightning Experience (true) or not (false).
caseMergeInLightning boolean Indicates whether Case Merge is enabled in Lightning Experience (true) or not (false).
closeCaseThroughStatusChange boolean Indicates whether Closed is included in the Case Status field on case edit pages (true) or not (false).
defaultCaseFeedLayoutOn boolean Indicates whether the default Case Feed layout is used in the org (true) or not (false).
defaultCaseOwner string Specifies the default owner of a case when assignment rules fail to locate an owner.
defaultCaseOwnerType string Specifies whether the default case owner is a user or a queue.
defaultCaseUser string Specifies the user listed in the Case History related list for automated case changes from:
  • Assignment rules
  • Escalation rules
  • On-Demand Email-to-Case
  • Cases logged in the Self-Service portal

Lightning email templates aren’t packageable. We recommend using a Classic email template.

 
emailActionDefaultsHandlerClass string Use this Apex class name to provide default values for the email action.
emailToCase EmailToCaseSettings The organization's Email-to-Case settings.
enableCaseFeed boolean Indicates whether Case Feed is enabled (true) or not (false).
enableCollapseEmailThread boolean 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.
enableDraftEmails boolean Indicates whether draft emails are enabled (true) or not (false). Enabling email drafts requires that Case Feed and Email-to-Case are also enabled.
enableEarlyEscalationRuleTriggers boolean Indicates whether early triggers on escalation rules are enabled (true) or not (false).
enableEmailActionDefaultsHandler boolean Indicates whether the Email Action Default Handler setting is enabled (true) or not (false). Use this setting to select an Apex class to load a default template or to specify the default target fields for the email action.
enableEmailContactOnCasePost boolean If true, the case contact is notified by email when someone makes an externally visible post on a case in an Experience Builder site.
enableEscalateQfiToCaseInternal boolean If true, moderators can create cases from Question feed items in Chatter in your organization.
enableEscalateQfiToCaseNetworks boolean If true, moderators can create cases from Question feed items in Chatter in all Experience Builder sites where Chatter Questions is enabled.
enableExtNetworksCaseFeedEnabled boolean If true, site members can see case-related emails, comments, and updates in the case feed.
enableMultiLangSolnSrchCSS boolean Indicates whether multilingual searching for Solutions in self-service portals is enabled (true) or not (false).
enableMultiLangSolnSrchPKB boolean Indicates whether multilingual searching for public Solutions is enabled (true) or not (false).
enableMultiLangSolution boolean Indicates whether multilingual Solutions are enabled (true) or not (false).
enableNewEmailDefaultTemplate boolean 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 aren’t packageable. We recommend using a Classic email template.

enableSolutionCategory boolean Indicates whether browsing for Solutions is enabled (true) or not (false).
enableSolutionInlineCategory boolean Indicates whether using inline Solutions category breadcrumbs is enabled (true) or not (false).
enableSolutionShortSummary boolean Indicates whether Solutions summaries are enabled (true) or not (false).
enableSuggestedArticlesApplication boolean Indicates whether the Suggested Articles list appears on case pages. (true) or not (false). Is only valid if enableSuggestedSolutions=false.
enableSuggestedArticlesCustomerPortal boolean Indicates whether the Suggested Articles list appears on customer portal pages (true) or not (false). Is only valid if enableSuggestedSolutions=false.
enableSuggestedArticlesPartnerPortal boolean Indicates whether the Suggested Articles list appears on partner portal pages (true) or not (false). Is only valid if enableSuggestedSolutions=false.
enableSuggestedSolutions boolean Indicates whether the View Suggested Solutions or Find Articles button appears on case detail pages (true) or not (false). Is only valid if enableSuggestedArticlesApplication, enableSuggestedArticlesCustomerPortal, and enableSuggestedArticlesPartnerPortal=false.
escalateCaseBefore boolean Indicates whether early triggers are enabled to escalate a case (true) or not (false).
genericMessageEnabled boolean Indicates whether generic messages are enabled (true) or not (false).
keepCaseMergeRecords boolean If true, duplicate cases aren’t deleted after a case merge.
keepRecordTypeOnAssignmentRule boolean When applying assignment rules to manually created records, indicates whether to keep the existing record type (true) or to override the existing record type with the assignee’s default record type (false).
newEmailDefaultTemplateClass string Specifies the Apex class that defines the default email template for new email messages in Case Feed. This field appears only when enableNewEmailDefaultTemplate=true.

Lightning email templates aren’t packageable. We recommend using a Classic email template.

notifyContactOnCaseComment boolean Indicates whether contacts who aren’t members of your Self-Service portal can be notified when a new comment is added to a case (true) or not (false).
notifyDefaultCaseOwner boolean Indicates whether the default case owner is notified when assigned a new case (true) or not (false).
notifyOwnerOnCaseComment boolean Indicates whether the case owner is notified when a comment is added to a case (true) or not (false).
notifyOwnerOnCaseOwnerChange boolean Indicates whether the Send Notification Email checkbox on cases is automatically selected when users change a case owner to another user (true).
predictiveSupportEnabled boolean Indicates whether predictive support is enabled (true) or not (false).
showEmailAttachmentsInCase​AttachmentsRL boolean Indicates whether the case Attachments related list shows email attachments. If true, the page displays an email icon next to each attachment from an email in the Attachments related list for cases. The related list’s list view also includes a Source column that identifies the attachment’s origin. If false, email attachments aren’t displayed in the Attachments related list for cases.

This field is available in API version 40.0 and later.

showFewerCloseActions boolean Indicates whether the Save & Close button on case edit pages and the Cls link on Cases related lists are hidden (true) or shown (false).
systemUserEmail string Specifies the email address used when the default case user is the system user.
useSystemEmailAddress boolean Indicates whom case comment, case attachment, and case assignment email notifications appear to be sent from. Use 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.
useSystemUserAsDefaultCaseUser boolean 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.
visibleInCssCheckbox boolean 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.
webToCase WebToCaseSettings The organization's Web-to-Case settings.
## EmailToCaseSettings Represents an organization's Email-to-Case settings. ## Fields
Field Name Field Type Description
enableEmailToCase boolean Indicates whether Email-to-Case is enabled (true) or not (false). Note: After Email-to-Case is enabled, it can't be disabled.
enableE2CAttachmentAsFile boolean Indicates whether to save attachments sent using Email-to-Case as Salesforce Files (true) or not (false).
enableE2CDeduplicateAttachments boolean  When Email-to-Case receives an inbound email to thread to an existing case, attachments in the email that already exist on the case are not saved as new records and are instead linked to the new email (true).
enableE2CExternalServer boolean Indicates whether emails can be sent via an external service such as Gmail or Outlook, rather than the Salesforce email service (true). External outbound email services are available in Lightning Experience only.
enableE2CSourceTracking boolean Indicates whether Set Case Source to Email is enabled (true) or not (false). After you enable this setting, the Case 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.
enableHtmlEmail boolean Indicates whether HTML email is enabled (true) or not (false).
enableNewtoReadTriggers boolean 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).
enableOnDemandEmailToCase boolean Indicates whether On-Demand Email-to-Case is enabled (true) or not (false).
enableThreadIDInBody boolean 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.
enableThreadIDInSubject boolean 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.
enableThreadTokenInBody boolean Indicates whether a threading token is appended in the email body when agents send an email from a Lightning email composer (true) or not (false). This is applicable only to orgs using Lightning Threading.
enableThreadTokenInSubject boolean Indicates whether a threading token is appended in the email subject when agents send an email from a Lightning email composer (true) or not (false). This is applicable only to orgs using Lightning Threading.
notifyOwnerOnNewCaseEmail boolean Indicates whether the owner of a case receives a notification when a new email related to the case is received (true) or not (false).
overEmailLimitAction EmailToCaseOnFailureActionType (enumeration of type string) Specifies what happens to email messages that are received after an organization exceeds its daily Email-to-Case limits. Valid values are:
  • Bounce
  • Discard
  • Requeue
preQuoteSignature boolean 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).
routingAddresses EmailToCaseRoutingAddress[] The organization's Email-to-Case routing addresses and their attributes. Removing an address from this list deletes it from the target org.
replyWithNewContentOnly boolean Indicates whether previous thread content in excluded from replies, to reduce the size of outgoing emails (true) or not (false).
showGeneratedEmailCheckbox boolean Indicates whether senders are required to confirm that they reviewed emails written by Einstein (true) or not (false).
unauthorizedSenderAction EmailToCaseOnFailureActionType (enumeration of type string) Specifies what happens to email messages received from invalid senders. Valid values are:
  • Bounce
  • Discard
useEmailHeadersForThreading boolean 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).
## EmailToCaseRoutingAddress Represents an organization's Email-to-Case routing address. ## Fields
Field Name Field Type Description
addressType EmailToCaseRoutingAddressType (enumeration of type string) Specifies the type of Email-to-Case routing address. Valid values are:
  • EmailToCase—A routing address used with Email-to-Case or On-Demand Email-to-Case.
  • Outlook—A routing address used with Salesforce for Outlook to create cases from Outlook. Requires that On-Demand Email-to-Case is enabled.
authorizedSenders string Specifies the email addresses or domains from which On-Demand Email-to-Case can receive email. Include multiple entries in a comma-separated list.
caseOrigin string Specifies the default case origin for cases created through this routing address.
caseOwner string

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.

Specifying a case owner here in the routing address sets a value of defaultCaseOwner in CaseSettings.

caseOwnerType string Specifies whether the default case owner is a user or a queue.
casePriority string Specifies the default case priority for cases created through this routing address.
createTask boolean Indicates whether a task is automatically assigned to the case owner when a case is created through an email (true) or not (false).
emailAddress string Specifies the email address used to route email messages that are submitted as cases.
emailServicesAddress string 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.
fallbackQueue string Defines which queue to use when emails can’t 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.

isPermsetControlled boolean Indicates whether users’ access to the email routing address is controlled by a permission set. If true, only users with access via a permission set can use the routing address to send emails.

Available in API version 61.0 and later.

isVerified boolean 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.
newEntityRecordType string

Sets the Case Record Type used for new Cases that are created from emails sent to that specific routing address.

If not provided, Salesforce uses the org’s default Case Record Type for the user/context handling Email-to-Case. Ensure the record type exists and is active on Case.

routingFlow string Specifies the name of an Omni-Channel flow that routes cases generated in Email-to-Case.

Available in API version 56.0 and later.

routingName string Specifies the name of the Email-to-Case routing address.
saveEmailHeaders boolean Indicates whether email routing and envelope information are saved (true) or not (false).
taskStatus string 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.
## FeedItemSettings Represents an organization's feed item settings. Available in API version 32.0 and later.
Field Name Field Type Description
characterLimit int Specifies the maximum number of characters displayed for each feed item.
collapseThread boolean

Removed. Indicates whether earlier messages in an email thread are removed from email feed items (true) or not (false).

Available in API versions 27.0 to 46.0.

displayFormat FeedItemDisplayFormat (enumeration of type string) Indicates how email feed items are displayed. Valid values are:
  • Default—Blank lines in email feed items are displayed.
  • HideBlankLines—Blank lines in email feed items aren’t displayed.
feedItemType FeedItemType (enumeration of type string) The type of feed item to which the settings apply. For FeedItemSettings, the only valid feedItemType value is EmailMessageEvent.
## WebToCaseSettings Represents an organization's Web-to-Case settings. ## Fields
Field Name Field Type Description
caseOrigin string Specifies the default case origin for cases created through this web form. Applies only if enableWebToCase is set to true.
defaultResponseTemplate string 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 aren’t packageable. We recommend using a Classic email template.

enableWebToCase boolean Indicates whether Web-to-Case is enabled (true) or not (false).
## Declarative Metadata Sample Definition This code sample is an example of a case settings file. unfiled$public/SupportCaseAssignmentNotification unfiled$public/SupportCaseCloseNotification unfiled$public/SupportCaseCommentNotification unfiled$public/SupportCaseCreateNotification true admin@acme.com User admin@acme.com true false true true true false Bounce true EmailToCase user@acme.com Email Medium true support@acme.com EmailToCaseRoutingAddress1 true Not Started Outlook user@acme.com Email admin@acme.com User High OutlookRoutingAddress1 Discard true true true true true true false false true CaseTemplateController true true true false false true Web unfiled$public/SupportCaseResponse true The following is an example package.xml that references the previous definition. Case Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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. ## Fields
Field Name Field Type Description
index int Required. The order in which the custom Case Subject is generated, meaning if the social network is 0 and the social message is 1, then the subject generates as Twitter | Tweet.
textField string Specifies inbound social content added to Case Subject in case records.
type CaseSubjectParticleType (enumeration of type string) Required. Specifies the custom Case Subject format from which inbound social content appears in case records. Valid values are:
  • ProvidedString
  • Source
  • MessageType
  • SocialHandle
  • SocialNetwork
  • Sentiment
  • RealName
  • Content
  • PipeSeparator
  • ColonSeparator
  • HyphenSeparator
## Declarative Metadata Sample Definition This is a sample of a .CaseSubjectParticle file. \* CaseSubjectParticle 41.0 ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CatalogedApi Represents an API brought into API Catalog for Salesforce from an external source. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location CatalogedApi components have the suffix .catalogedApi and are stored in the catalogedApis folder. ## Version CatalogedApi components are available in API version 65.0 and later. ## Fields
Field Name Field Type Description
description string The description defined when the API is cataloged.
descriptor string The content of the API schema in JSON format.
externalSourceIdentifier string The ID of the API in the external source that it's imported from.
instances CatalogedApiInstance[] Reference to the cataloged API that this instance is specific to.
label string

Required. The API name as it appears in API Catalog.

providerType ExternalServiceRegistrationProviderType (enumeration of type string) Required. Indicates the source of the API specification registered with API Catalog.

API Catalog supports the value Anypoint for deployment and supports other values for enumeration. See information about the values in the registrationProviderType field.

type APIType (enumeration of type string)

Required. Specifies the API type. If not specified, the API type is derived based on the descriptor content. Nillable.

Values are:

  • GraphQL
  • gRPC
  • REST
## CatalogedApiInstance Represents a MuleSoft API instance brought into API Catalog for Salesforce from Anypoint Platform.
Field Name Field Type Description
accessStatus APIInstanceAccessStatus (enumeration of type string)

Required. The access status for the API instance.

Values are:

  • Approved
  • Deleted
  • NoStatus
  • NotAccessible
  • Pending
  • Rejected
  • Revoked
apiInstanceDescriptor string The content of the API schema in JSON format.
approvalType APIInstanceApprovalType (enumeration of type string)

Required. The approval type for access in Anypoint Platform.

Values are:

  • AutoApproval
  • ManualApproval
  • NoApproval
endpointType APIInstanceEndpointType (enumeration of type string)

The endpoint type to invoke the instance. Available in API version 66.0 and later.

Values are:

  • Callout
  • Discovery
label string

Required. The instance name as it appears in API Catalog.

serviceRegistration string

Required. The service registration in external services related to this API instance.

uri string

Required. The uniform resource identifier (URI) for the instance.

## Declarative Metadata Sample Definition This XML is an example of a CatalogedApi component. urn:ms:03ff2c74-d0ea-4eba-a536-36dfd2d0fdbb:api-project::petstore-engineering NoStatus {"@type":"anypointAPIInstanceDescriptor","environmentType":"SANDBOX","environmentName":"Sandbox","environmentId":"79305d19-1d89-413f-88ec-d7a8dbd1e29d","instanceId":"4051358","authenticationMethod":"NO\_AUTH","componentType":"apiInstance","instanceOrigin":"MANUAL"} NoApproval petstore-engineering PetstoreEngineeringv109C60C7C https://google.com petstore-engineering Anypoint REST # CatalogedApiArtifactVersionInfo Represents API version information in API Catalog that’s referenced by other entities. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location CatalogedApiArtifactVersionInfo components have the suffix .catalogedApiArtifactVersionInfo and are stored in the catalogedApiArtifactVersionInfos folder. ## Version CatalogedApiArtifactVersionInfo components are available in API version 65.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | releaseNotes | string | The API release notes. | | revision | int | The API revision. | | type | string | Required. The API type. | | version | string | Required. The API version. | ## Declarative Metadata Sample Definition This XML is an example of a CatalogedApiArtifactVersionInfo component. 1 API v1 # CatalogedApiVersion Represents a version of an API that is consumable in Salesforce using API Catalog. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location CatalogedApiVersion components have the suffix .catalogedApiVersion and are stored in the catalogedApiVersions folder. ## Version CatalogedApiVersion components are available in API version 65.0 and later. ## Special Access Rules ## Fields
Field Name Field Type Description
catalogedApi string Required. An API managed for consumption in Salesforce using API Catalog.
description string The description defined when the API is cataloged.
externalSourceIdentifier string The ID of the API in the external source that it's imported from.
label string

Required. The API name as it appears in API Catalog.

version string Required. The ID of the API version information.
## Declarative Metadata Sample Definition This XML is an example of a CatalogedApiVersion component. PetstoreEngineeringv109C60C7C urn:ms:03ff2c74-d0ea-4eba-a536-36dfd2d0fdbb:api-project::petstore-engineering/v1 petstore-engineering v1lwWZmDFyJYIFValk # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 | Field Name | Field Type | Description | | --- | --- | --- | | caSigned | boolean | Required. Indicates whether this certificate is signed by the issuer (true) or not (false). | | encryptedWithPlatformEncryption | boolean | Indicates whether this certificate is encrypted with Platform Encryption. | | expirationDate | dateTime | The date that this certificate expires and is no longer usable. For self-signed certificates, if keySize is 2048 bits, the expiration date is 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 certificate’s expiration date when a signed certificate chain is uploaded. The date format is YYYY-MM-DD. | | keySize | int | 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 year. Certificates with 2048-bit keys are faster than certificates with 4096-bit keys. If keySize isn’t specified when you create a certificate, the key size defaults to 2048 bits. | | masterLabel | string | 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. | | privateKeyExportable | boolean | Indicates whether this certificate’s private key is exportable. If privateKeyExportable isn’t specified when you create a certificate, its default value is true. | ## Usage The Metadata API can be used to create a self-signed or a CA-signed certificate. The .crt file’s 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](https://help.salesforce.com/apex/HTViewHelpDoc?id=security_keys_about.htm&language=en_US "HTML (New Window)") in Salesforce Help. To copy an existing certificate’s 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 doesn’t allow the import or export of the private key via the API. Using the Metadata API, you can download a CSR. After it’s 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 can’t 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 CSR—The CSR is downloadable after a CA-signed cert is created. If a signed certificate hasn’t been uploaded to that certificate, the content of the downloaded .crt file is the CSR. - Uploading a CA-Signed Certificate—To 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. true true 2017-03-19 4096 My Certificate Name true ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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 | Field Name | Field Type | Description | | --- | --- | --- | | doesExcludeFieldLabels | boolean | Indicates whether field labels are excluded from the field contents in the communication channels where this layout applies (true) or not (false). The default is false, meaning field labels are inserted. Available when Lightning Knowledge is enabled in API version 48.0 and later. | | doesExcludeFiles | boolean | Indicates whether related files are left off emails (true) or attached to emails (false). The default is false, meaning related files are attached. Available when Lightning Knowledge is enabled in API version 48.0 and later. | | enabledChannels | string\[\] | The communication channels where this layout applies. In API version 32.0 to 46.0, the only valid value is Email. When Lightning Knowledge is enabled in API version 47.0 and later, Chat, Messaging, and Social are added valid values. | | label | string | Required. The label for this configuration. | | layoutItems | [ChannelLayoutItem](#layoutItemID)\[\] | The article fields contained in the layout. The order here determines the field order. | | recordType | string | 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. | ## ChannelLayoutItem | Field Name | Field Type | Description | | --- | --- | --- | | field | string | Required. Name of the field. The format is ArticleTypeName.FieldName or, in Lightning Knowledge, KnowledgeBaseName.FieldName. | ## Declarative Metadata Sample Definition The following is an example of a ChannelLayout component. Layout for Email Knowledge.Question Knowledge.Answer Email Social Chat false true The following is an example package.xml that references the previous definition. \* ChannelLayout 41.0 # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version ChatterAnswersSettings ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | emailFollowersOnBestAnswer | boolean | Indicates whether users are notified when a best answer is selected for a question that they’re following (true) or not (false). | | emailFollowersOnReply | boolean | Indicates whether users are notified when other users reply to questions that they’re following (true) or not (false). | | emailOwnerOnPrivateReply | boolean | Indicates whether users are notified when customer support responds to their questions privately (true) or not (false). | | emailOwnerOnReply | boolean | Indicates whether users are notified when other users reply to their questions (true) or not (false). | | enableAnswerViaEmail | boolean | 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. | | enableChatterAnswers | boolean | Indicates whether the Chatter Answers feature is enabled in the organization (true) or not (false). | | enableFacebookSSO | boolean | Indicates whether users can sign in to your Chatter Answers forums with their Facebook logins (true) or not (false). To enable this feature, you must define and enable a Facebook authentication provider in your organization’s security controls and enable Auth Providers in your organization. | | enableInlinePublisher | boolean | Indicates whether users can filter search results by articles or questions before they post a question to any of your Chatter Answers forums (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. | | enableReputation | boolean | Indicates whether user reputations appear as hover text on their profile pictures (true) or not (false).  Reputation is enabled across all zones. To enable the reputation setting, you must enable Reputation in your organization. | | enableRichTextEditor | boolean | 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. | | facebookAuthProvider | string | 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. | | showInPortals | boolean | Indicates whether Chatter Answers can be added as a tab to your Customer portal or partner portal (true) or not (false). | ## Declarative Metadata Sample Definition The following is an example chatteranswers.settings metadata file: true true true true true true true true true FacebookAuthProvider true The following is an example package.xml manifest that references the ChatterAnswersSettings definitions: ChatterAnswers Settings 29.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ChatterEmailsMDSettings Represents an org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 | Field Name | Field Type | Description | | --- | --- | --- | | enableChatterDigestEmailsApiOnly | boolean | Indicates whether Chatter digests can be sent via the API, rather than according to the regular schedule, for your org (true) or not (false). | | enableChatterEmailAttachment | boolean | Indicates whether attachments can be included on posts to chatter feeds via email replies (true) or not (false). | | enableCollaborationEmail | boolean | Indicates whether collaboration email notifications can be sent (true) or not (false). | | enableDisplayAppDownloadBadges | boolean | Indicates whether iOS and Android app download badges display in Chatter notifications (true) or not (false). | | enableEmailReplyToChatter | boolean | Indicates whether users can reply to chatter notifications through an email response (true) or not (false). | | enableEmailToChatter | boolean | Indicates whether users can post to chatter feeds via email (true) or not (false). | | noQnOwnNotifyOnCaseCmt | boolean | Indicates whether a user is notified when a question is posted on their case comment (false) or not (true). | | noQnOwnNotifyOnRep | boolean | Indicates whether a user is notified when a reply is posted on their question (false) or not true. | | noQnSubNotifyOnBestR | boolean | Indicates whether a user is notified when a best reply is selected on a question they follow (false) or not (true). | | noQnSubNotifyOnRep | boolean | Indicates whether a user is notified when a reply is posted on a question they follow (false) or not (true). | ## Declarative Metadata Sample Definition The following is an example of a chatteremailmd.settings metadata file. false false true true false true false false false false ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ChatterExtension Represents the metadata used to describe a Rich Publisher App that’s integrated with the Chatter publisher. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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. xw1 ChatterExtension 41.0 Use the tag to name a specific extension (in this example, xw1), or use the wildcard (\*) symbol to retrieve all your extensions. Here’s an example of retrieved information. xwComp des xw1 h1 h2 tiger primary xwRend Lightning ## Version ChatterExtension is a new feature in API version 41.0. ## Fields | Field | Field Type | Description | | --- | --- | --- | | compositionComponent | string | Required. The composition component of the Rich Publisher App that you provide. It’s comprised of the lightning:availableForChatterExtensionComposer interface. | | description | string | Required. The description of your custom Rich Publisher App. | | extensionName | string | Required. The name of your extension. That is, your Rich Publisher App. | | headerText | string | The text to show in the header of your app composer. Header text is required for Lightning type extensions. This text can be localized. | | hoverText | string | The text to show when a user mouses over your extension’s icon. Mouse-over text is required for Lightning type extensions. This text can be localized. | | icon | string | Required. The icon to show in the Chatter publisher. Use an existing file asset id from your org. | | isProtected | boolean | An auto-generated value. It currently has no impact. | | masterLabel | string | Required. Label for the ChatterExtension object. | | renderComponent | string | Required. The rendering component of the Rich Publisher App that you provide. It’s comprised of the lightning:availableForChatterExtensionRenderer interface. | | type | ChatterExtensionType ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) | Required. Describes the type of the extension. Currently, the only value supported is Lightning. Included to allow for other possible types in the future. | ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [Integrate Your Custom Apps into the Chatter Publisher](https://developer.salesforce.com/docs/atlas.en-us.264.0.lightning.meta/lightning/components_integrate_customapps_to_publisher.htm "Integrate Your Custom Apps into the Chatter Publisher - HTML (New Window)") # ChatterSettings Represents an org’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version ChatterSettings components are available in API version 47.0 and later. ## Fields
Field Name Field Type Description
allowChatterGroupArchiving boolean Indicates whether manual and automatic group archiving are allowed on all Chatter groups (true) or aren’t allowed (false).

In Setup, allowChatterGroupArchiving equates to the Chatter setting Allow Group Archiving.

allowRecordsInChatterGroup boolean Indicates whether records can be associated with groups (true), or not (false). If groups already have record data, setting this field to false doesn’t delete it.

In Setup, allowRecordsInChatterGroup equates to the Chatter setting Allow Records in Groups.

allowSharingInChatterGroup boolean Removed. The setting of this field has no effect on the org. Available in API version 47.0 only.
enableApprovalRequest boolean Indicates whether Approvals in Chatter are enabled for the org. When the value is true, users see approval requests as posts in Chatter feeds. 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 aren’t posted to Chatter. The default value is false.

In Setup, enableApprovalRequest equates to the Chatter setting Allow Approvals.

enableCaseFeedRelativeTimestamps boolean In Case feeds, indicates whether to use relative (true) or absolute (false) date and time stamp formats on Case feed items. When the 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.

enableChatter boolean Indicates whether Chatter is enabled for your org (true) or not (false).
enableChatterEmoticons boolean Indicates whether the automatic conversion of text characters, such as :), into a graphic emoticon is allowed in Chatter (true) or isn’t allowed (false).

In Setup, enableChatter equates to the Chatter setting Allow Emoticons.

enableFeedEdit boolean Indicates whether qualified users can edit feed posts and comments (true) or not (false). Qualified users include:
  • 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.

enableFeedPinning boolean Indicates whether to allow the pinning of posts in a feed (true) or not (false). When set to true:
  • Authorized users can pin posts to the top of the feed.
  • The feed supports up to three pinned posts.
  • Pinned posts stay pinned until they’re 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.

enableFeedsDraftPosts boolean Indicates whether draft posts are automatically saved every seven seconds (true) or not (false). When set to true:
  • 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.

enableFeedsRichText boolean 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.

enableInviteCsnUsers boolean Indicates whether a licensed user can invite customers to private groups that the licensed user owns or manages (true) or not (false). When 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.

In Setup, enableInviteCsnUsers equates to the Chatter setting Allow customer invitations.

enableOutOfOfficeEnabledPref boolean 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 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.

enableRichLinkPreviewsInFeed boolean 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.

enableTodayRecsInFeed boolean Indicates whether to allow the posting of recommendations for using the Salesforce Today app in users’ feeds (true) or not (false). When 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.

unlistedGroupsEnabled boolean Indicates whether to allow the creation of unlisted groups (true) or to prevent their creation (false). When the value is set to true, users can create unlisted groups. Unlisted groups don’t 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. true true true true true true false true true false true true true The following is an example package.xml manifest that references the ChatterSettings definitions: Chatter Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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 **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": { "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. # checkDeployStatus() Checks the status of declarative metadata call deploy(). ## Syntax [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") = 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") contains true, which means that the call is completed. The [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object from the first step. 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 Code—Java See the deploy() sample code for sample usage of this call. - [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm "Deleting Components from an Organization") - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_canceldeploy.htm "cancelDeploy()") ## Arguments ### id - **Type**: ID - **Description**: ID obtained from an [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object returned by [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") or a subsequent [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") call. ### includeDetails - **Type**: boolean - **Description**: Sets the [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") object to include [DeployDetails](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") information ((true) or not (false). The default is false. Available in API version 29.0 and later. ## Response [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object is returned. Note the value in the id field, and use it for the next step. 2. Issue a [checkRetrieveStatus()](# "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") call, and pass in the id value from the [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object from the first step. Check the value of the done field of the returned [RetrieveResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm#meta_retrieveresult "The retrieve() call returns an array of RetrieveResult objects."). If it’s true, the call is completed, and you proceed to the next step. Otherwise, repeat this step to call [checkRetrieveStatus()](# "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") again until the done field is true. 3. Retrieve the zip file field and other desired fields from [RetrieveResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm#meta_retrieveresult "The retrieve() call returns an array of RetrieveResult objects."), which the final call to [checkRetrieveStatus()](# "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") after a retrieve() call to obtain the status of the retrieve operation. Instead, make calls to [checkRetrieveStatus()](# "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") only. If the retrieve operation is in progress, call checkRetrieveStatus() again until the retrieve operation is completed. The [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") call is still supported in versions API version 30.0 or earlier, but isn’t 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 can’t 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 doesn’t retrieve the zip file. After the retrieval operation is completed, another process, 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 Code—Java See the [retrieve() sample code](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm#meta_retrieve_sample_code_java) for sample usage of this call. ## Arguments ### id - **Type**: ID - **Description**: ID obtained from an [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object returned by a [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") call or a subsequent [RetrieveResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm "The retrieve() call returns an array of RetrieveResult objects.") object returned by a [checkRetrieveStatus()](#meta_checkretrievestatus "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") call. ### includeZip - **Type**: boolean - **Description**: 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, it’s deleted from the server. Set to false to check 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm "The retrieve() call returns an array of RetrieveResult objects.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Starting in API version 29.0, you no longer have to call [checkStatus()](#meta_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.") after a [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm#meta_deploy "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call to get information about deployments. Similarly, starting in API version 31.0, you no longer have to call [checkStatus()](#meta_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.") after a [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm#meta_retrieve "The retrieve() call retrieves XML file representations of components in an organization.") call. The [checkStatus()](#meta_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.") call has been replaced by [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") and [checkRetrieveStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkretrievestatus.htm "Checks the status of the declarative metadata call checkRetrieveStatus() and returns the zip file contents.") for deploy and retrieve operations respectively. ## Syntax [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.")\[\] = 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 isn’t available in API version 31.0 and later. ## Sample Code—Java See [Step 3: Walk Through the Java Sample Code](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickstart_java_sample.htm) for sample Java code using this call. ## Arguments ### ids - **Type**: ID\[\] - **Description**: Array of one or more IDs. Each ID is returned in an [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") and corresponds to a component being created, updated, deleted, deployed, or retrieved. ## Response [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.")\[\] # ChoiceList Represents the Choicelist dropdown field that’s used for pre-chat. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location ChoiceList components have the suffix .ChoiceList and are stored in the ChoiceList folder. ## Version ChoiceList components are available in API version 62 and later. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | choiceListValue | Field Type [ChoiceListValue\[\]](#ChoiceListValue) Description A list of choices to display in the choice list. | | description | Field Type string Description A description of the choice list. | | masterLabel | Field Type string Description Required. The label for the choice list. | ## ChoiceListValue Represents a choice list value in the pre-chat dropdown. ChoiceListValue is available in API version 62 or later. | Field Name | Description | | --- | --- | | embeddedServiceCustomLabels | Field Type [EmbeddedServiceCustomLabel\[\]](meta_embeddedserviceconfig.htm "Represents a setup node for creating an Embedded Service for Web deployment. This type extends the Metadata metadata type and inherits its fullName field.") Description Custom labels for the choicelist value. | | isDefaultValue | Field Type boolean Description Required. Indicates whether the choicelist value should be selected by default. | | order | Field Type int Description Required. The order of the choicelist value in the choicelist dropdown field. | | valueName | Field Type string Description Required. The value of the choicelist. | ## Declarative Metadata Sample Definition The following is an example of a Choicelist component. EM\_PreChat\_ChoiceList\_PrechatCustomFieldLabel\_133xx0000004GG1\_7741637 EM\_PreChat\_ChoiceList\_PrechatCustomFieldLabel EmbeddedMessaging true 0 Pizza EM\_PreChat\_ChoiceList\_PrechatCustomFieldLabel\_133xx0000004GG2\_5523047 EM\_PreChat\_ChoiceList\_PrechatCustomFieldLabel EmbeddedMessaging false 1 Burger Food Food Choice List The following is an example package.xml that references the previous definition. \* ChoiceList 62.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ClaimFinancialSettings Represents the configuration settings for Insurance Claim Financial Services. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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 | Field Name | Description | | --- | --- | | claimCovPendingAuthStatus | Field Type string Description Required. The status of pending financial authority for claim coverage. | | claimPendingAuthorityStatus | Field Type string Description Required. The status of pending financial authority for claim. | | clmCovPymtDtlPendAuthSts | Field Type string Description Required. The status of pending financial authority for claim coverage payment detail. | | masterLabel | Field Type string Description Required. The unique label that identifies the claim financial settings throughout the Salesforce user interface. | ## Declarative Metadata Sample Definition The following is an example of a ClaimFinancialSettings component. Pending Authority Pending Authority Pending Authority Claim Financial Settings The following is an example package.xml that references the previous definition. \* ClaimFinancialSettings 57.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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. ## 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
Field Name Description
description

Field Type: string

Description: The description about the clause category configuration.

isProtected

Field Type: boolean

Description: An auto-generated value that doesn’t impact the behavior of the metadata type. The default is false.

masterLabel

Field Type: string

Description:

Required.

A user-friendly name for ClauseCatgConfiguration, which is defined when the ClauseCatgConfiguration is created.

usageType

Field Type: ClmCategoryUsageType

Description:

Required.

The usage type of the clause category configuration.

Possible values are:
  • ContractClauseCategory
  • DisclosureCategory
## Declarative Metadata Sample Definition The following is an example of a ClauseCatgConfiguration component. This is to add description for Contract Clause Category. ContractClauseCategory false Contract Clause Cat The following is an example package.xml that references the previous definition. Pkg ClauseCatgConfiguration 57.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # CleanDataService Represents a data service that adds and updates data in standard objects. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 68.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | cleanRules | [CleanRule](#CleanRule)\[\] | Required. A list of data integration rules | | description | string | Required. A description of the data service | | masterLabel | string | Required. Label for this data service. Although this value is displayed, it’s an internal label for the data service and isn’t translated. | | matchEngine | string | Required. A key that maps to the internal data service identifier. | ## CleanRule Represents information that controls how the data service adds and updates data in an org.
Field Name Field Type Description
bulkEnabled boolean Required. If this field is set to true, Salesforce applies the data integration rule to existing records whenever the rule is updated or saved.
bypassTriggers boolean 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.
bypassWorkflow boolean 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.
description string Required. User-friendly text that describes the data integration rule.
developerName string 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. This unique name prevents conflicts with rules from other packages that have the same masterLabel.
Note

Note

Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.

fieldMappings FieldMapping[] Required. A list of FieldMapping entries for the rule.
masterLabel string Required. Label for this object. This display value is the internal label that is not translated.
matchRule string Required. An internal label for a matching rule in the data service that’s associated with the CleanRule.
sourceSobjectType string Required. A virtual object in the data service that is associated with the CleanRule. Specifying a non-existent object causes an error.
status string Required. Status of the data integration rule. Valid values are Active and Inactive.
targetSobjectType string Required. A standard object that’s the target of additions and updates specified by this CleanRule. Specifying an object that the data service does not support causes an error.
## FieldMapping Represents a mapping between fields in the data service and fields in an object in the org.
Field Name Field Type Description
developerName string 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. This unique name prevents conflicts with field mappings from other packages that have the same masterLabel.
Note

Note

Only users with View DeveloperName OR View Setup and Configuration permission can view, group, sort, and filter this field.

fieldMappingRows FieldMappingRow[] Required. A list of FieldMappingRow entries. Each entry represents a field in a standard object that maps to a field in the data service.
masterLabel string Required. Label for this object. This display value is the internal label that is not translated.
SObjectType string Required. The standard object associated with this FieldMapping. Specifying an object that the data service does not support causes an error.
## FieldMappingRow Represents the status of a CleanRule. | Field Name | Field Type | Description | | --- | --- | --- | | fieldName | string | The display name for the field represented by the FieldMappingRow. | | fieldMappingFields | [FieldMappingField](#FieldMappingField)\[\] | Required. A list of FieldMappingField entries. Each entry is a field in a standard object that maps to a field in the data service. | | mappingOperation | string | The comparison operation the data service applies when it compares the value of this FieldMappingRow to the mapped field in the object specified in SObjectType. The value of this field is AutoFill, which indicates that the data service only adds data if the object field is blank. | | SObjectType | string | The standard object for the field mapped to the FieldMappingRow. Specifying an object that the data service does not support causes an error. | ## FieldMappingField Represents a field in a standard object. A FieldMappingField maps to a FieldMappingRow entry in a data service. | Field Name | Field Type | Description | | --- | --- | --- | | dataServiceField | string | Required. A field in the data service that is mapped to this field. | | dataServiceObjectName | string | Required. An object in the data service that contains the FieldMappingRow associated with this FieldMappingField. Specifying a non-existent object causes an error. | | priority | int | 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. | ## Declarative Metadata Sample Definition The following is an example of a CleanDataService component for the lead standard object. false false false Adds data info to leads DataService\_Leads\_Enrichment DataServiceCompanyObject DataService\_Leads\_Enrichment\_InputMapping DataServiceCompanyObject Email Lead 1 Email Autofill DataServiceCompanyObject Company Lead 1 Name Autofill DataServiceInputMapping Lead DataService\_Leads\_Enrichment\_OutputMapping Lead EmployeesTotal DataServiceCompanyObject 1 NumberOfEmployees Autofill Lead Revenue DataServiceCompanyObject 1 AnnualRevenue Autofill Lead Industry DataServiceCompanyObject 1 Industry Autofill DataServiceOutputMapping Data Service Company Info for Leads DataServiceLeadAppendMatchRule DataServiceCompanyObject Active Lead Data Service Companies for Leads Data Service Companies for Leads LeadEnrichmentMatchEngine The following is an example package.xml that references the previous definition. DataService\_Leads\_Enrichment CleanDataService 38.0 ## 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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
Field Name Field Type Description
cmsConnectAsset CMSConnectAsset[] Represents CSS or JavaScript defined for the connection.
  • 0–10 for CSS
  • 0–10 for JavaScript
cmsConnectLanguage CMSConnectLanguage[] 0 to more. Represents language mappings defined for the connection.
cmsConnectPersonalization CMSConnectPersonalization[] 0 or 1. Represents personalization defined for the connection. Only for use when type is AEM.
cmsConnectResourceType CMSConnectResourceType[] 0–5. Represents JSON definitions defined for the connection.
connectionType CMSSourceConnectionType(enumeration of type string) Required. Type of authentication being used with outside system. Valid values are:
  • Public
  • Authenticated
cssScope string The class name used to prefix and scope the CSS rules.
developerName string Required. API name of the CMSConnectSource entity.
languageEnabled string Required. Valid values are:
  • Y to enable language mapping for connection.
  • N if no language mapping is needed.
masterLabel string Required. Connection name
namedCredential string Required when the connectionType is Authenticated. API name of namedCredential. Before deploying namedCredential, it must exist on the destination org.
personalizationEnabled string Required. Valid values are:
  • Y to enable personalization mapping for connection.
  • Otherwise N.
rootPath string Required. Root path.
sortOrder int Required. Defines the load order of the connection when multiple connections defined on page. The load order begins with 1.
status CMSConnectionStatus(enumeration of type string) Required. Status of connection. Valid values are:
  • ACTIVE
  • INACTIVE
type CMSConnectionSourceType(enumeration of type string) Required. The identification of the source connection system. Valid values are:
  • AEM
  • Drupal
  • WordPress
  • SDL
  • Sitecore
  • Other
websiteUrl string Required if connectionType is Public
![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Because there can be existing connections when a package comes in, there’s 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 don’t find namedCredential with developerName, then an error is generated. - If the destination isn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Because there can be existing connections when a package comes in, there’s 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.
Field Name Field Type Description
assetPath string Relative path of the asset.
assetType string

When used in Apex, this value can be sent as an enum, otherwise, this field has a type of string.

Allowed values as string

  • CSS
  • Javascript

Allowed values as enum

  • CSS
  • Javascript
sortOrder int Loading sequence on the page.
## CMSConnectLanguage CMSConnectLanguage components determine the presented language of the content.
Field Name Field Type Description
cmsLanguage string When a language placeholder is in the URL path, this value is used to replace it.
language string Salesforce supported language.

For information see https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm

## CMSConnectPersonalization CMSConnectPersonalization is used only with Adobe Experience Manager (AEM). ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Because there can be existing connections when a package comes in, there’s some INSERT or UPDATE logic to consider. If personalization isn’t 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. | Field Name | Field Type | Description | | --- | --- | --- | | connectorPage | string | The path to the JSP file that you created and installed in AEM. | | connectorPageAsset | string | The path to your Javascript file. Providing this path allows you to run scripts dynamically. | ## CMSConnectResourceType CMSConnectResourceType is for use only to define JSON connections. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Because there can be existing connections when a package comes in, there’s 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. | Field Name | Field Type | Description | | --- | --- | --- | | cmsConnectResourceDefinition | [cmsConnectResourceDefinition](#cmsConnectResourceDefinition)\[\] | 0–10 allowed per CMSConnectResourceType. | | developerName | string | API name of CMSConnectResourceType. | | masterLabel | string | Content type name. | | resourceType | string | The only allowed value is JSON. | ## CMSConnectResourceDefinition cmsConnectResourceDefinition is used to define JSON connections. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Because there can be existing connections when a package comes in, there’s 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. - 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.
Field Name Field Type Description
developerName string Required. API name of CMSConnectResourceDefinition.
masterLabel string Required. developerName of Content Item or Content List.
options int Required. Identifies whether the content from the external source is a single item or a list.

0 for Content List

1 for Content Item

payloadType string Required. The only valid value is JSON.
resourceIdPath string Relative path to ID. Required for Content Item.
resourceNamePath string Relative path to resource name. Required for Content Item.
resourcePath string Required. JSON resource path.
rootNodePath string Only for Content List and collection. Defines the initial starting path for a collection or list.
## Declarative Metadata Sample Definition The following is an example of a CMSConnectSource definition. etc/designs/capricorn/app-prefixed.min.css CSS 1 etc/designs/capricorn/w3data.js Javascript 1 en en\_US fr fr content/salesforceConnector.js content/js/capricorn/assets.js Details Details 0 JSON ID title rest/v1.1/sites/cmstry.wordpress.com/posts/{component} List List 1 JSON rest/v1.1/sites/cmstry.blog.wordpress.com/posts?number={itemsPerPage}&page={pageNumber} Posts Posts JSON Public capricorn Capricorn Y Capricorn Y content/capricorn/{language} 11 ACTIVE AEM https://public-api.wordpress.com The following is an example package.xml. NetworkA.\* CMSConnectSource 43.0 To retrieve a specific connection: NetworkA.DeveloperName CMSConnectSource 43.0 ## Usage The INSERT or UPDATE logic for the incoming information is always UPSERT. If data isn’t in the entity, then it’s 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:
Type Description
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 don’t find namedCredential with developerName, then an error is generated.
  • If the destination isn’t 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.
CMSConnectPersonalization If personalization isn’t 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.
CMSConnectResourceType If you find the developer name in the destination, then update the existing record with all details from the source.
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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [Select Components for an Outbound Change Set](https://help.salesforce.com/articleView?id=changesets_outbound_components_select.htm&type=5&language=en_US) - [View and Add Dependent Components to a Change Set](https://help.salesforce.com/articleView?id=changesets_outbound_dependencies.htm&type=5&language=en_US) - [Developer Guide: Deploying and Retrieving Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based.htm) - [Salesforce Help: Use Personalized Content in CMS Connect](https://help.salesforce.com/articleView?id=communities_cms_connect_personalization.htm&type=5&language=en_US) - [Developer Guide: Translations](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_translations.htm) # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version CodeBuilderSettings is available in API versions 58.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableCodeBuilder | boolean | 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. | ## Declarative Metadata Sample Definition The following is an example of the CodeBuilder.settings file: true ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CollectionsDashboardSettings Represents an org’s settings to add the Collections Dashboard application to an org. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version CollectionsDashboardSettings components are available in API version 56.0 and later. ## Fields | Field Name | Description | | --- | --- | | enableCollectionsDashboard | Field Type boolean 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. true Theis example shows a sample package.xml that references the previous definition. CollectionsDashboard Settings 68.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # CommerceSettings Represents settings for various Commerce features. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version Commerce Settings are available in API version 50.0 and later. ## Special Access Rules A B2B Commerce or D2C Commerce license and access to Commerce objects is required. ## Fields | Field Name | Description | | --- | --- | | buyerGroupExtensibility | Field Type boolean Description Indicates whether Buyer Group Extensibility is enabled (true) or not (false). Available in API version 64.0 and later. | | commerceAnalyticsEnabled | Field Type boolean Description Indicates whether Commerce Analytics is enabled (true) or not (false). | | commerceAppEnabled | Field Type boolean Description Indicates whether Commerce App is enabled (true) or not (false). | | commerceConciergeEnabled | Field Type boolean Description Indicates whether Commerce Concierge bots are enabled (true) or not (false). | | commerceCopilotEcomEnabled | Field Type boolean Description Indicates whether Commerce Copilot is enabled (true) or not (false). | | commerceDCSegmentEnabled | Field Type boolean Description Indicates whether the Data 360 segment integration is enabled (true) or not (false). | | commerceDiscoveryExpansion | Field Type boolean Description Indicates whether the Commerce Discovery Expansion service is enabled (true) or not (false). | | commerceEnabled | Field Type boolean Description Indicates whether Commerce is enabled (true) or not (false). | | commerceNGPEnabled | Field Type boolean Description Indicates whether NGP (“Salesforce”) Pricing is enabled (true) or not (false). | | commerceRLMSubs | Field Type boolean Description Indicates whether Commerce Revenue Lifecycle Management Subscriptions is enabled (true) or not (false). | | generateInvPerSubscription | Field Type boolean Description Indicates whether a separate invoice is generated per subscription (true) or not (false). Available in API version 64.0 and later. | | lowestUnitPriceTracking | Field Type boolean Description Indicates whether lowest unit price tracking (for EU customers) is enabled (true) or not (false). | | messagingEngagementDataKit | Field Type boolean Description Indicates whether Message Engagement data kit is enabled (true) or not (false). Message Engagement data kit is a Data 360 data model object (DMO) for a user’s engagement with a marketing message. | ## Declarative Metadata Sample Definition The following is an example of a CommerceSettings component. false false false false false false false false false false false false false The following is an example package.xml that references the previous definition. Commerce Settings 64.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version CommunitiesSettings components are available in API version 47.0 and later. ## Fields
Field Name Field Type Description
applyLoginPageTypeToEmbeddedLogin boolean When true, applies the Experience Cloud site login page type (default, Login Discovery, Experience Builder, or Visualforce) to all Embedded 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.

blockEmbeddedLoginUnknownURLRedirect boolean When true, blocks redirects to unknown URLs that are provided in the state parameter of the OAuth response during a server-side callback. 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.

canModerateAllFeedPosts boolean 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 sites. When set to false, only feed posts in sites can be moderated. Default is false.
canModerateInternalFeedPosts boolean 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.
embeddedVisualforcePages boolean 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.
enableCommunityWorkspaces boolean When true, allows admins to enable Experience Workspaces. Available in API version 48.0 and later.
enableCspContactVisibilityPref boolean 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.
enableCspNotesOnAccConPref boolean When true, allows customer users to access notes and attachments associated with accounts and contacts. Available in API version 48.0 and later.
enableEnablePRM boolean When true, allows admins to enable partner users. Available in API version 48.0 and later.
enableExternalAccHierPref boolean When true, enables the External Account Hierarchy object. Available in API version 48.0 and later.
enableGuestRecordReassignOrgPref boolean Deprecated in API version 63.0 and later. When true, allows admins to set a default owner for records created by guest users. Available in API version 48.0 through 63.0.
enableGuvSecurityOptOutPref boolean When true, guest user visibility can be turned off. Available in API version 49.0 and later.
enableInviteChatterGuestEnabled boolean When true, allows guest users to be invited to use Chatter. Available in API version 48.0 and later.
enableNetPortalUserReportOpts boolean When true, allows external users in Experience Cloud sites, with permission, to run reports. Available in API version 48.0 and later.
enableNetworksEnabled boolean When true, allows users to enable digital experiences. Available in API version 47.0 and later.
enableOotbProfExtUserOpsEnable boolean When true, allows use of standard external profiles for self-registration and user creation. Available in API version 48.0 and later.
enablePreventBadgeGuestAccess boolean When true, hides badges from guest users in Experience Builder sites. Available in API version 53.0 and later.
enablePowerCustomerCaseStatus boolean When true, allows users with Customer Community Plus licenses to change case status. Available in API version 48.0 and later.
enablePRMAccRelPref boolean When true, enables Account Relationship object and Account Relationship Data Sharing Rule setup options. Available in API version 48.0 and later.
enableRelaxPartnerAccountFieldPref boolean When true, allows editing for partner account fields on and opportunities and leads. Available in API version 48.0 and later.
enableUnsupportedBrowserModalPref boolean When true, warnings about unsupported browsers are displayed in Experience Cloud sites. Available in API version 48.0 and later.
enableUsernameUniqForOrgPref boolean When true, username uniqueness is set at the org level. Available in API version 48.0 and later.
## Declarative Metadata Sample Definition The following is an example of a CommunitiesSettings component. true true The following is an example package.xml that references the previous definition. Communities Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. ## Fields ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. | Field Name | Field Type | Description | | --- | --- | --- | | active | boolean | Indicates whether the zone is active (true) or not (false). | | chatterAnswersFacebookSsoUrl | string | (Read only) The Facebook sign-on URL, which is based on the Facebook authentication provider selected in your Chatter Answers settings. This field is available only if Chatter Answers and Facebook Single Sign-On for Chatter Answers are enabled. | | communityFeedPage | string | The Visualforce page that hosts the zone’s feeds. This field is available when Chatter Answers is enabled in the organization. | | description | string | The description of the zone. | | emailFooterDocument | string | The text or HTML file that incorporates your organization’s branding into the footer of email notifications. This field is available when Chatter Answers is enabled in the organization. | | emailHeaderDocument | string | The text or HTML file that incorporates your organization’s branding into the header of email notifications. This field is available when Chatter Answers is enabled in the organization. | | emailNotificationUrl | string | The URL that’s 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. | | enableChatterAnswers | boolean | Indicates whether the zone has Chatter Answers enabled (true) or not (false). This field is available when Chatter Answers is enabled in the organization. | | enablePrivateQuestions | boolean | 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. | | expertsGroup | string | 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. | | portal | string | The name of the portal in which to display the zone. | | portalEmailNotificationUrl | string | The portal URL that’s 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. | | reputationLevels | [ReputationLevels](#reputationLevels) | The fields that define the points and name of each reputation level you define. You can create up to 25 reputation levels per zone. | | showInPortal | boolean | Indicates whether the zone is available to all portals (true) or not available to any portals (false). | | site | string | The name of the site for the zone. This field is available when Chatter Answers is enabled in the organization. | ## ReputationLevels Represents the points and reputation label that displays on hover over a user’s photo in the feed. | Field Name | Field Type | Description | | --- | --- | --- | | chatterAnswersReputationLevels | [ChatterAnswersReputationLevel](#ChatterAnswersreputationLevels) \[\] | Contains the name and value pair that describes the reputation level for Chatter Answers. Available in API version 28.0 and later. | | ideaReputationLevels | [IdeaReputationLevel](#IdeasreputationLevels) | Contains the name and value pair that describes the reputation for Ideas. Available in API version 28.0 and later. | ## ChatterAnswersReputationLevel Represents the reputation name and the number of points for that level for Chatter Answers. | Field Name | Field Type | Description | | --- | --- | --- | | name | string | The name of the reputation level, for example, “Expert.” | | value | int | The minimum number of points for the reputation level. | ## IdeaReputationLevel Represents the reputation name and the number of points for that level for Ideas. Available in API version 28.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | name | string | The name of the reputation level, for example, “Expert.” | | value | int | The minimum number of points for the reputation level. | ## Declarative Metadata Sample Definition The following is the definition of a community (zone) component: true communityWithHeaderAndFooter\_main Metadata Test sampleFolder/emailFooter.html sampleFolder/emailHeader.html true true CommunityExperts Customer Portal http://yourURL Newbie 0 Smartie 500 Pro 2000 All Star 5000 Observer 0 Contributor 100 Influencer 400 Thought Leader 1500 true ChatterAnswersSite ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CommunityTemplateDefinition Represents the definition of an Experience Builder site template. This type extends the Metadata metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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. ## Special Access Rules This type is available only if Salesforce Digital Experiences is enabled in your org. ## Fields
Field Name Field Type Description
baseTemplate CommunityBase​Template (enumeration of type string) 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.
bundlesInfo CommunityTemplateBundleInfo[] The list of preview images and feature highlights of this CommunityTemplateDefinition.
category CommunityTemplate​Category (enumeration of type string) Required. The optimized use case of this CommunityTemplateDefinition. Valid values are:
  • Commerce
  • IT
  • Marketing
  • Sales
  • Service
defaultBrandingSet string 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.

defaultThemeDefinition string Required. The assigned theme definition for this CommunityTemplateDefinition.
description string The optional description text of this CommunityTemplateDefinition.
enableExtendedCleanUp​OnDelete boolean False by default. Determines if deleting this CommunityTemplateDefinition attempts to delete other directly or indirectly referenced objects automatically, for example, CommunityThemeDefinition, Flexipage, or StaticResource. Values are true or false.
masterLabel string Required. The label for this CommunityTemplateDefinition, which displays in Setup.
navigationLinkSet NavigationLinkSet The navigation menu associated with this CommunityTemplateDefinition. 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 versions 47.0 and later, use NavigationMenu.
pageSetting CommunityTemplatePageSetting[] The list of FlexiPage of this CommunityTemplateDefinition.
publisher string 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.

## CommunityTemplateBundleInfo
Field Name Field Type Description
description string The optional description text of its CommunityTemplateBundleInfo.
image string Required only when the type is PreviewImage, otherwise this field is optional. A preview image for this CommunityTemplateDefinition.
order int Required. An integer specifying the position of this CommunityTemplateBundleInfo relative to others of the same type within 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.
title string Required. The title of this CommunityTemplateBundleInfo to use in code.
type CommunityTemplate​BundleInfoType (enumeration of type string) Required. Stores descriptive information about the template that’s included in the export. The template powers the interface of the Experience Creation Wizard. Valid values are:
  • Highlight—This CommunityTemplateBundleInfo is used as a highlighted feature. Up to 4 are supported.
  • PreviewImage—This CommunityTemplateBundleInfo is used as a preview image. Up to 3 are supported.
## CommunityTemplatePageSetting
Field Name Field Type Description
page string Required. The list of FlexiPage of this CommunityTemplateDefinition.
themeLayout string Required. The name of the FlexiPage for the theme layout.

This field is available in API version 39.0 and later.

## Declarative Metadata Sample Definition The following is an example of a CommunityTemplateDefinition component. c Feature Description 1 Feature Heading Highlight siteAsset\_2dbe594eb6794173af78da264cd6a4a7 1 Preview Image PreviewImage Sales communityTemplate This is an Experience Builder template true communityTemplate Topics 0 true ShowMoreTopics NavigationalTopic communityTemplate\_Report\_List communityTemplate\_themeLayout\_Default communityTemplate\_Topic\_Catalog communityTemplate\_themeLayout\_Default communityTemplate\_Check\_Password communityTemplate\_themeLayout\_Login communityTemplate\_Error communityTemplate\_themeLayout\_Default communityTemplate\_User\_Settings communityTemplate\_themeLayout\_Default communityTemplate\_Login communityTemplate\_themeLayout\_Login communityTemplate\_Stream\_List communityTemplate\_themeLayout\_Default communityTemplate\_Sfdc\_Page communityTemplate\_themeLayout\_Default communityTemplate\_Group\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Report\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_Register communityTemplate\_themeLayout\_Login communityTemplate\_User\_Profile communityTemplate\_themeLayout\_Default communityTemplate\_Case\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Stream\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_Dashboard\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Group\_List communityTemplate\_themeLayout\_Default communityTemplate\_Canvasapp\_Page communityTemplate\_themeLayout\_Default communityTemplate\_Login\_Error communityTemplate\_themeLayout\_Login communityTemplate\_Create\_Record communityTemplate\_themeLayout\_Default communityTemplate\_Group\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_Search communityTemplate\_themeLayout\_Default communityTemplate\_File\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Case\_List communityTemplate\_themeLayout\_Default communityTemplate\_User\_List communityTemplate\_themeLayout\_Default communityTemplate\_File\_List communityTemplate\_themeLayout\_Default communityTemplate\_Question\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Dashboard\_List communityTemplate\_themeLayout\_Default communityTemplate\_Related\_Record\_List communityTemplate\_themeLayout\_Default communityTemplate\_File\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_Record\_List communityTemplate\_themeLayout\_Default communityTemplate\_Forgot\_Password communityTemplate\_themeLayout\_Login communityTemplate\_Home communityTemplate\_themeLayout\_Default communityTemplate\_Dashboard\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_Account\_Management communityTemplate\_themeLayout\_Default communityTemplate\_Case\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_User\_Related\_List communityTemplate\_themeLayout\_Default communityTemplate\_Stream\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Topic\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Messages communityTemplate\_themeLayout\_Default communityTemplate\_Report\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Record\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Feed\_Detail communityTemplate\_themeLayout\_Default communityTemplate\_Contact\_Support communityTemplate\_themeLayout\_Default The following is an example package.xml that references the previous definition. MyTemplate CommunityTemplateDefinition 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
Field Name Field Type Description
bundlesInfo CommunityThemeBundleInfo[] 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
customThemeLayoutType CommunityCustomThemeLayoutType[] The list of custom theme layout types available to the theme layout.
defaultBrandingSet string 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.
description string The optional description text of this CommunityThemeDefinition.
enableExtendedCleanUp​OnDelete boolean 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.
masterLabel string Required. The label for this CommunityThemeDefinition, which displays in Setup.
publisher string 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.

themeRouteOverride CommunityThemeRouteOverride[] List of theme layout type overrides for flexipages (currently only for home). Available in API version 44.0 and later.
themeSetting CommunityTheme Setting [] Required. The list of settings for this CommunityThemeDefinition.
## CommunityThemeBundleInfo
Field Name Field Type Description
description string The optional description text of its CommunityThemeBundleInfo.
image string Required only when the type is PreviewImage, otherwise this field is optional. A preview image for this CommunityThemeDefinition.
order int Required. An integer specifying the position of this CommunityThemeBundleInfo relative to others of the same type within its CommunityThemeDefinition. 1 is the first position, 3 is the maximum position for PreviewImage type, and 4 is the maximum position for the Highlight type.
title string Required. The title of this CommunityThemeBundleInfo to use in code.
type CommunityTemplate​BundleInfoType (enumeration of type string) Required. Stores descriptive information about the theme that is included in the export. Valid values are:
  • Highlight—This CommunityThemeBundleInfo is used as a highlighted feature. Up to 4 are supported.
  • PreviewImage—This CommunityThemeBundleInfo is used as a preview image. Up to 3 are supported.
## CommunityCustomThemeLayoutType | Field Name | Field Type | Description | | --- | --- | --- | | description | string | The description of the custom theme layout type. | | label | string | Required. The name of the custom theme layout type. The values Inner, Home, and Login are reserved. | ## CommunityThemeRouteOverride
Field Name Field Type Description
customThemeLayoutType string Required when themeLayoutType isn’t specified. Provides the custom theme layout type associated with the theme layout. This field and themeLayoutType are mutually exclusive; you can’t specify both.
pageAttributes string Required. Specifies the attributes of the site page for which the default theme layout type is overridden. The only valid value is {"PageName":"Home"}.
pageType string

Required. Specifies the type of the site page for which the default theme layout type is overridden. The only valid value is comm__standardPage.

themeLayoutType CommunityTheme​LayoutType (enumeration of type string) Required if customThemeLayoutType isn’t specified. Provides the default theme layout type associated with the theme layout. Valid values are Inner, Home, or Login. This field and customThemeLayoutType are mutually exclusive; you can’t specify both.
## CommunityTheme Setting | Field Name | Field Type | Description | | --- | --- | --- | | customThemeLayoutType | string | Required when themeLayoutType isn’t specified. The custom theme layout type associated with the theme layout. This field and themeLayoutType are mutually exclusive; you can’t specify both. | | themeLayout | string | Required. The configuration and layout for this theme. | | themeLayoutType | CommunityTheme​LayoutType ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) | Required when customThemeLayoutType isn’t specified. The default theme layout type associated with the theme layout. Valid values are Inner, Home, or Login. This field and customThemeLayoutType are mutually exclusive; you can’t specify both. | ## Declarative Metadata Sample Definition The following is an example of a CommunityThemeDefinition component. Batman Feature1 description 1 Batman Feature1 Highlight siteAsset\_d90e2d5ce4cf4d8899e233c051091246 1 siteAsset\_d90e2d5ce4cf4d8899e233c051091246 PreviewImage Batman Batman theme true Batman {"PageName":"Home"} comm\_\_standardPage Home Batman\_themeLayout\_Login Login Batman\_themeLayout\_Home Home Batman\_themeLayout\_Default Inner The following is an example package.xml that references the previous definition. Batman BrandingSet Batman CommunityThemeDefinition Batman\_themeLayout\_Default Batman\_themeLayout\_Home Batman\_themeLayout\_Login FlexiPage siteAsset\_d90e2d5ce4cf4d8899e233c051091246 StaticResource 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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 record’s 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: - text area - long text area - rich text area - multi-select picklist For more information on compact layouts, see [Compact Layouts](https://help.salesforce.com/s/articleView?id=platform.compact_layout_overview.htm&type=5&language=en_US "HTML (New Window)") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") 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 | Field Name | Field Type | Description | | --- | --- | --- | | fields | string | The fields assigned to the compact layout. Their order represents the prioritization given to them when defining the compact layout. | | label | string | Label that represents the object throughout the Salesforce user interface. | ## Declarative Metadata Sample Definition The following is an example of a CompactLayout component: Accept Default Clone Default Delete Default Edit Default List Default New Default Tab Default View Default testCompactLayout textfield\_\_c testCompactLayoutLabel SYSTEM Deployed false false false false textfield\_\_c false textfield 255 false Text false customObj customObj Name Text customObjs RT1 true RT1 testCompactLayout RT2 true RT2 ReadWrite ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). - [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_businessprocess.htm "BusinessProcess") - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customfield.htm "CustomField") # CompanySettings Represents global settings that affect multiple features in your organization. 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version Company Profile Settings are available in API version 27.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableCustomFiscalYear | boolean | 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, the custom fiscal period is used. If false (default), standard periods are used. Available in API version 47.0 and later. | | fiscalYear | [FiscalYearSetting](#CompanyProfileSettingsFiscalYear) | The organization’s fiscal year setting based on year and start month. Not available if Custom Fiscal Year or Forecasts (Classic) 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 organization’s fiscal year setting.
Field Field Type Description
fiscalYearNameBasedOn string This field is used to determine the fiscal year name. Valid values are endingMonth or startingMonth. For example, if 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.
startMonth string The month on which the fiscal year is based.
## 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. endingMonth January ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### Important Connected apps creation is restricted as of Spring ‘26. You can use existing connected apps during and after Spring ‘26. However, we recommend using [external client apps](https://help.salesforce.com/s/articleView?id=xcloud.external_client_apps.htm&language=en_US) instead. If you must continue creating connected apps, contact Salesforce Support. See [New connected apps can no longer be created in Spring ‘26](https://help.salesforce.com/s/articleView?id=005228017&type=1&language=en_US) for more details. ## 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
Field Name Field Type Description
attributes canvasConfig A custom attribute of the connected app.
AppCanvasConfig The configuration options of the connected app if it's exposed as a canvas app.
contactEmail string Required. The email address that Salesforce uses to contact you or your support team.
contactPhone string The phone number for Salesforce to use to contact you.
description string An optional description for your app.
iconUrl string Reserved for future use.
infoUrl string An optional URL for a web page with more information about your app.
ipRanges ConnectedAppIpRange[] Specifies the ranges of IP addresses that can access the app without requiring the user to authenticate with the connected app.
label string Required. The name of the app.
logoUrl string An optional logo for the app. The logo appears with the app’s entry in the list of apps and on the consent page the user sees when 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.
mobileStartUrl string 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 is sent to the app’s default start page after authentication completes. If the connected app that you’re creating is a canvas app, then you can leave this field blank. The Canvas App URL field contains the URL that gets called for the connected app.
oauthConfig connectedAppOauthConfig Specifies how your app communicates with Salesforce.
oauthPolicy ConnectedAppOauthPolicy Specifies OAuth access policies associated with your connected app. Available in API version 49.0 and later.
permissionSetName string 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 can’t 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.

plugin string The name of a custom Apex class that extends Auth.ConnectedAppPlugin to customize the behavior of the app.
pluginExecutionUser string Specifies the user to run the plugin as. If the user isn’t authorized to use the connected app, use the authorize method. See the 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 don’t want to specify a user, you can leave this field empty.

To use this field in an org, the ConAppPluginExecuteAsUser setting must be enabled.

profileName string[] 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 can’t enter the same profile name more than one time for each connected app.

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.

samlConfig ConnectedAppSamlConfig Controls how the app uses single sign-on.
sessionPolicy ConnectedAppSessionPolicy Specifies a connected app’s session policies. Available in API version 49.0 and later.
startUrl string If the app isn’t accessed from a mobile device, users are directed to this URL after they've authenticated. If you don't give a URL, the user is sent to the app’s 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 you’re 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. Customize these values to a specific service provider. | Field Name | Field Type | Description | | --- | --- | --- | | formula | string | Required. The value of the attribute. | | key | string | Required. The attribute's identifier. | ## ConnectedAppCanvasConfig Represents the configuration options of the connected app if it's exposed as a canvas app.
Field Name Field Type Description
accessMethod AccessMethod (enumeration of type string) Required. Indicates how the canvas app initiates the OAuth authentication flow. The valid values are:
  • Get—OAuth authentication is used, and the user is prompted to allow the third-party application to access their information. When you use this access method, the canvas app must initiate the OAuth authentication flow.
  • Post—OAuth authentication is used, but when the administrator installs the canvas app, they implicitly allow access for users. Therefore, the user isn’t 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.
canvasUrl string Required. The URL of the third-party app that's exposed as a canvas app.
lifecycleClass string 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.

locations CanvasLocationOptions (enumeration of type string)[] Indicates where the canvas app can appear to the user. The valid values are:
  • Aura—The canvas app can appear in a custom Lightning component.
  • AppLauncher—Reserved for future use.
  • Chatter—The canvas app can appear in the app navigation list on the Chatter tab in Salesforce Classic.
  • ChatterFeed—The canvas app can appear as a Chatter feed item.
  • MobileNav—The canvas app can appear in a mobile card in the Salesforce mobile app. Available in API version 31.0 and later.
  • None—The canvas app can appear only in the Canvas App Previewer.
  • OpenCTI—The canvas app can appear in the call control tool in Salesforce Classic.
  • PageLayout—The 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.
  • Publisher—The canvas app can appear as a global action.
  • ServiceDesk—The canvas app can appear in the footer or sidebars of a console in Salesforce Classic.
  • UserProfile—Reserved for future use.
  • Visualforce—The canvas app can appear on a Visualforce page.
options CanvasOptions (enumeration of type string)[] 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:
  • HideShare—The Share button is hidden in the publisher for the related canvas app. Available in API version 30.0 and later.
  • HideHeader—The header is hidden in the publisher for the related canvas app. Available in API version 30.0 and later.
  • PersonalEnabled—End users can install the app as a canvas personal app. Available in API version 32.0 and later.
samlInitiationMethod SamlInitiationMethod (enumeration of type string) If you're using SAML single sign-on (SSO), indicates which provider initiates the SSO flow.
  • IdpInitiated—Identity provider initiated. Salesforce makes the initial request to start the SSO flow.
  • SpInitiated—Service provider initiated. The canvas app starts the SSO flow after it's invoked.
  • None—The 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. | Field Name | Field Type | Description | | --- | --- | --- | | description | string | 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. | | end | string | Required. The last address in the IP range, inclusive. | | start | string | Required. The first address in the IP range, inclusive. | ## ConnectedAppOauthConfig Represents the field names that configure how your connected app communicates with Salesforce.
Field Name Field Type Description
assetTokenConfig connectedAppOauthAssetToken The OAuth asset token configuration for the connected app OAuth settings. Available in API version 49.0 and later.
callbackUrl string Required. The endpoint that Salesforce calls back to your connected app during OAuth. It’s the OAuth redirect_uri.
certificate string The PEM-encoded certificate string, if the app uses a certificate.
consumerKey string 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 field’s value only during creation. After you define and save the value, it can’t be edited. The value must be alphanumeric, can’t contain special characters or spaces, and must be between 8–256 characters. Consumer keys must be globally unique.

consumerSecret string 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. 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 can’t be edited. When set, the value isn’t 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.

idTokenConfig ConnectedAppOauthIdToken Specifies the ID token configuration for the connected app OAuth settings. Available in API version 43.0 and later.
isAdminApproved boolean 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 don’t have to approve the app before they can access it. Manage profiles for the app by editing each profile’s Connected App Access list. Manage permission sets for the app by editing each permission set’s Assigned Connected App list. This setting isn’t 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.

isClientCredentialEnabled boolean 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 can’t use the client credentials flow.

Available in API version 56.0 and later.

isCodeCredentialEnabled boolean Determines whether the app can use the Authorization Code and Credentials Flow to provide identity services to headless, off-platform 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.

This field is available in API version 57.0 and later.

isCodeCredentialPostOnly boolean For the Authorization Code and Credentials Flow, determines whether the user’s credentials must be sent in the body of the initial HTTPS POST 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 user’s credentials must be included in the POST body. The default value is false.

This field is available in API version 57.0 and later.

isConsumerSecretOptional boolean If set to false (default), the connected app’s client secret is required in exchange for an access token in the OAuth 2.0 web server flow.

If the client app can’t keep the client secret confidential and it must use the web server flow, set to true. A client secret is still generated 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.

isIntrospectAllTokens boolean 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 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.

isNamedUserJwtEnabled boolean If set to true, the connected app is enabled to issue JSON Web Token (JWT)-based access tokens.

This field is generally available in API version 59.0 and later.

isPkceRequired boolean Determines whether the Proof Key for Code Exchange (PKCE) extension is required for variations of the OAuth 2.0 authorization code flow configured for the connected app, including the web server flow and Authorization Code and Credentials Flow. For public client apps that can’t 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 don’t implement it fail. If set to false, you can still implement PKCE but it isn’t required. The default value is false.

This field is available in API version 59.0 and later.

isRefreshTokenRotationEnabled boolean 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 automatically invalidated. If a user tries to use a previous refresh token that’s 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.

isSecretRequiredForRefreshToken boolean If set to true (default), the app’s 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.

Select this option for web-server based apps that can protect client secrets. For apps that can’t protect client secrets, such as mobile apps or apps installed on a user’s computer, we recommend against selecting this option. Available in API version 51.0 and later.

isSecretRequiredForTokenExchange boolean If set to true, the connected app must include its consumer secret (client_secret) in the token request during the OAuth 2.0 token 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 don’t include the consumer secret.

This field is available in API version 60.0 and later.

isTokenExchangeEnabled boolean 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.

oauthClientCredentialUser string 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.

Available in API version 56.0 and later.

scopes ConnectedAppOauthAccessScope (enumeration of type string)[] The permissions given by the user running the connected app. When deploying metadata, valid values are:
  • Basic—Allows access to your identity URL service (the same behavior as deploying Address, Email, Phone, and Profile).
  • Api—Allows access to the logged-in user's account over the APIs.
  • Web—Allows use of the access_token on the web. This usage also includes visualforce, allowing access to Visualforce pages.
  • Full—Allows access to all data accessible by the logged-in user.
  • Chatter—Allows access to only the Connect REST API resources.
  • CustomApplications—Provides access to custom applications, such as those using Visualforce.
  • RefreshToken—Allows a refresh token to be returned if you’re eligible to receive one (the same behavior as deploying OfflineAccess).
  • OpenID—Allows access to the logged-in user's unique identifier for OpenID Connect apps.
  • Profile—Allows access to the logged-in user's profile (the same behavior as deploying Basic).
  • Email—Allows access to the logged-in user's email address (the same behavior as deploying Basic).
  • Address—Allows access to the logged-in user's street address (the same behavior as deploying Basic).
  • Phone—Allows access to the logged-in user's phone number value (the same behavior as deploying Basic).
  • OfflineAccess—Allows 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).
  • CustomPermissions—Allows access to the custom permissions in an organization associated with the connected app and shows whether the current user has each permission enabled.
  • Wave—Allows access to the Analytics REST API resources. Available in API version 35.0 and later.
  • Eclair—Allows access to the Analytics REST API Charts Geodata resource. Available in API version 35.0 and later.
  • Pardot—Allows 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.
  • Lightning—Allows 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.
  • Content—Allows 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.
  • CDPIngest—Allows access to Data Cloud ingest API services. Customers use these API services to upload and maintain external datasets in the Data 360. Available in API version 52.0 and later.
  • Chatbot—Allows access to Einstein Bot API services. Available in API version 54.0 and later.
  • ForgotPassword—Allows 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.
  • UserRegistration—Allows 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.
  • PwdlessLogin—Allows 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:

  • Api—Allows access to the logged-in user’s account over the APIs.
  • Basic—Allows access to the user’s identity URL service, and includes Address, Email, Phone, and Profile.
  • Chatter—Allows access to only the Connect REST API resources.
  • CustomApplications—Allows access to custom applications, such as those using Visualforce.
  • Full—Allows access to all data accessible by the logged-in user.
  • OpenID—Allows access to the logged-in user's unique identifier for OpenID Connect apps.
  • CDPIngest—Allows access to Data Cloud ingest API services. Customers use these API services to upload and maintain external datasets in the Data 360. Available in API version 52.0 and later.
  • Pardot—Allows 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.
  • Lightning—Allows 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.
  • Content—Allows 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.
  • RefreshToken—Allows a refresh token to be returned if you’re eligible to receive one and is synonymous with allowing OfflineAccess.
  • Wave—Allows access to the Analytics REST API resources. Available in API version 35.0 and later.
  • Eclair—Allows access to the Analytics REST API Charts Geodata resource. Available in API version 35.0 and later.
  • Web—Allows usage of the access_token on the web. This usage also includes visualforce, allowing access to Visualforce pages.
  • Chatbot—Allows access to Einstein Bot API services. Available in API version 54.0 and later.
  • ForgotPassword—Allows 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.
  • UserRegistration—Allows 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.
  • PwdlessLogin—Allows 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.
singleLogoutUrl string The single logout endpoint. This URL is the endpoint where Salesforce sends a logout request when users log out of Salesforce.
## ConnectedAppOauthAssetToken Specifies an OAuth asset token configuration for the connected app OAuth settings. Available in API version 49.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | assetAudiences | string | Required. The audience claim associated with the asset token payload. This claim identifies who the JWT is intended for. Value is an array of case-sensitive strings, each containing a StringOrURI value. An audience is specified for each intended consumer of the asset token. | | assetIncludeAttributes | boolean | 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 aren’t included. | | assetIncludeCustomPerms | boolean | 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 aren’t included. | | assetSigningCertId | string | Required. The ID of the JWT certificate’s signing secret. The certificate size can’t exceed 4 KB. If it does, try using a DER encoded file to reduce the size. | | assetValidityPeriod | int | Required. The asset token’s 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. | ## ConnectedAppOauthIdToken Specifies the ID token configuration for the connected app OAuth settings. Available in API version 43.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | idTokenAudience | string | 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 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. | | idTokenIncludeAttributes | boolean | Indicates whether attributes are included in the ID token. | | idTokenIncludeCustomPerms | boolean | Indicates whether custom permissions are included in the ID token. | | idTokenIncludeStandardClaims | boolean | Indicates whether standard claims about the authentication event are included in the ID token. | | idTokenValidity | int | The length of time that the ID token is valid for after it’s issued. The value can be from 1 to 720 minutes. The default is 2 minutes. | ## ConnectedAppOauthPolicy Specifies OAuth access policies for the connected app. Available in API version 49.0 and later.
Field Name Field Type Description
ipRelaxation string Required. Specifies whether a user’s access to the connected app is restricted by IP ranges. Valid options are:
  • ENFORCE (default)—Enforces the IP restrictions configured for the org, such as the IP ranges assigned to a user profile.
  • BYPASS_2FACTOR—Allows a user running the app to bypass the org’s 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 doesn’t 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.
  • BYPASS—Allows a user to run this app without org IP restrictions.
  • ENFORCE_RELAXREFRESH—Enforces 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.
refreshTokenPolicy string 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 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 doesn’t affect a user’s current session. Refresh tokens are required only when a user’s session has expired or isn’t 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 isn’t 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:

  • zero—The refresh token is invalid immediately. The user can use the current session (access token) already issued, but can’t obtain a new session when the access token expires.
  • infinite—The refresh token is used indefinitely, unless revoked by the user or Salesforce admin. Default setting.
  • specific_lifetime:number:HOURS, DAYS, MONTHS—The 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, MONTHS—The refresh token is valid as long as it’s been used within the specified amount of time. For example, if set to specific_inactivity:7:DAYS, and the refresh token isn’t exchanged for a new session within seven days, the next attempt to use the token fails. The expired token can’t 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.
singleLogoutUrl string If single logout is enabled, specify the single logout URL. Salesforce sends logout requests to this URL when users log out of Salesforce. The single logout URL must be an absolute URL starting with https://.
## ConnectedAppSamlConfig Specifies how an app uses single sign-on.
Field Name Field Type Description
acsUrl string Required. The assertion consumer service URL from the service provider.
certificate string The PEM-encoded certificate string, if the app uses a certificate.
encryptionCertificate string The name of the certificate to use for encrypting SAML assertions to the service provider. This certificate is saved in the organization's Certificate and Key Management list. Available in API version 30.0 and later.
encryptionType

SamlEncryptionType

(enumeration of type string)
When Salesforce is the identity provider, the SAML configuration can specify the encryption method used for encrypting SAML assertions to the service provider. The service provider detects the encryption method in the SAML assertion for decryption. Valid values are:
  • AES_128—128–bit key
  • AES_256—256–bit key
Available in API version 30.0 and later.
entityUrl string Required. The entity ID from your service provider.
issuer string 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.
samlIdpSLOBindingEnum SamlIdpSLOBinding (enumeration of type string) The SAML HTTP binding type from the service provider used for single logout. Available in API version 40.0 and later. Valid values are:
  • PostBinding
  • RedirectBinding
samlNameIdFormat SamlNameIdFormatType (enumeration of type string) 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:
  • Unspecified (default)—No format given.
  • EmailAddress—Used if the subject type is the user's name or a federation ID (an ID internal to the SP).
  • Persistent—Used with the user ID and persistent ID subject types.
  • Transient—Used when the subject type is a custom attribute and can change every time the user logs in.
samlSigningAlgoType SamlSigningAlgoType (enumeration of type string) Indicates the signing algorithm applied to SAML requests and responses when Salesforce is the identity provider. The selected signing algorithm 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
samlSloUrl string The SAML single-logout endpoint of the connected app service provider (SP). This endpoint is where SAML LogoutRequests and LogoutResponses are sent when users log out of Salesforce. The SP provides this endpoint. Available in API version 40.0 and later.
samlSubjectCustomAttr string If the samlSubjectType is CustomAttr, include that custom value here; otherwise, leave empty. Available in API version 29.0 and later.
samlSubjectType SamlSubjectType (enumeration of type string) Required. The single sign-on identifier for the user. Valid values are:
  • Username—The user's Salesforce name.
  • FederationId—The user's identifier at the service provider. Get this value from the service provider.
  • UserId—The user's 15-character Salesforce identifier.
  • PersistentID—A persistent opaque identifier that is specific to the identity provider and a service provider.
  • CustomAttr—The identifier is taken from a custom field value in samlSubjectCustomAttr.
## ConnectedAppSessionPolicy Specifies the configuration options for a connected app’s session policies. Use these policies to define how long a user’s 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.
Field Name Field Type Description
policyAction string If the High Assurance session security level is applied to the connected app, specify associated high assurance action. Valid values are:
  • Block—Makes the connected app inaccessible to your org’s users. Blocking an app ends all current user sessions with the connected app and prevents all new sessions.
  • RaiseSessionLevel—Requires 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, don’t include a user approval step. For flows without a user approval step, API logins with the High Assurance session security level are blocked.
sessionLevel string 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.
sessionTimeout int The length of time the connected app’s session lasts. If you don’t set a value, Salesforce uses the timeout value in the connected app user’s profile. If the user’s profile doesn’t specify a timeout value, Salesforce uses the timeout value in the org’s Session Settings.
## Declarative Metadata Sample Definition The following is an example of a ConnectedApp component. $Api.Enterprise\_Server\_URL\_100 test $Api.Partner\_Server\_URL\_60 test1 Get https://salesforce.com MyCanvasListener Chatter Visualforce Aura Publisher ChatterFeed OpenCTI MobileNav PageLayout HideShare HideHeader PersonalEnabled None NONE None Get PE MyCanvasListener https://salesforce.com example@salesforce.com 1231231234 Test App https://c1.sfdcstatic.com/content/dam/sfdc-docs/www/logos/salesforce-logo-cloud.png https://c1.sfdcstatic.com/content/dam/sfdc-docs/www/logos/salesforce-logo-cloud.png https://www.salesforce.com 000.0.0.1 000.0.0.2 Test 000.0.0.1 000.0.0.2 Test1 TestApp https://c1.sfdcstatic.com/content/dam/sfdc-docs/www/logos/salesforce-logo-cloud.png Test TestPermission http://www.mobile.com test testtest test test 5 https://salesforce.com ios minitablet 2 true 2 http://asset.audience.com true true ${cert.id} 1440 https://www.callback.com 3MVG9AOp4kbriZOcnmoLmTrguy9ryzcLbBjoNY...${TEST.orgId} 3MVG9AOp4k... 3MVG9AOp4kbriZOInmoLmTrguy9ryzcLbBjoNY... Basic Chatter OpenID CustomPermissions https://www.logout.com false false false https://idtoken.audience.com true true true 20 ENFORCE infinite https://www.logout.com ConnectedAppPluginTest testuser@salesforce.com http://www.acs.com AES\_128 3MVG9AOp4kbriZOInmoLmTrguy9ryzcLbBjoNY... 3MVG9AOp4kbriZOInmoLmTrguy9ryzcLbBjoNY... test http://www.entity.com https://salesforce.com RedirectBinding Unspecified https://www.salesforce.com CustomAttribute RaiseSessionLevel HIGH\_ASSURANCE 720 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. example@salesforce.com MyConnectedApp https://example.com/callback1 https://example.com/callback2 https://example.com/callback3 3MVG9AOp4kbriZOcnmoLmTrguy9ryzcLbBjoNY... false false false true Full RefreshToken ENFORCE infinite The following is an example package manifest used to deploy or retrieve the ConnectedApp metadata for an organization. PortalTestApp ConnectedApp 29.0 ## 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:///idp/login?app= 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:///idp/login?apiName= ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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 there’s only one settings file for each settings component. ## Version ConnectedAppSettings components are available in API version 47.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableAdminApprovedAppsOnly | boolean | If false (default), any connected app can call the Salesforce API. If true, only apps that have been approved or installed by the admin can call the Salesforce API. To access this field, you must contact Salesforce Customer Support to enable API Access Control. | | enableAdminApprovedAppsOnlyForExternalUser | boolean | If false (default), authenticated customers or partners can use any unblocked connected app to access the Salesforce API. If true, authenticated customers and partners can’t 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. | | enableSkipUserProvisioningWizardWelcomePage | boolean | If false (default), the User Provisioning Wizard Welcome page shows up when you access the wizard. To skip the welcome page in the future, you can select **Do not show me this next time**. If true, the Welcome page doesn’t show up the next time that you access the wizard. | ## Declarative Metadata Sample Definition The following is an example of a ConnectedAppSettings component. false false true The following is an example package.xml manifest that references the previous definition. ConnectedApp Settings 47.0 # 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. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 asset’s file content exceeds 30 MB. All pre-existing limits for packaging apply to asset files. ## Fields
Field Name Field Type Description
format ContentAssetFormat (enumeration of type string) Describes the format of the asset file. Valid values are:
  • Original—A single asset file version.
  • ZippedVersions—Contains multiple versions of the asset file.
isVisibleByExternalUsers boolean 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.
language string Required. The language of the asset file label.
masterLabel string Required. The label for the asset file record, which displays in Setup.
originNetwork string 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 file is assigned to appears in the field value. If null, the file wasn’t assigned to an Experience Cloud site.
relationships ContentAssetRelationships The list of ContentAssetLinks that describe whether the asset file can be shared with the org.
versions ContentAssetVersions Required. Captures basic information about the file version included the asset metadata. Typically the file has only one version.
## ContentAssetRelationships Represents the relationships between an asset file and the locations it's linked with. | Field Name | Field Type | Description | | --- | --- | --- | | emailTemplate | ContentAsset\[\] | An array of email templates the content asset is related to. This field is available in API version 51.0 and later. | | insightsApplication | ContentAsset\[\] | An array of the insights applications that use the content asset. This field is available in API version 39.0 and later. | | network | ContentAsset\[\] | An array of networks that use the content asset. This field is available in API version 39.0 and later. | | organization | ContentAsset\[\] | Stores information about sharing the asset file with the org. Maps to ContentDocumentLink. This field is available in API version 39.0 and later. | | workspace | ContentAsset\[\] | An array of workspaces and libraries that own or share the content asset. This field is available in API version 39.0 and later. | ## ContentAssetLink Represents a relationship link for an asset file, and includes details about the level of access for the link.
Field Name Field Type Description
access ContentAssetAccess (enumeration of type string) Required. The permission granted to the user of the shared file, determined by the permission the user already has. Valid values are:
  • VIEWER
  • COLLABORATOR
  • INFERRED
isManagingWorkspace boolean 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.
name string Reserved for future use.
## ContentAssetVersions Represents information about all file versions included in the asset metadata. | Field Name | Field Type | Description | | --- | --- | --- | | version | [ContentAssetVersion\[\]](#ContentAssetVersion) | A list of file versions for the asset. | ## ContentAssetVersion Represents information about one file version included in the asset metadata. | Field Name | Field Type | Description | | --- | --- | --- | | number | string | Required. The version number. This field is based on, or sets, the ContentVersion. | | pathOnClient | string | Required. Describes the original filename of the file. This field maps to ContentVersion.PathOnClient. It provides the data for the ContentVersion Title field. | | zipEntry | string | 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. | ## Declarative Metadata Sample Definition The following is an example of a ContentAsset component.    some asset                        VIEWER                                    1            some asset.txt             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. MyAsset ContentAsset 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version ContentSettings components are available in API version 48.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | enableChatterFileLink | boolean | When true, allows users to share files via links. When set to false, users can’t use file sharing. Default is true. | | enableCMSC2CConnections | boolean | When true, allows org to enable Salesforce CMS Cloud to Cloud Connections. | | enableContent | boolean | When true, allows org to enable Content. | | enableContentAutoAssign | boolean | When true, allows org to auto assign Content feature licenses to users. | | enableContentDistForPortalUsers | boolean | When true, allows portal users to create Content Deliveries for managed files in a library. | | enableContentDistPwOptionsBit1 | boolean | When true, allow using with ContentDistPasswordOptionsBit2 to set up one of three possible delivery security options. | | enableContentDistPwOptionsBit2 | boolean | When true, allow using with ContentDistPasswordOptionsBit1 to set up one of three possible delivery security options. | | enableContentDistribution | boolean | 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. | | enableContentSupportMultiLanguage | boolean | When true, enables content to support multiple languages. | | enableContentWorkspaceAccess | boolean | 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. | | enableDeleteFileInContentPacks | boolean | 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. | | enableFileShareSetByRecord | boolean | When true, files shared to records default to Set by Record. | | enableFilesUsrShareNetRestricted | boolean | 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. | | enableJPGPreviews | boolean | When true, attempts to use other SVG alternative formats such as JPG as preview images. | | enableLibraryManagedFiles | boolean | When true, controls the ability to publish files created in Chatter with a Content Library (ContentWorkspace). The library can manage the file. | | enableShowChatterFilesInContent | boolean | When true, allows users to search for Chatter files in content. | | enableSiteGuestUserToUploadFiles | boolean | When true, site guest users can upload files. | | enableUploadFilesOnAttachments | boolean | When true, shows the **New File** button on the Attachments related lists to upload files, rather than legacy Attachments. | | setValidContentTypeForAtchDocDownload | boolean | When true, enables an org preference that controls whether the Content-Type HTTP response header is set to a valid content type during file and attachment downloads. If false the response header is set 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 isn’t 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. | | skipContentAssetTriggers | boolean | When true, disables content trigger execution and custom validation on content assets. | | skipContentAssetTriggersOnDeploy | boolean | When true, disables content trigger execution when deploying content assets. | ## Declarative Metadata Sample Definition The following is an example of a Content.settings file. true true true true true true false true true true true true true true true true true The following is an example ContentSettings.xml manifest that references the ContentSettings definitions: Content Settings 48.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ContentTypeBundle Represents the definition of enhanced custom content types for use with enhanced CMS workspaces. When you create an enhanced custom content type, deploy this bundle to your org. Enhanced custom content types are displayed as forms with defined fields. When deployed, enhanced custom content types are available for use with enhanced LWR site channels. To use enhanced custom content types with Aura and non-enhanced LWR site channels, use enhanced CMS workspaces resources. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") type and inherits its fullName field. ## ContentTypeBundle Structure and Directory Location ContentTypeBundle components are stored in the contentTypes folder. Here’s an example of how the folder is structured. +--myMetadataPackage +--contentTypes (1) +--bbHost (2) +--schema.json (3) - The contentTypes folder (1) contains a folder for each enhanced custom content type. - Each enhanced custom content type folder is named in the format contentTypeName. In this example (2), the name is bbHost. - Each contentTypeName folder contains a JSON file, schema.json (3), that defines the enhanced custom content type. The JSON file contains a title and one or more Lightning property types. Use this file to edit the properties of the enhanced custom content type on your local machine or scratch org and then deploy it. ## Version ContentTypeBundle components are available in version 64.0 and later. ## Special Access Rules ContentTypeBundle is available only when Salesforce CMS and digital experiences are enabled for your org. ## Fields | Name | Description | | --- | --- | | description | Type string Description Explanatory text about the content type. | | masterLabel | Type string Description Required. A name for ContentTypeBundle, which is defined when the ContentTypeBundle is created. | | resources | Type [ContentTypeBundleResource\[\]](#ContentTypeBundleResource) Description A list of source files in the ContentTypeBundle folder. | ## ContentTypeBundleResource Represents the resource file inside the ContentTypeBundle. | Name | Description | | --- | --- | | fileName | Type string Description Required. The name of the resource file. | | filePath | Type string Description Required. The path to the resource. | | source | Type base64Binary Description Required. The content of the resource. | ## Declarative Metadata Sample Definition This package.xml retrieves all of the ContentTypeBundle components in an org. \* ContentTypeBundle 64.0 In the retrieved .zip file, each enhanced custom content type is nested under a contentTypes folder. This example shows the directory structure in the .zip file of an enhanced custom content type. The enhaced custom content type is named bbHost and in this example it represents the profile of a bed and breakfast host. contentTypes bbHost schema.json Here are the example contents of the schema.json file in the contentTypes directory. The bbHost is a complex type that includes subproperties for fullName, aboutMe, interests, profilePicture, dateOfBirth, lastModified, personalWebsite, hostIdentityVerified, hostingExperienceInYears, rating, residenceCountry, and preferredModeOfContact. Each subproperty is a primitive type. The subproperty types included in the schema.json file are completely configurable and must include a lightning:type for each property. { "title": "Bed & Breakfast Host", "description": "Schema for capturing B&B host details", "lightning:type": "lightning\_\_objectType", "lightning:mixinTypes": { "sfdc\_cms:metadataContent": {} }, "properties": { "fullName": { "title": "Full Name", "lightning:type": "lightning\_\_textType", "lightning:textIndexed": true, "minLength": 5, "maxLength": 50, "lightning:uiOptions": { "placeholderText": "Enter your full name (e.g., John Doe)" }, "lightning:localizable": false }, "aboutMe": { "title": "About Me", "lightning:type": "lightning\_\_richTextType", "minLength": 10, "maxLength": 3000, "lightning:textIndexed": false, "lightning:uiOptions": { "placeholderText": "Write something about yourself" }, "lightning:localizable": true }, "interests": { "title": "Interests and Hobbies", "lightning:type": "lightning\_\_multilineTextType", "lightning:textIndexed": true, "minLength": 10, "maxLength": 500, "lightning:uiOptions": { "placeholderText": "Summarize your interests and hobbies in a few lines" }, "lightning:localizable": true }, "profilePicture": { "title": "Profile Picture", "lightning:type": "lightning\_\_imageType", "lightning:uiOptions": { "placeholderText": "Upload a professional headshot" }, "lightning:localizable": false }, "dateOfBirth": { "title": "Date of Birth", "lightning:type": "lightning\_\_dateType", "lightning:localizable": true, "lightning:uiOptions": { "placeholderText": "Select your date of birth" } }, "lastModified": { "title": "Last Profile Update", "lightning:type": "lightning\_\_dateTimeType", "lightning:localizable": false, "lightning:uiOptions": { "placeholderText": "Auto-filled on profile update" } }, "personalWebsite": { "title": "Personal Website", "lightning:type": "lightning\_\_urlType", "lightning:localizable": false, "lightning:uiOptions": { "placeholderText": "https://yourwebsite.com" } }, "hostIdentityVerified": { "title": "Host Identity Verified", "lightning:type": "lightning\_\_booleanType", "lightning:uiOptions": { "placeholderText": "Check if host identity is verified" } }, "hostingExperienceInYears": { "title": "Years of Experience hosting B&B", "lightning:type": "lightning\_\_integerType", "minimum": 0, "maximum": 50, "lightning:localizable": false, "lightning:uiOptions": { "placeholderText": "Enter total years of experience being a B&B host" } }, "rating": { "title": "Rating", "lightning:type": "lightning\_\_numberType", "minimum": 0.0, "maximum": 5.0, "lightning:localizable": false, "lightning:uiOptions": { "placeholderText": "e.g., 4.5" } }, "residenceCountry": { "title": "Country of Residence", "lightning:type": "lightning\_\_textType", "const": \["India"\] }, "preferredModeOfContact": { "title": "Preferred Mode of Contact", "lightning:type": "lightning\_\_textType", "enum": \["email", "SMS", "phone"\], "lightning:uiOptions": { "placeholderText": "Choose your preferred mode of contact" } } }, "required": \["fullName", "hostIdentityVerified"\] ## Usage For each custom content type that you create, you must also create a CMS content page created in the enhanced LWR, LWR, or Aura site that displays the content. Each content page serves as the detail page for all content of a single content type. See [Create Custom Site Pages with Experience Builder](https://help.salesforce.com/articleView?id=community_builder_create_page.htm&language=en_US). To use enhanced custom content types with Aura and non-enhanced LWR site channels, use the enhanced CMS workspaces resources for [CMS Delivery Contents](https://developer.salesforce.com/docs/atlas.en-us.264.0.chatterapi.meta/chatterapi/connect_resources_cms_delivery_contents.htm) and [CMS Delivery Content](https://developer.salesforce.com/docs/atlas.en-us.264.0.chatterapi.meta/chatterapi/connect_resources_cms_delivery_content.htm). ## Wildcard Support in the Manifest This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving with the Zip](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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.") . # ContextDefinition Represents the details of a context definition that describe the relationship between the node structures within a context. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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 the organization preference ContextDefinitionsEnabled to access the ContextDefinition metadata type. ## Fields | Field Name | Description | | --- | --- | | canBeReferenceDefinition | Field Type boolean Description Indicates whether the context definition can be referred by other context definitions (true) or not (false). Available in API version 63.0 and later. The default value is false. | | clonedFrom | Field Type string Description The name of the context definition that's used to clone the current context definition. | | contextDefinitionReferences | Field Type [ContextDefinitionReference](#ContextDefinitionReference)\[\] Description References of the context definition. | | contextDefinitionVersions | Field Type [ContextDefinitionVersion\[\]](#ContextDefinitionVersion) Description Version of the context definition. | | contextTtl | Field Type int 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. | | description | Field Type string Description Description of the context definition. | | hasSystemTags | Field Type boolean Description Indicates whether the context definition has system tags (true) or not (false). Available in API version 63.0 and later. The default value is false. | | inheritedFrom | Field Type string Description Name of the parent context definition that's used to derive the current context definition. | | inheritedFromVersion | Field Type string Description Version number of the parent definition that's used to derive the current context definition. | | isProtected | Field Type boolean Description Auto-generated value that doesn’t impact the behavior of the metadata type. | | masterLabel | Field Type string Description Required. User-friendly name for the context definition, which is defined when the context definition is created. | | title | Field Type string Description Required. Name of the context definition. | ## ContextDefinitionReference Represents details about the context definition reference. | Field Name | Description | | --- | --- | | inheritedFrom | Field Type string Description ID of the parent context definition reference that's used to derive the current context definition reference. | | referenceContextDefinition | Field Type string Description Required. ID or name of the referred context definition. | ## ContextDefinitionVersion Represents details about the context definition version. Only one version can be active at a time. | Field Name | Description | | --- | --- | | contextMappings | Field Type [ContextMapping\[\]](#ContextMapping) Description Mapping of attributes and nodes to related objects. | | contextNodes | Field Type [ContextNode\[\]](#ContextNode) Description Details of the structure of the nodes within the context. | | endDate | Field Type string Description Date and time when the context definition version becomes inactive. | | isActive | Field Type boolean Description Indicates whether the context definition version is active (true) or not (false). The default value is false. | | startDate | Field Type string Description Required. Date and time when the context definition version becomes active. | | versionNumber | Field Type int Description Required. Version number of the context definition. | ## ContextMapping Represents the mapping of attributes and nodes to related objects. | Field Name | Description | | --- | --- | | contextMappingIntents | Field Type [ContextMappingIntent\[\]](#ContextMappingIntent) Description Purpose associated to a context mapping. | | contextNodeMappings | Field Type [ContextNodeMapping\[\]](#ContextNodeMapping) Description Mapping of the node in the context and values in the input schema. | | default | Field Type boolean Description Indicates whether the mapping for a context definition version is default (true) or not (false). The default value is false. | | description | Field Type string Description Description of the context mapping. | | inheritedFrom | Field Type string Description Name of the parent mapping that's used to derive the current mapping. | | title | Field Type string Description Required. Name of the context mapping. | ## ContextMappingIntent Represents the purpose associated to a context mapping. | Field Name | Description | | --- | --- | | mappingIntent | Field Type ContextMappingIntentType (enumeration of type string) Description Required. 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. | Field Name | Description | | --- | --- | | contextAttributeMappings | Field Type [ContextAttributeMapping\[\]](#ContextAttributeMapping) Description Mapping of the attribute defined in the context and the values in the related objects. | | contextNode | Field Type string Description Context node record associated with the context node mapping. | | contextNodeAttrDictionaries | Field Type [ContextNodeAttrDictionary\[\]](#ContextNodeAttrDictionary) Description Facilitates relationships between context node mapping and context dictionary. Additionally, it records the relationship between context node and context dictionary. | | inheritedFrom | Field Type string Description Name of the parent context node mapping that's used to derive the current context node mapping. | | mappedContextDefinition | Field Type string Description API name of the context definition for existing context-to-context mappings. | | object | Field Type string Description Name of the object used for the mapping. | ## ContextAttributeMapping Represents the relationship between the attributes defined in the context and the values in the related objects. | Field Name | Description | | --- | --- | | contextAttrHydrationDetails | Field Type [ContextAttrHydrationDetail\[\]](#ContextAttrHydrationDetail) Description Details of the SOQL (database) queries that fetch data for a chosen attribute from the input schema. | | contextAttribute | Field Type string Description Context attribute record associated with the context attribute mapping. | | contextInputAttributeName | Field Type string Description Required. Name of the input attribute. | | ctxAttrHydrationCtxs | Field Type [CtxAttrHydrationCtx\[\]](#CtxAttrHydrationCtx) Description Query that fetches data for a chosen attribute from the input schema for context-to-context mapping. | | inheritedFrom | Field Type string 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. | Field Name | Description | | --- | --- | | contextAttrHydrationDetails | Field Type [ContextAttrHydrationDetail\[\]](#ContextAttrHydrationDetail) Description Details of the query that fetches the data for the specific query attribute. | | inheritedFrom | Field Type string Description Name of the parent context attribute hydration detail that's used to derive the current context attribute hydration detail. | | objectName | Field Type string Description Required. Name of the object used for the attribute hydration detail. | | queryAttribute | Field Type string 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. | Field Name | Description | | --- | --- | | contextQueryAttribute | Field Type string Description Required. Attribute in context definition that's the source of context hydration. | | inheritedFrom | Field Type string Description Name of the parent context attribute hydration detail that's used to derive the current context attribute. | ## ContextNodeAttrDictionary Represents the relationship between a context node and the context attribute dictionary. | Field Name | Description | | --- | --- | | contextAttrDictIdentifier | Field Type string Description Required. Developer name of the context attribute dictionary. | | contextNodeTagPrefix | Field Type string 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. | Field Name | Description | | --- | --- | | canonicalNode | Field Type string Description Canonical node that's associated with the context node. | | contextAttributes | Field Type [ContextAttribute\[\]](#ContextAttribute) Description Details of the attribute used to describe the context node. | | contextNodeAttrDictionaries | Field Type [ContextNodeAttrDictionary\[\]](#ContextNodeAttrDictionary) Description Facilitates relationships between context node and context dictionary. Additionally, it records the relationship between context node and context dictionary. | | contextTags | Field Type [ContextTag\[\]](#ContextTag) Description Unique identifier of the attribute or node. | | displayName | Field Type string Description Display name of the context node. | | inheritedFrom | Field Type string Description Name of the parent context node that's used to derive the current context node. | | title | Field Type string Description Required. Name of the context node. | | transposable | Field Type boolean 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. | Field Name | Description | | --- | --- | | contextTags | Field Type [ContextTag\[\]](#ContextTag) Description Shortened name of the attribute or node. | | dataType | Field Type ContextAttributeDataType (enumeration of type string) Description Required. Type of data that's stored in the context attribute. Valid values are: - boolean - currency - date - datetime - number - percent - picklist - reference - string - selfreference—Available in API version 63.0 and later. | | description | Field Type string Description Description of the context attribute. | | displayName | Field Type string Description Display name of the context attribute. | | domainSet | Field Type string Description List of node references to show the parent-child relationship between the nodes in a definition. | | fieldType | Field Type ContextAttributeFieldType (enumeration of type string) 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 | | inheritedFrom | Field Type string Description Name of the parent attribute that's used to derive the current attribute. | | key | Field Type boolean Description Indicates whether the attribute is a key attribute in the node (true) or not (false). The default value is false. | | title | Field Type string Description Required. Name of the context attribute. | | transient | Field Type boolean Description Indicates if an attribute is skipped in context persistence (true) or not (false). Available in API version 63.0 and later. The default value is false. | | value | Field Type boolean 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. | Field Name | Description | | --- | --- | | title | Field Type string Description Required. Name of the context tag. | | inheritedFrom | Field Type string 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. Test Context Attribute Dictionary Name Context Node Tag Prefix CustomAccount\_\_c Name StandardDefinition/version/CustomAccountMapping/Praneeth/AccountName/hydrationInfo-1 StandardDefinition StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1 AccountName AccountName StandardDefinition/version/CustomAccountMapping/Praneeth/AccountName CustomAccount\_\_c CustomAccountName\_\_c StandardDefinition/version/CustomAccountMapping/Praneeth/CustomAccountName/hydrationInfo-1 StandardDefinition StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1 CustomAccountName CustomAccountName StandardDefinition/version/CustomAccountMapping/Praneeth/CustomAccountName Praneeth CustomAccount\_\_c StandardDefinition/version/CustomAccountMapping/Praneeth CustomContextDefinition hydration true CustomAccountMapping StandardDefinition/version/CustomAccountMapping Context Attribute Dictionary Name Context Node Tag Prefix Account Name StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName/AccountName/hydrationInfo-1 StandardDefinition StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1 AccountName AccountName StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName/AccountName Account CustomAccountName\_\_c StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName/hydrationInfo-1 StandardDefinition StandardDefinition/version/AccountMapping/Praneeth/AccountName/ctxToCtxhydrationInfo-1 CustomAccountName CustomAccountName StandardDefinition/version/AccountMapping/Praneeth/CustomAccountName Praneeth Account StandardDefinition/version/AccountMapping/Praneeth CustomContextDefinition persistence Account Mapping false AccountMapping StandardDefinition/version/AccountMapping Context Attribute Dictionary Name Context Node Tag Prefix AccountName StandardDefinition/version/Praneeth/AccountName/AccountName string inputoutput false AccountName AccountName Test Description false StandardDefinition/version/Praneeth/AccountName string inputoutput false CustomAccountName false CustomAccountName Test Description StandardDefinition/version/Praneeth/CustomAccountName Praneeth StandardDefinition/version/Praneeth/Praneeth Praneeth false StandardDefinition/version/Praneeth Praneeth 2097-05-10 00:00:00 2023-05-10 00:00:00 1 true Test Description 10 StandardDefinition 1.0 OriginalDefinition false Test Label TestTitle TestTitle The following is an example package.xml that references the previous definition. Test ContextDefinition Account.CustomAccountName\_\_c CustomField CustomAccount\_\_c CustomObject 64.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # ContractSettings Represents contract settings. In the package manifest, all organization settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there’s only one settings file for each settings component. ## Version ContractSettings is available in API version 27.0 and later. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | autoCalculateEndDate | boolean | Indicates whether the end date of a contract is automatically calculated (true) or not (false). | | notifyOwnersOnContractExpiration | boolean | Indicates whether account and contract owners are automatically sent email notifications when a contract expires (true) or not (false). | ## Declarative Metadata Sample Definition This is a sample contract settings file. true false ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 | Field Name | Description | | --- | --- | | enableCallCoaching | Field Type boolean 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. | | enableCallCoachingZoom | Field Type boolean 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. | | enableCallExplorer | Field Type boolean Description Indicates whether Call Explorer is enabled (true) or not (false). The default value is false. Available in API version 60.0 and later. | | enableCallSummarization | Field Type boolean Description Indicates whether Call Summary is enabled (true) or not (false). The default value is false. Available in API version 59.0 and later. | | enableConversationMining | Field Type boolean Description Indicates whether Einstein Conversation Mining is enabled (true) or not (false). The default value is false. Available in API version 61.0 and later. | | enableDiarizationPref | Field Type boolean 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. | | enableECIOOTBFlows | Field Type boolean Description Indicates whether the out-of-the-box (OOTB) flow templates for Einstein Conversation Insights are enabled (true) or not (false). The default value is false. Available in API version 65.0 and later. These flow templates provide examples of how to use ECI-generated transcripts and insights for common actions, such as drafting follow-up emails or creating next steps. | | enableGenerativeConvInsights | Field Type boolean Description Indicates whether Generative Conversation Insights is enabled (true) or not (false). The default value is false. Available in API version 61.0 and later. | | enableManualUpload | Field Type boolean Description Indicates whether Video Call Upload is enabled (true) or not (false). The default value is false. Available in API version 62.0 and later. Reserved for future use. | | enableOpptyMatching | Field Type boolean 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. | | enableRealtimeInsights | Field Type boolean Description Indicates whether Realtime Insights is enabled (true) or not (false). The default value is false. Available in API version 62.0 and later. | | enableUnifiedActivities | Field Type boolean 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. true The following is an example package.xml that references the previous definition. ConversationalIntelligence Settings 49.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ConversationChannelDefinition Represents the conversation channel definition that’s implemented for Interaction Service for Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS messaging channels. This object is available in API version 60.0 and later. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | connectedAppOauthLink | Field Type string Description DO NOT SET OR CHANGE THIS VALUE. This value is automatically generated. This field represents the OAuth link for the external client app (ECA) or connected app if the connectedAppType value is Partner. This is a string identifier to the ECA or connected app containing the partner Org ID and the consumer ID minus the key prefixes. Used to identify the ECA or connected app to use for the channel definition and channel at runtime. | | connectedAppType | Field Type CustomChannelConnectedAppType Description The owner of the external client app (ECA) or connected app used to manage authentication between Salesforce Interaction Service and the Messaging or CCaaS partner’s system. Possible values are: - Partner - Customer The default value is Partner. If set to Partner, the partner creates the ECA or connected app and includes it in their managed package. If set to Customer, the admin creates the ECA or connected app. Available in API version 62.0 and later. | | consentOwner | Field Type ConsentOwner (enumeration of type string) 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 partner’s telephony system. For Bring Your Own Channel for Messaging, this value must be set to Salesforce. | | conversationVendorInfo | Field Type string Description The ConversationVendorInfo.developerName used to link this record to the ConversationVendorInfo record. For example, PartnerName. | | customEventChnlAddrIdField | Field Type string Description The mapping field that points to the custom field used to point to the ChannelAddressIdentifier field. This field is available in API version 60.0 and earlier. Use a combination of customEventTypeField and customEventPayloadField in API version 61.0 and later instead. | | customEventPayloadField | Field Type string Description Required. The mapping field that points to the custom field used to point to the Payload field in the format \_\_\_\_c. This is the API name of the custom Payload field in the custom platform event. For example, devorg\_\_Payload\_\_c. | | customEventRecipientField | Field Type string Description The mapping field that points to the custom field used to point to the Recipient field. This field is available in API version 60.0 and earlier. Use a combination of customEventTypeField and customEventPayloadField in API version 61.0 and later instead. | | customEventTypeField | Field Type string Description The mapping field that points to the custom field used to point to the Platform event type (EventType) field, in the format \_\_\_\_c. This is the API name of the custom EventType field in the custom platform event. For example, devorg\_\_EventType\_\_c. | | customIcon | Field Type string Description For Bring Your Own Channel for Messaging and Bring Your Own Channel for CCaaS, this field represents the name of the status resource image used to identify the channel integration, such as a channel logo. For the best results, set the image size to 50px x 50px and save the image in SVG file format. This field is optional. This field is a relationship field. Available in API version 61.0 and later. | | customPlatformEvent | Field Type string Description Required. The API name of the custom platform event created for the Interaction Service API in the format \_\_\_\_e. For example, devorg\_\_TestEvent\_\_e. | | customerConnectedAppOauthLink | Field Type string Description DO NOT SET OR CHANGE THIS VALUE. This value is automatically generated. This field represents the OAuth link for the external client app or connected app created by an admin if the ConnectedAppType is Customer. Available in API version 62.0 and later. | | developerName | Field Type string Description The unique name of the custom metadata type object in the API in the format \_, where Prefix matches the prefix you gave to the name of the Interaction Service external client app or connected app. For example, Partner1\_ChannelDefinition1, where Partner1 is the prefix and ChannelDefinition1 is the given name. | | isConferenceSupported | Field Type boolean Description Indicates whether the partner supports conferencing for Bring Your Own Channel (true), or not (false). With conferencing, more than two participants are allowed in a messaging session. The default is false. This field is available in API version 64.0 and later. | | isInboundAcknwOptionExposed | Field Type boolean Description Indicates whether the partner supports read receipts and delivery receipts for inbound messages (true) or whether the partner doesn’t support these inbound acknowledgments and the functionality is hidden from the Salesforce admin in the Messaging settings (false). The default value is false. This field is available in API version 65.0 and later. Use this field instead of isInboundReceiptsEnabled. | | isInboundReceiptsEnabled | Field Type boolean Description Indicates whether the partner supports read receipts and delivery receipts for inbound messages (true) or whether the partner doesn’t support these inbound acknowledgements and the functionality is hidden from the Salesforce admin in the Messaging settings (false). The default value is false. Available in API versions 63.0 to 65.0. In API version 66.0 and later, this field is removed. Use isInboundAcknwOptionExposed instead. | | isProgressIndicatorOptExposed | Field Type boolean Description Indicates whether the partner supports progress indicators for AI agents (true) or whether the partner doesn’t support them and the functionality is hidden from the Salesforce admin in the Messaging settings (false). The default value is false. This field is available in API version 65.0 and later. | | isRoutingWorkResultEnabled | Field Type boolean Description Indicates whether the Routing Work Result event is sent as a Custom Platform event or not. The default value is false. Available in API versions 64.0 and 65.0. In API version 66.0 and later, this field is removed. Use isRoutingWorkResultSupported instead. | | isRoutingWorkResultSupported | Field Type boolean Description Indicates whether the Routing Work Result event is sent as a Custom Platform event (true) or not (false). The default value is false. This field is available in API version 65.0 and later. Use this field instead of isRoutingWorkResultEnabled. | | isTypingIndicatorDisabled | Field Type boolean Description Indicates whether the partner doesn’t support typing indicators for outbound messages and the functionality is hidden from the Salesforce admin in the Messaging settings (true) or whether outbound typing indicators are supported by the partner (false). The default value is false, meaning the outbound typing indicator feature is supported by default. To disable the outbound typing indicator feature, set this value to true. Available in API versions 63.0 to 65.0. In API version 66.0 and later, this field is removed. Use isTypingIndicatorOptionHidden instead. | | isTypingIndicatorOptionHidden | Field Type boolean Description Indicates whether the partner doesn’t support typing indicators for outbound messages and the functionality is hidden from the Salesforce admin in the Messaging settings (true) or whether outbound typing indicators are supported by the partner (false). The default value is false, meaning the outbound typing indicator feature is supported by default. To disable the outbound typing indicator feature, set this value to true. This field is available in API version 65.0 and later. Use this field instead of isTypingIndicatorDisabled. | | masterLabel | Field Type string 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 field’s 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. | | maxParticipantsForCnfrOverride | Field Type int Description Specifies the limit for how many participants can be in a messaging conference. If set, this field overrides the platform limit for the number of participants in a conference. If not set, the limit defaults to the messaging platform limit of how many participants can be in a messaging conference at one time. This field is available in API version 64.0 and later. | | routingOwner | Field Type RoutingOwner (enumeration of type string) Description The system the customer uses to manage routing for Bring Your Own Channel for Messaging or Bring Your Own Channel for CCaaS. Possible values are: - Partner - Salesforce The default value is Salesforce. For example, if set to Salesforce, routing is managed by the Salesforce system. If set to Partner, routing is managed by the partner’s telephony or Contact Center as a Service (CCaaS) system. For Bring Your Own Channel for Messaging, this value must be set to Salesforce. | | supportsCustomChannelParameters | Field Type boolean Description Indicates whether admins can configure custom parameters and parameter mappings for messaging channels. Custom parameters and parameter mappings are used to pass additional information at runtime to Omni-Channel flows. The default value is false. This field is available in API version 61.0 and later. | | supportsDoubleOptInConsent | Field Type boolean 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 isn’t supported for Bring Your Own Channel for Messaging. It's only supported for Bring Your Own Channel for CCaaS. | | supportsExplicitConsent | Field Type boolean Description Indicates whether the channel supports (true) the Explicit Opt-In consent level. This field is optional. | | supportsImplicitConsent | Field Type boolean 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. | | supportsIsoCountryCode | Field Type boolean Description Indicates whether the channel supports (true) ISO country codes. The default value is false. | | supportsKeywords | Field Type boolean Description Indicates whether the channel supports (true) keywords. The default value is false. | ## 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. # ConversationMessageDefinition Represents a messaging component in an Enhanced Messaging channel or Messaging for In-App and Web session. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) 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 | Field Name | Description | | --- | --- | | constants | Field Type [ConversationMessageConstant](#ConversationMessageConstant)\[\] Description An array of constants that defines the messaging components. Constants support multiple data types, including text, URL, and image. | | contentCategory | Field Type ConversationMessageContentCategory (enumeration of type string) Description Specifies the business intent of the Conversation Message Definition. Valid values are: - AccountUpdate - Authentication - Feedback - OrderUpdate - PromotionalOutreach - Reminder - Response | | description | Field Type string Description The description of the conversation message definition. | | label | Field Type string Description A user-friendly name for ConversationMessageDefinition, which is defined whenConversationMessageDefinition is created. | | language | Field Type string Description The language of the conversation message definition. | | messageHandlers | Field Type [ConversationMessageHandler](#ConversationMessageHandler)\[\] Description An array of message handlers. | | messageLayouts | Field Type [ConversationMessageLayout](#ConversationMessageLayout)\[\] Description An array of message layouts. | | optionsParameter | Field Type [ConversationMessageOptionsParameter](#ConversationMessageOptionsParameter)\[\] Description An array of options parameter of the ConversationMessageDefinition. | | parameters | Field Type [ConversationMessageParameter](#ConversationMessageParameter)\[\] Description An array of parameters. | | type | Field Type ConversationMessageDefinitionType (enumeration of type string) Description Required. The type of the conversation message definition. Valid values are: - Action - ApexForm - AuthenticationRequest - AutoResponse - GuidedActions—Available in API version 68.0 and later. - 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. | Field Name | Description | | --- | --- | | compositeValues | Field Type [ConversationMessageConstantCompositeValue](#ConversationMessageConstantCompositeValue)\[\] Description An array of composite values of ConversationMessageConstant. | | constantType | Field Type ConversationMessageConstantType (enumeration of type string) Description Required. The conversation message constant type. Valid values are: - Custom - Image - Options - SubTitle - Title - Url | | label | Field Type string Description The UI label of the conversation message constant. | | name | Field Type string Description The name of the conversation message constant. | | primitiveValues | Field Type [ConversationMessageConstantPrimitiveValue](#ConversationMessageConstantPrimitiveValue) (enumeration of type string) Description An array of primitive values of ConversationMessageConstant. | | valueType | Field Type ConversationMessageValueType (enumeration of type string) Description The type of the conversation message constant value. Valid values are: - Boolean - Date - DateTime - Double - ImageId - Integer - RecordId - Text - Url - VideoId—Available in API version 68.0 and later. | ## ConversationMessageConstantCompositeValue Represents the composite values of the [ConversationMessageConstant](#ConversationMessageConstant). | Field Name | Description | | --- | --- | | constantItems | Field Type [ConversationMessageConstant](#ConversationMessageConstant)\[\] Description An array of constant items. | | identifier | Field Type string Description Required. The client identifier. | ## ConversationMessageConstantPrimitiveValue Represents the primitive values of the [ConversationMessageConstant](#ConversationMessageConstant). | Field Name | Description | | --- | --- | | contentAssetName | Field Type string Description Represents the value for type = ImageAsset | | textValue | Field Type string Description Represents the value for type = Text | | type | Field Type ConversationMessageConstantValueType (enumeration of type string) Description Required. The type of the conversation message constant primitive value. Valid values are: - FileAsset - ImageAsset - Text - Url | | urlValue | Field Type string Description Represents the value for type = Url | ## ConversationMessageHandler Represents the conversation message handler. | Field Name | Description | | --- | --- | | activeRequestDurationMinutes | Field Type int Description Required. The duration of an active request in minutes. | | handlerName | Field Type string Description Required. The name of the message handler. | | handlerType | Field Type ConversationMessageHandlerType (enumeration of type string) Description Required. The type of message handler. Valid values are: - ApexFormProvider. Available in API version 65.0 and later. - AuthProvider - PaymentProvider - QuickAction - Survey. Available in API version 65.0 and later. | ## ConversationMessageLayout Represents the conversation message layout. | Field Name | Description | | --- | --- | | externalTemplates | Field Type [ConvMsgExternalTemplateVersion](#ConvMsgExternalTemplateVersion)\[\] Description The external template version of the ConversationMessageLayout. | | formatType | Field Type ConversationMessageFormatType (enumeration of type string) Description Required. The format type of the conversation message layout. Valid values are: - Application - BusinessUpdate—Available in API version 68.0 and later. - Buttons - Carousel - EncryptedOAuthToken - ExternalTemplate - Flow - Inputs - ListPicker - Media - Payment - QuickReplies - RichLink - Suggestions—Available in API version 68.0 and later. - Text - TimePicker - WebView | | layoutItems | Field Type [ConversationMessageLayoutItem](#ConversationMessageLayoutItem)\[\] Description An array of layout items. | | messageType | Field Type ConversationMessageType (enumeration of type string) Description Required. The conversation message type. Valid values are: - AuthenticationRequest - Choices - Form - PaymentRequest - StaticContent | ## ConvMsgExternalTemplateVersion Represents the external template version of the conversation message layout. | Field Name | Description | | --- | --- | | accountIdentifier | Field Type string Description Required. The account identifier. For WhatsApp channels, this is the WABA ID. | | accountName | Field Type string Description Required. The account name. | | language | Field Type string Description Required. The language of the conversation message external template. | | status | Field Type ConvMsgExternalTemplateVersionStatus (enumeration of type string) Description Required. The status of the conversation message external template. Valid values are: - Approved. The template version is approved. - Blocked. The template version is blocked. Available in API version 65.0 and later. - Deleted. The template version is deleted. Available in API version 65.0 and later. - Disabled. The template version is disabled because of recurring negative customer feedback. - InAppeal. The rejected template version is being appealed. Available in API version 65.0 and later. - LimitExceeded. Available in API version 65.0 and later. - OutOfSync. The template versions in the messaging service and Salesforce are out of sync. Available in API version 65.0 and later. - Paused. The template version is paused because of recurring negative customer feedback or low read rates. - Pending. The template version awaits Meta's approval. - PendingDeletion. The template version is pending deletion. Available in API version 65.0 and later. - Rejected. The template version was rejected during Meta’s review process. | | templateName | Field Type string Description Required. The name of the conversation message external template. | | templateVersionIdentifier | Field Type string Description Required. The template version identifier. | ## ConversationMessageLayoutItem Represents the conversation message layout item. | Field Name | Description | | --- | --- | | collectionType | Field Type ConversationMessageCollectionType (enumeration of type string) Description Required. The type of conversation message collection. Valid values are: - DynamicList - None - StaticList | | compositeValues | Field Type [ConversationMessageLayoutCompositeValue](#ConversationMessageLayoutCompositeValue)\[\] Description An array of composite values of the ConversationMessageLayoutItem. | | name | Field Type string Description The name of the conversation message layout item. | | primitiveValues | Field Type [ConversationMessageLayoutPrimitiveValue](#ConversationMessageLayoutPrimitiveValue)\[\] Description An array of primitive values of the ConversationMessageLayoutItem. | ## ConversationMessageLayoutCompositeValue Represents the composite value of the [ConversationMessageLayoutItem](#ConversationMessageLayoutItem). | Field Name | Description | | --- | --- | | compositeTypeName | Field Type string Description Required. The name of the conversation message layout composite value type. | | layoutItems | Field Type [ConversationMessageLayoutItem](#ConversationMessageLayoutItem)\[\] Description An array of layout items. | | valueSourceReference | Field Type string Description The source of the conversation message layout composite value. | ## ConversationMessageLayoutPrimitiveValue Represents the primitive value of the [ConversationMessageLayoutItem](#ConversationMessageLayoutItem). | Field Name | Description | | --- | --- | | contentAssetName | Field Type string Description The content asset name. | | fieldName | Field Type string Description The name of the conversation message layout primitive value field. | | formulaTemplate | Field Type string Description The formula template defines the content for each entry in the list. | | literalValue | Field Type string Description The literal primitive value of the conversation message layout. | | mergeFields | Field Type [ConversationMessageMergeField](#ConversationMessageMergeField)\[\] Description Inserts multiple values to a list. | | type | Field Type ConversationMessageLayoutValueType (enumeration of type string) Description Required. The type of the conversation message layout primitive value. Valid values are: - FormulaTemplate - Literal - MediaAsset - SourcePrimitiveValue - SourceSobjectField - SourceSobjectFieldValue - SourceSobjectFormula | | valueFormula | Field Type string Description The formula of the conversation message layout primitive value. | | valueSourceReference | Field Type string Description The source of the conversation message layout primitive value. | ## ConversationMessageMergeField Merge field is used to insert multiple values to a list. | Field Name | Description | | --- | --- | | formulaTemplate | Field Type string Description Required. The formula template of the conversation message merge field. | | mergeFieldType | Field Type ConversationMessageMergeFieldType (enumeration of type string) Description Required. The type of the conversation message merge field. Valid value is ListTemplate. | | name | Field Type string Description Required. The name of the conversation message merge field. | | valueSourceReference | Field Type string Description Required. The source of the conversation message merge field value. | ## ConversationMessageOptionsParameter Represents a conversation message options parameter. | Field Name | Description | | --- | --- | | compositeTypeDetails | Field Type [ConversationMessageParameterCompositeDetails](#ConversationMessageParameterCompositeDetails)\[\] Description An array of composite details of ConversationMessageOptionsParameter. | | optionsParameterType | Field Type ConversationMessageOptionsParameterType (enumeration of type string) Description Required. The type of conversation message options parameter. Valid values are: - CustomCompositeOptions - CustomPrimitiveOptions - RecordIdOptions - TimeSlotOptions | | primitiveTypeDetails | Field Type ConversationMessageParameterPrimitiveDetails Description The primitive type details of conversation message options parameter. | ## ConversationMessageParameterCompositeDetails Represents the composite details of a conversation message parameter. | Field Name | Description | | --- | --- | | compositeChildItems | Field Type ConversationMessageParameterCompositeDetails\[\] Description The composite child items of the conversation message parameter. | | isList | Field Type boolean Description Indicates whether the conversation message parameter composite details field is a list item (true) or not (false). The default value is false. | | isRequired | Field Type boolean Description Indicates whether the conversation message parameter is required (true) or not (false). The default value is false. | | label | Field Type string Description The UI label of the conversation message parameter composite details field. | | maxListItems | Field Type int Description The maximum number of list items in the conversation message parameter composite details field. | | name | Field Type string Description The name of the conversation message parameter composite details field. | | primitiveChildItems | Field Type [ConversationMessageParameterPrimitiveDetails](#ConversationMessageParameterPrimitiveDetails)\[\] Description An array of primitive child items. | ## ConversationMessageParameterPrimitiveDetails Represents the primitive details of the conversation message parameter. | Field Name | Description | | --- | --- | | isList | Field Type boolean Description Indicates whether the conversation message parameter primitive details field is a list item (true) or not (false). The default value is false. | | isRequired | Field Type boolean Description Indicates whether the conversation message parameter primitive details field is required (true) or not (false). The default value is false. | | label | Field Type string Description The UI label of the conversation message parameter primitive details field. | | maxListItems | Field Type int Description The maximum number of list items that are allowed in the conversation message parameter primitive details field. | | name | Field Type string Description The name of the conversation message parameter primitive details field. | | sobjectType | Field Type string Description The sObject type. | | valueType | Field Type ConversationMessageValueType (enumeration of type string) Description The type of the conversation message parameter value. Valid values are: - Boolean - Date - DateTime - Double - ImageId - Integer - RecordId - Text - Url - VideoId—Available in API version 68.0 and later. | ## ConversationMessageParameter Represents a conversation message parameter. | Field Name | Description | | --- | --- | | compositeTypeDetails | Field Type [ConversationMessageParameterCompositeDetails](#ConversationMessageParameterCompositeDetails) Description An array of composite type details. | | parameterType | Field Type ConversationMessageParameterType (enumeration of type string) Description Required. The type of conversation message parameter. Valid values are: - CustomComposite - CustomPrimitive - RecordIds | | primitiveTypeDetails | Field Type [ConversationMessageParameterPrimitiveDetails](#ConversationMessageParameterPrimitiveDetails) Description An array of primitive type details. | ## Declarative Metadata Sample Definition The following is an example of a ConversationMessageDefinition component. Custom imageAsset imageAsset Screenshot\_20240402\_at\_32437PM ImageAsset ImageId Custom message message Favourite Season Text Text Custom Prompt1 Prompt1 Choose one option Text Text Image Screenshot\_20240321\_at\_53957PM3 ImageAsset SubTitle January Text Title Jan Text 1c6f8c4d-7bce-1649-fa45-db587bcfbb29 Image Screenshot\_20240321\_at\_53957PM4 ImageAsset SubTitle December Text Title Dec Text fb8bb328-7bc7-2830-6194-2ae7ece055ad Image Screenshot\_20240321\_at\_53912PM1 ImageAsset SubTitle March Text Title March Text 570baa88-fa4d-4b31-0e84-92f87b35af0a Options Title What is your favourite month? Text Favourite Month en\_US Buttons DynamicList TitleOptionItem None TitleItem None title SourcePrimitiveValue Constants.Options.ListItem.SubTitle titleItem Constants.Options optionItems None text SourcePrimitiveValue Constants.Title Choices ListPicker None TitleImageItem None imageId SourcePrimitiveValue Constants.imageAsset None title SourcePrimitiveValue Constants.Title message DynamicList TitleOptionItem None TitleImageItem None imageId SourcePrimitiveValue Constants.Options.ListItem.Image None title SourcePrimitiveValue Constants.Options.ListItem.Title titleItem Constants.Options optionItems None TitleImageItem None imageId SourcePrimitiveValue Constants.imageAsset None title SourcePrimitiveValue Constants.message reply None title SourcePrimitiveValue Constants.Title Choices Carousel DynamicList TitleItemWithInteractions StaticList TitleOptionItem None TitleItem None title Select One Literal titleItem interactionItems None TitleImageItem None imageId SourcePrimitiveValue Constants.Options.ListItem.Image None subTitle SourcePrimitiveValue Constants.Options.ListItem.SubTitle None title SourcePrimitiveValue Constants.Title titleItem Constants.Options items Choices Text None text {!$Constants.Title} {!$Constants.Prompt1}: {!$ListTemplates.OptionsList} {!$ListItem.Index}. {!$ListItem.Value.Title}{!BR()} ListTemplate OptionsList Constants.Options FormulaTemplate StaticContent Picklist The following is an example package.xml that references the previous definition. Favourite\_Month ConversationMessageDefinition 61.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # ConversationMessageDefinitionTranslation Represents translated labels and constant values for conversation message definitions in Enhanced Messaging and Messaging for In-App and Web. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note This complex type is used as a nested element within the ConversationMessageDefinition metadata type and is not deployed as a standalone metadata component. It enables multilingual support by allowing constant values and labels to be translated into different languages for customer-facing messaging. ## Parent Type This type is used as a nested complex type within the [ConversationMessageDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_conversationmessagedefinition.htm "Represents a messaging component in an Enhanced Messaging channel or Messaging for In-App and Web session.") metadata type. ## Version ConversationMessageDefinitionTranslation is available in API version 61.0 and later. ## Fields | Field Name | Description | | --- | --- | | constantValueTranslations | Field Type [ConversationMessageConstantValueTranslation\[\]](#ConversationMessageConstantValueTranslation) Description Optional. An array of constant value translations that define translated versions of constants within the messaging component. Each element provides translations for specific constant values that customers see in the messaging interface. Available in API version 61.0 and later. | | label | Field Type string Description Required. The translated label or display name for the conversation message definition. This represents the name that agents see when selecting messaging components in their preferred language. Available in API version 61.0 and later. | | name | Field Type string Description Required. The unique identifier or name of the conversation message definition being translated. This must match the name of the base ConversationMessageDefinition for which this translation is created. Available in API version 61.0 and later. | ## ConversationMessageConstantValueTranslation Represents a translated constant value for conversation message definitions. Available in API version 61.0 and later. | Field Name | Description | | --- | --- | | name | Field Type string Description Required. The name of the constant value being translated. | | value | Field Type string Description Required. The translated value for this constant. | ## Usage Example This complex type is used within ConversationMessageDefinition to provide translations. Here's an example context: Welcome\_Message Welcome Message greeting\_text Bienvenido Mensaje de Bienvenida Welcome\_Message # ConversationVendorInfo Represents the connection between the partner vendor system and the Service Cloud feature. For example, for Service Cloud Voice, this type contains information about the partner telephony system or Contact Center as a Service (CCaaS) system. For Bring Your Own Channel for Messaging or Bring Your Own Channel for CCaaS, this type contains information about the partner messaging system or CCaaS system. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location ConversationVendorInfo components have the suffix .ConversationVendorInformation and are stored in the ConversationVendorInformation folder. ## Version ConversationVendorInfo components are available in API version 52.0 and later. ## Special Access Rules This type requires an add-on license for Service Cloud Voice for Partner Telephony or Digital Engagement. ## Fields The fields in the ConversationVendorInfo type apply to all Service Cloud features unless otherwise stated in the field description. For example, if a field applies to just one Service Cloud Voice telephony model setup or is applied differently by different partner systems, this is stated in the field description. | Field Name | Description | | --- | --- | | agentSSOSupported | Field Type boolean Description If set to true, agents can single sign-on (SSO) into their contact center using Salesforce as the identity provider (IdP). Behind the scenes, Salesforce is used as the SAML IdP in the Single Sign-On external client app for the contact center. If set to false, an IdP other than Salesforce is used or an IdP isn’t used at all. The default value is false. If this value is set to false and you want to use Salesforce as the IdP for your contact center, set this value and the namedCredentialSupported value to true and configure the service\_cloud\_voice.PartnerSSO interface in your Apex integration class. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | awsAccountKey | Field Type string Description The 12-digit AWS subaccount ID that’s automatically provisioned for you when Service Cloud Voice was turned on. Available in API version 55.0 and later. Applies to the following implementation: - Service Cloud Voice with Amazon Connect | | awsRootEmail | Field Type string Description The email address used by Salesforce to create the root user for the provisioned AWS subaccount when Service Cloud Voice was turned on. Available in API version 55.0 and later. Applies to the following implementation: - Service Cloud Voice with Amazon Connect | | awsTenantVersion | Field Type double Description The version number of the SVCTenantStack AWS CloudFormation stack that’s deployed. The stack is deployed in AWS region "us-east-1". Available in API version 55.0 and later. Applies to the following implementation: - Service Cloud Voice with Amazon Connect | | bridgeComponent | Field Type string Description The Lightning component used to communicate between the telephony or messaging system and other Lightning components. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | clientAuthMode | Field Type ClientAuthMode (enumeration of type string) Description The client authentication mode. Values are: - Custom - Mixed - SSO Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | connectorUrl | Field Type string Description The URL that hosts your Service Cloud Voice or Bring Your Own Channel for CCaaS connector. This value could be a Visualforce page or a public URL. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | customConfig | Field Type string Description The foreign key to the CustomEntityDefinition, which contains partner-specific custom settings. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | customIcon | Field Type string Description ID of the static resource used to identify the contact center integration, such as a Contact Center as a Service (CCaaS) provider logo. The static resource must be in SVG format. This field is optional. Available in API version 62.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Bring Your Own Channel for CCaaS | | customLoginUrl | Field Type string Description The URL that hosts your telephony system or CCaaS system login page. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS (supported when combined with a telephony CCaaS integration) | | developerName | Field Type string Description The unique name of the type in the API. | | einsteinConversationInsightsSupported | Field Type boolean Description If set to true, Einstein Conversation Insights is turned on. The default value is false. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | integrationClass | Field Type string Description The foreign key to the partner Apex class implementing supported interfaces. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | integrationClassName | Field Type string Description Deprecated in API version 53.0. Don't set this field. Instead, use integrationClass. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | intelligenceSupported | Field Type boolean Description If set to true, Salesforce ingests real-time signals sent from a partner telephony system. If set to false, Salesforce won't ingest real-time intelligence signals from a partner telephony system. The default value is false. Available in API version 59.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony | | isTaxCompliant | Field Type boolean Description Indicates whether the Amazon tax settings for the AWS subaccount provisioned for Service Cloud Voice have been confirmed (true). The default value is false. Available in API version 55.0 and later. Applies to the following implementation: - Service Cloud Voice with Amazon Connect | | keyProvisioningSupported | Field Type boolean Description If set to true, key provisioning and renewal are automated. The default value is false. Available in API version 54.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | masterLabel | Field Type string Description The partner vendor's display name as it appears in the UI. This name appears in several places in the UI, so include the partner vendor name for easy identification. For Service Cloud Voice, this label also represents the telephony provider name in the contact center record. For Service Cloud Voice with Amazon Connect, this field is always set to Service Cloud Voice. | | namedCredential | Field Type string Description A sample-named credential that can be used for Apex callouts to the partner system. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | namedCredentialSupported | Field Type boolean Description A sample-named credential that can be used for Apex callouts to the partner system. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | partnerContactCenterListSupported | Field Type boolean Description If set to true, enables the customer to select one contact center from a list of multiple contact centers to connect with Salesforce. The default value is false. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | partnerPhoneNumbersSupported | Field Type boolean Description If set to true, displays a list of phone numbers used to create contact center channels. The default value is false. Available in API version 54.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | partnerTransferDestinationsSupported | Field Type boolean Description If set to true, allows Salesforce to fetch contact center queues so that Salesforce and contact center queues can be mapped. The default value is false. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | queueManagementSupported | Field Type boolean Description If set to true, support queue management. The default value is false. Available in API version 56.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | serverAuthMode | Field Type ServerAuthMode (enumeration of type string) Description Deprecated in API 53.0. Server authentication mode. Set this value to None. Values are: - None - OAuth Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | telephonySettingsComponent | Field Type string Description The name of the Lightning Web Component (LWC) that is used to display additional agent settings in the Omni-Channel widget. This value is in the format mynamespace:componentName, where mynamespace is the namespace associated with the Service Cloud Voice package that was created, and componentName is the FQDN of the Lightning component. Available in API version 54.0 and later. Applies to the following implementation: - Service Cloud Voice with Partner Telephony | | unifiedRoutingSupported | Field Type boolean Description Indicates whether unified routing is supported (true) or not supported (false) for voice calls in voice channels. The default value is false. Once this value is set to true, it can’t be changed to false. Available in API version 63.0 and later. Applies to the following implementation: - Service Cloud Voice with Partner Telephony | | universalCallRecordingAccessSupported | Field Type boolean Description If set to true, Universal Call Recording Access is turned on. The default value is false. If this value is set to false and you want to turn on Universal Call Recording, set this value to true and configure the service\_cloud\_voice.RecordingMediaProvider interface in your Apex integration class. Available in API version 54.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect | | userSyncingSupported | Field Type boolean Description If set to true, supports automated user syncing whenever a user is added to or removed from a contact center. The default value is false. Available in API version 53.0 and later. Applies to the following implementations: - Service Cloud Voice with Partner Telephony - Service Cloud Voice with Partner Telephony from Amazon Connect - Bring Your Own Channel for CCaaS | | vendorType | Field Type ConversationVendorType (enumeration of type string) Description The Service Cloud feature the partner vendor supports. Possible values are: - Amazon\_Connect — For Service Cloud Voice with Amazon Connect. - BringYourOwnChannelPartner — For Bring Your Own Channel for Messaging. Available in API version 60.0 and later. - BringYourOwnContactCenter — For Bring Your Own Channel for Contact Center as a Service (CCaaS). Available in API version 60.0 and later. - ServiceCloudVoicePartner — For Service Cloud Voice with Partner Telephony or Service Cloud Voice with Partner Telephony from Amazon Connect. Available in API version 53.0 and later. | ## Declarative Metadata Sample Definition The following is an example of a ConversationVendorInfo component. true true true true true true true true true SSO https://exampleconnectorurl.com exampleCustomConfig\_\_c testurl ExampleIntegrationImpl Example Partner Name exampledevname exampleNamedCredential true BringYourOwnContactCenter The following is an example package.xml that references the previous definition. \* ConversationVendorInfo 59.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # ConvIntelligenceSignalRule Represents the conversation intelligence signal rule. The rule triggers actions based on real-time intelligence signals from your telephony system or keywords mentioned by support reps or customers. The rule contains a set of conditions (subrules) and the filter logic used to evaluate those conditions to determine whether to trigger actions. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location ConvIntelligenceSignalRule components have the suffix .ConvIntelligenceSignalRule and are stored in the ConvIntelligenceSignalRule folder. ## Version ConvIntelligenceSignalRule components are available in API version 62.0 and later. ## Special Access Rules This type requires an add-on license for Service Cloud Voice for Amazon Connect, Service Cloud Voice for Partner Telephony with Amazon Connect, Service Cloud Voice for Partner Telephony, or Digital Engagement. ## Fields | Field Name | Description | | --- | --- | | actionType | Field Type ConvIntelligenceActionType (enumeration of type string) Description Required. The conversation intelligence signal type. Values are: - AlertSupervisor–Sends an alert to the supervisor. - AlertSupervisorAndAgent–Sends an alert to the rep and supervisor. - LaunchFlow–Triggers an auto-launched flow. If set, also set ActionValue. - LaunchNBA–Recommends the next best action to the rep. | | actionValue | Field Type string Description Action to perform based on the actionType specified. If actionType is set to LaunchFlow, this value is the developerName of the flow to be launched. For example, EmailAlert. For all other actionType values, don’t set this parameter. | | active | Field Type boolean Description Required. Indicates whether the conversation intelligence signal rule is active (true) or inactive (false). The default value is false. | | channelAddressIdentifier | Field Type string Description Required. ID (ChannelAddressIdentifier) of the Messaging channel or name (InternalName) of the Voice channel. | | channelType | Field Type string Description Required. Channel type. For Messaging, possible values are: - AppleBusinessChat—Represents Apple Messages for Business. - Custom—Represents Bring Your Own Channel for Messaging or Bring Your Own Channel for CCaaS. - EmbeddedMessaging—Represents Messaging for In-App and Web. - Facebook - Text - WhatsApp For Voice, set this parameter to Phone. | | criteria | Field Type string Description Required. Filter logic applied to the rule conditions (subrules). For example, ((1 AND 2) OR 3). The numbers in the formula are derived from the ConvIntelligenceSignalSubRule.order value plus 1. For example, filter logic (1 AND 2) is calculated by adding the first condition (order\=0) with the second condition (order\=1). | | developerName | Field Type string Description Required. API name of the conversation intelligence signal rule. | | participantRole | Field Type ConvParticipantRole (enumeration of type string) Description If service is set to KeywordMatch, this value determines whether the rule applies to utterances made by reps, customers, or both roles. Possible values are: Possible values are: - Agent - AgentOrCustomer - Customer If Service is not set to KeywordMatch, don’t set this parameter. | | ruleName | Field Type string Description Required. Name of the conversation intelligence signal rule. | | service | Field Type ConvIntelligenceService (enumeration of type string) Description Required. Salesforce- or partner-provided intelligence source. For Salesforce-provided intelligence sources, set this parameter to KeywordMatch. For partner-provided intelligence sources, possible values are: - KeywordMatch - AmazonConnectContactLens If none of the options apply to you, contact your Salesforce representative for the service name. | | subrule | Field Type [ConvIntelligenceSignalSubRule\[\]](#ConvIntelligenceSignalSubRule) Description A set of intelligence rules used to measure an agent or customer’s sentiment during a voice call. | ## ConvIntelligenceSignalSubRule Represents a condition (subrule) within a conversation intelligence signal rule. | Field Name | Description | | --- | --- | | operandValue | Field Type string Description Required. Value of the signal type used to determine if the rule condition is met. | | operator | Field Type ConvIntelligenceOperator (enumeration of type string) Description Required. Filter logic operator used to determine if the rule condition is met. Possible values are: - Equals - GreaterThan - In - LessThan - NotEquals | | order | Field Type int Description Required. Order the condition appears in relation to the other conditions in the list, with zero (0) being the first condition listed. If type is set to Keyword, the maximum value is 24. For all other type values, the maximum value is 4. This value is used when applying filter logic to the rule. | | type | Field Type ConvIntelligenceType (enumeration of type string) Description Required. Type of conversation intelligence signal used by the rule to determine whether to trigger an action. This value depends on the ConvIntelligenceSignalRule.channelType and ConvIntelligenceSignalRule.service values. If service is set to KeywordMatch, possible values are: - Keyword–A word or group of words spoken or typed. If service is set to AmazonConnectContactLens, possible values are: - Category–Category name defined in your telephony system. If service is set to another value, contact your Salesforce representative for the conversation intelligence signal types available for your intelligence source. | ## Declarative Metadata Sample Definition The following is an example of a ConvIntelligenceSignalRule component. AlertSupervisor true a12bc345-1303-44c2-866c-f30d546b58de Phone 1 OR 2 ConvIntelligenceRuleAPIName AgentOrCustomer ConvIntelligenceRuleName KeywordMatch escalate\_level\_1 Equals 0 Keyword escalate\_level\_2 Equals 1 Keyword The following is an example package.xml that references the previous definition. \* ConversationIntelligenceSignalRule 62.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # CorsWhitelistOrigin Represents an origin in the CORS allowlist. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s 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
Field Name Field Type Description
urlPattern String 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 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 aren’t the same origin, and you must add them to the CORS allowlist as separate entries.

## Declarative Metadata Sample Definition Here’s an example package manifest used to deploy or retrieve the CorsWhitelistOrigin metadata for an organization. \* CorsWhitelistOrigin 32.0 Here’s an example of a CorsWhitelistOrigin component. CorsWhitelistEntry1 https://\*.example.com ## Usage [CORS](http://www.w3.org/TR/cors/ "HTML (New Window)") (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 isn’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.")\[\] = metadatabinding.create([Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm)\[\] 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 isn’t available in API version 31.0 and later. Use [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") instead. ## Permissions Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm "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."). ## Valid Data Values You must supply values that are valid for the field’s 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()](# "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.") with the component array passed in as an argument. 3. An [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") in a loop until the status values in [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") indicate that all create operations are completed. Start with a wait time of 1 second between iterations of [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") calls, and double the wait time each time you make a subsequent call. ## Sample Code—Java See [Step 3: Walk Through the Java Sample Code](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickstart_java_sample.htm) for sample Java code using the create() call. #### See Also - [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") - [update()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm "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.") - [delete()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_delete.htm "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.") - [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") ## Arguments ### metadata - **Type**: [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm)\[\] - **Description**: Array of one or more metadata components. 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. ## Response [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.")\[\] # createMetadata() Adds one or more new metadata components to your organization synchronously. ## Syntax [SaveResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_saveResult.htm "Contains result information for the createMetadata, updateMetadata, or renameMetadata call.")\[\] = metadatabinding.createMetadata( [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm)\[\] metadata); ## Usage Use the createMetadata() call to create any component that extends [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm). All components must be of the same type in the same call. For more details, see [Metadata Components and Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm "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."). 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_allornoneheader.htm "Indicates whether to roll back all metadata changes when some of the records in a call result in failures.") header. By default, if AllOrNoneHeader isn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm "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."). ## Valid Data Values You must supply values that are valid for the field’s 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 wasn’t successful. ## Sample Code—Java 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 ### metadata - **Type**: [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm)\[\] - **Description**: Array of one or more metadata components. Limit: 10. (For [CustomMetadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_custommetadata.htm) and [CustomApplication](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_customapplication.htm) only, the limit is 200.) 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_saveResult.htm "Contains result information for the createMetadata, updateMetadata, or renameMetadata call.")\[\] # CriteriaBasedSharingRule This component is removed as of API version 33.0 and is available in earlier versions only. Use [SharingRules](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm "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.") instead. Represents a criteria-based sharing rule. CriteriaBasedSharingRule enables you to share records based on specific criteria. It extends the [BaseSharingRule](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_basesharingrule.htm "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.") metadata type and inherits its sharedTo field. For more information, see “Criteria-Based Sharing Rules Overview” in Salesforce Help. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note You can’t 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 you’re familiar with implementing sharing rules for standard objects and custom objects. For more information on these fields, see Sharing Settings in Salesforce Help.
Field Field Type Description
criteriaItems FilterItem[] List that represents the criteria for the sharing rule. The possible values are:
  • field
  • operation
  • value
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#AccountSharingRules).
Field Field Type Description
accountAccessLevel ShareAccessLevelNoNone (enumeration of type string) Required. A value that represents the level of access that the user or group has to the account. The possible values are:
  • Read
  • Edit
  • All
booleanFilter string Represents the filter logic of the sharing rule.
caseAccessLevel ShareAccessLevelNoAll (enumeration of type string) 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:
  • None
  • Read
  • Edit
contactAccessLevel ShareAccessLevelNoAll (enumeration of type string) 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:
  • None
  • Read
  • Edit
description string Represents the description of the sharing rule. Maximum of 1000 characters.

This field is available in API version 29.0 and later.

name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
opportunityAccessLevel ShareAccessLevelNoAll (enumeration of type string) Required. A value that represents the level of access that a target group is granted for any associated opportunity. The possible values are:
  • None
  • Read
  • Edit
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#CampaignSharingRules).
Field Field Type Description
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters. This field is available in API version 29.0 and later.
campaignAccessLevel ShareAccessLevelNoNone (enumeration of type string) Required. A value that represents the level of access that a target group is granted for a campaign. The possible values are:
  • Read
  • Edit
  • All
name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#CaseSharingRules).
Field Field Type Description
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters.

This field is available in API version 29.0 and later.

caseAccessLevel ShareAccessLevelReadEdit (enumeration of type string) Required. A value that represents the level of access being granted for a case. The possible values are:
  • Read
  • Edit
name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
## ContactCriteriaBasedSharingRule Represents a criteria-based sharing rule for contacts. It extends the CriteriaBasedSharingRule metadata type and inherits its criteriaItems field. ContactCriteriaBasedSharingRule is used by the criteriaBasedRules field in [ContactSharingRules](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#ContactSharingRules).
Field Field Type Description
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters.

This field is available in API version 29.0 and later.

contactAccessLevel ShareAccessLevelReadEdit (enumeration of type string) 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:
  • Read
  • Edit
name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#LeadSharingRules).
Field Field Type Description
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters. This field is available in API version 29.0 and later.
leadAccessLevel ShareAccessLevelReadEdit (enumeration of type string) Required. A value that represents the level of allowed access. The possible values are:
  • Read
  • Edit
name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#OpportunitySharingRules).
Field Field Type Description
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters.

This field is available in API version 29.0 and later.

opportunityAccessLevel ShareAccessLevelReadEdit (enumeration of type string) Required. A value that represents the level of allowed access. The possible values are:
  • Read
  • Edit
name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#CustomObjectSharingRules).
Field Field Type Description
accessLevel string Required. A value that represents the type of allowed sharing. The possible values are:
  • Read
  • Edit
  • All
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters.

This field is available in API version 29.0 and later.

name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sharingrules.htm#UserSharingRules).
Field Field Type Description
booleanFilter string Represents the filter logic of the sharing rule.
description string Represents the description of the sharing rule. Maximum of 1000 characters.

This field is available in API version 29.0 and later.

name string Required. Name for the sharing rule. Corresponds to Label in the user interface.
userAccessLevel ShareAccessLevelReadEdit (enumeration of type string) Required. A value that represents the type of allowed sharing. The possible values are:
  • 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. G1Dev\_G2New G2New G1Dev Read None Read G2New\_R1New R1New G2New Edit Read Edit G2New\_R1New None AccountCriteria G1 BillingCity equals San Francisco MyChkBox\_\_c notEqual False Read 1 OR 2 None Read AccountCriteria None ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). - [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_basesharingrule.htm "BaseSharingRule") - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_ownersharingrule.htm "OwnerSharingRule") # 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm)** Adds one or more new metadata components to your organization synchronously. - **[readMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_readMetadata.htm)** Returns one or more metadata components from your organization synchronously. - **[updateMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_updateMetadata.htm)** Updates one or more metadata components in your organization synchronously. - **[upsertMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_upsertMetadata.htm)** Creates or updates one or more metadata components in your organization synchronously. - **[deleteMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteMetadata.htm)** Deletes one or more metadata components from your organization synchronously. - **[renameMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_renameMetadata.htm)** Renames a metadata component in your organization synchronously. - **[create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm)** 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_delete.htm)** 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm)** 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. # CRUD-Based Metadata API Calls 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/ "HTML (New Window)"). - 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 aren’t immediately returned in one call. - There are synchronous metadata calls that map to the corresponding core SOAP API synchronous calls. - [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") maps to the create() SOAP API call. - [updateMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_updateMetadata.htm "Updates one or more metadata components in your organization synchronously.") maps to the update() SOAP API call. - [deleteMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteMetadata.htm "Deletes one or more metadata components from your organization synchronously.") maps to the delete() SOAP API call. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Metadata API also supports retrieve() and deploy() calls for retrieving and deploying metadata components. For more information, see [Declarative (File-Based) Metadata API Calls](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based.htm). ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickstart_java_sample.htm). 2. Calls [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") 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 didn’t, 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 { 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()); } } } } 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickstart_java_sample.htm). 2. Calls [create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm "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.") to create a custom object. Salesforce returns an [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object for each component you tried to create. The [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object is updated with status information as the operation moves from a queue to completed or error state. 3. Calls [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") in a loop until the status value in [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") 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. \*/ 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: " + 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); } } # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ![Tip](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_tip.png) #### Tip Some infrastructure limits the maximum size of HTTP headers. If you allow multiple domains to frame content served by your org, keep the size of the CSP header under 12 KB. Salesforce customers report issues when the header size approaches 16 KB, and third parties often add to the header during processing. ## Version CspTrustedSite components are available in API version 39.0 and later. ## Fields
Field Field Type Description
canAccessCamera boolean Indicates whether this CspTrustedSite can access the user’s camera (true) or not (false). The default value is false.

This field takes effect only when the enablePermissionsPolicy field equals true and the grantCameraAccess field equals TrustedUrls in the SecuritySettings metadata API type.

This field is available in API version 59.0 and later.

canAccessMicrophone boolean Indicates whether this CspTrustedSite can access the user’s microphone (true) or not (false). The default value is false.

This field takes effect only when the enablePermissionsPolicy field equals true and the grantMicrophoneAccess field equals TrustedUrls in the SecuritySettings metadata API type.

This field is available in API version 59.0 and later.

context CspTrustedSiteContext (enumeration of type string) Declares the scope of the CSP directives for this trusted URL.
  • All—Apply the CSP directives to all supported context types.
  • Communities—Apply the CSP directives to Experience Builder sites only.
  • FieldServiceMobileExtension—Apply the CSP directives to the Field Service Mobile Extensions only. This value is available in API version 47.0 and later.
  • LEX—Apply the CSP directives to Lightning Experience pages only.
  • LightningOut—Reserved for future use. Available in API version 64.0 and later
  • VisualForce—Apply 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 page’s cspHeader attribute is set to true.

This field is available in API version 44.0 and later.

description string The description of this trusted URL.
endpointUrl string 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. To reduce repetition, you can use the wildcard character * (asterisk). For example, *.example.com.

    Don't include placeholders or invalid characters. For example, don't use malformed^url.example.com, and https://{subdomain}.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.
  • For a Chrome extension, use the 32-character extension ID in the format chrome-extension://abcdefghijklmnopabcdefghijklmnop. The ID can contain only lowercase letters a–p. Wildcards aren’t supported in Chrome extension URIs.

Before February 2025, it was possible to save a malformed URL. Malformed URLs are excluded from generated CSP HTTP headers. To keep your Trusted URLs list accurate, remove any malformed entries. You can use an Apex class to find all malformed URLs. See the knowledge article, Identify Malformed Trusted URLs.

To add an EndpointUrl based on parameters, build the URL before you add it to this Metadata Type.

isActive boolean Required. Indicates whether this CspTrustedSite is active (true) or not (false). The default value is true.
isApplicableToConnectSrc boolean Indicates whether Lightning components, third-party APIs, and WebSocket connections can load URLs using script interfaces 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.

isApplicableToFontSrc boolean 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.

isApplicableToFrameSrc boolean Indicates whether Lightning components, third-party APIs, and WebSocket connections can load resources contained in <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.
isApplicableToImgSrc boolean Indicates whether Lightning components, third-party APIs, and WebSocket connections can load images 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.
isApplicableToMediaSrc boolean Indicates whether Lightning components, third-party APIs, and WebSocket connections can load audio and video from this 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 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.
isApplicableToStyleSrc boolean Indicates whether Lightning components, third-party APIs, and WebSocket connections can load style sheets 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.
mobileExtension string Reserved for future use.
## Declarative Metadata Sample Definition A sample XML definition of a trusted site is shown below. false true Used for Lightning component callout to mapping web service LEX https://www.maptestsite.net/ true true true false true false true ## 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 aren’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CurrencySettings Represents an organization's currency settings, including turning on multiple currencies, configuring active currencies, setting the corporate currency, and enabling 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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 there's only one settings file for each settings component. ## Version CurrencySettings is available in API version 47.0 and later. The corporateCurrency and currency fields, and the deploy behavior for enableMultiCurrency, are available in API version 68.0 and later. ## Fields
Field Name Field Type Description
corporateCurrency string The ISO 4217 code of the org's corporate currency, such as USD or EUR. The corporate currency's conversion rate is fixed at 1.0; all other currencies are denominated against it. Setting this field in a deploy switches the org's corporate currency, which demotes the previously corporate currency and rebases conversion rates. The new corporate currency must already be registered in the org and be active. Has no effect unless enableMultiCurrency is true, either previously or in the same deploy. Available in API version 68.0 and later.
currency Currency[] One or more currency entries. New currencies are inserted; entries that match an existing currency by isoCode update its active, scale, and conversionRate values. Has no effect unless enableMultiCurrency is true, either previously or in the same deploy. See Currency Fields. Available in API version 68.0 and later.
enableCurrencyEffectiveDates boolean 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
enableCurrencySymbolWithMultiCurrency boolean 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.
enableMultiCurrency boolean Indicates whether multiple currencies are enabled (true) or not (false). This field has a default value of false. Starting in API version 68.0, deploying true against an org that doesn't have multi-currency enabled turns on multi-currency for the org. Deploying true against an org that already has multi-currency enabled is a no-op. When multi-currency is turned on, the corporate currency is taken from corporateCurrency if provided in the same deploy; otherwise it defaults to the org's locale-derived currency.
Important

Important

Turning on multi-currency is irreversible. After you deploy enableMultiCurrency=true, the org can't return to single-currency operation through Metadata API. Deploying enableMultiCurrency=false against an org that has multi-currency enabled returns an error. See Considerations for Enabling Multiple Currencies for more information.

isMultiCurrencyActivationAllowed boolean 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).

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

Note

Customizable Forecasting was retired in Summer '20. Users can't 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 Salesforce Forecasting.

isParenCurrencyConvDisabled boolean Indicates whether parenthetical currency conversion is disabled (true) or enabled (false). This field has a default value of true. When this field is set to false, Salesforce displays converted currency amounts to users whose personal currency differs from the currency of the record they're viewing.
## Currency Fields Represents one entry in the org's currency type list. Used as the element type of the CurrencySettings.currency collection. Available in API version 68.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | active | boolean | Indicates whether this currency is available for users to assign to records (true) or not (false). Inactive currencies can't be set as the corporate currency. Defaults to true for new currencies. Optional. | | conversionRate | double | The conversion rate from this currency to the corporate currency. Must be 1.0 if this entry is the corporate currency. Required for new currencies. | | isoCode | string | The currency's ISO 4217 code, such as USD, JPY, or EUR. The code must be one of the ISO codes that Salesforce supports; an unsupported code returns an error. Required. | | scale | int | The number of decimal places to use for this currency. Valid values are 0 through 6. Optional. | ## Declarative Metadata Sample Definition The following is an example of a CurrencySettings file that turns on multi-currency and seeds two currencies. true USD USD true 1.0 2 JPY true 110.0 0 false false false The following is an example package.xml that references the previous definition. Currency Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # Custom Metadata Types (CustomObject) Represents the metadata associated with a custom metadata type. For more information, see [Custom Metadata Types](https://help.salesforce.com/s/articleView?id=platform.custommetadatatypes_overview.htm&language=en_US "HTML (New Window)"). ## 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 aren’t allowed on custom metadata in the Partner or Enterprise APIs. Customers who install a managed custom metadata type can’t 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](https://developer.salesforce.com/blogs/engineering/2017/06/apex-metadata-api-security.html) to learn more. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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.
Field Name Field Type Description
description string A description of the custom metadata type. This field can contain a maximum of 1,000 characters.
fields CustomField[] Represents one or more custom fields in the custom metadata type.
gender Gender 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.
label string A label that represents the object throughout the Salesforce Setup user interface. Custom metadata types are visible only through the recently used objects list on the Lightning Platform Home Page and in the packaging user interface.
pluralLabel string The plural version of the label value.
startsWith StartsWith (enumeration of type string) Indicates whether the noun starts with a vowel, a consonant, or a special character. This field is used for languages where words need different treatment depending on their first character.
visibility SetupObjectVisibility (enumeration of type string) This field returns the visibility of a custom metadata type. The following values are valid:
  • Public—If the custom setting or custom metadata type is packaged, it’s accessible to all subscribing organizations.
  • Protected—If the custom object, custom setting, or custom metadata type is in a managed package, it’s accessible only to the developer org. Subscribing orgs can’t access it.
  • PackageProtected—If the custom metadata type is PackageProtected, it’s 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. AlphaSort\_\_c false false Sorted Alphabetically Checkbox Reusable Picklist Reusable Picklist Public This excerpt from a package.xml file shows the use of dot notation and the \_\_mdt suffix. If you’re using a namespace, for example picklist1234,​ the full name of ReusablePicklistOption\_\_mdt would be picklist1234​\_\_ReusablePicklistOption\_\_mdt. ... PicklistTest\_\_c.PicklistTestField\_\_c ReusablePicklistOption\_\_mdt.Picklist\_\_c ReusablePicklistOption\_\_mdt.SortOrder\_\_c PicklistUsage\_\_mdt.Field\_\_c PicklistUsage\_\_mdt.Picklist\_\_c PicklistUsage\_\_mdt.SObjectType\_\_c ReusablePicklist\_\_mdt.AlphaSort\_\_c CustomField ... PicklistTest\_\_c ReusablePicklistOption\_\_mdt PicklistUsage\_\_mdt ReusablePicklist\_\_mdt CustomObject ... 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). 1. [CustomMetadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_custommetadata.htm) Represents a record of a custom metadata type. # CustomAddressFieldSettings Represents the settings for custom address fields. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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
Field Name Field Type Description
enableCustomAddressField boolean Indicates whether the Address Field Type is available for custom fields (true) or not (false). The default value is false.

Custom Address Fields can’t be disabled. When enableCustomAddressField is set to true, you can’t change the value to false.

Note

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. true The following is an example package.xml that references the previous definition. CustomAddressField Settings 55.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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
Field Name Field Type Description
actionOverrides AppActionOverride[]

Represents an action override for an application. Use it to create, update, edit, or delete action overrides.This field is available for Lightning Experience in API version 38.0 and later.

brand AppBrand

The color scheme and logo used for the app.This field is available for Lightning Experience in API version 38.0 and later.

consoleConfig ServiceCloudConsoleConfig

Represents configuration settings for a Salesforce console app.This field is available in API version 42.0 and later.

defaultLandingTab string The fullName of a standard tab or custom tab that opens when this application is selected.
description string The optional description text of the application.
formFactors FormFactor (enumeration of type string) Indicates the form factors for which the app is visible for Lightning Experience. Valid values are:
  • Null (no value)—For a desktop using Salesforce Classic
  • Small—For a mobile device using the Salesforce mobile app
  • Medium—Reserved for future use
  • Large—For a desktop using Lightning Experience

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.

isNavAutoTempTabsDisabled boolean Indicates whether the navigation automatically creates temporary tabs settings. Applies only to Lightning apps with standard navigation. Available in API version 43.0 and later.
isNavPersonalizationDisabled boolean Indicates whether navigation personalization is disabled. Applies only to Lightning apps. Available in API version 43.0 and later.
isNavTabPersistenceDisabled boolean Indicates whether workspace tabs are cleared for each new console session (true) or not (false). Applies only to Lightning apps with console navigation. Available in API version 54.0 and later.
isServiceCloudConsole boolean 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.
label string The name of the application.
logo string The optional reference to the image document for a Salesforce app or Salesforce console app.
navType NavType (enumeration of type string) Not updateable. Indicates the type of navigation the app uses. The value Standard is for a Lightning app with standard navigation. The value Console is for a Lightning app with console navigation.

This field is available in API version 38.0 and later.

preferences AppPreferences

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.

profileActionOverrides AppProfileActionOverride[] A list of the Lightning Experience record page ProfileActionOverrides that are assigned to this custom app. When a user invokes the custom app, a matching ProfileActionOverride assignment takes precedence over existing overrides for the record page specified in ActionOverride. 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.

setupExperience string The type of Setup experience associated with the app. Valid values are:
  • all—Represents the full Setup tree.
  • essentials—Represents the Essentials Setup tree, which contains a subset of Setup items configured for Essentials edition.
  • service—Represents 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.

subscriberTabs string[] 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.

tabs string[] The list of tabs included in this application. In API version 12.0, the fullName for built-in tabs like Home, Account, and Reports, is the name of the tab (Home, for example). In API version 13.0 and later, built-in tabs are prefixed with standard-. For example, to reference the Account tab you would use standard-Account.

In API version 42.0, this field was renamed from tab to tabs.

uiBundle string[] The fully qualified name of an interal React app, which is represented by the UIBundle metadata type, such as c__propertymanagementapp. When configured, makes the app available in the App Launcher.

This field is available in API version 67.0 and later.

uiType UiType (enumeration of type string) Not updateable. Identifies the type of custom app. The value is:
  • Aloha for Salesforce Classic
  • Lightning for Lightning Experience

This field is available in API version 38.0 and later.

utilityBar string 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 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.

workspaceConfig AppWorkspaceConfig isServiceCloudConsole is true.Represents how records open in a Salesforce console app. Required if 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/actionoverride.htm#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.") and extends it by one field, pageOrSobjectType. Available for Lightning Experience in API version 38.0 and later.
Field Name Field Type Description
actionName string The only valid value is view for API version 43.0 and earlier. The value tab is supported for API version 44.0 and later.
comment string Any comments you want associated with the override.
content string Set this field if type is set to flexipage. It refers to the name of the page to use as the override. To reference installed components, use the format of Component_namespace__Component_name.
formFactor FormFactor(enumeration of type string) The size of the page being overridden.

If the type field is set to flexipage, set this field to Large to override the View action with a Lightning page in Lightning Experience.

The Large value represents the Lightning Experience desktop environment and is 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 there’s 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.
pageOrSobjectType string The name of the sObject type being overridden. Valid values are standard and custom.

This value must be standard-home when actionName is tab.

skipRecordTypeSelect boolean Set this field to true if you prefer that any new records created by this action override aren’t forwarded to the record type selection page. This field is only valid if the actionName is a “create” type (like new), and type is set to visualforce.
type ActionOverrideType (enumeration of type string) Required. Represents the type of action override. The valid values are Flexipage and Default.

A Flexipage AppActionOverride set to App Default can’t be deleted via Metadata API. Instead, remove the override using the page assignment wizard in the Lightning App Builder UI.

## AppBrand The color scheme and logo used for the app. Available for Lightning apps in API version 38.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | footerColor | string | Optional. Specify the color with a hexadecimal code, such as #0000FF for blue.Determines the footer color in the app. | | headerColor | string | Optional. Specify the color with a hexadecimal code, such as #0000FF for blue.Determines the header color in the app. | | logo | string | The optional reference to the image document for the application. | | logoVersion | int | An optional version number for the logo. | | shouldOverrideOrgTheme | boolean | 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, 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. | Field Name | Field Type | Description | | --- | --- | --- | | alignment | string | Required. Determines how custom console components are aligned in the footer of a Salesforce console app. | | components | string\[\] | 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. | ## 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. | Field Name | Field Type | Description | | --- | --- | --- | | enableCustomizeMyTabs | boolean | 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. | | enableKeyboardShortcuts | boolean | Indicates if a Salesforce Classic console app has keyboard shortcuts enabled. Shortcuts let users perform actions by pressing a combination of keys instead of having to use a mouse. After keyboard shortcuts are enabled, several default shortcuts are available for customization. Before you can create custom shortcuts, a developer must define the shortcut’s action with the addEventListener() method in the Salesforce Console Integration Toolkit. You can’t create keyboard shortcuts for actions performed outside of the console. This field is required if isServiceCloudConsole is true. | | enableListViewHover | boolean | 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 responsive list when the user hovers over a record name. For cases, hover over the subject field. | | enableListViewReskin | boolean | Indicates if Salesforce Classic console apps use responsive list views instead of Salesforce Classic lists views. | | enableMultiMonitorComponents | boolean | Indicates if a Salesforce Classic console app has multi-monitor components enabled, which lets users move portions of a console from their browsers to locations on their screens. This field is required if isServiceCloudConsole is true. | | enablePinTabs | boolean | Indicates if a Salesforce Classic console app has pinned tabs enabled, which lets users pin primary tabs to the tab bar for quick access. | | enableTabHover | boolean | 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. | | enableTabLimits | boolean | 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 | | saveUserSessions | boolean | Indicates if a Salesforce Classic console app saves user sessions automatically. If enabled, when console users close their browsers or log out of Salesforce, any previously open tabs display when users log in again. Required if isServiceCloudConsole is true. | ## AppProfileActionOverride Represents a ProfileActionOverride for a custom app. This type inherits from [ProfileActionOverride](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_profileactionoverride.htm#meta_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 or Profile metadata types. In API version 45.0 and later, you can access ProfileActionOverride only by accessing its encompassing CustomApplication.") 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.
Field Name Field Type Description
actionName string 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.

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.

content string Read-only. Represents the name of the Lightning page being used as the override.
formFactor FormFactor (enumeration of type string) Required. The size of the page being overridden. The Large value represents the Lightning Experience desktop environment.
pageOrSobjectType string 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
profile string The profile associated with the ProfileActionOverride.
recordType string The record type associated with the override. If pageOrSobjectType is standard-home, this field must be null. This field is required when actionName is set to View.
type ActionOverrideType (enumeration of type string) Required. Read-only. The type of action override. The only valid value is flexipage.
## 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. | Field Name | Field Type | Description | | --- | --- | --- | | mappings | [WorkspaceMappingSingle](#WorkspaceMappingSingle)\[\] | Represents how records for a specific tab open in a Salesforce console app. Required for each tab specified in the CustomApplication.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. | Field Name | Field Type | Description | | --- | --- | --- | | fieldName | string | The name of the field that specifies the primary tab in which to display tab as a subtab. If not specified, tab opens as a primary tab. | | tab | string | Required. Name of the tab. | ## 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 shortcut’s action with the addEventListener() method in the Salesforce Console Integration Toolkit. You can’t create keyboard shortcuts for actions performed outside of the console. Available in API version 28.0 and later.
Field Name Field Type Description
action string Required. The action performed in the console when a user presses the keyboard shortcut.
active boolean Required. Indicates whether the keyboard shortcut is active (true) or not (false).
keyCommand string Required. The combination of keys a user presses to trigger the keyboard shortcut. Keyboard shortcuts aren’t case-sensitive, but they display as uppercase on setup pages in the Salesforce user interface so that they’re 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
  • 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
  • ;
  • =
  • ,
  • —
  • .
  • /
  • ‘
  • [
  • ]
  • \
  • '
description string The optional description text for the keyboard shortcut.
eventName string Required. Code available to developers who want to add custom shortcut functions to the console via the Salesforce Console Integration Toolkit.
## 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.
Field Name Field Type Description
action string Required. The action performed in the console when a user presses the keyboard shortcut. Valid values are:
  • 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
active boolean Required. Indicates whether the keyboard shortcut is active (true) or not (false).
keyCommand string

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.

## KeyboardShortcuts Represents keyboard shortcuts assigned to a Salesforce console app. Required if isServiceCloudConsole is true. Available in API version 28.0 and later.
Field Name Field Type Description
customShortcuts CustomShortcut[] addEventListener() method in the Salesforce Console Integration Toolkit. You can’t create keyboard shortcuts for actions performed outside of the console.

Represents custom keyboard shortcuts assigned to a Salesforce console app in Salesforce Classic. Before you can create custom shortcuts, a developer must define the shortcut’s action with the In API version 42.0, this field was renamed from customShortcut to customShortcuts.

defaultShortcuts 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.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.
Field Name Field Type Description
height int Height of the list in pixels or percentage. Required if location is top.
location string Required. Location of the list on the screen. Valid values are:
  • full
  • top
  • left
units string Required. Represents if height or width is in pixels or percentage.
width int Width of the list in pixels or percentage. Required if location is left.
## LiveAgentConfig Represents your organization's settings for using Chat in the Salesforce Console.
Field Name Field Type Description
enableLiveChat boolean Specifies whether Chat is enabled in your organization (true) or not (false).
openNewAccountSubtab boolean Specifies whether to open a new Account subtab in a Salesforce console app automatically (true) or not (false) when an agent accepts a chat.
openNewCaseSubtab boolean Specifies whether to open a new Case subtab in a Salesforce console app automatically (true) or not (false) when an agent accepts a chat.
openNewContactSubtab boolean Specifies whether to open a new Contact subtab in a Salesforce console app automatically (true) or not (false) when an agent accepts a chat.
openNewLeadSubtab boolean Specifies whether to open a new Lead subtab in a Salesforce console app automatically (true) or not (false) when an agent accepts a chat.
openNewVFPageSubtab boolean Specifies whether to open a new Visualforce page as a subtab in a Salesforce console app automatically (true) or not (false) when an agent accepts a chat.
pageNamesToOpen string [array of strings] 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.

showKnowledgeArticles boolean Specifies whether to display the Knowledge component while using Chat in a Salesforce console app (true) or not (false).
## 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 user’s session. Available for use if isServiceCloudConsole is true. Available in API version 28.0 and later. | Field Name | Field Type | Description | | --- | --- | --- | | fieldNames | string\] | The name of the field or fields that trigger push notifications for the selected object. | | objectName | string | Required. Name of the object that triggers push notifications. | ## ServiceCloudConsoleConfig Represents configuration settings for a Salesforce console app. Available in API version 42.0 and later.
Field Name Field Type Description
componentList AppComponentList Represents custom console components (Visualforce pages) assigned to a Salesforce console app.
detailPageRefreshMethod string Determines how detail pages refresh in a Salesforce console app. Required if isServiceCloudConsole is true. The valid values are:
  • none
  • autoRefresh
  • flag
footerColor string Determines the footer color in a Salesforce console app. Specify the color with a hexadecimal code, such as #0000FF for blue.
headerColor string Specify the color with a hexadecimal code, such as #0000FF for blue.Determines the header color in a Salesforce console app.
keyboardShortcuts KeyboardShortcuts Represents the keyboard shortcuts for a Salesforce console app. Keyboard shortcuts let users perform actions by pressing a combination of keys instead of having to use a mouse.
listPlacement ListPlacement Represents how lists display in a Salesforce console app. Required if isServiceCloudConsole is true.
listRefreshMethod string Determines how lists refresh in a Salesforce console app. Required if isServiceCloudConsole is true. The valid values are:
  • none
  • refreshList
  • refreshListRows
liveAgentConfig LiveAgentConfig Represents the configurations for using Chat in the Salesforce Console.
primaryTabColor string Determines the primary tab color in a Salesforce console app. Specify the color with a hexadecimal code, such as #0000FF for blue.
pushNotifications PushNotification[] Represents push notifications for a Salesforce console app. Push notifications are visual indicators on lists and detail pages that show when a record or field has changed during a user’s session. For example, assume that two support agents are working on the same case. If one agent changes the Priority, a push notification displays to the other agent so the agent notices the change and doesn’t duplicate the effort.
tabLimitConfig TabLimitConfig Represents the maximum number of primary tabs and subtabs allowed in one Salesforce console session. Required if enableTabLimits is true.
whiteListedDomains string[] Any external domains that users can access from within a Salesforce console app. For example, www.yourdomain.com.
## TabLimitConfig Represents the maximum number of primary tabs and subtabs allowed in one Salesforce console session. Required if enableTabLimits is true.
Field Name Field Type Description
maxNumberOfPrimaryTabs string The maximum number of primary tabs allowed in one console session. Valid values are:
  • 5
  • 10
  • 20
  • 30
maxNumberOfSubTabs string The maximum number of subtabs allowed in one console session. Valid values are:
  • 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 section, and remove the row. Then, change the 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. Don’t 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. To retrieve all apps in your organization—custom and standard apps, specify the wildcard character (\*), as follows. \* CustomApplication ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. MyCustomApp CustomApplication To retrieve a standard app, add the standard\_\_ prefix to the app name. For example, to retrieve the Chatter standard app, specify standard\_\_Chatter. standard\_\_Chatter CustomApplication 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. myInstalledPackageNS\_\_PackageApp CustomApplication ## Declarative Metadata Sample Definition Here’s the definition of a custom Lightning Experience app: View Action override created by Lightning App Builder during activation. Custom\_Mobile\_Oppty\_Page Small false Flexipage Opportunity View Action override created by Lightning App Builder during activation. Custom\_Mobile\_Oppty\_Page Large false Flexipage Opportunity #EE1518 true Manage inventory and deliveries for our warehouses. Small Large false false Warehouse Lightning Standard View Warehouse\_test\_page Large Warehouse\_\_c Flexipage Admin View Warehouse\_test\_page Small Warehouse\_\_c Flexipage Admin all standard-Feed standard-File standard-Account standard-Case Merchandise\_\_c Invoice\_\_c Warehouse\_\_c Delivery\_\_c standard-report standard-Dashboard Lightning The following is a definition of a standard app (Chatter): standard-home Collaboration standard-Chatter standard-UserProfile standard-OtherUserProfile standard-CollaborationGroup standard-File ## Declarative Metadata Sample Definition—Salesforce Console The following is the definition of a custom app where isServiceCloudConsole is true: left MyComponent autoRefresh MyCustomShortcutAction true X Custom Shortcut example myCustomShortcutExample FOCUS\_CONSOLE true ESC FOCUS\_NAVIGATOR\_TAB true V FOCUS\_DETAIL\_VIEW true SHIFT+S FOCUS\_PRIMARY\_TAB\_PANEL true P FOCUS\_SUBTAB\_PANEL true S FOCUS\_LIST\_VIEW true N FOCUS\_FIRST\_LIST\_VIEW true SHIFT+F FOCUS\_SEARCH\_INPUT true R MOVE\_LEFT true LEFT ARROW MOVE\_RIGHT true RIGHT ARROW UP\_ARROW true UP ARROW DOWN\_ARROW true DOWN ARROW OPEN\_TAB\_SCROLLER\_MENU true D OPEN\_TAB true T CLOSE\_TAB true C ENTER true ENTER EDIT true E SAVE true CTRL+S left percent 20 refreshList CreatedBy Campaign CustomField1\_\_c CustomObject1\_\_c standard-home true MyConsole false true true true true true false false false standard-Case standard-Account standard-Contact standard-Contract standard-Case ParentId standard-Account AccountId standard-Contact standard-Contract ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [CustomTab](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_tab.htm "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 app’s 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.") # 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 | Field Name | Field Type | Description | | --- | --- | --- | | buttonIconUrl | string | The address of a page that hosts an icon for the button. | | buttonStyle | string | The inline style used to define how the button looks. | | buttonText | string | The label on the button used to launch the custom console component. | | buttonWidth | int | The pixel width of the button displayed in the Salesforce console. | | height | int | The pixel height of the window used to display the custom console component. | | isHeightFixed | boolean | Required. Indicates whether users can change the custom console component height (false) or not (true). | | isHidden | boolean | Required. Indicates whether the custom console component is hidden from users (true) or not (false). | | isWidthFixed | boolean | Required. Indicates whether users can change the component width (false) or not (true). | | visualforcePage | string | Required. Name of the Visualforce page that represents the custom console component. | | width | int | The pixel width of the window used to display the custom console component. | ## Declarative Metadata Sample Definition The following is the definition of a custom application component: https://salesforce.com buttonStyleCSS buttonText 200 200 false false false MyVisualforcePage 50 ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CustomerDataPlatformSettings Represents an org's Data 360 settings. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for more details. ## File Suffix and Directory Location CustomerDataPlatformSettings values are stored in the CustomerDataPlatformSettings.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 CustomerDataPlatformSettings components are available in API version 48.0 and later. ## Special Access Rules ## Fields | Field Name | Description | | --- | --- | | enableCustomerDataPlatform | Field Type boolean Description Indicates whether an org has Data 360 enabled (true) or not (false). | ## Declarative Metadata Sample Definition The following is an example of a CustomerDataPlatformSettings component. true The following is an example package.xml that references the previous definition. CustomerDataPlatform Settings 55.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | criteria | [FeedFilterCriterion](#FeedFilterCriteria) \[\] | 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. | | description | string | The description of the custom feed filter. For example, specify what feed items that filter shows. | | label | string | Required. The API label of the custom feed filter. | | isProtected | boolean | An auto-generated value. It currently has no impact. | ## FeedFilterCriterion Represents the conditions that a feed item must satisfy to be displayed when a feed filter is applied.
Field Name Field Type Description
feedItemType FeedItemType (enumeration of type string)

Required. The type of feed items that the filter shows.

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
feedItemVisibility FeedItemVisibility (enumeration of type string)

The visibility of feed items that the filter shows. For example, you can show only poll posts that are visible internally.

Valid values are:

  • AllUsers
  • InternalUsers
relatedSObjectType string

The API name of the object that the feed item refers to. This field is typically used with the CreateRecordEvent feed item type.

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](#meta_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.") component. CreateRecordEvent MyCO01\_\_c CreateRecordEvent Case PollPost InternalUsers Sample Custom Feed Filter The following is an example package.xml that references the previous definition. myCaseFeedFilter CustomFeedFilter 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 turn on history tracking or Chatter feed tracking. Other standard fields aren't supported, including system fields (such as CreatedById or LastModifiedDate) and auto number fields. Some standard picklist fields aren’t supported. See [Unsupported Metadata Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_unsupported_types.htm "Some Salesforce features have metadata types that aren’t available in Metadata API. These metadata types can’t be retrieved or deployed with Metadata API. To make changes to these types, you must do it manually in each of your organizations."). By default, a custom object doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note In Metadata API, external objects are represented by the CustomObject metadata type. These custom field types aren’t 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) - Rollup 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") for more information. Standard fields are predefined on standard objects. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. MyCustomObject\_\_c.MyCustomField\_\_c Account.MyCustomAccountField\_\_c Account.Phone CustomField ## Retrieving or Deploying Fields on Data 360 Objects When you retrieve a Data 360 object, such as a data lake object (DLO) or data model object (DMO), not all custom field properties are returned. The properties returned depend on the data type of the custom field. When you deploy a Data 360 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 360 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.
Field Name Field Type Description
businessOwnerGroup reference Group associated with this field. The business owner group understands the importance of the field’s data to your company, and can be responsible for determining the minimum security classification. This field is available in API version 45.0 and later.
businessOwnerUser reference Person associated with this field. The business owner understands the importance of the field’s data to your company, and can be responsible for determining the minimum security classification. This field is available in API version 45.0 and later.
businessStatus picklist Indicates if the field is in use. Valid values are:
  • Active
  • DeprecateCandidate
  • Hidden
This field is available in API version 45.0 and later
caseSensitive boolean 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 field’s values are matched against the values of the referenceTargetField.

complianceGroup multipicklist Compliance acts, definitions, or regulations related to the field’s data. Valid values are:
  • CCPA
  • COPPA
  • GDPR
  • HIPAA
  • PCI
  • PII
This field is available in API version 47.0 and later.
customDataType string Deprecated in the Spring ‘19 (API version 45.0) release.
defaultValue string If specified, represents the default value of the field.
deleteConstraint DeleteConstraint (enumeration of type string) Deletion options for lookup relationships. Valid values are:
  • Cascade—Deletes the lookup record and associated lookup fields.
  • Restrict—Prevents the record from being deleted if it's in a lookup relationship.
  • SetNull—Default value. If the lookup record is deleted, the lookup field is cleared.

For more information on lookup relationships, see Object Relationships Overview.

deprecated boolean Reserved for future use.
description string Description of the field.
displayFormat string Display format of the field.
displayLocationInDecimal boolean Indicates how the geolocation values of a custom location field appear in the user interface. If true, the geolocation values appear in decimal notation. If false, the geolocation values appear as degrees, minutes, and seconds.
elementType ElementType (enumeration of type string) Reserved for future use.
encryptionScheme EncryptionScheme (enumeration of type string) For encrypted fields, determines which encryption scheme a field takes. Valid values are:
  • CaseInsensitiveDeterministicEncryption
  • CaseSensitiveDeterministicEncryption
  • None
  • ProbabilisticEncryption
This value pertains to Shield Platform Encryption, not Classic Encryption. This field is available in API version 44.0 and later.
externalDeveloperName string Available only for external objects. Name of the table column on the external data source that maps to this custom field in Salesforce. Corresponds to the External Column Name in the user interface. This field is available in API version 32.0 and later.
externalId boolean 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 auto number, email, number, or text.
fieldManageability FieldManageability (enumeration of type string) Determines who can update the field after it’s released in a managed package. Valid values are:
  • Locked—The field can’t be updated.
  • DeveloperControlled—The creator of the record can update the field with a package upgrade.
  • SubscriberControlled—Anyone with proper permissions can update the field. The field can’t 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.
formula string If specified, represents a formula on the field.
formulaTreatBlanksAs TreatBlanksAs (enumeration of type string) Indicates how to treat blanks in a formula. Valid values are BlankAsBlank and BlankAsZero.
fullName string Full name of the object. It must be specified when creating, updating, or deleting the object. See createMetadata() to see an example of this field specified for a call.

This value can't be null.

globalPicklist string. If this custom field is a picklist that’s based on a global picklist, globalPicklist is the name of the global picklist whose value set this picklist inherits. A custom picklist that’s based on a global picklist is restricted. You can only add or remove values by editing the global picklist. This field is available only in API version 37.0.
indexed boolean Indicates whether the field is indexed (true) or not (false). If this field is unique or the externalId is set true, the isIndexed value is set to true. This field is available only in API version 14.0 and earlier.
inlineHelpText string Content of field-level help. For more information, see Define Field-Level Help.
isAIPredictionField boolean Available for number type custom fields when you use Einstein Prediction Builder. Indicates whether the field can store and display Einstein prediction data on an object (true) or not (false). Use Einstein Prediction Builder to determine the data for the target field. This field is available in API version 43.0 and later.
isFilteringDisabled boolean Available only for external objects. Indicates whether the custom field is available in filters (true) or not (false). This field is available in API version 32.0 and later.
isNameField boolean Available only for external object fields of type text. Indicates whether the custom field is the name field (true) or not (false). For each external object, you can specify one field as the name field. If you set this value to true, ensure the external table column identified by the externalDeveloperName attribute contains name values. This field is available in API version 32.0 and later.
isSortingDisabled boolean Available only for external objects. Indicates whether the custom field is sortable (true) or not (false). This field is available in API version 32.0 and later.
label string Label for the field. You can't update the label for standard picklist fields, such as the Industry field for accounts.
length int Length of the field.
lookupFilter LookupFilter Metadata associated with a lookup filter definition. This field is only available in API version 30.0 and earlier. The metadata associated with a lookup filter is now represented by the lookupFilter field in the CustomField component.

LookupFilter isn't supported on the article type object.

maskChar EncryptedFieldMaskChar (enumeration of type string)

For encrypted fields, specifies the character to be used as a mask. Valid values are:

  • asterisk
  • X

This value pertains to Classic Encryption, not Shield Platform Encryption. For more information on encrypted fields, see Classic Encryption for Custom Fields in Salesforce Help.

maskType EncryptedFieldMaskType (enumeration of type string)

For encrypted text fields, specifies the format of the masked and unmasked characters in the field. Valid values are:

  • all—all characters in the field are hidden. This option is equivalent to the Mask All Characters option in Salesforce.
  • creditCard—The first 12 characters are hidden and the last four appear. This option is equivalent to the Credit Card Number option in Salesforce.
  • lastFour—all characters are hidden but the last four appear. This option is equivalent to the Last Four Characters Clear option in Salesforce.
  • nino—all 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.
  • sin—all characters are hidden but the last four appear This option is equivalent to the Social Insurance Number option in Salesforce.
  • ssn—The first five characters are hidden and the last four appear This option is equivalent to the Social Security Number option in Salesforce.
This value pertains to Classic Encryption, not Shield Platform Encryption. For more information on encrypted fields, see Classic Encryption for Custom Fields in Salesforce Help.
metadataRelationshipControllingField string In custom metadata relationships, represents the controlling field that specifies the standard or custom object in an entity definition 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.
picklist Picklist If specified, the field is a picklist, and this field counts the picklist values and labels. This field is available only in API version 37.0 and earlier. In later versions, use valueSet instead.
populateExistingRows boolean Indicates whether existing rows are going to be populated (true) or not (false).
precision int Precision, or number of digits in a number value. For example, the number 256.99 has a precision value of 5.
referenceTargetField string Specifies the custom field on the parent object to match 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. Available only for indirect lookup relationship fields on external objects. This field is available in API version 32.0 and later.
referenceTo string Reference this field has to another object.
relationshipLabel string Label for the relationship.
relationshipName string Value for one-to-many relationships. For example, if MyObject has a relationship to YourObject, the relationship name can be YourObjects.
relationshipOrder int This field is valid for all master-detail relationships, but the value is only non-zero for junction objects. A junction object has two 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.

0 or 1 are the only valid values, and 0 is always the value for objects that aren't junction objects.

reparentableMasterDetail boolean Indicates whether the child records in a master-detail relationship on a custom object can be reparented to different parent records (true) or not (false). The default value is false.

This field is available in API version 25.0 and later.

required boolean Indicates whether the field requires a value on creation (true) or not (false).
scale int Scale, or 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.
securityClassification picklist Sensitivity of the data contained in the field. Valid values are:
  • Public
  • Internal
  • Confidential
  • Restricted
  • MissionCritical
This field is available in API version 45.0 and later.
startingNumber int Starting number for the field. When you create records, the Starting Number value increments to store the number that will be assigned to the next auto number field created.
  • You can’t retrieve the starting number of an auto number field through the 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.
stripMarkup boolean Indicates whether to remove markup (true) or preserve it (false). Used when converting a rich text area to a long text area.
summarizedField string Field on the detail row that’s being summarized. This field can't be null unless the summaryOperation value is count.
summaryFilterItems FilterItem[] Set of filter conditions for this field if it's a summary field. This field is summed in the child if the filter conditions are met.
summaryForeignKey string Master-detail field on the child that defines the relationship between the parent and the child.
summaryOperation SummaryOperations (enumeration of type string) Represents the type of sum operation to be performed. Valid values are:
  • Count
  • Min
  • Max
  • Sum
trackFeedHistory boolean Indicates whether the field is enabled for feed tracking (true) or not (false). To set this field to true, the enableFeeds field on the associated CustomObject must also be true. For more information, see Customize Chatter Feed Tracking.

This field is available in API version 18.0 and later.

trackHistory boolean 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.

Field history tracking isn’t available for external objects.

trackTrending boolean Indicates whether historical trending data is captured for the field (true) or not (false). An object is enabled for historical trending if this attribute is true for at least one field. This field is available in API version 29.0 and later.

For more information, see Report on Historical Changes.

trueValueIndexed boolean Relevant only for a checkbox field. If set, true values are built into the index. This field is available only in API version 14.0 and earlier.
type FieldType (enumeration of type string) Type of field. Optional for standard fields on standard objects. This field is included for some standard field types, such as picklist or lookup, but not for others. The type field is included for custom fields.
unique boolean Indicates whether the field is unique (true) or not (false).
valueSet ValueSet Set of values that make up a picklist on a custom field. Each value is defined as a CustomValue. If this 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.

visibleLines int Number of lines shown for the field.
writeRequiresMasterRead boolean 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.
  • true—Allows users with Read access to the primary record permission to create, edit, or delete child records. This setting makes sharing less restrictive.
  • false—Allows 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_field_types.htm "These field types extend the field types described in the Salesforce Object Reference."). ## MktDataModelFieldAttributes Represents the Data 360 data model field attributes for a custom field. This type is a subtype of CustomField.
Field Name Field Type Description
definitionCreationType DefinitionCreationType enumeration How the object was added. Valid values are:
  • Bridge
  • Custom
  • Derived
  • Standard
  • System

In API version 62.0 and later, additional valid values are:

  • Activation_Audience
  • Ad_Audience_Insights
  • ADG
  • Calculated_Insight
  • CG_Audience
  • Chunk
  • Directory_Table
  • External
  • Problem_Records
  • Segment_Membership
  • Semantic
  • Transform
  • Vector_Embedding

In API version 67.0 and later, additional valid values are:

  • Ad_Audience_Insights
  • Auxiliary
  • Clean_Room
  • Deletion_Records
  • Problem_Records
invalidMergeActionType InvalidMergeActionType (enumeration of type string) Action to take when an invalid merge occurs for a field used to merge data. Valid values are:
  • Drop
  • Keep
  • Override
isDynamicLookup boolean Indicates whether existing data is queried for the field’s unique values (true) or not (false).
labelOverride string Custom label that overrides the field’s default display label in the data model. If unspecified, the default label is used. Maximum length is 255 characters. This field is available in API version 65.0 and later.
mappingAlertType MappingAlertType (enumeration of type string)

Type of alert shown when this field isn't mapped in the data model. This field is available in API version 65.0 and later. Valid values are:

  • None—No alert is shown when the mapping is incomplete or invalid.
  • Warning—A non-blocking warning is shown when the field mapping is incomplete or invalid.
  • Error—A blocking error prevents saving when the mapping is invalid.
masterLabel string Master label for the field. Maximum length is 40 characters. This field is available in API version 65.0 and later.
primaryIndexOrder int Position of the field in the primary key, starting at 1. If specified, the field is part of the primary key. For a compound primary key, the value specifies the field’s position in the key.
refAttrDeveloperName string Developer name of the field in the reference model. Applies only to standard fields.
mktDatalakeSrcKeyQualifier string Developer name of the MktDataLakeSrcKeyQualifier configured in the field.
## MktDataLakeFieldAttributes Represents the Data 360 data lake field attributes for a custom field. This type is a subtype of CustomField. Available in API version 50.0 or later.
Field Name Field Type Description
definitionCreationType DefinitionCreationType (enumeration of type string) How the object was added. Valid values are:
  • Bridge
  • Custom
  • Derived
  • Standard
  • System

In API version 62.0 and later, additional valid values are:

  • ADG
  • Calculated_Insight
  • CG_Audience
  • Chunk
  • Directory_Table
  • External
  • Semantic
  • Vector_Embedding
dateFormat string Optional date format of date and time fields. This field is available only in API version 55.0 and earlier.
externalName string External name of this field.
isEventDate boolean Indicates whether this field contains the event date for behavioral model area objects that are used to partition data (true) or not (false).
primaryIndexOrder int Position of the field in the primary key, starting at 1. If specified, the field is part of the primary key. For a compound primary key, the value specifies the field’s position in the key.
isInternalOrganization boolean Indicates whether this field contains the value for internal organization (true) or not (false). The value of the field is the name of the internal organization. Landing objects don't have access to the Salesforce ID and use the developer name instead.
isRecordModified boolean Indicates whether the field is the record modified field used to calibrate latest record version (true) or not (false).
mktDatalakeSrcKeyQualifier string Developer name of the MktDataLakeSrcKeyQualifier configured in the field. This field is available in API version 55.0 and later.
keyQualifierName string Developer name of key qualifier field. This field is available in API version 55.0 and later.
## 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. | Field | Field Type | Description | | --- | --- | --- | | active | boolean | Required. Indicates whether the lookup filter is active (true) or not (false). | | booleanFilter | string | Advanced filter conditions. | | description | string | Description of what this filter does. | | errorMessage | string | Error message that appears if the lookup filter fails. | | filterItems | [FilterItem\[\]](#filteritem) | Required. Set of filter conditions. You can have up to 10 FilterItems per lookup filter. | | infoMessage | string | Information message displayed on the page. Use this field describe things the user possibly doesn't understand, such as why certain items are excluded in the lookup filter. | | isOptional | boolean | Required. Indicates whether the lookup filter is optional (true) or not (false). | Lookup filters use additional data types. For more information, see [Metadata Field Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_field_types.htm "These field types extend the field types described in the Salesforce Object Reference."). ## FilterItem Represents one entry in a set of filter criteria.
Field Field Type Description
field string Name of the field specified in the filter.
operation FilterOperation (enumeration of type string) Filter operation for this filter item. Valid values are:
  • equals
  • notEqual
  • lessThan
  • greaterThan
  • lessOrEqual
  • greaterOrEqual
  • contains
  • notContain
  • startsWith
  • includes
  • excludes
  • within (DISTANCE criteria only)
value string Value of the filter item being operated on, for example, if the filter is my_number_field__c > 1, the value of value is 1.
valueField string Final column in the filter contains a field or a field value. Approval processes don’t support valueField entries in filter criteria.
## Declarative Metadata Sample Definition The following example shows a field definition for a custom field that’s named Comments\_\_c. .... Comments\_\_c Add your comments about this object here This field contains help text for this object Comments 32000 LongTextArea 30 .... This XML is the definition for two fields on the Account standard object—a custom field (MyCustomAccountField\_\_c), and a standard field (Phone) that has history tracking enabled. MyCustomAccountField\_\_c A custom field on the Account standard object. false Some help text. MyCustomAccountField 100 false false false Text false Phone false true ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). - [← Previous](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_compactlayout.htm "CompactLayout") - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_fieldset.htm "FieldSet") #### See Also - [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") - [Picklist (Including Dependent Picklist)](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_picklist.htm "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.") - [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") - [NamedFilter](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/namedfilter.htm "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.") # CustomFieldDisplay Represents the view type assigned to product attribute custom fields. This type extends the Metadata metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 CustomFieldDisplay components have the suffix .customFieldDisplay. ## Version CustomFieldDisplay components are available in API version 63.0 and later. ## Fields
Field Name Field Type Description
displayType CustomFieldDisplayType​ (enumeration of type string)

Required. The view type of the product attribute custom fields. Values are:

  • ColorSwatch
  • Dropdown
  • Pill
fieldApiName string Required. The unique name of the product attribute, for example, color_c.
isProtected boolean Optional. An auto-generated value that doesn’t impact the behavior of the metadata type. The default value is false.
masterLabel string Required. The primary label for this object.
## Declarative Metadata Sample Definition The following is an example of a CustomFieldDisplay component. cfd1 Color\_\_c Pill false The following is an example package.xml that references the previous definition. \* CustomFieldDisplay 63.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 | Field Name | Field Type | Description | | --- | --- | --- | | customHelpMenuItems | CustomHelpMenuItems\[\] | Items included in the custom section. Specify up to 15 items. | | masterLabel | string | Required. Name of the custom section. Only one custom section can be added to the Lightning Experience help menu. Specify up to 80 characters. | ## CustomHelpMenuItems Items included in the custom section. Specify up to 15 items. | Field Name | Field Type | Description | | --- | --- | --- | | linkURL | string | Required. The URL for the resource. | | masterLabel | string | Required. The name of the resource. Specify up to 100 characters. | | sortOrder | int | Required. The order of the item within the custom section. Valid values are 1 through 15. | ## Declarative Metadata Sample Definition The following is an example of a CustomHelpMenuSection component. MyOrgCustomHelp https://www.yourcompanyhelp.com/gettingstarted Getting Started 1 https://www.yourcompanyhelp.com/features Feature to Start Using Right Away 2 https://www.yourcompanyhelp.com/salestips Tips for Sales Team Members 3 The following is an example package.xml that references the previous definition. MyOrgCustomHelp CustomHelpMenuSection 45.0 # 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.salesforce_large_data_volumes_bp.meta/salesforce_large_data_volumes_bp/ldv_deployments_infrastructure_indexes.htm) in Best Practices for Deployments with Large Data Volumes, and then contact Salesforce Customer Support. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | allowNullValues | boolean | Indicates whether null values are allowed in the index (true) or not (false). The default value is false. | | booleanIndexedValue | boolean | Indicates whether boolean fields are indexed (true) or not (false). Available in API version 61.0 and later. | ## Declarative Metadata Sample Definition The following is an example of a CustomIndex component. false true ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm "Metadata type that enables work with translations for various supported languages. The ability to translate component labels is part of the Translation Workbench.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm#translation_languages). ## Version CustomLabels components are available in API version 14.0 and later. ## Fields
Field Field Type Description
fullName string 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, or deleting. See createMetadata() to see an example of this field specified for a call.

labels CustomLabel[] A list of custom labels.
## CustomLabel This metadata type represents a custom label. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field.
Field Field Type Description
categories string 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.
fullName string 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, or deleting. See createMetadata() to see an example of this field specified for a call.

language string Required. The language of the translated custom label.
protected boolean Required. Indicates whether this component is protected (true) or not (false). Protected components can’t be linked to or referenced by components created in the installing organization.
shortDescription string Required. An easily recognizable term to identify this custom label. This description is used in merge fields.
value string Required. The translated custom label. Maximum of 1000 characters.
## 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 doesn’t support retrieving one or more custom labels by name. To retrieve specific labels by name, use CustomLabel and specify the label names as members. ## Declarative Metadata Sample Definition This is a sample XML definition of a custom label component. quoteManual This is a manual quote. en\_US false Manual Quote quoteAuto This is an automatically generated quote. en\_US false Automatic Quote This is a sample manifest file for retrieving all custom labels in the organization by using the CustomLabels type. MyPkg \* CustomLabels 68.0 This is a sample manifest file for retrieving two custom labels by name. Notice it uses the CustomLabel singular type. MyPkg quoteManual quoteAuto CustomLabel 68.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). ## CustomLabels Limitation Before you use the CustomLabels metadata type, understand the limitations of this feature. You can’t retrieve the CustomLabels metadata type with a namespace. #### See Also - [Translations](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm "Metadata type that enables work with translations for various supported languages. The ability to translate component labels is part of the Translation Workbench.") # CustomMetadata Represents a record of a custom metadata type. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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 don’t 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
Field Name Field Type Description
description string A description of the custom metadata record. This field can contain a maximum of 1,000 characters.
label string A label that represents the object throughout the Salesforce Setup user interface. Custom metadata records are currently visible only through the packaging user interface.
protected boolean
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.
  • Code that’s in the same managed package as custom metadata records can read the records.
  • Code that’s in the same managed package as custom metadata types can read the records that belong to that type.
  • Code that’s in a managed package that doesn’t contain either the type or the protected record can’t read the protected records.
  • Code that the subscriber creates and code that’s in an unmanaged package can’t 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 can’t read or modify protected records. The developer name of a protected record can’t be changed after release.
  • The subscriber can’t create records of a protected type.
Records that are hidden by these access rules are also unavailable to REST, SOAP, SOQL, and Setup.
values CustomMetadataValue[] Represents one or more values for custom fields on the custom metadata record.
## CustomMetadataValue Represents a value for a custom field on the custom metadata record. | Field Name | Field Type | Description | | --- | --- | --- | | field | string | Required. The non-object-qualified name of a custom field in the custom metadata type. This value corresponds to the name of a field on the custom metadata record’s 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 isn’t required. For example, picklist1234\_\_AlphaSort\_\_c. | | value | Any type | The value on a custom metadata record. Where fields are EntityDefinition and FieldDefinition, the qualified API names of the entity and the field it points to. This value can be null. | ## 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 Us’s 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. All the planets in the solar system. Does not include asteroids. Planets picklist1234\_\_AlphaSort\_\_c false 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. Picklist\_\_c false Picklist 40 true Text false SortOrder\_\_c false Non-Alphabetical Sort Order 3 0 false Number false Reusable Picklist Option Reusable Picklist Options 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. Mars picklist1234\_\_Picklist\_\_c Planets picklist1234\_\_SortOrder\_\_c 4 To define the Motel6 picklist item, TravelApp deploys a file, named picklist1234\_\_ReusablePicklistOption.Motel6.md, with these contents. Motel 6 picklist1234\_\_Picklist\_\_c Hotels Because the SortOrder\_\_c field isn’t required, this file doesn’t 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. Motel 6 picklist1234\_\_Picklist\_\_c Hotels picklist1234\_\_SortOrder\_\_c 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 Us’s namespace is picklist1234. … picklist1234\_\_ReusablePicklist.Hotels picklist1234\_\_ReusablePicklist.Planets picklist1234\_\_ReusablePicklistOption.Bellagio picklist1234\_\_ReusablePicklistOption.Motel6 picklist1234\_\_ReusablePicklistOption.Mercury picklist1234\_\_ReusablePicklistOption.Venus picklist1234\_\_ReusablePicklistOption.Earth picklist1234\_\_PicklistUsage.BookedHotel picklist1234\_\_PicklistUsage.DestinationPlanetPL picklist1234\_\_PicklistUsage.PlanetVisitedPl CustomMetadata … 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. \* Custom​Metadata If the custom metadata is from a managed package, the name after the dot in the package.xml file—between the two dots in the file name—is qualified by the managed package’s namespace. For example, assuming TravelApp uses the namespace travelApp1234, the first member element in the TravelApp package.xml file appears to Galactic Tours as: picklist1234\_\_ReusablePicklist.travelApp1234\_\_Hotels Here’s 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. EntityDefintionField\_\_c v1\_\_SalesAgreement\_\_c FieldDefinitionField\_\_c v1\_\_CustomerReference\_\_c ## Usage When specifying the value field in the CustomMetadataValue subtype, specify an appropriately typed object that’s 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: true. Valid xsi:type attributes are: | Custom metadata value | Custom field definition | | --- | --- | | xsi:type="xsd:boolean" | Checkbox | | xsi:type="xsd:date" | Date | | xsi:type="xsd:dateTime" | Date/Time | | xsi:type="xsd:picklist" | Picklist | | xsi:type="xsd:string" | Text | | xsi:type="xsd:string" | Phone | | xsi:type="xsd:string" | TextArea | | xsi:type="xsd:string" | URL | | xsi:type="xsd:string" | Email | | xsi:type="xsd:int" | Number/Percent, with scale equal to 0 | | xsi:type="xsd:double" | Number/Percent, with scale not equal to 0 | You can also omit the xsi:type attribute. For example, true. 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 field’s value to null. For example, . Using null field values differs from leaving out the for a particular field entirely. If you leave out the , the value of the field doesn’t change. The field’s 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # CustomNotificationType Represents the metadata associated with a custom notification type. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Fields | Field Name | Field Type | Description | | --- | --- | --- | | actionGroups (Beta) | [CustomNotificationActionGroup\[\]](#CustomNotificationActionGroup) | Optional. Indicates whether mobile action groups are enabled, allowing users to take actions directly from mobile notifications. | | customNotifTypeName | string | Required. Specifies a notification type name. Maximum number of characters: 80. | | description | string | Specifies a general description of the notification type, which is displayed with the notification type name. Maximum number of characters: 255. | | desktop | boolean | Required. Indicates whether the desktop delivery channel is enabled (true) or not (false). | | masterLabel | string | Required. Specifies the label for the notification type. | | mobile | boolean | Required. Indicates whether the mobile delivery channel is enabled (true) or not (false). | | slack | boolean | Reserved for future use. | ## CustomNotificationActionGroup CustomNotificationActionGroup represents the action group. | Field Name | Description | | --- | --- | | actions | Field Type [CustomNotificationActionDefinition\[\]](#CustomNotificationActionDefinition) Description Represents the actions within a mobile action group. | | groupName | Field Type string Description Required. Unique name of the mobile action group. | ## CustomNotificationActionDefinition CustomNotificationActionDefinition represents the metadata that define an actionable notification. | Field Name | Description | | --- | --- | | actionLabel | Field Type string Description Required. The name of the action seen in the push notification. | | actionName | Field Type string Description Required. Unique identifier of the action in an action group. | | actionTarget | Field Type string Description The name of the Apex class where the action is implemented. | | actionType | Field Type NotificationActionType (enumeration of type string) Description Type of action. Required. Values are: - NotificationApiAction: Server-side action where client needs to make action API call. - Share: Client-side action where the app shares notification content to any channel. | ## Declarative Metadata Sample Definition The following is a definition of a custom notification type that is enabled for desktop and mobile. Custom Notification true Custom Notification true ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. Specify all relevant fields when you create or update a custom object. You can’t update a single field on the object. For more information about custom objects, see [Store Information That’s Unique to Your Organization](https://help.salesforce.com/s/articleView?id=platform.dev_object_def.htm&type=5&language=en_US). 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/manifest_samples.htm "HTML (New Window)"). All metadata components have a [fullName](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_fullname) field, which must be fully specified for any custom object. 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickstart_java_sample.htm). ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. 1. [ActionOverride](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/actionoverride.htm) 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_businessprocess.htm) The BusinessProcess metadata type enables you to display different picklist values for users based on their profile. 3. [CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_compactlayout.htm) Represents the metadata associated with a compact layout. This type extends the Metadata metadata type and inherits its fullName field. 4. [CustomField](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customfield.htm) 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_fieldset.htm) 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. 6. [HistoryRetentionPolicy](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_historyretentionpolicy.htm) 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_index.htm) Represents an index defined within a custom [big object](https://developer.salesforce.com/docs/atlas.en-us.264.0.bigobjects.meta/bigobjects/big_object.htm). 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_listview.htm) ListView allows you to see a filtered list of records, such as contacts, accounts, or custom objects. 9. [MarketingObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_marketingobject.htm) A marketing object is a high-volume, low-latency custom object that stores data for personalizing content in your marketing campaigns. A marketing object supports a subset of CustomObject fields and uses the \_\_mo suffix instead of \_\_c. 10. [NamedFilter](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/namedfilter.htm) 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. 11. [Picklist (Including Dependent Picklist)](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_picklist.htm) 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. 12. [ProfileSearchLayouts](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_profilesearchlayouts.htm) Represents a user profile’s 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. 13. [RecordType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_recordtype.htm) 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. 14. [SearchLayouts](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_searchlayouts.htm) 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. 15. [SharingReason](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_apexsharingreason.htm) Represents an Apex sharing reason, which is used to indicate why sharing was implemented for a standard or custom object. Apex managed sharing allows developers to use Apex to programmatically share custom objects. When you use Apex managed sharing to share an object, only users with the “Modify All Data” permission can add or change the sharing on the object's record, and the sharing access is maintained when the record owner changes or is deactivated. Sharing reasons for standard objects are available for objects that have a corresponding share object (for example, AccountShare, OpportunityShare) and whose org-wide default can be set to Private or Public Read-Only. Objects on the detail side of a master-detail relationship, which have no share object of their own, aren't supported. 16. [SharingRecalculation](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_apexsharingrecalculation.htm) Represents Apex classes that recalculate the Apex managed sharing for a specific custom object. 17. [ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_validationformulas.htm) 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. 18. [WebLink](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_weblink.htm) Represents a custom button or link defined in a custom object. 19. [Metadata Field Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_field_types.htm) These field types extend the field types described in the _Salesforce Object Reference_. #### See Also - [CustomField](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customfield.htm "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.") - [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") - [Picklist (Including Dependent Picklist)](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_picklist.htm "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.") - [SearchLayouts](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_searchlayouts.htm "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.") - [WebLink](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_weblink.htm "Represents a custom button or link defined in a custom object.") - [CustomObjectTranslation](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_customobjecttranslation.htm "This metadata type allows you to translate custom objects for a variety of languages.") - [ListView](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_listview.htm "ListView allows you to see a filtered list of records, such as contacts, accounts, or custom objects.") - [CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_compactlayout.htm "Represents the metadata associated with a compact layout. This type extends the Metadata metadata type and inherits its fullName field.") ## Fields Unless otherwise noted, all fields are creatable, filterable, and nillable. ### actionOverrides - **Field Type**: [ActionOverride](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/actionoverride.htm)\[\] - **Description**: List of action overrides on the object. This field is available in API version 18.0 and later. ### allowInChatterGroups - **Field Type**: boolean - **Description**: Indicates whether records of this custom object type can be added to Chatter groups (true) or not (false). This field is available in API version 34.0 and later. ### businessProcesses - **Field Type**: [BusinessProcess](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_businessprocess.htm)\[\] - **Description**: List of business processes associated with the object. This field is available in API version 17.0 and later. ### compactLayoutAssignment - **Field Type**: string - **Description**: 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. ### compactLayouts - **Field Type**: [CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_compactlayout.htm)\[\] - **Description**: 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. ### customHelp - **Field Type**: string - **Description**: 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. ### customHelpPage - **Field Type**: string - **Description**: 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. ### customSettingsType - **Field Type**: CustomSettingsType (enumeration of type string) - **Description**: When this field is present, this component isn’t a custom object, but a custom setting. This field returns the type of custom setting. This field is available in API version 17.0 and later. - **Possible values**: - List—static data stored in cache, accessed as part of your app, and available org-wide. - Hierarchy—static data stored in cache, accessed as part of your app, and available based on a hierarchy of user, profile, or org. This value is the default. ### customSettingsVisibility - **Field Type**: CustomSettingsVisibility (enumeration of type string) - **Description**: When this field is present, this component isn’t a custom object, but a custom setting. This field returns the visibility of the custom setting. 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. - **Possible values**: - Public—if the custom setting is packaged, it’s accessible to all subscribing orgs. - Protected—if the custom setting is in a managed package, it’s accessible only to the developer org. Subscribing orgs can’t access it. This value is the default. ### dataStewardGroup - **Field Type**: string - **Description**: Removed in API version 47.0. ### dataStewardUser - **Field Type**: string - **Description**: Removed in API version 47.0. ### deploymentStatus - **Field Type**: DeploymentStatus ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Indicates the deployment status of the object. ### deprecated - **Field Type**: boolean - **Description**: Reserved for future use. Indicates whether a developer deprecated a custom object in a package (true) or not (false). ### description - **Field Type**: string - **Description**: Description of the object. Maximum length is 1000 characters. ### enableActivities - **Field Type**: boolean - **Description**: Indicates whether the object is enabled for activities (true) or not (false). Not available for external objects. ### enableBulkApi - **Field Type**: boolean - **Description**: When enabled, the object is classified as an Enterprise Application object for usage tracking. When enabled, enableSharing and enableStreamingApi must also be enabled. This field is available in API version 31.0 and later. ### enableDivisions - **Field Type**: boolean - **Description**: Indicates whether the object is enabled for divisions (true) or not (false). For more information on this field, see [Division](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/sforce_api_objects_division.htm). ### enableEnhancedLookup - **Field Type**: boolean - **Description**: Indicates whether the object is enabled for enhanced lookups (true) or not (false). The custom object must be searchable for enableEnhancedLookup to work. Set enableSearch as true before setting enableEnhancedLookup as true. In API version 28.0 and later, this 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](https://help.salesforce.com/s/articleView?id=ai.search_enhanced_lookup_enable.htm&type=5&language=en_US). ### enableFeeds - **Field Type**: boolean - **Description**: Indicates whether the object is enabled for feed tracking (true) or not (false). For more information, see [Customize Chatter Feed Tracking](https://help.salesforce.com/s/articleView?id=experience.collab_feed_tracking.htm&type=5&language=en_US). This field is available in API version 18.0 and later. ### enableHistory - **Field Type**: boolean - **Description**: Indicates whether the object is enabled for history tracking (true) or not (false). Also available for standard objects in API version 29.0 and later. History tracking on the Account object includes person account history tracking. ### enableLicensing - **Field Type**: boolean - **Description**: 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. ### enableReports - **Field Type**: boolean - **Description**: 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. ### enableSearch - **Field Type**: boolean - **Description**: Indicates whether the object’s records can be found via Salesforce Object Search Language and Salesforce searches (true) or not (false). Corresponds to Allow Search in the user interface. By default, search is turned off for new custom objects. This field is available for custom objects in API version 35.0 and later. To enhance Einstein Search performance, searchability is turned off for custom objects that haven't been searched for more than 120 days. To enable object and field searchability, contact your admin. By default, search is turned off 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 on the external data source, and vice versa. This field is available for external objects in API version 37.0 and later. ### enableSharing - **Field Type**: boolean - **Description**: Indicates whether the object is classified as an Enterprise Application object for usage tracking (true) or not (false). When enabled, enableBulkApi and enableStreamingApi must also be enabled. This field is available in API version 31.0 and later. ### enableStreamingApi - **Field Type**: boolean - **Description**: Indicates whether the object is classified as an Enterprise Application object for usage tracking (true) or not (false). When enabled, enableBulkApi and enableSharing must also be enabled. This field is available in API version 31.0 and later. ### eventType - **Field Type**: PlatformEventType ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: This field applies only to platform events. Type of event. This field is available in API version 41.0 and later. - **Possible values**: - HighVolume—For a high-volume platform event. - StandardVolume—Deprecated. Creating a platform event with this event type is supported and returns an error. ### externalDataSource - **Field Type**: string - **Description**: Required and available only for external objects. The name of the external data source that stores the data for the external object. The data source is represented by the ExternalDataSource component. This field is available in API version 32.0 and later. ### externalName - **Field Type**: string - **Description**: Required and available only for external objects. 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. ### externalRepository - **Field Type**: string - **Description**: Available only for Salesforce Connect external objects. Corresponds to the Display URL Reference Field in the user interface. The external object’s Display URL standard field values are automatically generated from the external system. For example, with the OData 2.0 adapter for Salesforce Connect, the value is based on the link href that’s defined on the OData producer. You can override the default values with the values of a custom field on the same external object. Select the field name, and ensure the custom field’s values are valid URLs. This field is available in API version 32.0 and later. ### externalSharingModel - **Field Type**: SharingModel ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: External org-wide defaults for the object, which determines the access level for external users. This field is available in API version 31.0 and later. ### fields - **Field Type**: [CustomField\[\]](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/customfield.htm) - **Description**: One or more field names in the object. ### fieldSets - **Field Type**: [FieldSet](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_fieldset.htm) - **Description**: Field set that exists on the object. ### fullName - **Field Type**: string - **Description**: Full name of the object. It must be specified when creating, updating, or deleting the object. See [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") to see an example of this field specified for a call. This value can't be null. ### gender - **Field Type**: Gender - **Description**: Gender of the noun that represents the object. This is used for languages where words need different treatment depending on their gender. ### household - **Field Type**: boolean - **Description**: Support for relationship groups, a feature available only with Salesforce for Wealth Management. ### historyRetentionPolicy - **Field Type**: [HistoryRetentionPolicy](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_historyretentionpolicy.htm) - **Description**: Reserved for future use. ### indexes - **Field Type**: [Index\[\]](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_index.htm) - **Description**: Index for a custom big object. ### label - **Field Type**: string - **Description**: 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. ### listViews - **Field Type**: [ListView](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_listview.htm)\[\] - **Description**: One or more list views associated with the object. ### namedFilter - **Field Type**: [NamedFilter](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/namedfilter.htm)\[\] - **Description**: 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 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 lookup filter is now represented by the lookupFilter field in the CustomField component. ### nameField - **Field Type**: [CustomField](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/customfield.htm) - **Description**: 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 auto number. 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. ### pluralLabel - **Field Type**: string - **Description**: Plural version of the label value. Custom objects require a plural version of the label to ensure object names are localizable. ### profileSearchLayouts - **Field Type**: [ProfileSearchLayouts](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_profilesearchlayouts.htm) - **Description**: Represents a user profile’s search results layouts for an object. With profile-specific layouts, each user profile can have a different search results layout for an object. Available in API version 47.0 and later. ### publishBehavior - **Field Type**: PlatformEventPublishBehavior ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: This field applies only to platform events. Indicates when platform event messages are published in a Lightning Platform 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. If you don’t specify this field, the default value used is PublishImmediately. This field is available in API version 46.0 and later. - **Possible values**: - PublishAfterCommit—The event message is published only after a transaction commits successfully. If the transaction fails, the event message isn't published. - PublishImmediately—The event message is published when the publish call executes, regardless of whether the transaction succeeds. ### recordTypes - **Field Type**: [RecordType](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordtype.htm)\[\] - **Description**: Array of one or more record types defined for this object. ### recordTypeTrackFeedHistory - **Field Type**: boolean - **Description**: Indicates whether the record type is enabled for feed tracking (true) or not (false). To set this field to true, the enableFeeds field on the associated CustomObject must also be true. For more information, see [Customize Chatter Feed Tracking](https://help.salesforce.com/s/articleView?id=experience.collab_feed_tracking.htm&type=5&language=en_US). This field is available in API version 19.0 and later. ### recordTypeTrackHistory - **Field Type**: boolean - **Description**: Indicates whether history tracking is enabled for this record type (true) or not (false). To set 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. ### searchLayouts - **Field Type**: [SearchLayouts](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_searchlayouts.htm) - **Description**: Search Layouts related list information for the object. ### sharingModel - **Field Type**: SharingModel([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Indicates the org-wide defaults for the object. **Note:** In API version 29.0 and earlier, this field is read only and can’t be set using the Metadata API; you must use the Salesforce user interface. In API version 30.0 and later, you can set this field for internal users using the API and the Salesforce user interface. ### sharingReasons - **Field Type**: [SharingReason](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_apexsharingreason.htm)\[\] - **Description**: Reasons why the object is being shared. ### sharingRecalculations - **Field Type**: [SharingRecalculation](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_apexsharingrecalculation.htm)\[\] - **Description**: List of custom sharing recalculations associated with the object. ### startsWith - **Field Type**: StartsWith ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Indicates whether the noun starts with a vowel, consonant, or is a special character (true) or not (false). This is used for languages where words need different treatment depending on the first character. Valid values are listed in [StartsWith](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_field_types.htm#startsWith_ul). ### validationRules - **Field Type**: [ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_validationformulas.htm)\[\] - **Description**: Array of one or more validation rules on the object. ### visibility - **Field Type**: SetupObjectVisibility (enumeration of type string) - **Description**: Visibility of the custom object, custom setting, or custom metadata type. This field is available in API version 34.0 and later. For custom settings, this field replaces the customSettingsVisibility field. - **Default value**: Public - **Possible values**: - Public—If the custom object, custom setting, or custom metadata type is packaged, it’s accessible to all subscribing orgs. - Protected—If the custom object, custom setting, or custom metadata type is in a managed package, it’s accessible only to the developer org. Subscribing orgs can’t access it. - PackageProtected— (Custom metadata type only) It’s 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. ### webLinks - **Field Type**: [WebLink](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_weblink.htm)\[\] - **Description**: Array of one or more weblinks defined for the object. ## MktDataModelAttributes Represents the Data 360 data model object (DMO) attributes for a custom object. This is a Data 360 subtype of CustomObject. ### creationType - **Field Type**: DefinitionCreationType [enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) - **Description**: Indicates how the object was added. In API version 62.0 and later, - **Possible values**: - Activation\_Audience - Ad\_Audience\_Insights - ADG - Calculated\_Insight - CG\_Audience - Chunk - Directory\_Table - External - Problem\_Records - Segment\_Membership - Semantic - Transform - Vector\_Embedding In API version 67.0 and later, additional valid values are: - Auxiliary - Clean\_Room - Deletion\_Records ### dataModelTaxonomy - **Field Type**: string - **Description**: Reference to the data model on which the object is based. For a standard Data 360 model, the value must be Reference when creationType is Standard, or View when creationType is Custom. ### description - **Field Type**: string - **Description**: Description of the object. Maximum length is 521 characters. This field is available in API version 55.0 and later. ### isEnabled - **Field Type**: boolean - **Description**: Indicates whether the DMO is enabled (true) or not (false). ### isSegmentable - **Field Type**: boolean - **Description**: Indicates whether you can use the DMO as a target for segmentation (true) or not (false). ### isUsedForMetrics - **Field Type**: boolean - **Description**: Indicates whether the DMO is used for metrics (true) or not (false). This field includes additional object attributes that aren't present in the DMO POJO. This field is available in API version 55.0 and later. ### labelOverride - **Field Type**: string - **Description**: Custom label that overrides the object’s default display label in the data model. If unspecified, the default label is used. Maximum length is 255 characters. This field is available in API version 66.0 and later. ### masterLabel - **Field Type**: string - **Description**: Master label for this component. Maximum length is 40 characters. This field is available in API version 66.0 and later. ### objectCategory - **Field Type**: string - **Description**: Object category used for modeling. Valid values are Engagement, Profile, and Other. ### referenceEntityGroup - **Field Type**: string - **Description**: Entity group of the object in the reference model. Applied to standard objects. ### referenceEntityName - **Field Type**: string - **Description**: Name of the object in the reference model. Applies to standard objects. ### referenceEntitySubjectArea - **Field Type**: string - **Description**: Subject area of the object in the reference model. Applies only to standard objects. ## MktDataLakeAttributes Represents the Data 360 data lake object (DLO) attributes for a custom object. This is a Data 360 subtype of CustomObject. Its components are available in API version 50.0 and later. ### Special Access Rules You need an org with a Data Cloud license to access this object. ## MktDataLakeAttributes Fields ### creationType - **Field Type**: DefinitionCreationType [enumeration of type string](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) - **Description**: How this object was added. - **Possible values**: - Activation\_Audience - Bridge - Curated - Custom - Derived - Ml\_Prediction - Segment\_Membership - Standard - System In API version 62.0 and later, additional valid values are: - Activation\_Audience - Ad\_Audience\_Insights - ADG - Calculated\_Insight - CG\_Audience - Chunk - Directory\_Table - External - Problem\_Records - Segment\_Membership - Semantic - Transform - Vector\_Embedding In API version 67.0 and later, additional valid values are: - Ad\_Audience\_Insights - Auxiliary - Clean\_Room - Deletion\_Records - Problem\_Records ### isEnabled - **Field Type**: boolean - **Description**: Indicates whether the landing object is enabled (true) or not (false). ### objectCategory - **Field Type**: string - **Description**: Object category used for modeling. Valid values are Behavioral, Profile, and 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/actionoverride.htm) - [BusinessProcess](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_businessprocess.htm) - [CompactLayout](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_compactlayout.htm) - [CustomField](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/customfield.htm) - [FieldSet](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_fieldset.htm) - [HistoryRetentionPolicy](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_historyretentionpolicy.htm) - [ListView](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_listview.htm) - [RecordType](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_recordtype.htm) - [SearchLayouts](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_searchlayouts.htm) - [SharingReason](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_apexsharingreason.htm) - [SharingRecalculation](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_apexsharingrecalculation.htm) - [ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_validationformulas.htm) - [WebLink](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_weblink.htm) ## Declarative Metadata Sample Definition Deployed test object with one field for eclipse ide testing Comments\_\_c add your comments about this object here This field contains comments made about this object Comments 32000 LongTextArea 30 MyFirstObject MyFirstObject Name Text MyFirstObjects ReadWrite The following is the metadata definition of an external object for Salesforce Connect. CancelEdit Default Delete Default Edit Default Follow Default List Default New Default SaveEdit Default Tab Default View Default InDevelopment Products false OData false Products DiscontinuedDate\_\_c DiscontinuedDate DiscontinuedDate false false false false DiscontinuedDate false DateTime ID\_\_c ID ID false false false false ID 18 false 0 Number false Name\_\_c Name Name false false false false Name 128 false Text false Price\_\_c Price Price false false false false Price 16 false 2 Number false Products\_\_c Products false false false false Products 20 Products\_\_x Products Products ExternalLookup Rating\_\_c Rating Rating false false false false Rating 18 false 0 Number false ReleaseDate\_\_c ReleaseDate ReleaseDate false false false false ReleaseDate false DateTime Products Products ExternalId ExternalId ExternalId ExternalId DisplayUrl ID\_\_c ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # CustomObjectTranslation This metadata type allows you to translate custom objects for a variety of languages. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 Local 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. Similarly, packaged translations are stored in a file with a format of customObjectName-pkgNamespace\_\_c\-lang.objectTranslation, where customObjectName-pkgNamespace\_\_c is the custom object and package namespace, and lang is the translation language. A sample file name for German translations in a package with the namespace of Acme is myCustomObject-Acme\_\_c-de.objectTranslation. Custom object translations are stored in the objectTranslations folder in the corresponding package directory. 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
Field Field Type Description
caseValues ObjectNameCaseValue[] Different combinations of the custom object with regard to article, plural, possessive, and case.
fields CustomFieldTranslation[] A list of translations for the custom fields associated with the custom object.
fieldSets FieldSetTranslation[] A list of field set translations. Available in API version 41.0 and later.
fullName string The name of the custom object and the translation language with a format of customObjectName-lang, where 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.

gender Gender Indicates the gender of the noun that represents the object. Used for languages where words need different treatment depending on their gender.
layouts LayoutTranslation[] A list of page layout translations.
nameFieldLabel string The label for the name field. Maximum of 80 characters. When you deploy a change to nameFieldLabel, also include at least one top-level caseValues entry with a nonempty value. Otherwise, the deployment succeeds but doesn’t apply the nameFieldLabel change.
namedFilters NamedFilterTranslation[] 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 with a lookup filter is now represented by the lookupFilter field in the CustomFieldTranslation subtype.

quickActions QuickActionTranslation[] A list of translations for actions.
recordTypes RecordTypeTranslation[] A list of record type translations.
sharingReasons SharingReasonTranslation[] A list of sharing reason translations.
startsWith StartsWith (enumeration of type string) 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.
validationRules ValidationRuleTranslation[] A list of validation rule translations.
webLinks WebLinkTranslation[] A list of web link translations.
workflowTasks WorkflowTaskTranslation[] A list of workflow task translations.
![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note When you retrieve or deploy translations from a package, the translations from the package might override existing translations. The overridden translations appear in the Rename Tabs and Labels UI until you click **Reset** to restore the translations installed by the latest package. ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customfield.htm "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."). ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Not every language supports all the possible values for the fields in CustomFieldTranslation. For language-specific supported values, see the [fully supported languages](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobjectranslation_language_support_standard.htm) and [end-user languages](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobjectranslation_language_support_enduser.htm) appendices.
Field Field Type Description
caseValues ObjectNameCaseValue[] Different combinations of the custom object with regard to article, plural, possessive, and case. Available in API version 29.0 and later.
description string Translation for the custom field description.
gender Gender Available in API version 29.0 and later.
help string Translation for the text that displays in the field-level help hover text for this field.
label string Translation for the label. Maximum of 40 characters.
lookupFilter LookupFilterTranslation Represents the translation metadata associated with a lookup filter.

This field is available in API version 30.0 and later.

LookupFilter isn’t supported on the article type object.

name string Required. The name of the field relative to the custom object; for example, MyField__c.
picklistValues PicklistValueTranslation[] List of translations for picklist values. See PicklistValue.

Note: “Subject” on the Task object is a text field, not a picklist value. It can’t be retrieved via Metadata API. Translations can be provided via the Translation Workbench.

relationshipLabel string Translation for a lookup relationship label. A lookup relationship allows a field to be associated with another field. The relationship field allows users to select an option from a list of values defined by the other field. Maximum of 80 characters.
startsWith StartsWith (enumeration of type string) Indicates whether the noun starts with a vowel, consonant, or is a special character. Used for languages where words need 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_fieldset.htm "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."). Available in API 41.0 and later. | Field | Field Type | Description | | --- | --- | --- | | label | string | Required. Translation for the field set label. Maximum of 80 characters. | | name | string | Required. The field set name. | ## LayoutTranslation LayoutTranslation contains details for a page layout translation. For more details, see [Fields](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_layouts.htm#Layout). | Field | Field Type | Description | | --- | --- | --- | | layout | string | Required. The layout name. | | layoutType | string | | | sections | [LayoutSectionTranslation](#layoutSectionTranslation)\[\] | An array of layout section translations. | ## LayoutSectionTranslation LayoutSectionTranslation contains details for a page layout section translation. For more details, see [LayoutSection](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_layouts.htm#LayoutSection). | Field | Field Type | Description | | --- | --- | --- | | label | string | Required. Translation for the label. Maximum of 765 characters. | | section | string | Required. The section name. | ## 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. | Field | Field Type | Description | | --- | --- | --- | | errorMessage | string | The error message that appears if the lookup filter fails. | | informationalMessage | string | 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. | ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/namedfilter.htm "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.") for more information. | Field | Field Type | Description | | --- | --- | --- | | errorMessage | string | The error message that appears if the lookup filter fails. | | informationalMessage | string | The information message displayed on the page. Use to describe things the user doesn’t understand, such as why certain items are excluded in the lookup filter. | | name | string | Required. The name of the lookup filter. If you create this field in the user interface, a name is automatically assigned. If you 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Not every language supports all the possible values for the fields in ObjectNameCaseValue. For language-specific supported values, see the [fully supported languages](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobjectranslation_language_support_standard.htm) and [end-user languages](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobjectranslation_language_support_enduser.htm) appendices.
Field Field Type Description
article Article (enumeration of type string) English has two types of articles: definite (the) and indefinite (a, an). The usage of these articles depends mainly on whether you're referring to any member of a group, or to a specific member of a group. The valid values are:
  • Definite
  • Indefinite
  • None
caseType CaseType (enumeration of type string) The case of the custom object name. The valid values are:
  • Ablative
  • Accusative
  • Adessive
  • Allative
  • Causalfinal
  • Dative
  • Delative
  • Distributive
  • Elative
  • Essive
  • Essiveformal
  • Genitive
  • Illative
  • Inessive
  • Instrumental
  • Lative
  • Locative
  • Nominative
  • Objective
  • Partitive
  • Prepositional
  • Subjective
  • Sublative
  • Superessive
  • Termanative
  • Translative
  • Vocative
plural boolean Indicates whether the value field is plural (true) or singular (false).
possessive Possessive (enumeration of type string) The possessive case of a language is a grammatical case used to indicate a relationship of possession. The valid values are:
  • First
  • None
  • Second
value string Required. The value or label in this grammatical context.
## PicklistValueTranslation PicklistValueTranslation contains details for translation of a picklist value from a local, custom picklist field. For more details, see [Picklist (Including Dependent Picklist)](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_picklist.htm "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."). | Field | Field Type | Description | | --- | --- | --- | | masterLabel | string | Required. The picklist value defined on the setup page in the application. Displayed wherever a translated label isn't available. | | translation | string | Required. Translation for the value. | ## QuickActionTranslation QuickActionTranslation contains details for an action label in the user interface. For more information, see [QuickAction](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_quickaction.htm "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."). | Field | Field Type | Description | | --- | --- | --- | | aspect | string | Identifies which quick action label the translated text belongs to. Use this field only when you want to use different strings for the quick action's field label and informational message. Valid values are Master and InfoMessage. Available in API version 53.0 and later. | | label | string | Required. Translation for the label. Maximum of 765 characters. | | name | string | Required. The quick action name. | ## RecordTypeTranslation RecordTypeTranslation contains details for a record type name translation. For more details, see [RecordType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_recordtype.htm "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."). | Field | Field Type | Description | | --- | --- | --- | | label | string | Required. Translation for the label. Maximum of 765 characters. | | name | string | Required. The record type name. | | description | string | Translation for the record type description. Available in API version 42.0 and later. | ## SharingReasonTranslation SharingReasonTranslation contains details for a sharing reason translation. For more details, see [SharingReason](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_apexsharingreason.htm "Represents an Apex sharing reason, which is used to indicate why sharing was implemented for a standard or custom object. Apex managed sharing allows developers to use Apex to programmatically share custom objects. When you use Apex managed sharing to share an object, only users with the “Modify All Data” permission can add or change the sharing on the object's record, and the sharing access is maintained when the record owner changes or is deactivated. Sharing reasons for standard objects are available for objects that have a corresponding share object (for example, AccountShare, OpportunityShare) and whose org-wide default can be set to Private or Public Read-Only. Objects on the detail side of a master-detail relationship, which have no share object of their own, aren't supported."). | Field | Field Type | Description | | --- | --- | --- | | label | string | Required. Translation for the sharing reason. | | name | string | Required. The sharing reason name. | ## ValidationRuleTranslation ValidationRuleTranslation contains details for a validation rule translation. For more details, see [ValidationRule](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_validationformulas.htm "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."). | Field | Field Type | Description | | --- | --- | --- | | errorMessage | string | Required. Translation for the error message associated with the validation rule failure. | | name | string | Required. The validation rule name. | ## WebLinkTranslation WebLinkTranslation contains details for a web link translation. For more details, see [WebLink](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_weblink.htm "Represents a custom button or link defined in a custom object."). | Field | Field Type | Description | | --- | --- | --- | | label | string | Required. Translation for the web link label. Maximum of 765 characters. | | name | string | Required. The web link name. | ## WorkflowTaskTranslation WorkflowTaskTranslation contains details for a workflow task translation. For more details, see [Workflow](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_workflow.htm "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."). | Field | Field Type | Description | | --- | --- | --- | | description | string | Translation for the workflow task description. | | name | string | Required. The workflow task name. | | subject | string | Translation for the workflow task subject. | ## 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. Nominative false Beschreibung Nominative true Beschreibungen Accusative false Beschreibung Accusative true Beschreibungen Genitive false Beschreibung Genitive true Beschreibungen Dative false Beschreibung Dative true Beschreibungen Zusammenfassung Summary\_\_c Feminine Beschreibungen 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. Nominative false Kunde Nominative true Kunden Accusative false Kunden Accusative true Kunden Genitive false Kunden Genitive true Kunden Dative false Kunden Dative true Kunden Nominative false Kundennummer Nominative true Kundennummern Feminine account\_number Kunden-Code Account\_Code\_\_c Masculine ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org.") - [Translations](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_translations.htm "Metadata type that enables work with translations for various supported languages. The ability to translate component labels is part of the Translation Workbench.") # CustomObjectTranslation Language Support: End-User Languages Not every language supports all the possible values for the fields in [CustomObjectTranslation](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_customobjecttranslation.htm). Use this appendix to determine which field values a language supports. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 ## 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 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 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 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 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 plural true false ## Ukrainian caseType Accusative Dative Genitive Instrumental Nominative Locative gender Masculine Feminine Neuter AnimateMasculine plural true false ## Vietnamese plural true false # CustomObjectTranslation Language Support: Fully Supported Languages Not every language supports all the possible values for the fields in [CustomObjectTranslation](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_customobjecttranslation.htm). Use this appendix to determine which field values a language supports. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 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 ## 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 ## 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 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 # CustomPageWebLink Represents a custom link defined in a home page component. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_weblink.htm "Represents a custom button or link defined in a custom object.") in a [CustomObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/customobject.htm "Represents a custom object that stores data unique to your org or an external object that maps to data stored outside your org."). ## 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
Field Name Field Type Description
availability WebLinkAvailability (enumeration of type string) Required. Indicates whether the link is only available online (online, or if it is also available offline (offline).
description string A description of the link.
displayType WebLinkDisplayType (enumeration of type string) Represents how this link is rendered.

Valid values:

  • link for a hyperlink
  • button for a button
  • massActionButton for a button attached to a related list
encodingKey Encoding (enumeration of type string) 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:
  • UTF-8—Unicode (UTF-8)
  • ISO-8859-1—General US & Western Europe (ISO-8859–1, ISO-LATIN-1)
  • Shift_JIS—Japanese (Shift-JIS)
  • ISO-2022-JP—Japanese (JIS)
  • EUC-JP—Japanese (EUC-JP)
  • x-SJIS_0213—Japanese (Shift-JIS_2004)
  • ks_c_5601-1987—Korean (ks_c_5601-1987)
  • Big5—Traditional Chinese (Big5)
  • GB2312—Simplified Chinese (GB2312)
  • Big5-HKSCS—Traditional Chinese Hong Kong (Big5–HKSCS)
fullName string The name used as a unique identifier for API access. 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.
hasMenubar boolean 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.
hasScrollbars boolean 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.
hasToolbar boolean 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.
height int Height in pixels of the window opened by the link. Required if the openType is newWindow. Otherwise, leave this field empty.
isResizable boolean If the openType is newWindow, this field indicates whether to allow resizing of the window (true) or not (false). Otherwise, leave this field empty.
linkType WebLinkType (enumeration of type string) 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.
  • url
  • sControl
  • javascript
  • page
  • flow—Reserved for future use.
masterLabel string The label for the link.
openType WebLinkWindowType (enumeration of type string) Required. When the link is clicked, this field specifies the window style used to display the content.

Valid values are:

  • newWindow
  • sidebar
  • noSidebar
  • replace
  • onClickJavaScript
page string If the value of linkType is page, this field represents the Visualforce page. Otherwise, leave this field empty.
position WebLinkPosition (enumeration of type string) If the openType is newWindow, this field indicates how the new window should be displayed. Otherwise, leave this field empty.

Valid values are:

  • fullScreen
  • none
  • topLeft
protected boolean 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.
requireRowSelection boolean 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.
scontrol string If the value of linkType is sControl, this field represents the name of the sControl. Otherwise, leave this field empty.
showsLocation boolean 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.
showsStatus boolean 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.
url string

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.

Content must be escaped in a manner consistent with XML parsing rules.

width int Width in pixels of the window opened by the link.

Required if the openType is newWindow. Otherwise, leave this field empty.

## Declarative Metadata Sample Definition The following is the definition of a Weblink. For related samples, see [HomePageComponent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_homepagecomponent.htm#HomePageCompenent_example) and [HomePageLayout](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_homepagelayouts.htm#HomePageLayout_meta_example). online button UTF-8false true false 600 true url detailPageButon newWindow none false false false http://google.com ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). #### See Also - [HomePageComponent](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_homepagecomponent.htm "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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_homepagelayouts.htm "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.") - [WebLink](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_weblink.htm "Represents a custom button or link defined in a custom object.") # CustomPermission Represents a permission that grants access to a custom feature. This type extends the Metadata metadata type and inherits its fullName field. ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | connectedApp | string | The name of the connected app that’s associated with this permission. Limit: 80 characters. | | description | string | The custom permission description. Limit: 255 characters. | | isLicensed | boolean | Required. Read-only. Indicates whether the appropriate Salesforce license is required before accessing the permission (true) or not (false). | | label | string | Required. The custom permission label. Limit: 80 characters. | | requiredPermission | [CustomPermissionDependencyRequired\[\]](#CustomPermissionDependencyRequired) | Indicates which custom permissions are required by the parent custom permission. 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. | Field Name | Field Type | Description | | --- | --- | --- | | customPermission | string | Required. The custom permission name. | | dependency | boolean | Required. Indicates whether this custom permission is required by the parent custom permission (true) or not (false). | ## Declarative Metadata Sample Definition The following is an example of a CustomPermission component. Acme Read and edit access for Acme accounts. Acme Account Full Access Acme\_Account\_Read true 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. Acme ConnectedApp Acme\_Account\_Email\_Read Acme\_Account\_Phone\_Edit Acme\_Account\_Full\_Access Acme\_Account\_Read CustomPermission Acme\_Account\_Email\_Read Acme\_Account\_Phone\_Edit Acme\_Account\_Full\_Access Acme\_Account\_Read PermissionSet 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 Metadata API Type applies only to Salesforce sites and [Visualforce sites](https://help.salesforce.com/s/articleView?id=experience.exp_cloud_basics_glossary.htm&type=5&language=en_US). For Digital Experiences, also known as Experience Cloud sites, see [Network](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_network.htm). For more information, see [Salesforce Sites](https://help.salesforce.com/s/articleView?id=platform.sites_overview.htm&type=5&language=en_US) in Salesforce Help. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note CustomSite doesn’t currently support syndication feeds. ## 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
Field Field Type Description
active boolean Required. Determines whether the site is active.
allowHomePage boolean Required. Determines whether the standard home page is visible to public users. This field is available in API version 15.0 and later.
allowStandardAnswersPages boolean Determines whether the standard answer pages are visible to public users. This field is available in API version 19.0 and later.
allowStandardIdeasPages boolean Required. Determines whether the standard Ideas pages are visible to public users. This field is available in API version 15.0 and later.
allowStandardLookups boolean Required. Determines whether the standard lookup pages are visible to public users. This field is available in API version 15.0 and later.
allowStandardPortalPages boolean Required. When enabled, authenticated users in this site can access standard Salesforce pages as allowed 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 helps add a layer of access protection to your site. This field is available in API version 39.0 and later.
allowStandardSearch boolean Required. Determines whether the standard search pages are visible to public users. This field is available in API version 15.0 and later.
analyticsTrackingCode string The tracking code associated with your site. Services such as Google Analytics can use this code to track page request data for your site. This field is available in API version 17.0 and later.
authorizationRequiredPage string The name of the Visualforce page to display when the guest user tries to access a page for which they aren’t authorized.
bandwidthExceededPage string The name of the Visualforce page to display when the site has exceeded its bandwidth quota.
browserXssProtection boolean Required. Determines whether protection against reflected cross-site scripting attacks is enabled. If a reflected cross-site scripting attack is detected, the browser shows a blank page with no content. Available in API version 41.0 and later.
cachePublicVisualforcePagesInProxyServers boolean Indicates whether proxy servers cache this site’s publicly available pages only for unauthenticated guest users (true) or not (false). When this field is false, this site’s 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.

changePasswordPage string The name of the Visualforce page to display when the portal user attempts to change their password for either the portal or for Chatter Answers, when enabled.
chatterAnswersForgotPasswordConfirmPage string The name of the Visualforce page that informs the user that an email has been sent to them 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.
chatterAnswersForgotPasswordPage string The name of the Visualforce page to display when a user clicks the link to retrieve a forgotten password. This field is available if Chatter Answers is enabled for your organization. This field is available in API version 27.0 and later.
chatterAnswersHelpPage string The name of the Visualforce page to display when the user clicks the help link. This field is available if Chatter Answers is enabled for your organization. This field is available in API version 27.0 and later.
chatterAnswersLoginPage string The name of the Visualforce page to display where users can log in to the portal. This field is available if Chatter Answers is enabled for your organization. This field is available in API version 27.0 and later.
chatterAnswersRegistrationPage string The name of the Visualforce page to display where users can register themselves and access the portal. This field is available in API version 27.0 and later.
clickjackProtectionLevel SiteClickjackProtectionLevel (enumeration of type string) Sets the clickjack protection level. The options are:
  • 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 — Don’t allow framing by any page (most protection)
This field is available in API version 30.0 and later.
contentSniffingProtection boolean Required. Determines whether the browser is prevented from inferring the MIME type from the 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.
cspUpgradeInsecureRequests boolean 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.
customWebAddresses SiteWebAddress[] The root custom URLs associated with the site. Saving or deploying a CustomSite replaces all root custom URLs in the site with the root custom URLs in this list. Custom URLs that use a non-root path prefix aren’t included in this list and aren’t affected when saving or deploying a CustomSite. This field is available in API version 21.0 and later.
description string The site description.
enableAuraRequests boolean Determines whether guest users can view features available only in Lightning (true). If set to false, Lightning features don’t load. This field is available in API version 46.0 and later.
favoriteIcon string The name of the static resource, without the extension, for the icon that appears in next to the site’s name in browser tabs, bookmarks, and search results.

To update a site’s favorite icon, create a 16px by 16px ICO file. Then store that images a static resource at the base path for the site. For example, if the icon file name is favico.ico, https://myDomainName.my.site.com/store/favicon.ico is the required path for a site with the URL https://myDomainName.my.site.com/store. To use that icon, set favoriteIcon to favicon.

If the specified the ICO file doesn’t exist in the required location, a 404 error is returned. Otherwise, if the file isn’t present, no favorite icon is used.

fileNotFoundPage string The name of the Visualforce page to display when the guest user tries to access a non-existent page.
forgotPasswordPage string The name of the Visualforce page to display when a user clicks the Forgot Password link on the site’s login page. This field is only applicable for Experience Cloud sites.
genericErrorPage string The name of the Visualforce page to display for errors not otherwise specified.
guestProfile string Read only. The name of the profile associated with the guest user.
inMaintenancePage string The name of the Visualforce page to display when the site is down for maintenance.
inactiveIndexPage string The name of the Visualforce page set as the inactive site home page.
indexPage string Required. The name of the Visualforce page set as the active site home page.
masterLabel string Required. The name of the site label in the Salesforce user interface.
myProfilePage string The name of the Visualforce page to display as the site user’s profile page, where users can update their contact information. This field is available in API version 20.0 and later.
portal string The name of the portal associated with this site for login access.
redirectToCustomDomain boolean Indicates whether requests for this site’s system-managed URLs are redirected to the HTTPS 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 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 site’s primary custom URL only if it’s 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.

referrerPolicyOriginWhenCrossOrigin boolean Required. Determines whether the referrer header shows only Salesforce.com rather than the entire URL 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.
requireHttps boolean 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.
requireInsecurePortalAccess boolean Determines whether to override your organization's security settings and exclusively use HTTP when logging in to the associated portal from your site. Removed in API version 50.0 and later.
robotsTxtPage string The name of the Visualforce page to display for the robots.txt file used by web crawlers.
selfRegPage string Visualforce page used for self-registration.
serverIsDown string The name of the static resource to be displayed from the cache server when Salesforce servers are down. 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.
siteAdmin string The username of the site administrator.
siteGuestRecordDefaultOwner string 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.
siteIframeWhiteListUrls SiteIframeWhiteListUrl[] The list of external domains that you allow to frame your Salesforce site. This field is available in API 49.0 and later.
siteRedirectMappings SiteRedirectMapping[] An array of all URL redirect rules set for your site. This field is available in API version 20.0 and later.
siteTemplate string The name of the Visualforce page to be used as the site template.
siteType siteType Required. Identifies whether the site is a Visualforce (Salesforce Sites), Site.com site, or ChatterNetwork (Salesforce Sites).This field is available in API version 27.0 and later.
subdomain string Read only. The previous custom subdomain prefix for the site. For example, if your site URL is 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 site’s previous subdomain. Otherwise, this field returns a null value.

urlPathPrefix string 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.salesforce-sites.com/partners, partners is the urlPathPrefix.
## SiteIframeWhiteListUrl Represents the external domains that you allow to frame your site or experience pages. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s name. | Field | Field Type | Description | | --- | --- | --- | | url | string | Required. The trusted domain that you allow to frame your site or Experience Cloud site pages. Accepts these formats: example, example.com, \*example.com, and https://example.com. | ## SiteRedirectMapping SiteRedirectMapping represents a URL redirect rule on your Salesforce site.” in Salesforce Help.
Field Field Type Description
action SiteRedirect (enumeration of type string) Required. The type of the redirect. Available string values are:
  • Permanent
  • Temporary
isActive boolean The status of the redirect: active or inactive.
source string Required. The URL that you want to redirect. It must be a relative URL, but can have any valid extension type, such as .html or .php.
target string Required. The new URL you want users to visit. It can be a relative URL or a fully-qualified URL with an http:// or https:// prefix.
## SiteWebAddress Represents the web address of a Salesforce site. | Field | Field Type | Description | | --- | --- | --- | | certificate | string | Identifies the certificate associated with the custom domain. If the custom domain is set up for Salesforce to serve HTTPS, this field indicates which certificate to use. | | domainName | string | Required. The domain of the website, in the form of www.acme.com. | | primary | boolean | Required. Indicates whether this is the primary domain (true). If false, this is not the primary domain. | ## Declarative Metadata Sample Definition Here is a sample XML definition of a site. true true true true true true true UA-000000-2 Unauthorized BandwidthExceeded true false ChangePassword ChatterAnswersForgotPasswordConfirm ChatterAnswersForgotPassword ChatterAnswersHelp ChatterAnswersLogin ChatterAnswersRegistration SameOriginOnly true www.testing123.com true Partners portal for My Company true favicon FileNotFound ForgotPassword Exception Guest InMaintenance Inactive UnderConstruction customSite UserProfile Customer Portal true true RobotsTxt SelfReg MyServerDownResource admin@myco.org admin@myco.org example.com SiteTemplate Siteforce myco partners ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [Portal](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_portal.htm "The Portal metadata type represents a partner 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 app’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location The file suffix is .tab. There’s one file for each tab, stored in the tabs folder in the corresponding package directory. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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:
Field Name Field Type Description
actionOverrides ActionOverride[] 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.

auraComponent string The name of the Aura component to display in this tab.

Only one of these fields can have a value set:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
customObject boolean 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:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
description string The optional description text for the tab.
flexiPage string The name of the Lightning page to display in this tab.

Only one of these fields can have a value set:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
frameHeight int The height, in pixels of the tab frame. Required for s-control and page tabs.
fullName string The name of the tab. The value of this field depends on the type of tab, and the API version.
  • 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.

hasSidebar boolean Indicates if the tab displays the sidebar panel.
icon string The optional reference to the image document for the tab if the tab isn’t using one of the standard tab styles. This field is available in API version 14.0.
label string The label of the tab, for web tabs only.
lwcComponent string The name of the Lightning web component to display in this tab.

Only one of these fields can have a value set:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
motif string Required. The tab style for the color scheme and icon for the custom tab.

For example, “'Custom70: Handsaw,” is the handsaw icon.

Valid Values for this field are: Custom1:Heart, Custom2:Fan, Custom3:Sun, Custom4:Hexagon, Custom5:Leaf, Custom6:Triangle, Custom7:Square, Custom8:Diamond, Custom9:Lightning, Custom10:Moon, Custom11:Star, Custom12:Circle, Custom13:Box, Custom14:Hands, Custom15:People, Custom16:Bank, Custom17:Sack, Custom18:Form, Custom19:Wrench, Custom20:Airplane, Custom21:Computer, Custom22:Telephone, Custom23:Envelope, Custom24:Building, Custom25:Alarmclock, Custom26:Flag, Custom27:Laptop, Custom28:Cellphone, Custom29:PDA, Custom30:Radardish, Custom31:Car, Custom32:Factory, Custom33:Desk, Custom34:Insect, Custom35:Microphone, Custom36:Train, Custom37:Bridge, Custom38:Camera, Custom39:Telescope, Custom40:Creditcard, Custom41:Cash, Custom42:Treasurechest, Custom43:Jewel, Custom44:Hammer, Custom45:Ticket, Custom46:Stamp, Custom47:Knight, Custom48:Trophy, Custom49:CD/DVD, Custom50:Bigtop, Custom51:Apple, Custom52:Balls, Custom53:Bell, Custom54:Boat, Custom55:Books, Custom56:Bottle, Custom57:BuildingBlock, Custom58:Caduceus, Custom59:Can, Custom60:Umbrella, Custom61:Castle, Custom62:Chalkboard, Custom63:Chip, Custom64:Compass, Custom65:Cup, Custom66:Dice, Custom67:Gears, Custom68:Globe, Custom69:Guitar, Custom70:Handsaw, Custom71:Headset, Custom72:Helicopter, Custom73:HighwaySign, Custom74:HotAirBalloon, Custom75:IPPhone, Custom76:Keys, Custom77:Locked, Custom78:Map, Custom79:MeasuringTape, Custom80:Motorcycle, Custom81:MusicalNote, Custom82:Whistle, Custom83:Pencil, Custom84:Presenter, Custom85:RealEstateSign, Custom86:RedCross, Custom87:Safe, Custom88:Sailboat, Custom89:Saxophone, Custom90:Scales, Custom91:Shield, Custom92:Ship, Custom93:ShoppingCart, Custom94:Stethoscope, Custom95:Stopwatch, Custom96:StreetSign, Custom97:Thermometer, Custom98:Truck, Custom99:TVCRT, Custom100:TVWidescreen.

page string The name of the Visualforce page to display in this tab.

Only one of these fields can have a value set:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
scontrol string The name of the s-control to display in this tab.

Only one of these fields can have a value set:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
splashPageLink string The custom link used as the introductory splash page when users click the tab. References a HomePageComponent.
url string The URL for the external web-page to embed in this tab.

Only one of these fields can have a value set:

  • auraComponent
  • customObject
  • flexiPage
  • lwcComponent
  • page
  • scontrol
  • url
urlEncodingKey Encoding (enumeration of type string) The default encoding setting is Unicode: UTF-8. Change it if you’re 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.
## Declarative Metadata Sample Definition The following is the definition of a tab: Myriad Publishing 600 Custom53: Bell https://www.example.com UTF-8 ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [CustomApplication](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_customapplication.htm "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.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 value’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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 doesn’t 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 | Field Name | Field Type | Description | | --- | --- | --- | | color | string | The color assigned to the picklist value when it’s used in charts on reports and dashboards. The color is in hexadecimal format; for example, #FF6600. If a color isn’t specified, it’s assigned dynamically upon chart generation. | | default | boolean | 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. | | description | string | A picklist value’s description. It’s useful to include a description for a picklist value so the reason for creating it can be tracked. Limit: 255 characters. | | isActive | boolean | 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 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. | | label | string | The value’s display label. If you don’t specify the label when creating a value it defaults to the API name. Available in API version 39.0 and later. | ## 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.
Field Name Field Type Description
allowEmail boolean 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.
closed boolean Indicates whether this value is associated with a closed status (true), or not (false). This field is only relevant for the standard Status 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.
converted boolean Indicates whether this value is associated with a converted status (true), or not (false). This field is relevant for only the standard Lead 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.
cssExposed boolean 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 service representative. For more information about Self-Service, see Setting Up Your Self-Service Portal in Salesforce Help.

Note

Note

Starting with Spring ’12, the Self-Service portal isn’t 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.

forecastCategory ForecastCategories (enumeration of type string) 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.
  • Omitted
  • Pipeline
  • BestCase
  • Forecast
  • Closed

This field is available in API version 16.0 and later.

highPriority boolean Indicates whether this value is a high priority item (true), or not (false). This field is only relevant for the standard Priority field 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.
probability int 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.
reverseRole string 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. 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.
reviewed boolean Indicates whether this value is associated with a reviewed status (true), or not (false). This field is only relevant for the standard Status 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.
won boolean Indicates whether this value is associated with a closed or won status (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.
## Declarative Metadata Sample Definition For an example of CustomValue components within a GlobalValueSet component that’s referenced by a package.xml, see [GlobalValueSet](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_globalvalueset.htm "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 isn’t 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."). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. For more information, see “Edit Dashboards in Accessibility Mode in Salesforce Classic” in the Salesforce online help. Redeploying a dashboard with the same fullName as a previously deleted dashboard via Metadata API restores the deleted dashboard instead of creating a new one, even if the dashboard was removed from the Recycle Bin. The restored dashboard keeps its original Id, CreatedDate, and CreatedById. ## 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 can’t 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. MyDBFolder/MyDBName Dashboard MyDocumentFolder/MyDocumentName Document unfiled$public/MarketingProductInquiryResponse unfiled$public/SalesNewCustomerEmail EmailTemplate MyReportFolder/MyReportName Report 68.0 ## Version Dashboard components are available in API version 14.0 and later. ## Fields
Field Field Type Description
backgroundEndColor string Required. A dashboard can have a gradient color change on its charts. This field defines the second color for the gradient and 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.
backgroundFadeDirection ChartBackgroundDirection (enumeration of type string) Required. The direction of the gradient color change, defined by the backgroundStartColor and backgroundEndColor fields. The valid values are:
  • Diagonal
  • LeftToRight
  • TopToBottom
backgroundStartColor string Required. The starting color for the gradient color change on the dashboard's charts. See backgroundEndColor for more information. The color is in hexadecimal format; for example #FF6600.
chartTheme ChartTheme (enumeration of type string) Determines the default theme for all dashboard charts. Replaces dashboardChartTheme for API v42.0 and later.
    • light—Light-colored theme.
    • dark—Dark-colored theme.

    This field is available in API version 42.0 and later.

    colorPalette ChartColorPalettes (enumeration of type string) Determines the default palette for all dashboard charts. Replaces dashboardColorPalette for API v42.0 and later.
    • accessible
    • bluegrass
    • branding
    • colorSafe
    • Default
    • dusk
    • earth
    • fire
    • gray
    • heat
    • justice
    • nightfall
    • pond
    • sunrise
    • tropic
    • unity
    • water
    • watermelon

    This field is available in API version 42.0 and later.

    dashboardChartTheme ChartTheme (enumeration of type string) Determines the default theme for all dashboard charts.
    • light—Light-colored theme.
    • dark—Dark-colored theme.

    This field is available to maintain backward compatibility with versions prior to API version 42.0.

    dashboardColorPalette ChartColorPalettes (enumeration of type string) Determines the default palette for all dashboard charts.
    • 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.

    dashboardFilters DashboardFilter[] The list of filters in a dashboard.

    This field is available in API version 23.0 and later.

    dashboardGridLayout DashboardGridLayout Lists the included DashboardGridComponent objects, specifies the number of dashboard columns, and sets each dashboard row’s height in pixels.

    This field is available in API version 35.0 and later.

    dashboardType DashboardType (enumeration of type string) Determines the way visibility settings are set for a dashboard. The valid values are:
    • SpecifiedUser—All users see data at the access level of one specific running user, specified in the runningUser field, regardless of their own security settings.
    • LoggedInUser—Each logged-in user sees data according to his or her own access level.
    • MyTeamUser—Managers 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 string Description for the dashboard. Maximum of 255 characters.
    folderName string Name of the folder that houses the dashboard.

    This field is available in API version 35.0 and later.

    fullName string 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.

    This field specifies the folder and dashboard title; for example folderSales/California.

    isGridLayout boolean 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.

    This field is available in API version 35.0 and later.

    dashboardResultRefreshedDate string Required. Date that the dashboard was last refreshed.
    dashboardResultRunningUser string Required. User currently accessing the dashboard.
    leftSection DashboardComponentSection Required. The left section or column of the dashboard.
    middleSection DashboardComponentSection The middle section or column of the dashboard.
    numSubscriptions int Number of subscriptions reported on the dashboard. This field is available in API version 42.0 and later.
    owner string The creator of the dashboard.
    rightSection DashboardComponentSection Required. The right section or column of the dashboard.
    runningUser string 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 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

    Tip

    To avoid inappropriate exposure of sensitive data, save the dashboard to a folder that is visible only to appropriate users.

    textColor string Required. Color of the text on each chart in the dashboard. The color is in hexadecimal format; for example #FF6600.
    title string Required. The dashboard title.
    titleColor string Required. Color of the titles on each dashboard component. The color is in hexadecimal format; for example #FF6600.
    titleSize int Required. Size of characters in title text. For example, a value of 12 indicates 12pt text.
    ## DashboardFilter DashboardFilter represents a filter in a dashboard. | Field | Field Type | Description | | --- | --- | --- | | dashboardFilterOptions | [DashboardFilterOption](#dashboardFilterOption)\[\] | The list of items you can select in the **Filter Options** section of the Add Filter dialog. | | name | string | Required. The filter label. | ## DashboardFilterOption DashboardFilterOption represents a filter option in a dashboard.
    Field Field Type Description
    operator DashboardFilterOperation

    (enumeration of type string)

    Required. Represents the filter operation for this filter item. Valid values are:
    • equals
    • notEqual
    • lessThan
    • greaterThan
    • lessOrEqual
    • greaterOrEqual
    • contains
    • notContain
    • startsWith
    • includes
    • excludes
    • between
      Note

      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.

    values string[] 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.
    ## 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 row’s height in pixels. | Field | Field Type | Description | | --- | --- | --- | | dashboardGridComponents | DashboardGridComponent\[\] | List of [DashboardGridComponent](#dashboardGridComponent) objects in the dashboard. | | numberOfColumns | int | Required. Total number of columns in the dashboard. | | rowHeight | int | Required. Height of each row in pixels. | ## 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.
    Field Field Type Description
    colSpan int Required. The width of the dashboard component in columns.

    For example, if colSpan is 5, then the dashboard component spans five columns.

    columnIndex int Required. The left-most column that is occupied by the dashboard component.
    dashboardComponent DashboardComponent Required. The dashboard component that is being sized and placed.
    rowIndex int Required. The top-most row that is occupied by the dashboard component.
    rowSpan int Required. The height of the dashboard component in rows.
    ## 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.
    Field Field Type Description
    chartAxisRange ChartRangeType (enumeration of type string) A manual or automatic axis range for bar or line charts. The valid values are:
    • auto
    • manual
    chartAxisRangeMax double 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.
    chartAxisRangeMin double 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.
    chartSummary ChartSummary 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.

    componentType DashboardComponentType (enumeration of type string) Required. Dashboard component type. The valid values are:
    • Bar
    • BarGrouped
    • BarStacked
    • BarStacked100
    • Column
    • ColumnGrouped
    • ColumnLine
    • ColumnLineGrouped
    • ColumnLineStacked
    • ColumnLineStacked100
    • ColumnStacked
    • ColumnStacked100
    • Donut
    • FlexTable
    • Funnel
    • Gauge
    • Image
    • LightningWebComponent
    • Line
    • LineCumulative
    • LineGrouped
    • LineGroupedCumulative
    • Metric
    • Pie
    • PulseMetricCard
    • RichText
    • Scatter
    • ScatterGrouped
    • SControl
    • Table
    • VisualforcePage
    dashboardComponentContents DashboardComponentContent[] A list of dashboard component contents.

    This field is available in API version 58.0 and later.

    dashboardDynamicValues DashboardDynamicValue[] A list of dashboard dynamic values.

    This field is available in API version 36.0 and later.

    dashboardFilterColumns DashboardFilterColumn[] 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.

    dashboardTableColumn DashboardTableColumn[] Represents a list of columns on a customized dashboard table component.
    displayUnits ChartUnits (enumeration of type string) Chart Units. The valid values are:
    • Auto
    • Integer
    • Hundreds
    • Thousands
    • Millions
    • Billions
    • Trillions
    drillDownUrl string For charts, specifies a URL that users go to when they click the dashboard component. Use this option to send users to another dashboard, report, record detail page, or other system that uses a Web interface. This field overrides the drillEnabled and drillToDetailEnabled fields.
    drillEnabled boolean Specifies whether to take users to the full or filtered source report when they click the dashboard component. Set to 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.

    drillToDetailEnabled boolean When enabled, users are taken to the record detail page when they click a record name, record owner, or feed post 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.
    enableHover boolean Specifies whether to display values, labels, and percentages when hovering over charts. Hover details depend on chart type. Percentages apply to pie, donut, and funnel charts only. This field is available in API version 17.0 and later.
    expandOthers boolean Specifies whether to combine all groups less than or equal to 3% of the total into a single 'Others' wedge or segment. 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.
    flexComponentProperties DashboardFlexTableComponentProperties Defines metadata for Lightning Experience table columns and sorting. This field is available in API version 41.0 and later.
    footer string Footer displayed at the bottom of the dashboard component. Maximum of 255 characters.
    gaugeMax double 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.
    gaugeMin double The minimum value on a gauge.
    groupingColumn string 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.

    GroupingSortProperties DashboardComponentGroupingSortProperties This field captures sort properties of the dashboard component. If the component has one or more groupings, 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 string Header displayed at the top of the dashboard component. Maximum of 80 characters.
    indicatorBreakpoint1 double The value that separates the indicatorLowColor from the indicatorMiddleColor on the dashboard.
    indicatorBreakpoint2 double The value that separates the indicatorMiddleColor from the indicatorHighColor on the dashboard.
    indicatorHighColor string The color representing a high number range on the gauge.
    indicatorLowColor string The color representing a low number range on the gauge.
    indicatorMiddleColor string The color representing a medium number range on the gauge.
    legendPosition ChartLegendPosition (enumeration of type string)
    The location of the legend with respect to the chart. The valid values are:
    • Bottom
    • OnChart
    • Right
    maxValuesDisplayed int The maximum number of elements to include in the top-level grouping of the horizontal axis of a horizontal 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.
    metricLabel string Descriptive label for the metric. This is relevant if metric is the value of the componentType field.
    page string Visualforce page associated with the component.
    pageHeightInPixels int Display height of the Visualforce page in pixels.
    report string Name of the report associated with the component.
    scontrol string S-control associated with component if scontrol is the value of the componentType field. For more information, see “Defining Custom S-Controls” in the Salesforce online help.
    scontrolHeightInPixels int Display height of the s-control in pixels.
    showPercentage boolean Indicates if percentages are displayed for regions of gauges and wedges and segments of pie, donut, and funnel charts (true), or not (false).
    showPicturesOnCharts boolean Display Chatter photos for up to 20 records in a horizontal bar chart component whose source report is grouped by 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.
    showPicturesOnTables boolean Display Chatter photos for up to 20 records in a horizontal bar chart component whose source report is grouped by 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.
    showTotal boolean Indicates if the total of all wedges is displayed for gauges and donut charts (true), or not (false).
    showValues boolean Indicates if the values of individual records or groups are displayed for charts (true), or not (false).
    sortBy DashboardComponentFilter (enumeration of type string) The sort option for the dashboard component.
    sortLegendValues boolean Specifies whether to sort the legend values for the dashboard component.
    title string The title of the dashboard component. Maximum of 40 characters.
    useReportChart boolean Specifies whether to use the chart defined in the source report on this dashboard component. The chart settings 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 dashboard’s components.
    Field Field Type Description
    additionalInfo string Any additional metadata the user wants to include for the component contents.
    altText string The component’s alternative text.
    fileName string The name of the component file.
    fit Fit (enumeration of type string) The image alignment type. Valid values are:
    • FitHeight
    • FitWidth
    • Original
    • Stretch
    • Tile
    horizontalAlignment HorizontalAlignment (enumeration of type string) The horizontal alignment type. Valid values are:
    • Left
    • Center
    • Right
    componentParameters string The parameters for the component.
    richTextContent string The rich text content for the component.
    tooltip string The dashboard component’s tooltip.
    verticalAlignment VerticalAlignment (enumeration of type string) The vertical alignment type. Valid values are:
    • Bottom
    • Center
    • Top
    ## DashboardDynamicValue DashboardDynamicValue represents a dynamic value in a dashboard. | Field | Field Type | Description | | --- | --- | --- | | additionalInfo | string | Any additional metadata the user wants to include for the dynamic value. | | fieldName | string | Required. The name of the field for the dynamic value. | | isDynamicUser | boolean | Indicates whether the value should be retrieved as the user running the dashboard (true) or not (false). | ## DashboardFilterColumn DashboardFilterColumn represents a filter column in a dashboard. | Field | Field Type | Description | | --- | --- | --- | | column | string | Required. The report column code for the filter. | ## DashboardTableColumn DashboardTableColumn represents a column in a customized table component in a dashboard. | Field | Field Type | Description | | --- | --- | --- | | aggregateType | [ReportSummaryType](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_report.htm "Represents a custom report. This metadata type only supports custom reports; standard reports aren’t supported.")\[\] (enumeration of type string) | Specifies the aggregation type for the table column. | | column | string | Required. The label of the column to use in the table. | | showTotal | boolean | Displays the totals for each summarizable column in the dashboard table. This field is available in API version 19.0 and later. | | sortBy | [DashboardComponentSection](#dashboardComponentSection)(enumeration of type string) | The sort option for the dashboard table component. Sort on just one column per table. | ## DashboardFlexTableComponentProperties DashboardFlexTableComponentProperties represents a column in a customized table component in a dashboard.
    Field Field Type Description
    flexTableColumn DashboardComponentColumn Represents a column in a Lightning Experience table component. This field is available in API version 41.0 and later.
    flexTableSortInfo DashboardComponentSortInfo Represents sorting column and order in a Lightning Experience table component. This field is available in API version 41.0 and later.
    hideChatterPhotos boolean If true, hides any photos from Chatter feeds.

    This field is available in API version 41.0 and later.

    decimalPrecision integer For columns with numeric values, indicates the number of significant digits.
    useReportTableSetting boolean If true, users can import report table settings to this component.

    This field is available in API version 65.0 and later.

    ## DashboardComponentGroupingSortProperties DashboardComponentGroupingSortProperties is composed of multiple elements of the type DashboardComponentGroupingSort. | Field | Field Type | Description | | --- | --- | --- | | groupingSorts | [DashboardComponentGroupingSort](#DashboardComponentGroupingSort) | 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. | ## DashboardComponentGroupingSort DashboardComponentGroupingSort specifies properties for sorting on a dashboard component group. | Field | Field Type | Description | | --- | --- | --- | | groupingLevel | String | Grouping at which this sort configuration is applied. | | inheritedReportGroupingSort | String | true if the sort order is picked up from an underlying report for this grouping level. | | sortColumn | String | 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. | | sortOrder | String | Ascending or Descending to reflect the sort order. | ## DashboardComponentColumn DashboardComponentColumn represents a component column in a dashboard. Available in API version 41.0 and later.
    Field Field Type Description
    breakPoint1 double The value that separates the lowRangeColor from the midRangeColor on the dashboard.
    breakPoint2 double The value that separates the midRangeColor from the highRangeColor on the dashboard.
    breakPointOrder double Conditional highlighting can be applied to multiple columns. This field stores the order of conditional highlights.
    highRangeColor int The color representing a high number range on the column.
    lowRangeColor int The color representing a low number range on the column.
    midRangeColor int The color representing a mid number range on the column.
    reportColumn string Required. The report column code for the filter.
    showTotal boolean If true, the column total is displayed.
    type DashboardComponentColumnType (enumeration of type string) Represents the type of Lightning Experience table column:
    • Details
    • Aggregates
    • Grouping

    This field is available in API version 41.0 and later.

    ## DashboardComponentSortInfo DashboardFilterColumns represents a filter column in a dashboard. | Field | Field Type | Description | | --- | --- | --- | | sortColumn | string | Indicates the column on which the table is sorted. This field is available in API version 41.0 and later. | | sortOrder | string | Indicates whether column sorting is ascending or descending. This field is available in API version 41.0 and later. | ## DashboardComponentSection DashboardComponentSection represents one of the sections or columns in a dashboard.
    Field Field Type Description
    columnSize DashboardComponentSize (enumeration of type string) Required. The size of the column in the dashboard:
    • Medium
    • Narrow
    • Wide
    components DashboardComponent[] The list of DashboardComponent objects in the dashboard column.
    ## DashboardComponentFilter DashboardComponentFilter is an enumeration of type string that lists the sort values for dashboard components. The valid values are: | Enumeration Value | Description | | --- | --- | | RowLabelAscending | Sorts in alphabetical order by the label. | | RowLabelDescending | Sorts in reverse alphabetical order by the label. | | RowValueAscending | Sorts lowest to highest by the value. | | RowValueDescending | Sorts highest to lowest by the value. | ## 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. #FFFFFF Diagonal #FFFFFF equals Media lessThan Working between ABC XYZ Industry equals Analyst,Partner startsWith Integrator Account Type SpecifiedUser Medium Auto Bar INDUSTRY TYPE Auto false false false false Bottom unfiled$public/SampleReportofAccounts false false false RowLabelAscending false Medium Auto Funnel ACCOUNT\_INDUSTRY ACCOUNT.TYPE Auto false false false false Bottom unfiled$public/SampleReportofCases false true RowLabelAscending false Medium Auto Column INDUSTRY ACCOUNT\_TYPE Auto false false false false Bottom unfiled$public/SampleReportofOpportunities false false RowLabelAscending false admin@TESTORGNUM #000000 My Dashboard #000000 12 ## 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. #FFFFFF LeftToRight #FFFFFF Dashboard with all possible chart types Medium Auto BarStacked100 Auto true true testFolder/sourceRep RowLabelAscending Table CLOSE\_DATE RowLabelAscending Sum AMOUNT true STAGE\_NAME PROBABILITY Maximum Integer Opportunities Table #54C254 #C25454 #C2C254 10 testFolder/sourceRep Auto Bar Auto true true testFolder/sourceRep RowLabelAscending Auto Column Auto true Bottom testFolder/sourceRep RowLabelAscending true Auto Funnel Auto true true true Bottom testFolder/sourceRep RowLabelAscending Medium Auto ColumnStacked100 Auto true true testFolder/sourceRep RowLabelAscending Auto ColumnStacked Auto true true testFolder/sourceRep RowLabelAscending Auto ColumnStacked Auto true true testFolder/sourceRep RowLabelAscending Auto ColumnGrouped Auto true true testFolder/sourceRep RowLabelAscending Auto Column Auto true true testFolder/sourceRep RowLabelAscending Medium Auto Bar Auto true true testFolder/sourceRep RowLabelAscending Auto Pie Auto true true true testFolder/sourceRep RowLabelAscending Auto LineGroupedCumulative Auto true true testFolder/sourceRep RowLabelAscending Auto LineGrouped Auto true true testFolder/sourceRep RowLabelAscending Auto LineCumulative Auto true true testFolder/sourceRep RowLabelAscending Auto Donut Auto true true true testFolder/sourceRep RowLabelAscending admin@TESTORGNUM #000000 Db Title #000000 12 ## 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. #FFFFFF Diagonal #FFFFFF SpecifiedUser 3 0 false Auto y RowCount Donut false false false false TITLE Bottom unfiled$public/lead\_rpt false false true RowLabelAscending false 0 3 3 0 false Auto y RowCount Pie false false false false TITLE Bottom unfiled$public/lead\_rpt false true RowLabelAscending false 3 3 3 0 false Auto y RowCount Column false false false false TITLE Bottom unfiled$public/lead\_rpt false false RowLabelAscending false 9 3 9 90 true admin@s1.com #000000 sfx #000000 12 ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). #### See Also - [Folder](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_folder.htm "Represents a folder. This type extends the Metadata metadata type and inherits its fullName field.") - [Report](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_report.htm "Represents a custom report. This metadata type only supports custom reports; standard reports aren’t supported.") # Data 360 Metadata Types Check out the metadata types that are used for development in Data 360. - **[ActivationPlatform](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_activationplatform.htm)** Represents the ActivationPlatform configuration, such as platform name, delivery schedule, output format, and destination folder. - **[ActivationPlatformActvAttr](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_activationplatformactvattr.htm)** Represents the information about activation attributes. Reserved for future use. - **[ActivationPlatformField](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_activationplatformfield.htm)** Represents the information about the fields used in ActivationPlatform. - **[ActvPfrmDataConnectorS3](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_actvpfrmdataconnectors3.htm)** Represents the Amazon S3 bucket name and export directory. - **[ActvPlatformAdncIdentifier](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_actvplatformadncidentifier.htm)** Represents the information about the identifiers to be activated, such as Email, Phone, Mobile Advertiser (MAID) ID, and Over-the-top (OTT) ID. - **[ActvPlatformFieldValue](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_actvplatformfieldvalue.htm)** Represents the field values for the ActivationPlatformFields. - **[AiPluginUtteranceDef](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_aipluginutterancedef.htm)** Represents an utterance that can be used to pick a topic during runtime. - **[CustomerDataPlatformSettings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_customerdataplatformsettings.htm)** Represents an org's Data 360 settings. - **[DataConnector](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_dataconnector.htm)** Represents the white-labeled metadata configuration for an external connector in Data 360. - **[DataConnectorIngestApi](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_dataconnectoringestapi.htm)** Represents the connection information specific to Ingestion API. - **[DataConnectorS3](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_dataconnectors3.htm)** Represents the connection information specific to Amazon S3. - **[DataKitObjectTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datakitobjecttemplate.htm)** Represents the object in Data Kit Object Template. These object templates are added inside the data kit. - **[DataKitObjectDependency](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datakitobjectdependency.htm)** Represents the dependency between two data kit objects. The object templates are added inside the data kit. - **[DataObjectBuildOrgTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_dataobjectbuildorgtemplate.htm)** Represents the derived object template used to define the structure and configuration of data objects in a build organization. The object templates are added inside the data kit to deploy metadata. - **[DataPackageKitDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datapackagekitdefinition.htm)** Represents the top-level data kit container definition. Content objects can be added after the data kit is defined. - **[DataPackageKitObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datapackagekitobject.htm)** Represents the object in Data Kit Content Object. These objects are added inside the data kit. - **[DataSource](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datasource.htm)** Used to represent the system where the data was sourced. This object is always needed when creating a Data Stream Definition. - **[DataSourceBundleDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datasourcebundledefinition.htm)** Represents the bundle of streams that a user adds to a data kit. - **[DataSourceField](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datasourcefield.htm)** Represents the details of a data source field. - **[DataSourceObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datasourceobject.htm)** Represents the object from where the data was sourced. - **[DataSourceTenant](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datasourcetenant.htm)** For internal use only. - **[DataSrcDataModelFieldMap](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datasrcdatamodelfieldmap.htm)** Represents the mappings between source data lake object (DLO) fields and target data model object (DMO) fields. - **[DataStreamDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datastreamdefinition.htm)** Contains data ingestion information such as connection, API, and file retrieval settings. - **[DataStreamTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datastreamtemplate.htm)** Represents the data stream that a user adds to a data kit. - **[DebugLevel](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_debuglevel.htm)** Represents a set of log category levels to assign to a TraceFlag object. Multiple trace flags can use a debug level. - **[ExternalDataConnector](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_externaldataconnector.htm)** Used to represent the object where the data was sourced. - **[ExternalDataSource](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_externaldatasource.htm)** 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. - **[ExternalDataTransportFieldTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_externaldatatransportfieldtemplate.htm)** For internal use only. - **[ExternalDataTranObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_externaldatatranobject.htm)** Represents a definition of a Data 360 schema object. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. - **[ExternalDataTransportObjectTemplate](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_externaldatatransportobjecttemplate.htm)** For internal use only. - **[FieldSrcTrgtRelationship](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_fieldsrctrgtrelationship.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_internaldataconnector.htm)** For internal use only. - **[MarketSegmentDefinition](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_marketsegmentdefinition.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_mktcalcinsightobjectdef.htm)** Represents Calculated Insight definition such as expression. - **[MktDataTranObject](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_mktdatatranobject.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objectsourcetargetmap.htm)** 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_streamingappdataconnector.htm)** Represents the connection information specific to Web and Mobile Connectors. #### See Also - [_Developer Center_: Data Cloud](https://developer.salesforce.com/developer-centers/data-cloud "Developer Center: Data Cloud - HTML (New Window)") # DataCategoryGroup Represents a data category group. This type extends the Metadata metadata type and inherits its fullName field. ![Warning](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_warning.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. ## Fields This metadata type contains the following fields: | Field Name | Field Type | Description | | --- | --- | --- | | active | boolean | Required. The status of the category group. Indicates whether this category group is active, (true), or not active (false). | | dataCategory | DataCategory | Required. The top-level category within the data category group. | | description | string | The description of the data category group. | | fullName | string | Required. The unique name of the data category group. When creating a data category group, the fullName field and the file name (without 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. | | label | string | Required. Label that represents the object in Salesforce. | | objectUsage | ObjectUsage | The objects that are associated with the data category group. | ## DataCategory Represents an item (or data category) in the data category group. A data category can recursively contain a list of other data categories.
    Field Name Field Type Description
    dataCategory DataCategory[] 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.
    label string Required. Label for the data category throughout the Salesforce user interface.
    name string Required. The developer name of the data category used as a unique identifier for API access. The name can only contain characters, letters, and the underscore (_) character, must start with a letter, and cannot end with an underscore or contain two consecutive underscore characters.
    Important

    Important

    The value for this field is defined once and cannot be changed later.

    Warning

    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.

    ## 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.
    Field Name Field Type Description
    object string[] A list of the object names that can be associated with the data category group. Valid values are:
    • KnowledgeArticleVersion—to 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.
    • Question—to associate questions. You can associate the Question object with at most one category group.

    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: Geography Geography structure of service center locations geo WW Worldwide AMER North America USA United States of America CAN Canada MEX Mexico EMEA Europe, Middle East, Africa FR France SP Spain UK United-Kingdom APAC Asia KnowledgeArticleVersion ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. ![The Geography category group with the category US in the organization and the category USA in the XML file](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/category_remove.png) 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. ![Moving and deleting "FR" in the Geography category group](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/category_miscategorization.png) 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataConnector Represents the white-labeled metadata configuration for an external connector in Data 360. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location DataConnector components have the suffix .dataconnector and are stored in the dataconnectors folder. ## Version DataConnector components are available in API version 64.0 and later. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | attributes | Field Type [DataConnectorAttribute\[\]](#DataConnectorAttribute) Description A list of configurable attributes for the data connector. | | description | Field Type string Description Required. The description of the data connector. | | errors | Field Type [DataConnectorError\[\]](#DataConnectorError) Description A list of error messages or codes related to the connector’s behavior or configuration validation. | | features | Field Type DataConnectorFeature\[\] (enumeration of type string) Description A list of features supported by the data connector. Values are: Override | | icon | Field Type string Description A static resource in SVG format with dimensions of 100x100 pixels and a file size not exceeding 100 KB. | | licenseAgreement | Field Type string Description Text of the license agreement associated with the data connector. | | masterLabel | Field Type string Description Required. The display label of the connector used in user interface (UI). | | ownerLocation | Field Type string Description A description or URL that specifies where the connector is maintained or hosted. | | ownerLogo | Field Type string Description A static resource in SVG format with dimensions of 100x100 pixels and a file size not exceeding 100 KB. | | ownerName | Field Type string Description The name of the organization that owns the connector. | | parentConnector | Field Type string Description The API name of the connector. For example, AwsS3, SNOWFLAKE, ICEBERG, and so on. | | releaseLevel | Field Type DataConnectorReleaseLevel (enumeration of type string) Description Required. Indicates the connector’s lifecycle stage. Values are: - BETA - GA - IN\_DEV - PILOT | | supportEmail | Field Type string Description The support email address users can contact for help with the connector. | | supportMessage | Field Type string Description A support-related message or instruction displayed. | | supportPhone | Field Type string Description The support phone number users can call for help with the connector. | | translations | Field Type LocalizedValue\[\] Description A list of localized labels and descriptions to support multiple languages in the UI. | ## DataConnectorAttribute | Field Name | Description | | --- | --- | | capabilities | Field Type DataConnectorCapability\[\] (enumeration of type string) Description A list of supported capabilities for the data connector. Values are: - DataIn - DataInDelete - DataInHeader - DataInIncremental - DataInSelector - DataInStructured - DataInUnstructured - DataOut - Hidden - UniqueGroup - ZeroCopyIn | | command | Field Type string Description The command string executed during data operations, such as import or sync. | | commandAttributes | Field Type string Description A list of attributes passed with the command. | | dataType | Field Type DataConnectorDataType (enumeration of type string) Description Required. Specifies the type of data input expected. Values are: - CHECKBOX - COMBOBOX - DATE - DATETIME - EMAIL - IDP - NAMED\_CREDENTIAL - NUMBER - PASSWORD - PASSWORD\_FILE - PRIVATE\_NETWORK\_ROUTE - RADIO - RADIO\_BUTTONS - TEXT - TEXTAREA - TIME - TOGGLE | | defaultValue | Field Type string Description The default value assigned to the field if no user input is provided. | | editable | Field Type boolean Description Indicates whether the field value can be modified by the user. | | externalName | Field Type string Description Required. The unique name used to reference the connector externally, such as in API calls. | | masterLabel | Field Type string Description Required. The label used for display in the UI. | | max | Field Type string Description The maximum allowable value or length for the field. | | min | Field Type string Description The minimum allowable value or length for the field. | | options | Field Type [DataConnectorAttributeOpt\[\]](#DataConnectorAttributeOpt) Description A list of selectable options available for the field. | | order | Field Type int Description Required. The display order or evaluation order of the field. | | pattern | Field Type string Description The validation pattern used to ensure input follows a defined format. | | placeholder | Field Type string Description The placeholder text displayed in the input field when empty. | | readonly | Field Type boolean Description Indicates whether the field is read-only. | | required | Field Type boolean Description Indicates whether the field must have a value. | | secure | Field Type boolean Description Indicates whether the field contains sensitive data and should be masked. | | tooltip | Field Type string Description The tooltip text shown to users for additional guidance. | | translations | Field Type LocalizedValue\[\] Description A list of localized labels and descriptions for use in different languages. | | validationMessageError | Field Type string Description The error message shown when input validation fails for this field. | ## DataConnectorAttributeOpt | Field Name | Description | | --- | --- | | capabilities | Field Type DataConnectorCapability\[\] (enumeration of type string) Description A list of capabilities supported by the data connector. Values are: - DataIn - DataInDelete - DataInHeader - DataInIncremental - DataInSelector - DataInStructured - DataInUnstructured - DataOut - Hidden - UniqueGroup - ZeroCopyIn | | conditionAttributes | Field Type string Description A list of attributes used to define conditions in the connector configuration. | | externalName | Field Type string Description Required. The unique name used to reference the connector externally, such as in API calls. | | masterLabel | Field Type string Description Required. The display label for the connector used in the UI. | | order | Field Type int Description Required. The order or priority of the connector in processing context. | | translations | Field Type LocalizedValue\[\] Description A list of localized labels and descriptions for use in different languages. | ## DataConnectorError | Field Name | Description | | --- | --- | | externalName | Field Type string Description Required. The unique name used to reference the object externally, such as in API calls. Must be unique across the namespace. | | masterLabel | Field Type string Description Required. The label displayed in the UI. | | translations | Field Type LocalizedValue\[\] Description A list of localized labels and descriptions for use in different languages. | ## Declarative Metadata Sample Definition The following is an example of a DataConnector component. Iceberg Override Salesforce ICEBERG BETA Connect to Apache Iceberg tables Override Slack Salesforce Settle, USA Click download logs before reachout +15788467513 https://www.salesforce.com/company/legal IcebergOverride\_storageSourceType storageSourceType Storage Type COMBOBOX CATALOG\_PROVIDED DataIn Hidden 20 true true true The following is an example package.xml that references the previous definition. \* DataConnector \* StaticResource 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataConnectorIngestApi Represents the connection information specific to Ingestion API. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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 | Field Name | Description | | --- | --- | | masterLabel | Field Type string Description Required. UI label of the Ingestion API Connector. | | sourceName | Field Type string Description Required. Name of the Ingestion API Connector. | ## Declarative Metadata Sample Definition The following is an example of a DataConnectorIngestApi component. CONNECTOR NAME CONNECTOR NAME The following is an example package.xml that references the previous definition. MyConnector MyConnector ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataConnectorS3 Represents the connection information specific to Amazon S3. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 | Field Name | Field Type | Description | | --- | --- | --- | | fileNameWildcard | string | Optional. File or Wildcard (\*) to be used when finding files. | | importFromDirectory | string | Required. Path from the directory to where files are located. | | masterLabel | string | Required. The UI name for the S3 data connector. | | s3BucketName | string | Optional. The Amazon S3 Name of the Bucket. | ## Declarative Metadata Sample Definition The following is an example of a DataConnectorS3 component. \*.csv c360-subset-lheader/ Person bucketeer-aa32faea-8431-4635-8a1d-b323a2d66c7c # 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 | Field Name | Field Type | Description | | --- | --- | --- | | enableAccountExportButtonOff | boolean | Indicates whether Account Export to Excel is enabled for Prospector (true) or not (false). Default value is false. | | enableAccountImportButtonOff | boolean | Indicates whether Account Import to CRM is enabled for Prospector (true) or not (false). Default value is false. | | enableAllowDupeContactFromLead | boolean | Indicates whether Prospector Lead Import Duplicate Check is enabled (true) or not (false). Default value is false. | | enableAllowDupeLeadFromContact | boolean | Indicates whether Prospector Contact Import Duplicate Check is enabled (true) or not (false). Default value is false. | | enableCleanUpgradeRequested | boolean | This field is no longer in use. | | enableContactExportButtonOff | boolean | Indicates whether Contact Export to Excel is enabled for Prospector (true) or not (false). Default value is false. | | enableContactImportButtonOff | boolean | Indicates whether Contact Import to CRM is enabled for Prospector (true) or not (false). Default value is false. | ## Declarative Metadata Sample Definition The following is an example of a DataDotComSettings component. true true true true true true The following is an example package.xml that references the previous definition. DataDotCom Settings 29.0 # DataImportManagementSettings Represents an org's contact and leads import settings. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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. ## Fields | Field Name | Description | | --- | --- | | enableEasyImport | Field Type boolean 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. true The following is an example package.xml that references the previous definition. DataImportManagement Settings 57.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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."). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataKitObjectDependency Represents the dependency between two data kit objects. The object templates are added inside the data kit. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s name. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location DataKitObjectDependency components have the suffix .DataKitObjectDependency and are stored in the DataKitObjectDependency folder. ## Version DataKitObjectDependency components are available in API version 65.0 and later. ## Special Access Rules You need the Salesforce CustomizeApplication permission to access this object. ## Fields | Field Name | Description | | --- | --- | | dataPackageKitDef | Field Type string Description Required. The ID of the linked DataPackageKitDefinition. | | developerName | Field Type string Description Required. The name of the DataKitObjectDependency. 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. | | masterLabel | Field Type string Description Required. Label that identifies the data kit object dependency. | | sourceObject | Field Type string Description The source data kit object template that the target object depends on. | | sourceObjectType | Field Type string Description Required. The type of the source object referenced in the data kit. Valid values are: - DataKitObjectTemplate - DataSourceObject - DataStreamTemplate - DataSourceBundleDefinition - MKtDataModelObject | | targetObject | Field Type string Description Required. The target data kit object template that depends on the source object. | # DataKitObjectTemplate Represents the object in Data Kit Object Template. These object templates are added inside the data kit. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s name. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location DataKitObjectTemplate components have the suffix .DataKitObjectTemplate and are stored in the DataKitObjectTemplate folder. ## Version DataKitObjectTemplate components are available in API version 63.0 and later. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | developerName | Field Type string Description Required. Name of the data kit object template. This 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. | | entityPayload | Field Type string Description A string-based JSON payload containing the metadata of a data kit component. The payload is templatized to enable variable substitution during the deployment process. Keep the compressed JSON payload under 100 KB. Data 360 automatically compresses the payload before storage. but, compression results vary depending on the structure of the data. A payload that’s under 100 KB before compression can exceed the limit after compression. If the compressed payload exceeds 100 KB, reduce the payload size or split the component. | | masterLabel | Field Type string Description Required. The label of the data kit object template. | | parentDataPackageKitDefinitionName | Field Type string Description Required. The linked data kit package definition in the data kit. | | sourceObject | Field Type string Description The developer name of the source object for the data kit object template. | | sourceObjectType | Field Type string Description Required. The object type of the metadata component in the data kit. Valid values are: - MKT\_DATA\_TRANSFORM - MKT\_DATA\_CONNECTION - IDENTITY\_RESOLUTION - DATA\_GRAPH - EXT\_DATA\_SHARE - SEMANTIC\_SEARCH - DATA\_ACTION - DATA\_ACTION\_TARGET - MARKET\_SEGMENT - DATA\_SPACE\_MEMBER - INTERNAL\_DATA\_CONNECTOR - MARKET\_SEGMENT\_ACTIVATION - STREAMING\_APP\_AND\_INGESTION\_CONNECTOR - ML\_CONFIGURED\_MODEL - ACTIVATION\_TARGET - SEMANTIC\_MODEL - PERSONALIZATION\_RECOMMENDER - PERSONALIZATION\_POINT - PERSONALIZATION\_SCHEMA - PERSONALIZATION\_OBJECTIVE - ENGAGEMENT\_SIGNAL - PERSONALIZATION\_BATCH\_DECISION - MC\_CONNECTOR - ML\_PREDICTION\_JOB - ML\_RETRIEVER - TUA\_TEMPLATED\_OBJECT - IR\_RELATED\_LIST\_ENRICHMENT - TAG\_METADATA - DATA\_CLEAN\_ROOM\_PROVIDER - IDP\_CONFIGURATION - COPY\_FIELD\_ENRICHMENT - DATA\_CUSTOM\_CODE - ANALYTICS\_VISUALIZATION - ANALYTICS\_DASHBOARD - ANALYTICS\_WORKSPACE - SECONDARY\_INDEX - POLICY\_RULE\_DEFINITION\_METADATA - POLICY\_RULE\_DEFINITION\_SET\_METADATA | | templateVersion | Field Type string Description The version number of the template. | ## Declarative Metadata Sample Definition The following is an example of a DataKitObjectTemplate component. { "dataSpaceName": "default", "type": "DLO", "developerName": "DLO\_StaticCurrencyRates\_Home" } StaticCurrencyRates\_Home\_\_dll 0viSB00000JzG05YAF DataSpaceMember 1 The following is an example package.xml that references the previous definition. StaticCurrencyRates\_Home StaticCurrencyRates\_Home1 DataKitObjectTemplate 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataMaskPolicy Represents a masking policy for use with Data Mask & Seed. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. Use this metadata type to deploy and manage masking policies as org metadata, enabling programmatic configuration without the Setup UI. Use this metadata type when: - You want to version-control your policies, promote them through a release pipeline, or consistently copy the same set of policies across many orgs or sandboxes. - You're running automated operations, such as CI or CD pipelines or agentic AI tools, that create and manage masking policies without the Setup UI. Use the Data Mask & Seed Setup UI to set the scheduled start time (ScheduledStart), view when a policy last ran (LastRunDate), run masking jobs, and monitor masking jobs. These tasks aren't available by using Metadata API. The API manages the policy definition and run frequency. Use the Setup UI for scheduling, execution, and run history. ## Prerequisites Before deploying DataMaskPolicy components, confirm these prerequisites. - Salesforce CLI installed and authenticated to your org - Familiarity with Metadata API, the sf deploy metadata CLI command, or both - A target sandbox for testing ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The Data Mask & Seed app is available for production orgs and sandboxes. Run masking jobs on sandboxes only, not in production orgs. - The required permissions described in Special Access Rules - API version 68.0 or later ## File Suffix and Directory Location DataMaskPolicy components have the suffix .dataMaskPolicy and are stored in the dataMaskPolicies folder. ## Version DataMaskPolicy components are available in API version 61.0 and later. ## Special Access Rules Before deploying DataMaskPolicy components, your Salesforce admin must configure these permissions. If you don't have admin access, work with your admin. **Production org requirements:** - The org must have the Salesforce Data Mask license. **User requirements:** - The user must be assigned the DataMaskAndSeedUserPsl permission set license (PSL). - The user must be assigned the DataMaskAndSeedUser permission set. - Assign the DataMaskAndSeedUserPsl PSL before assigning the DataMaskAndSeedUser permission set. The permission set requires the PSL to be in place first. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Server-side validation and access controls enforce all business rules across all access paths, including Metadata API. ## Fields | Field Name | Description | | --- | --- | | description | Field Type string Description Optional. A description of the masking policy. | | label | Field Type string Description Required. The master label for the masking policy. | | locale | Field Type DataMaskLocale (enumeration of type string) Description Optional. The locale to apply for generating locale-specific masking data. If a value is omitted, the policy’s default locale value is en\_US (U.S. English). Valid values are: - bg\_BG - cs\_CZ - da\_DK - de\_DE - el\_GR - en\_AU - en\_CA - en\_GB - en\_US - es\_ES - es\_MX - et\_EE - fa\_IR - fi\_FI - fr\_FR - hi\_IN - hr\_HR - hu\_HU - it\_IT - ja\_JP - ko\_KR - lt\_LT - lv\_LV - ne\_NP - nl\_NL - no\_NO - pl\_PL - pt\_BR - pt\_PT - ro\_RO - ru\_RU - sl\_SI - sv\_SE - th\_TH - tr\_TR - uk\_UA - zh\_CN - zh\_TW | | runFrequency | Field Type DataMaskRunFrequency (enumeration of type string) Description Optional. The frequency at which the masking job runs. If a value is omitted, the policy has no scheduled run frequency and must be triggered manually from Setup or the Connect API. Valid values are: - once - daily - weekly - monthly | | runOnRefresh | Field Type boolean Description Optional. Indicates whether or not the masking policy runs automatically when a sandbox is either created or refreshed. Valid values are: - true - masking policy runs automatically - false - masking policy doesn't run automatically The default value is false. | ## Declarative Metadata Sample Definition The following is an example of a DataMaskPolicy component. Sample Data Mask Policy This policy executes weekly to mask standard fields. weekly true This example runs the masking policy automatically on sandbox refresh, so sandbox data is masked and free of personally identifiable information (PII) as soon as the sandbox is created or refreshed. Include DataMaskPolicy components in your package.xml manifest file when deploying with the Salesforce CLI. This package.xml manifest deploys the Sample\_Data\_Mask\_Policy component. Sample\_Data\_Mask\_Policy DataMaskPolicy 61.0 ## Troubleshooting Deploying a runOnRefresh policy to a production org DataMaskPolicy components with runOnRefresh set to true deploy successfully to production orgs, but the masking job never runs in production. Masking executes only when a sandbox is created or refreshed. Production data is never masked. To run a masking job or set a recurring schedule, use a sandbox. Missing permissions If required permissions are missing, you'll receive an insufficient-access error, or the Data Mask management screens won't be available. Confirm that both the org and the user have the permissions listed in Special Access Rules. Run frequency and scheduled start time Valid values for runFrequency are once, daily, weekly, and monthly. A recurring frequency requires a scheduled start time to execute. Set the scheduled start time in the Data Mask & Seed Setup UI. The ScheduledStart field isn't configurable by using Metadata API. A recurring schedule runs only in a sandbox, not in a production org. ## Versioning and Compatibility - DataMaskPolicy is available starting in API version 61.0. DataMaskSettings is available starting in API version 67.0. If your client uses an API version below the minimum required version for either type, that metadata type isn't visible. You can neither retrieve it nor deploy it. - The two metadata types were introduced in different releases and work independently. If your use case requires masking policies that generate locale-specific masking data, API version 68.0 is required. - If the production org's release doesn't include the metadata type, the deployment is rejected as an unknown or unsupported metadata type. Target an API version at or above the minimum required version, and confirm the org is on a release that supports 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [DataMaskSettings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datamasksettings.htm "Represents org-level setup (features and preferences) for use with Data Mask & Seed.") - [Data Mask & Seed Release Notes](https://help.salesforce.com/s/articleView?id=release-notes.rn_data_mask_and_seed.htm&release=262&type=5&language=en_US) - [_Salesforce Help_: Protect Sensitive Data with Data Mask & Seed](https://help.salesforce.com/s/articleView?id=platform.data_mask_and_seed.htm&type=5&language=en_US) # DataMaskSettings Represents org-level setup (features and preferences) for use with Data Mask & Seed. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm) for more details. Use DataMaskSettings to configure and deploy these settings and preferences as part of an automated org setup. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Each of the available Data Mask & Seed metadata types, DataMaskSettings and DataMaskPolicy, serves a different purpose and can be deployed independently of each other. ## Prerequisites Before deploying DataMaskSettings components, confirm these prerequisites. - Salesforce CLI installed and authenticated to your org - Familiarity with Metadata API, the sf deploy metadata CLI command, or both - A target sandbox for testing ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The Data Mask & Seed app is available for production orgs and sandboxes. Run masking jobs on sandboxes only, not in production orgs. - The required permissions described in Special Access Rules - API version 67.0 or later ## File Suffix and Directory Location DataMaskSettings values are stored in the DataMask.settings file in the settings folder. Unlike other metadata components, each settings type has exactly one .settings file. ## Version DataMaskSettings components are available in API version 67.0 and later. ## Special Access Rules Before deploying DataMaskSettings components, your Salesforce admin must configure these permissions. If you don't have admin access, work with your admin. **Production org requirements:** - The org must be licensed for Data Mask & Seed with the Salesforce Data Mask license. **User requirements:** - The user must be assigned the DataMaskAndSeedUserPsl permission set license (PSL). - The user must be assigned the DataMaskAndSeedUser permission set. - Assign the DataMaskAndSeedUserPsl PSL before assigning the DataMaskAndSeedUser permission set. The permission set requires the PSL to be in place first. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Server-side validation and access controls enforce all business rules across all access paths, including Metadata API. ## Fields | Field Name | Description | | --- | --- | | enableDataMaskGPTEnabled | Field Type boolean Description Optional. Indicates whether the ability to use the Einstein tool to generate values for Data Mask & Seed custom libraries is turned on (true) or turned off (false) for the admin/developer. The default value is false. To turn on the user's ability to use the Einstein tool, set this field to true. | ## Declarative Metadata Sample Definition The following is an example of a DataMaskSettings component. true This example turns on the ability of the admin/developer to use the Einstein tool to generate values for Data Mask & Seed custom libraries. Include DataMaskSettings components in your package.xml manifest file when deploying with the Salesforce CLI. This package.xml manifest deploys the DataMask component. DataMask Settings 67.0 ## Troubleshooting API version below 67.0 DataMaskSettings is invisible. Retrieve and deploy operations fail silently or return an unknown-type error. Missing permissions If required permissions are missing, you receive an insufficient-access error, or the Data Mask management screens aren't available. Confirm that both the org and the user have the permissions listed in Special Access Rules. Permission set assigned before the PSL Assigning the DataMaskAndSeedUser permission set fails without the required PSL already in place. ## Versioning and Compatibility - DataMaskSettings is available starting in API version 67.0. DataMaskPolicy is available starting in API version 61.0. If your client uses an API version below the minimum required version for either type, that metadata type isn't visible. You can't retrieve it or deploy it. - The two metadata types were introduced in different releases and work independently. If your use case requires only org-level feature settings and preferences for masking, API version 67.0 is sufficient. - If the production org's release doesn't include the metadata type, the deployment is rejected as an unknown or unsupported metadata type. Target an API version at or above the minimum required version, and confirm that the org is on a release that supports the type. ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn't apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). #### See Also - [DataMaskPolicy](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_datamaskpolicy.htm "Represents a masking policy for use with Data Mask & Seed.") - [Data Mask & Seed Release Notes](https://help.salesforce.com/s/articleView?id=release-notes.rn_data_mask_and_seed.htm&release=262&type=5&language=en_US) - [_Salesforce Help_: Protect Sensitive Data with Data Mask & Seed](https://help.salesforce.com/s/articleView?id=platform.data_mask_and_seed.htm&type=5&language=en_US) # DataObjectBuildOrgTemplate Represents the derived object template used to define the structure and configuration of data objects in a build organization. The object templates are added inside the data kit to deploy metadata. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s name. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location DataObjectBuildOrgTemplate components have the suffix .DataObjectBuildOrgTemplate and are stored in the DataObjectBuildOrgTemplate folder. ## Version DataObjectBuildOrgTemplate components are available in API version 63.0 and later. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | developerName | Field Type string Description Required. Name of the data object build org template. This name can contain only underscores and alphanumeric characters and must be unique in your org. | | masterLabel | Field Type string Description Required. The label of the data object build org template. | | objectDevName | Field Type string Description Required. The developer name of the object created from the objectPayload entity in the build org. | | objectPayload | Field Type string Description Required. The serialized metadata for the entity. The build organization deserializes this payload to create the underlying metadata components. | | objectType | Field Type string Description Required. The type of metadata entity associated with the template. Valid values are: - DataGraph - MktCalculatedInsightObject - MktDataModelObject - MktDataLakeObject | | templateObject | Field Type string Description Required. The name of the template associated with the data object build org template. | | templateVersion | Field Type string Description The version number of the data object build org template. | ## Declarative Metadata Sample Definition The following is an example of a DataObjectBuildOrgTemplate component. { "dataSpaceName": "default", "type": "DLO", "developerName": "DLO\_StaticCurrencyRates\_Home" } StaticCurrencyRates\_Home\_\_dll 0viSB00000JzG05YAF DataSpaceMember 1 The following is an example package.xml that references the previous definition. StaticCurrencyRates\_Home StaticCurrencyRates\_Home1 DataKitObjectTemplate 64.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataObjectSearchIndexConf Represents the source Data 360 data model object (DMO) for Search Answers and holds the search index that Search Answers uses when searching DMO records. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location DataObjectSearchIndexConf components have the suffix .dataObjectSearchIndexConf and are stored in the dataObjectSearchIndexConfs folder. ## Version DataObjectSearchIndexConf components are available in API version 63.0 and later. ## Special Access Rules To access this metadata type, you must have the Customize Application user permission. The Salesforce org must have a Data 360 license. ## Fields | Field Name | Description | | --- | --- | | application | Field Type string Description Required. The name of the app that the Search Answers index is associated with. | | channel | Field Type string Description The search channel that the Search Answers configuration applies to. | | masterLabel | Field Type string Description Required. The name of the Search Answers configuration. | | nameFieldReference | Field Type string Description Required. The name field of the DMO selected as a source for Search Answers. | | objectReference | Field Type string Description Required. The DMO that the Search Answers configuration applies to. | | retriever | Field Type string Description The retriever that accesses the Search Answers indexed data. | | searchIndex | Field Type string Description Required. The name of the search index mapped to the DMO. | ## Declarative Metadata Sample Definition The following is an example of a DataObjectSearchIndexConf component. SearchAnswers SharedIndex SearchAnswers Name\_\_c Account\_\_dlm searchAnswersIndex The following is an example package.xml that references the previous definition. \* DataObjectSearchIndexConf 63.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataPackageKitDefinition Represents the top-level data kit container definition. Content objects can be added after the data kit is defined. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s name. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | dataKitType | Field Type string Description The type of data kit created. Available in API version 63.0 and later. Valid values are: - Default - Sandbox | | dataKitSource | Field Type string Description The data source in the updated data kit. Available in API version 63.0 and later. | | description | Field Type string Description The description of the data kit. | | developerName | Field Type string Description Required. The name of the application. This name 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. | | isDeployed | Field Type boolean Description Indicates whether the data kit content is deployed. | | isEnabled | Field Type boolean Description Indicates whether the data kit is enabled. | | masterLabel | Field Type string Description Required. Label that identifies the AI application throughout the Salesforce user interface. | | **useDeterministicNaming** | Field Type boolean Description Required. Indicates whether the data kit should use the deterministic naming feature. Available in API version 65.0 and later. Valid values are: - True - False | | versionNumber | Field Type double Description Auto incremented version number. | | dataSpaceDefinitionDevName | Field Type string Description Data space name used to create the data kit. Available in API version 61.0 and later. | | deploymentOrder | Field Type string Description Deployment order of components that are added to the data kit. Available in API version 61.0 and later. | ## Declarative Metadata Sample Definition The following is an example of a DataPackageKitDefinition component. SalesforceCRM false false SalesforceCRM 1.0 The following is an example package.xml that references the previous definition. SalesforceDataKit SalesforceCRM DataPackageKitDefinition Admin Profile 53.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataPackageKitObject Represents the object in Data Kit Content Object. These objects are added inside the data kit. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 type’s name. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | masterLabel | Field Type string Description Required. Label that identifies the AI application throughout the Salesforce user interface. | | parentDataPackageKitDefinitionName | Field Type string Description Required. Name of the data kit definition | | referenceObjectName | Field Type string Description Required. The name of the data kit content. | | referenceObjectType | Field Type string 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. CRM CRM CRM DLO The following is an example package.xml that references the previous definition. SalesforceDataKit CRM DataPackageKitObject Admin Profile 53.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataSource Used to represent the system where the data was sourced. This object is always needed when creating a Data Stream Definition. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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 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 | Field Name | Field Type | Description | | --- | --- | --- | | masterLabel | string | Required. The UI name for the Data Source. | | prefix | string | Required. Prefix for the Data Source to make Data Source Object records unique. | # DataSourceBundleDefinition Represents the bundle of streams that a user adds to a data kit. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) 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 360 permission to access this object. ## Fields | Field Name | Description | | --- | --- | | dataPlatform | Field Type string Description Required. Indicates the connector type that the streams in the bundle belong to. | | description | Field Type string Description A description of the associated data source bundle. This field is available in API version 53.0 and later. | | icon | Field Type string Description The icon used in the deployment flow. This field is available in API version 53.0 and later. | | isMultiDeploymentSupported | Field Type boolean Description Indicates if the bundle can be deployed multiple times or not. Default value is false. | | masterLabel | Field Type string Description Required. Indicates the name of the bundle. | | bundleVersion | Field Type int Description Indicates the version of the bundle. This field is available in API version 63.0 and later. | ## Declarative Metadata Sample Definition The following is an example of a DataSourceBundleDefinition component. Salesforce\_Sales\_and\_Service\_Cloud true 1 b2 The following is an example package.xml that references the previous definition. b2 DataSourceBundleDefinition ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # DataSourceField Represents the details of a data source field. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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
    Field Name Field Type Description
    datatype string Required. Indicates the data type of the field: text, number, or date.
    dateFormat string The date format of date, time, date/time fields.
    definitionCreationType DefinitionCreationType (enumeration of type string) Describes whether this object was added by the user or as part of a standard taxonomy. Available in API version 62.0 and later. Valid values are:
    • Activation_Audience (Reserved for internal use only)
    • ADG
    • Activation_Audience. Available in API version 63.0 and later.
    • Bridge
    • Calculated_Insight
    • CG_Audience
    • Chunk
    • Curated
    • Custom
    • Derived
    • Directory_Table
    • External
    • Ml_Prediction
    • Segment_Membership
    • Semantic
    • Standard
    • System
    • Transform
    • Vector_Embedding

    Valid values available in API version 67.0 and later are:

    • Ad_Audience_Insights
    • Auxiliary
    • Clean_Room
    • Deletion_Records
    • Problem_Records
    externalDataType string The type of data in the external system. Available in API version 63.0 and later.
    externalName string Required. Name of the object in the external system. This is different from the developer name.
    fieldFormula string Used for formulas.
    isDataRequired boolean If true, data is required. Default value is false.
    isEventDate boolean If true, an event date is required. Default value is false. Available in API version 63.0 and later.
    isFormula boolean If true, a formula is required. Default value is false.
    isRecordModified boolean If true, the system tracks the modification date of the record. Default value is false. Available in API version 63.0 and later.
    keyQualifierName string

    Contains the developer name of the keyQualifier field. Available in API version 62.0 and later.

    length int Length of a string column.
    masterLabel string Required. Field label.
    precision int The total number of digits in a number including decimal points. Used for currency and for numeric accuracy.
    primaryIndexOrder int If supplied, 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. A missing value means that this field isn’t part of the primary key.
    scale int The number of digits to the right of the decimal point. Used for currency and for numeric accuracy.
    sequence int Required. The sequence of this source schema.
    srcKeyQualifier string Contains a reference to the source key qualifier record. The source key is the MktDataLakeSrcKeyQualifer metadata type. Available in API version 55.0 and later.
    usageTag usageTag (enumeration of type string) Indicates if the field is a key qualifier field. Available in API version 55.0 and later.

    Values are:

    • KEY_QUALIFIER—The field is used as a key qualifier field.
    • NONE—The field isn’t used as a key qualifier field.
    versionNumber double Required. The version of the data source object.
    ## Declarative Metadata Sample Definition This is an example of a DataSourceObject component and its fields. You can retrieve the DataSourceField component only through its parent object, DataSourceObject. test1108 DOB D DOB false DOB individuals\_20200125\_000000\_csv test1108 Object The following is an example package.xml that references the previous definition. test1108 DataSource ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DataSourceObject Represents the object from where the data was sourced. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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
    Field Name Field Type Description
    accelerationEnabled AccelerationEnabled (enumeration of type string) Acceleration of data stream processing. Available in API version 63.0 and later. Possible values are:
    • Yes
    • No
    additionalDLOInfoJson string Additional information about the Directory Table data lake object (DLO), such as the directory path and file pattern.
    creationType string Indicates whether this object was added by the user or as part of a standard taxonomy.
    dataConnection string The source data connector for the Directory Table DLO.
    dataSource string Required. The system where the data was sourced.
    dataSourceFields DataSourceField[] An array of data source fields.
    dmoDeveloperName string The developer name of the Directory Table data model object (DMO).
    dmoLabel string The UI name of the Directory Table DMO.
    externalDatabaseName string The name of the external database for the data source object. Available in API version 63.0 and later.
    externalObjectName string The external data source object. Available in API version 63.0 and later.
    externalRecordIdentifier string The identifier for the data source.
    externalSchemaName string The name of the schema within the external database. Available in API version 63.0 and later.
    masterLabel string Required. The UI name for the data source object.
    objectCategory string The category of the data source object.
    objectType DataObjectType (enumeration of type string) The object type. Possible values are:
    • API
    • Object
    • Table
    sourceObject string The developer name of the source object for the data source object.
    storageType StorageType (enumeration of type string) The type of storage used for data source object. Available in API version 63.0 and later. Possible values are:
    • External
    • Local
    templateVersion int The version number of the data source object.
    # DataSourceTenant For internal use only. # DataSrcDataModelFieldMap Represents the mappings between source data lake object (DLO) fields and target data model object (DMO) fields. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. ## 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 360 permissions to access this object. ## Fields | Field Name | Description | | --- | --- | | filterApplied | Field Type boolean Description Indicates whether a filter is applied to a DLO-to-DMO field mapping (true) or not (false). This field corresponds to whether [a DLO filter is applied in the Data Spaces tab](https://help.salesforce.com/s/articleView?id=data.c360_a_add_filters_to_a_data_object.htm&type=5&language=en_US) in the UI. Available in API version 60.0 and later. | | filterOperationType | Field Type string Description Required when filterApplied is true. The comparison operator used when filtering the DLO-to-DMO field mapping. This field corresponds to the operation type of [a DLO filter applied in the Data Spaces tab](https://help.salesforce.com/s/articleView?id=data.c360_a_add_filters_to_a_data_object.htm&type=5&language=en_US) in the UI. Available in API version 60.0 and later. | | filterValue | Field Type string Description Required when filterApplied is true. The value used for filtering the DLO-to-DMO field mapping. This field corresponds to the value of [a DLO filter applied in the Data Spaces tab](https://help.salesforce.com/s/articleView?id=data.c360_a_add_filters_to_a_data_object.htm&type=5&language=en_US) in the UI. Available in API version 60.0 and later. | | masterLabel | Field Type string Description Required. A user-friendly name for DataSrcDataModelFieldMap, which is defined when the DataSrcDataModelFieldMap is created. | | sourceField | Field Type string Description Required. The developer name of the DLO field. | | targetField | Field Type string Description Required. The developer name of the DMO field. | | templateVersion | Field Type int Description The version number of the field mapping template. Available in API version 61.0 and later. | | versionNumber | Field Type double Description Required. The version number of the DataSrcDataModelFieldMap. | ## Declarative Metadata Sample Definition The following is an example of a DataSrcDataModelFieldMap component. true equals Active DataSrcDataModel26 Account1.LastModifiedDate\_\_c ssot\_\_Account\_\_dlm.ssot\_\_LastModifiedDate\_\_c 2 1.0 The following is an example package.xml that references the previous definition. DataSrcDataModel26 DataSrcDataModelFieldMap ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # DataStreamDefinition Contains data ingestion information such as connection, API, and file retrieval settings. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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
    Field Name Field Type Description
    areHeadersIncludedInFile boolean If true, headers are included in the file if this is a single file stream.
    bulkIngest boolean If true, files are aggregated before data is ingested if the file names contain a wildcard. For example, profiles*.csv.
    definitionCreationType string Required. Enum tracks the source of an object or field creation. Valid values are:
    • Custom
    • Standard

    Valid values available in API version 62.0 and later are:

    • ADG
    • Calculated_Insight
    • CG_Audience
    • Chunk
    • Directory_Table
    • External
    • Semantic
    • Transform
    • Vector_Embedding

    Valid values available in API version 67.0 and later are:

    • Ad_Audience_Insights
    • Auxiliary
    • Clean_Room
    • Deletion_Records
    • Problem_Records
    dataConnector string Required. Describe whether this data stream definition was created by a customer or by an internal system.
    dataConnectorType DataConnectorType (enumeration of type string) The ingestion data source. Valid values are:
    • ACCOUNTENGAGEMENT
    • AwsS3
    • AzureBlob
    • BIG_QUERY
    • CuratedEntity
    • DataCloud
    • ExternalPlatform
    • GoogleCloudStorage
    • IngestApi
    • REDSHIFT
    • SalesforceCommerceCloud
    • SalesforceDotCom
    • SalesforceInteractionStudio
    • SalesforceMarketingCloud
    • SFTP
    • Snowflake
    • StreamingApp
    • UPLOAD
    dataExtensionIdentifier string For a Marketing Cloud data extension, the unique identifier.
    dataExtractField string Name of the transport field that’s used when the extract method is CDC.
    dataExtractMethods DataImportDataExtractMethods (enumeration of type string) Describes how to identify the data to be extracted. Valid values include:
    • DATETIME_CDC
    • FULL_REFRESH
    • NUMERIC_CDC
    • BINARY_CDC (reserved for future use)
    dataPlatDataSetBundle string Identifies which data set bundle this definition was created from. Useful in cases where the same item can be configured across data connections.
    dataPlatformDataSet string The description is provided by the developer.
    dataPlatformDataSetItemName string Name of the Data Platform Set Item.
    dataSource string Required. A reference to the data source from which the data originated. This is usually the API name or a unique system identifier, such as the enterprise ID (EID) of the customer in the format MC_<EID>. Example: MCEnterprise or MC_12345.
    description string Required. A description of the data stream definition.
    fileNameWildcard string File or wildcard (*) used when finding files.
    internalOrganization string The name of the internal organization.
    isLimitedToNewFiles boolean If true, file retrieval is limited to new files.
    isMissingFileFailure boolean If true, treat the case of missing files as a failure.
    masterLabel string Required. UI label for this data stream definition.
    mktDataLakeObject string Required. Reference to the landing entity (target) where data will be stored.
    mktDataTranObject string Reference to the object that’s used to transport information from the source to a landing entity (target).
    # DataStreamTemplate Represents the data stream that a user adds to a data kit. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) 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 | Field Name | Description | | --- | --- | | dataConnectionSourceParameters | Field Type DataConnectionParamTmpl\[\] Description Input representation for the data connection source parameters. | | dataSourceBundleDefinition | Field Type string Description Required. Reference to the bundle to which this template belongs. | | dataSourceObject | Field Type string Description Required. Reference to the Data Source Objects (DSOs). A DSO represents the object from where the data was sourced. | | filterCriteria | Field Type string Description Filter applied to the data stream before the information is sent to Data Cloud. | | fullRefreshIntervalDays | Field Type FullRefreshIntervalDays (enumeration of type string) Description The interval when Data 360 performs a full refresh of the data stream. Available in API version 67.0 and later. Possible values are: - NONE - DAYS\_10 - DAYS\_25 - DAYS\_50 | | masterLabel | Field Type string Description Required. Name assigned to the data stream template. | | objectCategory | Field Type string Description Required. Category of the Data Model Object (DMO). | | refreshDayOfMonth | Field Type int Description The duration of the day of the month after which the data stream must be refreshed. | | refreshDayOfWeek | Field Type int Description The duration of the day of the week after which the data stream must be refreshed. | | refreshFrequency | Field Type DataImportRefreshFrequency (enumeration of type string) Description The frequency with which the datastream must be refreshed. Possible values are: - Batch - NONE - MINUTES\_15 - MINUTES\_30 - MINUTES\_5 - HOURLY - DAILY - WEEKLY - MONTHLY - NOT\_APPLICABLE - STREAMING Possible values available in API version 64.0 and later are: - EVERY\_12\_HOURS - EVERY\_4\_HOURS | | refreshHours | Field Type string Description The duration after which the datastream must be refreshed. | | refreshMode | Field Type DataImportRefreshMode (enumeration of type string) Description The mode of refresh. Possible values are: - FULL\_REFRESH - UPSERT - INCREMENTAL - REPLACE - NEAR\_REAL\_TIME\_INCREMENTAL - NOT\_APPLICABLE - PARTIAL\_UPDATE - STREAMING | | refreshStartDate | Field Type date Description The date to retrieve data based on the refresh frequency data. Available in API version 62.0 and later. | | sourceObjectName | Field Type string Description The name of the source object from which data is streamed. Available in API version 62.0 and later. | | streamType | Field Type StreamType (enumeration of type string) Description The type of data stream. Available in API version 62.0 and later. Possible values are: - DIRECT\_ACCESS - DIRECT\_ACCESS\_ACCELERATED - INGEST | | streamingAppDataConnectorType | Field Type streamingAppDataConnectorType (enumeration of type string) Description The connector app for data streaming. Available in API version 63.0 and later. Possible values are: - MobileApp - WebApp | | templateVersion | Field Type int Description The version number of the template. Available in API version 62.0 and later. | ## Declarative Metadata Sample Definition The following is an example of a DataStreamTemplate component. b2 sd3ds b2 Profile The following is an example package.xml that references the previous definition. ssd3s DataStreamTemplate ## Wildcard Support in the Manifest File This metadata type doesn’t 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") 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. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | apiVersion | Field Type double Description Required. The API version for this component. | | isGlobal | Field Type boolean Description When set to true, the generated DataWeaveScriptResource class is global. | | isProtected | Field Type boolean 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 58.0 true The following is an example package.xml that references the csvToContacts definition. csvToContacts DataWeaveResource 58.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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()](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_deploy.htm) ## Fields ### categories - **Type**: [LogInfo](#meta_debuggingheader_loginfo)\[\] - **Description**: A list of log categories with their associated log levels. ### debugLevel - **Type**: LogType ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Deprecated. This field is provided only for backward compatibility. If you provide values for both debugLevel and categories, the categories value is used. 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 - 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. ### category - **Type**: LogCategory - **Description**: Specify the type of information returned in the debug log. Valid values are: - Db - Workflow - Validation - Callout - Apex\_code - Apex\_profiling - Visualforce - System - All ### level - **Type**: LogCategoryLevel - **Description**: Specifies the level of detail returned in the debug log. Valid log levels are (listed from lowest to highest): - NONE () - ERROR () - WARN () - INFO () - DEBUG () - FINE () - FINER () - FINEST () ## Sample Code—Java Add the DebuggingHeader to the metadata connection before you perform the deploy() call as follows. LogInfo\[\] logs = new LogInfo\[1\]; logs\[0\] = new LogInfo(); logs\[0\].setCategory(LogCategory.Apex\_code); logs\[0\].setLevel(LogCategoryLevel.Fine); metadataConnection.setDebuggingHeader(logs); The result of the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_deploy.htm) call is obtained by calling [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_checkdeploystatus.htm). 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. # DebugLevel Represents a set of log category levels to assign to a TraceFlag object. Multiple trace flags can use a debug level. This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## File Suffix and Directory Location DebugLevel components have the suffix .debugLevel and are stored in the debugLevels folder. ## Version The DebugLevel metadata type is available in API version 68.0 and later. ## Fields
    Name Type Description
    apexCode ApexLogLevel (enumeration of type string) Required. The log category level for Apex code. Includes information about Apex code. Can also include log messages generated by data manipulation language (DML) statements, inline SOQL or SOSL queries, the start and completion of triggers, the start and completion of test methods, and so on. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    apexProfiling ApexLogLevel (enumeration of type string) Required. The log category level for profiling information. Includes cumulative profiling information, such as the limits for your namespace, the number of emails sent, and so on. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    callout ApexLogLevel (enumeration of type string) Required. The log category level for callouts. Includes the request-response XML that the server is sending and receiving from an external Web service. The request-response XML is useful when debugging issues related to SOAP API calls. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    database ApexLogLevel (enumeration of type string) Required. The log category for database activity. Includes information about database activity, including every DML statement or inline SOQL or SOSL query. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    dataAccess ApexLogLevel (enumeration of type string) The log category level for rules and policy information for objects accessed from the UI, which can be used to determine why an object isn’t accessible.The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    label string Required. The name for the debug level. Also displays in the Developer Console and in Setup.
    nba ApexLogLevel (enumeration of type string) Required. The log category level for Einstein Next Best Action activity, including strategy execution details from Strategy Builder. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    system ApexLogLevel (enumeration of type string) Required. The log category level for calls to all system methods, such as the System.debug method. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    validation ApexLogLevel (enumeration of type string) Required. The log category level for validation rules. Includes information about validation rules, such as the name of the rule, or whether the rule evaluated true or false. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    visualforce ApexLogLevel (enumeration of type string) Required. The log category level for Visualforce. Includes information about Visualforce events, including serialization and deserialization of the view state or the evaluation of a formula field in a Visualforce page. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    wave ApexLogLevel (enumeration of type string) Required. The log category level for CRM Analytics. Includes information such as template processing errors and rules execution summaries. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    workflow ApexLogLevel (enumeration of type string) Required. The log category level for workflow rules. Includes information for workflow rules, such as the rule name and the actions taken. The following are valid values.
    • NONE
    • ERROR
    • WARN
    • INFO
    • DEBUG
    • FINE
    • FINER
    • FINEST
    ## Declarative Metadata Sample Definition The following is an example of a DebugLevel component. DebugLevel DEBUG INFO FINEST INFO INFO INFO DEBUG INFO INFO INFO FINEST The following is an example package.xml manifest that references the previous definition. \* DebugLevel 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # DecisionMatrixDefinition Represents a definition of a decision matrix. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Before deploying a decision matrix or a decision matrix version to a target org, review these [decision matrix migration considerations](https://help.salesforce.com/s/articleView?id=ind.decision_matrix_migration_considerations.htm&type=5&language=en_US "HTML (New Window)"). This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## Fields | Field Name | Description | | --- | --- | | description | Field Type string Description Describes a decision matrix definition. | | groupKey | Field Type string Description A key for grouping matrix rows in different versions, such as a geographic region or a product code. | | label | Field Type string Description Required. The UI label of a decision matrix definition. | | processType | Field Type ExpsSetProcessType (enumeration of type string) Description The process type that uses the expression set rule. Valid values are: - Bre - TransactionJournal—Available in API version 67.0 and later. - GpaCalculation - InsuranceClaimProcessing—Available in API version 65.0 and later. - ItServiceManagement—Available in API version 65.0 and later. - PlanCostCalculation - RatingDiscovery - StudentInformationSystem—Available in API version 65.0 and later. - StudentSuccess ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note When Business Rules Engine is enabled for a Salesforce instance, the default value is 'Bre’. Other usage types may be available to you depending on your industry solution and permission sets. Available in API version 59.0 and later. | | subGroupKey | Field Type string 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. | | type | Field Type DecisionMatrixType (enumeration of type string) Description The type of a decision matrix. Valid values are: - Grouped - Standard | | versions | Field Type [DecisionMatrixDefinitionVersion](#DMDV)\[\] 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. | Field Name | Description | | --- | --- | | columns | Field Type [DecisionMatrixDefinitionVersionColumn​​](#DMDVcolumn)\[\] Description Represents an array of columns in a decision matrix definition version. | | decisionMatrixDefinition | Field Type string Description The full name of a decision matrix version. | | endDate | Field Type dateTime Description The date until which a decision matrix definition version is available for use. | | groupKeyValue | Field Type string 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. | | label | Field Type string Description Required. The UI label of a decision matrix definition version. | | rank | Field Type int Description The rank of the Decision Matrix Definition Version. When more than one enabled version matches a decision matrix call, and the start date time to end date time spans overlap, the version with the highest rank is chosen. Available in API version 64.0 and later. | | startDate | Field Type dateTime Description Required. The date from when a decision matrix definition version is available for use. | | status | Field Type DecisionMatrixDefStatus (enumeration of type string) Description Required. Specifies the status of a decision matrix definition version. Valid values are: - Active - Draft - Inactive - InvalidDraft - Obsolete | | subGroupKeyValue | Field Type string 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. | | versionNumber | Field Type int Description Required. The version number of a decision matrix definition. | ## DecisionMatrixDefinitionVersionColumn​​ Represents a definition of a column in a decision matrix definition version. | Field Name | Description | | --- | --- | | columnType | Field Type DecisionMatrixColumnType (enumeration of type string) Description Required. Specifies whether a column is for an input or output. Valid values are: - Input - Output | | dataType | Field Type DecisionMatrixDataType (enumeration of type string) Description Required. The type of data that’s stored in a column. Valid values are: - Boolean - Currency - Number - NumberRange - Percent - Text - TextRange | | displaySequence | Field Type int Description Required. Represents the position of a column in the column order. | | isWildcardColumn | Field Type boolean Description Required. Specifies whether a column stores a wildcard value (true) or not (false). The default value is false. | | name | Field Type string Description Required. The full name of a decision matrix definition version column. | | rangeValue | Field Type string Description A list of values that define range boundaries. | | wildcardValue | Field Type string Description The wildcard value such as ALL. | ## Declarative Metadata Sample Definition The following is an example of a DecisionMatrixDefinition component. Standard HealthCloudUM\_ValidRegions\_V1 Input Text 2 false State Input Text 1 false City Output Boolean 3 false IsValid HealthCloudUM\_ValidRegions 2022-05-02T13:04:06.000Z Draft 1 The following is an example package.xml that references the previous definition. \* DecisionMatrixDefinition 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based.htm "HTML (New Window)"). # DecisionTable Represents the information about a decision table. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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 | Field Name | Description | | --- | --- | | collectOperator | Field Type DecisionTable​CollectOperator (enumeration of type string) Description Specifies the operator that's used when the result is filtered by the Collect operator. Valid values are: - Count - Maximum - Minimum - None - Sum | | condition​Criteria | Field Type string Description Logic that's used to decide how the input fields are processed. | | conditionType | Field Type DecisionTable​ConditionType (enumeration of type string) Description Condition logic that's used for input fields. Valid values are: - All - Any - Custom | | dataSource​Type | Field Type DecisionTable​DataSourceType (enumeration of type string) Description Specifies the type of data source that's used to create a decision table. Valid values are: - ContextDefinition - CsvUpload - MultipleSobjects - SingleSobject | | decisionTable​FileImportVersions | Field Type [DecisionTableFileImportVersion](#DecisionTableFileImportVersion)\[\] Description Versions of the decision table that were imported from a CSV file. Each version captures a separate import iteration with its own activation window, rank, and refresh status. Available in API version 67.0 and later. | | decisionTable​Parameters | Field Type [DecisionTableParameter\[\]](#DecisionTableParameter) Description Parameters that you specify in a decision table. | | decisionTable​SourceCriterias | Field Type [DecisionTableSourceCriteria\[\]](#DecisionTableSourceCriteria) Description The fields and values from a data source that are used to define the condition logic of the data that's used in a decision table. | | description | Field Type string Description Description of the decision table. | | doesConsider​NullValue | Field Type boolean Description Indicates whether a column that has a null value is considered for lookup (true) or not (false). The default value is false. | | downloadStatus | Field Type DecisionTableDownloadStatus (enumeration of type string) Description Specifies the progress status of a CSV download from a CSV-based lookup table. Available in API version 64.0 and later. Valid values are: - Completed - DownloadInProgress - Failed | | executionType | Field Type DecisionTableExecutionType (enumeration of type string) Description Indicates the backing storage for the Decision Table. Valid values are: - DLO—Available in API version 67.0 and later. Replaces DMO. - HBASE - HBPO - SOLR - SOQL | | filterResultBy | Field Type DecisionTableHitPolicy (enumeration of type string) Description Specifies how the results of a decision table are filtered if a set of inputs returns multiple matching outputs. Valid values are: - AnyValue - CollectOperator - FirstMatch - OutputOrder - Priority - RuleOrder - UniqueValues | | hasIncremental​SyncFailed | Field Type boolean Description Indicates if the last incremental refresh failed. | | isIncremental​SyncEnabled | Field Type boolean Description Indicates if incremental refresh is enabled for the Decision Table. | | isVersioned | Field Type boolean Description Indicates whether the CSV based decision table supports multiple file-import versions (true) or not (false). When set to true, the decisionTableFileImportVersions collection captures each version. The default value is true. Available in API version 67.0 and later. | | lastIncremental​SyncDate | Field Type string Description The date and time on which the last incremental refresh occured for the decision table. | | lastSyncDate | Field Type string Description Latest date on which the decision table was refreshed. | | refresh​FailureReason | Field Type string Description Reason why the refresh of the decision table data failed. | | refreshStatus | Field Type DecisionTableRefreshStatus (enumeration of type string) Description Specifies the refresh status of the cached data in the decision table. Valid values are: - Completed - CompletedWithWarnings—Available in API version 67.0 and later. - Failed - InProgress - Initiated | | setupName | Field Type string Description Required. Name of the decision table, which appears in Salesforce Setup. | | sourceCondition​Logic | Field Type string Description The condition logic that's used to define the decision table from the source data. | | sourceObject | Field Type string Description Required. Object that contains the rules based on which the decision table must provide outcomes. | | status | Field Type DecisionTableStatus (enumeration of type string) Description Required. Status of the decision table. Valid values are: - ActivationInProgress - Active - Draft - Inactive | | type | Field Type DecisionTableType (enumeration of type string) Description Stores the type of decision table. Valid values are: - Advanced - HighScaleExecution - HighVolume - LowVolume - MediumVolume - RealTime | | uploadStatus | Field Type DecisionTableUploadStatus (enumeration of type string) Description Specifies the progress status of the CSV upload for a CSV based Lookup table. Valid values are: - Completed - CompletedWithErrors - Failed - UploadInProgress | | usageType | Field Type ExpsSetProcessType (enumeration of type string) Description Type of industry or the application within the industry that's using a decision table. Valid values are: - Bre - ComplianceControl - DecompositionEnrichmentMapping - DefaultPricing - DefaultRating - EventOrchestration - FinancialServicesCloud - FulfillmentCondition - GpaCalculation - InsuranceClaimProcessing—Available in API version 65.0 and later. - ItServiceManagement—Available in API version 65.0 and later. - PlanCostCalculation - PriceProtection - PricingDiscovery - ProductCategoryQualification - ProductQualification - RatingDiscovery - RecordAlert - ShipAndDebit - StudentInformationSystem—Available in API version 65.0 and later. - StudentSuccess - TestProcess - WarrantyClaim When Business Rules Engine is enabled for a Salesforce instance, the default value is 'Bre’. Other usage types are available to you depending on your industry solution and permission sets. | ## DecisionTableFileImportVersion Represents a version of a CSV file-import for a CSV-based decision table. Each version captures a separate import iteration with its own activation window, rank, and refresh status. Available in API version 67.0 and later. | Field Name | Description | | --- | --- | | endDate | Field Type string Description The date and time when the decision table version becomes inactive. | | lastIncremental​SyncDate | Field Type string Description The date and time on which the last incremental refresh occured for the decision table version. | | lastSyncDate | Field Type string Description The date and time on which the last refresh occured for the decision table version. | | rank | Field Type int Description Required. The current rank of the decision table version that’s used to determine when it can get chosen for processing. | | refresh​FailedReason | Field Type string Description The reason the most recent refresh of the decision table version data failed. | | refreshStatus | Field Type DecisionTable​RefreshStatus (enumeration of type string) Description Specifies the refresh status of the cached data in the decision table version. Valid values are: - Completed - CompletedWithWarnings - Failed - InProgress - Initiated | | startDate | Field Type string Description Required. The date and time when the decision table version becomes active. | | uploadStatus | Field Type DecisionTable​UploadStatus (enumeration of type string) Description Specifies the progress status of the CSV upload for the decision table version. Valid values are: - Completed - CompletedWithErrors - Failed - UploadInProgress | | versionName | Field Type string Description Required. The name of the decision table version. The maximum length is 120 characters. | | versionNumber | Field Type int Description Required. The decision table version number. The combination of decisionTable and versionNumber must be unique. | | versionStatus | Field Type DecisionTableStatus (enumeration of type string) Description Required. The status of the decision table version. Valid values are: - ActivationInProgress - Active - Inactive | ## DecisionTableParameter Represents an input or output field of a decision table. | Field Name | Description | | --- | --- | | dataType | Field Type DTParameterDataType (enumeration of type string) Description The data type of the field used in a decision table. Valid values are: - Boolean - Currency - Date - DateTime - Number - Percent - String | | decimalScale | Field Type int Description The number of digits to the right of the decimal point. | | domainObject | Field Type string Description For polymorhpic fields, indicates the domain object in the field hierarchy. | | fieldName | Field Type string Description Required. API name of the fields that selected as an input or output for the decision table. | | fieldPath | Field Type string Description The path of the field used in a decision table in relation to the object that the field belongs to. | | isGroup​ByField | Field Type boolean Description Indicates whether an input field is used to group the business rules of the decision table. | | isPriority​Field | Field Type boolean Description Indicates whether a field is given priority. | | isRequired | Field Type boolean Description Indicates whether a field is required to be used for lookups. | | length | Field Type int Description The maximum number of characters supported for a field that's used in a decision table. | | operator | Field Type DecisionTableOperator (enumeration of type string) Description Operator used for the input field. Valid values are: - Contains - DoesNotExistIn - DoesNotMatch - Equals - ExistsIn - GreaterOrEqual - GreaterThan - IsNotNull - IsNull - LessOrEqual - LessThan - Matches - NotEquals | | sequence | Field Type int Description The sequence in which input fields are processed. This field is available in API version 52.0 and later. | | sortType | Field Type DecisionTableSortType (enumeration of type string) Description 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: - AscNullFirst - AscNullLast - DescNullFirst - DescNullLast - None | | usage | Field Type DecisionTableParameterType (enumeration of type string) Description Required. Usage type of a field. Valid values are: - INPUT - OUTPUT - ROWCRITERIA | ## DecisionTableSourceCriteria Represents the fields and values from a data source that are used to define the condition logic of the data that's used in a decision table. | Field Name | Description | | --- | --- | | operator | Field Type DTSourceCriteriaOperator (enumeration of type string) Description Required. The operator that’s applied to an associated decision table’s field to filter the data. Valid values are: - Contains - DoesNotExistIn - DoesNotMatch - Equals - ExistsIn - GreaterOrEqual - GreaterThan - IsNotNull - IsNull - LessOrEqual - LessThan - Matches - NotEquals | | sequenceNumber | Field Type int Description Required. The sequence number used in the associated decision table's source condition logic. | | sourceField​Name | Field Type string Description Required. The name of the field that's used in the decision table. | | value | Field Type string Description The value that’s expected in the source field used in the decision table. | | valueType | Field Type DTSourceCriteriaValueType (enumeration of type string) Description Required. The type of the value that’s used to filter the source data. Valid values are: - Formula - Literal - Lookup - Parameter - Picklist | ## Declarative Metadata Sample Definition The following is an example of a DecisionTable component. None 1 and 2 and 3 and 4 All SingleSobject IsDeleted Equals INPUT 1 true AscNullFirst Number AccountFeed.CommentsCount AccountFeed false 2 14 false IsActive OUTPUT LimitNumber Equals INPUT 2 false LimitStartDate OUTPUT GivenBadgeCount Equals INPUT 3 false Name Equals INPUT 4 false IsDeleted Equals false 1 Literal Sample DT created for md-common tests UniqueValues Sample DT WorkBadgeDefinition 1 Draft LowVolume Bre false Failed Failed due to limit violation. Hbpo "" Completed false false The following is an example package.xml that references the previous definition. Sample DT Package Package created for md-common tests Sample\_DT DecisionTable DSL\_Sample Sample\_DT\_Default DecisionTableDatasetLink # 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. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Dataset links are supported only for Standard decision tables. ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | decisionTableName | string | Required. The name of the associated decision table. | | decisionTblDatasetParameters | [DecisionTblDatasetParameters](#dtparametersID) | Mapping between a decision table parameter and a field of the object selected in the dataset link. | | description | string | The description of the dataset link. | | isDefault | boolean | Indicates whether a dataset link is the default dataset link for a decision table. | | setupName | string | Required. The name of the decision table dataset link, which appears in Setup. | | sourceObject | string | Required. The name of the object being evaluated. | ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | datasetFieldName | string | Required. Name of the dataset field whose value must be compared against an Input type decision table parameter when providing the outcome. | | fieldName | string | Required. The API name of the decision table field that is selected as an input or output for the decision table dataset link. | ## Declarative Metadata Sample Definition The following is an example of a DecisionTableDatasetLink component. Sample\_DT IsDeleted IsDeleted LimitNumber CallDurationInSeconds Name Subject DSL created for md-common tests false Task DSL Sample The following is an example of a default DecisionTableDatasetLink component. Sample\_DT true WorkBadgeDefinition Default DSL Sample The following is an example package.xml that references the previous definition. Sample DT Package Package created for md-common tests Sample\_DT DecisionTable DSL\_Sample Sample\_DT\_Default DecisionTableDatasetLink 51.0 # Declarative (File-Based) Metadata API Calls Use the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") and [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") calls to move metadata (XML files) between a Salesforce org 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 org. 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") and [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") calls are used primarily for these 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). But you must use more than one deployment to deploy all of the custom fields. **Example**: Warning: You’ve retrieved 47,000 instances of CustomField. You can’t redeploy all these instances at the same time; the maximum is 45,000. Don’t use file-based metadata deployment, including package.xml, destructiveChanges.xml, or changesets, for these setup objects. - [DataStreamDefinition](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_datastreamdefinition.htm) - [DataSourceObject](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_datasourceobject.htm) or DataSourceObject fields - MktDataLakeObject ([Data Lake Object](https://help.salesforce.com/s/articleView?id=data.c360_a_data_ingestion_and_modeling.htm&language=en_US)) - [ObjectSourceTargetMap](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_objectsourcetargetmap.htm) - [MktDataTranObject](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_mktdatatranobject.htm) Deploying these unsupported objects creates orphaned metadata records. These records block future DataStream and DataKit deployments with errors such as "Data Lake Object ID cannot be empty." #### See Also - [Metadata Components and Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm "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.") - [Unsupported Metadata Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_unsupported_types.htm "Some Salesforce features have metadata types that aren’t available in Metadata API. These metadata types can’t be retrieved or deployed with Metadata API. To make changes to these types, you must do it manually in each of your organizations.") - [Metadata Type Limits](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_metadata_type_limits.htm) # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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. ## 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 | Field Name | Field Type | Description | | --- | --- | --- | | customObjects | string\[\] | The custom objects associated with the group. Delegated administrators can customize nearly every aspect of each of those custom objects, including creating a custom tab. However, they can’t 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. | | groups | string\[\] | The groups with users assigned by delegated administrators. | | label | string | Required. The delegated group’s non-API name. | | loginAccess | boolean | 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 organization settings, individual users must grant login access to allow their administrators to log in as them. | | permissionSetGroups | string\[\] | The permission set groups that can be assigned to users in specified roles and all subordinate roles by delegated administrators. | | permissionSets | string\[\] | The permission sets that can be assigned to users in specified roles and all subordinate roles by delegated administrators. | | profiles | string\[\] | The profiles that can be assigned to users by delegated administrators. | | roles | string\[\] | The roles and subordinates for which delegated administrators of the group can create and edit users. | ## Declarative Metadata Sample Definition The following is an example of a DelegateGroup component. MyDelegateGroup true MyDelegateGroup Chatter Free User Chatter Moderator User Marketing User My Permission Set Group My Permset LesserBossMan The following is an example package.xml that references the previous definition. \* DelegateGroup 68.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm). For more details, see [Metadata Components and Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm "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."). ## Syntax [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.")\[\] = metadataConnection.delete([Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm)\[\] 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 isn’t available in API version 31.0 and later. Use [deleteMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteMetadata.htm "Deletes one or more metadata components from your organization synchronously.") instead. ## Permissions Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/obj_ref_data_access.htm "HTML (New Window)") in the Salesforce Object Reference. - In addition, sometimes you also need permission to access this component’s 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 [fullName](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_fullname) of each component you want to delete. See [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) for more details on the [fullName](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_fullname) specified. 3. An [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") in a loop until the status values in [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") indicate that all the delete operations are completed. Start with a wait time of 1 second between iterations of [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") calls, and double the wait time each time you make a subsequent call. ## Sample Code—Java 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(); } } #### See Also - [deleteMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteMetadata.htm "Deletes one or more metadata components from your organization synchronously.") - [create()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_create.htm "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.") - [update()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_update.htm "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.") - [checkStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkstatus.htm "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.") ## Arguments ### metadata - **Type**: [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm)\[\] - **Description**: Array of one or more metadata components. Only set the [fullName](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_fullname) field in the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) object. 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. ## Response [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.")\[\] # deleteMetadata() Deletes one or more metadata components from your organization synchronously. ## Syntax [DeleteResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteResult.htm#meta_deleteResult "Contains result information for the deleteMetadata call.")\[\] = metadataConnection.delete(string metadataType, string\[\] fullNames); ## Usage Use the deleteMetadata() call to delete any component that extends [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm). All components must be of the same type in the same call. For more details, see [Metadata Components and Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm "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."). 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_allornoneheader.htm "Indicates whether to roll back all metadata changes when some of the records in a call result in failures.") header. By default, if the AllOrNoneHeader isn’t 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.object_reference.meta/object_reference/obj_ref_data_access.htm "HTML (New Window)") in the Salesforce Object Reference. - In addition, sometimes you also need permission to access this component’s 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) for more details on the [fullName](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm#meta_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 wasn’t successful. ## Sample Code—Java 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 ### metadataType - **Type**: string - **Description**: The metadata type of the components to delete. ### fullNames - **Type**: string\[\] - **Description**: Array of full names of the components to delete. Limit: 10. (For [CustomMetadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_custommetadata.htm) and [CustomApplication](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_customapplication.htm) only, the limit is 200.) 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteResult.htm#meta_deleteResult "Contains result information for the deleteMetadata call.")\[\] # DeleteResult Contains result information for the deleteMetadata call. ## Version Available in API version 30.0 and later. ## errors - **Type**: [Error](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_error.htm "Represents an error that occurred during a synchronous CRUD (createMetadata(), updateMetadata(), or deleteMetadata()) operation.")\[\] - **Description**: An array of errors returned if the operation wasn’t successful. ## fullName - **Type**: string - **Description**: The full name of the deleted component. ## success - **Type**: boolean - **Description**: Indicates whether the deletion was successful (true) or not (false). # 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 that’s 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 aren’t supported. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note You can’t 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: MyCustomObject\_\_c CustomObject 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: 68.0 ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note - To bypass the Recycle Bin, set the [purgeOnDelete](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm#meta_deploy "Uses file representations of components to create, update, or delete those components in a Salesforce org.") 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 don’t set the purgeOnDelete deployment option to true. - If you try to delete some components that don’t 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 that’s named destructiveChangesPre.xml and include the components to delete. - To delete components _after_ adding or updating other components, create a manifest file that’s named destructiveChangesPost.xml and include the components to delete. The ability to specify when deletions are processed is useful when you’re deleting components with dependencies. For example, if a custom object is referenced in an Apex class, you can’t 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: SampleClass ApexClass 68.0 Sample destructiveChangesPost.xml, which specifies the custom object to delete after the class update: MyCustomObject\_\_c CustomObject Post destructive changes are processed before running any tests. When deleting Apex classes or triggers, Salesforce recommends that as part of the deployment, you run all local tests from the namespace in order to detect any remaining references to the deleted class or trigger. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The API version that the deployment uses is the API version that’s specified in package.xml. - [Next →](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "checkDeployStatus()") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The HTTP method for deploying a recently validated component set is POST, not PATCH. Using PATCH would create a new deployment. { "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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. # 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. **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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") - [force:source:push Command](https://developer.salesforce.com/docs/atlas.en-us.264.0.sfdx_cli_reference.meta/sfdx_cli_reference/cli_reference_force_source.htm#cli_reference_force_source_push) - [Deploy a Recently Validated Component Set Without Tests](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_rest_deploy_recentvalidation.htm "You can deploy components to production in less time by skipping the execution of Apex tests when testing requirements have already been met.") # 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. 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 or 629,145,600 bytes. The size limit in bytes is calculated as 600 x 1024 x 1024. **URI** https://host/services/data/vXX.0/metadata/deployRequest **Formats** JSON **HTTP Method** POST **Authentication** Authorization: Bearer token ## deployOptions Parameters ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm#meta_deploy_running_tests "Learn default test execution rules for Salesforce production deployments, including API version differences and Apex test requirements.") and [Run the Same Tests in Sandbox and Production Deployments](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_run_local_tests.htm#meta_deploy_run_local_tests "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 couldn’t exclude managed package tests.").
    Parameter Description
    allowMissingFiles Boolean. If files that are specified in package.xml aren’t in the .zip file, specifies whether a deployment can still succeed. Don’t set this argument for deployment to production orgs.
    autoUpdatePackage Reserved for future use.
    checkOnly 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 to verify the results of tests that would be generated in a deployment, but doesn’t 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.
    ignoreWarnings 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:

    • problemType—Warning
    • problem—The 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.

    performRetrieve Reserved for future use.
    purgeOnDelete 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.

    rollbackOnError 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 are returned for the remaining actions. This parameter must be set to true if you’re deploying to a production org. The default is false.
    runTests 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.

    singlePackage Boolean. Indicates whether the specified .zip file points to a directory structure with a single package (true) or a set of packages (false).
    testLevel 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:
    • NoTestRun—No 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.
    • RunSpecifiedTests—Only 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.
    • RunRelevantTests (beta)—Only tests relevant to the deployment payload are run. Salesforce automatically identifies the relevant tests based on an analysis of the deployment payload and the payload dependencies. For fine-grained control, you can annotate test classes so that they either run regardless of the deployment payload, or run when modified, referenced components are included in the deployment. See @IsTest Annotation in the Apex Developer Guide. 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 trigger individually and is different from the overall coverage percentage.
    • RunLocalTests—All 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.
    • RunAllTestsInOrg—All tests are run. The tests include all tests in your org, including tests of managed packages.

    If you don’t 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. This example POST request creates a deployRequest object that initiates a deployment. - The POST request header is set to Content-Type: multipart/form-data and defines a boundary delimiter to encapsulate different subparts of the request. In this example, the boundary delimiter is \--------------------------BOUNDARY. - The boundary delimiter precedes each subpart, and the delimiter itself is preceded by two extra \--. In the first subpart, a JSON request creates a deployOptions child object for passing the deployment parameters. - The second subpart specifies the .zip file that contains the manifest and the component directories. - The second subpart ends with the boundary delimiter preceded by two \--. The delimiter is followed by another two \--, which indicate the end of the request body. 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" : { "id" : "0Afxx00000001VPCAY", "success" : false, "checkOnly" : false, "ignoreWarnings" : false, "rollbackOnError" : true, "status" : "Pending", "runTestsEnabled" : false, "done" : false } } ## deployResult Parameters
    Parameter Description
    id ID. ID of the component being deployed.
    canceledBy ID. The ID of the user who canceled the deployment.
    canceledByName String. The full name of the user who canceled the deployment.
    checkOnly 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 doesn’t deploy any components or change the organization in any way.
    completedDate DateTime. Timestamp for when the deployment process ended.
    createdBy ID. The ID of the user who created the deployment.
    createdByName String. The full name of the user who created the deployment.
    createdDate DateTime. Timestamp for when the deploy request was received.
    details 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.
    done Boolean. Indicates whether the server finished processing the deploy request for the specified id.
    errorMessage String. Message corresponding to the values in the errorStatusCode field, if any.
    errorStatusCode 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.
    ignoreWarnings Boolean. Optional. Defaults to false. Specifies whether a deployment continues even if the deployment generates warnings. Don’t set this argument to true for deployments to production organizations.
    lastModifiedDate DateTime. Timestamp of the last update for the deployment process.
    numberComponentErrors Int. The number of components deployed in the deployment process. Use this value with the numberComponentsTotal value to get an estimate of the deployment’s progress.
    numberComponentsTotal Int. The total number of components in the deployment. Use this value with the numberComponentsDeployed value to get an estimate of the deployment’s progress.
    numberTestErrors Int. The number of Apex tests that have generated errors during this deployment.
    numberTestsCompleted The number of completed Apex tests for this deployment. Use this value with the numberTestsTotal value to get an estimate of the deployment’s test progress.
    numberTestsTotal Int. The total number of Apex tests for this deployment. Use this value with the numberTestsCompleted value to get an estimate of the deployment’s test progress. The value in this field isn’t accurate until the deployment has started running tests for the components being deployed.
    runTestsEnabled 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.
    rollbackOnError 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 errors are performed, and errors are returned for the remaining actions. This parameter must be set to true if you’re deploying to a production org.
    startDate DateTime. Timestamp for when the deployment process began.
    stateDetail String. Indicates which component is being deployed or which Apex test class is running.
    status Indicates the current state of the deployment. The valid values are:
    • Pending
    • InProgress
    • FinalizingDeploy
    • FinalizingDeployFailed
    • Succeeded
    • SucceededPartial
    • Failed
    • Canceling
    • Canceled
    success Boolean. Indicates whether the deployment was successful (true) or not (false).
    # Deploy Metadata with REST API in Salesforce CLI 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.
    User Permissions Needed
    To work with Metadata API from Salesforce CLI:

    Modify Metadata Through Metadata API Functions

    Or

    Modify All Data

    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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. | Feature | Limit | | --- | --- | | Maximum compressed .zip folder size1 (SOAP API) | Approximately 39 MB | | Maximum uncompressed folder size2 (SOAP API) | Approximately 600 MB | | Maximum number of files in AppExchange packages (REST and SOAP API) | 35,000 | | Maximum number of files in packages (REST and SOAP API) | 10,000 | 1 Metadata API base-64 encodes components after they’re 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 deploying 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. # deploy() Uses file representations of components to create, update, or delete those components in a Salesforce org. ## Syntax AsyncResult = metadatabinding.deploy(base64 zipFile, [DeployOptions](#meta_deploy "Uses file representations of components to create, update, or delete those components in a Salesforce org.") 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. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note To migrate Data 360 metadata from a sandbox org to a parent sandbox or a production org, use [DevOps data kit](https://help.salesforce.com/s/articleView?language=en_US&id=data.c360_a_data_package_kits.htm&type=5) instead of this call. Here are the deploy limits. Limits can change without notice. | Feature | Limit | | --- | --- | | Maximum compressed .zip folder size1 | Approximately 39 MB | | Maximum uncompressed folder size2 | Approximately 600 MB | | Maximum number of files included in a first-generation managed package (1GP). Only 1GP packages that have passed AppExchange Security Review can contain this number of files. | 35,000 | | Maximum number of files included in an unlocked or second-generation managed package | 10,000 | 1 Metadata API base-64 encodes components after they’re 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. 2The maximum size of uncompressed components in an uncompressed project is 600 MB (629,145,600 bytes) or less, depending on the files’ compression ratio. The size limit in bytes is calculated as 600 x 1024 x 1024. If the files have a high compression ratio, you can migrate a total of approximately 600 MB because the compressed size is 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 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm "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."). For API version 29.0 or later, here’s how to deploy (create or update) packaged or unpackaged components. 1. Issue a deploy() call to start the asynchronous deployment. An [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object is returned. Note the value in the [id](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field, and use it for the next step. 2. Issue a [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") call in a loop until the [done](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field of the returned [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") contains true, which means that the call is completed. The [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") object contains information about an in-progress or completed deployment started using the deploy() call. When calling [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy()."), pass in the [id](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") value from the [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object from the first step. For API version 28.0 or earlier, here’s how to deploy (create or update) packaged or unpackaged components. 1. Issue a deploy() call to start the asynchronous deployment. An [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object is returned. If the call is completed, the done field contains true. Most often, the call isn’t completed quickly enough to be noted in the first result. If it’s completed, note the value in the id field returned, and skip the next step. 2. If the call isn’t complete, issue a checkStatus() call in a loop. In the loop, use the value in the id field of the [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object returned by the deploy() call in the previous step. Check the [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy()."). 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 been deployed out of the total and includes the number of components with errors. For example, this chart indicates that 302 components were processed successfully out of 450 and there were 45 components with errors. ![Chart for processed components](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/deploy_donut_chart_comp.png) After all components have been deployed without errors, Apex tests start running, 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 this chart, 77 tests have completed execution out of a total of 120, and 1 test failed. ![Chart for processed components](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/deploy_donut_chart_tests.png) You can initiate multiple deployments, but only one deployment can run at a time. The other deployments remain in the queue waiting to run 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 it’s in progress or in the queue. For API versions 65.0 and higher, you can't cancel deployments with a status of Finalizing Deploy. For API versions below 65.0, attempts to cancel a deployment may fail if the deployment has started committing data. Alternatively, it's possible that the cancellation will succeed, but data from the deployment is also committed. To cancel a deployment using Metadata API, see [cancelDeploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_canceldeploy.htm "Cancels a deployment that hasn’t completed yet."). 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. 1. [Deleting Components from an Organization](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm) 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm) Checks the status of declarative metadata call deploy(). 3. [cancelDeploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_canceldeploy.htm) Cancels a deployment that hasn’t completed yet. #### See Also - [Running Tests in a Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm "Learn default test execution rules for Salesforce production deployments, including API version differences and Apex test requirements.") - [Run Relevant Apex Tests in a Deployment (Beta)](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_run_relevant_tests.htm "Use the RunRelevantTests (beta) test level to run only the Apex tests that are relevant to your deployment. Salesforce automatically identifies the relevant tests based on an analysis of the deployment payload and the payload dependencies.") ## Arguments ### zipFile - **Type**: base64 - **Description**: Base 64-encoded binary data. Client applications must encode the binary data as base64. ### deployOptions - **Type**: [DeployOptions](#meta_deploy "Uses file representations of components to create, update, or delete those components in a Salesforce org.") - **Description**: Encapsulates options for determining which packages or files are deployed. ## DeployOptions The following deployment options can be selected for this call: ### allowMissingFiles - **Type**: boolean - **Description**: If files that are specified in package.xml aren’t in the .zip file, specifies whether a deployment can still succeed. Don’t set this argument for deployment to production orgs. ### autoUpdatePackage - **Type**: boolean - **Description**: If a file is in the .zip file but not specified in package.xml, specifies whether the file is automatically added to the package. A retrieve() is issued with the updated package.xml that includes the .zip file. Don’t set this argument for deployment to production orgs. ### checkOnly - **Type**: boolean - **Description**: 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 to verify the results of tests that would be generated in a deployment, but doesn’t commit any changes. After a validation finishes with passing tests, sometimes it can qualify for deployment without rerunning tests. See [deployRecentValidation()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployRecentValidation.htm "Deploys a recently validated component set without running Apex tests."). If you change a field type from Master-Detail to Lookup or vice versa, the change isn’t supported when using the checkOnly option to test a deployment. This change isn’t supported for test deployments to avoid permanently altering your data. If a change that isn’t 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 are permanently deleted from the Recycle Bin and can’t 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. ### ignoreWarnings - **Type**: boolean - **Description**: Indicates whether deployments with warnings complete successfully (true) or not (false). Defaults to false. The DeployMessage object for a warning contains the following values: - problemType—Warning - problem—The 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. ### performRetrieve - **Type**: boolean - **Description**: Indicates whether a retrieve() call is performed immediately after the deployment (true) or not (false). Set to true to retrieve whatever was deployed. ### purgeOnDelete - **Type**: boolean - **Description**: 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 field is available in API version 22.0 and later. This option only works in Developer Edition or sandbox orgs. It doesn’t 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 don’t set the purgeOnDelete deployment option to true. ### rollbackOnError - **Type**: boolean - **Description**: 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 are returned for the remaining actions. This parameter must be set to true if you’re deploying to a production org. The default is false. ### runAllTests - **Type**: boolean - **Description**: (Deprecated and only available in API version 33.0 and earlier.) This field defaults to false. Set to true to run all Apex tests after deployment, including tests that originate from installed managed packages. Apex tests that run as part of a deployment always run synchronously and serially. ### runTests - **Type**: string\[\] - **Description**: 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_run_specific_tests.htm "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."). To use this option, set testLevel to RunSpecifiedTests. ### singlePackage - **Type**: boolean - **Description**: Indicates whether the specified .zip file points to a directory structure with a single package (true) or a set of packages (false). ### testLevel - **Type**: TestLevel (enumeration of type string) - **Description**: 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. If you don’t specify a test level, the default test execution behavior is used. See [Running Tests in a Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm "Learn default test execution rules for Salesforce production deployments, including API version differences and Apex test requirements."). 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. - **Possible values**: - NoTestRun—No 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. - RunSpecifiedTests—Only 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 trigger individually and is different than the overall coverage percentage. - RunRelevantTests (beta)—Only tests relevant to the deployment payload are run. Salesforce automatically identifies the relevant tests based on an analysis of the deployment payload and the payload dependencies. For fine-grained control, you can annotate test classes so that they either run regardless of the deployment payload, or run when modified, referenced components are included in the deployment. See [@IsTest Annotation](https://developer.salesforce.com/docs/atlas.en-us.264.0.apexcode.meta/apexcode/apex_classes_annotation_isTest.htm) in the Apex Developer Guide. 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 trigger individually and is different from the overall coverage percentage. - RunLocalTests—All 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. - RunAllTestsInOrg—All tests are run. The tests include all tests in your org, including tests of managed packages. ## Response [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") ## Sample Code—Java This sample shows how to deploy components in a zip file. See the [retrieve() sample code](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm#meta_retrieve_sample_code_java) 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; public static void main(String\[\] args) throws Exception { final String USERNAME = "user@company.com"; // 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) { 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) { 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); final ConnectorConfig metadataConfig = new ConnectorConfig(); metadataConfig.setServiceEndpoint(loginResult.getMetadataServerUrl()); metadataConfig.setSessionId(loginResult.getSessionId()); this.metadataConnection = new MetadataConnection(metadataConfig); } } # 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. 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 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note You can deploy or retrieve up to 10,000 files at once. 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 or 629,145,600 bytes. The size limit in bytes is calculated as 600 x 1024 x 1024. Managed packages use different limits: First-generation managed packages that have passed AppExchange Security Review can contain up to 35,000 files. Second-generation managed packages can contain up to 10,000 files. - Metadata API base-64 encodes components after they’re 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 doesn’t yet have an index defined, you can’t retrieve it. - Limits can change without notice. Every .zip file contains a project manifest, a file that’s named package.xml, and a set of directories that contain the components. The manifest file defines the components that you're trying to retrieve or deploy in the .zip file. The manifest also defines the API version that's used for the deployment or retrieval. 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. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If you’re retrieving any components that have dependencies by using the rootTypesWithDependencies parameter in the RetrieveRequest object, the dependent metadata components are added to the returned .zip file and package.xml file in the same directory as the root type that’s being retrieved. This directory has a JSON file for each component with dependencies in the format ComponentName.roottype.dependencies-meta.json. 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 \*. MyCustomObject\_\_c CustomObject \* CustomTab Standard Profile 68.0 The following elements can be defined in package.xml. - contains the name of the server-side package. If no exists, the package.xml defines a client-side unpackaged package. - 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 elements in a manifest file. - contains the fullName of the component, for example MyCustomObject\_\_c. The [listMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_listmetadata.htm "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.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note You specify Security in the element and Settings in the name element when retrieving the SecuritySettings component type. - 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) is a valid value. The name that’s entered must match a metadata type that’s defined in the Metadata API WSDL. See [Metadata Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_types_list.htm "Metadata API enables you to access some entities and feature settings that you can customize in the user interface.") for a list. - is the API version number that’s used when the .zip file is deployed or retrieved. Currently the valid value is 68.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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/manifest_samples.htm "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 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."). To delete components, see [Deleting Components from an Organization](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_deleting_files.htm "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."). #### See Also - [Metadata Types](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_types_list.htm "Metadata API enables you to access some entities and feature settings that you can customize in the user interface.") # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") 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. ## Version DeploymentSettings components are available in API version 47.0 and later. ## Fields
    Field Name Field Type Description
    doesSkipAsyncApexValidation boolean 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 you’re deploying is used by an Apex batch job that could run during the 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. true The following is an example package.xml that references the previous definition. Deployment Settings 47.0 ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # deployRecentValidation() Deploys a recently validated component set without running Apex tests. ## 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") with the checkOnly property of the deployOptions parameter set to true. Note the ID that you obtained from the deploy() call. You’ll use this ID for the deployRecentValidation() call in the next step. After you’ve 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. The deployRecentValidation() call returns the ID of the quick deployment. Note this value. You’ll use it in the next step. 2. Check for the completion of the call. This process is similar to that of [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org."). Issue a [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") call in a loop until the [done](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") field of the returned [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") contains true, which means that the call is completed. The [DeployResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deployresult.htm "Contains information about the success or failure of the associated deploy() call.") object contains information about an in-progress or completed deployment that was started by using the deployRecentValidation() call. When calling [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy()."), pass in the ID value that you obtained in the first step. ## Version Available in API version 33.0 and later. ## Arguments ### validationID - **Type**: string - **Description**: The ID of a recent validation. ## Response Type: string The ID of the quick deployment. ## Sample Code—Java 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); // 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(); 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); 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); } } # DeployResult Contains information about the success or failure of the associated deploy() call. The asynchronous metadata call [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") returns a DeployResult object. In API version 29.0, Salesforce moved several properties from the [AsyncResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") object to the DeployResult object to improve the process for getting information about deployments. For more information about these changes, see [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org."). ## Fields For API version 29.0 and later, the DeployResult object has these properties. ### id - **Type**: ID - **Description**: ID of the component being deployed. ### canceledBy - **Type**: ID - **Description**: The ID of the user who canceled the deployment. This field is available in API version 30.0 and later. ### canceledByName - **Type**: string - **Description**: The full name of the user who canceled the deployment. This field is available in API version 30.0 and later. ### checkOnly - **Type**: boolean - **Description**: 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 deployment doesn’t deploy any components or change the organization in any way. ### completedDate - **Type**: dateTime - **Description**: Timestamp for when the deployment process ended. ### createdBy - **Type**: ID - **Description**: The ID of the user who created the deployment. This field is available in API version 30.0 and later. ### createdByName - **Type**: string - **Description**: The full name of the user who created the deployment. This field is available in API version 30.0 and later. ### createdDate - **Type**: dateTime - **Description**: Timestamp for when the deploy() call was received. ### deployExtensionResults - **Type**: DeployExtensionResult\[\] - **Description**: Provides the status of each deployment extension that ran as part of the deployment. Each entry represents one extension type. If no deployment extensions ran, this field is empty. This field is available in API version 67.0 and later. ### details - **Type**: DeployDetails\[\] - **Description**: Provides the details of a deployment that is in-progress or ended, if the includeDetails parameter is set to true in the [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy().") call. ### done - **Type**: boolean - **Description**: Indicates whether the server finished processing the deploy() call for the specified id. ### errorMessage - **Type**: string - **Description**: Message corresponding to the values in the errorStatusCode field, if any. ### errorStatusCode - **Type**: string - **Description**: If an error occurred during the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/sforce_api_calls_concepts_core_data_objects.htm#statuscode_topic) in the SOAP API Developer Guide. ### ignoreWarnings - **Type**: boolean - **Description**: Optional. Defaults to false. Specifies whether a deployment continues even if the deployment generates warnings. Don’t set this argument to true for deployments to production organizations. ### lastModifiedDate - **Type**: dateTime - **Description**: Timestamp of the last update for the deployment process. ### numberComponentErrors - **Type**: int - **Description**: The number of components that generated errors during this deployment. ### numberComponentsDeployed - **Type**: int - **Description**: The number of components deployed in the deployment process. Use this value with the [numberComponentsTotal](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") value to get an estimate of the deployment’s progress. ### numberComponentsTotal - **Type**: int - **Description**: The total number of components in the deployment. Use this value with the [numberComponentsDeployed](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") value to get an estimate of the deployment’s progress. ### numberTestErrors - **Type**: int - **Description**: The number of Apex tests that have generated errors during this deployment. ### numberTestsCompleted - **Type**: int - **Description**: The number of completed Apex tests for this deployment. Use this value with the [numberTestsTotal](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") value to get an estimate of the deployment’s test progress. ### numberTestsTotal - **Type**: int - **Description**: The total number of Apex tests for this deployment. Use this value with the [numberTestsCompleted](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_asyncresult.htm#meta_asyncresult "Contains the ID of a deployment or retrieval. In API version 28.0 and earlier, contains status information of any asynchronous metadata call.") value to get an estimate of the deployment’s test progress. The value in this field isn’t accurate until the deployment has started running tests for the components being deployed. ### numFiles - **Type**: int - **Description**: The total number of files included in this deployment. This field is available in API version 64.0 and later. ### runTestsEnabled - **Type**: boolean - **Description**: 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 DeployOptions for the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. For information on when tests are automatically run, see [Running Tests in a Deployment](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy_running_tests.htm "Learn default test execution rules for Salesforce production deployments, including API version differences and Apex test requirements."). This field is available in API version 30.0 and later. ### rollbackOnError - **Type**: boolean - **Description**: 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 without errors are performed, and errors are returned for the remaining actions. This parameter must be set to true if you’re deploying to a production organization. ### startDate - **Type**: dateTime - **Description**: Timestamp for when the deployment process began. ### stateDetail - **Type**: string - **Description**: Indicates which component is being deployed or which Apex test class is running. ### status - **Type**: DeployStatus ([enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string) - **Description**: Indicates the current state of the deployment. - **Possible values**: - Pending - InProgress - FinalizingDeploy - FinalizingDeployFailed - Succeeded - SucceededPartial - Failed - Canceling - Canceled ### success - **Type**: boolean - **Description**: Indicates whether the deployment was successful (true) or not (false). ### zipSize - **Type**: long - **Description**: The size of the unzipped deployment folder in bytes. This field is available in API version 64.0 and later. ## 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()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. ### componentFailures - **Type**: DeployMessage\[\] - **Description**: One or more DeployMessage objects containing deployment errors for each component. ### componentSuccesses - **Type**: DeployMessage\[\] - **Description**: One or more DeployMessage objects containing successful deployment details for each component. ### retrieveResult - **Type**: [RetrieveResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm "The retrieve() call returns an array of RetrieveResult objects.") - **Description**: If the performRetrieve parameter was specified for the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call, a [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") call is performed immediately after the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") process completes. ### runTestResult - **Type**: RunTestResult - **Description**: If tests were run for the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call, this field contains the test results. ## DeployExtensionResult Each DeployExtensionResult object contains the status of a single deployment extension returned by [checkDeployStatus()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_checkdeploystatus.htm "Checks the status of declarative metadata call deploy()."). This object is available in API version 67.0 and later. ### message - **Type**: string - **Description**: Optional. An error message if the extension failed, or a progress update if the extension is in progress. ### status - **Type**: DeployExtensionStatus - **Description**: The status of the deployment extension. Valid values are: - New - InProgress - Succeeded - Failed ### type - **Type**: string - **Description**: The type identifier of the deployment extension. ## Properties For API version 28.0 and earlier, the DeployResult object has the following properties. ### id - **Type**: ID - **Description**: ID of the component being deployed. ### messages - **Type**: DeployMessage\[\] - **Description**: Contains information about the success or failure of a [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call. ### retrieveResult - **Type**: [RetrieveResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieveresult.htm "The retrieve() call returns an array of RetrieveResult objects.") - **Description**: If the [performRetrieve](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm#meta_deploy "Uses file representations of components to create, update, or delete those components in a Salesforce org.") parameter was specified for the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call, a [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") call is performed immediately after the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") process completes. This field contains the results of that retrieval. ### runTestResult - **Type**: RunTestResult - **Description**: If tests were run for the [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") call, this field contains the test results. ### success - **Type**: boolean - **Description**: Indicates whether the deployment was successful (true) or not (false). ## 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. ### changed - **Type**: boolean - **Description**: 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. ### columnNumber - **Type**: int - **Description**: 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. ### componentType - **Type**: string - **Description**: The metadata type of the component in this deployment. This field is available in API version 30.0 and later. ### created - **Type**: boolean - **Description**: 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. ### createdDate - **Type**: dateTime - **Description**: 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. ### deleted - **Type**: boolean - **Description**: 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. ### fileName - **Type**: string - **Description**: The name of the file in the .zip file used to deploy this component. ### fullName - **Type**: string - **Description**: The full name of the component. Inherited from [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm), this field is defined in the WSDL for this metadata type. It must be specified when creating, updating, or deleting. See [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") to see an example of this field specified for a call. ### id - **Type**: ID - **Description**: ID of the component being deployed. ### lineNumber - **Type**: int - **Description**: 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. ### problem - **Type**: string - **Description**: If an error or warning occurred, this field contains a description of the problem that caused the compile to fail. ### problemType - **Type**: DeployProblemType (enumeration of type string) - **Description**: Indicates the problem type. The problem details are tracked in the problem field. 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. - **Possible values**: - Warning - Error ### success - **Type**: boolean - **Description**: Indicates whether the component was successfully deployed (true) or not (false). ## RunTestsResult 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. A RunTestsResult object has the following properties ### apexLogId - **Type**: string - **Description**: 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. This field is available in API version 35.0 and later. ### codeCoverage - **Type**: CodeCoverageResult\[\] - **Description**: An array of one or more CodeCoverageResult objects that contains the details of the code coverage for the specified unit tests. ### codeCoverageWarnings - **Type**: CodeCoverageWarning\[\] - **Description**: 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. ### failures - **Type**: RunTestFailure\[\] - **Description**: An array of one or more RunTestFailure objects that contain information about the unit test failures, if there are any. ### flowCoverage - **Type**: [FlowCoverageResult](#flowcoverageresult)\[\] - **Description**: An array of results from test runs that executed flows. This field is available in API version 44.0 and later. ### flowCoverageWarnings - **Type**: [FlowCoverageWarning](#flowcoveragewarning)\[\] - **Description**: An array of warnings generated by test runs that executed flows. This field is available in API version 44.0 and later. ### numFailures - **Type**: int - **Description**: The number of failures for the unit tests. ### numTestsRun - **Type**: int - **Description**: The number of unit tests that were run. ### successes - **Type**: RunTestSuccess\[\] - **Description**: An array of one or more RunTestSuccess objects that contain information about successes, if there are any. ### totalTime - **Type**: double - **Description**: The total cumulative time spent running tests, in milliseconds. This can be helpful for performance monitoring. ## CodeCoverageResult The RunTestResult 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. ### dmlInfo - **Type**: CodeLocation\[\] - **Description**: 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 total cumulative time spent in these calls. This can be helpful for performance monitoring. ### id - **Type**: ID - **Description**: The ID of the CodeLocation . The ID is unique within an organization. ### locationsCovered - **Type**: CodeLocation\[\] - **Description**: Identifies the code locations for each class or trigger tested. Includes the line and column of the code tested and the number of times the code was executed. This field is available in API version 68.0 and later. ### locationsNotCovered - **Type**: CodeLocation\[\] - **Description**: 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. ### methodInfo - **Type**: CodeLocation\[\] - **Description**: 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. ### name - **Type**: string - **Description**: The name of the class or trigger covered. ### namespace - **Type**: string - **Description**: The namespace that contained the unit tests, if one is specified. ### numLocations - **Type**: int - **Description**: The total number of code locations. ### numLocationsNotCovered - **Type**: int - **Description**: The number of code locations not covered by any class or trigger. ### soqlInfo - **Type**: CodeLocation\[\] - **Description**: 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. ### type - **Type**: string - **Description**: Do not use. In early, unsupported releases, used to specify class or package. ## CodeCoverageWarning The RunTestsResult object contains this object. It contains information about the Apex class which generated warnings. This object has the following properties. ### id - **Type**: ID - **Description**: The ID of the CodeLocation . The ID is unique within an organization. ### message - **Type**: string - **Description**: The message of the warning generated. ### name - **Type**: string - **Description**: The namespace that contained the unit tests, if one is specified. ### namespace - **Type**: string - **Description**: The namespace that contained the unit tests, if one is specified. ## RunTestFailure The RunTestsResult object returns information about failures during the unit test run. This object has these properties. ### id - **Type**: ID - **Description**: The ID of the class which generated failures. ### message - **Type**: string - **Description**: The failure message. ### methodName - **Type**: string - **Description**: The name of the method that failed. ### name - **Type**: string - **Description**: The name of the class that failed. ### namespace - **Type**: string - **Description**: The namespace that contained the class, if one was specified. ### seeAllData - **Type**: boolean - **Description**: 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. ### stackTrace - **Type**: string - **Description**: The stack trace for the failure. ### time - **Type**: double - **Description**: The time spent running tests for this failed operation, in milliseconds. This can be helpful for performance monitoring. ### type - **Type**: string - **Description**: Do not use. In early, unsupported releases, used to specify class or package. ## 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. ### elementsNotCovered - **Type**: string - **Description**: List of elements in the flow version that weren’t executed by the test run. ### flowId - **Type**: string - **Description**: The ID of the flow version. The ID is unique within an org. ### flowName - **Type**: string - **Description**: The name of the flow that was executed by the test run. ### flowNamespace - **Type**: string - **Description**: The namespace that contains the flow, if one is specified. ### numElements - **Type**: int - **Description**: The total number of elements in the flow version. ### numElementsNotCovered - **Type**: int - **Description**: The number of elements in the flow version that weren’t executed by the test run ### processType - **Type**: FlowProcessType (enumeration of type string) - **Description**: The process type of the flow version. ## FlowCoverageWarning This object contains information about the flow version that generated warnings. This object is available in API version 44.0 and later. ### flowId - **Type**: string - **Description**: The ID of the flow version that generated the warning. ### flowName - **Type**: string - **Description**: 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. ### flowNamespace - **Type**: string - **Description**: The namespace that contains the flow, if one was specified. ### message - **Type**: string - **Description**: The message of the warning that was generated. ## RunTestSuccess The RunTestsResult object returns information about successes during the unit test run. This object has these properties. ### id - **Type**: ID - **Description**: The ID of the class which generated the success. ### methodName - **Type**: string - **Description**: The name of the method that succeeded. ### name - **Type**: string - **Description**: The name of the class that succeeded. ### namespace - **Type**: string - **Description**: The namespace that contained the unit tests, if one is specified. ### seeAllData - **Type**: boolean - **Description**: 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. ### time - **Type**: double - **Description**: The time spent running tests for this operation. This can be helpful for performance monitoring. ## CodeLocation The RunTestsResult object contains this object in a number of fields. This object has these properties. ### column - **Type**: int - **Description**: The column location of the Apex tested. ### line - **Type**: int - **Description**: The line location of the Apex tested. ### numExecutions - **Type**: int - **Description**: The number of times the Apex was executed in the test run. ### time - **Type**: double - **Description**: The total cumulative time spent at this location. This can be helpful for performance monitoring. # 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 ### apiVersion - **Type**: double - **Description**: The API version for which you want metadata, for example, 68.0. ## Permissions Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") permission. Otherwise, enable the Modify All Data permission. ## Sample Code—Java 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"); 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_describemeta_result.htm "Contains information about the organization that is useful for developers working with declarative metadata.") ## 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. # DescribeMetadataResult Contains information about the organization that is useful for developers working with declarative metadata. The [describeMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_describe.htm "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.") call returns a DescribeMetadataResult object. Each DescribeMetadataResult object has the following properties: ## Fields ### metadataObjects - **Type**: [DescribeMetadataObject](#describemetadataobject)\[\] - **Description**: One or more metadata components and their attributes. ### organizationNamespace - **Type**: string - **Description**: 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. ### partialSaveAllowed - **Type**: boolean - **Description**: Indicates whether [rollbackOnError](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm#meta_deploy "Uses file representations of components to create, update, or delete those components in a Salesforce org.") is allowed (true) or not (false). This value is always : - false in production organizations. - the opposite of testRequired. ### testRequired - **Type**: boolean - **Description**: Indicates whether tests are required (true) or not (false). This value is always the opposite of partialSaveAllowed. ## DescribeMetadataObject This object is returned as part of the DescribeMetadataResult. Each DescribeMetadataObject has the following properties: ### childXmlNames - **Type**: string\[\] - **Description**: List of child sub-components for this component. ### directoryName - **Type**: string - **Description**: The name of the directory in the .zip file that contains this component. ### inFolder - **Type**: boolean - **Description**: Indicates whether the component is in a folder (true) or not (false). For example, documents, email templates and reports are stored in folders. ### metaFile - **Type**: boolean - **Description**: Indicates whether the component requires an accompanying metadata file. For example, documents, classes, and s-controls are components that require an additional metadata file. ### suffix - **Type**: string - **Description**: The file suffix for this component. ### xmlName - **Type**: string - **Description**: 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. # 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"); ## Arguments ### type - **Type**: string - **Description**: The name of the metadata type for which you want metadata; for example, ApexClass. Include the namespace. ## Permissions Your client application must be logged in with the Modify Metadata Through Metadata API Functions or Modify All Data permission. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If a user requires access to metadata but not to data, enable the [Modify Metadata Through Metadata API Functions](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadata_perm.htm "To use Metadata API, a user must have these things.") permission. Otherwise, enable the Modify All Data permission. ## Sample Code—Java 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"); 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 This field is a foreign key. Foreign key domain: ApexPage Foreign key domain: Scontrol \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* 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 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* ## Response [DescribeValueTypeResult](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_describeValueTypeResult.htm "Contains information about a value type that’s useful for developers working with declarative metadata.") # DescribeValueTypeResult Contains information about a value type that’s useful for developers working with declarative metadata. The [describeValueType()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_describeValueType.htm "Retrieves the metadata describing a given metadata type (value type).") call returns a DescribeValueTypeResult object. Each DescribeValueTypeResult object has these properties. ## Fields ### apiCreatable - **Type**: boolean - **Description**: Indicates whether this value type can be created through the [createMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_createMetadata.htm "Adds one or more new metadata components to your organization synchronously.") call (true) or not (false). This field is available in API version 36.0 and later. ### apiDeletable - **Type**: boolean - **Description**: Indicates whether this value type can be created through the [deleteMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deleteMetadata.htm "Deletes one or more metadata components from your organization synchronously.") call (true) or not (false). This field is available in API version 36.0 and later. ### apiReadable - **Type**: boolean - **Description**: Indicates whether this value type can be created through the [readMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_readMetadata.htm "Returns one or more metadata components from your organization synchronously.") call (true) or not (false). This field is available in API version 36.0 and later. ### apiUpdatable - **Type**: boolean - **Description**: Indicates whether this value type can be created through the [updateMetadata()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_updateMetadata.htm "Updates one or more metadata components in your organization synchronously.") call (true) or not (false). This field is available in API version 36.0 and later. ### parentField - **Type**: [ValueTypeField](#describemetadataobject) - **Description**: 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 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. ### valueTypeFields - **Type**: [ValueTypeField](#describemetadataobject)\[\] - **Description**: One or more metadata components and their attributes. ## ValueTypeField This object is returned as part of the DescribeValueTypeResult and represents the metadata for one field. Each ValueTypeField ### fields - **Type**: ValueTypeField - **Description**: The ValueTypeField object for the next field, if any. ### foreignKeyDomain - **Type**: string - **Description**: If isForeignKey is True, foreignKeyDomain is the type of object, such as Account or Opportunity. ### isForeignKey - **Type**: boolean - **Description**: True if the field is a foreign key. That means this field is the primary key in a different database table. ### isNameField - **Type**: boolean - **Description**: True if this value type field is a fullName field; otherwise False. ### minOccurs - **Type**: int - **Description**: 1 if this field is required, 0 otherwise. ### name - **Type**: string - **Description**: The name of this value type field. The name is null for parent fields. ### picklistValues - **Type**: [PicklistEntry](#describepicklistentry)\[\] - **Description**: The individual picklist values if the field is a picklist. ### soapType - **Type**: string - **Description**: The data type of the field, such as boolean or double. ### valueRequired - **Type**: boolean - **Description**: Required. Indicates whether this value type field must have a value (true) or can be null (false). ## PicklistEntry This object is returned as part of the DescribeValueTypeResult and represents the metadata for one picklist value. Each PicklistEntry has these properties. ### active - **Type**: boolean - **Description**: True if the picklist value is active and displayed in the drop-down list for the picklist field in the user interface. False if the picklist value is inactive. ### defaultValue - **Type**: boolean - **Description**: True if the picklist value is a default value, otherwise, False. ### label - **Type**: string - **Description**: Display name of this item in the picklist. ### validFor - **Type**: string ### value - **Type**: string - **Description**: Value of this item in the picklist. # Development Platforms Metadata API supports both file-based and CRUD-based development. ## File-Based Development The declarative or file-based asynchronous Metadata API [deploy()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_deploy.htm "Uses file representations of components to create, update, or delete those components in a Salesforce org.") and [retrieve()](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_retrieve.htm "The retrieve() call retrieves XML file representations of components in an organization.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based.htm). The easiest way to access the file-based functionality is to use the Salesforce Extensions for Visual Studio Code or Salesforce CLI. ## CRUD-Based Development The [CRUD Metadata API calls](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_crud_based_calls_intro.htm "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.") 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api.meta/api/ "HTML (New Window)"). # DevHubSettings Represents Dev Hub settings. ## Parent Type and Manifest Access This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. In the package manifest, all org settings metadata types are accessed using the Settings name. See [Settings](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_settings.htm "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.") for more details. ## 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
    Field Name Field Type Description
    enableALMDevopsCorePref  boolean Indicates whether the Lifecycle Center is enabled: true or false. When enabled, you can access the AI-powered, Lifecycle Center for change and release management in the org.

    Available in API version 65.0 and later.

    enableDevOpsCenterGA boolean Indicates whether DevOps Center managed package is enabled: true or false. When enabled, you can install and use the generally available (GA) DevOps Center package in the org. This is an older version of Lifecycle Center.

    Available in API version 56.0 and later.

    enableALMSimpleDeployDataPref boolean Indicates whether configuration data migration to a target org is enabled: true or false. When enabled, you can migrate configuration data from a Salesforce org to a target org.

    To enable enableALMSimpleDeployDataPref, first enable enableALMSimpleDeployPref.

    Available in API version 65.0 and later.

    enableALMSimpleDeployPref boolean Indicates whether metadata deployment to a target org is enabled: true or false. When enabled, you can deploy the metadata from a Salesforce org to a target org.

    Available in API version 65.0 and later.

    enableDevopsCenterMigrationPref boolean Indicates whether migration from the DevOps Center managed package to the Lifecycle Center is enabled: true or false. When enabled, you can migrate projects from the DevOps Center managed package to the Lifecycle Center in the org.

    Available in API version 67.0 and later.

    Note

    Note

    enableDevopsCenterMigrationPref is available as a developer preview. Feature isn’t 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.

    enablePackaging2 boolean Indicates whether unlocked and second-generation managed packaging is enabled: true or false.

    To enable enablePackaging2, first enable enableScratchOrgManagementPref.

    enableScratchOrgManagementPref boolean Indicates whether Dev Hub is enabled: true or false. When enabled, a Dev Hub allows you to create and manage scratch orgs.
    enableScratchOrgSnapshotPref boolean Indicates whether Scratch Org Snapshots is enabled: true or false. When enabled, you can create snapshots of a fully configured scratch 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.

    enableShapeExportPref boolean 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.

    ## Declarative Metadata Sample Definition The following is an example of a DevHubSettings component. true true ## Wildcard Support in the Manifest File The wildcard character \* (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see [Settings](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_settings.htm). For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # DgtAssetMgmtProvider Represents external content providers, such as digital asset management (DAM) systems, that integrate with Salesforce CMS. When combined with the DgtAssetMgmtPrvdLghtCpnt type, this metadata type enables organizations to configure external content systems as content providers within the Salesforce platform. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. ## File Suffix and Directory Location DgtAssetMgmtProvider components have the suffix .dgtAssetMgmtProvider and are stored in the dgtAssetMgmtProviders folder. ## Version DgtAssetMgmtProvider components are available in API version 65.0 and later. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | icon | Field Type string Description Stores a reference to the icon resource (typically a Lightning icon or custom image) that visually represents the external content provider in the user interface. | | label | Field Type string Description Required. Specifies the display label for the external content provider that users see when they select or view the provider. | | masterLabel | Field Type string Description Required. Specifies the primary identifier for the provider in metadata contexts and localization. | ## Declarative Metadata Sample Definition The following is an example of a DgtAssetMgmtProvider component. My icon My text My text The following is an example package.xml that references the previous definition. \* DgtAssetMgmtProvider 65.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # DgtAssetMgmtPrvdLghtCpnt Represents the Lightning web component configurations for external content providers, such as digital asset management (DAM) systems. This metadata type enables the integration of external content systems with Salesforce CMS using custom Lightning web components. ![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png) #### 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm) metadata type and inherits its fullName field. ## File Suffix and Directory Location DgtAssetMgmtPrvdLghtCpnt components have the suffix .dgtAssetMgmtPrvdLghtCpnt and are stored in the dgtAssetMgmtPrvdLghtCpnts folder. ## Version DgtAssetMgmtPrvdLghtCpnt components are available in API version 65.0 and later. ## Special Access Rules There are no additional access requirements that are specific to this type. ## Fields | Field Name | Description | | --- | --- | | dgtAssetMgmtProvider | Field Type string Description Required. References the external content provider, represented by the [DgtAssetMgmtProvider](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_dgtassetmgmtprovider.htm "Represents external content providers, such as digital asset management (DAM) systems, that integrate with Salesforce CMS. When combined with the DgtAssetMgmtPrvdLghtCpnt type, this metadata type enables organizations to configure external content systems as content providers within the Salesforce platform.") type, that this Lightning web component configuration supports. | | lightningComponentBundle | Field Type string Description References the Lightning web component, represented by the [LightningComponentBundle](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_lightningcomponentbundle.htm "Represents a Lightning web component bundle. A bundle contains Lightning web component resources.") type, that implements the user interface for the external content provider in Salesforce CMS. The LightningComponentBundle must be deployed and available before you reference it. | | masterLabel | Field Type string Description Required. Specifies the display name of the Lightning web component configuration as it appears in the UI. | | type | Field Type DgtAssetMgmtPrvdLghtCpntType (enumeration of type string) Description Required. Specifies the type of external content provider Lightning web component that’s being configured. Possible values are: - DIGITAL\_ASSET\_MANAGER: Represents a component that provides full management capabilities for external content providers, including browsing, searching, and selecting. - NONE: Represents an undefined or default provider type. Indicates that no specific provider type is assigned. | ## Declarative Metadata Sample Definition The following is an example of a DgtAssetMgmtPrvdLghtCpnt component. External Content Provider myLightningComponentBundle myComponent DIGITAL\_ASSET\_MANAGER The following is an example package.xml that references the previous definition. \* DgtAssetMgmtPrvdLghtCpnt 65.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # DigitalExperienceBundle Represents a text-based code structure of your organization’s workspaces, organized by workspace type, and each workspace’s content items. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperienceconfig.htm "Represents details for your organization’s workspaces, such as the site label, site URL path prefix, and workspace type.") metadata type. For Salesforce CMS, a collection of related content items contained in a general workspace. For Marketing Cloud, a collection of related content items contained in a marketing or general workspace. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note The maximum length for a workspace name is 80 characters. - 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 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, marketing, and general are the 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 are stored under a content type folder called sfdc\_cms\_\_form. - 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. Here’s an example of the DigitalExperienceBundle structure. ![DigitalExperienceBundle folder structure](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/DigitalExperienceBundle.png) When retrieved, 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. 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 site’s 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 example, marketing workspaces support landing pages, forms, emails, and referenced images and branding. 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 item’s parent-child relationships, to move the content item from one parent to another, or to remove a parent-child relationship entirely. - A content.json file that contains the primary version of the content item. Each content.json file includes values for the content item’s type, title, and content body. Use this file to edit the content’s 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. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Before you deploy the DigitalExperienceBundle in a target org, make sure that any translated variants of content in the target org are also in the source org. If the target org contains a JSON file for a translated variant that isn’t in the source org, deploying the DigitalExperienceBundle fails. The \_meta.json file contains several properties: | Property | Description | | --- | --- | | apiName | Field Type string 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 can’t contain two views named “home”. | | parent | Field Type string Description The developer name of the content item’s parent. If the content item doesn’t have a parent, then either the parent value is blank or the parent property isn’t displayed at all. | | path | Field Type string Description The location of the content item within the workspace’s folder structure. The value is blank for content types at the root level, such as appPage and site. | | type | Field Type string 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. | ## Version DigitalExperienceBundle components are available in API version 56.0 and later. ## Special Access Rules In Experience Cloud, you can use DigitalExperienceBundle for enhanced LWR sites created in Winter ’23 or later. For Aura sites and other LWR sites, use the [ExperienceBundle](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_experiencebundle.htm "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.") (recommended) or the [SiteDotCom](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_sitedotcom.htm "Represents a site for deployment.") metadata types. Packaging is unsupported for enhanced LWR sites. In Salesforce CMS and in Marketing Cloud, you must have a contributor role in a workspace to retrieve it. For Marketing Cloud, you can package the content of general and marketing workspaces, including landing pages, forms, and emails (and their associated images and branding). ## Fields | Field Name | Description | | --- | --- | | description | Field Type string Description Contains the description of the workspace. For site workspaces, this value is empty. | | digitalExperienceFolderShares | Field Type [DigitalExperienceFolderShare\[\]](#DigitalExperienceFolderShare) 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. | | label | Field Type string Description Required. A user-friendly name for DigitalExperienceBundle, which is defined when the DigitalExperienceBundle is created. | | spaceResources | Field Type [DigitalExperience\[\]](#DigitalExperience) Description The list of resources in this DigitalExperienceBundle. Each resource represents a content type, such as views, routes, themes, and languageSettings. | ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_metadatawithcontent.htm "MetadataWithContent is the base type for all metadata types that contain content, such as documents or email templates. It extends Metadata. You can’t edit this object.") 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. | Field Name | Description | | --- | --- | | fileName | Field Type string Description Required. Name of the resource file. | | filePath | Field Type string Description Path to the file within the artifact folder. | | format | Field Type string Description Required. Only JSON is allowed. | ## DigitalExperienceFolderShare Represents a folder in a source marketing workspace that’s shared with other target marketing workspaces. Available in API version 61.0 and later. | Field Name | Description | | --- | --- | | folderPath | Field Type string Description The root folder of the shared workspace. The allowed value is \_root. | | sharedWith | Field Type [SharedWith\[\]](#SharedWith) Description The list of target workspaces that the source workspace is shared with. | ## SharedWith Represents a target marketing workspace that the source marketing workspace is shared with. Available in API version 61.0 and later. | Field Name | Description | | --- | --- | | fullyQualifiedName | Field Type string Description The target workspace that the source workspace is shared with. It uses the format workspace\_type/target\_workspace\_name. For example, marketing/Workspace2. | ## Declarative Metadata Sample Definition The following is an example of a DigitalExperienceBundle component. content isv1 The following is an example package.xml that references the previous definition. site/isv1 DigitalExperienceBundle 56.0 ## Usage ![Tip](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_tip.png) #### Tip Before you update the JSON files of an Experience Builder site, we recommend making a copy of the site’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). - **[DigitalExperienceBundle: Marketing Workspace Bundle and Folders](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle_marketing.htm)** DigitalExperienceBundle uses the marketing workspace type to organize content items used in marketing campaigns in a content-focused, text-based code structure. - **[DigitalExperienceBundle: Site Workspace Bundle and Folders](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle_site.htm)** DigitalExperienceBundle uses the site workspace type to organize data for enhanced LWR sites in a content-focused, text-based code structure. # DigitalExperienceBundle: Marketing Workspace Bundle and Folders DigitalExperienceBundle uses the marketing workspace type to organize content items used in marketing campaigns in a content-focused, text-based code structure. For Marketing Cloud, the marketing folder contains one or more workspace folders, each representing an individual marketing workspace. Each workspace folder contains a collection of related content items, such as landing pages, forms, and emails, and their associated images and branding. The folder for each marketing workspace includes content type folders, content item subfolders, and associated data that's contained in content.json and \_meta.json files. ![Marketing workspace type folder structure](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/DigitalExperienceBundle_marketing.png) The following content type folders represent the content types that are supported in a marketing workspace. For example, forms for a marketing workspace are stored under a content type folder called sfdc\_cms\_\_form. - [sfdc\_cms\_\_brand Folder](#brand_folder) - [sfdc\_cms\_\_brandSettings Folder](#brandSettings_folder) - [sfdc\_cms\_\_email Folder](#email_folder) - [sfdc\_cms\_\_form Folder](#form_folder) - [sfdc\_cms\_\_image Folder](#image_folder) - [sfdc\_cms\_\_landingPage Folder](#landingpage_folder) - [sfdc\_cms\_\_languageSettings Folder](#language_folder) ## sfdc\_cms\_\_brand Folder This content type folder contains one content subfolder per brand. Each content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json { "type" : "sfdc\_cms\_\_brand", "title" : "brand 1", "contentBody" : { "baseFontFamily" : "{!$brand.fontFamily.arial}", "baseFontSize" : { "unit" : "px", "value" : 16.0 }, "borderRadius" : { "round" : { "unit" : "rem", "value" : 0.25 }, "square" : { "unit" : "rem", "value" : 0.0 } }, "borderWeight" : { "medium" : { "unit" : "rem", "value" : 0.125 }, "none" : { "unit" : "rem", "value" : 0.0 }, ... }, "buttonStyleGroup" : { "primary" : { "lightning:borderRadius" : "{!$brand.borderRadius.round}", "lightning:borderWidth" : "{!$brand.borderWeight.thin}", "lightning:buttonColorGroup" : { "backgroundColor" : "{!$brand.colorScheme.primaryAccent}", "backgroundHoverColor" : "{!$brand.colorScheme.primaryAccentDerived}", "borderColor" : "{!$brand.colorScheme.primaryAccent}", "borderHoverColor" : "{!$brand.colorScheme.primaryAccentDerived}", "textColor" : "{!$brand.colorScheme.primaryAccentContrast}", "textHoverColor" : "{!$brand.colorScheme.primaryAccentContrastDerived}" }, "lightning:padding" : { "bottom" : { "unit" : "rem", "value" : 0.5 }, ... }, "lightning:typography" : "{!$brand.typography.button.button1}" }, "secondary" : {...}, "tertiary" : {...} }, "colorScheme" : { "contrast" : "#000000", "neutral" : "#747474", "primaryAccent" : "#99F077", "primaryAccentContrast" : "#ffffff", "primaryAccentContrastDerived" : "#000000", "primaryAccentDerived" : "#7fd65f", "root" : "#ffffff" }, "fontFamily" : { "arial" : { "category" : "sans-serif", "fallbacks" : \[ "Helvetica" \], "name" : "Arial" }, "arialBlack" : { "category" : "sans-serif", "fallbacks" : \[ "Gadget" \], "name" : "Arial Black" }, ... }, "fontSize" : { "large" : { "unit" : "rem", "value" : 1.125 }, "medium" : { "unit" : "rem", "value" : 1.0 }, ... }, "spacing" : { "large" : { "bottom" : { "unit" : "rem", "value" : 1.5 }, "left" : { "unit" : "rem", "value" : 1.5 }, "right" : { "unit" : "rem", "value" : 1.5 }, "top" : { "unit" : "rem", "value" : 1.5 } }, ... }, "typography" : { "button" : { "button1" : { "fontFamily" : "{!$brand.baseFontFamily}", "fontSize" : "{!$brand.fontSize.medium}", "fontWeight" : "{!$brand.fontWeight.normal}", "letterSpacing" : "normal", "lineHeight" : 1.5, "textTransform" : "none" } }, ... }, ... "lightning:dataProviders" : \[ \], "sfdc\_cms:einsteinBrandProperties" : { "personality" : { "defaultPersonality" : "professional" } }, "sfdc\_cms:variants" : \[ \] }, "urlName" : "brand-1", "sfdc\_cms:title" : "brand 1", } ## sfdc\_cms\_\_brandSettings Folder This content type folder contains one content subfolder called brandSettings. The brandSettings content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json { "type" : "sfdc\_cms\_\_brandSettings", "title" : "Brand Settings", "contentBody" : { "defaultBrand" : "brand3" }, "urlName" : "brand-settings" } ## sfdc\_cms\_\_email Folder This content type folder contains one content subfolder per email. Each content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note In marketing workspaces, the default data graph, personalization recommenders, personalization points, and decisions aren't included in the bundle. If the workspace includes emails with personalized content that’s based on these objects, then: - Any merge field or repeater that uses the default data graph or a personalization recommender from the source org is broken in the target org. - Any dynamic content variations of email components are removed and only the default variations appear in the email. /content.json { "type" : "sfdc\_cms\_\_email", "title" : "Email\_marketingSpaceA", "contentBody" : { "backgroundColor" : "#f3f3f3", "lightning:brandSource" : { "defaultBrandOption" : "sfdcBrand" }, "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:dataProviders" : \[ { "attributes" : { "objectApiName" : "UnifiedIndividual\_\_dlm" }, "definition" : "sfdc\_cms\_\_unifiedIndividualDataProvider", "sfdcExpressionKey" : "unifiedIndividual" } \], "lightning:padding" : "{!$brand.spacing.none}", "messagePurpose" : "promotional", "sfdc\_cms:block" : { "definition" : "sfdc\_cms/rootContentBlock", "id" : "6458e24b-c1a8-4f7d-b6f0-3659c092f1c3", "type" : "block", "children" : \[ { "attributes" : { "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "stackOnMobile" : true, "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/section", "id" : "b61c4d08-7985-41f2-a38c-7f8338e56e00", "type" : "block", "children" : \[ { "attributes" : { "columnWidth" : 12.0, "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "lightning:verticalAlignment" : "top", "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/column", "id" : "778d9976-82ec-49aa-a3de-ac6485332434", "type" : "block", "children" : \[ \] } \] } \] }, "sfdc\_cms:title" : "Email\_marketingSpaceA", "subjectLine" : "Email\_marketingSpaceA subject{!$organization.Address}", "lightning:expressions" : \[ \], "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" }, "sfdc\_cms:variants" : \[ \] }, "urlName" : "email-mk1" } ## sfdc\_cms\_\_form Folder This content type folder contains one content subfolder per form. Each content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json { "type" : "sfdc\_cms\_\_form", "title" : "Form1\_mk1", "contentBody" : { "lightning:brandSource" : { "defaultBrandOption" : "sfdcBrand" }, "lightning:dataProviders" : \[ { "attributes" : { "objectApiName" : "Account", "recordTypeId" : "012000000000000AAA" }, "definition" : "sfdc\_cms\_\_recordDataProvider", "sfdcExpressionKey" : "Flow1" } \], "sfdc\_cms:block" : { "definition" : "sfdc\_cms/rootContentBlock", "id" : "fef7b2b0-5ddf-4f0e-b0d5-cdbc77a897e9", "type" : "block", "children" : \[ { "attributes" : { "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "stackOnMobile" : true, "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/section", "id" : "43dc4273-47e2-43ad-9e64-f0862eb0fcdf", "type" : "block", "children" : \[ { "attributes" : { "columnWidth" : 12.0, "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "lightning:verticalAlignment" : "top", "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/column", "id" : "95fc1b5c-481d-4d32-bd03-fec0a4d7aaa0", "type" : "block", "children" : \[ { "attributes" : { "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:formInputColorGroup" : { "backgroundColor" : "{!$brand.colorScheme.root}", "borderColor" : "{!$brand.colorScheme.neutral}", "textColor" : "{!$brand.colorScheme.contrast}" }, "lightning:horizontalAlignment" : "left", "lightning:inputTypography" : "{!$brand.typography.input.input1}", "lightning:labelTypography" : "{!$brand.typography.label.label1}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.none}", "maxLength" : 255.0, "sfdc\_cms:fieldReference" : "{!Flow1.Name}", "sfdc\_cms:formInputLabelProperty" : "Account Name", "sfdc\_cms:formInputNameProperty" : "Name", "sfdc\_cms:formInputRequiredProperty" : true, "width" : "auto" }, "definition" : "lightning/inputText", "id" : "6aac0596-26c6-457a-9a9a-cc43ba622739", "type" : "block" } \] } \] }, { "attributes" : { "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "stackOnMobile" : true, "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/section", "id" : "7fe6298e-8c83-4dac-9596-02c629fdc519", "type" : "block", "children" : \[ { "attributes" : { "columnWidth" : 12.0, "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "lightning:verticalAlignment" : "top", "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/column", "id" : "976bff41-3fa9-4d04-aaf8-3590cb87909f", "type" : "block", "children" : \[ { "attributes" : { "lightning:borderRadius" : "{!$brand.buttonStyleGroup.primary.lightning:borderRadius}", "lightning:borderWidth" : "{!$brand.buttonStyleGroup.primary.lightning:borderWidth}", "lightning:buttonColorGroup" : "{!$brand.buttonStyleGroup.primary.lightning:buttonColorGroup}", "lightning:horizontalAlignment" : "center", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.buttonStyleGroup.primary.lightning:padding}", "lightning:typography" : "{!$brand.buttonStyleGroup.primary.lightning:typography}", "sfdc\_cms:styleGroup" : "{!$brand.buttonStyleGroup.primary}", "text" : "Submit", "width" : "auto", "lightning:click" : { "actions" : \[ { "definition" : "sfdc\_cms/customEventAction", "attributes" : { "type" : "formsubmit", "options" : { "bubbles" : true } } } \] } }, "definition" : "lightning/actionButton", "id" : "84c67ba2-fffc-46d1-80af-35e66ae85ef3", "type" : "block" } \] } \] } \] }, "sfdc\_cms:title" : "Form1\_mk1", "formsubmission" : { "actions" : \[ { "definition" : "sfdc\_cms/umaFormSubmissionAction", "attributes" : { "formId" : "{!$form.id}", "pageReferenceId" : "{!$page.id}", "formData" : "{!$form.fields}" } }, { "definition" : "sfdc\_cms/showThankYouAction", "attributes" : { "message" : "Thank you for your submission." } } \] } }, "urlName" : "form1-mk1" } ## sfdc\_cms\_\_image Folder This content type folder contains one content subfolder per image. Each content subfolder contains two or more JSON files and a \_media subfolder that contains the image file. - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json { "type" : "sfdc\_cms\_\_image", "title" : "Img1\_mk1", "contentBody" : { "sfdc\_cms:media" : { "source" : { "mimeType" : "image/png", "ref" : "0sNSB000001rKsr2AE", "type" : "file", "size" : 538158 } } }, "urlName" : "img1-mk1" } ## sfdc\_cms\_\_landingPage Folder This content type folder contains one content subfolder per landing page. Each content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json { "type" : "sfdc\_cms\_\_landingPage", "title" : "LandingPageA\_marketingSpaceA", "contentBody" : { "lightning:brandSource" : { "defaultBrandOption" : "sfdcBrand" }, "sfdc\_cms:block" : { "definition" : "sfdc\_cms/rootContentBlock", "id" : "ac065643-646a-4b1e-b5ed-7eeeed90d0d3", "type" : "block", "children" : \[ { "attributes" : { "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "stackOnMobile" : true, "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/section", "id" : "f6371eda-aafc-4164-a18f-284e49071b76", "type" : "block", "children" : \[ { "attributes" : { "columnWidth" : 12.0, "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorScheme" : "{!$brand.colorScheme}", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.xSmall}", "lightning:verticalAlignment" : "top", "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "definition" : "lightning/column", "id" : "db82b936-f2d8-4d47-b373-71dff7fc1f1d", "type" : "block", "children" : \[ { "attributes" : { "imageFitConfig" : { "width" : { "unit" : "%", "value" : 100.0 } }, "imageInfo" : { "altText" : "", "overrideAltText" : false, "source" : { "ref" : "Img1\_mk1", "type" : "imageReference" }, "url" : "/cms/media/MCWJDAQWY2HREBRENINOZIKNNVNM" }, "lightning:borderRadius" : "{!$brand.borderRadius.square}", "lightning:borderWidth" : "{!$brand.borderWeight.none}", "lightning:colorGroup" : { "backgroundColor" : "{!$brand.colorScheme.root}", "borderColor" : "{!$brand.colorScheme.neutral}", "linkColor" : "{!$brand.colorScheme.primaryAccent}", "textColor" : "{!$brand.colorScheme.contrast}" }, "lightning:horizontalAlignment" : "center", "lightning:margin" : "{!$brand.spacing.none}", "lightning:padding" : "{!$brand.spacing.none}", "lightning:typography" : "{!$brand.typography.paragraph.paragraph1}" }, "definition" : "lightning/image", "id" : "6775db07-8343-420c-918a-0d91c193902d", "type" : "block" } \] } \] } \] }, "sfdc\_cms:seoProperties" : { "isIndexed" : false, "title" : "LandingPageA\_marketingSpaceA" }, "sfdc\_cms:title" : "LandingPageA\_marketingSpaceA", "lightning:dataProviders" : \[ \], "lightning:backgroundImage" : { "repeat" : "no-repeat", "position" : "center center", "size" : "cover" } }, "urlName" : "lp1-mk1" } ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json { "type" : "sfdc\_cms\_\_languageSettings", "title" : "LanguageContent", "contentBody" : { "languages" : \[ { "locale" : "en\_US", "label" : "English (US)", "isActive" : true, "isAuthoringOnly" : false } \], "defaultLocale" : "en\_US" }, "urlName" : "languagecontent" } # DigitalExperienceBundle: Site Workspace Bundle and Folders DigitalExperienceBundle uses the site workspace type to organize data for enhanced LWR sites in a content-focused, text-based code structure. The site folder contains one or more workspace folders, each representing the workspace for an individual enhanced LWR site. Each workspace folder contains a collection of related content items, such as settings and site components, that form the site when combined with data from the [DigitalExperienceConfig](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperienceconfig.htm "Represents details for your organization’s workspaces, such as the site label, site URL path prefix, and workspace type.") metadata type. The workspace folder for each site includes content type folders, content item subfolders, and associated data that's contained in content.json and \_meta.json files. ![Site workspace type folder structure](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/dev_guides/api_meta/images/DigitalExperienceBundle_site.png) The following content type folders represent the content types that are supported in an enhanced LWR site. For example, all routes in an enhanced LWR site are stored under the sfdc\_cms\_\_route content type folder. - [sfdc\_cms\_\_appPage Folder](#apppage_folder_section) - [sfdc\_cms\_\_brandingSet Folder](#brandingset_folder_section) - [sfdc\_cms\_\_languageSettings Folder](#languagesettings_folder_section) - [sfdc\_cms\_\_route Folder](#route_folder_section) - [sfdc\_cms\_\_site Folder](#site_folder_section) - [sfdc\_cms\_\_theme Folder](#theme_folder_section) - [sfdc\_cms\_\_themeLayout Folder](#themelayout_folder_section) - [sfdc\_cms\_\_view Folder](#view_folder_section) ## sfdc\_cms\_\_appPage Folder This content type folder exists at the root level and contains one content subfolder that represents the site’s 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json | Property | Description | | --- | --- | | currentThemeId | Field Type content link Description Represents the apiName of the site’s active theme. | | headMarkup | Field Type string Description Allows the addition of custom markup to the site's main page tag. Similar to using **Experience Builder** | **Setting** | **Advanced** | **Head Markup**. See [Salesforce Help for markup guidance](https://help.salesforce.com/s/articleView?id=experience.community_builder_page_head.htm&type=5&language=en_US "HTML (New Window)"). | | isLockerServiceEnabled | Field Type boolean Description Indicates whether Lightning Locker is enabled (true) or not (false). The default value is true. | | isRelaxedCSPLevel | Field Type boolean 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](https://help.salesforce.com/s/articleView?id=experience.networks_security_csp_scriptlevel.htm&type=5&language=en_US "HTML (New Window)"). | | templateName | Field Type string Description Required. The unique developer name of the template. Valid values are: - talon-template-byo—Represents the Build Your Own (LWR) template - microsite-template-marketing—Represents the Microsite template | | title | Field Type string Description Required. Represents the label of the appPage. | | type | Field Type string Description Required. 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" : "\\n\\nWelcome to LWC Communities!\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n", "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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json | Property | Description | | --- | --- | | brandingSetType | Field Type [enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string Description Represents whether the color palette stored in the branding set is for the entire site or a specific section. You can’t change one branding set type to another. Valid values are: - APP—The branding set applies to the entire site. There can be only one branding set of this type. - SCOPED—A SCOPED branding set can be applied only to a section component. | | definitionName | Field Type string Description Required. Represents the name for the branding set used in the site or template’s 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 | | title | Field Type string Description Required. Represents the label of the brandingSet content item. The maximum length is 100 characters. The title must be unique within the space’s brandingSet content items. | | type | Field Type string Description Required. Represents the content type. The only supported value is sfdc\_cms\_\_brandingSet. | | values | Field Type object (map) 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", "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)", "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", "\_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", "\_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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json | Property | Description | | --- | --- | | defaultLocale | Field Type string Description Represents the default locale for a workspace. The language listed here is the default fallback language for all of the workspace’s languageTypes. | | languages | Field Type languageType\[\] Description Required. Represents the languages available in the space. Each languageType contains values related to that particular language. | | languageType.fallbacklocale | Field Type string 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 there’s no content 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 workspace’s 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 workspace’s default locale. | | languageType.isActive | Field Type boolean Description Indicates whether the language is active (true) or inactive (false). The only supported value is true. | | languageType.isAuthoringOnly | Field Type boolean 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 aren’t visible to site visitors. When set to false, site visitors can see the languageType and its associated translations. | | languageType.label | Field Type string 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. The default value is the locale name. For example, if languageType.locale\=fr, then languageType.label\=French. | | languageType.locale | Field Type string 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. | | title | Field Type string Description Required. Represents the label of the content item. | | type | Field Type string Description Required. 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" } } ## sfdc\_cms\_\_route Folder This content type folder contains one content subfolder for each of the site’s routes. Each route content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json | Property | Description | | --- | --- | | activeViewId | Field Type content link Description Required. Represents the apiName of the route’s active view. Must reference an existing view in the same workspace. | | configurationTags | Field Type string\[\] Description Represents the configuration tags for the route. The only allowed value is all-in-static-site. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note Don’t edit this property, because it’s an internal property. | | pageAccess | Field Type [enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string 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 isn’t editable from the user interface for routes that are always private. Valid values are: - UseParent - Public - RequiresLogin ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note You can change the pageAccess value only if the site is authenticated. | | routeType | Field Type string Description Required. Identifies the type of route. The routeType value must be unique within a workspace. This value must match the [viewType](#view_folder_section) value in the corresponding view content item. | | title | Field Type string Description Required. Represents the label of the route. | | type | Field Type string Description Required. Represents the content type. The only supported value is sfdc\_cms\_\_route. | | urlPrefix | Field Type string 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: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json | Property | Description | | --- | --- | | AppContainer | Field Type boolean Description Valid only for external React apps. When set to true, indicates that the site is used in a React app. Available in API version 66.0 and later. | | AppSpace | Field Type string Description Valid only for external React apps. Refers to the related React app. Uses the format NamespacePrefix\_\_DeveloperName (for example, MyNamespace\_\_MyWebApp or c\_\_MyWebApp for orgs without a registered namespace). Available in API version 66.0 and later. | | authenticationType | Field Type [enumeration](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_objects_intro.htm#enumeration_title) of type string Description Required. Indicates whether guest users have access to the site. Valid values are: - AUTHENTICATED—The site isn’t 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 doesn’t support login or authentication. UNAUTHENTICATED is a legacy value. We recommend using AUTHENTICATED\_WITH\_PUBLIC\_ACCESS\_ENABLED access to allow guest user access. | | title | Field Type string Description Required. Represents the label of the content item. | | type | Field Type string Description Required. Represents the content type. The only allowed value is sfdc\_cms\_\_site. | { "type" : "sfdc\_cms\_\_site", "title" : "Capricorn\_Coffee", "contentBody" : { "authenticationType" : "AUTHENTICATED" } } ## sfdc\_cms\_\_theme Folder This content type folder contains one content subfolder, representing the site’s theme. The content subfolder contains two or more JSON files: - [\_meta.json](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item /content.json | Property | Description | | --- | --- | | activeBrandingSetId | Field Type content link Description Required. Represents the apiName of the site’s active branding set. Must reference an existing brandingSet with a type of APP in the same workspace. | | definitionName | Field Type string Description Required. Represents the definition name of a theme. Must match the template’s theme definition name. | | layouts | Field Type layout\[\] 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. | | layouts.layoutId | Field Type content link Description Required. Represents the apiName of an available theme layout. Must refer to an existing theme layout in the same workspace. | | layouts.layoutType | Field Type string 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 site’s pages except for login pages. | | title | Field Type string Description Required. Represents the name of the theme. | | type | Field Type string 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" } \] } } ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - content.json - If applicable, additional JSON files that represent variations of the content item ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note We recommend that you don’t 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 you’re working on. If the region that you’re modifying has a lock icon next to it, it’s a locked region. /content.json | Property | Description | | --- | --- | | children | Field Type regionType\[\] Description Represents individual regions within a layout. | | component | Field Type componentType Description Required. Contains the layout details for this theme layout in regions and components. | | componentType.attributes | Field Type map Description A map of design attribute values used by the component definition to render the definition. | | componentType.attributes.dxpStyle | Field Type map 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. | | componentType.children | Field Type regionType\[\] Description Represents regions within a component. | | componentType.definition | Field Type string 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](https://developer.salesforce.com/docs/atlas.en-us.264.0.exp_cloud_lwr.meta/exp_cloud_lwr/get_started_layout.htm "HTML (New Window)"). 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. | | componentType.id | Field Type UUID Description Required. Represents the UUID of a component. | | componentType.scopedBrandingSetId | Field Type content link Description Represents the brandingSet that applies to this component. The brandingSet must be of type SCOPED. This property is applicable only if the component’s definitionName is community\_layout:section. | | componentType.customCssClasses | Field Type string 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. | | componentType.title | Field Type string Description Represents a component variation name. Available in API version 59.0 and later. | | componentType.type | Field Type string Description Required. Allowed values are: - component - mutationComponent | | componentType.variations | Field Type componentType\[\] Description Represents a component variation within a component. Available in API version 59.0 and later. | | componentVariationType.rule | Field Type rule type Description A visibility rule associated with a component variation. Available in API version 59.0 and later. | | componentVariationType.variationId | Field Type string Description The unique ID of a component variation. Available in API version 59.0 and later. | | contentOperations | Field Type contentOperationType Description A content operation of the variation or visibility type. | | contentOperationsType.operations | Field Type operationsType\[\] Description Component visibility operation. | | expressionCriteriaType.criterionNumber | Field Type integer Description The sequence number of an expression criteria. Available in API version 59.0 and later. | | expressionCriteriaType.operator | Field Type string 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 | | expressionCriteriaType.resource | Field Type string Description The resource of the criteria or condition in a visibility rule. | | expressionCriteriaType.value | Field Type object Description The value of the criteria or condition in a visibility rule. The value can be number, boolean, or string. | | operationsType.isActive | Field Type boolean Description When true, the visibility operation is active. | | operationsType.isHiddenOnOperationSuccess | Field Type boolean Description When true, the component is hidden when the operation is successful. | | operationsType.rule | Field Type RuleType Description The component visibility rule. | | operationsType.ruleToVariationList | Field Type componentVariationType\[\] 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. | | operationsType.targetId | Field Type string Description The component ID where the visibility rule is applied. | | regionType.children | Field Type componentType\[\] Description Represents individual components within the region. | | regionType.id | Field Type UUID Description Required. Represents the UUID of a region. | | regionType.name | Field Type string Description Required. Represents the name of the region. | | regionType.title | Field Type string Description Represents the label for a region. | | regionType.type | Field Type string Description Required. region is the only allowed value. | | regionType.variations | Field Type componentType\[\] Description Represents a component variation within a region. Available in API version 59.0 and later. | | ruleType.criteriaType | Field Type string Description The condition or criteria type of the rule. Allowed values include AllCriteriaMatch and AnyCriterionMatches. | | ruleType.customFormula | Field Type string Description A custom formula created from expression criteria for a visibility rule. Available in API version 59.0 and later. | | ruleType.description | Field Type string Description The description of a visibility rule. | | ruleType.expressionCriteria | Field Type expressionCriteriaType\[\] Description The expression criteria of a visibility rule. | | ruleType.name | Field Type string Description The name of a visibility rule. | | title | Field Type string Description Required. Represents the label of the content item. | | type | Field Type string 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": "

    Start Building Your Page

    Drag and drop a component into the content slots.
    " }, "variations": \[ { "id": "5d700461-4c2a-4930-98e5-366ec2a4d41e", "title": "Variation Country USA", "type": "mutationComponent", "definition": "community\_builder:htmlEditor", "attributes": { "richTextValue": "

    Start Building Your Page

    Drag and drop a component into the content slots.
    " } } \] } \] }, { "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 }, { "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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_digitalexperiencebundle.htm#meta_json_description) - 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 can’t 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](https://help.salesforce.com/s/articleView?id=experience.networks_seo_tags.htm&type=5&language=en_US "HTML (New Window)"). ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note We recommend that you don’t 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 you’re working on. If the region that you’re modifying has a lock icon next to it, it’s a locked region. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### Note If there are specific style overrides for mobile or tablet views in the target org, make sure that these overrides are also present in the source org. If the target org contains mobile or tablet JSON files within the mobile or tablet folders that aren’t present in the source org, deploying the DigitalExperienceBundle fails. /content.json | Property | Description | | --- | --- | | children | Field Type regionType\[\] Description Represents individual regions within a view. | | component | Field Type componentType Description Required. Represents the view layout and contains regions and components that help render a view. | | componentType.attributes | Field Type map Description A map of design attribute values used by the component definition to render the definition. | | componentType.attributes.dxpStyle | Field Type map 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. | | componentType.children | Field Type regionType\[\] Description Represents regions within a component. | | componentType.definition | Field Type string Description Required. Represents the name of the Lightning Web Component (LWC) in the format namespace:componentName. | | componentType.id | Field Type UUID Description Required. Represents the UUID of a component. | | componentType.scopedBrandingSetId | Field Type content link Description Represents the brandingSet that applies to this component. The brandingSet must be of type SCOPED. This property is applicable only if the component’s definitionName is community\_layout:section. | | componentType.customCssClasses | Field Type string 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. | | componentType.title | Field Type string Description Represents a component variation name. Available in API version 59.0 and later. | | componentType.type | Field Type string Description Required. Allowed values are: - component - mutationComponent | | componentType.variations | Field Type componentType\[\] Description Represents a component variation within a component. Available in API version 59.0 and later. | | componentVariationType.rule | Field Type rule type Description A visibility rule associated with a component variation. Available in API version 59.0 and later. | | componentVariationType.variationId | Field Type string Description The unique ID of a component variation. Available in API version 59.0 and later. | | contentOperations | Field Type contentOperationType Description A content operation of the variation or visibility type. | | expressionCriteriaType.criterionNumber | Field Type integer Description The sequence number of an expression criteria. Available in API version 59.0 and later. | | contentOperationsType.operations | Field Type operationsType\[\] Description Component visibility operation. | | expressionCriteriaType.operator | Field Type string 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 | | expressionCriteriaType.resource | Field Type string Description The resource of the criteria or condition in a visibility rule. | | expressionCriteriaType.value | Field Type object Description The value of the criteria or condition in a visibility rule. The value can be number, boolean, or string. | | operationsType.isActive | Field Type boolean Description When true, the visibility operation is active. | | operationsType.isHiddenOnOperationSuccess | Field Type boolean Description When true, the component is hidden when the operation is successful. | | operationsType.rule | Field Type RuleType Description The component visibility rule. | | operationsType.ruleToVariationList | Field Type componentVariationType\[\] 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. | | operationsType.targetId | Field Type string Description The component ID where the visibility rule is applied. | | regionType.children | Field Type componentType\[\] Description Represents individual components within the region. | | regionType.id | Field Type UUID Description Required. Represents the UUID of a region. | | regionType.name | Field Type string Description Required. Represents the name of the region. | | regionType.title | Field Type string Description Represents the label for a region. | | regionType.type | Field Type string Description Required. region is the only allowed value. | | regionType.variations | Field Type componentType\[\] Description Represents a component variation within a region. Available in API version 59.0 and later. | | ruleType.criteriaType | Field Type string Description The condition or criteria type of the rule. Allowed values include AllCriteriaMatch and AnyCriterionMatches. | | ruleType.customFormula | Field Type string Description A custom formula created from expression criteria for a visibility rule. Available in API version 59.0 and later. | | ruleType.description | Field Type string Description The description of a visibility rule. | | ruleType.expressionCriteria | Field Type expressionCriteriaType\[\] Description The expression criteria of a visibility rule. | | ruleType.name | Field Type string Description The name of a visibility rule. | | themeLayoutType | Field Type string Description Required. Represents the apiName of the view’s active theme layout. Must reference an existing theme layout in the same workspace. | | title | Field Type string Description Represents the name of the view. Limited to 80 characters. ![Note](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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. | | type | Field Type string Description Required. Represents the content type. The only allowed value is sfdc\_cms\_\_view. | | viewType | Field Type string Description Required. Identifies the type of view. The viewType value must be unique within a workspace. This value must match the [routeType](#route_folder_section) 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", "right" : "20px", "top" : "20px" } }, "richTextValue" : "

    Start Building Your Page

    Drag and drop a component into the content slots.
    " }, "variations": \[ { "id": "5d700461-4c2a-4930-98e5-366ec2a4d41e", "title": "Variation Country USA", "type": "mutationComponent", "definition": "community\_builder:htmlEditor", "attributes": { "richTextValue": "

    Start Building Your Page

    Drag and drop a component into the content slots.
    " } } \] "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}" } } \], "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 } \] } } \] } \] } } } # DigitalExperienceConfig Represents details for your organization’s workspaces, such as the site label, site URL path prefix, and workspace type. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/metadata.htm "The base class for all metadata types. You can’t edit this object. A component is an instance of a metadata type.") metadata type and inherits its fullName field. ## 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 | Field Name | Description | | --- | --- | | label | Field Type string Description Required. The name of the site. | | site | Field Type [Site](#Site) Description Required. Contains site-related settings, such as the site’s URL path prefix. | | space | Field Type string Description Required. References the workspace that contains the site’s content items such as brandingSets, themes, views, and routes. | ## Site Represents site-related information, such as the URL path prefix. | Field Name | Description | | --- | --- | | urlPathPrefix | Field Type string 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. Capricorn\_Coffee CapricornCoffee site/Capricorn\_Coffee1 The following is an example package.xml that references the previous definition. Capricorn\_Coffee1 DigitalExperienceConfig 56.0 ## 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/file_based_zip_file.htm "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."). # DisclosureDefinition Represents information that defines a disclosure type, such as details of the publisher or vendor who created or implemented the report. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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
    Field Name Description
    description

    Field Type: string

    Description: The description about the disclosure definition.

    disclosureType

    Field Type: string

    Description:

    Required.

    The API name of the disclosure type associated with this definition.

    isProtected

    Field Type: boolean

    Description: An auto-generated value that doesn’t impact the behavior of the metadata type. The default is false.

    masterLabel

    Field Type: string

    Description:

    Required.

    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. This is GRI Disclosure Definition disclstype10 false GRI The following is an example package.xml that references the previous definition. Pkg GRI DisclosureDefinition dt12 DisclosureType 57.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # DisclosureDefinitionVersion Represents the version information about the disclosure definition. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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
    Field Name Description
    authoring​Mode

    Field Type: AuthoringMode (enumeration of type string)

    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
    description

    Field Type: string

    Description: The description about the disclosure definition version.

    disclosureDef​CurrVer

    Field Type: string

    Description: For internal use only.

    disclosureDefinition

    Field Type: string

    Description:

    Required.

    The API name of the disclosure definition associated with this version.

    documentTemplate​GlobalKey

    Field Type: string

    Description: The document template global key associated with the DOCX template for the disclosure definition version.

    isActive

    Field Type: boolean

    Description: Indicates whether the disclosure definition version is an active version (true) or not (false).

    The default value is false.

    isCurrentVersion

    Field Type: boolean

    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.

    isProtected

    Field Type: boolean

    Description: An auto-generated value that doesn’t impact the behavior of the metadata type. The default is false.

    masterLabel

    Field Type: string

    Description:

    Required.

    A user-friendly name for DisclosureDefinitionVersion, which is defined when the DisclosureDefinitionVersion is created.

    omniScriptCnfgApiName

    Field Type: string

    Description: The API name of the Omniscript configuration that's associated with the disclosure definition version. This field is required only when authoringModeisn’t Microsoft 365 Word.

    omniScriptConfiguration

    Field Type: string

    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.

    versionNumber

    Field Type: string

    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. This is GRI Disclosure Definition Version disclosure definition version number false df10 omni script configuration omni script config api name true df10.Id document template global key OmniScriptForm GRI false The following is an example package.xml that references the previous definition. Pkg GRI DisclosureDefinitionVersion df10 DisclosureDefinition dt10 DisclosureType 60.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # DisclosureType Represents the types of disclosures that are done by an individual or an organization and the associated metadata. ## Parent Type This type extends the [Metadata](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/metadata.htm "HTML (New Window)") 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
    Field Name Description
    description

    Field Type: string

    Description: The description about the disclosure type.

    disclosureBodyLogo

    Field Type: string

    Description: The logo ID of the standard body to which an individual or a company is making a disclosure.

    disclosureBodyUrl

    Field Type: string

    Description: The URL of the disclosure standard body.

    disclosureCategory

    Field Type: string

    Description:

    Required.

    The name of the clause category that's used for disclosure.

    isProtected

    Field Type: boolean

    Description: An auto-generated value that doesn’t impact the behavior of the metadata type. The default is false.

    masterLabel

    Field Type: string

    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. This is ESG Disclosure Type asdf EnvSocGvnc disclosure body url false ESG The following is an example package.xml that references the previous definition. Pkg ESG DisclosureType StaticResource asdf 57.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](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm "HTML (New Window)"). # 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](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note.png) #### 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: Maximize\_Sales DiscoveryAIModel 53.0 ## Version DiscoveryAIModels are available in API version 51.0 and later. ## Fields
    Field Name Field Type Description
    algorithmType DiscoveryAlgorithmType Algorithm that Einstein Discovery used to create the model associated with this story.
    classificationThreshold double Threshold value. Applies only to binary classification models. For regression models, this is null.
    description string Model description.
    label string Model label. If you package a model, this label appears in Package Manager.
    modelFields DiscoveryModelField[] One or more model fields (variables).
    modelRuntimeType DiscoveryModelRuntimeType Model run-time type.
    predictedField string Name of the field that is predicted.
    predictionType DiscoveryPredictionType Type of prediction. One of the following strings:
    • Regression
    • Classification
    • Unknown
    sourceType DiscoveryModelSourceType Source type.
    status DiscoveryAIModelStatus Model status (enabled or disabled).
    trainingMetrics string JSON object that represents metrics about the model when it was trained.
    transformations DiscoveryModelTransform One or more model transformations.
    ## DiscoveryAlgorithmType Represents the algorithm that Einstein Discovery used to create the model. | Field Name | Field Type | Description | | --- | --- | --- | | Best | string | Tournament Model. Genetic algorithm used to generate high-quality solutions to optimization and search problems, like optimizing decision trees for better performance. | | Glm | string | Generalized Linear Model. Regression-based algorithm. | | Gbm | string | Gradient Boost Machine. Decision tree-based ensemble machine learning algorithm. | | Xgboost | string | XGBoost. Decision tree-based ensemble machine learning algorithm. | | Drf | string | Random Forest. Supervised learning algorithm that uses multiple decision trees, randomization, and other optimization techniques. | ## DiscoveryModelField Represents a field (variable) in the model. | Field Name | Field Type | Description | | --- | --- | --- | | isDisparateImpact | boolean | Indicates whether the field is disparate impact (true) or not (false). | | isSensitive | boolean | Indicates whether the field is sensitive (true) or not (false). | | label | string | Field label displayed in the UI. | | name | string | Field name. | | type | [DiscoveryModelFieldType](#DiscoveryModelFieldType) | Field type. Enumerated. | | values | string\[\] | A list of field values. | ## DiscoveryModelTransform Represents a transformation in the model. | Field Name | Field Type | Description | | --- | --- | --- | | config | string | The configuration for the transformation. | | sourceFieldNames | string\[\] | A list of the source field names. | | targetFieldNames | string\[\] | A list of the target field names. | | type | [DiscoveryAIModelTransformationType](#DiscoveryAIModelTransformationType) | Type of transformation. | ## DiscoveryAIModelTransformationType Represents the type of transformation to apply before making a prediction. | Field Name | Field Type | Description | | --- | --- | --- | | TypographicClustering | string | Typographic clustering transformation. | | SentimentAnalysis | string | Sentiment analysis transformation. | | FreeTextClustering | string | Free text clustering transformation. | | NumericalImputation | string | Numerical imputation transformation. | | CatagoricalImputation | string | Catagorical imputation transformation. | | TimeSeriesForecast | string | Time series forecast transformation. | | ExtractMonthOfYear | string | Extract month of year transformation. | | ExtractDayOfWeek | string | Extract day of week transformation. | | ZipCodeAnalysis | string | Zip code analysis transformation. | ## DiscoveryModelFieldType Represents the data type of a model field. | Field Name | Field Type | Description | | --- | --- | --- | | Text | string | Text data type. | | Number | string | Number data type. | | Date | string | Date data type. | ## DiscoveryModelRuntimeType Represents the model run-type. | Field Name | Field Type | Description | | --- | --- | --- | | Discovery | string | The model run-type is Einstein Discovery. | | H2O | string | The model run-type is H20. | | T | string | The model run-type is Tensorflow v2.4.4. | | Tf27 | string | The model run-type is Tensorflow v2.7.0. | | SC102 | string | The model run-type is Scikit Learn v1.0.2. | ## DiscoveryModelSourceType Represents the source tool used to build the model: Discovery or an external tool (the model was uploaded into Salesforce).
    Field Name Field Type Description
    Discovery string Einstein Discovery built the model.
    UserUpload string An external tool built the model. The model was then uploaded into Salesforce.
    Note

    Note

    This source type is not supported in the Metadata API.

    ## DiscoveryAIModelStatus Represents the status of the model (Enabled or Disabled). | Field Name | Field Type | Description | | --- | --- | --- | | Disabled | string | The model is disabled (inactive). | | Uploading | string | The model is uploading. | | UploadFailed | string | The model failed to upload. | | UploadCompleted | string | The model upload is complete. | | Validating | string | The model is validating. | | ValidationFailed | string | The model validation failed. | | ValidationCompleted | string | The model validation is complete. | | Enabled | string | The model is enabled (active). | ## Declarative Metadata Sample Definitions Here is a sample DiscoveryAIModel: Glm 0.7383 Maximize Tenure Field Field Text PTO PTO Number Level Level Text Salary Salary Number Tenure Tenure Number Discovery Tenure Classification Discovery Enabled ## Wildcard Support in the Manifest File This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/file_based_zip_file.htm). # 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: employees\_Tenure DiscoveryGoal 53.0 ## Version DiscoveryGoals are available in API version 51.0 and later. ## Fields
    Field Name Field Type Description
    active boolean Indicates whether the prediction definition is active (True) or not (False).
    deployedModels DiscoveryDeployedModel[] One or more deployed models associated with this prediction definition.
    label string Name of the prediction definition.
    modelCards DiscoveryModelCard[] Model card for this prediction definition.
    outcome DiscoveryGoalOutcome Outcome variable of this prediction definition.
    predictionType DiscoveryPredictionType Type of prediction: Regression, Classification, or Unknown.
    pushbackField string Automated writeback field for predictions. A custom field on the Salesforce object specified in subscribedEntity.
    Note

    Note

    Removing a pushback field from the goal metadata causes the field to be deleted from the Salesforce object as well.

    pushbackType DiscoveryPushbackType Type of writeback field for predictions.
    subscribedEntity string Salesforce object associated with this model.
    terminalStateFilters DiscoveryFilter[] If specified, one or more filter expressions that define the conditions under which an observation has attained its terminal state (the actual outcome has been reached). For performance monitoring, Einstein Discovery determines model accuracy by comparing a model’s predicted outcomes with actual (observed) outcomes.
    ## DiscoveryDeployedModel Represents a model deployed in Salesforce.
    Field Name Field Type Description
    active boolean Indicates whether the deployed model is active (True) or inactive (False).
    aiModel string Full name of the DiscoveryAIModel being deployed.
    classificationThreshold double

    Threshold value. Applies only to binary classification models. For regression models, this is null.

    fieldMappings DiscoveryFieldMap[] One or more mappings between model variables and either fields (in Salesforce objects) or columns (in CRM Analytics datasets).
    filters DiscoveryFilter[] If specified, one or more segmentation filters for the deployed model. When making a prediction, the first model that has filters matching a specific input row will be used to make the prediction. No filters indicates that the model matches all input rows.
    label string Label for the deployed model. Appears in Model Manager.
    name string Name of the deployed model.
    prescribableFields DiscoveryPrescribableField[] Actionable fields associated with improvements.
    ## DiscoveryFieldMap Represents a mapping between model variables and field values. | Field Name | Field Type | Description | | --- | --- | --- | | mappedField | string | Field in a Salesforce object or column in a CRM Analytics dataset. | | modelField | string | Model variable. | | sobjectFieldJoinKey | string | Join key for a Salesforce object. Null if sourceType is AnalyticsDatasetField. | | source | string | If the mapping is to a CRM Analytics dataset, this is the name of the dataset. Otherwise, null. | | sourceFieldJoinKey | string | If the mapping is to a CRM Analytics dataset, this is the lookup column on that dataset used to perform the join. Otherwise, null. | | sourceType | [DiscoveryFieldMapSourceType](#DiscoveryFieldMapSourceType) | Data source type for field mapping. | ## DiscoveryFieldMapSourceType Represents the data source type for field mapping: SalesforceField or AnalyticsDatasetField. | Field Name | Field Type | Description | | --- | --- | --- | | SalesforceField | string | Field in a Salesforce object. | | AnalyticsDatasetField | string | Column in a CRM Analytics dataset. | ## DiscoveryFilter Represents a field filter. | Field Name | Field Type | Description | | --- | --- | --- | | field | string | Name of the field to filter. | | operator | DiscoveryFilterOperator | Operator used to calculate the filter. | | type | [DiscoveryFilterFieldType](#DiscoveryFilterFieldType) | Type of filter value. | | values | [DiscoveryFilterValue](#DiscoveryFilterValue)\[\] | One or more values selected for the filter. | ## DiscoveryFilterOperator Represents a filter operator. | Field Name | Field Type | Description | | --- | --- | --- | | Equal | string | Equal to operator (=). | | NotEqual | string | Not equal to operator (<>). | | GreaterThan | string | Greater than operator (>). | | GreaterThanOrEqual | string | Greater than or equal to operator (>=). | | LessThan | string | Less than operator (<). | | LessThanOrEqual | string | Less than or equal to operator (<=). | | Between | string | Between operator. | | NotBetween | string | Not between operator. | | InSet | string | In set operator. | | NotIn | string | Not in operator. | | Contains | string | Contains operator. | | StartsWith | string | Starts with operator. | | EndsWith | string | Ends with operator. | | IsNull | string | Is null operator. | | IsNotNull | string | Is not null operator. | ## DiscoveryFilterFieldType Represents the data type of the filter field. | Field Name | Field Type | Description | | --- | --- | --- | | Text | string | Text field type. | | Number | string | Number field type. | | Date | string | Date field type. | | DateTime | string | Datetime field type. | | Boolean | string | Boolean field type. | ## DiscoveryFilterValue Represents a filter value. | Field Name | Field Type | Description | | --- | --- | --- | | type | [DiscoveryFilterValueType](#DiscoveryFilterValueType) | Type of filter value. | | value | [DiscoveryFilterValue](#DiscoveryFilterValue) | Value. | ## DiscoveryFilterValueType Represents the type of filter value. | Field Name | Field Type | Description | | --- | --- | --- | | Constant | string | Filter value is a constant. | | PlaceHolder | string | Filter value is a placeholder. | ## DiscoveryPrescribableField Represents custom improvement text. | Field Name | Field Type | Description | | --- | --- | --- | | customDefinitions | [DiscoveryCustomPrescribableFieldDefinition](#DiscoveryCustomPrescribableFieldDefinition)\[\] | One or more strings for custom improvement text. Uses the default improvement text if none are specified. | | name | string | Name of the model field that is actionable. | ## DiscoveryCustomPrescribableFieldDefinition Represents a field definition in custom improvement text. | Field Name | Field Type | Description | | --- | --- | --- | | filters | DiscoveryFilter\[\] | Represents one or more filters associated with custom improvement text. | | template | string | If specified, represents the user-provided template from which the custom text is computed. If not specified, then the default text is used. | ## DiscoveryModelCard Represents a model card associated with an Einstein Discovery prediction definition. | Field Name | Field Type | Description | | --- | --- | --- | | contactEmail | string | Contact email for this model card. | | contactName | string | Contact name for this model card. | | label | string | Title for this model card. | | sections | string | Sections in the model card. | ## DiscoveryGoalOutcome Represents the outcome variable of the model. | Field Name | Field Type | Description | | --- | --- | --- | | field | string | Name of the outcome variable. | | fieldLabel | string | Label for the outcome variable. | | goal | [DiscoveryOutcomeGoal](#DiscoveryOutcomeGoal) | Goal for the outcome variable. | | mappedField | string | Mapped field. | ## DiscoveryOutcomeGoal Represents the goal for an outcome. | Field Name | Field Type | Description | | --- | --- | --- | | Minimize | string | Maximize the outcome. | | Maximize | string | Minimize the outcome. | | None | string | Reserved for future use. | ## DiscoveryPredictionType Represents the prediction type for a model. | Field Name | Field Type | Description | | --- | --- | --- | | Unknown | string | Unknown prediction type. | | Regression | string | Regression prediction (numeric use case). | | Classification | string | Binary classification prediction. | | MulticlassClassification | string | Multiclass classification prediction. | ## DiscoveryPushbackType Represents the type of writeback field. Must be set to AiRecordInsight. | Field Name | Field Type | Description | | --- | --- | --- | | AiRecordInsight | string | Automatic writeback type. Required. | | Direct | string | Currently not supported. Reserved for future use. | ## Declarative Metadata Sample Definitions Here is a sample DiscoveryGoal: true true Maximize\_Tenure Opportunity.Amount PTO SalesforceField Opportunity.ExpectedRevenue Salary SalesforceField Level Level Opportunity.Name employees Name AnalyticsDatasetField Opportunity.StageName Field SalesforceField Opportunity.StageName Equal Constant Qualification employees employees Salary LessThan Number PlaceHolder \[value\_low\] Increase \[field\_name\] by \[diff\] Salary GreaterThan Number PlaceHolder \[value\_low\]