SLAs in FyneDesk

Set time targets per ticket priority and track whether your team is meeting them — in real time on the ticket queue, on the KPIs dashboard, and via email alerts when a target is about to be missed.

Why this matters Without SLA tracking, response times are invisible — a critical ticket can sit unnoticed while your team works through lower-priority items. SLAs surface which tickets need attention now and give you hard numbers to share with customers and management.

What you can track

FyneDesk supports three independent SLA targets. You can use one, two, or all three — each has its own on/off toggle in Settings:

  • Resolution time — how long from ticket creation until it's resolved. This is the most common SLA metric and the one most teams start with.
  • First-response time — how long until an agent sends the first reply. Measures how quickly customers hear back from you.
  • Assignment time — how long until someone is assigned to the ticket. Useful for teams where unowned tickets are the bottleneck.

Each target is set per priority level (Critical, High, Medium, Low), so a Critical ticket can have a 1-hour resolution target while a Low-priority ticket gets 7 days.

Where SLAs show up in the app

Once you turn on SLA tracking, it surfaces in three places:

  • Tickets queue — a color-coded progress bar on each open ticket showing how much of its resolution target has been used.
  • KPIs dashboard — compliance percentages and average response times as dashboard cards.
  • Email alerts — optional breach notification emails when a ticket crosses its SLA target (or is about to).

Who uses it

  • Admins configure SLA targets, set breach notification recipients, and customize email templates in Settings → Tickets → SLAs.
  • Agents see the SLA progress bar on the ticket queue and may receive breach alert emails. Agents don't need to configure anything — the targets set by an admin apply automatically.

Availability

SLAs are a Pro feature. During the 30-day Pro trial that every new organization receives, all admins can configure SLA targets. After the trial ends, Free-tier organizations see the SLA settings page in a read-only state with an option to upgrade.

Setting up SLA targets

This section walks through the SLA configuration screen where admins set time targets for each ticket priority. You'll find it at Settings → Tickets → SLAs.

Why this matters Without configured targets, FyneDesk uses system defaults (1 hour for Critical, 8 hours for High, 2 days for Medium, 7 days for Low). If those don't match the promises you make to your customers, the compliance numbers on your KPIs dashboard won't mean much. Setting your own targets takes a minute and makes every SLA metric accurate to your actual commitments.

Step 1 — Turn on SLA tracking

At the top of the page is a master switch labeled "Enable SLA tracking". This controls whether SLA features appear anywhere in the app — the progress bar on tickets, the KPI cards, breach emails, everything.

  • On — SLA indicators are visible across the app.
  • Off — all SLA elements are hidden. Your saved targets are preserved; they just aren't active.

Step 2 — Set resolution time targets

The Resolution time targets section is on by default. This is the most common SLA metric — how long from ticket creation until it's resolved.

For each priority level, you'll see a row with a number field and a unit selector (Minutes, Hours, or Days). The grey hint text shows the system default for that row so you can see what FyneDesk uses if you leave it blank.

PrioritySystem default
Critical1 hour
High8 hours
Medium2 days
Low7 days

To customize a target, type a number and pick a unit. For example, entering "4" and selecting "Hours" for High-priority tickets means your team commits to resolving High tickets within 4 hours.

Leaving a row blank means "use the system default" — you only need to fill in the rows you want to change.

Range: any whole number from 1 minute to 1 year.

Step 3 (optional) — Turn on first-response time targets

The First-response time targets section is off by default. Turn it on if you want to track how quickly agents send their first reply to a ticket.

PrioritySystem default
Critical15 minutes
High30 minutes
Medium4 hours
Low24 hours

First-response time is measured from ticket creation to the first agent reply.

Step 4 (optional) — Turn on assignment time targets

The Assignment time targets section is also off by default. Turn it on if unowned tickets sitting in the queue is a problem for your team.

PrioritySystem default
Critical15 minutes
High1 hour
Medium4 hours
Low8 hours

Assignment time is measured from ticket creation to the first time someone is assigned. Reassigning a ticket later doesn't reset the timer — only the initial assignment counts.

Step 5 — Save

Click Save changes at the bottom of the page. Your targets take effect immediately — the ticket queue, KPI dashboard, and breach emails (if configured) all start using the new values.

