Understanding the WhatsApp 24-Hour Service Window
Summary
To protect WhatsApp users from spam and maintain a high-quality messaging ecosystem, Meta strictly enforces the WhatsApp 24-Hour Customer Service Window.
This policy dictates when businesses can send free-form messages versus when pre-approved Message Templates are required. Wabixo provides a live WindowTimer in every conversation, automatic composer lockout protections, and time-window inbox filters to ensure full compliance with Meta's messaging policies.
1. How the 24-Hour Service Window Works
The 24-Hour Cycle Step-by-Step:
- Customer Sends Message: The customer messages your business (e.g. "Hi, what are your service hours?"). A 24-hour service window immediately opens (Timer:
24:00:00). - Open Window Communication: Agents and bots can send free-form text, AI translations, and attachments without Meta per-template charges or pre-approval.
- Window Expiration: If 24 hours pass without any further customer message, the window closes (Timer:
Window Expired). Free-form messaging is locked to protect your account. - Template Re-engagement: The agent sends an approved Meta WhatsApp Template (e.g. a follow-up or utility alert).
- Fresh Window Opens: As soon as the customer replies to the template, a fresh 24-hour window starts (Timer resets to
24:00:00).
The Golden Rule of the 24-Hour Window:
- Inbound Triggers the Window: Every time a customer sends an inbound message to your business phone number, a 24-hour timer starts or resets to a full 24:00:00.
- Outbound Does NOT Reset the Window: Messages sent by agents or automated bots do not extend or reset the 24-hour window. Only messages sent by the customer reset the countdown.
- Template Re-engagement: If the window expires, agents cannot send free-form messages. You must send a pre-approved WhatsApp Message Template. Once the customer replies, a fresh 24-hour window opens.
2. Active Window vs Expired Window
| Feature | Active Window (< 24 Hours) | Expired Window (> 24 Hours) |
|---|---|---|
| Custom Free-form Text | Allowed without restriction | Blocked |
| Media & Document Attachments | Allowed (PDFs, Images up to 10 MB) | Blocked |
Quick Replies (/ shortcuts) | Allowed | Blocked |
| AI Language Converter & Recommends | Allowed | Blocked |
| Meta Pre-Approved Templates | Allowed | Mandatory |
| Internal Stream Notes | Allowed (Internal only) | Allowed (Internal only) |
3. Reading the Live WindowTimer in the Chat Header
In the active conversation header, Wabixo displays a real-time countdown badge that updates every second:
+-------------------------------------------------------------------------------+
| [Avatar] Ramesh Kumar (+91 98765 43210) [ Clock 03:45:12 ] [Assignee v] |
+-------------------------------------------------------------------------------+
WindowTimer Status Colors:
- Active (Green Badge —
Clockicon):
More than 1 hour remains (diff > 3600s). Displays a live countdown inHH:MM:SS. Free-form messaging is fully functional. - Urgent Warning (Orange Badge —
Clockicon):
Less than 1 hour remains (diff < 3600s). Alerts agents to secure a customer response or conclude the inquiry before the free messaging window closes. - Window Expired (Red Badge —
AlertCircleicon):
Displays "Window Expired". Free-form messaging is locked.
Hover Tooltips:
Hover your mouse over the WindowTimer badge to inspect exact clock times:
- While Active: Displays the projected expiration clock time and remaining countdown (e.g.,
Expires at 04:30 PM (03:45:12 remaining)). - When Expired: Displays how long ago the window closed (e.g.,
Expired 2h 15m ago (at 11:20 AM)).
4. Expired Window Composer Lockout Protection
When a conversation's 24-hour window expires, Wabixo automatically protects your team from Meta API rejection errors:
+-----------------------------------------------------------------------------------------+
| [ AlertCircle 24H WINDOW EXPIRED ] |
| You can only send approved templates to re-open the conversation. |
| |
| [ LayoutTemplate Select Template ] |
+-----------------------------------------------------------------------------------------+
- Composer Concealment: The free-form text textarea, formatting buttons, and attachment uploaders are cleanly replaced by an expired session alert.
- Select Template Action: Clicking the primary Select Template button opens the Meta Template library modal.
- Template Dispatch: Agents select an approved Utility or Marketing template, fill in any required variables, and send it to the customer.
- Instant Re-Opening: As soon as the customer responds to the template, the composer unlocks instantly in real time.
5. Filtering Inboxes by Window Expiry
In the left sidebar of the Team Inbox, agents can prioritize conversations based on window freshness:
24-Hour Window Filter:
( ) Active (24h)
( ) Expired (24-48h)
( ) Expired (48h+)
(o) All Time
- Active (24h): Displays only conversations with open, unexpired service windows. Ideal for agents handling live support queues.
- Expired (24-48h): Displays conversations that lapsed within the past 1 to 2 days. Perfect for sending follow-up utility templates or satisfaction checks while the lead is still warm.
- Expired (48h+): Shows long-dormant customer threads.
- All Time: Removes the window constraint and displays all conversations.
6. Background Auto-Template on Solve
Organizations can configure automated closing templates in Settings → Chat Configuration:
- When an agent marks an expired pending chat as Solved, Wabixo can automatically transmit a configured
expire_chatclosing template in the background. - This ensures the customer receives a professional closing acknowledgment and satisfaction rating prompt even if their free window had lapsed.
7. Customer Troubleshooting & FAQs
Problem: My message input box is gone and replaced by "Select Template"
- Why it happens: The customer has not replied within the last 24 hours, so Meta has closed the free-form customer service window.
- How to resolve: Click Select Template, choose an approved template, and send it. Once the customer replies to your template, the text input will automatically restore.
Problem: I sent multiple replies to the customer, but the timer keeps counting down
- Why it happens: Outbound agent messages do not reset Meta's 24-hour window. Only inbound messages sent from the customer's phone reset the timer.
- How to resolve: Prompt the customer with a quick question (e.g., "Does that look good to you?") so their reply refreshes the window.
Problem: Can I leave Stream Notes on an expired conversation?
- Yes. The Stream tab in the right-hand panel is strictly internal to Wabixo. You can add internal notes,
@mentioncolleagues, or change chat tags at any time, even if the WhatsApp 24-hour window is expired.