Skip to main content
Back to blog

Migrate a PSTN Voice Flow to WhatsApp Business Calling: The Orbit Runbook

A phased migration runbook for moving a business voice flow onto WhatsApp Business Calling on Devotel Orbit — pre-migration eligibility gates, per-tenant setup, a test plan, the cost model, and a channel-sequence rollout — without losing your PSTN reach.

Orbit Editorial Team

Quick answer: Meta's WhatsApp Business Calling API — generally available since July 2025, and covered in our GA explainer — lets a business carry voice on the same WhatsApp number it already messages on. On Devotel Orbit, WhatsApp calls land on the same operator softphone, in the same queues, and on the same pay-as-you-go wallet as every other call, so migrating a voice flow is a phased routing project rather than a new telephony system to stand up. The runbook below walks it in five stages: check the eligibility gates before you touch anything, set the per-tenant configuration, run a bounded test plan, build the cost model on your own call volumes, then roll out channel by channel with PSTN kept as the universal fallback the whole way.

This is the buyer-side companion to the GA analysis: that post covered what Meta shipped and why it changes shortlists; this one is the how-to for actually moving a voice flow — the flow you already answer in a call center, an IVR, or an answering service — onto WhatsApp calling once your shortlist decision is made.

Pre-migration gates: check eligibility before you plan

WhatsApp calling is gated by Meta, not by Orbit — the gates live on the business's own Meta account, and checking them first is what keeps the migration plan honest. Work through them in order:

  1. WhatsApp Business Platform registration quality. Calling runs on the Cloud API, so the number must be registered on the WhatsApp Business Platform — not the consumer-style WhatsApp Business app. If the customer-facing number still sits on the app, that is a migration in its own right (see gate 3). Account quality matters after that: Meta gates business-initiated calling on the account's messaging tier, the same quality guardrails that govern template messaging, so a number with a low quality rating earns limits before you start.
  2. Meta Business verification. The Meta Business Account behind the number needs business verification — the same verification template messaging already requires at scale. Run the verification before the migration clock starts; it is a document-review process, not a configuration toggle.
  3. Phone-number migration vs a fresh number. A customer-facing PSTN number does not port into WhatsApp — WhatsApp calling addresses customers by their WhatsApp identity, not by a telephone number you can move. Decide instead which WhatsApp number carries the voice flow: migrating your existing WhatsApp number (already registered on the Cloud API, with a messaging history customers know) keeps the relationship intact; a fresh number starts clean but has no thread history and no trust. For most businesses the existing WhatsApp number is the right carrier for the migrated voice flow, because the calls that belong on WhatsApp are the ones that grow out of WhatsApp conversations.
  4. Calling permissions per region. User-initiated calling is available wherever the Cloud API operates; business-initiated calling excludes a short list of country codes documented in Meta's developer docs and stays per-permission — the customer grants calling access inside an existing chat, with per-user-per-day limits on production accounts. Map your customer base against the excluded-country list and the permission flow before you promise WhatsApp voice to any region; the markets where calling cannot start outbound from the business are markets where the flow stays inbound-first.

When those four gates pass, the migration becomes a tenant-side configuration exercise — small, because the voice infrastructure (queues, softphone, recording policy, billing) already exists on the account. When a gate fails, it fails cheaply: the PSTN flow keeps running untouched while you fix the Meta side.

Per-tenant setup on Orbit

On Orbit the enablement is a per-number, tenant-owned decision — three surfaces do the work:

  • Settings → Channels, WhatsApp calling toggle. Calling is enabled per WhatsApp number from the channels settings, and the toggle carries the eligibility state Meta enforces — Cloud-API registration, account tier, and per-number permission — so the gates from the previous section are visible in place, not behind a support ticket. A number that has not cleared Meta's registration shows its state here rather than failing a call later.
  • The WhatsApp calls tab. Messages → WhatsApp exposes the calls alongside the threads, so the conversation and the call record sit in one timeline — the transcript, the granted permission, and the voice leg in one place for the operator who picks up.
  • Operator softphone assignment. Inbound WhatsApp calls arrive in the same queues and routing rules as telephony calls, and agents answer them on the same operator softphone they already use for PSTN — one interface, one call log, one recording policy across both. There is no second console to assign; the migration exercise is deciding which queues receive WhatsApp-originated calls, not provisioning a new answering surface.

The setup sequence that works: enable the toggle on one WhatsApp number, point its inbound calls at a queue a small group of agents already monitors, and leave the rest of the routing untouched until the test plan below has run.

Test plan: prove the path before customers do