If you want to undo all customizations, click Reset to defaults to clear every field back to the system defaults, then save.

Common pitfalls Forgetting the master toggle. You can set detailed targets in every section, but if "Enable SLA tracking" at the top is off, nothing shows up in the app. Make sure it's on. Also watch the unit selector — if you type "8" meaning 8 hours but the unit is on "Minutes," you'll get an 8-minute target.

Pause SLA timer while blocked

When enabled, a ticket that is marked "blocked by" another open ticket automatically pauses its SLA countdown. The timer resumes when the blocking ticket is closed or the blocking relation is removed.

This toggle sits directly below the master "Enable SLA tracking" switch in Settings → Tickets → SLAs.

Why this matters Some tickets can't move forward because they depend on another issue being resolved first. Without pause-on-blocked, the blocked ticket's SLA clock keeps ticking even though your team can't act on it — leading to unfair breaches. With this toggle on, the timer only counts time when the ticket is actually workable.

How it works

  1. 1 An agent marks Ticket A as "blocked by" Ticket B using the ticket relations feature.
  2. 2 Ticket A's SLA countdown pauses immediately. The progress bar freezes in place.
  3. 3 When Ticket B is closed (or the blocking relation is removed), Ticket A's SLA countdown resumes from where it left off.

The pause applies to all enabled SLA types (resolution, first-response, and assignment). Time spent in a blocked state is excluded from SLA calculations.

This is different from pause-on-status Pause-on-blocked pauses the timer based on ticket relations (blocked by another ticket). A separate pause-on-status feature (pausing when a ticket is in a "Waiting on Customer" state) is planned for a future release but is not yet available.

The SLA progress bar

When resolution time targets are turned on, the Tickets page shows an SLA column with a live progress bar on every open ticket. This gives agents an at-a-glance view of which tickets are close to missing their target — without opening each ticket individually.

Why this matters A queue sorted by priority still doesn't tell you how urgent each ticket is right now. The SLA bar does — a red bar means the target is almost up, regardless of whether the ticket is High or Medium priority. It helps agents pick what to work on next based on real deadlines, not just labels.

How to read the bar

Each bar shows how much of the ticket's resolution target has been consumed since the ticket was created. The bar fills from left to right and changes color as it progresses:

ColorWhat it means
GreenUnder 50% of the target consumed — plenty of time left
Amber50–90% consumed — getting close
Red90%+ consumed — act now to avoid a breach
Dark redPast 100% — the SLA target has been breached

Below the bar, a short label shows either the time remaining (e.g., "2 hr left") or how far past the target the ticket is (e.g., "30 min overdue").

Resolved tickets

Once a ticket is resolved, the progress bar is replaced with a compact pill:

  • Met — the ticket was resolved within its SLA target.
  • Breached — the ticket was resolved after its SLA target had passed.

Auto-refresh

The SLA bar updates automatically every 60 seconds without reloading the page. You don't need to refresh to see bars move from green to amber as time passes.

When the bar doesn't appear

The SLA column is hidden in these situations:

  • The master SLA toggle is off in Settings → Tickets → SLAs.
  • The Resolution time targets section is toggled off (the bar is tied specifically to resolution targets).
  • The ticket has no priority assigned — without a priority, FyneDesk can't match it to a target.

SLA metrics on the KPIs dashboard

The KPIs dashboard shows SLA performance as summary cards that update based on your selected date range. Which cards appear depends on which SLA types you have turned on in Settings.

Why this matters The SLA progress bar tells you about individual tickets in real time. The KPIs dashboard tells you how your team is performing overall — are you meeting 95% of your resolution targets, or 60%? Are first-response times improving week over week? These are the numbers you share in team meetings and customer reviews.

Which cards appear

SLA type enabledCards that appear
Resolution time targetsSLA Compliance % — share of tickets resolved within their target. An SLA by Priority bar chart breaks compliance down per priority level.
First-response time targetsAvg First Response (hours) and First-Resp Compliance %.
Assignment time targetsAvg Assignment (hours) and Assign Compliance %.

If you only have Resolution time on, you'll see two cards. Turn on all three SLA types and you'll see up to six cards.

