#Autonomous voice calls
1 messages · Page 1 of 1 (latest)
Christopher, the supported path is the Voice Call plugin, not a normal chat channel.
High-level setup:
-
Check your version first:
openclaw --version -
Install the plugin on the machine running the Gateway:
openclaw plugins install @openclaw/voice-call
openclaw gateway restart
-
Pick a telephony provider: Twilio, Telnyx, or Plivo. For the most capable live-conversation setup, I’d start with Twilio Programmable Voice + Media Streams, because the docs explicitly cover streaming call audio through the plugin.
-
Your Gateway needs a public webhook URL for inbound calls. Use a stable domain/Tailscale Funnel/ngrok for testing, then configure:
plugins.entries.voice-call.config.provider
fromNumber- provider credentials
serve.pathpublicUrlor tunnel/funnel configinboundPolicy: "allowlist"allowFrom: [...]
- For “advanced voice agent” behavior, enable live media streaming and use a realtime voice/STT provider. OpenAI’s provider docs show support for Voice Call realtime voice and streaming speech-to-text; for the latest “best model” choice, ask in #models because the model landscape changes too fast to hard-code advice here.
Docs:
https://docs.openclaw.ai/plugins/voice-call
https://docs.openclaw.ai/providers/openai
https://docs.openclaw.ai/concepts/models#model-discussions-community-notes
Important safety note: don’t make it broadly autonomous on day one. Start with outbound test calls and inbound allowlisted numbers only, set a max call duration/stale reaper, verify webhook signatures, and check openclaw voicecall tail / openclaw voicecall latency while testing.
If you paste your openclaw --version plus whether you want Twilio/Telnyx/Plivo, I can help shape the exact JSON5 config.
I can’t seem to get twilio to accept incoming calls to the toll free number
First thing: what does openclaw --version show?
For inbound Twilio, I’d split this into Twilio-side vs OpenClaw-side:
Twilio-side checks
- In Twilio Console, open the toll-free number and confirm it has Voice capability enabled.
- Under Voice & Fax, set A call comes in to your OpenClaw Voice Call webhook URL, usually:
https://your-public-host/voice/webhook - Use HTTP POST unless you changed the plugin expectation.
- Make sure this is the Voice webhook, not the Messaging/SMS webhook.
- Check Twilio Debugger / call logs for the exact HTTP status. A 11200/HTTP retrieval error usually means Twilio cannot reach your Gateway URL.
OpenClaw-side checks
- Twilio inbound needs a publicly reachable URL. Localhost won’t work unless exposed via ngrok/Tailscale Funnel/etc.
- Your config needs inbound enabled; default is disabled:
{
plugins: {
entries: {
"voice-call": {
enabled: true,
config: {
provider: "twilio",
publicUrl: "https://your-public-host/voice/webhook",
inboundPolicy: "allowlist",
allowFrom: ["+15551234567"],
inboundGreeting: "Hello! How can I help?"
}
}
}
}