Milestone
A Milestone in Salesforce Service Cloud is the unit of SLA tracking inside an Entitlement Process.
Definition
A Milestone in Salesforce Service Cloud is the unit of SLA tracking inside an Entitlement Process. Each Milestone represents one measurable target on a case: First Response within 1 hour, Resolution within 24 hours, Customer Update every 4 hours. The platform tracks elapsed time against the milestone's target using a Business Hours profile, fires Time Trigger actions at configurable offsets (warning, violation, success), and records the outcome on the CaseMilestone object for reporting. Milestones are how a written SLA becomes operational automation.
Milestones are defined twice in the data model. First as MilestoneType records, which are reusable definitions of what the milestone represents (First Response, Resolution). Second as instances attached to Entitlement Processes through EntitlementProcessMilestone records, which add the specific timing (Target Time = 60 minutes), Business Hours, and Time Trigger actions for this particular process. The two-level model lets one MilestoneType be reused across multiple processes with different timings: a First Response Milestone Type might be 1 hour on the Platinum process and 4 hours on the Gold process.
How Milestones track SLA compliance on Salesforce cases
MilestoneType vs EntitlementProcessMilestone
Two objects define the milestone model. MilestoneType is the reusable definition: Name (First Response), Description, Recurrence Type (one-time or recurring), Display Name (the user-facing label). MilestoneTypes are created once and referenced by many entitlement processes. EntitlementProcessMilestone is the instance attached to a specific process: references the MilestoneType, sets the Target Time, picks the Business Hours, orders the milestone in the process sequence. Modifying a MilestoneType propagates the label change but not the timing. Modifying the EntitlementProcessMilestone changes the timing for that process only.
Target Time and Business Hours interaction
Each milestone has a Target Time in minutes, measured against a Business Hours profile. A 60-minute First Response milestone on a case created at Friday 4 PM EST with business hours 9-to-5 weekdays means the target is Friday 5 PM EST. The same milestone on a case created at Friday 6 PM EST means the target is Monday 10 AM EST. The platform handles the business-hours math automatically. Wrong business hours mean wrong target times. The Business Hours selection per milestone (overrideable from the process default) is the most common SLA misconfiguration.
Time Triggers: warning, violation, success actions
Each EntitlementProcessMilestone supports Time Trigger actions that fire at specific offsets relative to the Target Time. Warning triggers fire before violation (typically at 50 or 75 percent of the time remaining). Violation triggers fire when the milestone is missed. Success triggers fire when the milestone is met. Each trigger can run workflow actions: send an email alert, create a task, update a field, send an outbound message, invoke an Apex action. The combination is rich enough to model most operational escalation patterns without writing Apex.
Stopping the clock: case status mapping
When a case moves into a status configured as a Stopped Status on the entitlement process, the milestone clock pauses. Stopped statuses are typically Waiting on Customer or On Hold. When the case moves back to an active status, the clock resumes. Without stopped statuses configured, the clock runs through the customer's response time, inflating violation rates. Setup, Entitlement Processes, the process, Stopped Statuses. The most common SLA configuration error is forgetting to add Waiting on Customer to the stopped list.
CaseMilestone reporting and compliance dashboards
Every milestone instance on a case generates a CaseMilestone record. The record has TargetDate, CompletionDate, IsCompleted, IsViolated, ElapsedTimeInMins, ActualElapsedTimeInMins, BusinessHoursAdjustedDate. The Cases with Milestones standard report type queries this data for SLA compliance reporting. Most Service Cloud teams build a dashboard tracking violation rate by team, region, and entitlement. Without the dashboard, the SLA data is captured but invisible to leadership.
Recurrence: one-time vs recurring milestones
Most milestones are one-time (First Response, Resolution). Some are recurring: Customer Update every 4 hours until the case is resolved. Recurrence is configured on the MilestoneType: pick Recurring and set the interval. The platform creates a new CaseMilestone record at each interval until the case is resolved or the milestone is canceled. Recurring milestones are useful for proactive customer communication patterns mandated by certain SLAs. Configure carefully; a noisy recurring milestone generates dozens of alerts on long-running cases.
Milestone Tracker on the Case page
The Milestone Tracker is the UI component that surfaces pending and completed milestones on a case. It shows the Time Remaining, Status, and a progress bar for each milestone. Configured through the Case page layout (drag the Case Milestones related list onto the layout). The tracker is what agents see when working a case under SLA; it is the visible reminder that the clock is ticking. Without the tracker on the layout, the milestones run silently in the background and agents have no feedback.
Creating a Milestone on an Entitlement Process
Creating a Milestone is a two-step workflow: define the MilestoneType, then attach it to an Entitlement Process with specific timing and Time Trigger actions.
- Create the Milestone Type
Setup, Milestone Types, New. Pick a Name (First Response, Resolution Time), set Description, choose Recurrence Type (one-time or recurring), set Display Name.
- Open the target Entitlement Process
Setup, Entitlement Processes, the process. The page lists existing milestones attached to the process.
- Click Add Milestone
The wizard prompts for the Milestone Type (pick the one created in step 1), Target Time in minutes, Business Hours profile, Order (sequence within the process).
- Configure Time Triggers
For each milestone, click Add Time Trigger. Pick offset (Before or After Target Time, in minutes), add workflow actions (email alert, task, field update). Add warning, violation, and success triggers.
- Set Stopped Statuses on the process
Open the process, Edit, add case statuses that pause the milestone clock (Waiting on Customer, On Hold). Without these, the clock counts customer response time toward the SLA.
- Add the Case Milestones related list to the Case page layout
Setup, Object Manager, Case, Page Layouts. Drag Case Milestones onto the layout. Agents see the tracker on the case page after the change.
- Test with a sample case
Create a case on an entitled account. Confirm the milestone appears in the tracker, the timer counts down, and the actions fire at the right offsets.
The reusable definition of what the milestone represents. Created once, referenced many times.
The target in minutes, measured against the Business Hours profile.
The work-hour profile used to measure elapsed time. Inherited from the process or overridden per milestone.
The sequence within the entitlement process. Lower numbers run earlier in the case lifecycle.
One-time or recurring. Recurring milestones repeat on a configured interval until the case is resolved.
- Wrong Business Hours profile is the most common SLA configuration error. The clock measures against the assigned profile, which may not match the case timezone or region.
- Without Stopped Statuses configured, the milestone clock runs through customer response time. Cases waiting on customer input inflate violation rates falsely.
- Time Trigger actions reference workflow actions, which are deprecated in favor of Flow. Migrate triggers to Flow-based actions for any new milestone built today.
- Recurring milestones can become noisy on long cases. A 4-hour recurring update milestone on a 30-day case generates 180 milestones. Plan recurrence intervals carefully.
- The Milestone Tracker is invisible without the Case Milestones related list on the page layout. Forgetting this step is why agents do not see the SLA progress.
Trust & references
Cross-checked against the following references.
- Milestones in Entitlement ManagementSalesforce Help
Straight from the source - Salesforce's reference material on Milestone.
- Milestones in Entitlement ManagementSalesforce Help
- Create MilestonesSalesforce Help
- CaseMilestone Object ReferenceSalesforce Developers
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. What is a Milestone in Service Cloud?
Q2. What are common milestone examples?
Q3. Why use milestones?
Discussion
Loading discussion…