Architectural Overview
EnablementMeasureDefinition is a foundational metadata component in Salesforce Sales Enablement and Revenue Intelligence. It encapsulates the automated rules and criteria used to track whether users have achieved specific business outcomes, such as closing their first deal, completing five discovery calls, or generating qualifying pipeline.
Architecturally, EnablementMeasureDefinition decouples outcome assessment from program curriculum. By standardizing quantitative business measures across objects, organizations can reuse identical measure definitions across multiple onboarding and skill-building programs without rewriting aggregation logic.
Directory and File Conventions
EnablementMeasureDefinition components reside in the enablementMeasureDefinitions folder of an SFDX repository.
| Property | Value |
|---|---|
| Metadata Type Name | EnablementMeasureDefinition |
| SFDX Folder | force-app/main/default/enablementMeasureDefinitions/ |
| File Suffix | .enablementMeasureDefinition-meta.xml |
| API Support | Metadata API, Tooling API |
Key Metadata Fields
The EnablementMeasureDefinition schema outlines how source entity records are evaluated:
| Field Name | Field Type | Required | Architectural Description |
|---|---|---|---|
masterLabel |
string |
Yes | Human-readable label for the enablement measure. |
sourceObject |
string |
Yes | API name of the target entity (e.g., Opportunity, Task). |
measureType |
string (Picklist) |
Yes | Defines metric mode such as Count, Sum, or Percentage. |
aggregationType |
string (Picklist) |
No | Mathematical aggregation applied over the selected field. |
status |
string (Picklist) |
Yes | Lifecycle status of the measure: Draft, Active, or Archived. |
Note
Custom fields evaluated inside EnablementMeasureDefinition filter logic must exist and be deployed before activating the measure in target orgs.
Declarative XML and Package Manifest Examples
Below is a declarative XML definition measuring deals closed above a minimum threshold:
<?xml version="1.0" encoding="UTF-8"?>
<EnablementMeasureDefinition xmlns="http://soap.sforce.com/2006/04/metadata">
<masterLabel>Closed Won Deals</masterLabel>
<measureType>Count</measureType>
<sourceObject>Opportunity</sourceObject>
<status>Active</status>
</EnablementMeasureDefinition>Manifest Definition (package.xml)
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Deals_Closed_Measure</members>
<name>EnablementMeasureDefinition</name>
</types>
<version>68.0</version>
</Package>CLI Retrieval and Deployment Commands
Retrieve and deploy with sf CLI commands:
# Retrieve an EnablementMeasureDefinition
sf project retrieve start --metadata EnablementMeasureDefinition:Deals_Closed_Measure
# Deploy the measure definition
sf project deploy start --metadata EnablementMeasureDefinition:Deals_Closed_MeasureArchitect Best Practices and Gotchas
- Schema Dependencies: Always ensure the referenced
sourceObjectand any fields used in filtering criteria are deployed prior to deploying the measure definition. - Historical Data Backfill: Modifying measure definitions in active programs does not retroactively re-aggregate historical records prior to the program assignment window.
- Permissions and Field-Level Security: Enablement users must have read access to the evaluated fields on the target object to prevent milestone synchronization stalls.
Tip
Standardize measure naming conventions (e.g., Measure_Opp_ClosedWon_Count) across your CI/CD repository to support reusable program templates across global sales teams.
Frequently asked questions
What does EnablementMeasureDefinition track in Salesforce?
It defines metrics and milestones such as deals closed or calls logged that evaluate user progress toward completing Salesforce Enablement programs.
Which objects can be monitored by an EnablementMeasureDefinition?
Standard sales objects like Opportunity, Lead, Task, and Event as well as custom business objects can serve as source tracking entities.
How is EnablementMeasureDefinition deployed between environments?
It is deployed via SFDX source format in the enablementMeasureDefinitions folder using sf project deploy start.
Comments
Questions, corrections and tips are welcome. Comments are GitHub Discussions, so you sign in with GitHub.