Metadata API

Metadata API includes new and changed types and fields.

Salesforce Overall

Add walkthroughs for in-app learning, feature adoption, and training
Use the new stepNumber field on the Prompt metadata type.
BEHAVIOR CHANGE: The fields startDate and userAccess are now optional
These fields are found on the Prompt metadata type.
Gather feedback on why users are switching from Lightning Experience to Salesforce Classic
Use the new LightningOnboardingConfig metadata type.
Turn off permissions
Use the MutingPermissionSet metadata type. Available since API version 46.0, MutingPermissionSet is added to the Metadata API Developer Guide.
REMOVED: The enableWorkUseObjectivesForGoals field on the WorkDotComSettings type was removed
The enableWorkUseObjectivesForGoals field was removed in API version 49.0.

Salesforce Surveys

Enable Customer Lifecycle Maps to track customers' feedback across different stages in their lifecycle
Use the new enableIndustriesCxmEnabled field on the SurveySettings metadata type.
Use surveys to track customers’ experiences across different stages in their lifecycle
Use the new BusinessProcessGroup metadata type.

Sales

Set the access level that users get to the opportunities assigned to their territories’ child territories
Use the new t2ForecastAccessLevel field on the Territory2Settings metadata type.
Show a success banner on the Territory Settings page
Use the new showTM2EnabledBanner field on the Territory2Settings metadata type.
Turn on Einstein Attribution for your org
Use the new enableAIAttribution field on the CampaignSettings metadata type.
Define a timeframe during which Einstein Attribution scans for influential campaigns
Use the new aiAttributionTimeframe field on the CampaignSettings metadata type.
BEHAVIOR CHANGE: Distinguish the My Opportunity Teams list view from the My Team’s Opportunities list view
The FilterScope enumeration has a new enumeration value, SalesTeam.The SalesTeam enumeration value represents opportunities assigned to an opportunity team. The Team enumeration value on the FilterScope enumeration now represents only records assigned to a team. Previously, Team represented both list views.
BEHAVIOR CHANGE: The enableEmailTrackingInMobile field on the EmailIntegrationSettings metadata type now applies to desktop, mobile, and legacy versions of Inbox
Use the enableEmailTrackingInMobile field on the EmailIntegrationSettings metadata type to turn off the email tracking feature in the Outlook integration with Inbox and Gmail integration with Inbox. The field also turns off email tracking in the Inbox mobile app and legacy versions of Inbox.
Predict the likelihood of an opportunity being won
Use the new OpportunityScoreSettings metadata type.
Configure media providers so you can upload phone recordings to Einstein Call Coaching
Use the new CallCoachingMediaProvider metadata type.
Analyze your rep's call recordings and gain insights on how your team can improve
Use the new ConversationalIntelligenceSettings metadata type.
Customize work queue options for third-party scoring
Use the new SalesWorkQueueSettings metadata type.
Allow non-Latin-based characters in email addresses when sending emails from Salesforce
Use the new enableInternationalEmailAddresses field on the EmailAdministrationSettings metadata type.

Commerce

Define whether Salesforce Order Management represents shoppers with Person Accounts or with Accounts and Contacts
Use the new enablePersonAccountsForShoppers field on the OrderManagementSettings metadata type.
Create a Store using Lightning Experience
Use the new webStoreTemplate metadata type.

Service

Specify the order in which additional skills are dropped if after the specified timeout no agent with that skill is available
Use the new skillPriority field on the WorkSkillRouting metadata type.
Use surveys to gather post-chat feedback
Use the new LA_Survey value in the FlowType field (EmbeddedServiceFlow subtype) on the EmbeddedServiceConfig metadata type.
REMOVED: The headerBackgroundImg field on the EmbeddedServiceLiveAgent type was removed
The headerBackgroundImg field was removed in API version 49.0.
Customize the colors for the header in the embedded component
Use the new navBarTextColor and secondaryNavBarColor fields on the EmbeddedServiceBranding metadata type.
Enable menu item to display on page load
Use the new isDisplayedOnPageLoad field on the EmbeddedServiceMenuItem subtype of the EmbeddedServiceMenuSettings metadata type.

Analytics

