← Integration and automation

WhatsApp Business API: integration and automation

WhatsApp is the channel your customers are already on and, almost always, the worst documented one in the company. The API changes that: it turns a conversation that lived on somebody's phone into a flow with state, history and rules.

How you recognize it from outside

The company number is installed on one person's handset. If that person is off, nobody answers; if they leave, the history leaves with them. And there is no way to answer the question how long do we take to reply with an actual number.

The API is not the app, and the difference matters

There are three products with confusingly similar names: ordinary WhatsApp, the WhatsApp Business app, and the WhatsApp Business Platform —the API—. Only the third one allows several agents on the same number, integration with other systems, approved bulk sends and traceability. It is also the only one with a per-message cost and a business verification process. Starting on the app and migrating later is possible, but it means redoing the registration and losing part of the history: if the plan is to integrate, go in through the API from the start.

The flows that have to be solved

Each one with the design decision that determines whether it survives production.

01

Templates and the service window

Meta charges per message sent, and only in the template categories: marketing, utility and authentication. When the customer writes first, a 24-hour service window opens in which you can reply with free-form messages at no cost. Designing the flow around that window is the difference between a reasonable invoice and an unpleasant one.

Where it breaks

Solving with a marketing template what would have fitted inside the service window multiplies the cost and improves nothing. And templates need prior approval, so they don't get improvised on a Friday.

02

A stateful agent, not a tree of buttons

Numbered menus age badly: the moment the customer types something that isn't on the list, the flow breaks. A model-backed agent holds the context of the conversation, understands a rephrasing and knows when it doesn't know.

Where it breaks

An agent with no persistent state loses the thread between messages and asks the same question twice. An agent with no route to a human frustrates people in exactly the cases that matter most.

03

Escalation to a person, with context

When the conversation moves to a human, it has to arrive with the summary and the history — not with a hello, how can I help you that forces the customer to say everything again.

Where it breaks

This is where the trust you just earned gets spent. One bad hand-off and the customer picks up the phone instead next time.

04

A line to the system that holds the answer

Checking an order, booking an appointment or confirming availability means reaching the ERP, the CRM or the booking engine in real time. Without that, the agent can only speak in generalities.

Where it breaks

An agent that answers with stale information because it reads from an overnight copy creates more tickets than it closes.

What you get

  • Number registration and business verification on the platform, through the appropriate provider
  • Catalogue of approved templates by category and use case
  • Conversational agent with persistent state and a route to a human
  • Real-time connection to the system that holds the data
  • Channel metrics: first response time, resolution rate and cost per conversation

How we build it

Idempotent by default

Every operation can be repeated without duplicating anything. That is what makes a retry safe, and without it no integration survives its first dropped connection.

Observable state

Every message has a state you can query: pending, sent, confirmed, failed. An integration you only notice when it breaks had already been breaking for a while.

One owner per field

For each field there is one system that decides and the others follow. Bidirectional sync without that rule ends in loops and in data that changes on its own.

AI where it judges, not where it calculates

Classifying, extracting and drafting are model work. Adding up, validating and routing are code work. Swapping them round is expensive and impossible to audit.

How we work

The people who run the diagnosis are the people who build it. No hand-offs. The full method and the rest of the capabilities are on the systems integration page.

  1. 01
    Diagnosis · 3–5 days

    We map systems, data flows and the dependencies that actually exist, including the ones nobody wrote down. Output: a closed scope and the list of what is broken today.

  2. 02
    Integration design · 1 week

    Data contracts, direction of sync, retry policy and who owns each field. This is settled before any code gets written, because it is the expensive thing to change later.

  3. 03
    Build and testing · 2–6 weeks

    Built against the real edge cases, not the happy path. Tested against the actual systems and rolled out in stages.

  4. 04
    Production and observability · ongoing

    Status dashboard, alerts when something has gone too long without confirmation, and maintenance of the integrations when third-party APIs change under you.

Node / TypeScript Queues with retry Supabase / PostgreSQL n8n Signed webhooks LangChain Docker Vercel

Questions about this case

How much does WhatsApp Business API cost? +

There are two separate costs. Meta bills per message sent in the template categories —marketing, utility and authentication— at rates that depend on the destination country; messages you receive and messages you send inside an open service window are not charged. The second cost is the provider you access the platform through, and that varies a lot by commercial model. The specific rates change often, so we verify them when we size the project rather than quoting them from memory.

Can I keep my current number? +

Generally yes, but that number stops working in the WhatsApp app: it moves to the platform and is operated from whatever system we integrate. You cannot run both at once. If the number is somebody's personal mobile, plan the switch before you start rather than during.

Can I send bulk campaigns? +

With pre-approved templates in the right category and with the recipient's consent. Sending without opt-in is not only a data protection problem: it is the fast route to users marking the number as spam and the platform downgrading your account quality, which cuts the volume you are allowed to send.

Can the agent resolve things without a human? +

Some of it, and it is better to measure which part than to promise it. Status checks, availability and specific data get resolved end to end when the agent can reach the system that stores the answer. Negotiations, complaints and anything with emotional weight are designed to escalate early. The metric we track isn't percentage automated, it is how many conversations end resolved without the customer having to repeat what they already said.

Start with the diagnosis

Three to five days to know what gets connected first, with scope and price closed before a line of code is written.

Talk to a specialist ↗