Wednesday, 4 February 2015

SLA Fields: ‘First Response By’ and ‘Resolve By’ Behind The Scenes

Ever wondering where the ‘First Response By’ and ‘Resolve By’ fields value in the Applicable SLA came from?

image

In this post will explain about Applicable SLA fields in Case Form in Microsoft Dynamics CRM 2013/2015. I will use the Standard SLA and the Resolve By by CreatedOn as the example here.

I am not going to explain how to setup a SLA in your Organization (including initialization, SLA Detail, SLA Actions, etc.), I am focusing in the Resolve By field value because there are many articles already explained about SLA in general, but not about the fields value in particular topic.

To understand the SLA and how to setup, please see this Microsoft document.

http://www.microsoft.com/en-us/dynamics/crm-customer-center/define-service-level-agreements-slas.aspx

Basically the Resolve By field will be automatically filled by the system to the specific datetime that is the result from the combination of SLA Item Failure, Business Hours (Customer Service Calendar Schedule), and Holiday Schedule.

image

Now, let’s discuss it one by one.

SLA Item Failure

What is the effect of this SLA Item Failure setting?
To go to this item, you need to to Settings –> Service Management –> Service Terms –> Service Level Agreement.

Create New SLA and then Add the New SLA Detail and go to the ‘SLA Item Failure section’ here

image

Here I set 10 Days in the ‘Failure after’ setting.

I set the Applicable From by Created On field and I have no setting in the Business Hours.

image

Do not forget to Activate and Set it as Default.

So here is the result

image
If you did not set the Business Hours setting for your Customer Service Calendar then CRM will treat your support working day is full-day 24x7 hours without any break, so that you set 10 days, it does require exactly 10 days!
I set 10 Days in SLA Item Failure, I create the Case on today 4 February 2015, I must resolve the case by 24 February 2015 or exactly 10 days after the creation date of my Case. Wonderful right?!
Here is the formula.
Resolve By =  (failure tolerance days) + CreatedOn

Business Hours (Customer Service Schedule/Calendar)

Now the second thing that can affect the ‘resolve by’ calculation is the Business Hours (Customer Service Schedule).

You can set the Business Hour in your SLA to my company Customer Service Calendar, here is my example:

I don’t want to open 24x7 Service Center because my company is not a service-oriented company, for instance.
Sorry, Mr. Customer we are closed on Saturday and Sunday, so please call us or visit us only on weekdays at 8.00 AM to 5.00 PM, and remember our lunch break 1 hour!
So, I have this setting:

image

Now, my customer service has the schedule in the calendar setting, so no more 24x7 support setting here, I set the first one (the same each day) with only 5 days for working day, 2 days as holiday in weekend (Saturday and Sunday) to give my CS little bit relaxation and family time! Yeahh!…

Which having 9 hours for each day with 1 hour lunch break, so the total working day hours are 8 hours.

image

Note: You can also set various work days, for example: half day working hours in Saturday (if working) or 2 hours break in Friday for prayers, and so on.

So how much does this Customer Service Schedule affect your Cases?

Result:

image

You may wonder why it is 18 March 2015 5.00 PM?

The answer here is the calculation result of the combination: Failure setting + Business Hours
In the ‘Failure 'after’ setting, you set 10 days, need to understand that this 10 days does not mean exactly the 10 days of your real life calendar time, it does mean 10 working days.

Have you ever called maybe Bank Call Center then you make a request, data changes, for instance, or make new credit card, then the CS Agent will say, okay, Sir, it will be done in 3 days, then he will emphasize, 3 working days. So, if you requested on Friday, do not expect you will get it done on next Monday, because they are off in weekend (Sat-Sun).

The concept in CRM is similar to that analogy, but here, you are needed to be very careful on this way because the 10 days here in CRM SLA here it does not mean 10 days in real life, you need to divide by how many hours you are really working in the Business Hours Customer Service schedule.
I set 8 working hours on Monday until Friday, I set the Failure tolerance to 10 days, so it does mean 30 days.
Here is the formula.
Resolve By = (24 hours / working hours * failure tolerance days) + CreatedOn
So (24/8 * 10) = 30 days, I need to add to CreatedOn (4 February 2015 5.00 PM), excluding the weekend, so I will get 18 March 2015 5.00 PM

imageimage

You can count the yellow-highlighted date in the calendar (from 5 February 2015) and will get 30 days.

In reality we will give 30 days tolerance because it counts of every single minute you spend as the time unit, not by day.

Therefore, we need to be careful in making decision of this failure setting.

Note: This also works for non-exact number of hours, in this example I use exact number (8 hours), just in case you have 8.5 working hours, the formula will be still same 24/8.5 hours, so you will get the number of days + hours + minutes maybe to get your ‘resolve by’ date value.

