openclaw/extensions/voice-call/README.md

109 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# @clawdbot/voice-call
Official Voice Call plugin for **Clawdbot**.
- Provider: **Twilio** (real outbound calls)
- Dev fallback: `log` (no network)
Docs: `https://docs.clawd.bot/plugins/voice-call`
Plugin system: `https://docs.clawd.bot/plugin`
## Install (local dev)
### Option A: install via Clawdbot (recommended)
```bash
clawdbot plugins install @clawdbot/voice-call
```
Restart the Gateway afterwards.
### Option B: copy into your global extensions folder (dev)
```bash
mkdir -p ~/.clawdbot/extensions
cp -R extensions/voice-call ~/.clawdbot/extensions/voice-call
cd ~/.clawdbot/extensions/voice-call && pnpm install
```
### Option C: add via config (custom path)
```json5
{
plugins: {
load: { paths: ["/absolute/path/to/voice-call/index.ts"] },
entries: { "voice-call": { enabled: true, config: { provider: "log" } } }
}
}
```
Restart the Gateway after changes.
## Config
Put under `plugins.entries.voice-call.config`:
```json5
{
provider: "twilio",
twilio: {
accountSid: "ACxxxxxxxx",
authToken: "your_token",
from: "+15551234567",
statusCallbackUrl: "https://example.com/twilio-status", // optional
twimlUrl: "https://example.com/twiml" // optional, else auto-generates <Say>
}
}
```
Dev fallback (no network):
```json5
{ provider: "log" }
```
## Twilio credentials (quick notes)
Youll need a Twilio account, your **Account SID**, your **Auth Token**, and a Twilio **Voice-capable** phone number to use as `from`.
- Signup: `https://www.twilio.com/`
- Console: `https://console.twilio.com/`
Full setup guide: `https://docs.clawd.bot/plugins/voice-call`
## CLI
```bash
clawdbot voicecall start --to "+15555550123" --message "Hello from Clawdbot"
clawdbot voicecall status --sid CAxxxxxxxx
```
## Tool
Tool name: `voice_call`
Parameters:
- `mode`: `"call" | "status"` (default: `call`)
- `to`: target string (required for call)
- `sid`: call SID (required for status)
- `message`: optional intro text
## Gateway RPC
- `voicecall.start` (to, message?)
- `voicecall.status` (sid)
## Skill
The repo includes `skills/voice-call/SKILL.md` for agent guidance. Enable it by
setting:
```json5
{ plugins: { entries: { "voice-call": { enabled: true } } } }
```
## Notes
- Uses Twilio REST API via fetch (no SDK). Provide valid SID/token/from.
- Use `voicecall.*` for RPC names and `voice_call` for tool naming consistency.