
Your OpenClaw agent already runs your tests, manages your calendar, and answers your Telegram messages. What if it could also call you on the phone?
OpenClaw turned the AI assistant world upside down when it hit 60,000 GitHub stars in 72 hours. People loved the idea of a personal AI that lives on their machine, talks to them on WhatsApp, and writes its own new skills mid-conversation. The skills ecosystem exploded from there. Today ClawHub hosts over 5,000 community-built skills covering everything from Postgres backups to building entire apps.
But one thing was missing: phone calls.
This post shows you how to add voice calling to your OpenClaw agent using Vapi, in about five minutes, entirely through conversation with your agent.
By the end of this guide you'll be able to say to your OpenClaw agent (via Telegram, WhatsApp, or the CLI): "Call me on +[YOUR PHONE NUMBER] with an assistant that starts with 'Ahoy matey!' and only speaks in riddles."
And your phone will ring.
Vapi is a developer platform for building voice AI agents. It handles the telephony, real-time transcription, and text-to-speech so you just define the assistant's personality and behavior. The Vapi skills repo packages all of Vapi's core workflows as AgentSkills-compatible SKILL.md files.
Where Vapi earns its place is in what happens during a live call. The pipeline is tuned for low latency, so the assistant responds in under 500ms rather than the multi-second pauses you get from stitching together generic APIs. And because Vapi supports tool calling mid-conversation, your assistant can do real work while the caller is on the line: check a calendar, look up an order, post to Slack, or transfer to a different agent entirely. A voice call stops being a one-way message and becomes an actual workflow.
OpenClaw loads skills from AgentSkills-compatible directories. The Vapi skills drop straight in. No adapter, no wrapper.
Option 1: One command (recommended)
OpenClaw supports the npx skills CLI, which detects your agent and installs to the right place:
npx skills add VapiAI/skills
That installs all eight Vapi skills to your OpenClaw workspace. Or install specific ones:
npx skills add VapiAI/skills --skill create-assistant --skill create-call --skill create-phone-number
Option 2: Ask your agent
Even simpler. Just tell your OpenClaw agent:"Install Vapi skills from github.com/VapiAI/skills"
Your agent will run the installation, drop the skills into ~/.openclaw/skills/, and confirm when they're loaded. No terminal required. Send this from Telegram.Option 3: Manual clone
git clone https://github.com/VapiAI/skills ~/.openclaw/skills/vapi-skills
OpenClaw watches skill folders and picks them up immediately, no restart needed.
Step 1: Get a Vapi API Key
Head to dashboard.vapi.ai/org/api-keys, create a key, and paste it into your OpenClaw config:
// ~/.openclaw/openclaw.json
{
"skills": {
"entries": {
"setup-api-key": {
"enabled": true,
"env": {
"VAPI_API_KEY": "your-key-here"
}
}
}
}
}
Or just ask your agent:"Set up my Vapi API key"
The setup-api-key skill will walk you through it. It validates the key against the Vapi API and stores it for you.
Step 2: Get a Phone Number
You need a Vapi phone number to make outbound calls. Vapi provides free numbers for testing:"Get me a Vapi phone number for making test calls"
Your agent will call the Vapi API, provision a number, and give you its ID. Or via the API directly:
curl -X POST https://api.vapi.ai/phone-number \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"provider": "vapi", "name": "My OpenClaw Line"}'
Step 3: Make the Ahoy Matey Call
This is the fun part. Ask your OpenClaw agent:"Call me on +[YOUR PHONE NUMBER] with an assistant that starts the conversation with 'Ahoy matey!' and only speaks to me in riddles."
Your agent, armed with the create-call and create-assistant skills, will:
Here's the JSON it assembles under the hood:
{
"assistant": {
"name": "Riddle Pirate",
"firstMessage": "Ahoy matey! I've got a riddle for ye. What has hands but can't clap?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a pirate who communicates exclusively through riddles. Never break character. Never give a straight answer -- only riddles."
}
]
},
"voice": {
"provider": "vapi",
"voiceId": "Elliot"
},
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en"
}
},
"firstMessage" : "Ahoy, matey!"
"phoneNumberId": "your-phone-number-id",
"customer": {
"number": "+[YOUR PHONE NUMBER]"
}
}
Your phone rings. You pick up. A pirate asks you riddles. This is the future of software development.
Here's everything the Vapi skills unlock for your OpenClaw agent:
| Skill | What your agent can now do |
|---|---|
setup-api-key | Validate and store your Vapi API key |
create-assistant | Build voice AI assistants with custom personalities, models, and voices |
create-call | Make outbound phone calls, web calls, and batch call campaigns |
create-phone-number | Provision numbers from Vapi, Twilio, Vonage, or Telnyx |
create-tool | Give assistants tools: calendar booking, Slack alerts, API lookups |
create-squad | Build multi-assistant workflows with intelligent handoffs |
setup-webhook | Configure real-time call event webhooks |
create-workflow | Design branching conversation flows |
What you can ask
With these skills loaded, your agent handles natural requests like:
The async dev loop
You're deep in a coding session. You want to be interrupted only for something important, not by a notification, but by an actual phone call with context.
Set up a webhook that fires when your CI pipeline fails. Your OpenClaw agent receives the event, creates a brief call summary assistant, and calls your phone with: *"Your main branch build failed. The error is in the auth module, line 247. Want me to pull up the diff?"*The batch outreach campaign
You have 50 leads to follow up with.
Instead of writing a script and spinning up a call center:"Call everyone in outreach.csv. Have the assistant introduce yourself as 'Alex from Acme', ask if they had a chance to look at the proposal we sent, and if yes, transfer them to my Calendly link via SMS."
Batch calls, transient assistant configuration, metadata per customer, all in one API call.
The personal check-in bot
Build an assistant that calls you every morning with a summary of your calendar, unread GitHub notifications, and the weather. Configure it on a heartbeat schedule in OpenClaw. Your day starts with a phone call from your own AI.
When you install the Vapi skills, you also get the Vapi documentation MCP server pre-configured. Your OpenClaw agent doesn't just know the documented workflows. It has RAG access to the full Vapi knowledge base for anything outside the skill files.
Ask your agent anything about Vapi and it'll look it up in real time:
The MCP server auto-configures when you clone or install the skills repo. No additional setup needed.
Built something interesting with Vapi + OpenClaw? The skills are MIT licensed. Fork them, extend them, share them back.