Newer Version Available

This content describes an older version of this product. View Latest

EnablementProgramDefinition

Represents an Enablement program, which includes exercises and measurable milestones to help users such as sales reps achieve specific outcomes related to your company’s revenue goals.

Where possible, we changed noninclusive terms to align with our company value of Equality. We maintained certain terms to avoid any effect on customer implementations.

Important

Parent Type

This type extends the Metadata metadata type and inherits its fullName field.

File Suffix and Directory Location

EnablementProgramDefinition components have the suffix .enablementProgramDefinition and are stored in the enablementProgramDefinitions folder.

Version

EnablementProgramDefinition components are available in API version 61.0 and later.

Special Access Rules

To access Enablement programs, the Design and Deliver Enablement Programs permission is required. This permission is available with the Enablement add-on license.

For partner programs in supported Experience Cloud sites, a supported Partner Relationship Management (PRM) add-on license is also required.

Fields

Field Name Description
description
Field Type
string
Description

Required. A summary of the program’s goals and content that’s visible to users.

developerName
Field Type
string
Description

Required. The unique programmatic name for the program record.

doesAllowSelfEnrollment
Field Type
boolean
Description
Indicates whether users can self-enroll in programs that are shared with them (true) or take only assigned programs (false). The default value is false.
masterLabel
Field Type
string
Description

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

name
Field Type
string
Description

Required. The name of the program that’s visible to users.

network
Field Type
string
Description
The Experience Cloud site where a program is published for partner users.
sections
Field Type
EnablementProgramSection[]
Description
Groups of milestones and exercises within a program.
tasks
Field Type
EnablementProgramTask[]
Description
The outcome, milestones, and exercises in the program.
type
Field Type
string
Description

Required. Indicates whether the program is for sales users in Lightning Experience (Enablement) or partner users in supported Experience Cloud sites (PtnrEnablement).

EnablementProgramSection

Represents a logical, trackable group of milestones and exercises within an Enablement program. When users take programs, they can expand or collapse sections.

Field Name Description
developerName
Field Type
string
Description

Required. The unique programmatic name for the section.

name
Field Type
string
Description
Required. The title of the section that’s visible to users when they take the program.
sequenceNumber
Field Type
int
Description

Required. A number that specifies the order of the section, relative to other sections, starting at 0.

tasks
Field Type
EnablementProgramTask[]
Description
The milestones and exercises in the section.

EnablementProgramTask

Represents an outcome, milestone, or exercise in an Enablement program. A program task is also known as a program item.

Field Name Description
customSubCategoryName
Field Type
string
Description

The API name of custom exercise task subcategory. This value determines the type of the custom exercise and its associated content. Available in API version 63.0 and later.

day
Field Type
int
Description

Required. The day of the program when the item is due, relative to the program's start date. For example, if a user is expected to complete an exercise where they watch a product demo by day 2, this field’s value is 2. For an outcome, this field specifies the number of days the full program takes. For example, if your program lasts 60 days, the value of this field is 60 for the outcome. This field’s value contributes to the program’s due date that users see when they take the program.

description
Field Type
string
Description

Required. A summary of the outcome, milestone, or exercise that’s visible to users when they take the program.

developerName
Field Type
string
Description

Required. The unique programmatic name for the outcome, milestone, or exercise.

exercise
Field Type
EnablementProgramTaskExercise
Description
The content used with an exercise.

If taskSubCategory is ActionItem, this field isn’t included when retrieving metadata.

milestone
Field Type
EnablementProgramTaskMilestone
Description
The definition of an outcome or milestone, including the Enablement measures used and the criteria for completing the goal.
name
Field Type
string
Description

Required. The title of the outcome, milestone, or exercise that’s visible to users when they take the program.

sequenceNumber
Field Type
int
Description

Required. A number that specifies the order of the milestone or exercise, relative to other milestones or exercises that have the same due date in the program or in the same section, starting at 0. This number determines the order of items that users see for that day in the program.

taskCategory
Field Type
ProgramTaskDefCategory (enumeration of type string)
Description

Required. The type of the program item.

Values are:

  • Exercise
  • Milestone

