Salesforce Entitlements Implementation Guide
Salesforce Entitlements Implementation Guide
Entitlement Management
Salesforce, Winter ’23
@salesforcedocs
Last updated: September 23, 2022
© Copyright 2000–2022 salesforce.com, inc. All rights reserved. Salesforce is a registered trademark of salesforce.com, inc.,
as are other names and marks. Other marks appearing herein may be trademarks of their respective owners.
CONTENTS
ENTITLEMENT VERSIONING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Updating an Entitlement Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Create a New Version of an Entitlement Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Use a New Version of an Entitlement Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Important: Only users in orgs with the Service Cloud can enable, create, and update entitlement management items.
1
Introduction to Entitlement Management Entitlements: Terms to Know
Note:
• Contacts on an account don’t automatically inherit the account’s entitlements. Depending on your business processes,
you may need to create a separate entitlement for each contact on an account. You can also set up an Apex trigger that
automatically assigns an entitlement to a contact when you create the contact.
• Entitlement contacts don’t have page layouts, search layouts, buttons, links, or record types.
• The same visibility and sharing settings that apply to the parent account apply to contacts. Associating a contact with an
entitlement doesn’t share the entitlement record with the contact or the related experience user.
Entitlement Template
Predefined terms of customer support that can be quickly added to products in Salesforce. For example, you can create entitlement
templates for phone or web support so users can easily add entitlements to products purchased by customers.
Note: In Lightning Experience, the contact related list isn’t available on Entitlements.
Entitlement Management
A collection of Salesforce features that help you provide the correct service levels to your customers. It includes:
• Entitlements, which let support agents determine whether a customer is eligible for support.
• Entitlement processes, which are timelines that include all the steps that your support team must complete to resolve support
records like cases or work orders.
• Service contracts, which let you represent different kinds of customer support agreements like warranties, subscriptions, or
maintenance agreements. You can restrict service contracts to cover specific products.
• Experience access to entitlements, which lets experience users view entitlements and service contracts and create support records
from them.
• Reporting on entitlement management, which lets you track the way entitlements are used in your Salesforce org and whether
service contract terms are being met.
Depending on your business needs, you may decide to use all of these features or just a few of them.
Service Contract
A customer support agreement between you and your customers. Service contracts in Salesforce can represent warranties,
subscriptions, service level agreements (SLAs), and other types of customer support. View service contracts in the Service Contracts
tab or on the Service Contracts related list on accounts and contacts.
Contract Line Item
Specific products covered by a service contract. View contract line items in the Contract Line Items related list on service contracts
(not contracts!). You can only use contract line items if your org uses products.
Note: Schedules aren’t available for contract line items, and experience users can’t access them.
Entitlement Process
A timeline that includes all the steps (milestones) that support agents must complete to resolve a support record. Each process
includes the logic needed to determine how to enforce the correct service level for your customers. Entitlement processes come in
two types: Case and Work Order.
Not all entitlements need processes. For example, a simple entitlement might just state that a customer is eligible for phone support
24/7. If you need to add time-dependent steps or service levels to that definition—for example, if you want a supervisor to be notified
by email when a customer’s case goes unresolved for two hours—you need an entitlement process.
Milestone
A required step in your entitlement process. Milestones are metrics that represent service levels to provide to each of your customers.
Examples of milestones include First Response and Resolution Time on cases.
2
Introduction to Entitlement Management Entitlement Management Limits and Limitations
Milestone Action
A time-dependent workflow action that occurs on a milestone in an entitlement process. For example, you might add the following
actions to a milestone:
• Send an email alert to certain users one hour before a first response milestone is scheduled to expire
• Update certain fields on a case one minute after a first response is completed
There are three types of milestone actions:
• Success actions are triggered when a milestone is completed
• Warning actions are triggered when a milestone is about to be violated
• Violation actions are triggered when a milestone is violated
You can automate tasks, email alerts, field updates, and outbound messages for each action type.
Limitations
Experience Limitations
• Entitlements are only supported in experiences built using Salesforce Tabs + Visualforce and can’t be added to Lightning
Experience.
Entitlement Limitations
• Every entitlement must be associated with an account.
• You can’t share entitlements. Entitlements inherit their parent account’s sharing settings. To update an entitlement, you need
Read access on the parent account.
• If you’re using entitlement processes, manage customers’ work orders and cases on separate entitlements. This is because an
entitlement process only runs on records that match its type. For example, when a Case entitlement process is applied to an
entitlement, the process only runs on cases associated with the entitlement. If a work order is also associated with the entitlement,
the process won’t run on the work order.
• Merge fields for entitlements on cases aren't supported. For example, if you add the Entitlement Name
{!Case.Entitlement} merge field to an email template, the field is not populated on the template.
3
Introduction to Entitlement Management Entitlement Management Limits and Limitations
• Entitlement contacts don’t have page layouts, search layouts, buttons, links, or record types.
• Entitlements don’t automatically apply to cases created with Web-to-Case or Email-to-Case. For details on how to auto-add
entitlements to these types of cases, see Automatically Add Entitlements to Cases from Web, Email, and Experiences.
• An email violation is triggered to the Queue if there is an email address associated with it. Queue members don't receive the
violation email.
Milestone Limitations
• You can’t add milestones to support records without using entitlement processes. Entitlement processes apply milestones to
support records.
• Milestones aren’t marked completed automatically. For details on how to auto-complete milestones on records that match
unique criteria, see Auto-Complete Case Milestones.
• Actions on time-based milestones sometimes execute a few seconds before their target date. For example, if you set up a violation
action to occur 0 minutes after the milestone is violated, the action can execute in the minute before the target date.
• After an entitlement process is activated, you can’t delete its milestones or create milestone actions. But you can create versions
of entitlement processes with different milestone settings and apply the new version to existing entitlements.
• By default, the tracker shows only one milestone countdown at a time. To view upcoming milestones, use the links in the tracker.
• The Milestone component and tracker doesn’t appear in the Salesforce mobile app.
• Business hours on entitlement processes aren’t supported in change sets. To transfer an entitlement process with business hours
from one Salesforce org to another, use one of these approaches:
– Create the entitlement process from scratch in the new org.
– Use an alternative method to transfer the entitlement process, such as the Ant Migration Tool.
– Remove the business hours from the entitlement process before adding it to a change set.
– Case Milestone doesn't have system fields to identify who completes or changes the milestone.
Note: If you experience issues with the Root Service Contract field being blank, contact Salesforce for help.
4
Introduction to Entitlement Management Entitlement Management Limits and Limitations
• When you're adding multiple contract line items to a service contract, picklist fields on contract line items show all values in your
org rather than only the values corresponding to the line item’s record type. But selecting a value corresponding to a different
record type results in an error. This issue doesn’t occur when you edit a single line item.
• When you clone a case that’s related to an entitlement record, the Entitlement Process Start Time carries over from the cloned
case.
5
PLANNING YOUR IMPLEMENTATION
6
Planning Your Implementation Planning for Entitlement Management
Entitlements + service contracts Support agents determine whether a • Entitlements are purchased and
customer is eligible for support based on managed separately from the products
their service contract. they cover and are part of a service
contract
• Your customers' entitlements are
renewed at a contract level
• You use Salesforce for customer support
but not necessarily for service contract
management
Entitlements + service contracts + contract Support agents determine whether a • You use Salesforce for customer support
line items (most complex option) customer is eligible for support based on and to manage your customers' service
the products covered in their service contracts
contract.
• Your support team manages service
contract transactions, such as transfers,
mergers, and renewals
• Warranties, subscriptions, or other
support products appear as line items
on your sales orders and map to one or
more entitlements
• Entitlements are created and updated
through an integration with your order
management system
Regardless of the setup model you choose, you can enhance your support process with other entitlement management features. For
example, you can:
7
Planning Your Implementation Entitlement Management Setup Checklist
• Create entitlement processes to enforce required, time-dependent steps in your support process
• Use entitlement versioning to create and maintain multiple versions of entitlement processes
• Add entitlements to experiences
• Report on entitlements
After you select a setup model, head to the invaluable Entitlement Management Setup Checklist.
Give Users Access to Entitlement You want to give users the appropriate user
Management permissions, field access, and tab access.
Set Up the Milestone Tracker You want your support team to be able to
see a list of upcoming and completed
8
Planning Your Implementation Entitlement Management Setup Checklist
Limit User Updates to Milestones You want to prevent users from updating milestones unless
certain criteria are met.
Create a Milestone You want to define a required step in your support process.
Set Up Entitlement Processes You want to be able to apply the required steps in your support
process to specific records.
Create an Entitlement Process You want to create a timeline that includes all of the steps that
your support team must complete to resolve support records.
Customize Entitlement Process Fields You want to control which entitlement process fields users see.
Add a Milestone to an Entitlement Process You want to specify which required support steps occur, and
when, on your timeline.
Add a Milestone Action to an Entitlement Process You want to define time-dependent workflow actions that
occur at every step (milestone) in an entitlement process when
the milestone is nearing violation, violated, or completed.
Apply an Entitlement Process to an Entitlement You want a specific entitlement’s support records to follow the
steps defined in your entitlement process.
Create a New Version of an Entitlement Process You want to update an entitlement process.
Use a New Version of an Entitlement Process You want to apply a new version of an entitlement process to
new or existing entitlements.
Set Up Service Contracts You want customer support eligibility to be determined at the
service contract level.
Add Contract Line Items to Service Contracts You want to be able to limit a service contract to cover specific
products.
Set Up Entitlement Management in Experiences You want customers or partners to be able to view their
entitlements and service contracts and create support records
from them.
Report on Entitlements You want to view and share data on entitlements and service
contracts.
Give your support team entitlement management guidelines. You want your support team to understand:
• How to verify that a customer is entitled to support
• How to link cases or work orders to entitlements
• How entitlement processes affect the way they resolve
cases or work orders
9
SETTING UP ENTITLEMENT MANAGEMENT
Set Up Entitlements
Entitlements are units of customer support in Salesforce, such as “phone support” or “web support”.
EDITIONS
Set up entitlements in your Salesforce org to help support agents determine whether a customer
is eligible for support. Available in both: Salesforce
Classic and Lightning
1. Enable Entitlements Experience
Enable entitlements in your Salesforce org to help support agents deliver the correct service Available in: Professional,
level to your customers. Enterprise, Performance,
2. Customize Entitlements Unlimited, and Developer
Customize entitlement fields and page layouts based on your business needs and how your Editions with the Service
Cloud
agents work.
3. Set Up Entitlement and Asset Lookup Filters on Cases
Set up lookup filters on entitlement-related case fields to restrict the entitlements that users can select on a case.
4. Give Users Access to Entitlement Management
After you set up entitlement management, make sure that users have the appropriate user permissions, field access, and tab access.
5. Set Up an Entitlement Template
Entitlement templates let you predefine terms of support that users can add to products.
6. Automatically Add Entitlements to Cases from Web, Email, and Experiences
Entitlements don’t automatically apply to cases created using Web-to-Case, Email-to-Case, or experience. However, you can add
entitlements to these features using Apex code.
Enable Entitlements
Enable entitlements in your Salesforce org to help support agents deliver the correct service level
EDITIONS
to your customers.
Note: Only users with a standard System Administrator profile can enable entitlements. Available in both: Salesforce
Classic and Lightning
1. From Setup, enter Entitlement Settings in the Quick Find box, then select Experience
Entitlement Settings.
Available in: Professional,
2. Select Enable Entitlement Management. Enterprise, Performance,
Unlimited, and Developer
3. Click Save. This takes you to a page where you can customize entitlement management settings.
Editions with the Service
You’ll come back to those settings later on in the entitlement management setup process.
Cloud
USER PERMISSIONS
To enable entitlements:
• “Customize Application”
10
Setting Up Entitlement Management Customize Entitlements
Customize Entitlements
Customize entitlement fields and page layouts based on your business needs and how your agents
EDITIONS
work.
1. Customize entitlements fields. Available in both: Salesforce
This customization lets you control what information users add to entitlements. Classic and Lightning
Experience
Tip: Create custom entitlement fields that are specific to your industry or your support
Available in: Professional,
processes. For example:
Enterprise, Performance,
• Customize the values for the Type field to match the types of entitlements your Unlimited, and Developer
team provides or sells, like online support or online training. Editions with the Service
• If your business charges for entitlement renewals, create a currency field on Cloud
entitlements named Cost to Renew.
USER PERMISSIONS
2. Customize entitlement page layouts.
This customization lets you specify which fields and related lists users see on entitlements. To edit page layouts and set
field history tracking:
Consider making the following customizations:
• Customize Application
• Add the Status Icon field so users can easily see whether the entitlement is active,
expired, or inactive.
• Add the Cases, Contacts, and Work Orders related lists so users can:
– View cases, contacts, and work orders associated with entitlements
– Create cases or work orders automatically associated with the correct entitlements
– Add contacts to entitlements
• Add the Work Orders Per Entitlement and Remaining Work Orders fields so users can track how many work orders were agreed
to and how many are still available.
Note: In Lightning Experience, the Entitlement Templates related list isn’t available on product page layouts.
Important: To let a user create cases from entitlements or change a case’s assigned entitlement, make the Entitlement
Name field on cases editable for their profile.
Add the Entitlements related list to this object’s page So users can view and create entitlements when...
layouts...
Accounts Any contact on the account is eligible for support
11
Setting Up Entitlement Management Set Up Entitlement and Asset Lookup Filters on Cases
Note: In Lightning Experience, the Entitlements related list isn’t available on Contacts.
5. Make the Entitlements tab visible in Salesforce and any custom apps.
The Entitlements tab is where users create and edit entitlements. Add the tab to an app or instruct your users to add it to an existing
tab set in Salesforce. To see the Entitlements tab, users need the “Read” permission on entitlements.
1. From Setup, enter Entitlement Settings in the Quick Find box, then select Available in: Professional,
Entitlement Settings. Enterprise, Performance,
Unlimited, and Developer
2. Choose the item(s) you'd like returned in the lookup fields.
Editions with the Service
Cloud
Lookup Field on Cases Click... To Return...
Asset Same account on the Assets registered to the
USER PERMISSIONS
case account on the case.
To set up entitlement-related
Tip: If you want the lookups on cases:
lookup field to return • Manage Entitlements
all assets that share an
account with the case,
select only this option.
Note: In Lightning
Experience, the
Entitlements related
list isn’t available on
Contacts.
12
Setting Up Entitlement Management Give Users Access to Entitlement Management
Choosing multiple items acts as an AND function, so the more items you select, the more it restricts the options returned. For example,
choosing Same account on the case and Same contact on the case means the Asset lookup field only
returns assets registered to both the account and the contact on the case.
Tip: Choose items that match the way your support agents verify support eligibility. For example, choose the account-related
items if your support agents verify support eligibility based on accounts.
3. Click Save.
Create and run reports based “Create and Customize Standard User, Solution
on entitlement management Reports” Manager, Contract Manager,
custom report types
13
Setting Up Entitlement Management Give Users Access to Entitlement Management
Create cases with entitlements “Create” on cases Standard User, Solution Manager, Contract
AND Manager, Marketing User, and System
Administrator
“Read” on entitlements
Change a case’s entitlement “Edit” on cases Standard User, Solution Manager, Contract
AND Manager, Marketing User, and System
Administrator
“Read” on entitlements
Create work orders with entitlements “Create” on work orders Standard User, Solution Manager, Contract
AND Manager, Marketing User, and System
Administrator
“Read” on entitlements
Change a work order’s entitlement “Edit” on work orders Standard User, Solution Manager, Contract
AND Manager, Marketing User, and System
Administrator
“Read” on entitlements
Verify or view entitlements “Read” on entitlements Standard User, Solution Manager, Contract
Manager, Marketing User, and System
Administrator
View entitlement contacts “Read” on entitlement contacts Standard User, Solution Manager, Contract
Manager, Marketing User, and System
Administrator
Change entitlement contacts “Create” on entitlement contacts None: enable the permissions in a
AND permission set or custom profile
Verify or view service contracts “Read” on service contracts Standard User, Solution Manager, Contract
Manager, Marketing User, and System
Administrator
Create service contracts “Create” on service contracts None: enable the permission in a
permission set or custom profile
Change service contracts “Edit” on service contracts None: enable the permission in a
permission set or custom profile
14
Setting Up Entitlement Management Give Users Access to Entitlement Management
Add contract line items to service contracts “Edit” on service contracts None: enable the permissions in a
AND permission set or custom profile
Change contract line items on service “Edit” on service contracts None: enable the permissions in a
contracts AND permission set or custom profile
Tip: If a standard profile doesn’t include a certain user permission, you can create a permission set and enable the permission
in it. Or, clone the standard profile and enable the permission in the custom profile.
Important: To let a user create cases from entitlements or change a case’s assigned entitlement, make the Entitlement
Name field on cases editable for their profile.
SEE ALSO:
Salesforce Help: Field-Level Security
15
Setting Up Entitlement Management Set Up an Entitlement Template
Note: In Lightning Experience, the contact related list isn’t available on Entitlements. Available in: Professional,
Enterprise, Performance,
Purchased or installed products are represented in Salesforce as assets. That means: Unlimited, and Developer
Editions with the Service
• A product (for example, “Laser Scanner”) is linked to an entitlement template
Cloud
• A corresponding asset (for example, the laser scanner purchased by ABC Labs) is linked to an
entitlement that was created from the entitlement template
USER PERMISSIONS
Note: Entitlement templates are only available if entitlements and products are enabled in
your org. To create entitlement
templates:
Tip: The Entitlement Management Trailhead module introduces you to common terms and • Manage Entitlements
walks you through the process of creating an entitlement template. And, it’s fun! To get
started, see Entitlement Management.
1. Add the Entitlement Templates related list to product page layouts.
2. Optionally, add the Type and Business Hours fields to the Entitlement Templates related list. This lets users view the type
of entitlement, such as Web or phone support, and any business hours that apply to the entitlement.
3. Create an entitlement template.
a. From Setup, enter Templates in the Quick Find box, then select Entitlement Templates.
b. Click New Template.
c. Enter any details:
Field Description
Entitlement Template Name The name of the entitlement template.
Use a descriptive name, like Phone Support. This helps
users better understand entitlement templates when they see
them on related lists for products.
Per Incident Lets you limit the number of cases the entitlement supports.
The admin determines whether this field is visible.
Cases Per Entitlement The total number of cases the entitlement supports.
This field is only available if Per Incident is selected.
16
Setting Up Entitlement Management Automatically Add Entitlements to Cases from Web, Email,
and Experiences
Field Description
Business Hours The entitlement’s supported business hours.
4. Click Save.
5. Add the entitlement template to a product.
a. Go to the product detail page.
b. Click Add Entitlement Template on the Entitlement Templates related list.
c. Select the entitlement template.
d. Click Insert Selected.
e. Click Done.
Now when a user creates an asset and links it to that product, the Entitlements related list on the asset includes an entitlement
created from the entitlement template. That way, support agents responding to a call about the asset can quickly see what kind of
support the customer is entitled to receive.
1. From Setup, enter Case Triggers in the Quick Find box, then select Case Triggers.
2. Click New. USER PERMISSIONS
3. Copy the text below and paste it in the text field. To define Apex triggers:
• Author Apex
4. Click Save.
17
Setting Up Entitlement Management Automatically Add Entitlements to Cases from Web, Email,
and Experiences
[Select e.EntitlementId,e.ContactId,e.Entitlement.AssetId
From EntitlementContact e
Where e.ContactId in :contactIds
And e.Entitlement.EndDate >= Today
And e.Entitlement.StartDate <= Today];
if(entlContacts.isEmpty()==false){
for(Case c : Trigger.new){
if(c.EntitlementId == null && c.ContactId != null){
for(EntitlementContact ec:entlContacts){
if(ec.ContactId==c.ContactId){
c.EntitlementId = ec.EntitlementId;
if(c.AssetId==null && ec.Entitlement.AssetId!=null)
c.AssetId=ec.Entitlement.AssetId;
break;
}
}
}
}
} else{
List <Entitlement> entls = [Select e.StartDate, e.Id, e.EndDate,
e.AccountId, e.AssetId
From Entitlement e
Where e.AccountId in :acctIds And e.EndDate >= Today
And e.StartDate <= Today];
if(entls.isEmpty()==false){
for(Case c : Trigger.new){
if(c.EntitlementId == null && c.AccountId != null){
for(Entitlement e:entls){
if(e.AccountId==c.AccountId){
c.EntitlementId = e.Id;
if(c.AssetId==null && e.AssetId!=null)
c.AssetId=e.AssetId;
break;
}
}
}
}
}
}
}
18
Setting Up Entitlement Management Set Up Service Contracts
• To let users make one service contract the parent of another, add the Parent Service AND
Contract field and Child Service Contracts related list. You can also add the read-only Customize Application
Root Service Contract field so users can see the top-level service contract in a
service contract hierarchy. A service contract hierarchy can contain up to 10,000 service
contracts.
5. Make the Service Contracts tab visible in Salesforce and any custom apps.
The Service Contracts tab is where users create and edit service contracts and contract line items. Add the tab to an app or instruct
your users to add it to an existing tab set in Salesforce. Users need the “Read” permission on service contracts to see the Service
Contracts tab.
6. Add the Service Contracts related list to account and contact page layouts.
This lets users create, update, and verify service contracts from accounts and contacts.
19
Setting Up Entitlement Management Add Contract Line Items to Service Contracts
Note: Schedules aren't available for contract line items, and experience users can’t access them.
20
Setting Up Entitlement Management Set Up Entitlement Management in Experiences
2. Add the Entitlements and/or Service Contracts tabs to the experience. USER PERMISSIONS
3. Add the Entitlement Name field to case and work order page layouts assigned to To create, customize, or
experience users. activate a experience:
This lets users add entitlements to cases and work orders. • Create and Set Up
experiences AND is a
Note: To avoid exposing your internal support processes, we recommend not adding member of the
the following fields to case and work order page layouts for experience users: experience they’re
updating
• Entitlement Process Start Time
To set up entitlement
• Entitlement Process End Time
management:
• Stopped • Manage Entitlements
• Stopped Since To assign user licenses:
• Manage Internal Users
4. Optionally, add the Entitlements related list to account and contact page layouts assigned to
experience moderators. This lets moderators create cases automatically associated with the
right entitlements.
21
Setting Up Entitlement Management Report on Entitlements
Report on Entitlements
Use custom report types to define report criteria that users can use to run and create reports on
EDITIONS
entitlements, service contracts, and contract line items.
After you set up entitlement management, your Salesforce org automatically includes the following Available in both: Salesforce
custom report types: Classic and Lightning
Experience
Custom Report Type Description Report Type Location Available in: Professional,
Accounts with entitlements Lists accounts with Accounts & Contacts Enterprise, Performance,
with contacts entitlements that include Unlimited, and Developer
contacts (named callers). Editions with the Service
Cloud
Service contracts with contract Lists service contracts with Customer Support Reports
line items contract line items (products).
USER PERMISSIONS
Service contracts with Lists service contracts with Customer Support Reports
entitlements entitlements. To create or update
entitlement management
Cases with milestones Lists cases with milestones. Customer Support Reports custom report types:
• Manage Custom Report
Note: This report type Types
can’t be customized.
To create and run reports
based on entitlement
management custom report
To customize entitlement management custom report types: types:
• Create and Customize
1. From Setup, enter Report Types in the Quick Find box, then select Report Types. Reports
2. From the All Custom Report Types page, you can:
• Define a new custom report type. You can't select entitlements as a primary object.
• Update a custom report type's name, description, report type category, and deployment status.
• Delete a custom report type.
Important: When you delete a custom report type, all the data stored in the custom report type is deleted and cannot
be restored from the Recycle Bin.
Tip: If you want to view a list of work orders with milestones in your org, use the Object Milestones custom report type to create
a work order report.
22
ENFORCING SERVICE LEVELS
Set Up Milestones
Milestones represent required steps in your support management process, like first response times.
EDITIONS
Set up and customize milestones in your org so they can be added to entitlement processes and
applied to support records like cases and work orders. Available in both: Salesforce
Before setting up milestones, make sure that you understand where milestones can appear. See Classic and Lightning
Where Can I View Milestones? Experience
23
Enforcing Service Levels Customize Milestone Page Layouts
Field Description
USER PERMISSIONS
Actual Elapsed Time The amount of time that it took to complete
a milestone. To create and edit page
layouts:
(Elapsed Time) – (Stopped Time) = (Actual
• Customize Application
Elapsed Time)
To create milestones:
Note: If you want to be able to display • Manage Entitlements
this field, Enable stopped time and
AND
actual elapsed time must be selected
Customize Application
on the Entitlement Settings page.
To enable the Stopped Time
Completed Icon that indicates milestone completion. and Actual Elapsed Time
fields:
Completion Date The date and time the milestone was
• Manage Entitlements
completed.
Start Date The date and time that the milestone tracking
started.
24
Enforcing Service Levels Customize Milestone Page Layouts
Field Description
Target Date The date and time to complete the milestone.
Time Remaining The time that remains before a milestone violation. Automatically
calculated to include any business hours on the support record.
Time Since Target The time that has elapsed since a milestone violation.
Automatically calculated to include any business hours on the
support record.
Field Description
Milestone Status The milestone’s status.
Entitlement Process Start Time The time the record enters the entitlement process.
Entitlement Process End Time The time the record exits the entitlement process.
b. Add the Case Milestones or Object Milestones related list to display the record’s milestones.
In Lightning Experience, the Case Milestones related list doesn't support the Business Hours field. Only certain fields in the Object
Milestones related list are supported.
25
Enforcing Service Levels Enable Milestone Feed Items
1. From Setup, enter Entitlement Settings in the Quick Find box, then select
Entitlement Settings. USER PERMISSIONS
2. Select Enable milestone feed items. This enables feed items for both cases and work orders. To enable milestone feed
When milestones feed items are posted, agents can click the milestone name to view its details. items:
• Manage Entitlements
• The time remaining until an active milestone reaches its Target Date Available in: Professional,
• The time passed since an overdue milestone’s Target Date Enterprise, Performance,
Unlimited, and Developer
• A list of upcoming milestones
Editions with the Service
• A list of completed milestones Cloud
When a milestone is in progress, the milestone is represented by a green circle. The circle winds
down clockwise as time elapses. The remaining time is shown in the center of the circle. When the USER PERMISSIONS
time to complete the milestone expires, the circle turns red. The amount of time that the milestone
is overdue is shown in the center of the circle. If more than 24 hours remain on a milestone, the To create and edit page
countdown displays in days (for example, 1d). When fewer than 24 hours remain, the countdown layouts:
format switches to hours/minutes/seconds. • Customize Application
26
Enforcing Service Levels Set Up the Milestone Tracker
In Lightning Experience
2. Set how the milestone tracker displays time remaining or time overdue on milestones.
To make it display time remaining or time overdue in business hours, follow these steps.
a. From Setup, enter Entitlement Settings in the Quick Find box, then select Entitlement Settings.
b. In the Milestone Tracker section, deselect Show the time remaining in actual hours, not business hours.
c. Click Save.
Example: Suppose an active milestone’s business hours are 9 a.m. to 5 p.m. Right now, it’s 4:30 p.m. and the milestone’s Target
Date is 11:00 a.m. tomorrow.
• If the milestone tracker shows the remaining time in business hours (the default setting), it displays a countdown of 2 hours
and 30 minutes (4:30 to 5 p.m. today and 9 to 11 a.m. tomorrow).
• If the milestone tracker shows the remaining time in actual hours, it displays a countdown of 18 hours and 30 minutes (4:30
p.m. today to 11:00 a.m. tomorrow).
27
Enforcing Service Levels Limit User Updates to Milestones
Note: To create validations rules, use Setup in Salesforce Classic. Don’t worry, your validation Available in both: Salesforce
rules still apply in Lightning Experience. Classic and Lightning
Experience
1. From the object management settings for case milestones, go to Validation Rules.
Available in: Professional,
2. Click New.
Enterprise, Performance,
3. Enter the rule details. Unlimited, and Developer
Editions with the Service
4. Save your changes.
Cloud
Example: This validation rule prevents users from selecting milestone completion dates
that are earlier than the case creation date. You can create a similar validation rule for work
USER PERMISSIONS
orders from the object management settings for Object Milestones in Setup.
To define or change field
Field Value validation rules:
• Customize Application
Rule Name milestone_completion_date
To create or edit milestones:
Description A milestone’s completion date • Manage Entitlements
must be later than the case
creation date.
28
Enforcing Service Levels Create a Milestone
Create a Milestone
Milestones represent required steps in your support process, such as case resolution time and first
EDITIONS
response time. You create master milestones in your org and then add them to entitlement processes
to enforce different service levels on support records, like cases and work orders. Available in both: Salesforce
Tip: The Entitlement Management Trailhead module introduces you to common terms and Classic and Lightning
Experience
walks you through the process of creating milestones. And it’s fun! To get started, see
Entitlement Management. Available in: Professional,
1. From Setup, enter Milestones in the Quick Find box, then select Milestones under Enterprise, Performance,
Entitlement Management. Unlimited, and Developer
Editions with the Service
2. Click New Milestone. Cloud
3. Enter a name and description. Try to name milestones after common support tasks, like “First
Response Time” or “Resolution Time.” Descriptive names help users understand milestones
USER PERMISSIONS
when they see them on cases, work orders, or entitlement processes.
4. Select a recurrence type. To create milestones:
• Manage Entitlements
Recurrence Type Description Example
No Recurrence The milestone occurs only First Response
once on the record. Resolution Time
5. Click Save.
You can’t apply a milestone to a record by itself. It must be part of an entitlement process. So after you create your milestone, add it to
an entitlement process.
Tip: You can add validation rules to a milestone so that users can update a milestone only if it meets specific standards. For details,
see Limit User Updates to Milestones.
29
Enforcing Service Levels Auto-Complete Case Milestones
30
Enforcing Service Levels Auto-Complete Case Milestones
Id contactId = cont.Id;
String entlId;
if (entl != null)
entlId = entl.Id;
31
Enforcing Service Levels Auto-Complete Case Milestones
Id contactId = cont.Id;
String entlId;
if (entl != null)
entlId = entl.Id;
Sample Trigger 1
You can create a milestone named Resolution Time that requires cases to be closed within a certain length of time. It’s a great way
to enforce case resolution terms in SLAs. This sample case trigger marks each Resolution Time milestone Completed when its case
is closed. This way, the support agent doesn’t have to manually mark the milestone completed after closing the case.
Note: This trigger references the milestone utility test class, so be sure to define the test class first.
32
Enforcing Service Levels Auto-Complete Case Milestones
updateCases.add(c.Id);
}
if (updateCases.isEmpty() == false)
milestoneUtils.completeMilestone(updateCases, 'Resolution Time', completionDate);
}
}
Sample Trigger 2
You can create a milestone named First Response that requires agents to get in touch with a case contact within X minutes or hours
of the case’s creation. It’s a nice way to ensure that your support team is communicating with case contacts as soon as possible. This
sample email trigger marks a First Response milestone Completed when an email is sent to the case contact. That way, the support
agent doesn’t have to manually mark the First Response milestone Completed after they email the case contact.
Note: This trigger references the milestone utility test class, so be sure to define the test class first.
33
Enforcing Service Levels Auto-Complete Case Milestones
}
}
}
Sample Trigger 3
While the previous trigger dealt with email messages, this sample case comment trigger marks a First Response milestone Completed
when a public comment is made on the case. You can use it if a public case comment is a valid first response in your support terms.
Note: This trigger references the milestone utility test class, so be sure to define the test class first.
34
Enforcing Service Levels Set Up Entitlement Processes
35
Enforcing Service Levels Create an Entitlement Process
Tip: We recommend waiting to activate an entitlement process until you add milestone actions to it. You can’t update or
delete milestone actions on a process after it’s activated and applied to a record.
6. Optionally, if entitlement versioning is enabled, select Default Version to make this version of the entitlement process the default.
7. Choose the criteria for records to enter and exit the entitlement process.
Based on a custom date/time field on Yes, a drop-down list displays for selecting
the record the custom date/time. You can only
Select if you want the value of a custom choose a custom date/time, not a custom
date/time field on the record to determine date.
when the record enters the process.
36
Enforcing Service Levels Customize Entitlement Process Fields
*The field names you see will reflect the entitlement process type you selected.
8. Optionally, choose the business hours you’d like to apply to the entitlement process. The business hours you set here calculate the
Target Date for all the milestones on this entitlement process. To learn more, see How Business Hours Work in Entitlement Management.
9. Save your changes.
Important: All users, even those without the “View Setup and Configuration” user permission, can view entitlement processes
via the API.
Timeline (available only on case page How far along a case is to reaching an Available in: Professional,
layouts) entitlement process’s milestones. You can click Enterprise, Performance,
or hover your mouse pointer over each Unlimited, and Developer
milestone to view its details. These icons Editions with the Service
represent milestones: Cloud
•
USER PERMISSIONS
Completed milestone
• To edit page layouts:
• Customize Application
Violated milestone
37
Enforcing Service Levels Add a Milestone to an Entitlement Process
Field Description
Stopped Since The date and time the entitlement process was stopped on the
record.
38
Enforcing Service Levels Add a Milestone to an Entitlement Process
7. If you selected Enable Apex Class for the Time Trigger (Minutes), use the lookup to specify an Apex class for the dynamically
calculated milestone.
8. Choose when the milestone starts:
Select To Use If
Milestone Criteria Calculate the milestone Target Date A milestone’s Target Date is based
when the milestone is applied to a support on when it’s applied to a record. Use if the
record (matches the record criteria). milestone is recurring.
Entitlement Process Calculate the milestone Target Date A milestone's Target Date is based
when the entitlement process starts (by on the start of the entitlement process. For
default, when a support record is created). example, first response and resolution
times on a case always calculate their
Target Date when the entitlement
process starts.
9. Optionally, select the business hours that you want to apply to the Target Date calculation for this milestone. If you don’t specify
business hours for the milestone, then the Entitlement Process business hours are used. If neither are specified, then the business
hours on the case or work order are used.
10. Specify the order in which Salesforce should process the milestones. This applies to situations where a support record matches the
criteria of multiple milestones at the same time.
11. Enter the criteria a record must match for the milestone to apply to it:
• Choose criteria are met and select the filter criteria that a record must meet for a milestone to apply to it. For example,
set a case filter to Priority equals High if you want the milestone to apply to cases with the Priority field marked
High.
Choose formula evaluates to true and enter a formula that returns a value of “True” or “False.” Salesforce triggers
the rule if the formula returns “True.”
• Choose formula evaluates to true and enter a formula that returns a value of “True” or “False.” The milestone
applies to records if the formula returns “True.” For example, the formula (Case: Priority equals High) AND
(Case: Case Origin equals Email, Web) applies the milestone to cases where the Priority field is High
and the Case Origin field is marked Email or Web. You can’t use the Case Owner field in formulas.
Note: Milestones are measured in minutes and seconds, but their start and end times are only accurate to the minute. For example,
suppose a milestone is triggered at 11:10:40 a.m. and the time to complete the milestone is 10 minutes. In this case, the milestone
target time is 11:20:00 am, not 11:20:40. As a result, the remaining time for the agent to complete the milestone is 9 minutes and
20 seconds, not the full 10 minutes.
39
Enforcing Service Levels Add a Milestone Action to an Entitlement Process
New Field Update Define a field update Update the case Priority field
to High when a First
Response milestone is near
violation.
New Outbound Message Define an outbound message Send data about parts or
services to an external system
after a First Response
milestone is completed.
Select Existing Action Select an existing action Use an existing email alert to
notify a case owner when
their case is near violation of
a first response.
Note: Time-triggered actions only occur during your Salesforce org’s business hours. You can add up to 10 actions and 10 time
triggers to each type of milestone action.
40
Enforcing Service Levels Apply an Entitlement Process to an Entitlement
41
ENTITLEMENT VERSIONING
When you create a new version of an entitlement process, you can change any of the following:
• Name
• Description
• Whether the process is active
• Whether the version is the default
• Entry criteria
• Exit criteria
You can also add notes about the version. This makes it easy to differentiate between multiple versions of the same process, especially
if they have the same name.
On new versions of entitlement processes that are currently in use, you can add new milestones, but you can’t edit existing ones. On
new versions of processes that aren’t currently in use, you can both add new milestones and edit existing ones.
Once you create a new version of an entitlement process, you can choose to apply it to all entitlements and support records assigned
to the previously used version, or only to new entitlements and support records. All versions of an entitlement process must be the same
type: Case or Work Order.
42
Entitlement Versioning Create a New Version of an Entitlement Process
6. Click Save.
After saving, you can modify the entitlement process’ milestones if needed.
Important:
• On new versions of entitlement processes that are currently in use, you can add new milestones, but you can’t edit existing
ones. On new versions of processes that aren’t currently in use, you can both add new milestones and edit existing ones.
• All versions of an entitlement process must be the same type.
When you create a new version of an entitlement process, it isn’t automatically applied to entitlements that were using the previous
version. To learn how to apply a new version of an entitlement process to existing and new entitlements, see Use a New Version of an
Entitlement Process.
43
Entitlement Versioning Use a New Version of an Entitlement Process
Tip: After you click the lookup icon on the Entitlement Process field, select “All Versions” in
the lookup dialog box. Otherwise, you can only choose from the default versions of existing
entitlement processes.
Applying an Entitlement Process to an Existing Entitlement
Scenario: You made a new version of an entitlement process, and you want to switch all the entitlements that were using the previous
version over to your new version.
1. From Setup, enter Entitlement Processes in the Quick Find box, then select Entitlement Processes.
2. Click the name of the entitlement process you want to work with.
The list on the main Entitlement Processes page shows the default version of each process. Click the name of a process to see a list
of all available versions of it.
3. On the detail page for the entitlement process, click the name of the new version that you want to apply to existing entitlements
(and by default, to cases or work orders linked to those entitlements).
4. Click New Update Rule.
5. Choose the version of the entitlement process you want to update from.
You can update from any other version of the process, whether or not it’s active.
6. Depending on the differences between the old and new versions of the entitlement process, updating an entitlement to the new
version can trigger milestone warning and violation actions on that entitlement’s support records (such as cases or work orders). To
avoid such warnings and violation actions, select Don’t Trigger New Milestone Warnings and Violations. We recommend
selecting this so you don’t trigger violation warnings on old entitlements and support records.
7. Click Save.
The update rule detail page shows the estimated number of entitlements and support records that will be updated to use the new
process.
8. Click Start to begin the update process.
44
Entitlement Versioning Use a New Version of an Entitlement Process
Usually the update process completes within an hour, but it depends on the number of entitlements and records being updated.
Throughout the update process, the update rule detail page refreshes periodically to show the number of entitlements and records
processed. To stop the update at any time, click Stop.
When the update rule displays a Completed status, all related entitlements and support records have been updated to use the new
version of the entitlement process. If the status is Completed With Exceptions, some records couldn't be updated to the new
version because of errors. To find out which records weren't updated and why, contact Salesforce Support.
Note: Cases that have already exited the previous version of your entitlement process—for example, if a case has been
closed—aren’t updated to use the new entitlement process.
45
LEARN MORE ABOUT ENTITLEMENT MANAGEMENT
46