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.
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.
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.
| Priority | System default |
|---|---|
| Critical | 1 hour |
| High | 8 hours |
| Medium | 2 days |
| Low | 7 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.
| Priority | System default |
|---|---|
| Critical | 15 minutes |
| High | 30 minutes |
| Medium | 4 hours |
| Low | 24 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.
| Priority | System default |
|---|---|
| Critical | 15 minutes |
| High | 1 hour |
| Medium | 4 hours |
| Low | 8 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.
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.
How it works
- 1 An agent marks Ticket A as "blocked by" Ticket B using the ticket relations feature.
- 2 Ticket A's SLA countdown pauses immediately. The progress bar freezes in place.
- 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.
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.
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:
| Color | What it means |
|---|---|
| Green | Under 50% of the target consumed — plenty of time left |
| Amber | 50–90% consumed — getting close |
| Red | 90%+ consumed — act now to avoid a breach |
| Dark red | Past 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.
Which cards appear
| SLA type enabled | Cards that appear |
|---|---|
| Resolution time targets | SLA Compliance % — share of tickets resolved within their target. An SLA by Priority bar chart breaks compliance down per priority level. |
| First-response time targets | Avg First Response (hours) and First-Resp Compliance %. |
| Assignment time targets | Avg 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 higher | Green |
| 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.
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:
| Threshold | Headline 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.
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 Go to Settings → Channels → Email → Custom Email Address.
- 2 Add the address you want (e.g.,
slaalerts@yourcompany.com). Status shows as Pending. - 3 Add the DNS records FyneDesk gives you (SPF, DKIM, DMARC) to your domain's DNS provider.
- 4 Wait for DNS propagation — usually minutes, sometimes up to 24 hours.
- 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:
| Variable | What it becomes | Example |
|---|---|---|
{{ .TicketNumber }} | The ticket's reference | TKT-1287 |
{{ .Title }} | The ticket title | Printer offline in Building C |
{{ .Priority }} | Priority level | Critical |
{{ .Kind }} | Which SLA type | resolution |
{{ .Threshold }} | Which threshold triggered | 100 |
{{ .Headline }} | Severity label | SLA BREACHED |
{{ .Percent }} | Current SLA consumption | 102 |
{{ .Elapsed }} | Time since ticket was created | 8 hr |
{{ .Target }} | The SLA target | 8 hr |
{{ .Remaining }} | Time left or overdue | 10 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 Confirm a recipient email is entered in the Breach notifications section and spelled correctly.
- 2 Confirm the master SLA toggle is on.
- 3 Confirm at least one of Resolution / First-response / Assignment is enabled.
- 4 If you set a custom sender email, check that it's still active in Email Settings.
- 5 Check your spam folder — especially if using the default
support@fynedesk.io sender. - 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.