Questions we get asked

Most of these come down to what Meta allows, not what we built. Where the answer is no, we say why — so you can decide before you build.

Getting started

Is there a free trial or a sandbox?

YES — 3 DAYSYour first number is free for 3 days, and you do not need a card to connect it.

Creating an account is free, and you can read the full API documentation before paying anything. Connect one live number and test it for 3 days with no card. Add a card before the 3 days end to keep it running; the first $10 is charged when the free days end. Without a card the number pauses (nothing is deleted) and switches back on as soon as you add one.

After that it is $10/month for every 3 numbers. The free window is one per account, for the first number only — a second number needs a card. There is no separate sandbox; you test on a real number.

Is there a minimum volume or monthly commitment?

NO MINIMUMAn account with zero WABAs costs nothing. Capacity is bought 3 WABAs at a time, with no upfront commitment and no minimum message volume.

Coexistence — keeping the WhatsApp Business App

Can a client keep using the WhatsApp Business App on their phone?

YESThis is Coexistence, and it is the most common way our partners onboard. The client keeps the same number, keeps using the app on their phone, and your integration works at the same time. Message history stays in sync between both.

Requires WhatsApp Business App 2.24.17 or newer. The regular consumer WhatsApp app can never use Coexistence.

Do we receive messages the business types on their own phone?

YESThose arrive as smb_message_echoes. We subscribe to it, along with history (past conversations at connection time) and smb_app_state_sync (contact changes from the phone).

Build for this before you go live. If your system assumes every message in a thread was sent through your own API, Coexistence breaks that assumption — replies will appear that you never sent. Handle echoes, or the business's own replies will be missing from your records with no error to tell you.
Embedded Signup says the number is "already registered". What now?

Meta shows this when the number's existing WhatsApp registration blocks the Coexistence path, and it will not offer the "connect an existing WhatsApp Business account" option until that is cleared. This sequence resolves it — the order matters:

  1. Back up the customer's messages. History before this point is lost.
  2. Disconnect the business account from the WhatsApp Business App
  3. Log in to the WhatsApp personal app with that number
  4. Reconnect the business account in the WhatsApp Business App
  5. Run Embedded Signup again

Step 3 is the one people skip, and skipping it is why attempts keep failing.

How much conversation history is synced when a number connects?

Meta pushes "all messages sent or received within 180 days of the time when the business was onboarded onto Cloud API". Media messages arrive without their asset IDs; a separate history webhook carries those, "but only for media messages sent within 14 days of onboarding".

The business can decline to share history — you then receive a history webhook with error code 2593109 instead of messages. And it happens once: "You can only perform this step once. If you need to perform it again, the customer must first offboard, then complete the Embedded Signup flow again."

What Meta does not allow

Can we send to WhatsApp groups?

NOT FOR MOST NUMBERSMeta's Groups API requires two things: the number must be an Official Business Account, and it must be on Cloud API only — "Your business number is in use with Cloud API (not the WhatsApp Business app)."

That second condition excludes every Coexistence number, which is the majority of numbers on this platform. If your clients keep the Business App on their phones, groups will not be available to them — not now, and not after they get OBA.

Can we send product or catalog messages?

NOT ON COEXISTENCENothing is blocked on our side — POST /messages/interactive passes your interactive object to Meta unchanged, so product and product_list are not filtered by us.

The block is Meta's. A number onboarded through the WhatsApp Business App sits under an SMB business portfolio, and catalog operations on it are refused with (#10) This operation can not be performed on SMB business type. We verified this by running the same call, from the same app, against a non-Coexistence WABA — where it succeeds.

The catalog itself is connected by the business in Commerce Manager, not by us.

Can you hold the Meta payment method centrally for all our clients?

NOThat requires a credit line, which only a Meta Solution Partner has. We are a Tech Provider. Meta's own wording: "Tech Providers do not have credit lines. Instead, clients onboarded by Tech Providers must provide their own payment method."