Enable the Analytic Calendar App for Industry dependent templates
Use the new analyticsCalendarApp field on the AnalyticsSettings metadata type.
Enable the S3 Output Data Connector
Use the new enableS3OutputConnector field on the AnalyticsSettings metadata type.
Enable the Snowflake Output Data Connector
Use the new enableSnowflakeOutputConnector field on the AnalyticsSettings metadata type.
Specify the Analytics Data Recipe format
Use the new format field on the WaveRecipe metadata type.

Communities

Specify external domains that you allow to frame your site or community pages
Use the new siteIframeWhiteListUrls field on the CustomSite metadata type.
Apply your community login page type to all Embedded Login implementations
Use the new applyLoginPageTypeToEmbeddedLogin field on the CommunitiesSettings metadata type.
Export your commerce template
Use the new Commerce value in the category field on the CommunityTemplateDefinition metadata type.
Initiate commerce-related actions in a Flow
Use the new cancelCartAsyncOperation, checkoutSessionAction, and updateCheckoutSessionStateAction actions from the actionType field on the FlowActionCall subtype of the Flow metadata type.
Add variations for Navigation Menu and CMS Collection components
Use the new componentAttributes value in the existing propertyOverrides property of the variations on the ExperienceBundle metadata type.
When true, guest user visibility can be turned off.
Use the new enableGuvSecurityOptOutPref field on the CommunitiesSettings metadata type.

Customization

View and configure the names, properties, and other information for components and fields on a Lightning page in a new way
Use the new FlexiPageRegion itemInstances field and the new ItemInstance and FieldInstance subtypes on the FlexiPage metadata type.
REMOVED: On the FlexiPage metadata type, the componentInstances field on the FlexiPageRegion subtype was removed
Use the new itemInstances field instead.
Turn on Dynamic Forms in your org
Use the new enableDynamicForms field on the existing RecordPageSettings metadata type.
Define elements in an array as individual items, instead of using a comma-separated list
Use the new valueList field on the ComponentInstanceProperty subtype of FlexiPage and the new valueListItems field on the ComponentInstancePropertyList subtype of FlexiPage.
Enable split view in list views for the standard navigation style
Use the new enableSplitViewOnStandard field on the LightningExperienceSettings metadata type.
Turn on data translation in your org
Use the new enableDataTranslation field on the LanguageSettings metadata type. For more information, see Translate Product Details with Data Translation.
Control the order of approval processes
Use the new processOrder field on the ApprovalProcess metadata type. For more information, see Control the Order of Active Approval Processes Programmatically.

Lightning Flow

Apply order item summary price adjustments in flows (orgs with Salesforce Order Management enabled)
Use the new adjustOrderItemSummariesPreview and adjustOrderItemSummariesSubmit enums for Order Management in the actionType field on Flow.
Use Survey Data Mapper to create or updates records based on participant responses
Use the new SurveyEnrich enum value in the processType field on Flow.
Map generic sObject inputs or outputs to a specific object
Use the new dataTypeMappings field on the FlowScreenField subtype of Flow. For more information, see Create Flow Screen Components That Work for Multiple Objects (Beta).
Perform actions in a flow after a record is saved
Use the new RecordAfterSave enum in the triggerType field on the FlowStart subtype of Flow. For more information, see Trigger a Flow to Run After a Record Is Saved.
Trigger a flow when a platform event message is received
Use the new PlatformEvent enum in the triggerType field on the FlowStart subtype of Flow. For more information, see Trigger a Flow to Run After a Record Is Saved.
Set your flow to run in system context without sharing
Use the new SystemModeWithoutSharing enum in the runInMode field on Flow. For more information, see Run Flows That Bypass User Permissions.
Indicate that a Subflow element’s output values are stored automatically
Use the new storeOutputAutomatically field on the FlowSubflow subtype of Flow. For more information, see Configure Subflow Elements Without Assigning Output Values.
BEHAVIOR CHANGE: Specifying an API name for a translation of a Flow version is no longer required
The fullName field on the FlowTranslation subtype of the Translation metadata type is now optional.
Work with Salesforce Anywhere in flows (Beta)
Use the new chat, addMessageToChat, addUserToChat, and sendAlert enum values of the Salesforce Anywhere actionType field on the Flow metadata type to work with Salesforce Anywhere chats and actions.

