GuidesChannels

OpenClaw voice calls: giving your agent a phone number

The @openclaw/voice-call plugin places and answers real phone calls via Twilio, Telnyx, or Plivo. Setup, the realtime-vs-streaming choice, how it differs from voice notes in chat, and the install form that matches a pinned OpenClaw.

August 10, 2026Updated September 4, 2026The Everpod team
The short answer

Three different things get called “OpenClaw voice,” and they’re set up separately. Voice notes in chat channels come from the media stack: send a Telegram or WhatsApp audio message, and the agent transcribes and answers. Real phone calls come from the @openclaw/voice-call plugin, which places and answers calls through a Twilio, Telnyx, or Plivo number. And since 2026.7.1 a configured WhatsApp agent can ring you to speak an urgent message. This guide sorts out which one you want and what each takes.

Voice notes in chat: the one most people mean

If the goal is “talk to my agent instead of typing,” you don’t need a phone number at all. Inbound audio on chat channels runs through tools.media: add a model with the audio capability (OpenAI, Groq, Deepgram, and half a dozen other speech providers are supported, or a local whisper CLI), flip tools.media.audio.enabled, and voice notes become text the agent reads (size cap: 20MB). Sensible details are handled: Telegram frames transcripts as machine-generated untrusted text, WhatsApp transcribes authorized group voice notes before mention-gating. Outbound, the agent can reply in kind, with native voice messages on Telegram, WhatsApp, Matrix, and Feishu via the TTS stack (WhatsApp’s render as push-to-talk notes, capped at 60 seconds).

Phone calls: the voice-call plugin

The @openclaw/voice-call plugin gives your agent an actual phone presence: “place outbound and accept inbound voice calls via Twilio, Telnyx, or Plivo, with optional realtime voice and streaming transcription.” You bring a provider account and an E.164 number; install is openclaw plugins install @openclaw/voice-call plus a gateway restart, and config lives under plugins.entries."voice-call".config: provider, from-number, credentials, and a webhook server (port 3334, /voice/webhook by default) that must be publicly reachable, via a real URL, a tunnel, or the built-in openclaw voicecall expose Tailscale toggle.

One thing to know if your install is not on the latest OpenClaw release: use the install command exactly as printed above. It picks the newest build of the plugin that matches the OpenClaw you are running. If you see a message about a required OpenClaw version instead, the command was a different form that insists on the plugin’s latest build, which can ask for a newer OpenClaw than you are running.

Two pipeline modes, mutually exclusive: streaming (turn-based: the provider streams caller audio to a transcription service, and the agent replies through TTS; Twilio only for the streaming leg) and realtime (full-duplex conversation via Google Gemini Live or OpenAI voice models; Twilio and Telnyx). Inbound is off by default, with policy options disabled, allowlist, pairing, or open, and sane defaults bound the blast radius: one concurrent outbound call, five minutes max per call unless you raise them. The agent gets a voice_call tool (initiate, continue, speak, DTMF, end), and you get a CLI with a smoke test and a latency report. Costs are the provider’s, not OpenClaw’s: expect a few dollars a month for the number plus per-minute call and speech-API rates, priced on Twilio’s (or your provider’s) sheet, not in OpenClaw’s docs.

WhatsApp calling: the third thing

Newer and narrower: with channels.whatsapp.actions.calls, the MeowCaller component, and telephony TTS configured, a WhatsApp-connected agent “can now call the requester and speak a short task-completion or urgent message” (added in 2026.7.1). It’s outbound notification-by-voice inside WhatsApp, with no phone number rental, not a general phone line.

Choosing between them

Voice notes cover the daily “hands are full, talking is easier” case, cost nothing beyond transcription tokens, and take minutes to set up on a channel you already run. The phone plugin earns its setup when the other party is a phone: the agent making a reservation call, an alert line that rings you, a number relatives can actually dial. It’s also the piece with the most operational surface (a public webhook, a telephony account, per-minute billing), so treat it as the advanced tier, and start with provider: "mock" and the smoke test before pointing a real number at your agent.

Your own cloud agent, set up for you.

Everpod runs OpenClaw on a private, always-on computer of its own: set up, secured and backed up, with model usage included. You name your agent, and say hello about fifteen minutes later.

Create your agent

First month half price, then $29/mo · model usage included · cancel anytime

Wondering what you’d do with one? See what a cloud agent can do