Each client attaches their own payment method to their own WABA and is billed by Meta directly. Our slot fee is separate from that. This is a deliberate choice on our side, not a gap we are working to close.

Building a multi-tenant product on Bridge

Does each merchant keep ownership of their WABA and phone number?

YESEmbedded Signup creates the WABA under the merchant's own Meta business portfolio. We checked this on a live client: the owning business is the merchant, and we hold no permission over its funding source. If a merchant leaves you, they keep their number and their WABA.

How do we map a WABA to our own merchant or tenant ID?

Each connected number is its own client record on your partner account, keyed by waba_id and phone_number_id, with its own access token. Every webhook we send and every API call you make carries phone_number_id — map that to your tenant on your side.

There is no custom external-ID field. display_name is free text you set at registration; it can hold your tenant ID if you want it visible in the dashboard, but treat it as a label, not a key.

Are webhooks signed?

YESEvery webhook carries x-wasapflow-signature: sha256=<hmac> — an HMAC-SHA256 of the raw request body using your partner webhook secret. The signature covers the complete body as sent, including the meta object. Verify it before processing; the API docs include the check.

Can we use our own AI or LLM? Do you provide one?

YOURS, YESThat is the intended model. Bridge is transport: it delivers inbound messages to your webhook and sends whatever your backend tells it to. Whatever decides the reply — your own model, your own rules — is yours.

OURS, NOWe do not offer an AI or agent product through the Partner API. Bring your own.

Can onboarding be fully white-labelled, with no WasapFlow branding?

NOT FULLYThe Embedded Signup popup is Meta's, and Meta shows the name of the app the merchant is connecting to. That app is ours, so the dialog displays WasapFlowOfficial — in the privacy-policy line, and in "Report error to WasapFlowOfficial". We cannot remove that; it is how Meta tells the merchant who they are granting access to.

Everything outside that popup is yours: your domain, your UI, your emails. The merchant never sees a WasapFlow dashboard.

Official Business Account (OBA)

What is OBA and how does a client get one?

It is the verified badge next to the business name. It also affects discovery — Meta: "If a business phone number is not an OBA, it will not appear in search results when users search for it within the WhatsApp application."

It is not granted on brand fame. Meta lists concrete criteria:

  1. Complies with the WhatsApp Business Messaging Policy
  2. Registered on the platform for at least 30 days
  3. The owning business portfolio has passed Business Verification
  4. Two-step verification enabled on the number
  5. Display name approved

Request it in WhatsApp Manager under Phone numbers → Profile → Official business account. WhatsApp Business App numbers are excluded.

A rejected request means waiting 30 days before applying again. Check the display name is approved first — a declined display name is the most common reason, and submitting anyway burns the 30-day cycle.

Meta's charges

What changes on 1 October 2026?

Meta begins charging for service messages — any non-template reply sent inside the 24-hour customer service window. These have been free since November 2024. Meta: "Effective October 1, 2026, Meta will charge for service messages, which have not been charged since November 2024."

Utility messages sent inside that window become chargeable on the same date. Service messages are priced at the same rate as utility and authentication for the market, and volume tiers do not apply to them.

There is a free tier of 1,000 delivered service messages per business phone number per month, resetting monthly with no roll-over. Meta: "Each business phone number has one shared free tier of 1,000 delivered service messages per month." Messages inside it arrive with pricing.type = free_customer_service; the 1,001st onward arrive as regular, billable: true. A number with no payment method on file stops delivering after the tier is used.

The 24-hour window itself does not go away — it still governs whether you may send a free-form message at all. What changes is that it stops being free. Your cost now scales with the number of replies, not the number of conversations.

Full explanation, Malaysia rates and what to do before the date →

Who pays Meta — you or us?

Meta bills the client directly, against the payment method on their own WABA. Our slot fee covers the platform only. See the credit line answer above.

Not answered here?

If it involves a specific number or WABA, include the ID and we can check it against Meta.

Contact us