Milestone is used for both the program’s outcome and incremental milestones.

taskSubCategory
Field Type
string
Description

Required. The type of exercise. This value determines the content associated with the exercise. For example, if the field value is Video, the exercise must reference video content from the Enablement workspace in the Digital Experiences app. Possible values are:

  • ActionItem
  • AudioRecording
  • CustomExercise—Available in API version 62.0 and later.
  • Document
  • FeedbackRequest
  • Other
  • OtherExercise
  • ScheduledEvent
  • TextLesson
  • Trailhead
  • Video

When taskCategory is Milestone, the value of taskSubCategory must be Other.

EnablementProgramTaskExercise

Represents the content used with an exercise in an Enablement program.

Field Name Description
cmsContent
Field Type
EnablementProgramTaskCmsContent
Description

The definition of content managed in the Enablement workspace in the Digital Experiences app when taskSubCategory on EnablementProgramTask is AudioRecording, Document, OtherExercise, ScheduledEvent, TextLesson, or Video.

customContent
Field Type
EnablementProgramTaskCustomContent
Description

The definition of content used with a custom exercise type when taskSubCategory on EnablementProgramTask is CustomExercise.

externalContent
Field Type
EnablementProgramTaskExternalContent
Description
The definition of Trailhead content when taskSubCategory on EnablementProgramTask is Trailhead.
feedbackContent
Field Type
EnablementProgramTaskFeedbackContent
Description
The definition of an assessment survey or Einstein prompt template when taskSubCategory on EnablementProgramTask is FeedbackRequest.

EnablementProgramTaskCmsContent

Defines content managed in the Enablement workspace in the Digital Experiences app for the Audio Recording, Document, Other, Scheduled Event, Text Lesson, or Video exercise types.

Field Name Description
apiName
Field Type
string
Description

Required in API version 62.0. The unique programmatic ID of the Digital Experiences content for the exercise. This string’s format is workspaceType/workspaceApiName.contentFQN/contentApiName, which matches the fullName field value on the corresponding DigitalExperience metadata type.

For example, a Link content record from the Enablement workspace has this API name: enablement/sfdcEnablement_EnablementWorkspace.sfdc_enablement__link/link_API_name.

contentKey
Field Type
string
Description

Required in API version 61.0 only.

EnablementProgramTaskCustomContent

Defines content used with a custom exercise type.

Field Name Description
content
Field Type
string
Description

A serialized string returned by the Apex class that’s specified in the corresponding LearningItemType metadata type’s apexSerializerDeserializer field. This string identifies the content used with the custom exercise type so the custom exercise can be recreated in the destination org. This string:

  • Can’t exceed 250 characters
  • Must contain only alphanumeric characters

For details, see Implement Custom Exercise Types for Enablement Programs in the Sales Programs and Partner Tracks with Enablement Developer Guide.

EnablementProgramTaskExternalContent

Defines Trailhead content for the Trailhead exercise type.

Field Name Description
externalId
Field Type
string
Description

Required. The API name of the Trailhead module used with the exercise.

providerType
Field Type
ProgramExtContentDefProvider (enumeration of type string)
Description

Required. The supported external content platform or system.

Values are:

  • Trailhead

EnablementProgramTaskFeedbackContent

Defines the assessment survey or Einstein prompt template for the Feedback Request exercise type.

Field Name Description
inviteeCount
Field Type
int
Description
The number of peers or managers that the user is required to invite for giving feedback when type is PeerFeedback. Each peer or manager receives an invitation to the assessment survey associated with the Feedback Request exercise.

When type is AIFeedback, this value is always 1.

promptTemplate
Field Type
string
Description
The prompt template to use with this exercise when type is AIFeedback.
surveyDeveloperName
Field Type
string
Description
The unique programmatic name for the assessment survey that’s sent to peers and managers when type is PeerFeedback.
type
Field Type
string
Description

Required. The type of feedback used with the exercise.

Values are:

  • AIFeedback—Users submit a video call, and Einstein generates feedback from the call’s transcription. With this type, promptTemplate is required.
  • PeerFeedback—Users submit a URL to a sample of their work, and select peers and managers to review their work. Selected peers and managers complete an assessment survey. With this type, surveyId is required.

