CRM & AutomationPlaybook12 min readPublished July 15, 2026

Webhook intake · Flows qualification · routed CRM write — designed around the 24-hour window

Build a WhatsApp Lead-Capture Agent That Feeds Your CRM

Meta’s Cloud API plus WhatsApp Flows can carry a lead from first message to a qualified, routed CRM record with no third-party BSP in the middle. The catch: WhatsApp’s 24-hour customer service window and template-category billing define the entire architecture — and most builds fail by fighting those rules instead of designing around them.

DA
Digital Applied Team
Senior strategists · Published Jul 15, 2026
PublishedJul 15, 2026
Read time12 min
SourcesMeta developer documentation
Customer service window
24h
free-form replies, free
Free entry point window
72h
Click-to-WhatsApp ads
Platform access fee
$0
pay per delivered template
Starting messaging tier
~250
unique customers / 24h

A WhatsApp lead-capture agent is one of the highest-leverage CRM automations a sales-led business can build in 2026 — and one of the most commonly mis-built. The failure mode is almost never the code. It’s the platform rules: WhatsApp’s 24-hour customer service window, its three template categories, and its per-message billing model quietly decide which architectures are cheap and reliable and which ones bleed money on every lead.

The good news is that the official path got simpler. Meta’s WhatsApp Business Platform — the Cloud API — sends and receives messages through the Graph API and delivers every inbound event over webhooks, all on Meta-hosted infrastructure. There is no subscription or platform access fee; you pay per delivered template message. That means a small engineering team can wire first message → in-chat qualification form → routed CRM record without a Business Solution Provider (BSP) taking a per-message markup in the middle.

This is a build guide, not a campaign playbook — for the marketing side of the channel, see our WhatsApp conversational marketing playbook. Here we walk the actual architecture: the webhook intake, the WhatsApp Flows qualification form, the routing logic, the CRM write, and — the part nobody else ties together — how template category economics should shape every one of those design decisions.

Key takeaways
  1. 01
    The 24-hour window is the architecture.When a lead messages first, a 24-hour customer service window opens in which free-form replies are unlimited and free. Design qualification to finish inside it — once it closes, only paid, pre-approved templates can reach the lead.
  2. 02
    No BSP required for the core build.Meta’s Cloud API handles send/receive via the Graph API and delivers inbound messages over webhooks, with no platform fee. BSPs add convenience — and a reported $0.003–$0.010 per-message markup on top of Meta’s rates.
  3. 03
    WhatsApp Flows replaces the form page.Flows are Meta’s native in-chat structured forms — text fields, dropdowns, date pickers — and Meta’s own examples include a lead-generation flow. A static Flow delivers the full submission payload via webhook, no mid-form backend needed.
  4. 04
    Template category decides cost and reliability.Marketing, Utility, and Authentication templates bill differently: utility templates inside an open service window are free, marketing templates are always charged. Miscategorized templates get re-billed as Marketing — and since April 2025, repeat offenders lose the 24-hour advance notice.
  5. 05
    Messaging limits reward quality, not just volume.New unverified numbers start around 250 unique customers per 24 hours, stepping up toward unlimited with sustained volume and a healthy quality rating. Your agent’s template copy and send cadence directly affect its own ceiling.

01ArchitectureFour stages, one window-shaped design.

Strip away the vendor landscape and a WhatsApp lead-capture agent is four stages: an inbound webhook that receives the first message, an in-chat qualification step, routing logic that decides who owns the lead, and a CRM write that creates the record and opens the deal. Each stage is a replaceable module. What is not replaceable is the clock that starts the moment the lead’s first message arrives — every stage after intake should be designed to complete while the free 24-hour window is still open.

The qualification stage deserves the most design attention. A free-form back-and-forth chat can qualify a lead, but it is slow, unstructured, and hard to parse into CRM fields. The structured alternative — a WhatsApp Flow — collects the same answers as a typed form without the lead ever leaving the thread. If you are weighing chat-style qualification against form-style, our guide to conversational AI lead qualification covers that trade-off in depth; this build uses Flows as the default because the payload arrives already structured.

Stage 1
Webhook intake
Cloud API · HTTPS/TLS · push, not poll

Every inbound message and delivery-status update arrives as a webhook event over a TLS-secured HTTPS endpoint. Receipt of a customer message opens the 24-hour service window — this event is your starting gun.

Graph API + Webhooks
Stage 2
Flows qualification
In-chat structured form · free inside CSW

