WhatsApp Time Windows and Message Limits: Reference Table by Conversation Type
Time windows and message limits on WhatsApp: the table you couldn't find ready-made
If you handle customer service on WhatsApp with Meta's official API (the one used by Wando and any serious platform), sooner or later you'll run into time windows. It's not a technical detail: it defines which messages you can send, when, and how much Meta charges you for each conversation. The problem is that the official documentation is scattered and has changed several times. This page is the reference that brings everything together in a table, with the edge cases that no one explains.
| Conversation type | Window | What can be sent | When it opens | When it closes |
|---|---|---|---|---|
| User-initiated | 24 hours | Any message: text, image, audio, document, buttons | The user writes to the business | 24 hours after the user's last message (resets with each user message) |
| Business-initiated (template) | Up to 7 days | Only templates approved by Meta (HSM) | The business sends an approved template | 7 days after sending, or earlier if the user replies |
| Customer service (utility category template) | Up to 7 days | Approved utility category templates | The business sends a utility template | 7 days after sending, or earlier if the user replies |
| Marketing (marketing category template) | Up to 7 days | Approved marketing category templates | The business sends a marketing template | 7 days after sending, or earlier if the user replies |
How the 24-hour window resets
The 24-hour window is the only one that resets. Every time the user sends a message, the counter goes back to zero. This is key for sizing up customer service: if a customer writes at 9:00, you reply at 9:10, and he writes again at 14:00, the window extends until 14:00 the next day. It's not a fixed deadline from the first message.
The most common mistake is thinking the window closes 24 hours after the user's first message. No: it closes 24 hours after the user's last message. If the team responds quickly and the customer keeps writing, the window stays open all day. This matters because within the window you can send any free message, without a template, and at the cheapest conversation cost.
Important: business messages do NOT reset the window. Only user messages do. If the business sends a message at 23:50 and the user doesn't reply, the window still closes at 24:00.
What happens when the 24-hour window closes
When the 24-hour window closes, the business loses the ability to send free-form messages. From that point on, only approved templates can be sent. If the business tries to send a free-form message outside the window, the API rejects it with an error. It's not that the message is queued: it doesn't go out.
- Within the window: any message, without format restrictions.
- Outside the window: only templates approved by Meta.
- If the user replies to a template, a new 24-hour window opens.
The 7-day window: templates and how they behave
The 7-day window is the one that opens when the business sends a template. For 7 days, the business can continue sending templates within that same conversation, but not free-form messages. If the user replies, the conversation switches to a 24-hour window and templates take a back seat.
A confusing case: if the business sends a template and the user replies after 48 hours, the 24-hour window opens at that moment. Templates sent before the user's reply no longer count as a template conversation: the conversation becomes user-initiated, with its cost and rules.
| Situation | Active window | What you can send | Conversation cost |
|---|---|---|---|
| User writes, business replies | 24 hours | Free-form messages | User-initiated conversation (lowest rate) |
| Business sends template, user does not reply | 7 days | Templates only | Business-initiated conversation (rate by category) |
| Business sends template, user replies | 24 hours from reply | Free-form messages | User-initiated conversation |
| User does not write and the 24h window closes | No window | Templates only | No active conversation |
Frequent errors when sizing customer support
The most expensive mistake is confusing the 24-hour window with business hours. If the business operates from 9:00 to 18:00 and a customer writes at 20:00, the window opens anyway and closes at 20:00 the next day. If the team only replies at 9:00 the next day, they have until 20:00 that day to reply within the window. But if the customer writes at 19:00 and the business replies at 9:00 the next day, the window has already closed: only the template option remains.
Another mistake: assuming that an approved template can be sent at any time. Meta approves templates with a category (utility, marketing, authentication) and the use you make of it must match that category. If you send a marketing template when the user expects a purchase confirmation, Meta can restrict the template or directly reject the sending.
How to use this table in your operation
The table above is not for reading once: it is for keeping next to the team that handles responses. When a message comes in outside of business hours, the person responding has to know if it is within the window or if they need a template. A simple checklist:
- 1Check the time of the user's last message. If less than 24 hours have passed, respond freely.
- 2If more than 24 hours have passed, look for an approved template that matches the case.
- 3If the template does not exist or is not approved, do not send anything: coordinate through another channel or wait for the user to write.
- 4Record the time of the user's last message in your tool, not the first message.
What Wando does with the windows
Wando uses Meta's official WhatsApp API, so the windows apply the same. The difference is that the inbox shows when the window for each conversation closes, so the team can know if they can respond freely or if they need a template. Additionally, time-based auto-responses and templates are configured once and the platform chooses the correct one according to the case. If you want to see how it works, the free trial lasts 14 days and does not require a card.
Meta's conversation prices vary by country and change over time. There is no single table that works for everyone: always consult Meta's official documentation for your country.
Edge cases: what happens with business messages outside the window
A question that comes up often: what happens if the business sends a free-form message (not a template) right when the 24-hour window is about to close? Meta's API evaluates the message at the time of sending. If the message is sent at 23:59:59 and the window closes at 00:00:00, the message goes through. If the send is attempted at 00:00:01, the API rejects it. There is no margin or automatic retry: the message is not queued or saved. That's why, if the team is about to reply and sees that the window is about to close, it's better to send the message before it expires, even if incomplete, and then follow up with another message within the new window that opens if the user responds.
Another edge case: the user sends a message and then deletes it. Does the window restart anyway? Yes. Meta's API counts the message even if the user deletes it on their end. The platform's webhook receives the event and the window is updated. The same happens if the user sends a sticker or reacts with an emoji: they are valid messages and restart the window. This is a detail that many operations overlook and then are surprised that the window is open longer than they thought.
Multi-agent and windows: how to coordinate without stepping on each other
When several people are handling the same WhatsApp (multi-agent), the risk of losing the window due to lack of coordination is high. A typical case: one agent replies at 10:00, another agent takes over at 14:00 and doesn't look at the history, and the customer writes at 15:00. If the second agent takes time to reply because they don't know what happened before, the window can close without anyone noticing. The key is that the tool shows the time of the user's last message in the inbox, not just the content. Wando does that: each conversation shows when the window closes, so the agent taking over knows if they can reply freely or if they need a template.
Another multi-agent mistake: two agents reply at the same time and duplicate messages. That doesn't affect the window (it stays open because of the user's message), but it does confuse the customer and can generate a response that closes the conversation. What matters is that the team knows that the window doesn't close because of business messages, so there's no need to 'rush' replies to 'keep it alive'. The window is only maintained by user messages, not by business ones.
| Situation | Does the window restart? | What to do |
|---|---|---|
| The user deletes their message | Yes | Nothing: the window restarts anyway, the webhook counts it |
| The user sends a sticker or reaction | Yes | Reply normally, it's a valid message |
| The business sends a message just before the window closes | No | The message goes through if sent before closing; after that, only templates |
| Two agents reply at the same time | No (the window is already open) | Coordinate to avoid duplicating; the window is not maintained by business messages |
Frequently asked questions
Does the 24-hour window reset with each user message?+
Yes. Each message the user sends resets the 24-hour window from zero. Business messages do not reset it.
What happens if the 24-hour window closes and I didn't send a template?+
You lose the active conversation. To message the user again, you need an approved template. If the user writes again, a new 24-hour window opens.
Can templates be sent at any time?+
No. Approved templates can be sent outside the 24-hour window, but the use must match the approved category (utility, marketing, authentication).
How long does template approval take?+
Meta can take up to 48 hours to approve a template. There is no way to speed it up.
Is the conversation cost the same inside and outside the 24-hour window?+
No. User-initiated conversations have a different rate than business-initiated ones with templates. Prices vary by country and are updated.
What happens if the user deletes a message? Does the window reset anyway?+
Yes, the window resets anyway. Meta's API counts the message even if the user deletes it on their side. The webhook receives the event and the window updates. The same applies to stickers or reactions.
Can I send a free-form message right when the 24-hour window closes?+
It depends on the exact time of sending. The API evaluates the message at the instant of sending. If sent before closing, it goes through. If attempted after, it's rejected and not queued. So, if the window is about to close, it's best to send the message before it expires.
Does the window stay open if the business sends many messages?+
No. Only user messages reset the 24-hour window. Business messages do not extend or maintain it. If the user doesn't respond, the window closes anyway.