Clawdbot voice-call plugin
npm install @clawdbot/voice-callOfficial Voice Call plugin for Clawdbot.
Providers:
- Twilio (Programmable Voice + Media Streams)
- Telnyx (Call Control v2)
- Plivo (Voice API + XML transfer + GetInput speech)
- Mock (dev/no network)
Docs: https://docs.clawd.bot/plugins/voice-call
Plugin system: https://docs.clawd.bot/plugin
``bash`
clawdbot plugins install @clawdbot/voice-call
Restart the Gateway afterwards.
`bash`
mkdir -p ~/.clawdbot/extensions
cp -R extensions/voice-call ~/.clawdbot/extensions/voice-call
cd ~/.clawdbot/extensions/voice-call && pnpm install
Put under plugins.entries.voice-call.config:
`json5
{
provider: "twilio", // or "telnyx" | "plivo" | "mock"
fromNumber: "+15550001234",
toNumber: "+15550005678",
twilio: {
accountSid: "ACxxxxxxxx",
authToken: "your_token"
},
plivo: {
authId: "MAxxxxxxxxxxxxxxxxxxxx",
authToken: "your_token"
},
// Webhook server
serve: {
port: 3334,
path: "/voice/webhook"
},
// Public exposure (pick one):
// publicUrl: "https://example.ngrok.app/voice/webhook",
// tunnel: { provider: "ngrok" },
// tailscale: { mode: "funnel", path: "/voice/webhook" }
outbound: {
defaultMode: "notify" // or "conversation"
},
streaming: {
enabled: true,
streamPath: "/voice/stream"
}
}
`
Notes:
- Twilio/Telnyx/Plivo require a publicly reachable webhook URL.
- mock is a local dev provider (no network calls).
Voice Call uses the core messages.tts configuration (OpenAI or ElevenLabs) formessages.tts
streaming speech on calls. You can override it under the plugin config with the
same shape — overrides deep-merge with .
`json5`
{
tts: {
provider: "openai",
openai: {
voice: "alloy"
}
}
}
Notes:
- Edge TTS is ignored for voice calls (telephony audio needs PCM; Edge output is unreliable).
- Core TTS is used when Twilio media streaming is enabled; otherwise calls fall back to provider native voices.
`bash`
clawdbot voicecall call --to "+15555550123" --message "Hello from Clawdbot"
clawdbot voicecall continue --call-id
clawdbot voicecall speak --call-id
clawdbot voicecall end --call-id
clawdbot voicecall status --call-id
clawdbot voicecall tail
clawdbot voicecall expose --mode funnel
Tool name: voice_call
Actions:
- initiate_call (message, to?, mode?)continue_call
- (callId, message)speak_to_user
- (callId, message)end_call
- (callId)get_status
- (callId)
- voicecall.initiate (to?, message, mode?)voicecall.continue
- (callId, message)voicecall.speak
- (callId, message)voicecall.end
- (callId)voicecall.status
- (callId)
- Uses webhook signature verification for Twilio/Telnyx/Plivo.
- responseModel / responseSystemPrompt control AI auto-responses.ws` and OpenAI Realtime API key.
- Media streaming requires