Service Level Agreement

A Service Level Agreement (SLA) is a formal agreement between a service provider and a customer that defines the level of service expected. It sets clear expectations by outlining key metrics such as response times, resolution times, service availability, and responsibilities. SLAs help ensure accountability by establishing measurable standards and consequences if those standards are not met. In helpdesk systems, SLAs are critical for tracking how quickly and efficiently support teams handle customer issues, maintaining service quality, and improving customer satisfaction.

Creating an SLA

  1. Go to settings: Click on logo at top left corner and click settings option

  2. SLA Policies: Click on "SLA Policies" in the left sidebar and click "New" at top right corner

  3. Define SLA Details: Fill the form with all required details

Each SLA is linked to the HD Ticket doctype and includes:

  • Default Priority: Used when a ticket doesn’t have a priority set.
  • Enabled: Ensures the SLA is active.
  • Valid From / To: Optional start and end date for this SLA.

Response and Resolution

You can define different First Response Time and Resolution Time for each priority:

Priority First Response Time Resolution Time
Low 24h 72h
Medium 8h 24h
High 1h 4h
Urgent 30m 2h

Status-based Triggers

SLA Fulfilled On:

These statuses indicate the SLA has been fulfilled:

  • Resolved
  • Closed

SLA Paused On:

These statuses pause the SLA timer:

  • Replied

When a ticket is in "Replied" state, the resolution timer is paused until the customer responds.


Working Hours

SLAs respect your business hours, which you can define in the Working Hours section:

Workday Start Time End Time
Monday 10:00 AM 6:00 PM
Tuesday 10:00 AM 6:00 PM
Wednesday 10:00 AM 6:00 PM
Thursday 10:00 AM 6:00 PM
Friday 10:00 AM 6:00 PM

Tickets created or due outside of these hours will have their SLA timers paused until working hours resume.



Holiday List

You can link a Holiday List to exclude specific dates from SLA time tracking (e.g., public holidays). SLA timers will automatically pause on the dates included in the selected Holiday List.

Creating an Holiday list

  1. Go to settings: Click on logo at top left corner and click settings option
  2. Business holidays: Click on "Business holidays" in the left sidebar and click "New" at top right corner
  3. Define Business holidays Details: Fill the form with all required details
Recurring holidays

Recurring holidays such as weekends can be added from Recurring holidays section, these holidays will be auto generate for duration of "From date" and "To date" set for the respective holiday list

Calendar view for holidays

Holidays and recurring holiday can be viewed from calendar view, where holiday dates are represented by light yellow and orange background, recurring holidays are represented by grey background. You can click on any date on the calendar to add holiday directly or by clicking on "Add Holiday" button at the bottom of the page

List view for holidays

By clicking on list icon above calendar view you can toggle between calendar and list view

Example:
If a holiday falls on a Tuesday, and a ticket is created on Monday evening with an 8h SLA, the SLA timer will resume on Wednesday morning (assuming Tuesday is a holiday).


SLA Assignment Conditions

Frappe Helpdesk lets you assign SLAs to tickets dynamically using conditions.

Default SLA

If no SLA condition matches a ticket, the system will apply the SLA marked as Default. This ensures fallback coverage.

Condition-based SLA

Each SLA can define a condition using the UI in Assignment conditions section. These conditions are evaluated against ticket fields using the doc object.

Example Condition:

In the image below, conditions defined in the UI will be automatically converted into the condition string and store it in the backend Converted condition string:

doc.agent_group == 'Billing' and doc.ticket_type == 'Bug' and (doc.custom_app == 'FC' or doc.resolution_date == '2025-07-22 11:41:31' or doc.priority == 'Low')

Also as you can see in the above image, at any level at a time, same type of conjunction (and,or) can be used, one level cannot have both the conjunctions at the same time.

How is SLA calclulated?

Some definitions:

  1. First Response Due: The time at which the first response should be made, considering working hours and holidays.
  2. Resolution Due: The time by which the ticket should be resolved, also considering working hours and holidays.

While calculating these 2, the factors which are considers are: 1. Working Hours 2. Holiday list 3. Total hold time of the ticket (for how long the ticket was in "Replied" state)

