Skip to main content

WhatsApp Business Account Setup

This is the complete end-to-end onboarding path for standing up a WhatsApp Business Account (WABA) on Orbit. Plan ~3–7 business days total if your documents are in order, longer if Meta requests changes.

At a glance

  1. Verify your business on Meta Business Manager
  2. Choose a number (new vs. migrating an existing one)
  3. Connect through Orbit’s embedded sign-up flow
  4. Add + verify the phone number (SMS or voice code)
  5. Set your public display name + profile
  6. Submit display-name + at least one template for approval
  7. Pass the go-live gates (KYC, funded balance, messaging tier)
  8. Start sending
Steps 1, 6, and 7 are the ones that routinely cause delays. Everything else is usually same-day.

Before you start — what WABA verification actually requires

A WABA verification is Meta confirming three things: who you are (a real legal entity), where to reach you (a working website + business email), and which phone number speaks for you. Concretely, Meta’s reviewer checks:
  • Meta Business Manager verification — your registered legal entity matches uploaded documents (certificate of incorporation, tax ID, proof of address). This is a manual review.
  • Website presence — a live domain with real content and a visible privacy policy. Placeholder pages, “Coming Soon” templates, and Notion links fail.
  • Display name — must match the legal or trade name on your documents.
Timeline expectation: Meta quotes 1–3 business days per review, but first-time submissions with any document mismatch stretch to 3–7 business days; worst case is ~14 days. Reviews run on business days only — submit on a Monday, not a Friday. Nothing in this waiting period blocks you: you can connect a number and send to up to 250 unique recipients per day while Business Verification is still pending, so launch work and verification can run in parallel.

Document checklist

Have these ready before you touch the dashboard: If you operate through a holding company or DBA, submit the documents of the legal entity that will own the WABA. Meta will deny a display name that doesn’t match.

Technical prerequisites

  • A Facebook account (personal — you’ll be named an admin on the Business Manager)
  • A phone number you control (SMS + voice) for the verification call. See Number procurement below for the choices.
  • Admin access to the domain’s DNS (for privacy policy URL verification and for potential email deliverability requirements)
  • An admin or owner role on the Orbit organization — the WABA connect surface is role-guarded: settings/channels/whatsapp/add-waba is wrapped in RoleGuard allowedRoles={["owner","admin"]} (see apps/web/src/app/[locale]/(dashboard)/settings/channels/whatsapp/add-waba/page.tsx).

Step 1 — Meta Business Manager verification

Meta Business Manager (business.facebook.com) is the identity layer for all WhatsApp access. Your business must be “verified” before you can publish a display name or raise messaging limits beyond the initial 250/day cap.
  1. Create a Business Manager account at business.facebook.com if you don’t have one.
  2. Go to Settings → Security Center → Start Verification.
  3. Upload the documents from the checklist above. Meta does an OCR + manual review.
  4. Expect 1–3 business days. Rejection reasons we see most often:
    • Display/trade name on the document doesn’t match what you typed.
    • Document has been cropped or edited.
    • Business website is a placeholder page or blank (put real content up first).
    • No visible physical address on the document.
While waiting: you can still connect a number and send messages at the unverified-cap (250 unique recipients/day). Don’t let verification block you from launching.

Step 2 — Number procurement

You have three realistic paths.

A. Brand-new number from Orbit

Fastest. Buy a number from Orbit’s dashboard (Numbers → Buy), pick a country, and the number is available for WhatsApp within seconds. It can’t have been previously used on WhatsApp in the past 30 days (Meta’s cooldown) — Devotel’s inventory is WhatsApp-safe by default. Pick this when: you’re starting from scratch, don’t need carryover SMS / voice traffic.

B. Bring an existing number you already own

You can use any number that:
  • Can receive SMS or a voice call (Meta sends the verification code one way or the other)
  • Is not currently active on another WABA
  • Has not been used on WhatsApp’s consumer app in the last 30 days — delete the WhatsApp consumer account and wait the cooldown if it was
If the number was previously on another BSP (Infobip, Twilio, Vonage, MessageBird, etc.) jump to the BSP Transfer guide.

C. Transfer from a competing CPaaS (porting)

