Voice Quickstart
This guide takes you from zero to a working AI voice call in five minutes. By the end you’ll have:- A phone number that receives inbound calls
- An agent configured with a system prompt
- An inbound call from any phone reaching your agent
- An outbound call dispatched from the API
Step 1: Provision a number (60 seconds)
The fastest way to start is a trial number — free for 7 days, shared from our pool, no credit card.- Open your dashboard at orbit.devotel.io.
- From the home page, click Claim a trial number in the onboarding card. (Already past onboarding? Open Numbers → Buy and pick Use a trial number at the top of the list.)
- The dashboard assigns one number from the pool and lists it
under Numbers. Note the E.164 form — e.g.
+14155551234.
Step 2: Configure an agent (90 seconds)
- Open Agents → New agent.
-
Pick a name, leave the type as
voice(orchatbot— voice works with any agent type as long as a system prompt is set). -
Paste a starter system prompt:
-
Save. Your agent now has a stable ID like
agt_abc123. - Click Test by voice (the second pill next to “Test by chat” in Agent Studio). Grant mic permission, talk to the agent in the browser, and confirm the system prompt is doing what you expect before you wire it to a real number. The browser-mic test reuses the same Orbit Media + Deepgram + Cartesia pipeline that the PSTN path uses, so anything that works here will work on a real call.
Step 3: Route inbound calls to the agent (45 seconds)
- Open Numbers, click your trial (or purchased) number.
- Under Inbound routing, pick AI agent.
- Select the agent you just saved.
- Save.
Step 4: Receive your first call
Pick up any phone and dial your provisioned number. Orbit:- Answers the call
- Streams audio through Deepgram for live STT
- Routes the user-message transcript to the agent
- Streams the agent’s reply through Cartesia TTS back to the caller — with barge-in detection so the caller can interrupt long replies naturally
Step 5: Dispatch an outbound call from the API
from must be a number you own or have claimed as a trial. Replace
agent_id with the value from Step 2.
Node SDK
agent_id field on create(). When set, the call is dispatched to the named, tenant-scoped voice agent — the server validates it exists and is not archived.
The Node and Web SDKs are GA today. For Python / Go / Java / Ruby / PHP / .NET, call the REST endpoint above with your HTTP client of choice until the official SDKs ship.
Step 6: Subscribe to call events (optional)
Orbit surfaces call activity two ways: webhooks for server-to-server call-lifecycle delivery, and a per-call transcript SSE stream for live, in-browser transcript tailing.Call-lifecycle events (webhooks)
call.* lifecycle events — call.initiated, call.ringing,
call.answered, call.completed — are published to your
registered webhook endpoints, not to an aggregate SSE feed. Point
a webhook at your server and subscribe to the call events you care
about. See Webhook Events for the full event
catalog and Webhooks for endpoint setup and
HMAC verification.
Live transcript (per-call SSE)
For an in-browser dashboard you can tail a single call’s live transcript over SSE. First mint a short-lived, call-bound ticket (so a long-lived API key never lands on the SSE URL), then open the stream with that ticket:Language coverage
The voice agent pipeline (Deepgram Nova-3 STT → Claude reasoning → Cartesia Sonic Turbo TTS) is generally available in English, French, Spanish, and German. Setlanguage on the agent config
to en-US, fr-FR, es-ES, or de-DE and expect production-grade
prosody, barge-in, and turn detection.
The default TTS model is Sonic Turbo (DEVOTEL_CARTESIA_TTS_MODEL=sonic-turbo),
tuned for the lowest synthesis latency. Sonic 3.5 is only used when an
operator overrides the model via that env var.
Turkish (tr-TR) and Arabic (ar-SA) are in beta —
recognition works, but prosody / disfluency edge cases are still
being tuned, so long-form replies may sound slightly off and heavy
code-switching can lower transcript confidence. They work today;
please flag specific phrases that sound wrong so we can feed them
back into the tuning set.
Other locales are on the roadmap. The upstream providers cover ~30
languages between them, but we only GA a locale after validating
phone-PSTN audio quality against the <500 ms round-trip
budget. Contact us for early access to a
locale that isn’t listed above.
Common next steps
- Add knowledge: attach a knowledge base to your agent so it can answer FAQ-style questions grounded in your docs. See AI Agents → Creating Agents.
- Handoffs: route specific intents (billing, returns, sales) to different agents or to a human queue. See Handoff Targets.
- Cost controls: set a daily spend cap so a misbehaving prompt can’t blow through your wallet. See Cost Controls.
- Production numbers: buy a dedicated DID from Numbers → Buy when you’re ready to leave the trial pool. Numbers in regulated countries (US, DE, FR, …) may require a compliance bundle — the dashboard surfaces the required steps inline.
Cross-references
- Text-message quickstart: Quickstart
- Voice channel reference: Channels → Voice
- Voice API reference: API → Voice & Numbers