14 min read

Labels, hours and SLAs

Define the labels your team files conversations under, set the hours you are actually open, hold yourselves to first-response and resolution targets, and read the report that says whether you met them.

Labels, hours and SLAs

Four small pages that together decide how a busy inbox is kept honest: the words your team files conversations under, the hours you are actually open, the targets you hold yourselves to, and the report that says whether you met them. They are covered in one guide because they are one mechanism — a target is measured against a calendar, and the report only counts conversations a policy applied to. Each page on its own is ten minutes' work; understanding how they fit is the part worth reading.

Labels

The labels page

Labels are the words your team files conversations under. You define them once here and they become available on every conversation on the account — any agent may apply and remove them, but only an admin may add, rename or delete the definitions. This is the only one of the four pages that has nothing to do with measuring anything.

How calendars, policies and the report fit togetherBusiness hourswhich minutes actually countSLA policyanswer within 60 min,resolve within 480Conversationseach one measuredagainst its policyThe reportdid we meet it?Labels are the exception — they organise conversations, they do not measure them.
Labels organise. The other three pages measure. They meet only on the conversation itself.
Video walkthrough — 3 steps, 0:07. Pick a step to play just that part.
The labels page: a form for adding a label above the labels already defined

Adding one

A name and a colour, and nothing else — there is no description, no parent label and no per-label permission. Keep the names short: they are shown as small pills on a crowded conversation row, and a long one is truncated where nobody will read it.

The add-label form with a name and a colour picker

The ones you have

Each label carries the colour you gave it down its left edge and again as a swatch, with the hex value beneath so you can match it elsewhere. Editing renames or recolours it everywhere at once; deleting removes it from every conversation that carried it, which is what the confirmation is warning you about.

A label is defined once and applied many timesUrgentdefined once, on this pagea complainta late deliverya disputed invoiceRenaming it here renames it everywhere. Deleting it removes it from every conversation at once.
One definition, many attachments. There is no per-conversation copy to fall out of step.
The list of defined labels, each with its colour swatch and hex value

Business hours

The calendars page

A business-hours calendar is a weekly schedule, a timezone and a list of holidays. By itself it changes nothing whatsoever — it only takes effect once an SLA policy points at it, and then it decides which minutes count towards that policy's targets. Most accounts need one; some need two.

The same 60-minute target with and without a calendar24/7 — no calendar. A message arrives at 18:00, the target is 60 minutes.18:00breached at 19:00Weekday support — closes 18:30, opens 09:30closed — the clock is paused18:00due 10:00 next morningSame target, same message, opposite verdict. The calendar decides which minutes are counted.
The same message and the same target, measured two ways. The calendar is the whole difference.
Video walkthrough — 3 steps, 0:06. Pick a step to play just that part.
The business hours page: a weekly grid above the calendars already defined

The weekly grid

One row per day, each with a tick and an open-and-close time. Unticking a day closes it entirely rather than leaving it open all day — that is the greyed-out row, and it is the setting people get backwards. Holidays are added as individual dates, so they are a list to revisit each year rather than a recurring rule.

Note: The timezone defaults to whatever your browser reports, not your account's. If you are setting up a calendar for a team in another country, change it before you save — the times are read in whichever zone is selected here.

The weekly grid, one row per day with a tick and an opening and closing time

The calendars you have

Each calendar summarises itself: the timezone, then the days it is open. The green badge marks the default, which is the one a new policy offers first. Two are shown here because they are genuinely different instruments — a trading week for ordinary work, and a round-the-clock one for the customers you have promised more to.

Note: Deleting a calendar does not delete the policies using it. They fall back to 24/7 — which measures far more minutes than the calendar did, and will turn met targets into breaches overnight.

The calendars already defined, each summarising its timezone and open days

SLA policies

The policies page

A policy is two promises in minutes — answer within this long, finish within this long — measured against a calendar of your choosing. One policy is marked the default and every new conversation takes it. That is the whole model; there is no routing, no per-label policy and no escalation ladder.

The two clocks an SLA policy startsCustomer writesFirst responsehow long until anyone repliesstops on the first outbound messagemissed → the row is flagged in the inboxResolutionhow long until it is marked resolvedkeeps running while the work doesmissed → the row is flagged in the inbox
Both clocks start when the customer writes. They stop on different events, which is why one can be met and the other missed.
Video walkthrough — 3 steps, 0:06. Pick a step to play just that part.
The SLA policies page: a form for the two targets above the policies already defined

Setting the targets

Both targets are in minutes, which is worth converting before you type: a working day is 480 and a working week is 2400. The calendar dropdown includes "24/7 (no calendar)" as a real choice rather than an empty state — pick it and every minute counts, including the night. Auto-close is the one setting here that changes a conversation rather than merely measuring it.

Note: Leaving auto-close blank disables it. A number here silently resolves conversations that have gone quiet, which is tidy on a busy account and alarming on a slow one.

The policy form: two targets in minutes, a calendar, an auto-close and a default switch

The policies you have

Each policy summarises itself on one line, which is the quickest way to see whether two of them really differ. The pair here do: the default measures against the trading week and closes idle conversations after three days, while the priority one measures every minute of the clock and never auto-closes.

How a conversation gets its policyA conversationis createdThe DEFAULT policyis attached to itand it stays attachedchanging the default later does NOTre-point conversations already runningA conversation created before any policy existed simply has none — which is why the report’s with-a-policy count can be lower than the total.
A conversation takes the default when it is created and keeps it. Changing the default does not rewrite history.
The policies already defined, each summarising its targets, calendar and auto-close