How compliance is calculated

Compliance % is the share of relevant tickets where the SLA event happened within the configured target for that ticket's priority. For example, if 80 out of 100 resolved tickets were resolved within their resolution target, SLA Compliance shows 80%.

Each compliance card has a color-coded icon:

Compliance %Icon color
80% or higherGreen
60–79%Yellow
Below 60%Red

How averages work

The Avg First Response and Avg Assignment cards show the real average across all tickets in your selected date range that have had the relevant event. Tickets that haven't had the event yet are excluded entirely — a ticket with no first reply isn't counted as "breached," it simply doesn't appear in the average or the compliance number until an agent replies.

Breach email notifications

FyneDesk can email your team when a ticket crosses — or is about to cross — its SLA target. This section covers setting up a recipient, enabling pre-breach warnings, customizing who the email comes from, and writing your own email templates.

Why this matters The SLA progress bar helps agents who are actively looking at the ticket queue. Breach emails catch the tickets that slip through — the ones nobody is watching. A timely alert at 75% can save a breach at 100%.

Setting up a recipient

In Settings → Tickets → SLAs, scroll to the Breach notifications section. Enter the email address that should receive breach alerts — this could be a team lead, a shared mailbox, or a distribution list.

Leave the field blank to disable breach emails entirely. Your SLA targets still work; you just won't get email alerts.

What triggers an email

By default, FyneDesk sends one email per ticket the moment it crosses 100% of any enabled SLA target. Each combination of ticket, SLA type, and threshold is tracked — once an email is sent for a specific combination, it won't send again.

The breach checker runs in the background every 5 minutes.

Pre-breach warnings

Turn on "Send pre-breach warnings" and you'll also receive heads-up emails at 50%, 75%, and 90% of the target — giving your team progressively more urgent alerts before the actual breach:

ThresholdHeadline in email
50%SLA heads-up
75%SLA warning
90%SLA urgent
100%SLA BREACHED

In the worst case, a single ticket generates four emails (one per threshold). In practice, if an agent resolves the ticket after the 75% warning, no further emails are sent.

When emails don't fire