A WhatsApp Flow presents text fields, dropdowns, and date pickers inside the chat. A static Flow needs no live backend mid-form — the completed payload lands on your webhook when the lead submits.

WhatsApp Flows
Stage 3
Routing logic
Your code · branch, territory, intent

Parse the Flow payload, classify the lead, and decide ownership — by region, service line, or deal size. This is plain application logic; no Meta product is involved, which is exactly why it’s where your business rules live.

Application layer
Stage 4
CRM write
REST create · contact + deal + owner

Create the contact with the extracted fields, open a pipeline deal, assign the owner, and notify the rep. Keep this stage CRM-agnostic behind an interface — the upstream stages don’t care which CRM answers.

Any CRM REST API
Why no BSP is the reference path
Meta’s Cloud API is the official, Meta-hosted way to send and receive WhatsApp Business messages — and there is no subscription or platform access fee. You are charged per delivered template message, priced by category and recipient country. A BSP (Twilio, 360dialog, and peers) can still make sense for compliance tooling or multi-channel routing, but it is a convenience layer, not a requirement — and third-party rate compilations report BSP markups of roughly $0.003–$0.010 per message on top of Meta’s rates.

02Window EconomicsThe 24-hour window is the whole business model.

WhatsApp’s pricing changed shape in mid-2025 and most tutorials still describe the old model. Since July 1, 2025, Meta bills per delivered template message rather than per 24-hour conversation — the old conversation-based pricing is formally deprecated. Service conversations — the ones your leads start — have been free of charge since November 1, 2024. Those two changes together are what make a lead-capture agent economically attractive: the inbound half of the funnel now costs nothing.

The mechanics that matter for a builder: when a customer messages your business first, a 24-hour customer service window (CSW) opens. Inside it, free-form, non-template replies are unlimited and free — your welcome message, your qualification Flow, your clarifying questions, all of it. Once the window closes, the only way to reach that lead is a pre-approved template message, and that is where billing starts. Utility templates sent inside an open window are also free — only marketing templates, and any template sent outside a window, are always charged.

There is a second, better window most builds ignore. When a lead arrives through a Click-to-WhatsApp ad or a Facebook Page call-to-action button and your business replies within 24 hours, a free entry point (FEP) conversation opens — it lasts 72 hours, and all message types inside it are free. For paid acquisition, that is three free days to qualify instead of one.

Customer service window
Opens on first inbound message
24h

Unlimited free-form replies while open. The qualification Flow, confirmations, and clarifying questions should all land inside it. After it closes: templates only, billed per delivery.

Free-form · free
Free entry point
Click-to-WhatsApp ads + Page CTAs
72h

Opens when the lead arrives via a CTWA ad or Facebook Page button and you reply within 24 hours. Every message type is free for the full 72 hours — the best window in the system for paid traffic.

All types · free
Platform fee
No subscription, no access fee
$0

The Cloud API has no flat account cost. Billing is per delivered template message, priced by category and recipient country. Service conversations have been free since November 1, 2024.

Pay per delivered template
“You are only charged when a template message is delivered.”— Meta for Developers, WhatsApp Business Platform pricing documentation

Read that billing rule as an architectural instruction, not a pricing footnote. If your agent finishes qualification while the window is open, the entire capture funnel — welcome, Flow, confirmation, handoff — costs exactly zero in message fees. Every hour of delay past the window converts a free free-form message into a billed template. Speed isn’t just a conversion tactic here; it’s the cost model.

03Template CategoriesMarketing, Utility, Authentication — the category is the price.

Every message you send outside an open window must be a pre-approved template, and every template carries one of three categories. The category determines what you pay and — because Meta enforces category rules — whether the message reliably goes out at all. Getting this wrong is the most common way a working lead-capture agent silently degrades in production.

Always billed
Marketing
Promotions · announcements · re-targeting

The most expensive category in every country, and the only one that is charged even inside an open service window. Any promotional language in a template tends to land it here — by Meta’s decision, not yours.

Highest per-message rate
The workhorse
Utility
Confirmations · alerts · user-triggered updates

Tied to a specific user action or request — form received, appointment booked, quote ready. Free inside an open service window; billed at a lower rate than Marketing outside it. Your agent’s follow-ups belong here.

Free inside open CSW
OTP only
Authentication
One-time passcodes · Meta-controlled body

