Studies & referenceStudies & reference

Internal WhatsApp Support SLAs: Reference Table with Trigger, Owner and Evidence

10 min read

An internal SLA is not a promise to the customer: it is an agreement between the areas of the business about how long a conversation can wait before someone has to do something. The difference from a public SLA is that it is not communicated, it is not negotiated with the customer, and it does not generate commercial penalties. It serves one purpose: that when a query gets stuck, there is a name and a deadline before it becomes a problem.

This page does not define which SLA you have to use. It defines how to write one that can be audited later. The heart is the table: each row is a type of query, with the specific trigger that activates it, the owner, the target time, and the evidence that remains. If your operation cannot fill in the evidence column, that SLA does not exist: the intention exists.

Why an SLA without evidence is not an SLA

Most teams define response times by looking at the chat clock and nothing else. The problem appears when you have to answer the uncomfortable question: was it met or not? If the only proof is the memory of the person who handled it, the answer will always be yes. An auditable SLA needs three things per row: a trigger that does not depend on interpretation, an owner with a name and not an area, and evidence that is written down somewhere.

The trigger is the hardest thing to write well. "Complex query" is not a trigger, it is an opinion. "The customer asked to speak with a supervisor" is: either it happened or it did not. The more mechanical the trigger, the less discussion it generates later. The table below uses observable triggers: events that anyone on the team can recognize without having to decide whether they apply.

The times in this table are examples of structure, not recommendations. Each business defines its own according to its volume, its schedule, and how many people it has. What is not negotiable is that each row has a trigger, an owner, and evidence.

Reference table: internal SLA levels by type of query

The levels and times are a structural model. Each business adjusts its own according to volume, schedule, and staffing. What stays the same is the logic: observable trigger, owner with a name, written evidence.

LevelType of inquiryTrigger (observable event)ResponsibleTarget timeEvidence left behind
N0Simple informational inquiry (hours, address, list price, general availability)The message arrives during business hours and does not require checking any systemOn-duty agentFirst reply within the shiftMessage sent in the inbox, with the channel timestamp
N1Inquiry requiring a data lookup (stock, available appointment, status of an order)The agent cannot reply without opening another systemOn-duty agentFirst reply with the data, within the shiftReply sent plus a screenshot or internal note with the data looked up
N2Complaint or dissatisfaction without a request for compensationThe customer uses complaint words ("it didn't arrive", "it's wrong", "no one replied to me") without asking for a refund or to speak with a superiorOn-duty agent, with notice to the area managerAcknowledgement within the shift; resolution or action plan before the close of the next dayAcknowledgement sent plus an internal note with the reason and the plan
N3Explicit request to speak with a higher-ranking personThe customer asks for a supervisor, manager or owner, or insists after two replies without a solutionShift supervisorTaking over the conversation within the shift; supervisor's reply before the close of the dayHandover recorded in the conversation plus the supervisor's reply
N4Money commitment: refund, discount, compensation or exception to a policyThe customer asks for an amount, a reimbursement or an exception that the agent cannot authorizeArea manager (or owner, if there is no area)Decision communicated to the customer before the close of the next dayDecision written in the conversation, with the amount or the exception approved
N5Legal, health or safety riskThe message mentions a lawyer, consumer protection, injury, poisoning, sensitive data or a threatOwner or person designated in writingImmediate escalation to the responsible person; first reply to the customer within the shiftRecord of the escalation with time, plus a copy of the original message unedited
N6Conversation left unanswered outside business hoursThe message arrived outside business hours and is still unanswered when the next shift opensOpening agentFirst reply within the first hour of the shiftReply message with the channel timestamp
N7Abandoned conversation (the customer wrote, no one answered and they wrote again)The customer sends a second message on the same topic without having received a reply to the firstShift supervisorReply with an apology and resolution before the close of the dayCustomer's second message plus the reply sent, both visible in the conversation
N8Inquiry resulting from an active campaignThe message responds to a template or campaign sent by the businessCampaign manager, with support from the on-duty agentFirst reply within the shift; closing of the inquiry within 48 hoursLink between the incoming message and the campaign that originated it
N9Inquiry from a repeat customer with an open historyThe customer has a previous conversation that is not closed on the same topicAgent who handled the original case; if unavailable, shift supervisorPicks up the thread before the close of the day, without restarting the diagnosisReference to the previous case within the new conversation

How to read the table and adapt it to your operation

The trigger column is the one that decides everything. If two people on the team read the same message and do not agree on which level it belongs to, the trigger is poorly written and must be rewritten until they agree. That is tested in a short meeting: five real conversations are read and each person says which level they correspond to. If there is disagreement, the wording is adjusted, not an argument over who is right.

The responsible column must carry a role, not a loose name, except in N5, where it is best to have a person designated in writing. Roles rotate; names change positions. If the SLA says "Juan" and Juan goes on vacation, the SLA breaks on its own. If it says "shift supervisor", you must define who the shift supervisor is in each time slot, and that is a separate decision.

The target time column must be achievable on the worst normal day, not the best. An SLA that is met only when there is little work is not an SLA: it is an aspiration. It is best to set it by looking at the busiest week of the previous month and then adjust. If with that reference the time is too long for the business, the answer is not to shorten the SLA: it is to add people or automate the first reply.

What to do when an SLA breaks

Breaking an SLA is not a mistake in itself: it is information. What is a mistake is not recording that it broke. Each level should have a different consequence when it is not met, and that consequence must be written before it happens, not decided in the heat of the moment.

This table is the audit part: what is done when the SLA was not met and what is reviewed so that it does not happen again.

