---
schema_version: "1"
id: a2079e541441cad2b7ac2d33d8709e1fd0e51b0dbfd24a64ae4f59229af68eee
title: EnblProgramTaskSubCategory
collection: legacydeveloper
version: current
locale: en-us
portal_url: https://docs.salesforce.com/legacydeveloper/current/en-us/api_meta/meta_enblprogramtasksubcategory.md
canonical_url: https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/meta_enblprogramtasksubcategory.htm
source_site: developer.salesforce.com
content_type: documentation
content_hash: cf16a1e0e742d708d3119e807257e76e9100da05bc0ab9ec448a962bfe8a5376
description: Represents a custom exercise type that an Enablement admin adds to an Enablement program in Program Builder. A custom exercise type also requires a corresponding EnblProgramTaskDefinition record for Program Builder and corresponding LearningItem and LearningItemType records for when users take the exercise in the Guidance Center.
---
# EnblProgramTaskSubCategory

Represents a custom exercise type that an Enablement admin adds to an Enablement program in Program Builder. A custom exercise type also requires a corresponding EnblProgramTaskDefinition record for Program Builder and corresponding LearningItem and LearningItemType records for when users take the exercise in the Guidance 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

EnblProgramTaskSubCategory components have the suffix .enblProgramTaskSubCategory and are stored in the enblProgramTaskSubCategories folder.

## Version

EnblProgramTaskSubCategory components are available in API version 62.0 and later.

## Special Access Rules

- For Enablement admins to create, update, and delete Enablement programs, the Design and Deliver Enablement Programs permission is required. This permission is enabled by default as part of the Manage Enablement Essentials permission set, which comes with the Enablement add-on license.
- For users who take Enablement programs, the Take Enablement Programs permission is required. This permission is enabled by default as part of the Use Enablement Programs permission set, which comes with the Enablement add-on license.

![Important](https://developer.salesforce.com/docs/atlas.en-us.api_meta.meta/api_meta/images/icon_note_important.png)

#### Important

Custom exercises aren’t compatible with Partner Enablement programs.

## Fields

| Field Name | Description |
| --- | --- |
| developerName | 
Field Type

string

Description

Required. The unique programmatic name for the EnblProgramTaskSubCategory record.





 |
| icon | 

Field Type

string

Description

Required. The icon to use for the custom exercise type in Program Builder.

Use the format iconType:iconName, where the values correspond to icon categories and names from the [Salesforce Lightning Design System](https://www.lightningdesignsystem.com/icons/ "HTML (New Window)").

- iconType is the type of icon, such as standard or doctype.
- iconName is the icon name, such as flow or slide.

For example, to use the Standard type Flow icon, this value is standard:flow. For details, see [Implement Custom Exercise Types for Enablement Programs](https://developer.salesforce.com/docs/sales/enablement/guide/enablement-custom-exercises-intro.html "HTML (New Window)") in the _Sales Programs and Partner Tracks with Enablement Developer Guide_.





 |
| learningItemType | 

Field Type

string

Description

Required. The programmatic name of the [LearningItemType](https://developer.salesforce.com/docs/atlas.en-us.264.0.api_meta.meta/api_meta/meta_learningitemtype.htm "HTML (New Window)") record that represents this custom exercise type in the Guidance Center when users take a program.





 |
| masterLabel | 

Field Type

string

Description

Required. A user-friendly name for the EnblProgramTaskSubCategory, which is defined when it’s created.





 |

## Declarative Metadata Sample Definition

The following is an example of an EnblProgramTaskSubCategory component for a custom exercise type that shows a screen flow.

<?xml version="1.0" encoding="UTF-8"?>
<EnblProgramTaskSubCategory xmlns="http://soap.sforce.com/2006/04/metadata">
    <developerName\>ScreenFlowTaskSubCategory</developerName\>
    <icon\>standard:flow</icon\>
    <learningItemType\>ScreenFlowLearningItemType</learningItemType\>
    <masterLabel\>Screen Flow Exercise</masterLabel\>
</EnblProgramTaskSubCategory\>

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

<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
    <types\>
        <members\>ScreenFlowTaskSubCategory</members\>
        <name\>EnblProgramTaskSubCategory</name\>
    </types\>
    <version\>62.0</version\>
</Package\>

## Wildcard Support in the Manifest File

This metadata type supports the wildcard character \* (asterisk) in the package.xml manifest file. For information about using the manifest file, see [Deploying and Retrieving Metadata with the Zip File](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.").