From vapi-voice-ai
Set up and manage phone numbers in Vapi for inbound/outbound voice AI calls. Import from Twilio, Vonage, Telnyx, buy Vapi numbers, assign assistants, and configure call hooks.
How this skill is triggered — by the user, by Claude, or both
Slash command
/vapi-voice-ai:create-phone-numberThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Import phone numbers from Twilio, Vonage, or Telnyx, or use Vapi's built-in numbers to connect voice assistants to real phone calls.
Import phone numbers from Twilio, Vonage, or Telnyx, or use Vapi's built-in numbers to connect voice assistants to real phone calls.
Setup: Ensure
VAPI_API_KEYis set. See thesetup-api-keyskill if needed.
Vapi provides free phone numbers for testing with daily call limits.
curl -X POST https://api.vapi.ai/phone-number \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "vapi",
"assistantId": "your-assistant-id",
"name": "Main Support Line"
}'
curl -X POST https://api.vapi.ai/phone-number \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "twilio",
"number": "+11234567890",
"twilioAccountSid": "your-twilio-account-sid",
"twilioAuthToken": "your-twilio-auth-token",
"assistantId": "your-assistant-id",
"name": "Twilio Support Line"
}'
curl -X POST https://api.vapi.ai/phone-number \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "vonage",
"number": "+11234567890",
"credentialId": "your-vonage-credential-id",
"assistantId": "your-assistant-id",
"name": "Vonage Support Line"
}'
curl -X POST https://api.vapi.ai/phone-number \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"provider": "telnyx",
"number": "+11234567890",
"credentialId": "your-telnyx-credential-id",
"assistantId": "your-assistant-id",
"name": "Telnyx Support Line"
}'
Every phone number can be linked to an assistant or squad for inbound calls:
curl -X PATCH https://api.vapi.ai/phone-number/{id} \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"assistantId": "your-assistant-id"
}'
Or assign a squad:
curl -X PATCH https://api.vapi.ai/phone-number/{id} \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"squadId": "your-squad-id"
}'
Configure automated actions when calls come in:
{
"hooks": [
{
"on": "call.ringing",
"do": [
{
"type": "say",
"exact": "Please hold while we connect you."
}
]
}
]
}
# List all phone numbers
curl https://api.vapi.ai/phone-number \
-H "Authorization: Bearer $VAPI_API_KEY"
# Get a phone number
curl https://api.vapi.ai/phone-number/{id} \
-H "Authorization: Bearer $VAPI_API_KEY"
# Update a phone number
curl -X PATCH https://api.vapi.ai/phone-number/{id} \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Updated Name"}'
# Delete a phone number
curl -X DELETE https://api.vapi.ai/phone-number/{id} \
-H "Authorization: Bearer $VAPI_API_KEY"
firstMessagePOST /call with phoneNumberId and customer.numberVapi provides a documentation MCP server that gives compatible AI agents access to the Vapi knowledge base. Use its documentation search for advanced configuration, troubleshooting, SDK details, and anything beyond this skill.
Manual setup: If your agent doesn't auto-detect the config, run:
claude mcp add vapi-docs -- npx -y mcp-remote https://docs.vapi.ai/_mcp/server
See the Vapi MCP integration guide for setup instructions across supported agents.
npx claudepluginhub vapiai/skills --plugin vapi-voice-aiCreate outbound phone calls, web calls, and batch calls using the Vapi API. Useful for automated calls, testing voice assistants, scheduling call campaigns.
Uses the AgentPhone API to build AI voice agents that can make/receive calls and send/receive SMS. Use for buying phone numbers, creating voice agents, configuring webhooks, and managing telephony usage.
Makes outbound phone calls via Twilio's Programmable Voice REST API. Covers calls.create(), AMD, conference bridging, call recording, status tracking, and SIP Trunking.