Skip to main content
SLA policies supersede tier SLAs. Existing tier SLAs keep working, and you can still edit or delete them.
A Service Level Agreement (SLA) is a promise about how fast your team replies to a thread and how fast it gets resolved. Plain measures each thread against the SLAs that apply to it, shows a countdown in the thread and the queue, and warns your team before the deadline passes. SLAs can also be attached to tiers. Manage tier SLAs in Settings → Tiers → Select a Tier → SLAs.
SLAs in Plain

SLA types

A tier can hold four types of SLA:
  • First response time: how long your team has to send the first reply to a new thread. The clock starts when the thread is created
  • Next response time: how long your team has to reply after a customer responds. The clock restarts with every customer message
  • First resolution time: how long your team has to mark the thread Done for the first time
  • Total resolution time: how long your team has to resolve a thread. Including active time after the thread is first marked Done. Reopening a thread that has been Done for a long time can breach this SLA immediately
A tier needs a first response time SLA before you can add a next response time SLA, and you can’t remove the first response time SLA while a next response time SLA exists. Response time SLAs only apply while a thread needs a reply from your team. If a customer message doesn’t need a response, for example a confirmation or thank-you, no response time SLA is active. Only replies from your team achieve a response time SLA, and auto-responses don’t count as a reply. Resolution time SLAs track a thread from creation until it is marked Done, regardless of who sent the last message.

Add an SLA to a tier

Tiers are available on every plan, and SLAs are available on the Horizon and Frontier plans. To add an SLA:
1

Open the tier

Go to Settings → Tiers and open the tier.
2

Choose the type

Click Add SLA and pick First response time, Next response time, First resolution time, or Total resolution time.
3

Set the time

Enter the time allowed in hours and minutes. Turn on Only during business hours if the clock should pause outside your working hours.
4

Narrow it by priority and labels

Click Add priority or Add label to apply the SLA only to some threads. Leave both empty to apply it to every thread in the tier. See How an SLA is matched to a thread.
5

Set the warning

Under Escalate to your team, enter how long before the deadline Plain should notify you. See Notify before breach.
6

Save

Click Save changes.

How an SLA is matched to a thread

A thread’s tier can come from its tenant, or be set using a workflow. Plain looks at that tier’s SLAs and applies the ones whose conditions the thread matches. An SLA with no conditions matches every thread in the tier. Conditions narrow it down:
  • Priority: the SLA applies only when the thread’s priority is one of the ones you add: Urgent, High, Normal, or Low
  • Labels: the SLA applies only when the thread has any of the labels you add. Turn on Require all labels for it to apply only when the thread has every one of them
Plain rejects a new SLA if an existing SLA of the same type covers the same priority and matches the same label as it. Two SLAs on the same priority can coexist only when their label conditions are distinct, for example one for Bug threads and one for Billing threads. A thread with both of those labels matches both SLAs. When that happens, an SLA with Require all labels on wins. Otherwise the SLA that was created first wins. When a thread’s priority or labels change, or its tenant moves to a different tier, Plain re-evaluates which SLA applies.

Notify before breach

Under Escalate to your team, set how long before the deadline the SLA moves to Imminent breach. The warning period must be shorter than the SLA’s time. When an SLA reaches Imminent breach, and again when it reaches Breaching, Plain posts a warning to the Slack or Discord channels that have SLA warnings turned on under Settings → Notifications.

Pausing resolution time SLAs

A resolution time SLA on a tier pauses by default while the thread is snoozed as Waiting for customer, so time spent waiting on the customer doesn’t count against it. While paused, the thread shows Paused with the time remaining instead of a countdown. When the thread leaves that status the clock resumes with the same time remaining. Pausing only applies to resolution time SLAs. Response time SLAs cancel or keep running as described in SLAs and snoozed threads.

SLA statuses

Each SLA changes status as time passes and as your team replies to the customer and marks the thread Done. You’ll see these statuses in the thread view and when setting up workflow triggers.

SLAs and snoozed threads

What happens to an SLA timer when you snooze a thread depends on the SLA type and which snooze status you use:

Business hours

By default, SLA timers run 24/7. Turn on Only during business hours on an SLA to count time only while your team is working. Set your working schedule in Settings → Business hours. With a 4 hour first response time and a Mon–Fri 09:00–17:00 schedule, a thread that arrives at 16:30 on a Friday is due at 12:30 on Monday. With the setting off, the same thread is due at 20:30 on Friday.

Manage tier SLAs with the API

Tier SLAs can also be created, updated, and deleted with the GraphQL API.