Night and weekend shift audit checklist: what to review in the logs the next day
What auditing the night shift is (and what it isn't)
Auditing the night shift is not reading every chat from Saturday morning. It's reviewing a limited set of signals that tell you whether support held up when no one was watching the screen.
This page is for whoever opens on Monday morning (or after a long holiday weekend) and has to reconstruct what happened. It's useful for businesses with small teams and time-based auto-replies: food service, beauty, real estate, academies, healthcare. You don't need a special tool: you need to know which column to look at and in what order.
A technical detail that changes the whole analysis: when you look at timestamps, use the time of the message sent by the channel (the event timestamp), not the time the row was saved in your database. If your system imported history or ran a migration, the insertion date may all be concentrated in a couple of days and any time-of-day chart will lie to you. The message time rules; the save time doesn't.
If you don't have access to the channel's original timestamp and only see the save date, say so in the report and don't draw conclusions about time slots. An incomplete report is preferable to one that places everything at 15:00 on a Tuesday.
Before looking at the logs: map out the shift's perimeter
The most common mistake is auditing "the weekend" as if it were one block. It isn't: a Saturday morning looks more like a weekday than a Sunday night. Before opening any record, write down which time slots you're going to audit and what schedule you're comparing them against.
- 1Define the business's declared operating hours, with time zone. If you have several locations or the team is in different countries, one line per location.
- 2Mark the time slots that fall outside those hours: night (from close to open), the full weekend or just Sunday, and holidays.
- 3Define what counts as "answered": a message with a human reply, an automatic reply, or both separately. If you don't separate them, you won't be able to distinguish a coverage problem from a quality one.
- 4Set the tolerable wait threshold per time slot. 3 in the morning is not the same as 11 on a Saturday. Write it down before seeing the data, not after.
- 5Choose the date range: one normal weekend plus a holiday, if there was one. A single day doesn't show a pattern.
With the perimeter written down, the log stops being a sea of messages and becomes a grid. Each message falls into a cell: time slot, type of response, wait time. Only then can you check something off.
The checklist, stage by stage
The items are grouped by stage. Each one says what to review and how to know it's fine. If an item doesn't apply to your operation, cross it out and note it: a checklist with items that don't apply gets abandoned by the second week.
- STAGE 1 — Coverage: was there someone (or something) assigned to each time slot? Check whether the auto-response by schedule fired in the slots where it should have. OK signal: there are no incoming messages in a closed slot without any automatic or human response. Example: a real estate agency loaded the May 25 holiday incorrectly and the "we're closed" message didn't go out; the three people who inquired that day got no acknowledgment.
- STAGE 1 — Coverage: does the automatic message say something useful or just "we're closed"? OK signal: the text includes when they'll be back and, if the case allows, a concrete next step. Example: in food service, a message that says "we're back at 19:00 and you can book by replying to this chat" converts better than one that only announces the closure.
- STAGE 1 — Coverage: was there a holiday or an unexpected closure that wasn't loaded into the schedule? OK signal: the schedule calendar matches what actually happened. If it doesn't match, the problem is configuration, not the team.
- STAGE 2 — Queue: how many incoming messages were left unanswered when the next shift started? OK signal: the queue was cleared in the first business hour, not at 15:00.
- STAGE 2 — Queue: were they answered in order of arrival or was the one who insisted the most answered first? OK signal: you can reconstruct the order. If you can't, there's no prioritization criteria.
- STAGE 2 — Queue: were there clients who wrote two or three times without a response? OK signal: zero cases, or cases with a recorded explanation (for example, a one-off spike). Example: in aesthetics, someone who writes Saturday night for a Monday appointment and repeats Sunday morning is an urgency signal that the queue must prioritize.
- STAGE 3 — Handoff: was the message that came in at night assigned to someone by name? OK signal: when the shift starts, every pending conversation has an owner, it's not in a shared limbo.
- STAGE 3 — Handoff: did the person who took the conversation have the context (reason, schedule, what was already said)? OK signal: there was no need to ask the client the same thing twice.
- STAGE 3 — Handoff: was any conversation marked as resolved without a real response? OK signal: closed conversations have at least one outgoing human message or an explicit automatic response.
- STAGE 4 — Quality: of the shift's responses, did any promise something the business can't deliver (a schedule, a price, an availability)? OK signal: no automatic response promises conditions that change. Example: an academy that promises "enrollment closes Friday" when the spot can fill up earlier.
- STAGE 4 — Quality: were the corresponding templates used or was everything written by hand? OK signal: the templates cover the recurring reasons for that time slot.
- STAGE 5 — Closing: was any case left that needs follow-up today? OK signal: there's a short, concrete list, not a feeling of "there are pending things."
Not all items weigh the same. If you have twenty minutes, do STAGE 1 and STAGE 2. If you have an hour, add STAGE 3. Stages 4 and 5 are for when you already have the habit built.
The table for checking off
This is the table you print or copy to a spreadsheet. The "signal that it's OK" column is the one that prevents arguments: if you can't write what you expected to see, the item isn't well defined.
Adapt the time slots and wait thresholds to your operation: there's no universal value.
| Stage | What is reviewed | Signal that it is OK |
|---|---|---|
| Coverage | Auto-reply triggered during closed hours | No inbound message during closed hours was left without an automatic or human response |
| Coverage | Text of the auto-reply | It states when they will be attended again and, if applicable, the next step |
| Coverage | Schedule calendar vs. actual holidays | The loaded schedule matches what happened; if not, it is a configuration error |
| Queue | Unanswered messages at the start of the shift | The queue was cleared within the first working hour |
| Queue | Response order | The prioritization criteria can be reconstructed |
| Queue | Customers who wrote more than once | Zero cases, or with a recorded explanation of the spike |
| Handover | Assignment of pending conversations | Each pending item has a named owner |
| Handover | Context available when taking the case | The customer is not asked the same thing twice |
| Handover | Closed conversations | Every closed conversation has a real outbound response |
| Quality | Promises made in the response | No automatic response promises variable conditions |
| Quality | Use of templates | Templates cover the recurring reasons during the closed hours |
| Closing | Cases that need follow-up | Short and concrete list, with an owner |
How to read logs without confusing volume with a problem
A weekend with many messages is not a weekend with problems. And vice versa: a weekend with few messages can hide an angry customer who left without saying anything. Volume alone says nothing. What says something is the relationship between three things: how many came in, how many received a response, and how long they waited.
Always combine the three variables (inbound, responses, wait). One alone is not enough to diagnose.
| What you see in the log | What it usually means | What to review next |
|---|---|---|
| Many inbound, few responses, long wait | Uncovered hours or insufficient team | STAGE 1 and STAGE 2: coverage and queue |
| Many inbound, many automatic responses, zero human ones | The auto-reply is masking the lack of coverage | Does the automatic text promise anything? Does it redirect anywhere? |
| Few inbound, short wait, everything answered | Healthy hours or low traffic | No action; it serves as a baseline for comparison |
| Few inbound, one with several repetitions | A stuck customer who insisted | STAGE 3: handover and context |
| Normal inbound, responses grouped at the same time | Everything was answered together at the start of the shift | STAGE 2: order and prioritization |
| Inbound with immediate response but no follow-up | It was answered and let go | STAGE 5: cases that need follow-up |
A case that appears often: on Monday morning everything seems answered because the auto-reply answered every message. But if the automatic text does not redirect anywhere or promise a contact time, the customer was left just as stranded as if they had received nothing. That is the kind of problem that volume does not show and that the audit does.
What to do when something fails
When an item does not come back OK, the reflex is to look for who is to blame. That does not help. What helps is classifying the failure into one of three families, because each family is fixed in a different place.
- Configuration failure: the schedule was loaded incorrectly, the auto-reply didn't cover that time slot, the holiday wasn't on the calendar. It's fixed in the configuration, not with a talk to the team. It's the most common and the cheapest to resolve.
- Process failure: the schedule was fine, but there was no prioritization criteria, or the handover had no owner. It's fixed by writing the rule and testing it next weekend.
- Capacity failure: the volume in that time slot exceeds what the team can absorb, even with everything configured correctly. It's fixed with a business decision: more people, another coverage time slot, or an automatic message that manages expectations.
The distinction isn't academic. If you treat a configuration failure as a capacity failure, you hire people for a problem that was fixed with a checkbox. If you treat a capacity failure as a process failure, you write rules that no one can follow and the team abandons them in two weeks.
About timelines: there's no guaranteed deadline to resolve a configuration or channel failure. It depends on what's wrong, who has the permissions and, if the problem touches the channel configuration, the provider's review times. What you can do is record the date you detected the problem and the date it was resolved. That pair of dates, accumulated, tells you whether your operation is improving or whether you're auditing the same thing every month.
If the problem is WhatsApp template approval, the only deadline that can be stated is "up to 48 hours." Any other deadline they promise you is not guaranteed by Meta.
The one-page report (and why it's worth writing)
An audit that doesn't leave a written record is repeated in full the following week. You don't need a long document: one page with five fields is enough, and it helps you compare one weekend with the next without relying on memory.
- Audited period and time slots included, with time zone.
- Result by stage: how many items OK, how many not, and which ones.
- Classification of each failure: configuration, process or capacity.
- One concrete action per failure, with owner and date.
- A baseline number: average or median wait time for the time slot, to compare next time.
The last point is the one most often skipped and the one with the most value. Without a baseline, "improved" and "worsened" are opinions. With a baseline, they're two numbers.
Typical mistakes when auditing the night shift
- Reading conversations instead of looking at aggregates. The log is audited by time bands and by queues, not chat by chat.
- Using the save date instead of the message time. If there was a history import, the hourly distribution gets distorted and the analysis is useless.
- Auditing a single day and drawing pattern conclusions. One odd Saturday is not a pattern.
- Mixing automated replies with human replies in the same count. They are two different things and are fixed in different places.
- Defining the waiting threshold after seeing the data, so it looks good. It is defined beforehand.
- Turning the audit into an evaluation of people. The goal is to find configuration and process failures, not individual performance.
- Not recording the detection date and the resolution date. Without that, you don't know if the operation is improving.
If your team handles WhatsApp with an inbox that suggests replies and you approve with one click, auditing the night shift becomes simpler in one respect: you can see what was answered and what remained pending without depending on someone remembering. Wando works that way, with the AI suggesting and the team approving, on the official WhatsApp API; the audit is still yours, but the data is organized.
Frequently asked questions
How often should the night shift be audited?+
Once a week, always on the same day and at the same time, so the comparison is valid. If your operation has holidays or seasonal peaks, add an extra audit after each one.
What do I do if I don't have logs with the original message time?+
Work only with what you can assert: number of incoming messages per day, unanswered conversations and cases with repeats. Note in the report that the time slot is not reliable and don't draw conclusions about hourly distribution.
How many unanswered messages are acceptable when opening the shift?+
There is no universal number. Set your threshold before looking at the data and hold it for several weeks. If the queue is cleared within the first business hour, the slot is healthy; if it stretches into the afternoon, there is a coverage or capacity problem.
Does the audit work if the business has no time-based auto-replies?+
It still works, but the focus changes: instead of checking whether the auto-reply fired, you review how many messages came in during closed hours and how long they waited. The coverage stage becomes more important, not less.
How do I tell a configuration failure from a capacity one?+
If the configured schedule doesn't match what actually happened, it's configuration. If the schedule was right and the queue still wasn't cleared, it's capacity. The test is simple: first check whether the rule existed and was active.
What do I do with customers who were left unanswered over the weekend?+
Contact them when opening the shift, in order of arrival, and don't ask them again for what they already wrote. If the volume is high, prioritize those who wrote more than once and those who mentioned a specific date or urgency.
Can I automate this audit?+
You can automate the data extraction (incoming per slot, unanswered, wait time). Classifying the failure and deciding what to do remain human tasks, because they depend on context the log doesn't have.
Answer WhatsApp with AI
Try Wando free. No credit card required.