EnablementProgramTaskMilestone

Defines the requirements for an outcome or milestone, including the Enablement measures used for tracking activity and the criteria for completing the outcome or milestone.

Field Name Description
compositeMilestoneType
Field Type
EnblCompositeMilestoneType (enumeration of type string)
Description
The type of logic to use for evaluating the activity from two Enablement measures in a composite milestone.

Values are:

  • Addition
  • Division
  • Percentage
isMilestoneAnOutcome
Field Type
boolean
Description

Required. Indicates whether the program item is the program’s outcome (true) or an incremental milestone (false).

milestoneMeasures
Field Type
EnablementProgramTaskMilestoneMeasure[]
Description
The Enablement measures used with the outcome or milestone.
milestoneTarget
Field Type
double
Description
The target value for a user to achieve to get credit for completing the outcome or milestone. The unit depends on the specific measure used with the outcome or milestone. For example, if the measure is the dollar amount of all closed opportunities, then the field value is measured in dollars.
minimumSampleSize
Field Type
int
Description
The number of records to evaluate when calculating progress for an outcome or milestone that uses an average-based measure. Use this field with milestoneTarget. For example, if you want users to achieve an average deal size of $50,000 after closing 4 deals, then this field’s value is 4 and milestoneTarget is 50000.

EnablementProgramTaskMilestoneMeasure

Defines the Enablement measure used with an outcome or milestone.

Field Name Description
measureDefinitionDeveloperName
Field Type
string
Description
The unique programmatic name of the Enablement measure used with the outcome or milestone.
sequenceNumber
Field Type
int
Description
A number that specifies the order of the Enablement measure when multiple measures are used with one outcome or milestone, starting at 0. For example, in a composite milestone that uses the Percentage function, the measure that provides the numerator value is sequence 0 and the measure that provides the denominator value is sequence 1.

Declarative Metadata Sample Definition

The following is an example of an EnablementProgramDefinition component.

