No silent failed sends
An agent gets warned before attempting a free-form reply outside the window, rather than discovering after the fact that the customer never received anything and nobody knew why.
Available now
In build
The whole team
Nineteen specialists, each with a defined job and an honest status label.
See all nineteenThe business avoids accidentally sending expensive template messages when a free, in-window reply would have worked just as well.
Works with
What it does
The system tracks each contact's 24-hour customer service window and the 72-hour free-entry-point window in real time, and warns an agent in the inbox when a reply requires a paid template because the window has closed. Before a broadcast goes out, it estimates the conversation cost based on category and recipient country so there are no billing surprises.
An agent at a b2b sales desk replies to a lead's question about pricing four days after the lead last wrote — not realising the free 24-hour reply window closed on day two — and the message silently fails to send at the API level, with no obvious error telling the agent what actually went wrong or why the customer never got a reply.
The conversation window and billing guard tracks that 24-hour customer service window, and the separate 72-hour free-entry-point window, in real time for every contact, and warns the agent in the inbox the moment a reply would need a paid template because the free window has closed. Before any broadcast goes out, it also estimates the total conversation cost by category and recipient country, so there's a number to check before committing to the send.
Wavy runs this directly on the platforms your customers already use — no separate app for them to install.
How it works
Each contact's 24-hour customer service window, and any active 72-hour free-entry-point window, are tracked independently in real time from the exact moment the relevant triggering event first opens each one for that specific contact's record.
If an agent tries to send a free-form reply after the relevant window has closed, the inbox flags it immediately and redirects to an approved template before the actual send is even attempted at all.
Ahead of scheduling, the system calculates a projected conversation cost using the recipient segment's countries and the specific template's billing category, so the full estimate is checked carefully before the send is finally, formally confirmed.
The expiry tracker closes each window exactly at its 24 or 72-hour mark and flags any already-queued send that would now fail because its window closed in the meantime, unexpectedly, partway through the whole sequence.
Why it matters
An agent gets warned before attempting a free-form reply outside the window, rather than discovering after the fact that the customer never received anything and nobody knew why.
The pre-broadcast estimate, based on actual recipient countries and template category, replaces guesswork about what a large campaign will cost with a figure calculated from the real numbers.
The customer service window and the free-entry-point window run on separate clocks and can close independently, and tracking them apart avoids the confusion of assuming one governs the other.
The detail
The customer service window opens for twenty-four hours from a customer's last message and allows free-form replies inside it; the free-entry-point window runs for seventy-two hours from certain qualifying entry points, like clicking a Click-to-WhatsApp ad, and allows a different kind of message. These two clocks are genuinely independent — a customer service window can close while a free-entry-point window from an earlier ad click is still open, or vice versa — and treating them as one window is the single most common source of billing confusion at volume.
When the customer service window closes and an agent tries to send a plain, non-template message anyway, the send doesn't get rejected with a helpful error — it fails silently at the API level. This is precisely why the guard has to block or redirect the attempt inside the inbox before the send is even tried, rather than relying on Meta's response to surface the problem after the fact; by the time a failure is visible, the customer has already not received a reply and doesn't know why.
Cost estimation before a broadcast depends on getting the country-code-to-rate mapping right, since Meta prices conversations differently by country and category (marketing, utility, authentication, service). Getting that mapping wrong for even a subset of a large segment understates the projected cost of the whole campaign, defeating the purpose of estimating it at all — the estimate is only as trustworthy as the rate table behind it, and that table needs to stay current as Meta adjusts its pricing over time.
Industry use cases
13 industries where Wavy applies this directly.
A customer messages a dealership's WhatsApp number after seeing a Click-to-WhatsApp ad, browses the vehicle catalog in-chat, and books a test drive slot through a native form that checks the showroom's real-time calendar.
See the automotive playbookA prospect fills out a website contact form, receives an automated WhatsApp qualification flow asking about company size and budget, and is routed to the assigned account executive's shared inbox queue the moment they answer "yes" to wanting a demo.
See the b2b sales playbookA lending business sends a one-time passcode via an authentication template when a customer logs into their loan portal, and later sends a utility template reminding them a payment is due in three days.
See the banking and finance playbookA shopper browses a product catalog inside WhatsApp, adds a lipstick shade to their cart, doesn't complete checkout, and receives a reminder message with the exact shade and a link back to the cart twenty minutes later.
See the beauty and cosmetics playbookA prospective student messages an ed-tech company's number, completes a lead-capture flow asking about the course of interest, and is booked into a counselor's calendar slot without ever leaving WhatsApp.
See the education playbookA freelance designer sets up a simple keyword-triggered flow so new client inquiries automatically receive a portfolio link and a booking form for a discovery call.
See the freelancers and consultants playbookA patient books a consultation through a native form, receives a reminder template the morning of the appointment with confirm/reschedule quick-reply buttons, and gets a post-visit follow-up message asking for feedback.
See the health and wellness playbookA customer asks about curtain pricing via a click-to-chat website widget, browses a curated catalog of fabric options in-chat, and receives a follow-up message a day later if they didn't confirm an order.
See the home decor and furnishing playbookAn agency manages WhatsApp numbers for three retail clients inside one Wavy workspace, with agents scoped to only the numbers for their assigned client and separate campaign-performance dashboards per brand.
See the marketing agencies playbookA buyer clicks a Click-to-WhatsApp ad for a listed property, answers a short qualification flow about budget and timeline, and books a site-visit slot through a native form connected to the agent's calendar.
See the real estate playbookA diner messages the restaurant's number to check table availability, receives a native booking form to select party size and time, and gets a confirmation template once the table is locked in.
See the restaurants and food playbookA regular client receives an automated reminder that their usual six-week haircut appointment is due, taps a quick-reply button to confirm the suggested slot, and gets a same-day reminder message before their visit.
See the spas and salons playbookA traveler inquires about a weekend package via a QR code at a travel fair booth, completes a native form capturing travel dates and group size, and receives a utility template confirming the booking with itinerary details attached.
See the travel and tourism playbookMore from Wavy
The business reaches thousands of opted-in customers with one send instead of manually messaging contacts one by one.
Learn moreThe business answers routine questions instantly, day or night, without adding support staff.
Learn moreThe business collects clean, structured customer data (bookings, orders, applications) without redirecting people to an external website.
Learn moreMultiple staff members handle customer conversations from one WhatsApp number without stepping on each other or losing context.
Learn moreCustomers browse products, ask questions, and place an order without leaving the WhatsApp conversation.
Learn moreThe business wins back sales that would otherwise be lost when a customer starts checkout but doesn't finish.
Learn moreQuestions
The message fails at the WhatsApp API level with no visible error explaining why to the agent sending it — the customer simply never receives anything at all. This is exactly why the guard blocks or redirects the attempt inside the inbox before the send is tried, rather than letting the agent discover the failure only after the customer never replies.
It depends entirely on which window is still open, and they don't move together in lockstep. The 72-hour free-entry-point window from the ad click may have already closed while a separate 24-hour customer service window from a more recent message could still be active, or neither could be open — the guard checks both independently rather than assuming one governs the other.
It's calculated from the segment's actual recipient countries and the chosen template's billing category against Meta's current rate table at that moment, so it reflects the real projected cost rather than a rough guess pulled from nowhere. The estimate is only as accurate as that underlying rate table, which is why it should be treated as a solid projection, not a locked-in final invoice figure.
It stops a free-form message from being sent outside the window, but it redirects to an approved template rather than blocking communication with the customer entirely — an urgent reply just needs to go through a pre-approved template instead of an unstructured message. This is the actual mechanism at work here, not a hard wall against reaching the customer at all in an emergency.
The rest of your stack
No rip-and-replace — avoid surprise messaging costs works alongside the systems already running your business.
Available today