SLA & viewing presence
Requires the Escalation module.
Two Inbox features protect the two things a support team most easily gets wrong: leaving a customer waiting, and two agents answering the same customer at once.
SLA timer
The SLA target is your promised first-response time for an escalated conversation. Set it at Dashboard → Settings → Escalation → SLA → Response time target (minutes), default 5 minutes. Enter 0 to switch the timer off entirely.
A background check runs every minute. When a conversation has sat in the Unassigned queue longer than your target, it is marked as breached and the Inbox reacts in three ways:
- A sticky warning toast: "SLA breach — escalation #a1b2c3d4 waiting too long. Pick it up?"
- The conversation's card gets a bold red left edge, which stays until the conversation is claimed — so a breach is still visible long after the toast is gone.
- The breach is written to the conversation's audit trail, so you can see afterwards which handoffs were slow.
The timer measures queue time, not conversation time: it starts when the conversation is escalated and stops when an agent claims it. Replying slowly after claiming does not trigger it.
🖼️ [Image] — A conversation card with the red SLA-breach edge next to a normal card.
Each breach is announced once. The toast shows a single time per browser session so a long shift doesn't turn into a wall of notifications, and the underlying breach is recorded once per escalation — a conversation waiting an hour does not generate sixty alerts. If the same conversation is escalated again later, its timer starts fresh.
This is a prompt, not a hard block. Nothing is locked, rerouted, or closed on a breach — the conversation stays claimable by anyone. The timer exists so a slow handoff gets noticed by a human, and that human is expected to decide what to do about it.
Choosing a target: set it to the time you'd actually be embarrassed to exceed, not to an aspiration. A 1-minute target on a team that checks the Inbox between other work turns every conversation red and the colour stops meaning anything. Five to fifteen minutes suits most teams.
Viewing presence
When you open a conversation, your teammates are told you're looking at it. That is the whole feature, and it prevents the most visible support failure there is — two agents replying to the same person with two different answers.
What others see while you have a thread open:
- On the list card: a pulsing dot with "{name} is viewing", or "{n} agents viewing" when several of you are in there.
- In the conversation header: "{name} is also viewing".
- The Claim button softens to a ghost style, and its tooltip names who else is looking — a nudge to pick a different conversation rather than a lock.
Presence is deliberately advisory. You can still claim a conversation someone else is reading; only the claim itself is exclusive, and that race is resolved cleanly by the server.
🎬 [Video] — Two agents open the same conversation; each sees the other's viewing badge.
Presence is released as soon as you close the conversation or switch your browser tab to the background — so an agent who wanders off to another tab doesn't look busy. A stale entry from a crashed or closed tab expires on its own within about a minute and a half, so the list never accumulates phantom viewers.
Viewing presence is separate from your online status, which is what routing uses to decide who gets new work. See Agent presence & audit log.