All posts
WHATSAPP·August 20, 2026·6 min readDRAFT

The 24-hour window is a product problem, not a support problem

Every team selling on WhatsApp loses money in the same place, and almost nobody has instrumented that place.

Meta's official API has a simple rule: after the customer's last message, you have 24 hours to reply freely. Past that, only approved templates — and templates cost money.

The rule is well known. What almost no team has is the clock. The conversation sits on screen looking alive while the window closes in silence. Nobody gets an alert because there is no alert: WhatsApp does not tell you a lead is expiring.

The invisible cost

The loss shows up in two places at once. First, the lead going cold — someone who replied last night and becomes a template tomorrow morning, at half the chance of an answer. Second, the invoice: when the team realizes it needs to reopen conversations, it fires templates in bulk, and Meta spend climbs with nobody able to point at which conversation caused which charge.

Both problems share a root. Remaining window time and per-conversation cost exist in the system, but not on the screen of the person doing the work.

What changes when the number shows

Put the countdown in front of the agent and behavior changes before any training happens. The queue stops being ordered by who arrived last and starts being ordered by who is about to go out of reach. Same information the system already had, placed where the decision happens.

And once cost shows per conversation, the question shifts from "how many templates did we send this month" to "was this lead worth the template". The second question is answerable.

What I built on top of it

LeadIn came out of that discomfort. The window radar is the first thing you see: conversations sorted by time remaining, with accumulated cost beside each one. The ranking came later, once it was clear that teams respond differently when fast replies and abandoned leads are measured in the same place.

None of this is an AI model. It is instrumentation — showing the number the system already knew. It remains, by far, the change with the most result per line of code written.