The report

Did we meet them?

The report is the only one of these four pages that reports rather than configures. Four tiles over a date range that defaults to the last thirty days: how often you answered in time, how often you finished in time, how many conversations were being measured at all, and how everything in the range is currently sitting.

What the report counts and what it ignoresEvery conversation in the range10 of themHad a policy — 7these, and only these, are scored2 first-response breaches → 71% met1 resolution breach → 86% metHad none — 3counted in the status breakdown only
The two percentages and the status list count different sets. That is not a bug — see the reference below.
Video walkthrough — 3 steps, 0:06. Pick a step to play just that part.
The SLA report: four tiles over a date range

Reading the two percentages

Each percentage has a bar beneath it that is coloured rather than merely proportional: red below 75, amber to 90, green above. Both are the share of conversations with a policy that met their target — not the share of all conversations — and the count beside each one is how many missed.

Note: An em-dash instead of a percentage means nothing in the range had a policy, so there was nothing to measure. It is not the same as 0%, and the empty panel underneath says so explicitly.

The two percentage tiles, each with a coloured bar beneath it

Changing the range

The two date fields and Refresh are the only controls on the page. Changing them does not reload the page; the numbers are fetched and swapped in, which is why the range you pick is not kept when you come back. Widening the range brings older conversations in, and the percentages will move.

The two date fields and the Refresh button at the top of the report

Reference

What these four pages read and write underneath, for anyone who needs to know exactly what a control changes.

Labels, precisely

A label is a name and a colour, defined once per account and applied to as many conversations as you like. There is no hierarchy, no per-label permission and no limit worth worrying about. Any agent may apply and remove them; only an admin may create, rename or delete the definitions. Applying one is covered in The WhatsApp Inbox.

Deleting a label removes it from every conversation that carried it, which the confirmation says. There is no archive and no undo: recreating a label with the same name and colour gives you a new label that no old conversation is attached to.

Note: Labels are also the one thing on these four pages that has nothing to do with SLAs. They are how a team filters and finds work; the other three pages are how a team measures it.

What a calendar changes

A calendar is a weekly schedule, a timezone and a list of full-day holidays. On its own it does nothing at all — it only matters once an SLA policy points at it, and then it decides which minutes count towards that policy's targets.

FieldWhat it doesWorth knowing
Weekly scheduleOne open window per day.A day left unticked is closed, not "open all day".
Time zoneThe zone the times are read in.Defaults to your browser's, which may not be your team's.
HolidaysWhole days treated as closed.Dates, not recurring rules — next year needs adding again.
DefaultWhich calendar a new policy offers first.Only one may be the default.

Note: Deleting a calendar does not delete the policies that use it. They silently fall back to 24/7, which is a much stricter measurement than the one you had — the confirmation warns about it, and it is the single most consequential delete on these four pages.

What a policy measures

A policy sets two targets in minutes and, optionally, points at a calendar and sets an auto-close. Both targets start when the customer's message arrives.

SettingWhat it measuresWhen it stops
First-response targetHow long until anybody replies at all.The first outbound message.
Resolution targetHow long until the conversation is closed.The status becoming resolved.
Business-hours calendarWhich minutes are counted.Leave it at 24/7 and every minute counts.
Auto-close afterIdle hours before it closes itself.Blank disables it entirely.
DefaultWhich policy new conversations get.Only one may be the default.

A conversation takes the default policy when it is created and keeps it. Changing which policy is the default therefore affects new conversations only — the ones already running keep the targets they started with, which is what makes the report comparable over time rather than rewriting history.

Note: Missing a target does not do anything to the conversation beyond flagging it. Nothing is escalated, nobody is emailed, and the bot is not involved. The flag is a prompt for a human.

Reading the report honestly

The report answers one question — of the conversations that had an SLA policy, how many met their targets — over a date range that defaults to the last thirty days. The two percentages are the useful part; the two counts beneath them are what those percentages are made of.

TileWhat it counts
First-response metOf conversations with a policy, the share that were answered in time.
Resolution metOf the same set, the share closed in time.
Conversations with a policyThe denominator. Not the total number of conversations.
Conversations by statusAll conversations in the range, policy or not.

That last row is the trap, and it is worth stating plainly: the status breakdown counts everything, while the two percentages count only the subset that had a policy. In the account photographed here that is seven conversations out of ten, so the two halves of the page genuinely disagree — and both are right.

Note: A range in which nothing had a policy shows an em-dash rather than 0%, and a dashed panel saying so. An em-dash means "nothing to measure", not "you scored zero" — the difference matters.

Who may see these pages

The four pages do not all gate the same way, and the difference is worth knowing before you send a colleague a link. The roles themselves are covered in Your team.

PageAn agent following the link gets
LabelsThe page, read-only — the create form and the per-label buttons are absent.
Business hoursRefused outright.
SLA policiesRefused outright.
The SLA reportRefused outright.

Labels are the exception because agents genuinely need to read the list — they apply labels to conversations all day, and the page is the same list. The other three are configuration an agent has no use for, so they are gated at the door rather than emptied out.

Agents are otherwise unaffected in their daily work: they apply and remove labels on conversations, and they see the SLA flag on a row that missed its target. What they cannot do is change the definitions those things come from.