Personalization

BEHAVIOR CHANGE: Indicating whether an audience is default is no longer required
The isAudienceDefault field of the Audience type is now optional.
Create new types of audience targets
Use the new NavigationLinkSet, Report, and Dashboard values of the targetType field (PersonalizationTargetInfo subtype) on the Audience type.

Security and Identity

Route data traffic securely between Salesforce and AWS with a private connection
Use the new metadata types InboundNetworkConnection and OutboundNetworkConnection to define and establish the connections.
Indicate which outbound network connection uses the named credential to send callouts to AWS
Use the new outboundNetworkConnection field on the NamedCredential type.
Restrict user access to a connected app
Use the new BlacklistedConsumer metadata type.
Prevent impersonation by using inbound certificates
Use the new InboundCertificate metadata type.
Specify an OAuth asset token configuration for connected apps
Use the new oauthConfig field (ConnectedAppOauthAssetToken subtype) on the ConnectedApp type.
Specify OAuth access policies for connected apps
Use the new oauthPolicy field (ConnectedAppOauthPolicy subtype) on the ConnectedApp type.
Specify configuration options for a connected app’s session policies
Use the new sessionPolicy field (ConnectedAppSessionPolicy subtype) on the ConnectedApp type.
Define whether a client secret is required in exchange for an access token in the OAuth 2.0 web server flow
Use the new isConsumerSecretOptional field on the ConnectedAppOauthConfig subtype of the ConnectedApp type.
Authorize a connected app to introspect all access and refresh tokens within an entire org
Use the new isIntrospectAllTokens field on the ConnectedAppOauthConfig subtype of the ConnectedApp type.
Allow access to Pardot API services with a connected app
Use the new Pardot enum in the scopes field on the ConnectedApp metadata type.
Define the connected app to which a custom scope is assigned
Use the new assignedTo field (OauthCustomScopeApp subtype) on the OauthCustomScope type.
Define information to use during a user provisioning request flow
Use the new UserProvisioningConfig type.
Enable case-sensitivity for Federation IDs
Use the new enableCaseInsensitiveFederationID field on the SecuritySettings type.
Restrict single sign-on from external identity providers
Use the new isLoginWithSalesforceCredentialsDisabled field on the SecuritySettings type.
Create a transaction security policy on a Threat Detection storage event
Use the new values ReportAnomalyEventStore, CredentialStuffingEventStore, and SessionHijackingEventStore in the eventName field on the TransactionSecurityPolicy type.
Customize transaction security policy error messages
Use the new blockMessage field on the TransactionSecurityPolicy type.

Development

Configure settings related to your allowlist of external domains where you allow framing of your Visualforce content or surveys
Use the new IframeWhiteListUrlSettings metadata type.
Enforce requiring the View Setup and Configuration permission to access the AsyncApexJob and FlexQueueItem objects
Use the new enableAsyncRequiresViewSetup field on the ApexSettings metadata type. This field controls the activation of the update “Require View Setup permission to enqueue async Apex Jobs”. When the field is set to true, users must have the “View Setup and Configuration” permission to access the AsyncApexJob and FlexQueueItem objects. Apex classes and triggers, or other features running in system mode, are exempt from this requirement.
Enforce requiring the View Setup and Configuration permission to access Apex test objects
Use the new enableApexTestReqViewSetup field on the ApexSettings metadata type. This field controls the activation of the update “Require View Setup permission to access Apex test data”. When the field is set to true, users must have the “View Setup and Configuration” permission to access these SOAP API objects: ApexTestQueueItem, ApexTestResult, ApexTestResultLimits, ApexTestRunResult, ApexTestSuite, and TestSuiteMembership.
Receive email for unhandled Apex errors by specifying a Salesforce username or email address
Use the new ApexEmailNotifications metadata type.
Enable source tracking automatically in Developer and Developer Pro sandboxes that you create or refresh from then on (Beta)
Use the new SourceTrackingSettings type.
Change the Lightning Locker API Version for custom Lightning components
Use the new lockerServiceAPIVersion field on the SessionSettings subtype of the SecuritySettings metadata type. Introduced in API version 47.0, the lockerServiceAPIVersion field has been added to the Metadata API Developer Guide.