Articles on: MyOperator

How long does a conversation last on WhatsApp Business API?

Most WhatsApp Business conversations last 24 hours. A special Free‑Entry Point (FEP) conversation lasts 72 hours (billing‑free) when a customer comes via a Click‑to‑WhatsApp Ad or Facebook Page CTA and you reply within 24 hours. The 24‑hour customer service window still governs whether non‑template messages are allowed.



Quick navigation




Two timers to track: 24h vs 72h


  • 24‑hour Service window (message‑type rule): A rolling 24 hours from the customer’s most recent message. Controls whether non‑template (free‑form) messages are allowed.
  • 24‑hour business‑initiated category windows (billing rule): Start at template delivery for Marketing/Utility/Authentication; each category has its own 24h window and billing.
  • 72‑hour Free‑Entry Point (FEP) window (billing rule): Starts when a customer messages via CTWA/Page CTA and you reply within 24h. Billing is free for 72 hours. The 24h Service rule still applies to non‑template sends.


Warning : After 24h without a customer message, non‑template messages are blocked even if an FEP 72h window is still active. Use a template instead (still free under FEP).



Default durations & billing (matrix)


Conversation type

Who opens it

What opens it

Window length

Billed?

Service (customer‑initiated)

Customer

Customer inbound delivered

24h from last customer message

❌ No (session)

Marketing (business‑initiated)

Business

Template delivered (no open Marketing window)

24h from delivery

✅ Yes

Utility (business‑initiated)

Business

Template delivered (no open Utility window)

24h from delivery

✅ Yes

Authentication (business‑initiated)

Business

Template delivered (no open Auth window)

24h from delivery

✅ Yes

Free‑Entry Point (FEP) (special billing)

Customer + Business reply ≤24h

CTWA/Page CTA + your reply ≤24h

72h from your qualifying reply

❌ Free billing



Scenarios table: what you can send & what it costs


Timing vs customer’s last message

FEP active?

Can send non‑template?

Template allowed?

Charged?

Notes

≤24h

Irrelevant

✅ Yes

✅ Yes

Depends: Service = free; biz‑initiated billed

Both non‑template & templates allowed

> 24h & <72h

Yes (FEP)

❌ No (blocked)

✅ Yes

Free (inside FEP)

Use template; billing waived under FEP

> 24h & <72h

No

❌ No (blocked)

✅ Yes

Paid (by template category)

FEP not active; category billing applies

≥72h

N/A

❌ No (blocked)

✅ Yes

Paid (by template category)

Send template to re‑engage



How to verify in your UI


A) Meta WhatsApp Inbox


  1. Open Inbox → select the conversation.
  2. Find Customer Service Window: Active/Closed with a hh:mm countdown.
  3. If you ran an ad or Page CTA, look for Free Entry Point — Active with a 2d:hh countdown (72h total).


B) Your provider’s dashboard (typical)


  1. Open the ticket/conversation details.
  2. Check service_window.status/expires_at and any free_entry flag with its expires_at.
  3. If you attempt non‑template while Service is closed, the composer shows a warning; use a template.


UI Screenshot — Non‑template blocked outside 24h



Caption: After 24h, free‑form is blocked; send a template. If FEP is active, the template is free to send.



API / logs (copy‑paste samples)


Info : Names vary by provider. Use these shapes for monitoring/alerts.


1) Service open & FEP active

{
"event": "message",
"customer": { "wa_id": "+15551234567" },
"service_window": { "open": true, "seconds_remaining": 21600 },
"free_entry": { "active": true, "expires_at": "2025-12-31T23:59:59Z" },
"conversation": { "category": "SERVICE" },
"pricing": { "billable": false }
}


2) >24h & <72h (Service closed, FEP active → template free)

{
"event": "message_send_attempt",
"type": "non_template",
"service_window": { "open": false },
"error": { "code": "NON_TEMPLATE_NOT_ALLOWED" },
"free_entry": { "active": true }
}


3) Template send during FEP (free billing)

{
"event": "template_delivered",
"template": { "name": "follow_up_request", "category": "UTILITY" },
"free_entry": { "active": true },
"pricing": { "billable": false }
}


4) ≥72h (FEP expired) → template opens paid category window

{
"event": "template_delivered",
"template": { "name": "promo_launch", "category": "MARKETING" },
"free_entry": { "active": false },
"conversation": {
"category": "MARKETING",
"opened": true,
"expires_at": "2025-12-01T14:00:00Z"
},
"pricing": { "billable": true }
}


5) Cloud API — send a template (copy/paste)

{
"messaging_product": "whatsapp",
"to": "+15551234567",
"type": "template",
"template": {
"name": "follow_up_request",
"language": { "code": "en" },
"components": [
{
"type": "body",
"parameters": [
{ "type": "text", "text": "Hi Alex, just checking in." }
]
}
]
}
}



Edge cases & limitations


  • Opt‑out/Blocked: Respect user preferences; sends may be blocked regardless of windows.
  • Delivery failure: If inbound or template fails delivery, the relevant conversation/state does not open/update.
  • Provider variance: Some UIs hide category chips during FEP; others show them as inactive.
  • Multiple categories: Category windows can overlap; re‑sending within the same category ≤24h reuses its window (no new charge).
  • Time zones: Timers rely on message timestamps, not agent local time.



Expected outcomes


  • ≤24h: Non‑template allowed; templates billed per category (unless FEP is active → free).
  • > 24h & <72h (FEP active): Non‑template blocked; templates send free.
  • ≥72h: Templates open a paid category window; non‑template stays blocked until the customer replies.






Support & escalation


If behavior differs from this FAQ or sends fail unexpectedly, open a Support ticket from your admin portal (attach message IDs, timestamps, pricing logs, and screenshots), or contact your Customer Success Manager. Typical response time: 1 business day.

Updated on: 21/09/2025