← all cases

case 03 · Travel agency and medical clinicsin production

Migration to the official WhatsApp API

Production AI agents moved off unofficial APIs (UAZAPI and Evolution) onto Meta’s Cloud API, with a reusable runbook for future migrations.

Context

Unofficial WhatsApp APIs are quick to set up, but the bill comes later: instability, the risk of the number getting banned, and no support when something breaks. With one of them, operations went down for a full day.

I migrated agents that were already in production, including a travel agency SDR and appointment bots for medical clinics, to the WhatsApp Cloud API (Graph API v25). The goal was to get out of that risk without stopping clients’ operations, and to leave a documented path for future migrations.

Architecture

  1. meta webhookcloud api v25
  2. hubn8n
  3. crmteam timeline
  4. agentper client
A hub receives Meta’s webhook and routes each message to the CRM and to the right agent.

Decisions and challenges

The runbook

I wrote a reusable step-by-step covering webhook subscription order, the verification handshake, message templates, and unblocking billing and tax data (error 141006 and the “incomplete tax information” that blocks sending).

Traps that only show up in production

Diagnosing Meta accounts

Numbers stuck in failed sign-ups don’t show up in WhatsApp Manager. I wrote a Graph API script that scans the client’s Business Managers and WhatsApp accounts, finds pending, unverified or disconnected numbers and orphaned accounts, and prints the steps to release each number.

Meta’s access models

I documented when acting as a direct developer is enough (own app and System User token) and when the Tech Provider flow is required, where the WhatsApp account is created in the client’s Business Manager and shared with the provider.

Results

Available for projects

Ready to put an agent into production?

Tell me about your operation. I reply within one business day.