In Part 1 of this series I discussed how to create the Services, Organisations and Service Level Agreements (SLAs) necessary for our example of an internal service desk servicing six departments with the Finance department requiring a tighter SLA on one of the services then any of the other departments during March each year.
In this post, I will cover SLA Criteria (such that we can finish our example); linking Services, Organisations and SLAs; and of course how to turn SLA Management on in the first place including the biggest gotcha of all.
SLA Criteria
We said that we wanted to provide our Finance department with a tighter SLA during March each year. How do we go about doing that? Well the first thing we need to do is create the new Urgency/Priority and SLA that we want to offer as shown below:
Another Gotcha
We need to add a SLA Criteria that checks if the month the call was opened was March. Problem – SLA Criteria can only check the values of fields within the module they are configured for (i.e. in our case Incidents) and don’t allow for any expressions. Solution – Create a field to hold the month the call was opened and populate it on save using a CSBR as shown below:
Conditions | ||
---|---|---|
Expression 1 | Comparison Operator | Expression 2 |
{TR,Month Opened} | Equals | {NULL} |
Actions | ||
Field | Value | |
Month Opened | {MATH, DATEPART(MONTH,GETDATE()) MT} |
You MUST add the field to the forms used otherwise you will get an error – Input string not in correct format. It CAN be hidden though.
Now in order that this SLA is only offered during March we need to configure an SLA Criteria as shown below:
Notice that this criteria only considers the March clause NOT the Finance department clause. That comes later when we link Services, Organisations and SLAs. You could include the Finance department clause but then you would need to keep changing you SLA if, for example, another department wanted the same SLA.
In this example, given all the hassle of creating a field and CSBR, you could choose an alternative solution of selecting the 24HR_MARCH SLA and configuring the Start and End dates to only include March. The problem here of course is that you need to create one for every year which is a little painful. What is more, it wouldn’t have given me the opportunity to explain SLA Criteria 🙂
Service Organisation SLA Links
Now there’s a mouthful! Service Organisation SLA Links (LINK) are what they say on the tin – the way to assign a SLA to a service consumed by an organisation. They are accessible from the Service, Organization, and SLA forms via their respective tabs. In our example above we want each department to use our Standard 48HR SLA for the service of Application Support. Now we could create a separate LINK for each Organisation but we don’t need to. If we open the Service form, find our Application Support service and click Add on the SLA/Org tab we can create a LINK as shown below:
What the record above says is “Offer this SLA whenever the Application Support Service is selected.” This is fine for what we want at the moment. Now what we need to do is create another LINK for the Finance Organisation to provide the 24HR SLA against the Application Support Service as shown below:
Thus your Application Support service should look like this:
Now, when anyone logs a ticket against the Application Support Service between April and February inclusive, the only option will be the 48HR SLA as shown below:
However, when a member of the Finance department log a ticket against the Application Support Service during March, a choice of either the 24HR SLA or the 48HR SLA will appear as shown below:
…assuming you have turned the functionality on!
Service Level Agreement Rules
Yes that’s right – out of the box the SLA functionality is NOT turned on. To enable Service Level Agreements you need to click on the Service Level Agreement Rules item in the Service Level Management tab. Then from the Enable SLAs window that appears check the box to enable SLAs as shown below:
So here is the kicker and this is absolutely WOEFUL!
You have to manually enable the SLA functionality for each group by logging in as that group and turning it on by checking the box as described above! Imagine what that is like on 126 Groups! Scripts to the rescue…
SDE_SetDefaultSLARulesForAllGroups.sql
The above script will turn on SLA Management for every group!
One Final Issue!
SLA’s are NOT mandatory out of the box. What this means is that if one of your Service Desk Agents decides to close the Select From SLA popup that appears to select the SLA, no SLA is populated at all. If you want to enforce SLAs you MUST make your SLA ID field selectable (i.e. NOT readonly) and write a Client Side Business Rule (CSBR) as shown below:
When an Incident is Saved
Conditions | ||
---|---|---|
Expression 1 | Comparison Operator | Expression 2 |
{TR,SLA ID} | Equals | {NULL} |
Actions | ||
Method | Module | Form |
Display Message | Incident | Current Form |
Exit Rule if ‘OK’ clicked | Checked |
Summary
Hopefully, throughout these two posts I have given you an idea of what the art of the possible might be using the SLA modules available with Service Desk Express. As always, comments, positive or negative, are always welcome.
Hi Allen,
Thank you for sharing all this knowledge.
I have setup and used the SLA module for several SDE customers.
However I never got a CSBR working to get the “SLA ID” required on the Incident form.
It always prevents you to save and so SDE is not populating the SLA choice screen.
Did you manage to create a CSBR?
Thanks,
Raymond
Hi Raymond,
You are more than welcome re the sharing – that is what this blog is all about.
In order to get the CSBR working you need to create a modified version of the Incident form with the SLA ID field as NOT read-only i.e. selectable. Then you can apply the CSBR to make sure that someone has completed the SLA ID.
Hope this makes sense.
Regards,
Alan
i’m completely dumb to the concept of the csbr. can you give a sample rule that would require the sla id field to be populated?
thanks
shawn
Hi Shawn,
From both yours and Raymond’s comments I have updated the post to show an example of this CSBR. As per the reply to Raymond’s comment and now in the post it is important that the SLA ID field is on the form and editable otherwise your user’s will never be able to select and SLA!
Hope this helps.
Regards,
Alan
Thanks for the CSBR. It’s working like a charm. But now for another potentially dumb question.
I have the SLA’s put into place, and followed all the steps you have listed, but the milestones don’t appear to work. For example, I have the approaching due date rule set with a 90% before due date notification. However the rule appears to “fire” too early. If my due date has a 24 working hour (3 days)duration, and I enter a ticket on Monday morning, I receive a notification Tuesday morning that the due date is approaching. I’ve checked the work schedules, as well as the staff schedules and none of that seems to help. Any advice?
ShawnS
Hi Alan,
I’m hoping you can offer some advice here. I need to use the Services functionality – but somehow in conjunction with the Category. The reason being is there is functionality that the customer wants….i.e suggested support staff plus standard descriptions and resolutions.
I’ve thought about using quick tickets – so you get the assigned to functionality and some control over desc and resolution but feel that the list would be very large. The other option is to populating the Category to match the Services, with a CSBR to populate the Service when Category is selected or vice versa.
I’m leaning towards the later even though I know this is duplicating data. This will also assist with the OOB reports – as most look at Category.
Any thoughts would be much appreciated.
Great website by the way.
Hi Jac,
I would personally create a foreign key from the Support Subjects (Categories) module to the Services module that cannot be NULL. That way you can create a subset of the Categories as Services and link them to, if you like, a parent Service. Write a CSBR to prefill the Service on change of the Category and you should be good to go.
Hope that helps.
Regards,
Alan
I have a concern regarding SLA, how does SLA work with OLA and Underpeening contracts?.
I noticied that OLA or Underpeening Contracts are also SLA records, but when linking an SLA with an OLA it doesn’t seem to be working when selecting the SLA within an Incident.
Is there a documentation on how to use an SLA, OLA and Underpeening Contract simultaneously on one Incident?.
Thanks,
Nicolas
hi,Alan
can one orgnasition includ more comany or more department?for example,we have more companies,some of them will use one sla (with one it owner),and some of them will use another sla(with another it owner);if i can creat an oranasition include more comanies, it’s great convinent!
Hi Alan,
I have a query, how can we do a resource costing in BMC service desk, as we want to use the costing feature in BMC to calculate what it costs for resources, etc.
Any help on how to achive this would be wonderful.
Thanks.
A.Robinson
Hey Alan,
I have a quick question for you:
I am using SDE (version 10) and was wondering if it is possible to have the modules brought over (foreign key) to the module you are using be mandatory when saving?
Example:
When creating a Change Request i want to have it mandatory that the user adds a CI in the CI tab at the bottom.