See the dedicated BSP Transfer / Number Porting Guide. You keep the number, your templates, and (with some caveats) your quality rating.

Step 3 — Connect through Orbit’s embedded sign-up flow

In the Orbit dashboard go to Settings → Channels → WhatsApp → Connect — the route is /settings/channels/whatsapp, and the connect walk-through lives at /settings/channels/whatsapp/add-waba (rendered by apps/web/src/app/[locale]/(dashboard)/settings/channels/whatsapp/add-waba/_components/add-waba-content.tsx, which mounts WhatsAppEmbeddedSignup for the Meta OAuth popup). Each step below maps to a shipped surface:
  1. Click Connect with Facebook. This opens Meta’s OAuth dialog inside a popup. The page keeps state if the popup closes, so a reload mid-flow is safe.
  2. Sign in with the Facebook account that has admin rights on your Business Manager, then pick the Business Manager to associate.
  3. Create a new WABA or select an existing one. If you’re porting, select the existing WABA — do not create a second one.
  4. Add the phone number (from Step 2) — covered in detail in Step 4.
  5. Choose the display name + upload the profile photo when the wizard asks for them. The display name must match your documents (Step 1 rules apply); the photo should be square, ≥ 640×640 px, PNG or JPG, your logo rather than a person’s face. Both can be edited later from Settings → Channels → WhatsApp → Profile, but the display-name change re-enters Meta review, so getting it right here saves days.
  6. The popup closes and you’re back on Orbit with the WABA in “connected” state.
If the popup closes without returning — common on Safari and in corporate SSO setups — re-trigger from Settings → Channels → WhatsApp; the partial state is preserved on Meta’s side.

Step 4 — Phone number add + verification code

Meta proves you control the number by sending a 6-digit code to it. You pick the delivery path in Meta’s wizard:
  • SMS — the code arrives as a text message. Default, fast inside the NANP (+1) zone.
  • Voice call — the code is read aloud by an automated call. Outside the US, Meta’s verification SMS is frequently filtered or never delivered, so the dashboard surfaces a tip to pick “Phone call” when Meta asks how to send the code (the same voice fallback lives in whatsapp-phone-verify.tsx). Voice is the reliable option for international numbers.
If the code never arrives, cancel the attempt, switch the delivery method, and retry — don’t keep resubmitting SMS into a number your carrier is filtering. If your WhatsApp account has two-factor authentication enabled (a PIN you set in the app), Meta asks for that PIN too during the add step — have it handy; a wrong PIN is the second-most-common stuck state (see the failure matrix).

Step 5 — Display name + profile

Display name

The display name is what appears in users’ chat lists. It must match Meta’s display name guidelines:
  • Match your registered business name or a clearly associated consumer brand
  • No generic names (“Support”, “Sales”)
  • No all-caps / emojis / special characters beyond . , & '
  • Minimum 3 characters
In Orbit: Settings → Channels → WhatsApp → Profile → Edit Display Name. Meta reviews display names in 1–3 business days. You can start sending messages immediately using the placeholder; the name changes live once approved.

Profile fields

Also in Profile, set:
  • About — short tagline (< 139 chars)
  • Description — up to 512 chars
  • Category — pick the closest to your industry
  • Address + Business hours
  • Websites — up to 2
  • Email — public-facing
These fields are shown inside the user’s chat info pane. They are not reviewed by Meta but they do affect trust signals that influence your WhatsApp quality rating — keep them accurate, professional, and consistent with the brand the recipient expects.

Profile photo

Square, ≥ 640×640 px, no transparency. PNG or JPG. Your company logo, not a person’s face.

Step 6 — First template: draft, submit, wait, send

All business-initiated conversations require pre-approved templates (utility, marketing, authentication, service). See the Restricted Content Policy for what Meta will reject. The write path and the monitoring path are both in the dashboard:
  1. Draft + submit — Messages → Templates → New Template (route /messages/templates; the submission calls POST /api/v1/messages/templates). Pick a category — authentication / marketing / utility / service — the category drives pricing. Pick a language (separate submission per locale), write the body with named variables (Hi {{1}}, your order {{2}} shipped.), and optionally add a header, footer, or up to 3 buttons. Expected approval: 1–24 hours; most pass in minutes.
  2. Track the approval — the Templates list at /messages/templates shows each template’s status (pending / approved / rejected). The WhatsApp quality page (/settings/channels/whatsapp health tab) references this list alongside the phone-quality and messaging-tier tiles, so an approved-but-low-quality template is visible in the same place.
