Most of what goes wrong with "WhatsApp in my CRM" is not a CRM problem. It is a Meta platform rule nobody read until a message bounced. This guide covers the three ways WhatsApp actually connects to a CRM, what Meta requires at each step, and the specific errors and limits that stop conversations from going out, sourced from Meta's own documentation.
This is not a tool comparison. For a shortlist of WhatsApp CRM platforms, see our listicle on the best WhatsApp CRMs for agencies. This article is the mechanics underneath: how the connection works, what breaks it, and how to get it back.
The three ways WhatsApp gets into a CRM
1. The WhatsApp Business app alone, with no API
This is the free app on your phone: its own contact list, quick replies, labels and a catalog, but no API. A CRM cannot read or write its messages, because there is no connection point for another system to use. Anything you want to show in a CRM, a lead's WhatsApp thread, an automated reply, a template sent at 2am, requires manual copy-paste or a different setup entirely. Right choice for one person handling a low volume of chats on their phone; wrong choice for any team wanting shared visibility or automation.
2. The Cloud API, direct or through a Business Solution Provider (BSP)
This is what people mean by "the WhatsApp Business API." It is not an app you install, but a messaging endpoint Meta hosts, which your CRM (or a provider's platform on your behalf) sends and receives messages through. Two ways to connect:
- Direct: register your own app with Meta, go through Embedded Signup, and have your CRM call the Cloud API endpoints itself.
- Through a BSP: a Business Solution Provider (Meta's term for an approved partner, sometimes still called a "Tech Provider") holds the technical relationship with Meta and gives you simpler onboarding, support, and usually a markup on usage. Most CRMs that offer "WhatsApp built in" are BSPs or resell a BSP's connection.
Either route gives a CRM what it needs: a webhook for inbound messages and an API call for outbound ones, so conversations land in a shared inbox, trigger workflows, and log against a lead record.
3. Coexistence: the Business app and the Cloud API on the same number
Coexistence (Meta also calls it "Coex") lets a single WhatsApp Business phone number run on the Business app and the Cloud API at the same time, with messages mirrored between both through webhooks. It exists specifically so a business does not have to give up the app it already knows to get API-level automation and a CRM inbox on the same number.
Coexistence has real requirements and limits, and third-party summaries disagree on a few specifics, so verify current availability for your country and provider before promising it to a client:
- The Business app must be on a recent version (sources cite 2.24.17 or later).
- The number's country code must be on Meta's supported list, a rolling, country-gated release rather than a global switch-on.
- Onboarding happens through Meta's Embedded Signup flow, via a BSP or tech provider, not a self-serve toggle.
- Broadcast lists, groups, and disappearing or view-once messages get disabled on a coexistence number.
- Not built for very high throughput (third-party providers describe coexistence numbers as having a lower throughput ceiling than standard API numbers; Meta does not publish one figure for it) or numbers relying on WhatsApp Pay.
- Companion devices linked to the app get unlinked when coexistence is turned on, and need re-linking afterward.
We have a dedicated walkthrough for running the Business app and Inflowave on the same number: see using the WhatsApp Business app and Inflowave on the same number.
What you need before you connect anything
| Requirement | What it actually is |
|---|---|
| Meta Business Portfolio | Business-level container (formerly "Business Manager") that owns your WhatsApp Business Accounts, ad accounts and apps. Needed before you can create a WABA. |
| WhatsApp Business Account (WABA) | Container for your phone number(s), templates and quality rating inside a portfolio. |
| A phone number | Must receive SMS or voice for verification, must not already be active on the consumer or Business app (unless setting up coexistence), and not a short code. |
| Display name approval | Separate Meta review of the name shown to recipients; can be rejected even once the number is verified. |
| Business verification | Not mandatory to start sending, but gates how fast your messaging limits scale. |
| A payment method on the WABA | Required to keep sending under paid, per-message billing. No valid payment method means messages get paused, not banned, covered in our guide on "messages paused, add a payment method". |
Each requirement can be rejected or delayed independently of the others. A fully verified business can still have a display name sitting in review, and a working number can still fail to send because the portfolio's payment method expired.
Business verification and why it changes what you can send
Business verification is Meta confirming your business is real, using documents tied to your legal entity. It is not required to send your first messages, but it is one of three documented paths to raise your messaging limit beyond the starting tier, alongside partner-side verification and hitting a volume-and-quality bar organically.
For document and matching-detail issues that cause "pending" to stall, see Meta Business Verification.
Messaging limits: the tiers, and what changed
Messaging limits cap how many unique WhatsApp users a phone number can send the first message to (a business-initiated message outside an open customer service window) within a rolling 24-hour period. They do not cap replies inside an open conversation, and they do not cap inbound messages from users.
Per Meta's own developer documentation, the published tiers are:
| Tier | How you get there |
|---|---|
| 250 | Default starting tier for a new business phone number |
| 2,000 | Business verification, partner verification, or 2,000 delivered high-quality template messages to unique numbers within 30 days |
| 10,000 | Automatic scaling based on volume and quality |
| 100,000 | Automatic scaling |
| Unlimited | Automatic scaling, reserved for high-volume, high-quality senders |
Two changes worth knowing if you read older guides: Meta now calculates these limits at the business portfolio level, shared across every number in that portfolio, not per individual number. Meta's documentation lists the steps as 250, 2,000, 10,000 and 100,000 messages, then unlimited through automatic scaling (checked 12 October 2026). Check your own current limit in WhatsApp Manager rather than any blog post, including this one.
What determines whether you keep climbing or get stuck: your quality rating, based on recent block and report rates, and whether you're sending messages people actually want.
The 24-hour customer service window
This is the single most load-bearing rule in the whole system, and the reason "why can't I just message this lead back" has a specific answer.
When a WhatsApp user messages your business, that opens a 24-hour customer service window. Inside it, you can send ordinary free-form messages, no template required, and Meta does not charge for those, or for Utility templates sent while the window is open. Marketing templates are charged every time, window or not.
Once 24 hours pass since the user's last message, the window closes, and you can only reach them with an approved template. Send a free-form message after that and it fails with a re-engagement error (131047, in the troubleshooting table below). The fix is never "retry": it is "send a template instead, and wait for them to reply before going free-form again."
This is why a serious WhatsApp CRM integration treats the window as a visible countdown on the conversation, not an afterthought: it decides whether your next message needs to be a template.
Template messages: categories, and why they get rejected
A template is pre-written copy you submit to Meta for approval before sending it. Every template is filed under one of three categories, and Meta enforces what each is allowed to contain:
| Category | Purpose | Key restriction |
|---|---|---|
| Marketing | Promotions, offers, announcements, re-engagement, anything selling or inviting action | Billed every time one is delivered, including inside an open customer service window; subject to the per-user engagement cap described under error 131049 below |
| Utility | Tied to a specific transaction or account action the user already triggered: order confirmations, shipping updates, appointment reminders, account alerts | Must not contain promotional language; Meta reclassifies templates it judges promotional rather than approving them as submitted |
| Authentication | One-time passcodes and identity verification only | Cannot contain media, URLs, emojis, or free-form marketing copy; must use Meta's OTP button formats |
Common rejection reasons
- Category mismatch. Copy reads as promotional ("Sale," "Offer," urgency language) but was submitted as Utility. Since April 2025, Meta more often auto-approves this as Marketing instead of rejecting it, at the higher billing rate, a quieter failure than outright rejection.
- Vague or placeholder variables.
{{1}}with no descriptive sample text, or samples that don't match the use case. - Formatting and policy violations. Excessive capitalization, URL shorteners, missing sample values, or restricted content (alcohol, gambling, weapons, pharmaceuticals, financial guarantees, dating, politics) regardless of category.
- Marketing language in Authentication templates. Any promotional phrasing in an OTP template is rejected on sight.
- Repeated miscategorization. Meta tracks repeated promotional-as-Utility submissions and can respond with warnings, rate-limiting, or bulk-recategorizing existing templates without notice.
A template rejected for INCORRECT_CATEGORY can be resubmitted under a new category, or reviewed formally within 60 days.
Pricing: what changed on 1 July 2025
Meta replaced its conversation-based pricing model with per-message pricing on 1 July 2025, the biggest pricing change since conversation-based billing was introduced in February 2022.
Before: opening a conversation (sending the first template in a 24-hour window) was one billable event, however many messages you exchanged inside it.
Now: each delivered template message is billed individually, by category and recipient country code. Three marketing templates to the same person in a day is three billable messages, not one conversation.
What is free under the current model: any non-template message, or Utility template, sent inside an open customer service window; any message sent during the 72-hour "free entry point" window opened by a Click to WhatsApp ad; and service-type messages, free since 1 November 2024, separately from the July 2025 change.
Rates differ by category (Marketing costs more than Utility, which costs more than Authentication in most markets) and by destination country, with volume-based pricing tiers for Utility and Authentication at higher monthly volumes. Rates vary by country and change over time, so check Meta's own current rate card before quoting a client.
Troubleshooting table
| Error or symptom | What it means | Fix |
|---|---|---|
| Error 131049 (Meta chose not to deliver, to maintain healthy ecosystem engagement) | Meta caps marketing templates a recipient gets across all businesses, not just yours. No published exact threshold. | Don't immediately retry. Wait 24 hours; favor Utility or already-engaged recipients. Doesn't apply inside an open window, or to Utility/Authentication. |
| Error 131047 (re-engagement outside the window) | A free-form message sent after the 24-hour window closed. | Send an approved template instead. Free-form resumes once the user replies again. |
| Error 131026 (message undeliverable) | A recipient-side issue Meta keeps vague for privacy: unregistered number, outdated app, unaccepted terms, blocked sender, unsupported destination. | Confirm the number is correct and active. Ask the recipient to update their app and accept any pending terms. Not fixed by resending. |
"Template rejected" / INCORRECT_CATEGORY |
Content didn't match the submitted category, usually promotional copy filed as Utility, or marketing language in an Authentication template. | Rewrite to match the category's rules, resubmit under the correct category, or request a formal category review within 60 days. |
| "Number already registered" during setup | Already active on the consumer app, the Business app, or a different BSP's connection. Coexistence is the one documented exception. | Moving BSPs: ask the current BSP to disable two-step verification, and confirm both WABAs sit under the same Business Portfolio. Starting fresh: the number must be released from its current app or WABA first, losing message history and possibly the existing quality rating and tier. |
| Business verification "pending" for an extended period | Usually a legal business name, address or document type that doesn't exactly match Meta's requirements for your country. | Re-check every field against your registration documents. See Meta Business Verification for specific mismatches that stall review. |
| Account shows "Flagged" or "Restricted" | Older guides and dashboards use these labels for a number whose quality rating has dropped. Meta's current messaging-limits documentation does not use them and instead describes quality rating and messaging limits. | Check the number's current quality rating and messaging limit in WhatsApp Manager, pause marketing templates if quality is low, and fix whatever is driving blocks and reports. |
| WABA banned or portfolio restricted | Usually a high block-and-report rate, a mismatch between registered business info and actual use, or repeated template violations. | Only Meta can lift it. No BSP, CRM vendor or "unban" service can, and a new number does not fix an account-level restriction. Appeal through Meta Business Help Center. |
| Messages not delivering, no error code shown | Often a pending payment issue, not a policy issue. | Check WABA billing status first; see messages paused, add payment method and temporarily unavailable, try again in 1 hour. |
| WhatsApp Business API "not connecting" to a CRM | Nearly always a webhook misconfiguration (wrong callback URL, unverified token, app not subscribed to the right fields), not a WhatsApp outage. | Re-verify the webhook URL and token in Meta's App Dashboard, confirm subscription to messages and message_template_status_update, and send a test message before assuming a wider failure. |
Managing multiple WhatsApp numbers under one CRM
A single Meta Business Portfolio can hold multiple WhatsApp Business Accounts, and each WABA multiple phone numbers. The limits start restrictive and scale with trust: new portfolios cap at 2 registered numbers, rising to 20 once the business is verified or a number reaches the 2,000-message tier. Beyond 20 requires direct engagement with Meta, not self-serve. A WABA belongs to only one portfolio; ownership cannot be shared across two Business Managers.
Messaging limits are shared across every number in the same portfolio. For an agency running numbers for several clients, one client's high-volume, high-quality sending can lift the portfolio's tier, and one client's poor-quality sending can drag it down for everyone else in it. Structure each client's WABA to match how you want quality and limits to pool, and confirm current pooling behavior in your own Business Manager, since Meta has changed this mechanic more than once in the last year.
How Inflowave fits in
Inflowave connects WhatsApp through the official WhatsApp Business API, not an unofficial or scraped connection. Once connected, WhatsApp conversations sit in the same inbox as a lead's other channels and CRM record, rather than in a separate app. Approved template messages can be used for first contact, which matters given everything above about the 24-hour window and template categories. For running the Business app and Inflowave on the same number, see using the WhatsApp Business app and Inflowave on the same number.
Frequently Asked Questions
Can I connect the WhatsApp Business app directly to a CRM without the API?
No. The Business app has no API. A CRM can only read and write WhatsApp messages through the Cloud API, direct or via a Business Solution Provider, or through Meta's coexistence feature, which keeps the app usable while adding API access on the same number.
What is the difference between the Business app, Business API and Business Platform?
The Business app is the free consumer-grade app, no API. "Business API" is the common name for the Cloud API, Meta's hosted endpoint CRMs connect to. "Business Platform" is Meta's current umbrella term covering the Cloud API, the On-Premises API (being phased out), and related tools together.
Why does WhatsApp say my template was rejected?
Usually a category mismatch: content reads as promotional but was submitted as Utility, or an Authentication template contains marketing language. Since April 2025, a miscategorized Utility submission is more often auto-approved as Marketing at the higher rate rather than rejected outright, so check the approved category, not just the status.
What does WhatsApp error 131049 actually mean?
Meta withheld delivery of a marketing template to protect that recipient from being over-messaged across all businesses on WhatsApp, not just yours. It is not a ban or a technical failure, and it doesn't apply to Utility, Authentication, or messages inside an open customer service window.
How long is the 24-hour customer service window, exactly?
It opens the moment a user messages your business, and closes 24 hours after that user's most recent message. Inside it, free-form replies and Utility templates are free. Marketing templates are still charged. Outside it, only approved templates can reach that user; non-template messages fail with error 131047.
Can I use the same number on the Business app and the API at the same time?
Yes, through coexistence, with real requirements: a current Business app version, a supported country code, onboarding through Embedded Signup with a provider, and trade-offs including disabled broadcast lists, groups, and disappearing or view-once messages. Confirm current country availability before committing to it.
How many WhatsApp numbers can one CRM or agency manage?
A Business Portfolio starts at 2 phone numbers and typically rises to 20 once the business is verified or a number hits the 2,000-message tier, with higher limits only through direct engagement with Meta. All numbers in one portfolio share pooled messaging limits.
Sources
- Pricing on the WhatsApp Business Platform, Meta for Developers, checked 12 October 2026
- WhatsApp Business Platform messaging limits, Meta for Developers, checked 12 October 2026
- Template categorization, Meta for Developers, checked 12 October 2026
- About Your WhatsApp Business Phone Number's Quality Rating, Meta Business Help Center, checked 12 October 2026
- WhatsApp Business Pricing Changes 1 July 2025, checked 12 October 2026
- What is WhatsApp Business App Coexistence?, checked 12 October 2026
- WhatsApp Cloud API error codes, Meta for Developers, checked 12 October 2026 (131049, 131047, 131026)
- WhatsApp Error 131026, 131049 & 1026: Causes and Fixes, checked 12 October 2026
- WhatsApp Business Multiple Numbers: Every Option Explained, checked 12 October 2026
- WhatsApp Platform: Phone Number Limits, Vonage, checked 12 October 2026
Note on sourcing: the error codes and tier figures above are confirmed consistently across multiple independent developer resources, but Meta's own public docs describe some only briefly and point implementers back to in-dashboard error detail. Thresholds like the coexistence throughput ceiling and exact country list are third-party-reported; re-verify against your own Meta Business Manager, since Meta updates these mechanics without always updating every public doc page at the same time.