Some points we are assuming before doing calculations

  1. Working Hours: The company operates between 10:00 AM and 6:00 PM from Monday to Friday.
  2. Holiday List: Every Saturday & Sunday is a holiday, and SLA timers pause during holidays.

Scenario 1: Ticket Created with High priority on a Tuesday (working day)

Ticket Created: Tuesday, 5:00 PM

  • SLA for First Response: 4 hours (High priority)
  • SLA for Resolution: 8 hours (High priority)
  • Holiday List: All Saturdas & Sundays are holidays.
  • Working Hours: 10:00 AM to 6:00 PM (Monday to Friday)
  • Status: Resolved (SLA fulfilled once status changes)

First Response Calculation:

  • First Response Time is 4 hours.
  • Created at 5:00 PM on Tuesday.
  • The timer will run for 1 hour on Tuesday (5:00 PM to 6:00 PM).
  • The remaining 3 hours will be counted from Wednesday, starting at 10:00 AM.
  • First Response Due: Wednesday, 1:00 PM.

Resolution Calculation:

  • Resolution Time is 8 hours.
  • 1 hour used from 5:00 PM to 6:00 PM on Tuesday.
  • The remaining 7 hours will be counted from Wednesday, starting at 10:00 AM.
  • Resolution Due: Wednesday, 5:00 PM.

Scenario 2: Ticket Created Before a Holiday (On Friday)

Ticket Created: Friday, 4:00 PM

  • SLA for First Response: 8 hours (Medium priority)
  • SLA for Resolution: 24 hours (Medium priority)
  • Holiday List: All Saturdas & Sundays are holidays.
  • Working Hours: 10:00 AM to 6:00 PM (Monday to Friday)
  • Status: Replied (Resolution timer paused until customer response)

First Response Calculation:

  • First Response Time is 8 hours.
  • Created at 4:00 PM on Friday.
  • The timer will run for 2 hours on Friday (4:00 PM to 6:00 PM).
  • The remaining 6 hours will be counted from Monday, starting at 10:00 AM.
  • First Response Due: Monday, 4:00 PM.

Resolution Calculation:

  • Resolution Time is 24 hours.
  • 2 hours used from 4:00 PM to 6:00 PM on Friday.
  • The remaining 22 hours will be counted from Monday, starting at 10:00 AM.
  • Resolution Due: Wednesday, 4:00 PM.

Scenario 3: Ticket Created on Saturday(Holiday) with Low Priority.

Ticket Created: Saturday, 3:00 PM

  • SLA for First Response: 8 hours (Low priority)
  • SLA for Resolution: 24 hours (Low priority)
  • Holiday List: All Saturdas & Sundays are holidays.
  • Working Hours: 10:00 AM to 6:00 PM (Monday to Friday)
  • Status: Replied (Resolution timer paused until customer response)

First Response Calculation:

  • First Response Time is 8 hours.
  • Created at 3:00 PM on Saturday.
  • Saturday is a holiday, so no hours are counted on that day.
  • The first 8 hours will count from Monday, starting at 10:00 AM.
  • The full 8 hours will be completed by Monday at 6:00 PM.
  • First Response Due: Monday, 6:00 PM.

Resolution Calculation:

  • Resolution Time is 24 hours.
  • Since the first response is completed by Monday at 6:00 PM, the resolution timer will begin immediately after that.
  • The full 24 hours will be counted from Tuesday at 10:00 AM, considering the holiday on Sunday.
  • The full 24 hours will complete by Wednesday at 6:00 PM.
  • Resolution Due: Wednesday, 6:00 PM.

All Scenarios in tabular form:

Scenario Ticket Created First Response Due Resolution Due
1 Tuesday, 5:00 PM Wednesday, 1:00 PM Wednesday, 5:00 PM
2 Friday, 4:00 PM Monday, 4:00 PM Wednesday, 4:00 PM
3 Saturday, 3:00 PM Monday, 6:00 PM Wednesday, 6:00 PM

Discard
Save
Was this article helpful?

On this page

Review Changes ← Back to Content
Message Status Space Raised By Last update on