1<?xml version="1.0" encoding="UTF-8"?>
2<EnablementProgramDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
3    <description>Get started with sales at Cloud Kicks and close your first deal!</description>
4    <developerName>Get_Started_Close_First_Deal_Program</developerName>
5    <doesAllowSelfEnrollment>false</doesAllowSelfEnrollment>
6    <masterLabel>Welcome to Sales at Cloud Kicks</masterLabel>
7    <name>Welcome to Sales at Cloud Kicks</name>
8    <sections>
9        <developerName>section_0</developerName>
10        <name>Learn the Ropes in Your First Week</name>
11        <sequenceNumber>0</sequenceNumber>
12        <tasks>
13            <day>1</day>
14            <description>Learn the basics of sales at Cloud Kicks.</description>
15            <developerName>task_0</developerName>
16            <exercise>
17                <externalContent>
18                    <externalId>sales-rep-training</externalId>
19                    <providerType>Trailhead</providerType>
20                </externalContent>
21            </exercise>
22            <name>Sales Rep Training</name>
23            <sequenceNumber>0</sequenceNumber>
24            <taskCategory>Exercise</taskCategory>
25            <taskSubCategory>Trailhead</taskSubCategory>
26        </tasks>
27        <tasks>
28            <day>2</day>
29            <description>Watch our CEO explain the company vision.</description>
30            <developerName>task_1</developerName>
31            <exercise>
32                <cmsContent>
33                    <apiName>enablement/sfdcEnablement_EnablementWorkspace.sfdc_enablement__link/company_vision_video</apiName>
34                </cmsContent>
35            </exercise>
36            <name>See Our Company Vision</name>
37            <sequenceNumber>1</sequenceNumber>
38            <taskCategory>Exercise</taskCategory>
39            <taskSubCategory>Video</taskSubCategory>
40        </tasks>
41        <tasks>
42            <day>3</day>
43            <description>Action Item</description>
44            <developerName>task_2</developerName>
45            <name>Action Item</name>
46            <sequenceNumber>2</sequenceNumber>
47            <taskCategory>Exercise</taskCategory>
48            <taskSubCategory>ActionItem</taskSubCategory>
49        </tasks>
50        <tasks>
51            <day>4</day>
52            <description>Try out your first sales patch at Cloud Kicks and get feedback from our in-house experts.</description>
53            <developerName>task_3</developerName>
54            <exercise>
55                <feedbackContent>
56                <inviteeCount>1</inviteeCount>
57                <surveyDeveloperName>discovery_call_assessment</surveyDeveloperName>
58            </feedbackContent>
59            </exercise>
60            <name>Feedback from Peers and Managers</name>
61            <sequenceNumber>3</sequenceNumber>
62            <taskCategory>Exercise</taskCategory>
63            <taskSubCategory>FeedbackRequest</taskSubCategory>
64        </tasks>
65        <tasks>
66            <day>5</day>
67            <description>Complete a discovery calls by day 5.</description>
68            <developerName>task_4</developerName>
69            <isMilestoneAnOutcome>false</isMilestoneAnOutcome>
70            <milestone>
71                <milestoneMeasures>
72                    <measureDefinitionDeveloperName>salesforceTemplate_CallsEmails</measureDefinitionDeveloperName>
73                </milestoneMeasures>
74                <milestoneTarget>1.0</milestoneTarget>
75            </milestone>
76            <name>Log a Discovery Call by Day 5</name>
77            <sequenceNumber>4</sequenceNumber>
78            <taskCategory>Milestone</taskCategory>
79            <taskSubCategory>Other</taskSubCategory>
80        </tasks>
81        <tasks>
82            <day>6</day>
83            <description>Browse our sales leaders blog for more insights.</description>
84            <developerName>task_5</developerName>
85            <exercise>
86                <cmsContent>
87                    <apiName>enablement/sfdcEnablement_EnablementWorkspace.sfdc_enablement__link/sales_blog</apiName>
88                </cmsContent>
89            </exercise>
90            <name>Review Tips from Sales Leaders</name>
91            <sequenceNumber>5</sequenceNumber>
92            <taskCategory>Exercise</taskCategory>
93            <taskSubCategory>OtherExercise</taskSubCategory>
94        </tasks>
95        <tasks>
96            <day>7</day>
97            <description>Follow a screen flow for onboarding to the sales team.</description>
98            <developerName>task_6</developerName>
99            <exercise>
100                <customContent>
101                    <content>flowDeveloperName=OnboardingFlow</content>
102                </customContent>
103            </exercise>
104            <name>Onboarding Flow</name>
105            <sequenceNumber>6</sequenceNumber>
106            <taskCategory>Exercise</taskCategory>
107            <taskSubCategory>CustomExercise</taskSubCategory>
108            <customSubCategoryName>ScreenFlowTaskSubCategory</customSubCategoryName>
109        </tasks>
110    </sections>
111    <tasks>
112        <day>30</day>
113        <description>Close your first opportunity. To make sure it's counted, set the opportunity Stage field to Closed Won.</description>
114        <developerName>task_enablementProgramOutcomeCard</developerName>
115        <isMilestoneAnOutcome>true</isMilestoneAnOutcome>
116        <milestone>
117            <milestoneMeasures>
118                <measureDefinitionDeveloperName>measure_CloseFirstDeal</measureDefinitionDeveloperName>
119            </milestoneMeasures>
120            <milestoneTarget>1.0</milestoneTarget>
121        </milestone>
122        <name>outcome</name>
123        <sequenceNumber>0</sequenceNumber>
124        <taskCategory>Milestone</taskCategory>
125        <taskSubCategory>Other</taskSubCategory>
126    </tasks>        
127    <type>Enablement</type>
128</EnablementProgramDefinition>

The following is an example package.xml that references the previous definition.

1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3    <types>
4        <members>Get_Started_Close_First_Deal_Program</members>
5        <name>EnablementProgramDefinition</name>
6    </types>
7    <version>61.0</version>
8</Package>

Wildcard Support in the Manifest File

This metadata type supports the wildcard character * (asterisk) in the package.xml manifest file. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.