Guide

Writing a Live Chat SLA That Holds Up

4 minute read · Updated July 18, 2026

An SLA is a promise, so make one you can keep

A service-level agreement for live chat is a commitment about how fast you will respond and when you are available. The most common mistake is writing an aspirational SLA — “we respond in under 30 seconds, 24/7” — that the team cannot actually staff. A broken SLA is worse than a modest one, because now you have documented your own failure. Promise what you can deliver on your worst normal day, not your best.

Separate response time from coverage window

Two numbers do most of the work. The response target is how fast you answer while you are open. The coverage window is when “open” is. Conflating them produces the classic broken promise: a 30-second target that silently does not apply at 2am. State both plainly — “first response under two minutes, Monday to Friday 8am–6pm” — and let the widget reflect that window honestly.

Be honest about after-hours

Outside the coverage window, the honest move is to switch the widget to an offline state that sets expectations and captures a message, not to leave a live-looking chat that no one is watching. An SLA that quietly excludes nights and weekends is fine — as long as the visitor at 2am is told that, rather than left waiting for a reply that is not coming until morning.

Set targets against reality, then tighten

Before you commit to a number, measure what you actually do now. If your median first response is ninety seconds, do not announce thirty. Publish a target you are already beating most of the time, then tighten it as staffing and tooling improve. An SLA is a floor you reliably clear, not a stretch goal you occasionally hit.

Measure it without gaming it

Measure first response to a real human reply, track the median and the tail (not just the average), and report against the coverage window rather than the full clock. Beware the incentive to auto-reply instantly just to stop the SLA timer — that games the metric while leaving the visitor exactly as unhelped as before. The number should track the experience, or it is worse than no number.

How MyLiveChat helps you hold the line

MyLiveChat's online/offline behavior, business-hours handling, and response reporting give you the pieces an SLA needs: a widget that tells the after-hours truth, and the timing data to check whether you are actually meeting the promise you made. The SLA is your commitment; the reports are how you keep yourself honest about it.

The exceptions are the document

Most service commitments are written for the normal day and then quietly abandoned on the abnormal one, which is the only day anybody remembers. Write the exceptions into the SLA itself and it stays credible: what happens on public holidays, during a known incident, during an announced maintenance window, and during a volume spike you did not predict.

The useful pattern is a named degraded mode rather than an apology. Something like: when the queue passes a stated depth, the widget states a longer wait, proactive invitations stop, and chats are answered oldest-first. Publishing that is not an admission of weakness; it tells a visitor what to expect and it tells your own team what to do without a meeting.

Be explicit about what an exception does not change. Even in a degraded mode, an offline form should still capture the message, and someone should still reply within the stated follow-up window. The promise that survives the bad day is the one people judge you on.

Internal targets and public promises are different documents

Teams get into trouble by publishing their internal target. If you aim for a thirty-second first response, publishing thirty seconds means every ordinary fluctuation is a broken promise. Publish the number you hit on a bad day and manage to the number you want on a good one.

A workable split is an internal target at roughly your median performance and a public commitment near your ninetieth percentile. That gap is not dishonesty; it is the difference between an ambition and a guarantee, and it is exactly how every mature service commitment is written.

Keep the two documents visibly linked so the team understands why they differ. Agents who think the public number is the real target will optimise for it, and the fastest way to hit a generous response target is to send an empty acknowledgement, which helps nobody.

Reviewing the SLA before it reviews you

Put a review date on the document. An SLA written when you had two agents and a thousand visitors a month becomes either trivially easy or quietly impossible once either number changes, and nobody notices until a customer quotes it back.

At each review, ask three questions: did we meet it, what did meeting it cost, and did anyone outside the team ever refer to it. A commitment nobody references and nobody misses is overhead you can retire. A commitment you meet only by leaving other work undone needs its target moved or its staffing fixed.

Watch for the drift where the SLA stays constant while the coverage window silently shrinks. That is the most common way a chat promise becomes untrue: not by getting slower, but by applying to fewer and fewer hours of the week.

An SLA promises a response time; it says nothing about what the work costs you. Pairing it with logging the time your team spends on a ticket is what turns a target into a staffing argument.

Put it into practice

MyLiveChat is free forever for one agent, with unlimited chats and the embed code ready in about a minute.

Free forever for 1 agent

Give every visitor an instant way to reach you.

Launch live chat, connect your knowledge base, and add AI answers when you are ready. No credit card, no trial clock.