The Spring 2013 / SP1 / Leo release for Microsoft Dynamics CRM 2013 provides new functionality for Service Level Agreements (SLAs). The SLAs are configurable to your requirements and provide not only deadline monitoring but also automated warnings and escalations.
In this post I walk through the setup process and show the functionality in action. Invest 5 minutes here and walk away up to speed on this new feature.
Configuration of SLAs
Here’s the logical flow for configuring SLAs:
|1||Define your Organization’s holiday schedule (the exception days when CRM should stop the clock on its SLA calculations)|
|2||Define your Organization’s customer service hours (e.g. it might be 9 to 5, Mon to Fri or it might be 24 x 7 x 365)|
|3||Create an SLA ‘agreement’ for each Customer Service Offering your Organization provides|
|4||Define the SLA detail for each agreement. You can create general rules for each SLA Type (First Response, Case Resolution, Follow Up) or you might want to create specific rules for e.g. P1 vs. P2 Cases.
The sub-steps here are:
|5||Activate the SLA agreement|
|6||Associate an SLA to an Entitlement|
|7||Associate the Entitlement to your Customer records|
|8||Start referencing the Entitlement on your Customer Cases (you could do this automatically via code or workflow)|
|9||If Cases are created that reference the Entitlement tied to the SLA and which meet the applicability criteria defined on the SLA then you will see the SLA take effect.
CRM will check for SLA applicability both on create and on update of the Case so if the attributes on the Case changes and the applicability criteria is suddenly met (e.g the Case was bumped from P2 to P1) then the SLA will be triggered and the countdown initiated.
Working with SLAs as an End User
When an SLA is triggered you will see the applicable SLA due dates populated on the Case form. In the example below I created a Case at 1pm on a Saturday for a Customer whose SLA dictates first response within 1 hour and resolution within 4 hours. The agreed customer service hours are 8 to 5, Monday to Friday. CRM calculate the first response as being due at 9am on Monday (1 hr after the customer service schedule commences) and puts the resolution deadline at 12pm Monday:
The default way of informing CRM that first response has been provided appears to be a new field on the Case record: “First Response Sent”. As an end user I inform CRM that I have completed first response by updating “First Response Sent” to “Yes”. There is no immediate alert on the Case that the SLA has been met. But once the SLA deadline is hit CRM will see that the expected action had been completed in time and no warning or escalation will be triggered.
You could also implement a Workflow to set this field for the User, based on say the entry of an outbound phone call against the Case.
And you don’t have to use this field as your success indicator. In the SLA definition you can define whatever you like:
Behind the Scenes – SLA Workflows
Microsoft have used CRM’s workflow engine to orchestrate the SLA monitoring. This is transparent, you can call up the SLA workflow via the Background Processes associated view:
Here is the workflow that was executed for my earlier example. You will see the workflow is sitting in a timeout state, waiting for the SLA deadline. Once that time is hit it evaluates the success criteria that was defined in the SLA rule and then either exits out (if met), otherwise it performs the escalation/warning actions that were defined:
Adding Visibility to the SLA Deadline – the new Timer Control
SLAs are more effective if the end user has visibility of the deadline. CRM provides date time fields for each SLA type: First Response By, Resolve By, Follow Up By. But better still, Microsoft have released a new Timer control we can add to our forms to provide an actual countdown and success/failure indicator.
To add this control, jump into the form editor, and insert it via the INSERT tab on the ribbon:
Selecting the Timer control will pop a dialog window asking for property values for the control:
Here you connect the Timer’s properties to the fields that you are using for the SLA. The end result is the below. Here I have a Case that I created at 5:45pm that has a 15 minute SLA (based on 24 x 7 support) for First Response, with a warning triggered after 5 minutes:
Once the 5 minute market is hit the timer changes in appearance to the below:
And then once the SLA deadline is hit and the SLA not met, the timer becomes red and switches to counting up, giving you how long over the SLA you are:
A couple of limitations of the Timer:
- You can’t add it the form header or footer, only the body
- The timer is not a field so it can’t be added to CRM views. It is only effective on the CRM form. On views, users must leverage the date time fields instead. Some color-coded SLA identifiers would have been useful in the views. I guess you can do that via conditional formatting rules if using the Outlook Client
In summary, a cool new feature. I especially like the configurability offered to automate any number of actions at the warning and again at the deadline.