LevelWhat it means that it brokeWhat is done firstWhat is reviewed afterward
N0Nobody answered a simple inquiry during the shiftAnswer and apologize for the delayShift staffing and whether the inbox was assigned to someone
N1The data could not be obtained in timeAnswer with what is available and let them know it will be completedWhether the system where the data lives is accessible to the on-call agent
N2The complaint was left without an action planAcknowledge receipt and give a specific deadlineWhether the reason for the complaint repeats and why
N3The supervisor did not take the conversationEscalate to the next available responsible personWhether the on-duty supervisor role was covered
N4The money decision was not communicatedAnswer with the real status, without promising what was not approvedWho has the authorization and whether they were available
N5There was no immediate escalationEscalate now and leave a record with the timeWhether the escalation channel is defined and known
N6The after-hours conversation was left unanswered when openingAnswer that conversation firstWhether the away message states when it will be resumed
N7The customer had to write twiceAnswer with an apology and resolveWhy the first conversation was not assigned to anyone
N8The campaign inquiry was left without an ownerAssign it to the campaign ownerWhether the campaign defined who handles the responses before sending it
N9The diagnosis of an open case was restartedResume with the history in viewWhether the history is visible to anyone who opens the conversation

Weekly audit: how to know if SLAs are truly met

An SLA is audited with a sample, not with the team's gut feeling. The method is simple: conversations from the week are chosen at random, classified by level, and the actual time is compared with the target. Ten conversations per week are enough to see if the system works; with fifty, the fine patterns become visible.

  1. 1Choose a fixed sample of conversations from the week (for example, ten, taken at random from all the ones that came in).
  2. 2Classify each one into a level using only the written trigger, without discussing the case.
  3. 3Note the actual time between the customer's message and the response that corresponds to that level.
  4. 4Mark met / not met and, if not met, which column failed: trigger, owner, time or evidence.
  5. 5Count how many times the same column failed. If a column fails more than twice in the sample, the problem is not the team: it is the SLA definition.
  6. 6Rewrite that row of the table before the following week.

The column that fails most often is almost always the owner column. SLAs break more from lack of an owner than from lack of time. If the audit shows that the level had nobody assigned, the fix is not to shorten the time: it is to name someone for that time slot.

Frequent mistakes when building internal SLAs

  • Defining the SLA by average response time instead of by type of inquiry. The average hides the cases that matter: a legal inquiry resolved quickly does not offset an abandoned complaint.
  • Writing triggers that depend on the agent's judgment ("important inquiry", "upset customer"). If the trigger is not observable, each person will classify differently and the audit is useless.
  • Putting an area as the owner instead of a role with a name. "Marketing" does not answer messages; a person does.
  • Not defining what happens when the owner is not there. Every SLA needs an explicit replacement for vacations, leaves and holidays.
  • Mixing the internal SLA with a public promise. If the time is communicated to the customer, it stops being internal and becomes a commercial commitment with other consequences.
  • Auditing only when there is a problem. The weekly audit with a fixed sample is the only way to see if the system holds up in a normal week.
  • Defining the SLA once and never touching it again. Staffing, volume and schedule change; the table has to change with them.

How this relates to the tools

The SLA lives in the process, not in the tool. No messaging platform decides for you what level a conversation corresponds to or who is the person on duty. What a tool can do is leave the evidence in the same place where the conversation happens: the message timestamp, the logged handoff, the internal note with the reason. If that evidence is scattered between the chat, a notebook and someone's memory, the audit becomes impossible.

That is why it is worth making the SLA table and the message inbox speak the same language. If your team uses an inbox with AI suggestions and multi-agent support, like Wando's, the evidence stays in the conversation itself: who replied, when and with which approved suggestion. That does not build the SLA for you, but it makes the weekly audit a read-through instead of a reconstruction.

Minimum template to get started

If your business has no written SLA at all, do not start with ten levels. Start with four: simple inquiry, inquiry that requires looking up a piece of data, complaint and request to speak with a supervisor. Those four cover most of a small business's volume and are the ones that break most often. Once those four work for a full week, add the rest.

The criterion for knowing whether they are already working is simple: in the weekly audit, the evidence column is filled in effortlessly for all the conversations in the sample. If you have to dig to find the proof, the SLA is not operating yet: it is written down.

Frequently asked questions

What is the difference between an internal SLA and a public one?+

An internal SLA is an agreement between areas of the business: it defines who responds, in how long and with what evidence. It is not communicated to the customer and does not generate commercial penalties. A public SLA is communicated and becomes a commitment to the customer, with other consequences if it is not met. It is best not to mix them: if the internal time is published, it stops being a management tool.

How many SLA levels should you have?+

It depends on volume and the variety of inquiries. For a small business just starting out, four levels (simple inquiry, inquiry that requires looking up data, complaint and request for a supervisor) cover most of the volume. Adding levels for legal risk, money commitments or campaigns makes sense when those cases appear frequently. An SLA with too many levels is not remembered and ends up unused.

How often should the SLA table be reviewed?+

A weekly audit with a fixed sample of conversations is enough to detect if a row is not working. The full table should be reviewed when staffing, business hours or message volume change. If a column fails more than twice in the same sample, that row is rewritten before the following week.

What do I do if the team is not meeting any SLA?+

First check whether the triggers are well written: if two people classify the same conversation differently, the problem is the definition, not the team. Then check whether each level has a named owner and a replacement for when they are away. In most cases an SLA breaks due to lack of an owner, not lack of time.

Does an SLA work if I handle everything alone, with no team?+

Yes, but the use changes. With no team there is no one to escalate to, so the SLA becomes a commitment to yourself about what you answer first and what you can leave for later. The table still works: it forces you to decide in advance which inquiry cannot wait and which can. The evidence column is still useful to see, at the end of the week, whether those decisions held up.

Answer WhatsApp with AI

Try Wando free. No credit card required.