Breach emails are skipped when:

  • The master SLA toggle is off.
  • The recipient email field is blank.
  • The ticket is Resolved, Closed, or Cancelled.
  • The SLA event has already been met (e.g., an agent already replied, so first-response can't breach).
  • The ticket has no priority assigned (can't match to a target).

Customizing the sender

By default, breach emails come from FyneDesk SLA monitor at support@fynedesk.io. You can change both the display name and the sender address.

Sender name — type any name you want (e.g., "Acme IT Operations"). This is the name recipients see in their inbox.

Sender email — a dropdown showing email addresses you've already verified in Settings → Channels → Email → Custom Email Address. Only verified (Active) addresses appear. If you haven't verified any addresses, the dropdown shows only the FyneDesk default.

If an address you previously selected is later removed from your verified list, it shows up in the dropdown labeled "{address} — no longer verified" so you can spot it and switch to a working address.

Why you can't type any email address Sending from an unverified domain triggers spam filters or outright rejection at the recipient's end. Constraining the dropdown to verified addresses ensures every breach email you configure actually gets delivered.

Setting up a custom sender domain

You don't need this if you're happy with emails coming from support@fynedesk.io. To send from your own domain:

  1. 1 Go to Settings → Channels → Email → Custom Email Address.
  2. 2 Add the address you want (e.g., slaalerts@yourcompany.com). Status shows as Pending.
  3. 3 Add the DNS records FyneDesk gives you (SPF, DKIM, DMARC) to your domain's DNS provider.
  4. 4 Wait for DNS propagation — usually minutes, sometimes up to 24 hours.
  5. 5 Once confirmed, the status flips to Active. Return to Settings → Tickets → SLAs → Breach notifications. Your new address now appears in the Sender email dropdown.

Customizing the email template

Beneath the sender controls, two fields let you write your own breach email:

  • Email subject — the subject line.
  • Email body (HTML) — the email content, with full HTML support.

Leave either field blank to use FyneDesk's built-in branded template.

Template variables

Both fields accept placeholders that are replaced with real values when the email is sent. Wrap each variable in double curly braces with a dot prefix:

VariableWhat it becomesExample
{{ .TicketNumber }}The ticket's referenceTKT-1287
{{ .Title }}The ticket titlePrinter offline in Building C
{{ .Priority }}Priority levelCritical
{{ .Kind }}Which SLA typeresolution
{{ .Threshold }}Which threshold triggered100
{{ .Headline }}Severity labelSLA BREACHED
{{ .Percent }}Current SLA consumption102
{{ .Elapsed }}Time since ticket was created8 hr
{{ .Target }}The SLA target8 hr
{{ .Remaining }}Time left or overdue10 min overdue
{{ .TicketUrl }}Link to open the ticket(full URL)
{{ .SettingsUrl }}Link to SLA settings(full URL)

If you mistype a variable name (e.g., {{ .Tikcet }}), it stays in the email as-is so you can spot the typo. Variable values are automatically HTML-escaped so ticket titles with special characters won't break your markup.

Resetting templates A "Reset templates" link appears whenever either field has content. Clicking it clears both fields — FyneDesk falls back to its built-in template on the next save.

Frequently asked questions

Why is the SLA bar empty on some tickets?

A few things can cause this: the master SLA toggle is off, the Resolution time targets section is toggled off, or the ticket has no priority assigned. Tickets without a priority can't be matched to a target, so no bar appears. Resolved tickets show a "Met" or "Breached" pill instead of a bar.

Why is the "Avg First Response" card missing from my KPIs dashboard?

You haven't turned on First-response time targets in Settings → Tickets → SLAs. Each SLA type has its own toggle — the dashboard cards only appear for the types you've enabled.

My breach emails aren't arriving — what should I check?

  1. 1 Confirm a recipient email is entered in the Breach notifications section and spelled correctly.
  2. 2 Confirm the master SLA toggle is on.
  3. 3 Confirm at least one of Resolution / First-response / Assignment is enabled.
  4. 4 If you set a custom sender email, check that it's still active in Email Settings.
  5. 5 Check your spam folder — especially if using the default support@fynedesk.io sender.
  6. 6 Wait up to 5 minutes — the breach checker runs on a 5-minute cycle.

What happens if a ticket is reassigned?

For the assignment SLA, the timer stamps once — on the first transition from unassigned to assigned. Later reassignments don't reset the timer.

For resolution and first-response SLAs, reassignment has no effect — those timers are based on ticket creation and are independent of who owns the ticket.

What about tickets that existed before SLAs were turned on?

Resolution time is tracked from each ticket's creation date. Old tickets that have been open longer than their target will show as breached immediately — this is expected. Going forward, new tickets track accurately from the start. FyneDesk has a safeguard for breach emails: threshold crossings that are more than 10 minutes old when first detected are recorded silently without sending an email, preventing a flood of alerts when you first enable SLAs.

Does the SLA clock pause on weekends or holidays?

Not currently. SLA timers run on calendar time — 24 hours a day, 7 days a week, including holidays. A business-hours engine that pauses the clock outside your working hours is on the roadmap.

Does the clock pause when a ticket is waiting on the customer?

Not yet. A pause-on-status feature (so the timer stops when a ticket is in a "Waiting on Customer" state) is planned for a future release. You can use the pause-on-blocked toggle if the ticket is blocked by another ticket — see the section above.

Can I have different SLA targets for different customers or categories?

The current version uses a single set of targets that apply to all tickets based on their priority. Multiple SLA policies — where different rules apply based on category, customer, or other criteria — are on the roadmap.

Can I get a daily digest instead of one email per threshold?

Not currently. FyneDesk sends at most one email per unique combination of ticket, SLA type, and threshold. Digest-style email summaries are on the roadmap.

Does the breach email go to the ticket's assignee?

No. Breach emails go to whatever single address you set in the Breach notifications section. Per-assignee routing is a planned feature but isn't available yet.

Is SLA available on the Free tier?

SLA display is available on every tier — Free-tier organizations see SLA compliance metrics on the KPIs dashboard using the system default targets. SLA configuration (customizing targets, setting up breach notifications) is a Pro feature. During the 30-day Pro trial, all features are available regardless of tier.