Verification codes with Meta-controlled body text. Rarely relevant to lead capture unless you verify contact numbers as part of qualification — but worth knowing so you never miscategorize into it.

Meta-controlled copy

Meta audits the boundary actively. If you submit a template as Utility and Meta’s review determines it is actually Marketing, it gets approved — and billed — as Marketing. The enforcement teeth sharpened on April 9, 2025: per Meta’s template categorization documentation, “For any business detected to be abusing the template categorization system, the 24-hour notice will no longer be provided if a utility template that should be marketing is detected.” In practice, repeat misclassification means your follow-up costs can change without warning.

Plan for rejection, too. Template review is largely ML-automated — minutes to a few hours in the common case — with submissions that can’t be auto-triaged routed to human review that can take up to 48 hours, per BSP documentation describing Meta’s process. First submissions are rejected at rates commonly cited around 30% by third-party template tooling vendors (Meta publishes no official figure), most often for placeholder misuse, category mismatch, or promotional copy inside a Utility template. Submit your agent’s template set days before launch, not the night before.

Design rule
Write every post-window follow-up as a genuinely transactional Utility template — a direct consequence of something the lead did (“your quote request is ready for one more detail”). The moment a template reads like a nudge to buy, expect it to be categorized and billed as Marketing. If a message can’t be written transactionally, that’s a signal it should have been sent inside the free window instead.

04The Decision MatrixMapping every message your agent sends to free or billed.

Pricing explainers describe WhatsApp’s rules in isolation. What a builder actually needs is the sequence: the specific messages a lead-capture agent sends, in order, and what each one costs under the window rules. The matrix below maps the six messaging moments every capture flow contains onto Meta’s category and window mechanics — and the design decision each one implies.

Free versus billed decision matrix for WhatsApp lead-capture messaging moments: the message category each moment triggers, whether it is billed, the window it depends on, and the design implication. Synthesis by Digital Applied from Meta’s WhatsApp Business Platform pricing and template-categorization documentation, July 2026.
Messaging momentMessage typeBilled?Window it depends onDesign implication
Inside the free windows
First inbound message from a leadFree-form reply (no template)No — opens the service windowOpens the 24h CSWRespond immediately. Every free-form message inside this window costs nothing.
Qualification Flow sent inside the windowInteractive / free-formNo24h CSWSend the Flow right after the first reply — not the next morning.
Confirmation after the Flow is submittedUtility templateNo — utility is free inside an open CSW24h CSWBatch confirmations and next-step messages inside the open window.
Lead arrives via a Click-to-WhatsApp adAll message typesNo — free entry point conversation72h FEP (reply within 24h to open it)Route paid traffic to WhatsApp; you get three free days to qualify.
After the window closes
Re-engagement after the window closesUtility or Marketing templateYes — billed per delivered templateNone — window expiredDesign qualification to finish inside 24 hours; late nudges cost money.
Re-target after Flow abandonmentMarketing templateYes — the most expensive categoryNoneCheck reported per-country marketing rates before automating this step.

Read as a whole, the matrix says something most WhatsApp tutorials never state plainly: the first four moments — the entire capture and qualification sequence — can be free, and the two billed moments are both symptoms of a flow that ran too slowly. That is the proprietary design insight of this build. You are not optimizing message copy against a rate card; you are optimizing the funnel’s elapsed time against a clock that Meta gives you for free.

05The Intake BuildWebhook intake and Flows qualification.

The intake layer is deliberately boring. Your endpoint must handle exactly two request types from Meta: a one-time subscription verification request when you register the webhook, and event notifications for everything after — inbound customer messages, delivery-status updates, template-quality changes. Both arrive over a valid TLS-secured HTTPS endpoint; there is no polling API for messages, so the webhook is the front door. Two Meta permissions gate access: whatsapp_business_messaging for message webhooks and whatsapp_business_management for account-level events like template status changes — request both, because a production agent needs to react to template rejections, not just leads.

Qualification is where WhatsApp Flows earns its place. A Flow is a native, in-chat structured form — text inputs, dropdowns, date pickers, checkboxes, even image upload and OTP — and Meta’s own published examples include a lead-generation flow, so this is a supported first-class use, not a hack. The design decision that simplifies most builds: use a static Flow. A static Flow needs no live data-exchange endpoint while the lead is filling it in; the completed payload arrives on your webhook in one piece when they submit. A dynamic Flow — where each screen calls your backend — is only worth its operational surface when later questions genuinely depend on earlier answers or on live data, like appointment slots.

