Connecting a WhatsApp Business number to AppBO, with template approval, session windows and opt-in rules explained.
Bring your stack to a call and we will connect it, test every field in both directions, and hand it over documented.
Book a callOn the WhatsApp side sits a WhatsApp Business Account, which lives under a Meta Business account and holds one or more phone numbers, a verified business display name, a quality rating per number, and a library of message templates that Meta reviews and approves before you may use them. Behind that sits the WhatsApp Business Platform, the official API route. Distinct from the consumer app and from the WhatsApp Business app on a phone, neither of which can be connected to a CRM.
On the AppBO side sits the conversation inbox alongside SMS, email and social channels, plus workflows that can send a message, wait for a reply and branch on it. Connected, WhatsApp becomes another channel on the contact record: an appointment reminder that arrives where the customer actually reads messages, a reply that lands in the same shared inbox as everything else, and a conversation history that sits beside the call recordings and the email thread.
The reason to treat this differently from SMS is that WhatsApp enforces a consent and messaging model in software, not merely in policy. Outside an open conversation window you may only send pre-approved templates, and only to people who opted in. Inside the window you may send freely. Everything about designing a WhatsApp automation follows from that one rule, and an integration built as if WhatsApp were SMS will be rejected by the API rather than merely frowned upon.
Scenario: a dental practice sends appointment reminders on WhatsApp, handles a reschedule in the open window, and handles a non-reply correctly.
Two different ceilings apply and they are often confused. There is an API throughput limit, and there is a messaging limit: a cap on how many distinct customers you may start conversations with in a rolling period, assigned per number and raised in tiers as you send quality traffic. A new number starts on a low tier, so a large launch campaign will stop mid-send. Business verification and a good quality rating are what raise the tier. Meta publishes the current tiers and thresholds in the WhatsApp Business Platform documentation. Read those figures there rather than planning against a remembered number.
Status webhooks are delivered at least once and arrive out of order, so a handler must dedupe on the message identifier and never assume read follows delivered in the order received. Outbound sends have no universal idempotency key, so a retried send after an ambiguous timeout can deliver twice; guard workflow sends with a tag or field check rather than relying on the transport. A failed template send should not be blindly retried. Read the error code first, because a policy rejection will fail identically every time.
Template variables are positional and typed by the template definition, so mapping the wrong field produces an approved template saying something absurd, or a send rejected for a malformed variable. Variables cannot contain newlines or certain formatting, and an empty variable fails the send outright, so every mapped field needs a fallback. Numbers must be full international format with no punctuation. The customer's WhatsApp profile name is not their real name and should not overwrite the CRM name field. Template language is part of its identity: sending the right template name in the wrong language code fails.
Duplicate contacts arise when a customer's WhatsApp number differs from the cell number on file, which is common where people keep a separate number for messaging. Decide which field is the WhatsApp number, store it explicitly, and merge on it. Duplicate conversations arise where a business runs two WhatsApp numbers and a customer messages both.
Meta offers a test number for development that can message only a short allow-list of verified recipients and cannot be used for real traffic. It is enough to prove the plumbing and templates and nothing about delivery at scale or quality rating. The messaging-limit tier and the quality rating only exist on a live number, so plan a staged launch rather than a full switch.
The connection depends on a token tied to the Meta business account and the user who authorized it. Removing that person's admin rights, changing business-account ownership, revoking the app in business settings, or a failed re-verification can all break it. A number can also be disconnected by Meta for policy violations, and a template can be disabled or a quality rating downgraded with little notice. Watch for sends failing in bulk, which indicates an account-level change rather than a content problem, and keep at least two administrators on the business account.
We wire the integration, map the fields, test both directions and hand it over with the SOPs your team needs to run it.
Book a call