Service level management

Service level management

Summary

The service level management functionary provides the ability to track the business duration within or without a specific schedule that a record may take between various conditions.  The SLA definitions that are used to define the parameters of this feature can be run in a defined timezone and can then be started, stopped, paused or cancelled based on a condition. In doing so and depending on the status of a SLA, it can then update records, trigger notifications or otherwise based on its status.

SLA definition configuration

SLA definitions for a given Table can set up in a variety of different ways. It should be noted that more than one SLA can be run against a record at once.  SLA definitions can be created and configured, minus the scripting fields, by the appropriate application administrators depending on the Tables application that the SLA definition is a part of.  An example of this is an ITSM administrator can create and update SLA definitions for the Incident Table.

Field

Type

Example

Notes / Description

Field

Type

Example

Notes / Description

Name

String

P3 Incident resolve

The name of a SLA definition used to identify a SLA definition.

Table

Table

Incident

The Table that the SLA definition will run its conditions off.  Note that the Table will need to have the appropriate triggers to have a SLA start, which by default are any entities extended from work or interaction.

Primary

Boolean

True

When a SLA is flagged as a primary SLA, it will be used to populate the SLA status of an associated record where the field exists.

Type

Choice

  • Response SLA

  • Resolve SLA

Resolve SLA

This field is used simply for reporting purposes to assist in filters or otherwise.

Active

Boolean

True

This will determine if a SLA definition can be run and can generate a SLA record.

Duration

Duration

16h

The business duration (within the schedule) of time this SLA will run. It expects the duration with a number and then period of time (in lowercase) to designate the duration. d: day (24 hours), h: hour, m: minute and s: second. E.g. 4d 3m is the same as 4 days 3 minutes. Note: a 28 hour business duration (say 3.5 business days) will appear as 1d 4h.

Time zone

Choice

  • List of timezones

(GMT +10:00) Canberra, Melbourne, Sydney

This is the timezone when a SLA will run (when a schedule has been selected).

Schedule

Reference [Schedule Table]

Weekdays 9 to 5 - with Australian public holidays

The schedule of the SLA, which is the source of what hours are considered a business day, public holidays, etc. Note: an empty schedule means the SLA will run 24x7. To configure a Schedule, please go to Schedule

Threshold

Reference [SLA threshold Table]

Standard

This is a reference to a threshold table that determines at what percentage of an SLA's duration will change its progress level to warning.

Start time field

Field

Created On

Allows the SLA to pull its start date/time from a field. If not specified, the SLA will calculate from the time it is triggered.

Start condition

Condition builder

Priority is P3 | Medium

This is the condition when a SLA will start.  It should be noted that the start condition needs to be true until the SLA is stopped.  If it does not meet and the stop condition is not met, it will cancel the SLA. In situations where both the start condition and start condition script have been filled, both conditions will need to have been met.

Start condition script

Script



This is the condition when a SLA will start.  It should be noted that the start condition needs to be true until the SLA is stopped. If the condition is scripted it requires an answer variable to be true or false. Within the script you have access to the current record it is executing on via "current". In situations where both the start condition and start condition script have been filled, both conditions will need to have been met.

Pause condition

Condition builder

Current status is Incident - Resolved OR 

Current status is Incident - Awaiting external party OR 

Current status is Incident - Awaiting client action

This is the condition when a SLA will pause. In situations where both the pause condition and pause condition script have been filled, both conditions will need to have been met.

Pause condition script

Script



The condition that is required to pause a SLA. If the condition is scripted it requires an answer variable to be true or false. Within the script you have access to the current record it is executing on via "current". This is the condition when a SLA will pause. In situations where both the pause condition and pause condition script have been filled, both conditions will need to have been met.

Stop condition

Condition builder

Current status is Incident - Closed

This is the condition when a SLA will stop. In situations where both the stop condition and stop condition script have been filled, both conditions will need to have been met. Once an SLA has stopped, it will not restart.  If the start condition is met again, it will make a new SLA record

Stop condition script

Script



The condition that is required to stop a SLA. If the condition is scripted it requires an answer variable to be true or false. Within the script you have access to the current record it is executing on via "current". In situations where both the stop condition and stop condition script have been filled, both conditions will need to have been met. Once an SLA has stopped, it will not restart.  If the start condition is met again, it will make a new SLA record

Cancel condition

Condition builder



This is the condition when a SLA will cancel. In situations where both the cancel condition and cancel condition script have been filled, both conditions will need to have been met.

Cancel condition script

Script



The condition that is required to cancel a SLA. If the condition is scripted it requires an answer variable to be true or false. Within the script you have access to the current record it is executing on via "current". In situations where both the cancel condition and cancel condition script have been filled, both conditions will need to have been met.

Copy pause duration on cancellation

Boolean



If true, will copy the Pause duration from a cancelled SLA in the same SLA group. If 'Cancelation group' is set, the cancelled SLA must have the same value present for its 'Cancellation Group' value. If 'Cancellation Group' is not set, then the cancelled SLA must be of the same 'Type'.

Cancellation group

String

priority

See 'Copy pause duration on cancellation'

SLA thresholds

These allow you to provide different levels when a SLA is considered at the warning stage.  This allows you to have a different threshold level for different SLA definitions, depending when a SLA is considered at a warning stage or not.  In doing so, this will allow you to trigger the appropriate notifications or otherwise based on the progress level changing.  These allow you to change the percentage of the various levels, to ensure that the progress level changes when you require. It is recommended that only the warning percentage is updated to accomodate this.