One boundary worth being precise about, because vendor marketing blurs it: Flows deliver a webhook payload. The CRM write is your integration work — Meta does not ship a CRM connector. That’s not a limitation, it’s the design opening: the payload is clean structured JSON, and what happens next — enrichment, scoring the lead before it lands in the pipeline, deduplication against existing contacts — is exactly the logic you want to own rather than rent.

Intake checklist
Before wiring the CRM: verify the webhook handshake in a staging app, log raw payloads for the first week, acknowledge events fast and process async (Meta retries on timeouts, and duplicate events will arrive — idempotency keys on the message ID are not optional), and store the lead’s phone number in E.164 format from day one so CRM deduplication has a stable key.

06Routing & CRM WriteRouting logic and the CRM write.

Once the Flow payload lands, the remaining pipeline is deliberately CRM-agnostic: parse and validate the submission, classify the lead, resolve ownership, create the contact and deal, notify the owner. The automation platform n8n documents this exact chain as its standard WhatsApp Business Cloud pattern — webhook receives the inbound message, the workflow parses and classifies it as a new lead, creates a CRM contact with the extracted fields, opens a pipeline deal, and notifies the owning rep — all webhook-native, no BSP in the loop. Whether you implement it in n8n or in a couple hundred lines of your own service code is a team-preference call, not an architectural one.

Ownership resolution deserves real rules, not a round-robin default. Route by territory, service line, deal-size signal from the Flow answers — and put an SLA on first human touch, because a qualified WhatsApp lead who submitted a structured form is the warmest inbound you will ever get. Our lead routing and SLA framework covers the assignment patterns; the WhatsApp-specific addition is that your SLA clock should reference the service window — a rep reply inside 24 hours is free, and a rep reply after it is a billed template.

Reference path
Direct Cloud API

Meta-hosted, no platform fee, no per-message markup. You own the webhook, the Flow, and the CRM write. Best when you have engineering capacity and want the economics and the data path fully in-house.

Pick for custom builds
Managed layer
Through a BSP

Twilio, 360dialog, and peers wrap the same API with onboarding, compliance tooling, and multi-channel routing — at a reported $0.003–$0.010 per-message markup over Meta’s rates. Reasonable when WhatsApp is one channel of many.

Pick for multi-channel ops
CRM-native
Native CRM channel

Several CRM suites ship first-party WhatsApp channels that surface threads on the lead record and trigger templates from workflow rules — typically gated to upper plan tiers. You still hold your own WhatsApp Business API account; a native channel never removes the underlying Meta billing relationship.

Pick for thread visibility
Low-code
Automation platform

n8n-style workflow tools implement the webhook → parse → CRM chain without custom services. Fastest to first lead; the ceiling arrives when routing rules and idempotency handling outgrow visual workflows.

Pick to prototype

Whichever path executes the write, keep the CRM boundary thin: one module that accepts a normalized lead object and returns a record ID. Everything upstream — window logic, Flow parsing, routing — stays portable if the CRM changes. If the write side is where your build gets ambitious (dedup, enrichment, agent-driven field updates), our guide to building CRM-native AI agents covers that layer, and our CRM automation practice builds exactly these pipelines — intake to routed record — for teams that want it done in weeks rather than quarters.

07Cost & ScaleCost planning and messaging-limit headroom.

Meta does not publish a public flat rate table — your account’s live rate card lives inside Meta Business Manager, priced by template category and recipient country, and it changes. What third-party 2026 rate compilations report is the spread, and the spread is the planning insight: marketing-template rates reportedly run from under a cent per message in India to more than twelve cents in Germany. Treat the figures below as reported ranges for budget modeling only — confirm live rates in Meta Business Manager before committing a forecast.

Reported marketing-template rates by destination country

Reported ranges from third-party 2026 rate compilations — not an official Meta rate card. Confirm live per-country rates in Meta Business Manager.
IndiaReported marketing-template rate
~$0.0094
United StatesReported marketing-template rate
~$0.025
MexicoReported marketing-template rate
~$0.0305
UAEReported marketing-template rate
~$0.0499
BrazilReported marketing-template rate
~$0.0625
GermanyReported marketing-template rate
$0.124+

The billing plumbing itself keeps moving — Meta added eight new billing currencies (ARS, CLP, COP, MYR, PEN, SAR, SGD, AED) on April 1, 2026, and rolled out Brazil-specific billing localization with expanded market rate cards on July 1, 2026 — one more reason to model costs from your own Business Manager numbers rather than a blog post’s table, including this one.

