VobizIntegrations / Deepgram Voice Agent integration
    Voice agent integration

    Deepgram's agent.Vobiz numbers.

    Deepgram's Voice Agent API runs speech, language and voice behind one WebSocket. Bridge it to a Vobiz stream and you have a phone-callable agent on numbers in 130+ countries, reaching 190 — with one vendor for the conversation, one for the line, and no turn-taking logic of your own.

    At a glance
    130+
    countries where you can provision numbers
    190
    countries reachable on outbound
    1
    API key runs speech, language and voice
    Before you start

    This one is code you run, not a provider you select. Vobiz publishes an open-source reference bridge in Python that joins a Vobiz media stream to Deepgram's Voice Agent API, and you deploy it somewhere Vobiz can reach over HTTPS and WSS — a tunnel is fine while you are building. Two values are required to configure it. Everything else ships with a working default.

    Why this pairing

    Two vendors, not five

    Most voice agents are an assembly job: a speech-to-text vendor, a language model, a text-to-speech vendor, and your own code deciding when the caller has finished talking. Every seam is a place where latency accumulates and turn-taking goes wrong. Deepgram collapses that into a single API — speech, language and voice behind one WebSocket, with turn-taking and interruption handling built in, on one API key and one bill.

    What is left is the phone leg. Vobiz provides the numbers and carries the audio, and publishes the bridge that joins the two, so you end up with a working phone agent, two vendors and source code you own.

    Deepgram owns
    • —Speech recognition and end-of-turn detection
    • —The language model, managed and billed by Deepgram
    • —Voice synthesis and expression
    • —Turn-taking, interruption and conversation state
    • —Region selection for the agent endpoint
    • —Per-turn latency reporting across the pipeline
    Vobiz owns
    • —Phone numbers and instant provisioning
    • —Placing and receiving the call itself
    • —The bidirectional audio stream to the bridge
    • —Playback control: flush, checkpoint, confirmation
    • —Call detail records and quality telemetry
    • —Local regulatory compliance, including India KYC
    What you get

    A phone agent with two vendors

    The bridge is a thin relay. Deepgram owns the conversation, Vobiz owns the call, and the code between them is yours.

    01

    One key for the whole conversation

    Speech-to-text, the language model and text-to-speech run behind a single Deepgram WebSocket. No separate speech vendor, no separate voice vendor, and no separate model provider key — Deepgram manages the model connection and bills it through your account.

    02

    The bridge is published, and it is yours

    An open-source Python reference implementation, maintained by Vobiz, with the whole protocol handled: format negotiation, frame slicing, barge-in, checkpoints and the Vobiz control messages. Two required values to configure. Fork it, deploy it, change what you need.

    03

    Numbers in 130+ countries

    Local, mobile and toll-free inventory across 130+ countries, with outbound reach to 190, including regulated formats where a market demands them — India's 140-series and 1600-series among them. Inbound and outbound both run through the same bridge.

    04

    Interruption that actually interrupts

    When a caller talks over the agent, Deepgram signals it and the bridge tells Vobiz to flush whatever is still buffered, then waits for confirmation before the next reply starts. Without both halves the agent either keeps talking over the caller or starts its next sentence mid-word.

    05

    Knowing the caller actually heard it

    Sending audio is not the same as playing it. After each turn the bridge asks Vobiz to confirm playback, which is what lets an agent say goodbye and hang up without clipping its own last word — and makes a reply the caller never heard show up in your logs rather than only in the call.

    06

    Opinionated defaults, one variable to change

    The bridge ships configured for a region, a voice and a recognition vocabulary, and a single setting moves all of it. A health endpoint echoes the region, models, voice and audio profile actually in use, so you can confirm what is running rather than what you meant to set.

    How it works

    Clone, run, call

    Two required values, a public endpoint, and a number pointed at it.

    SetupFour steps

    1. 01Clone the repository, create a virtual environment, install the requirements, and copy the example environment file. Fill in your Deepgram API key and the public hostname Vobiz will reach. Everything else has a working default.
    2. 02Start a tunnel if you are developing locally, then start the app. Call the health endpoint to see the resolved answer URL, stream URL, region, models, voice and audio profile before you point a call at it.
    3. 03For inbound, create a Voice Application in the Vobiz Console with your answer URL, then attach a number to it. For outbound, place a call through the Vobiz API with the same answer URL — the bridge does not care which direction the call came from.
    4. 04Dial the number, or answer the outbound call. The bridge prints the conversation as it runs, with a per-turn latency breakdown across recognition, model and synthesis so you can see which stage is costing you time.

    Three things that will cost you an afternoon. Malformed answer XML is not an HTTP error — Vobiz accepts the response, then drops the call about a second later, and the only trace is a hangup cause in the call record; a URL carrying two query parameters contains a bare ampersand, which is enough on its own to invalidate the document, so escape every interpolated value. Three stream attributes carry the whole integration: without the bidirectional flag playback is silently ignored, without keep-alive the document ends and the call hangs up immediately, and the audio track has to be inbound, which also stops the agent hearing itself. The content type on the stream element configures the inbound direction only, and it tops out at 16 kHz.

    The full protocol reference, the troubleshooting table and the deployment notes are in the Vobiz docs.

    Read the integration guide
    Questions

    Straight answers

    Is this a platform integration or code I run?

    Code you run. Unlike an integration where you select a provider in someone's dashboard, this is a reference bridge that Vobiz publishes as open source. You deploy it on an endpoint Vobiz can reach over HTTPS and WSS, and it relays audio between the call and Deepgram's Voice Agent API.

    Do I need separate speech, voice and language model accounts?

    No. Deepgram's Voice Agent API runs all three behind one WebSocket and manages the model provider connection itself, so a single Deepgram API key covers recognition, the language model and synthesis. There is no separate model provider key and no second bill.

    Which countries can my agents call from and to?

    You can provision numbers in 130+ countries and place outbound calls to 190. Where a market has its own number formats or registration rules, Vobiz issues under them rather than routing around them — India's 140-series and 1600-series numbers, for example, alongside local, mobile and toll-free inventory elsewhere. The bridge's region, voice and vocabulary defaults are set in one place and take one variable to move.

    Can the agent speak Hindi or another Indic language?

    It can understand them, but it replies in English. Deepgram recognises Hindi including mid-sentence code-switching, and a wider set of Indic languages through a second model, but every available voice on this path is an English model — the Indian character comes from an Indian-accented English voice rather than the language. Feeding a non-English script to one of those voices degrades the audio, so keep replies in English.

    Can callers interrupt the agent?

    Yes, and properly. Deepgram detects the caller speaking over the agent and signals it; the bridge then tells Vobiz to discard the audio it has already buffered and holds the next reply until that flush is confirmed. That second half is what stops the following sentence from starting mid-word.

    Can I test it without placing a call?

    Yes. The repository includes a mock client that speaks the media-stream protocol against your running bridge, answers playback checkpoints the way Vobiz would, and reports the audio formats, frame count and time to first audio. Read its printed output rather than its exit code — it confirms that audio came back, not that the format matched.

    Two values in a file, then dial

    Create a Vobiz account and get a number, clone the bridge, and add your Deepgram key. The health endpoint tells you when it is ready for a call.

    Deepgram builds speech-to-text, text-to-speech and voice agent APIs. Vobiz is not affiliated with Deepgram; this integration uses Deepgram's public Voice Agent API.