create-phone-number
The skill provisions, imports, routes, updates, and verifies phone numbers through the Vapi API.
Identity proven by GitHub's verified organisation badge (VapiAI)
- Agents
- Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode, claude.ai and API
- License
- MIT (permissive)
- Pin
- ecd56bdpinned Oct 9, 2026
- Context cost
- about 1,400 tokenswhen the skill loads
- GitHub stars
- 66on vapiai/skills
- Scripts
- None found
What it does
“Plan, provision, import, route, update, and verify Vapi phone numbers through the public API. Use for Vapi-hosted US PSTN numbers, explicitly requested SIP addresses, Twilio/Vonage/Telnyx or BYO carrier numbers, secure credential handling, assistant or squad routing, area-code requests, outbound limitations, and phone-provider troubleshooting.”
Generated summary from the skill's own text
The skill provisions, imports, routes, updates, and verifies phone numbers through the Vapi API. It handles Vapi-hosted US PSTN numbers, SIP addresses, and imported numbers from Twilio, Vonage, Telnyx, or bring-your-own carriers. It enforces secure credential handling and requires explicit confirmation before chargeable operations.
When to use it
- Setting up Vapi-hosted US phone numbers for inbound or outbound calling
- Importing existing phone numbers from carrier providers like Twilio
- Routing calls to specific assistants or squads in Vapi
- Managing phone number configuration and area code requests
When not to
- International calling beyond US plus-one destinations on free Vapi numbers
- When carrier passwords or API keys are unavailable and required by the provider
- Checking phone number availability without explicit user authorization to provision
Install
These commands install from the publisher's repository and need no account.
skills CLI
npx skills add vapiai/skills --skill create-phone-numberInstalls from the repository's default branch, which may have changed since the commit we checked.
GitHub CLI 2.90 or later
gh skill install vapiai/skills create-phone-number@ecd56bd32688be8ea6fe54029445b536333d8d9cInstalls the commit we checked (ecd56bd).
Copy by hand
Download the folder at ecd56bd and put it in .claude/skills/create-phone-number for Claude Code and in .agents/skills/create-phone-number for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode.
Copy for your agent
A prompt for any coding agent. It installs this skill from GitHub at the pinned commit, copies the files as they are, and runs nothing unless you ask.
Prompt
Install the agent skill "create-phone-number" by Vapi. Source, pinned to commit ecd56bd32688be8ea6fe54029445b536333d8d9c: https://github.com/vapiai/skills/tree/ecd56bd32688be8ea6fe54029445b536333d8d9c/create-phone-number 1. Download that folder at exactly this commit. Do not use the default branch. 2. Copy every file unchanged, keeping the folder structure, into .claude/skills/create-phone-number/ for Claude Code and .agents/skills/create-phone-number/ for Codex, Cursor, Gemini CLI, GitHub Copilot and OpenCode. Create the folders if they do not exist. 3. Do not edit the files, and do not run any script in the folder unless I ask you to. 4. When you are done, list the files you copied and where you put them. Listing and checks: https://www.agentnative.dev/skills/vapi/create-phone-number
SKILL.md at the pin
---
name: create-phone-number
description: Plan, provision, import, route, update, and verify Vapi phone numbers through the public API. Use for Vapi-hosted US PSTN numbers, explicitly requested SIP addresses, Twilio/Vonage/Telnyx or BYO carrier numbers, secure credential handling, assistant or squad routing, area-code requests, outbound limitations, and phone-provider troubleshooting.
license: MIT
compatibility: Internet access and VAPI_API_KEY are required only for live Vapi API operations.
metadata:
author: vapi
version: "2.0"
---
# Vapi Phone Number Setup
Default to a payload or implementation plan. Provision, import, route, or release a number only when the user explicitly requests the live mutation. Require a final explicit confirmation immediately before provisioning or another potentially chargeable action.
## Security and Source Rules
- Never ask for carrier passwords, auth tokens, API keys, API secrets, or private keys in chat.
- Use an existing Vapi `credentialId` for provider imports when the current public schema supports it. If a required credential does not exist, stop and state that API prerequisite.
- If the public API requires raw carrier secrets and exposes no credential-based alternative, source them from local environment variables without displaying them, writing them to payload files, or logging the request body.
- Verify provider fields against the current [Create Phone Number API](https://docs.vapi.ai/api-reference/phone-numbers/create) or public OpenAPI schema.
- Never invent phone numbers, SIP realms, credentials, resource IDs, area-code availability, or routing destinations.
## Procedure
1. Determine the execution mode.
- Return a payload or plan when the user asks for a draft or does not clearly authorize a live mutation.
- For a live request, confirm that `VAPI_API_KEY` is set without printing it.
2. Choose the transport path.
- For a nontechnical request for an ordinary number, prefer the documented Vapi-hosted US PSTN path.
- Use SIP only when the user explicitly asks for SIP. Require an exact supported SIP URI from the user or current public API documentation; if it is unavailable, stop and state the missing prerequisite. Do not invent a regional realm.
- Use a carrier import only when the user owns the number and the required secure credential path is available.
3. Resolve routing before mutation.
- List or get assistants and squads through public endpoints. Match a supplied name to one resource.
- If several resources are plausible, ask the user to choose. Never guess an ID.
- Route to either one `assistantId` or one `squadId`; clear conflicting destination fields when changing an existing route.
4. Check inventory safely.
- Review existing phone numbers with `GET /phone-number` to avoid duplicate provisioning.
- The current public OpenAPI accepts `numberDesiredAreaCode` but does not expose a public available-area-code inventory endpoint. Accept the user's desired three-digit US area code after explaining that fulfillment is not guaranteed.
- Do not purchase a number merely to test availability. Do not infer global unavailability from one provisioning response.
5. Confirm and execute.
- Show the provider, area code or exact owned number, routing destination, and whether the action may incur carrier or usage charges.
- Obtain explicit confirmation immediately before `POST /phone-number` or another potentially chargeable mutation.
- Validate the response for `id`, provider, number or SIP URI, status when present, and resolved route.
6. Update without destroying configuration.
- `GET /phone-number/{id}` first.
- Build the provider-specific update DTO. Change only requested writable fields and preserve the current provider, hooks, server, fallback destination, and provider-specific settings by omission or exact carry-forward as required by the public schema.
- Do not send response-only fields such as `id`, timestamps, or organization metadata.
- Re-fetch the number and verify the requested route or setting.
7. Handle failures precisely.
- `400`: report the rejected field or unavailable request; correct a documented shape error before at most one retry.
- `401`/`403`: stop for Vapi authentication or permission issues.
- `404`: report the missing phone number, assistant, squad, or credential.
- `5xx`: report a Vapi service failure and do not claim success.
- Separate carrier-side ownership, credential, provisioning, or transport failures from Vapi routing configuration.
## Free Vapi Number Limits
Vapi-hosted free numbers are for US national use and have a limit of five per account. The first free number can be requested without a payment method. Additional free numbers require a payment method on file, but the numbers themselves remain free.
Free Vapi numbers support outbound calls only to US `+1` destinations and do not support international calling. Use an imported provider number or supported SIP/carrier path for international use. Do not describe free numbers as unlimited production telephony.
## Payload-Only Example
This template does not provision anything:
```json
{
"provider": "vapi",
"numberDesiredAreaCode": "<confirmed-three-digit-area-code>",
"assistantId": "<verified-assistant-id>",
"name": "Main Support Line"
}
```
Read [Provider API Procedures](references/provider-api-procedures.md) for Vapi-hosted, Twilio, Vonage, Telnyx, BYO carrier, and routing examples. Read [Phone Number API Examples](references/api-examples.md) when the user requests TypeScript, Python, or cURL implementation code. Keep placeholders out of live requests.
## Public Sources
- [Phone calling](https://docs.vapi.ai/phone-calling) and [Phone quickstart](https://docs.vapi.ai/quickstart/phone)
- [Create Phone Number API](https://docs.vapi.ai/api-reference/phone-numbers/create)
- [Free Vapi phone numbers](https://docs.vapi.ai/free-telephony)
- [Import a Twilio number](https://docs.vapi.ai/phone-numbers/import-twilio)
From vapiai/skills at ecd56bd, shown as plain text under its license: MIT (permissive). The license text is in create-phone-number/SKILL.md.
View SKILL.md on GitHub at ecd56bdFiles
- SKILL.md6.0 KB · 9517bac2dcb0
- references/
- api-examples.md2.3 KB · 4883c4a36cae
- provider-api-procedures.md3.9 KB · 1804300cd8e1
3 files, 12 KB in total. Each file has a sha256 in the pin's manifest; the first 12 characters are shown.
Skill folder on GitHub at ecd56bdMore from Vapi
create-assistant
Designs and creates Vapi voice assistants for phone and web by managing system prompts, provider selection, tool integration, and API validation.
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
create-assistant
This skill designs and creates Vapi voice assistants for phone and web calls.
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
create-call
This skill creates one-off outbound phone calls, web calls, and batch calls via the Vapi API.
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
create-call
This skill enables agents to create outbound phone calls, web calls, and batch calls via the Vapi API.
Claude Code, Codex, Cursor +4 · about 1.5K tokens · pinned 6 days ago
create-campaign
This skill enables agents to create, manage, and diagnose Vapi outbound campaigns for reaching multiple contacts with personalized calls using the…
Claude Code, Codex, Cursor +4 · about 3.1K tokens · pinned 6 days ago
create-campaign
This skill creates, manages, and monitors Vapi outbound calling campaigns for multi-contact operations.
Claude Code, Codex, Cursor +4 · about 3.1K tokens · pinned 6 days ago
Related in Cloud and DevOps
create-phone-number
This skill enables agents to provision, import, route, and manage Vapi phone numbers via the public API.
by VapiOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.4K tokens · pinned 6 days ago
twilio-account-setup
Sets up a Twilio account from scratch, including free trial signup, credential retrieval, phone number purchase, and enabling specific products like AI…
by TwilioOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.5K tokens · pinned 6 days ago
twilio-cli-reference
The Twilio CLI reference enables agents to manage Twilio resources directly from the terminal, including phone number provisioning, sending SMS and email…
by TwilioOfficial publisher
Claude Code, Codex, Cursor +4 · about 1.8K tokens · pinned 6 days ago
twilio-compliance-onboarding
This skill guides developers through Twilio's mandatory registration and compliance programs before messaging and voice traffic can flow.
by TwilioOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.9K tokens · pinned 6 days ago
twilio-numbers-senders
This skill helps developers select the right Twilio sender before building their application, comparing US number types (local 10DLC, toll-free, short code)…
by TwilioOfficial publisher
Claude Code, Codex, Cursor +4 · about 3.3K tokens · pinned 6 days ago
twilio-organizations-setup
This skill guides setup and management of Twilio Organizations, the top-level container for account governance, user roles, and security policies.
by TwilioOfficial publisher
Claude Code, Codex, Cursor +4 · about 2.3K tokens · pinned 6 days ago
Open roles at Vapi
5 of 11 open roles on the jobs board
- Member of Technical Staff, Agentic Release Engineer
San Francisco (Hybrid)
- Member of Technical Staff, DevOps
San Francisco, California, United States (Remote)
- Member of Technical Staff, Frontend
San Francisco, California, United States (Remote)
- Member of Technical Staff, Agentic Developer Experience
San Francisco (Remote)
- Solutions Engineer - NY
New York, New York, United States (Remote)