As standard, the levels are as follows: 

  • At the generation of an SLA, the progress level is considered "normal".

  • At 50 percent of the target duration, the progress level will change to "warning". 

  • At 100 percent of the target duration, the progress level will change to "breached". 

SLA Records

not modifiable directly, all updated via scripts, etc etc, 



Field

Type

Example

Notes / Description

Field

Type

Example

Notes / Description

SLA definition

Reference [SLA definition Table] 

P3 Incident resolve

This is the SLA definition that generated this SLA was generated from.

Parent

Generic reference

INC0003498

This is the record that an SLA is for and conditions are running against.

State

Choice

  • Running

  • Paused

  • Completed

  • Cancelled

Completed

The current state of the SLA.  The state will change as the conditions on the related SLA definitions are met or unmet. 

Target duration

Duration

16h

The amount of business time that this SLA will run until it is considered breached.

Progress level

Choice

  • Normal

  • Warning

  • Breached

Normal

Depending on the threshold entries associated to the SLA definition, will determine what percentage it is until it reaches a certain progress levels. 

SLA met

Boolean

True

Determines whether the SLA went into a state of completed, prior to running over its target duration.

Achievement percentage

Decimal

7.0

The percentage of the amount of business time has passed from the started at to the due at field. This is only calculated at the time an SLA is stopped.

Active

Boolean

False

This determines whether or not an SLA is still running.  As a general rule, completed and cancelled SLAs are not active, whilst running and paused SLAs are considered active.

Business duration

Duration

1 hour, 3 minutes and 37 seconds

The business duration that has occurred, within the bounds of the associated schedule. This is only calculated at the time an SLA is stopped.

Elapsed duration

Duration

1 hour, 3 minutes and 37 seconds

The elapsed duration that has occurred, which excludes the schedule. This is only calculated at the time an SLA is stopped.

Stopped at

Date time

Wed, Aug 28, 2019 03:35:43 PM

This is the date and time when an SLA has stopped.  This is when it would have hit the status of completed or cancelled. 

Due at

Date time

Fri, Aug 30, 2019 02:32:03 PM

The date and time that if the SLA is not completed, cancelled or paused the SLA will considered breached, unless the duration is changed in the meantime.

Started at

Date time

Wed, Aug 28, 2019 02:32:03 PM

This is the date and time when a SLA has started. 

Paused at 

Date time

Wed, Aug 28, 2019 03:35:40 PM

This is the date and time when a SLA has last paused.  In situations where a SLA has paused multiple times, it will only track the last time it paused. 

Pause business duration

Duration

3 seconds

The business duration that has occurred, within the bounds of the associated schedule where as a SLA has paused. 

Pause elapsed duration

Duration

3 seconds

The elapsed duration that has occurred, which excludes the schedule where as a SLA has paused.

Schedule

Reference [Schedule Table]

Weekdays 9 to 5 - with Australian public holidays

The schedule of the SLA, which is the source of what hours are considered a business day, public holidays, etc. Note: an empty schedule means the SLA will run 24x7. Refer here for Schedule configuration.

Time zone

Choice

  • List of timezones

(GMT +10:00) Canberra, Melbourne, Sydney

This is the timezone when a SLA will run (when a schedule has been selected).



How they work

When a record has been updated, there are numerous things that are done in in sequence when there are active SLA definitions against a record. It is done in this order, to ensure that the status correctly reflects what the SLA definition has set. The process that occurs when a record has saved (and the appropriate trigger is in place) are: 

  1. It queries the list of active SLA definitions against the record's Table.  

  2. It queries the active SLA records against the record that was updated.

  3. For every SLA definition it will then:

    1. Determine if the parent record has met the cancel condition and / or cancel condition script for any of them.  If it does, it will cancel the active SLA record.

    2. Determine if the parent record has met the start condition and / or start condition script for any of them.  If it does, it will generate the appropriate SLA record. 

    3. Determine if there are any SLA's that are currently paused, the assuming they no longer meet the pause condition, unpause them. 

    4. Determine if there are any SLA's that have met the stop condition and assuming any meet the stop condition, it will stop the appropriate SLA's. 

    5. Determine if there are any active SLA's that no longer meet the start condition (but are not already inactive) and cancel them. 

    6. Determine if any meet the pause condition that are currently running.  If there is, it will pause them. 

  4. Then for the SLA definition that is flagged as the primary SLA (when it gets to that SLA definition or / and if it exists), it will update the appropriate SLA Status field on the parent record. 



Please keep in mind that when viewing an SLA record's, the information on timings such as Due at and Started at, just like any other Date/Time field on the platform, will be displayed in your user's timezone. For example, if:

  1. The current time is 9:30AM GMT+10 AND

  2. A ticket is created AND

  3. The ticket resulted in an SLA to start AND

  4. That SLA is defined on a GMT+10 timezone to run for 12 hours with daily start time of 9AM and finish time of 5PM AND

  5. Your user account is on a GMT+8 timezone

When viewed in the SLA's local time, i.e. GMT+10 timezone, the above should result in the SLA starting at 9:30AM and due at 1:30PM the following day.

However, when your user account (in GMT+8 timezone, 2 hours earlier than GMT+10) views the ticket's SLA, it will show that it started at 7:30AM and is due at 11:30AM the following day.



Servicely Documentation