Internal WhatsApp Support SLAs: Reference Table with Trigger, Owner and Evidence
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.
| Level | Type of inquiry | Trigger (observable event) | Responsible | Target time | Evidence left behind |
|---|---|---|---|---|---|
| N0 | Simple informational inquiry (hours, address, list price, general availability) | The message arrives during business hours and does not require checking any system | On-duty agent | First reply within the shift | Message sent in the inbox, with the channel timestamp |
| N1 | Inquiry requiring a data lookup (stock, available appointment, status of an order) | The agent cannot reply without opening another system | On-duty agent | First reply with the data, within the shift | Reply sent plus a screenshot or internal note with the data looked up |
| N2 | Complaint or dissatisfaction without a request for compensation | The 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 superior | On-duty agent, with notice to the area manager | Acknowledgement within the shift; resolution or action plan before the close of the next day | Acknowledgement sent plus an internal note with the reason and the plan |
| N3 | Explicit request to speak with a higher-ranking person | The customer asks for a supervisor, manager or owner, or insists after two replies without a solution | Shift supervisor | Taking over the conversation within the shift; supervisor's reply before the close of the day | Handover recorded in the conversation plus the supervisor's reply |
| N4 | Money commitment: refund, discount, compensation or exception to a policy | The customer asks for an amount, a reimbursement or an exception that the agent cannot authorize | Area manager (or owner, if there is no area) | Decision communicated to the customer before the close of the next day | Decision written in the conversation, with the amount or the exception approved |
| N5 | Legal, health or safety risk | The message mentions a lawyer, consumer protection, injury, poisoning, sensitive data or a threat | Owner or person designated in writing | Immediate escalation to the responsible person; first reply to the customer within the shift | Record of the escalation with time, plus a copy of the original message unedited |
| N6 | Conversation left unanswered outside business hours | The message arrived outside business hours and is still unanswered when the next shift opens | Opening agent | First reply within the first hour of the shift | Reply message with the channel timestamp |
| N7 | Abandoned 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 first | Shift supervisor | Reply with an apology and resolution before the close of the day | Customer's second message plus the reply sent, both visible in the conversation |
| N8 | Inquiry resulting from an active campaign | The message responds to a template or campaign sent by the business | Campaign manager, with support from the on-duty agent | First reply within the shift; closing of the inquiry within 48 hours | Link between the incoming message and the campaign that originated it |
| N9 | Inquiry from a repeat customer with an open history | The customer has a previous conversation that is not closed on the same topic | Agent who handled the original case; if unavailable, shift supervisor | Picks up the thread before the close of the day, without restarting the diagnosis | Reference 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.
| Level | What it means that it broke | What is done first | What is reviewed afterward |
|---|---|---|---|
| N0 | Nobody answered a simple inquiry during the shift | Answer and apologize for the delay | Shift staffing and whether the inbox was assigned to someone |
| N1 | The data could not be obtained in time | Answer with what is available and let them know it will be completed | Whether the system where the data lives is accessible to the on-call agent |
| N2 | The complaint was left without an action plan | Acknowledge receipt and give a specific deadline | Whether the reason for the complaint repeats and why |
| N3 | The supervisor did not take the conversation | Escalate to the next available responsible person | Whether the on-duty supervisor role was covered |
| N4 | The money decision was not communicated | Answer with the real status, without promising what was not approved | Who has the authorization and whether they were available |
| N5 | There was no immediate escalation | Escalate now and leave a record with the time | Whether the escalation channel is defined and known |
| N6 | The after-hours conversation was left unanswered when opening | Answer that conversation first | Whether the away message states when it will be resumed |
| N7 | The customer had to write twice | Answer with an apology and resolve | Why the first conversation was not assigned to anyone |
| N8 | The campaign inquiry was left without an owner | Assign it to the campaign owner | Whether the campaign defined who handles the responses before sending it |
| N9 | The diagnosis of an open case was restarted | Resume with the history in view | Whether 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.
- 1Choose a fixed sample of conversations from the week (for example, ten, taken at random from all the ones that came in).
- 2Classify each one into a level using only the written trigger, without discussing the case.
- 3Note the actual time between the customer's message and the response that corresponds to that level.
- 4Mark met / not met and, if not met, which column failed: trigger, owner, time or evidence.
- 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.
- 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.