Run the test plan on a test WhatsApp Business account first, then on the production number behind a narrow rollout. Four checks, in order:

  1. User-initiated inbound. From a WhatsApp account with a live thread on the test number, tap the call icon and place the call. Expect: the call rings the queue you assigned, the agent answers on the softphone, and the call record appears on the thread. Then reverse it — business-initiated: request calling permission inside an existing conversation, wait for the grant, and place the outbound call on the same thread. Both directions must land in the same call log as a PSTN call would.
  2. Recording-consent posture. Decide the business's recording and consent policy for WhatsApp voice before the first real call, and run your test calls under it. The recordings, retention, and consent logic are tenant-owned controls — the same governance you already carry on PSTN, now applied to a second voice surface. If your policy is "all calls recorded," WhatsApp voice inherits it; if your policy differentiates by region, the queue's recording rule must reflect that before traffic shifts.
  3. PSTN fallback. This is the check that keeps the migration safe: where a carrier, a region, or Meta's permission model blocks a WhatsApp call, the customer must still reach a person. Degraded to the public PSTN number — never a dead end. Test the failure arms deliberately: a business-initiated call without granted permission, a call placed toward an excluded region, a network that blocks the media path. Each failure arm should end with the agent offering the PSTN number or the PSTN number already on the customer's thread header, not with silence.
  4. Volume and handoff. Put the migrated queue under real but bounded traffic — one queue, one campaign, one region — and watch the same metrics you grade any queue on: answer rate, handle time, and the share of calls that escalate out of messaging into voice. The WhatsApp-specific signal to add: permission-grant rate on business-initiated paths — if customers decline the calling permission, the flow is over-eager and the PSTN fallback is doing the work.

The cost model: same wallet, per-minute call usage

There is no separate billing line to budget for: WhatsApp calls draw on the same pay-as-you-go wallet as every other call on the account, billed as per-minute usage at the published rates on the pricing page, with the qualifiers that govern each region spelled out in the WhatsApp calling FAQ linked there. Two practical consequences for the business case:

  • Model it as a channel shift, not a new expense. The minutes that move from PSTN to WhatsApp are minutes your agents were already answering — the incremental spend is the difference between the PSTN leg and the WhatsApp leg on a per-minute basis, not a second phone system.
  • Keep the PSTN line item. WhatsApp calling does not retire the public number — PSTN still carries universal first-contact reach, so the cost model keeps both legs live and the comparison matrices in best WhatsApp API providers for 2026 stay honest: Meta's conversation fee on the messaging side plus per-minute voice usage, on one bill either way.

Build the business case on your own numbers: pull last quarter's call volumes for the flow you intend to migrate, price the WhatsApp leg at the published per-minute rate against the same minutes, and grade the decision on handle-time and containment — not on the channel rate alone.

Rollout: one customer journey, four channels in order

The rollout sequence that keeps the flow coherent treats WhatsApp voice as the last mile of a journey the customer is already on — email → SMS → WhatsApp text → WhatsApp voice — not as a parallel telephone system:

  1. Email carries the long-form and attachment-heavy exchanges; it is asynchronous and does not migrate.
  2. SMS carries the short, time-sensitive nudges and the universal-reach notifications — unchanged, because SMS still reaches every handset on earth.
  3. WhatsApp text carries the conversational thread — the channel where the relationship deepens, the templates and the 24-hour window apply, and the customer learns that this number answers them in real time.
  4. WhatsApp voice carries the moment the thread needs to become a conversation: the user-initiated tap from the app, or the business-initiated call after the customer granted permission in the chat. This is the step the migration adds — and it only works because steps 1–3 already put the relationship on the number.

Roll the voice step out behind the text step: enable WhatsApp calling once the text thread on that number is already healthy, route the inbound side first, and add business-initiated outbound last — it is the most gated direction and the one that depends on the relationship the earlier steps built. Throughout, the PSTN number stays published and answered; the migration is complete when the WhatsApp voice leg carries the calls that grow out of WhatsApp conversations, not when the PSTN number goes quiet.

Frequently asked questions

Is WhatsApp Business Calling a replacement for my phone system?

No — the PSTN number stays. WhatsApp calling carries the voice continuation of conversations that already live in WhatsApp; PSTN carries universal first-contact reach. The two run side by side on one account rather than one replacing the other, which is why the runbook keeps the PSTN fallback live through every phase.

Which Meta gates decide whether I can migrate?

Four, in order: the number registered on the WhatsApp Business Platform (Cloud API), the Meta Business Account carrying business verification, the choice between migrating the existing WhatsApp number or starting a fresh one, and calling permission per region — user-initiated works wherever the Cloud API operates, business-initiated excludes a short list of country codes Meta documents.

Does WhatsApp calling cost extra on Orbit?

No separate fee: calls draw on the same pay-as-you-go wallet as every other call, billed as per-minute usage at the rates on the pricing page. The business case prices the WhatsApp leg against the PSTN minutes it replaces, not against a new line item.

How do I test before customers use it?

On a test WhatsApp Business account, then behind a narrow rollout on the production number: inbound user-initiated calls, business-initiated calls after a permission grant, recording and consent under your own policy, and deliberate failure arms — no permission, excluded region, blocked media path — each of which must degrade to the PSTN number, never to a dead end.

What order should the channels roll out in?

Email, then SMS, then WhatsApp text, then WhatsApp voice. Voice is the last mile of a journey the earlier channels already built: enable calling on a number whose text thread is already healthy, route inbound first, add business-initiated outbound last.

Where to go next

Published 2 September 2026.

Migrate a PSTN Voice Flow to WhatsApp Business Calling: The Orbit Runbook — Orbit by Devotel