Scale planning is about messaging limits, not rate cards. A new, unverified WhatsApp Business number starts at a tier capped around 250 unique customers per 24 hours, stepping up through tiers commonly described as 1K → 10K → 100K → unlimited based on sustained volume and quality — and per Meta’s pricing documentation, only charged messages count toward those volume tiers, so a capture agent that lives inside the free windows grows its tier more slowly than its lead volume suggests. Quality is the other axis: third-party summaries of Meta’s quality-rating mechanic, directionally consistent with Meta’s own messaging-limits documentation, describe a Yellow rating freezing your current tier and a Red rating cutting it. Your template copy and send cadence are not just conversion variables — they are your capacity plan. Two more planning notes, both worth verifying against your own account: business verification stopped being a strict prerequisite for basic Cloud API access after an October 2023 policy change (engaging 1,000 unique contacts in a rolling 30-day period can raise limits instead, per WhatsApp help-center guidance), and aggregator reporting from late 2025 indicates messaging limits are now pooled across an entire Meta Business Portfolio rather than allocated per phone number — significant if you run one number per branch or region, and worth confirming in Meta’s messaging-limits documentation before you architect around it.

Looking forward, the direction of travel favors this build. Every pricing change since late 2024 — free service conversations, per-message billing, free utility templates inside the window — has shifted cost away from responsive, transactional messaging and onto broadcast marketing. Meta is pricing the channel to reward exactly what a lead-capture agent does and to tax what spam campaigns do. Expect that gradient to steepen, and design your roadmap — re-engagement cadence, template mix, window discipline — on the assumption that fast, structured, lead-initiated flows stay the cheap lane.

08ConclusionDesign around the window, not against it.

The build, distilled

The 24-hour window is not a constraint on your agent — it is the spec.

Everything in this build follows from one reframe: WhatsApp’s window rules are not an obstacle your agent works around, they are the specification it is designed to. A webhook that answers instantly, a static Flow that qualifies in-chat while the window is open, routing that lands a rep reply inside 24 hours — that sequence is simultaneously the best conversion experience and the cheapest possible configuration of Meta’s billing model.

The direct Cloud API path keeps the whole loop in-house: no BSP markup, no platform fee, a structured payload you own, and a CRM write that is yours to make intelligent — scoring, dedup, SLA enforcement. BSPs and native CRM channels remain legitimate choices for teams optimizing for speed-to-launch over control, but they are conveniences layered on the same primitives, and they never remove the underlying Meta billing relationship.

Start with the matrix in section 04. If any message in your planned flow lands in a billed row, ask first whether faster design — not budget — is the fix. Then submit your template set early, expect a rejection or two, and let the free windows do what Meta priced them to do: make responsive lead capture the cheapest growth channel you run.

Ship your WhatsApp lead-capture agent

The free 24-hour window makes responsive lead capture the cheapest channel you run.

Our team designs and ships WhatsApp-to-CRM pipelines — webhook intake, in-chat qualification, routing rules, and the CRM write — built on Meta’s Cloud API and tuned to the free-window economics, delivered in weeks not quarters.

Free consultationExpert guidanceTailored solutions
What we build

WhatsApp-to-CRM engagements

  • Cloud API webhook intake with idempotent event handling
  • WhatsApp Flows qualification forms, static and dynamic
  • Routing rules, SLA clocks, and rep notification
  • Template-category cost audits and window-discipline reviews
  • CRM write layer — dedup, scoring, and pipeline creation
FAQ · WhatsApp lead-capture build

The questions we get every week.

No. Meta’s WhatsApp Business Platform (the Cloud API) is the official, Meta-hosted way to send and receive WhatsApp Business messages — outbound via the Graph API, inbound via webhooks, both over HTTPS/TLS. There is no subscription or platform access fee; you pay per delivered template message. A BSP (Business Solution Provider such as Twilio or 360dialog) wraps that same API with onboarding, compliance tooling, and multi-channel routing, and third-party rate compilations report BSP markups of roughly $0.003–$0.010 per message on top of Meta’s rates. BSPs make sense when WhatsApp is one channel among many or when you want managed operations; for a focused lead-capture-to-CRM build with in-house engineering, the direct Cloud API path is fully supported and cheaper.
Related dispatches

Continue exploring CRM automation builds.