Rejection reasons we see weekly:
  • Category mismatch — a marketing template submitted as utility
  • Promotional content in an authentication template
  • Missing variables where context is needed (“hi, thanks!” — thanks for what?)
  • Language mismatch — body in Spanish but language=en selected
  • Formatting errors — unpaired *bold* markers, rogue \n
You can resubmit a rejected template after editing — Meta keeps the template name free for 30 days. Once at least one template is approved, send your first message:

Step 7 — Go-live gates

A connected WABA with an approved template still can’t send at volume until these gates pass:

Messaging limits

New WABAs start with a 250 unique-recipients-per-24h cap. Limit tiers: Quality must stay Medium or Green. Hitting Low freezes tier progression; staying “Low” for 7 days drops you a tier.

Failure matrix — the four most common stuck states

Worked example — end-to-end, URL by URL

A typical first WABA on this dashboard, start to first send:
  1. business.facebook.com → Settings → Security Center → Start Verification — upload the document checklist. (Do this first; it runs in the background while you set everything else up.)
  2. /numbers/buy in the Orbit dashboard — pick a country, buy the number you’ll use.
  3. /settings/channels/whatsapp — click Connect, which deep-links into the connect walk-through at /settings/channels/whatsapp/add-waba (owner/admin role required).
  4. In the popup: sign in to Facebook, pick your Business Manager, Create a new WABA, add the number from step 2.
  5. Enter the 6-digit code — if the SMS doesn’t land within a minute, cancel and resend as Phone call.
  6. Set the display name and upload the 640×640 profile photo in the wizard.
  7. Back on Orbit: /settings/channels/whatsapp now shows the connection; open the Profile section and fill About / Description / Category / Websites / Email.
  8. /messages/templates → New Template — draft welcome in the right category and language, submit via the Templates API.
  9. Wait for the Templates list to flip welcome to approved (usually minutes to hours).
  10. Check the go-live gates: /settings/channels/whatsapp → Health tab — messaging tier shows in tile form; confirm billing has a payment method attached in the Meta Business Manager.
  11. Send the first template message with POST /api/v1/messages/whatsapp (cURL above), or from the dashboard’s WhatsApp workspace at /messages/whatsapp.
Total elapsed: same-day for steps 2–10; step 1’s verification completes in 1–7 business days behind the scenes and lifts the 250/day cap when it lands.

Approval timelines summary

If any step exceeds the worst case by more than 48 hours, email whatsapp-support@devotel.io with your WABA ID and we’ll escalate with Meta.

Common first-week mistakes

  1. Starting marketing blast before Business Verification completes — you’ll hit the 250/day cap and think something is broken.
  2. Submitting display-name with a DBA not on your incorporation docs — denied.
  3. Shared inboxes on @gmail.com — Meta flags consumer email domains.
  4. Privacy policy hosted on a free Notion page or a “Coming Soon” template — denied at display-name review.
  5. Using a number that was a personal WhatsApp account yesterday — 30-day cooldown.

Troubleshooting

Switch the verification method from SMS to voice call in the embedded flow — outside the US, the voice fallback is the reliable path (the dashboard’s phone-verify screen recommends it directly). Some carriers strip 6-digit codes in transit. If your account has two-step verification, Meta also asks for your PIN — make sure it’s the one you set in the WhatsApp app, not the 6-digit OTP.
The number is on another WABA or still on the WhatsApp consumer app. Delete the consumer account from the WhatsApp mobile app’s Settings → Account → Delete My Account, wait 30 days, retry. Or migrate via the BSP Transfer flow.
Shift to “Trade Name” variant on Meta Business Manager → Settings → Business Info, and add documentation proving the trade name is yours. Then resubmit.
Usually Meta’s policy backlog. Open a ticket in Orbit with the template name + category; we escalate directly.
The WABA has no payment method attached on its Meta Business Manager — Meta bills each WABA per conversation directly. Attach a card in Business Manager → Billing settings, then retry. See WhatsApp billing troubleshooting.