Services, Organisations, and Service Level Agreements – Part 2

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:

24HR Priority 24HR SLA 01 24HR SLA 03 24HR SLA 04

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:

Month Opened

Expression 1 Comparison Operator Expression 2
{TR,Month Opened} Equals {NULL}
Field Value

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:

24HR SLA 02

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:

Service With LINKS 01

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:

Select from SLAs 01

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:

Select from SLAs 02

…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:

Enable SLAs 01

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…


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

Expression 1 Comparison Operator Expression 2
{TR,SLA ID} Equals {NULL}
Method Module Form
Display Message Incident Current Form
Exit Rule if ‘OK’ clicked Checked


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.

11 thoughts on “Services, Organisations, and Service Level Agreements – Part 2

  1. 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?



  2. 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.



  3. 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?


  4. 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.



  5. 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?


  6. 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.

  7. 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.



  8. 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?.


  9. 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!

  10. 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.

  11. 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?

    When creating a Change Request i want to have it mandatory that the user adds a CI in the CI tab at the bottom.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s