The 24 hour customer service window
The customer service window opens when a customer messages your number and lasts 24 hours. Inside it you may send free text and those replies are free. Outside it, only a template Meta has approved will deliver.
- Opens on their message, not yours
- Free text inside, template outside
- Every reply restarts the clock
Nothing charged for 7 days. Cancel anytime.
How long a customer message keeps free text sending open.
The error returned when free text is sent after it closes.
Cost of replies sent inside the window.
When exactly does the clock start?
When the customer sends a message, and it restarts every time they send another.
This is the detail people get backwards. The window is not measured from your last message, from the start of the conversation, or from when a ticket was opened. It is measured from their most recent inbound message, which means an active conversation effectively never closes and a one sided one closes after a day.
It also means the window is per contact rather than per number. One customer can be inside it while another is outside, on the same number, at the same moment.
What may be sent inside and outside?
Inside, anything: free text, media, and templates if you want them. Outside, only a template Meta has already approved.
This is why templates exist. They are the sanctioned way to start or restart a conversation with someone who has not written, and they are reviewed in advance precisely because the recipient has not invited the message.
On a Coexistence number there is an extra consequence. The WhatsApp Business app cannot send templates, so anything outside the window has to go through the API. A team answering from the phone can reply freely to a live conversation and cannot restart a cold one, which is one of the practical reasons a number gets connected.
Why do integrations discover this in production?
Because testing always happens inside the window.
Whoever builds the integration sends a message to themselves, then replies to it seconds later. That is inside 24 hours, so free text works, and every test passes. The first real case that fails is a customer who wrote yesterday, which is usually after launch.
The durable shape is a branch before sending: check how long ago that contact last wrote, and take the free text path or the template path. Doing it from the start costs almost nothing. Retrofitting it means finding every send in the codebase.
Common mistakes
- Measuring from your own last message. It is theirs that opens the window.
- Treating it as per number. It is per contact, so two conversations on one number can be in different states.
- Testing only immediately after a message, which is always inside the window.
The MCP connector's tool descriptions carry this rule, so an assistant picks send_message or send_template correctly without being told about the window.
Frequently asked questions
Can the window be extended?
No. It is fixed by Meta and no provider can lengthen it.
Does a template reply reopen it?
The customer replying does. Sending a template does not, by itself, open a free text window.
Are replies really free?
Meta does not charge for messages sent inside the customer service window. What it charges for is conversations opened outside it.
What about the other 24 hour window I read about?
That is the synchronization window, counted from onboarding, and it governs chat history rather than sending. They are unrelated.
Keep reading
Ready to get started?
Set up WhatsApp Coexistence in minutes, not months. The app keeps working on the phone.
Start Free TrialNothing charged for 7 days. Cancel anytime.Verified on