Do not be confuse here, you set 10 days but you get 30 days.
If you want to have full day, just set 24 hours working day in 7 days…You will get the same result from the first example (SLA with Failure Setting only) because CRM will give 24x7 hours.
If you want to exclude the Weekend only like Bank Call Center analogy, do not set the 8 hours, instead, set 24 hours (because considering you are not caring pretty much about minutes), it will give 10 days in reality, excluding Weekend.
Or…instead set to 24 hours, reducing your Failure time to 3,33 days (10/(24/8))!!
Careful..Careful.. Be careful is the key.
For some companies, the resolution might not important in every single minute, but in some companies with high-level service-oriented type, every single hour, minute, even second, and millisecond are very important, so that they really define the failure tolerance in minute, in fact they cannot rely on to the Day as the lowest unit, so this setting is very important for them to get real ‘Resolved By’!

Holiday Schedule/Calendar

The third thing that will affect the value of ‘Resolve By’ field is the Holiday Schedule.
How much does it will affect the date?

Regarding to the previous example, now I will use that as the base reference here, I just want to add a small piece of setting, I plan to give 2 days as holiday between the tolerance days, that is between 4 February and 18 March.

I set Holiday Schedule two days on 19-20 February 2015

image

Then I modify the Customer Service Schedule to Observe this Holiday Schedule.

image

See the result here:

image

As we can see the result here is 20 March 2015, before we set the holiday we got 18 March 2015, then we set 2 days working-off, so it will delay the ‘resolve by’ postponing it to next after 2 days, that is 20 March 2015 (2 days after initial 18 March 2015).
I set 8 working hours on Monday until Friday, I set the Failure tolerance to 10 days, I have 2 days working day between ‘createdon’ and initial ‘resolve by’ date (18 March 2015), so it does mean 30 days + 2 days = 32 days.
Here is the formula.
Resolve By = (24 hours / working hours * failure tolerance days) + (Number of Holiday in between the two dates) + CreatedOn
Finally, do not be confused if you expect to finish 3 days then you set 3 days and 8 working hours, your field will not be filled by 3 days after the created on, it will give you 9 days (remember, 24/3 * 3 = 9) Smile

Hope this can be e-document for us, in case I also encounter this SLA issue or prospect/client asking about this at least I can understand and refer to this document back, in the future.

Because I found this is interesting topic that having less documentation + may cause confusion in setting it on) and because our memory is not forever. Also to my friend, Ricardo here who is becoming my friend in the community.

Note: This will also works for the ‘First Response By’ field, no worry here.
Just in case you cannot get those fields auto-filled, make sure you have activate it and set it as default.

image

Thank you.

9 comments:

  1. Thanks for the post! I have been testing my SLA in Sandbox with short timeframes, all worked. Then I moved it to production with the SLA adjusted to 5 days, and got confused with what I see... :)

    ReplyDelete
  2. how do I activate and use all SLAs ...I have 50 of them and cant use entitlements because I have 3million customers in this organization

    ReplyDelete
    Replies
    1. If you dont use entitlement, there will be only 1 SLA you set as default would work. You can create 1 SLA multiple items, if the applicable from date is single one. That is oob function. Thanks

      Delete
  3. thank you very match!
    It is very good post!
    I add SLA, but when I want to set the Business Hour in my SLA - the list is empty.
    I mean when I open the lookUp there are no records.
    He also don't give me to create new.
    What can I do?
    thanks!

    ReplyDelete
  4. hi
    have you ever come across multiple activities being created for SLA escalation?

    ReplyDelete
    Replies
    1. Check your synchronous workflows Tiaan.

      Delete
  5. Great article to provide clarity on setting up SLA KPIs, thanks!
    Invariably though, the requirement is slightly more complicated and OOTB does not always work :-(
    BTW. I have found it necessary to configure bank holidays adjoining a weekend to 'include' the weekend also, AND if you have a daylight-savings change during the SLA then expect to find an error of one hour!
    But now with CRM 2016 we can apply non-default SLA programmatically by re-pointing SLAId (https://msdn.microsoft.com/en-us/library/mt671128.aspx).
    So my first requirement is 'Acknowledge by end of next business day' so I'm setting my startSLA field to end-of-current-day and using 9.5 hours respecting business hours calendar schedule - so far so good :-)
    Then next, 'Resolve within 8 weeks elapsed time regardless of any calendar', so I'm wondering if it's possible, on successful acknowledgement to re-point to new SLA for Resolving?
    What does anyone think?

    ReplyDelete
  6. Its really nice article..I understooh how SLA works..

    ReplyDelete
  7. Hi, great post. I set up already an enhanced SLA with multiple SLA items and it seems to be working fine except for the Resolve By KPI Timer, instead of displaying the countdown it only displays "NotSet", even if I pause the SLA or if I change to other SLA items, the KPI grid will refresh but the timer stays as "NotSet". In test environment it works fine but in production I have that problem and I can't find anything about such behavior. Do you have any idea what could it be?

    ReplyDelete

My Name is..