Freshdesk SLA & Business Hours — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Freshdesk SLA & Business Hours (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
SLA policies define the response and resolution targets a Freshdesk account commits to, and business-hours calendars define when the SLA clock runs. Together they compute each ticket's fr_due_by (first-response deadline) and due_by (resolution deadline). This skill covers listing policies and calendars and reasoning about deadlines and breaches through tools named freshdesk_sla_policies_list and freshdesk_business_hours_list.
GET /api/v2/sla_policiesEach policy describes targets per priority and the conditions under which it applies.
| Field | Type | Description |
|---|---|---|
id | Integer | Unique identifier |
name | String | Policy name |
is_default | Boolean | Applies when no other policy matches |
active | Boolean | Whether the policy is in force |
applicable_to | Object | Conditions (company, group, source) that select the policy |
sla_target | Object | Targets keyed by priority |
escalation | Object | Who is notified, and when, as deadlines approach or pass |
Targets are defined per priority level (recall the encodings: 1 Low, 2 Medium, 3 High, 4 Urgent). Each target typically specifies:
| Target | Drives | Description |
|---|---|---|
respond_within | fr_due_by | Time allowed for the first agent response |
resolve_within | due_by | Time allowed to resolve the ticket |
business_hours | clock mode | Whether the target counts only business hours or calendar (24x7) time |
escalation_enabled | escalations | Whether breach/approach escalations fire |
Higher-priority tickets get tighter targets — an Urgent (4) ticket usually has a much shorter respond_within and resolve_within than a Low (1) ticket.
GET /api/v2/business_hoursEach calendar defines the working week, daily hours, time zone, and holidays.
| Field | Type | Description |
|---|---|---|
id | Integer | Unique identifier |
name | String | Calendar name |
is_default | Boolean | Default calendar for the account |
time_zone | String | Time zone the hours are expressed in |
business_hours | Object | Working hours per weekday |
holidays | Array | Dates excluded from the SLA clock |
When a ticket is created or its priority changes, Freshdesk selects the matching SLA policy and computes deadlines:
applicable_to conditions (company, group, source); fall back to the is_default policy.
sla_target entry for the ticket'spriority.
only advances during the calendar's working hours and skips holidays; if it is 24x7, the clock runs continuously.
respond_within, advancedthrough the chosen clock.
resolve_within, advanced throughthe chosen clock.
the customer, the resolution clock can pause depending on policy configuration, shifting due_by accordingly.
Urgent (priority 4) ticket created Fri 16:00, business-hours calendar Mon-Fri 09:00-17:00
respond_within = 1h -> fr_due_by = Fri 17:00 (1 business hour)
resolve_within = 8h -> due_by = Mon 15:00 (1h Fri + 7h spilling into Mon)To detect breached and at-risk tickets:
status:2 OR status:3.include=stats to getfr_due_by, due_by, and whether first response / resolution has occurred.
| Condition | State |
|---|---|
fr_due_by in the past and no first response sent | First-response breached |
due_by in the past and not resolved | Resolution breached |
due_by within the next escalation window | At risk |
| Both deadlines comfortably ahead | Healthy |
ordered by nearest deadline.
escalation settings: notify the responsible agent/group, bump priority, and record an internal note.
| Error | Cause | Resolution |
|---|---|---|
| 404 Not found | Unknown policy/calendar (or none configured) | List policies/calendars to confirm what exists |
| 403 Forbidden | API key lacks admin scope for SLA config | Use an admin-scoped key to read SLA/business-hours config |
| 400 Bad request | Malformed include on the ticket fetch | Use include=stats to retrieve SLA timestamps |
the policy's targets when explaining deadlines.
target counts business hours and skip holidays accordingly.
fr_due_by,due_by, and response/resolution timestamps.
due_by; recomputerather than trusting a stale value.
raw priority.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.