Getting Started with Entitlement Processes & Milestones - Ideas - Salesforce Trailblazer Community
Trailblazer Community

All Ideas

Idea Details

Post an Idea
470  Points
Idea has been posted. Give it an upvote or downvote.

Getting Started with Entitlement Processes & Milestones

Reports & Dashboards

Entitlement Management

A new contracts and entitlements feature called Entitlement Management was delivered as part of the Spring '10 release.  This feature represents a significant enhancement to the Service Cloud's contracts and entitlements functionality.  It was designed to model warranties, subscriptions, maintenance agreements and other types of contracts.  You can define detailed service levels that customers holding these service contracts are entitled to receive.  The feature also includes functionality to enforce service levels within the case management process.  This article is going to focus on defining service levels and enforcing them on cases.  Future posts will explore other areas of the feature in more detail.

Key Entitlement Management features:
  • Manage customers' contracts and entitlements
  • Define detailed service levels
  • Verify that customers are entitled to support
  • Enforce service levels on cases
  • Report and track SLA performance

Entitlement Processes & Milestones

Entitlement Processes are a new object that is used to both capture service level details and the business logic to enforce them on cases.  Entitlement processes use a timeline metaphor to capture all of the steps that must be completed and when they must be completed to meet internal or external agreements that are often referred to as SLA's.  Let's focus on creating an example of an Entitlement Process and how it can be defined to meet some common real world requirements.


First we are going to need to create milestones to use in the process.  Milestones are a new object that model important steps in your case management process.  Milestones are often important service metrics that support organizations use to track and report on performance.  When you first enable the Entitlement Management feature there are no pre-populated milestones.  For the purposes of this example we are going to create two new milestones:  first response and resolution time.  These are the two most common types of milestones.

Navigate to the Entitlement Management-->Milestones page in the Customize Setup menu to add or modify milestones.


Create a new record with the name First Response and a description of Notification to the customer that their case has been received and it is being worked.




Next create a second milestone named Resolution Time and a description of The amount of time required to successfully resolve a customer case.



A first response milestone represents how quickly your support organization must respond to a customer case.  It is sometimes referred to as response time or initial response.  It is often defined as the elapsed time from when a case is opened until a member of the support organization starts diagnosing the problem.  Usually this is marked by notifying the customer that their issue is being addressed either via email, a comment on the case or both.  Note that an auto-response email would not generally be acceptable as a first response because it would rarely equate to a service agent or support engineer beginning to analyze and work the case.

Resolution time is usually defined as the time required to successfully resolve a customer issue.  That may be the time required to fix the root cause of a case or the time required to provide a satisfactory workaround.  For our purposes we will define it as the elapsed time between when a case is opened until it is resolved to the customer’s satisfaction.  More specifically it will be the time from when a case was created until the case status is set to Closed and the Date/Time Closed field is set with a value less than or equal to the current date.


Now that we have our two milestones defined we need to create an Entitlement Process that references them.  To do this create a new record on the Entitlement Process setup page.  Name it Standard Support Process.  Leave the Case enters the process field with the default Based on case created date.  For the Case exits the process field I am using custom criteria in order to list more than one case close status and to require a case reason.  These two fields determine when the process will run against a case.



Now we can add the first response and resolution time milestones to the process.  When you add milestones to a process, you will see a Milestone Name pick list along with a Time Trigger, Order, and Criteria fields.  The Milestone Name field contains all of the milestones that exist in your Org.  The Time Trigger field is the SLA or the elapsed time from when the case is created until the milestone must be completed.  The Order field is only used by the process if you define identical or overlapping criteria.  The criteria field on milestones is used to define what cases the milestone will apply.  Even if the process is running against a case, if a given milestone's criteria are not met then that milestone will not appear on the case.  The most common field to use in the criteria is case priority.  Normally, the higher the priority of a case, the tighter (shorter) the SLA.  It is also common to include customer and product attributes.  The Case Origin field is frequently used in milestone criteria to handle use cases such as phone support which may or may not require a first response because the case is created by an agent while talking to the customer.

Our example is going to use case priority to define different SLA's for Critical, High, and Medium or Low cases.  This applies to both first response and resolution time milestones.




MilestoneCriteriaTime Trigger (minutes)
First ResponseCase.Priority == Critical60
First ResponseCase.Priority == High240
First ResponseCase.Priority == Medium, Low480
Resolution TimeCase.Priority == Critical480
Resolution TimeCase.Priority == High960
Resolution TimeCase.Priority == Medium, Low2,400

Once the entitlement process is activated it can be associated to customers' entitlements and applied to cases. This post is not going to delve into creating and maintaining entitlements or creating cases from entitlements.


Automatically Completing Case Milestones
It is possible to write apex triggers to automatically complete milestones. Of course, you need to define what events and related case criteria determine what it means to complete a milestone.

In order to automatically complete a first response milestone we need to look at what events represent an agent beginning work on a case as well as what the criteria is for notifying the customer. For starters we might look at the event of an agent or support engineer taking ownership of a case.  In addition, the status of the case may change from New to In Progress. Finally, the customer needs to be notified which is often via an email or a comment on the case.  For our example, we are going to consider a first response milestone complete when either an outbound email is sent to the contact on the case or a public case comment is added to the case by the owner of the case and ensure that the owner is an internal user.

First Response completion criteria 
  • Must be triggered by an internal user
  • Case is assigned to an internal user. 
  • Case status is In Progress. 
  • An outbound email is sent to the contact on the case. 
  • A public case comment is added to the case by the owner of the case.

Resolution Time completion criteria
  • Must be triggered by an internal user
  • Case is closed
  • Case Status is Closed

Sample code

· Flag

Latest Comment from Salesforce

  • Michael Ramsey - 7 years ago

    @Samuel please some my comments below...

    Can you please tell me what does actually this timeline and milestone indicate ??

    [Michael Ramsey] The milestones that you create such as first response or resolution time are defined by you.  The examples I gave may or may not make sense for your company.  You also should define what it means to complete a first response to a customer or what resolution time means.

    how the milestone changes it colour for warning??

    [Michael Ramsey]  The timeline currently only turns milestones red if they are violated, there are no other visualizations.  You can set workflow actions to fire at a predetermined time to a violations such as email alerts or field updates.  This is done in the Setup/Customize/Entitlement Management/Entitlement Process setup page if you drill down on a particular milestone.

    how we can add timeline to each case page??

    [Michael Ramsey] The timeline control can be added via the Page Layout Editor on the Case Page in question.  Note, that for all of the entitlement fields on the Case object that you want to expose on the case page you may have to first make them visible to profiles on the Field Level Security (FLS) setup pages.

  • Upvotes
  • Downvotes



from AppExchange

Help us to keep IdeaExchange clean by pointing out overlapping ideas. We'll investigate your suggestion and merge the ideas if it makes sense.



Thanks for your merge suggestion. We will review it shortly and merge the ideas if applicable.

Salesforce takes abuse situations very seriously. Examples of abuse include but are not limited to posting of offensive language or fraudulent statements. To help us process your request as quickly as possible, please fill out the form below describing the situation. For privacy and security reasons, the final outcome of an abuse case may not be revealed to the person who reported it.


Thank you for your feedback. We take abuse seriously and will investigate this issue and take appropriate action.