Quick answer: An OpenPhone-to-Orbit move follows the same per-family arc the Plivo runbook, the Avaya PBX runbook, and the Sinch runbook lay out: inventory the export first, then move numbers, flows, templates, and contacts in that order — each family's gate closes before the next family lands. On Devotel Orbit the mapping is short: OpenPhone's toll-free and local DIDs port onto programmable-voice, its call-flow logic re-authors on the visual journey builder (a drag-and-drop canvas for multi-step, multi-channel sequences), its recurring message snippets re-author on the reusable content templates surface (channel-scoped variants under one logical template), and its contact list carries over through the CSV import wizard the Klaviyo importer post describes. The /compare hub carries the head-to-head evaluation; this post is the execution.
Who should read this
This runbook is for small-business phone-system buyers who chose OpenPhone — rightly — as a modern VoIP replacement for a desk-of-one to a desk-of-many, and who now need one of three things a dedicated phone app does not carry. Each trigger is a buyer experience, not a denigration of the incumbent — OpenPhone serves its segment well, and the honest-fit section at the end says where it is still the right call.
One channel out grew it. OpenPhone covers US and Canadian calling and texting tightly, but the day a team needs a WhatsApp line, an SMS campaign, a WhatsApp Business number, or an AI receptionist, each becomes a second vendor login beside the same caller wallet. On Orbit those surfaces sit on one account as sms-api, whatsapp-business-api, programmable-voice, and a contact-center surface a step beyond — the phone system the move makes.
Message routing got heavier than a combined inbox handles. An inbound triage queue — inbound first, assign round-robin, escalate to a human, hand off after hours to an AI agent — starts as an external routing contract, then hardens into a dedicated routing tool. On Orbit the visual journey builder replaces the external routing file with a canvas each shift supervisor can read.
Reusable copy got stale across a team. Auto-replies, business-hours greetings, and post-sales snippets kept as per-line snippets drift: sales uses one set, support uses another. On Orbit the content templates surface — the channel-agnostic layer above per-channel templates the templates API reference documents — keeps one tenant-owned library of reusable, channel-scoped variants each sender picks from: the copy stops drifting.
If none of those is the trigger, the comparison that matters is /compare and this runbook is optional — the honest-fit section below names the buying shape OpenPhone still wins.
The migration walk, in order
Prerequisites — export before anything moves
OpenPhone lets a workspace export its contact list and its call/message history. Export both before the first port request, and sweep one more view: the phone numbers the workspace currently owns and which line is customer-facing versus administrative — that distinction sets the port-wave order below. Save the export file untouched; the import wizard reads it verbatim and a ported history is a messy history if a partial edit precedes it.
Step 1 — port the numbers to Orbit
Numbers are the regulated gate, and they move first so flows, templates, and contacts land on lines that already ring. The phone number porting guide carries the full mechanics — a bulk portability check, the readiness gate, in-platform LOA signing, FOC dates, and porting webhooks — and the docs' number porting reference carries the per-number operational path. File the port in two waves: an after-hours or shared line first, the customer-facing line second — the second wave validates against the first before real callers route. Note the inbound shape of the ports: wholesale carriers deliver inbound, outbound terminates on Devotel's own network and the routing rules stay tenant-local.
Step 2 — rebuild call flows on the visual journey builder
OpenPhone routes are presets in an app; Orbit routes are a canvas you own. Take the exported routing notes (after-hours greeting, caller menu, transfer target, voicemail fallback) and walk them onto the visual journey builder: trigger → greeting → condition branch on tag/caller-region → transfer or voicemail. The canvas carries ten node types — trigger, send message, wait/delay, condition, A/B split, AI agent, update contact, webhook, human handoff, and end — so the flow reads as a routing chart the supervisor can hand the next shift. The docs' campaign journey builder guide carries node-by-node semantics; run the rebuilt flow against a ported test number before the customer-facing line comes back online.
Step 3 — re-author message snippets as reusable content templates
Auto-replies and recurring snippets in OpenPhone are per-line copies of roughly the same text; on Orbit they re-author once in the content-templates library, group channel-specific variants under one logical template, and each line picks one variant scoped per channel. The template carries the version, the variant (SMS body vs WhatsApp rich variant vs a subject-bearing email variant), and the fallback chain — the SMS-capable recipient gets text, a WhatsApp-capable recipient gets the richer variant, and the sender never juggles per-line snippet copies again. The templates API reference documents the layer; the rendered-preview endpoint (read-only, no provider call) shows what a given channel recipient will actually receive before any send touches a recipient.
Step 4 — port the contacts via the import wizard
With numbers live, flows in place, and templates ready, the contact list comes over through the CSV import path — the same groomed CSV the exported OpenPhone file becomes after one column-of-choice mapping pass. The Klaviyo import wizard post describes the wizard shape that applies here too: connect, pick the entity kind (contacts), set a conflict policy per row (skip, overwrite, or merge on a duplicate), review a dry-run with counts, then run the job with live progress. The import contacts guide walks the CSV path end to end — column mapping, dry-run, live progress — and a rollback on a rolled-back job keeps a failed run recoverable rather than stuck. Carry the contact list last on purpose: it lands on numbers that already route, flows that already validate, and templates that already render.
When OpenPhone is the right fit
Being honest about the incumbent's lane is how the compare registry earns trust — and OpenPhone's lane is real. If a buyer's team runs voice + SMS exclusively, reaches only US/Canada numbers, has no interest in a canvas of routing logic because the routing file is already static, no interest in adding a WhatsApp/email/RCS channel, and the compliance stack per-line snippets suffice, OpenPhone still earns the seat. The seat counts; the channel count is small; and its app ergonomics — one dial pad, one shared inbox — win against onboarding another platform. This runbook is for the buyer whose real needs grew past that lane. If the map above is the team's map, OpenPhone remains the right tool: keeping the wrong tool is the wrong move and we name it without apology.
The compare registry
Every head-to-head the comparisons hub runs is catalogued at /compare: Orbit against Twilio, Plivo, Sinch, Vonage, Avaya, Genesys, Talkdesk, Five9, NICE CXone, and more, plus best-of-segment round-ups like best Plivo alternatives for small business. OpenPhone does not yet have a dedicated head-to-head in that registry — the buyer's evaluation for now runs against the compare hub category pages and this runbook's mapping, and the registry is the one surface the company expands monotonically as the lens finds gaps like this one.
The takeaway
Move off OpenPhone on the per-family arc, not a platform leap: numbers port in two waves, flows rebuild on the journey canvas, templates consolidate into a tenant-owned library, and contacts come in last so they land on live infrastructure. The compare registry maps the head-to-head evaluation; this runbook is the ordered execution of that decision. For the buyer where OpenPhone's lane — voice and SMS alone for US/Canada callers — remains the whole lane, the honest answer stands: keep OpenPhone.
Published 14 September 2026.