The WhatsApp 24-hour customer service window, explained
When you can send free-form WhatsApp messages, when you need an approved template, what each costs, and why a "sent" message sometimes never arrives.
September 19, 2026 · 3 min read
The single most confusing rule in the WhatsApp Business API is the 24-hour customer service window. Get it wrong and messages silently disappear; get it right and most of your replies cost nothing.
The rule in one sentence
For 24 hours after a customer messages you, you can reply with anything. After that, you can only message them with an approved template.
Every new message from the customer restarts the 24-hour clock.
Inside the window: free-form messages
While the window is open you can send free-form (a.k.a. session) messages: normal text, images, documents, buttons and list menus — whatever the conversation needs. There's no template and no review.
These service messages are free up to 1,000 per business phone number per month, with no rollover; from the 1,001st Meta charges for them. That limit applies from 1 Oct 2026; before that they were free (Meta pricing page, checked 23 Oct 2026). Without a payment method on your WhatsApp Business account, service messages past the free tier are not delivered, so add one.
Outside the window: templates only
Once 24 hours pass without a message from the customer, the window closes. To reach them now you must use an approved template — a pre-reviewed message such as an order update or appointment reminder (how to get templates approved). Template messages are charged by Meta per message, based on the category and the recipient's country (WhatsApp API pricing).
When the customer replies to your template, a fresh 24-hour window opens and you're back to free-form.
The trap: "sent" but never delivered
Here's the part that catches everyone. If you send a free-form message outside the window, the API does not refuse it. It accepts the request, returns a message ID — and then the message is never delivered. Your logs say "sent"; the customer sees nothing.
So "the API accepted it" is not the same as "it arrived". You need either delivery receipts (via the webhook) or to know the window state before you send.
What this means in practice
| Situation | What to send | Cost from Meta |
|---|---|---|
| Customer asked a question 2 hours ago | Free-form reply | Free up to 1,000 a month per number, then charged |
| Customer messaged yesterday morning (over 24h) | Approved template | Per-message template rate |
| You want to start a conversation (broadcast, reminder) | Approved template | Per-message template rate |
| Customer replied to your template 10 minutes ago | Free-form reply | Free up to 1,000 a month per number, then charged |
How SendFromChat handles it
- The inbox shows every conversation's window status — "Reply window open until 3:40 PM" or "Reply window closed" — and switches the reply box to template mode when it's closed.
- Before your AI assistant sends anything, it calls
check_recipient, which returns whether the window is open, any approved templates you can use, and a recommendation: reply with a free-form message if the window is open, use an existing template if not, and only draft a new template when nothing fits. - Free-form sends are refused when the window is known to be closed, instead of being accepted and silently dropped.
- Auto-replies and chatbot flows only ever answer an incoming message, so they're always inside the window. They count as service messages toward Meta's 1,000-a-month free tier per number.
Do this from your AI assistant
SendFromChat connects Claude, ChatGPT, Cursor or any MCP client to the WhatsApp Business API — templates, bulk sends, inbox, chatbots and sequences, just by asking. 30 days free, no card.
Start freeMore guides
Send WhatsApp messages from PHP and Laravel: a working example
Send WhatsApp template messages from plain PHP (cURL) or Laravel's HTTP client with a REST API — test keys, safe retries, errors by type and signed webhook verification.
WhatsApp for Black Friday: a dated plan to be ready to send on 27 November 2026
Black Friday is Friday 27 November 2026. A step-by-step plan for a first WhatsApp campaign - connect a number, collect opt-in, get templates approved, warm up and send - with the limits that decide how many people you can reach.
Track WhatsApp delivery status in your app: sent, delivered, read and failed
Store the status of every WhatsApp message you send, handle receipts that arrive late or twice, read the failure reason, and fall back to polling when a webhook is missed. TypeScript example with a REST API.
Do you need a Facebook login for the WhatsApp Business API? What 'Continue with Facebook' asks
What the Facebook window asks you to do when you connect a WhatsApp number, which two permissions it gives an app, what you keep, and how to remove the access later. Based on Meta's own pages, read 31 Oct 2026.