К основному содержанию
скилл CX Codex

create-call — скилл для Claude Code: что делает и как установить

Скилл инициирует разовые исходящие, веб-звонки и простые пакетные вызовы через Vapi API. Пригодится для проверки голосовых ассистентов и звонков клиентам из кода.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add VapiAI/skills --skill create-call -a claude-code
Открыть на GitHub

Что делает create-call

Скилл формирует запросы к Vapi API. С его помощью агент запускает звонки на телефонные номера и открывает веб-сессии. Конфигурацию ассистента можно взять готовую по assistantId или объявить прямо в теле запроса, указав модель и голос.

Для работы нужен ключ VAPI_API_KEY. Вызовы можно отложить на будущее через блок schedulePlan, задав временное окно с помощью earliestAt и latestAt. Переданные в поле metadata параметры будут доступны ассистенту во время разговора. Агент умеет удалять звонки, проверять смену статусов и запрашивать готовую стенограмму.

Инструмент рассчитан на точечные вызовы. Для массовых контактов с отслеживанием автор рекомендует брать скилл create-campaign. Автоматический набор номеров без согласия нарушает закон, поэтому пренебрегать требованиями TCPA нельзя.

Какие задачи решает

  • сделать тестовый звонок на телефон со своего номера Vapi
  • создать веб-звонок для браузерного интерфейса
  • запланировать вызов на конкретное время в будущем
  • проверить статус звонка и забрать стенограмму

Примеры запросов агенту

  • Позвони на номер +11234567890 через Vapi, используя ассистента billing-bot и номер phone-1
  • Запланируй звонок клиенту через endpoint /call на завтра с 14:00 до 15:00 UTC
  • Получи стенограмму и статус завершённого звонка по его id

Как установить create-call

1Через Skills CLI (Vercel)

npx skills add VapiAI/skills --skill create-call -a claude-code

2Вручную: положить файлы

~/.claude/skills/create-call/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/create-call/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о create-call

Как установить create-call в Claude Code?

Выполните в терминале команду npx skills add VapiAI/skills --skill create-call -a claude-code. Файлы скилла сохранятся по пути ~/.claude/skills/create-call/SKILL.md.

Что делает скилл create-call?

Он отправляет запросы к Vapi API для запуска разовых исходящих телефонных звонков, сессий в браузере и простых пакетов вызовов. Также скилл позволяет задавать расписание звонка, передавать метаданные и читать расшифровку беседы.

Чем create-call отличается от create-campaign?

Скилл create-call предназначен для разовых вызовов и простых пакетов без сохранения состояния. Если требуется отслеживать жизненный цикл кампании, дублировать контакты, настраивать вебхуки или управлять отменой, автор рекомендует использовать скилл create-campaign.

Исходный текст

SKILL.md · MIT
---
name: create-call
description: Create one-off outbound phone calls, web calls, scheduled calls, and simple batch calls using the Vapi API. Use when making or testing individual calls or initiating a bounded /call request programmatically. Use create-campaign for a persistent multi-contact Campaign with lifecycle, reporting, cancellation, duplication, or campaign webhooks.
license: MIT
compatibility: Requires internet access and a Vapi API key (VAPI_API_KEY).
metadata:
  author: vapi
  version: "1.0"
---

# Vapi Call Creation

Initiate outbound phone calls, web calls, and batch calls using Vapi's API. Connect your voice assistants to real phone numbers and test them programmatically.

> **Setup:** Ensure `VAPI_API_KEY` is set. See the `setup-api-key` skill if needed.

## Quick Start — Outbound Phone Call

### cURL

```bash
curl -X POST https://api.vapi.ai/call \
  -H "Authorization: Bearer $VAPI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "assistantId": "your-assistant-id",
    "phoneNumberId": "your-phone-number-id",
    "customer": {
      "number": "+11234567890"
    }
  }'
```

### TypeScript (Server SDK)

```typescript
import { VapiClient } from "@vapi-ai/server-sdk";

const vapi = new VapiClient({ token: process.env.VAPI_API_KEY! });

const call = await vapi.calls.create({
  assistantId: "your-assistant-id",
  phoneNumberId: "your-phone-number-id",
  customer: {
    number: "+11234567890",
  },
});

console.log("Call created:", call.id);
```

### Python

```python
import requests
import os

response = requests.post(
    "https://api.vapi.ai/call",
    headers={
        "Authorization": f"Bearer {os.environ['VAPI_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={
        "assistantId": "your-assistant-id",
        "phoneNumberId": "your-phone-number-id",
        "customer": {"number": "+11234567890"},
    },
)

call = response.json()
print(f"Call initiated: {call['id']}")
```

## Call Types

### Outbound Phone Call

Requires an assistant, a Vapi phone number, and a customer number.

```json
{
  "assistantId": "assistant-id",
  "phoneNumberId": "phone-number-id",
  "customer": {
    "number": "+11234567890",
    "name": "John Doe",
    "numberE164CheckEnabled": true
  }
}
```

### Web Call

For browser-based calls — no phone number needed. Use the Vapi Web SDK on the client side.

```json
{
  "assistantId": "assistant-id"
}
```

Client-side (JavaScript):
```javascript
import Vapi from "@vapi-ai/web";

const vapi = new Vapi("your-public-key");
vapi.start("your-assistant-id");
```

### Transient Assistant Call

Define an assistant inline instead of referencing a saved one:

```json
{
  "assistant": {
    "name": "Quick Test",
    "firstMessage": "Hello! This is a test call.",
    "model": {
      "provider": "openai",
      "model": "gpt-4.1",
      "messages": [
        {
          "role": "system",
          "content": "You are a test assistant. Confirm the call is working and end politely."
        }
      ]
    },
    "voice": { "provider": "vapi", "voiceId": "Elliot", "version": 2 },
    "transcriber": { "provider": "deepgram", "model": "nova-3", "language": "en" }
  },
  "phoneNumberId": "phone-number-id",
  "customer": {
    "number": "+11234567890"
  }
}
```

## Scheduled Calls

Schedule a call for a future time:

```json
{
  "assistantId": "assistant-id",
  "phoneNumberId": "phone-number-id",
  "customer": {
    "number": "+11234567890"
  },
  "schedulePlan": {
    "earliestAt": "2025-06-15T14:00:00Z",
    "latestAt": "2025-06-15T15:00:00Z"
  }
}
```

- `earliestAt` — Earliest time to attempt the call (ISO 8601)
- `latestAt` — Latest time to attempt the call (optional)
- If using `assistantId`, the latest version of the assistant is used at call time
- For a fixed assistant config, use `assistant` (transient) instead

## Batch Calls

Call multiple numbers in one request:

```json
{
  "assistantId": "assistant-id",
  "phoneNumberId": "phone-number-id",
  "customers": [
    { "number": "+11234567890", "name": "Alice" },
    { "number": "+10987654321", "name": "Bob" },
    { "number": "+15551234567", "name": "Carol" }
  ]
}
```

Combine with `schedulePlan` for scheduled batch calls.

Use this `/call` batch only when the user does not need a persistent Campaign resource. Use the `create-campaign` skill for campaign-level monitoring, contact outcomes, duplication, cancellation, concurrency, or webhooks.

## Call with Metadata

Pass custom data accessible during the call:

```json
{
  "assistantId": "assistant-id",
  "phoneNumberId": "phone-number-id",
  "customer": {
    "number": "+11234567890"
  },
  "metadata": {
    "orderId": "ORD-12345",
    "department": "billing"
  }
}
```

## Managing Calls

```bash
# List calls
curl "https://api.vapi.ai/call?limit=10" \
  -H "Authorization: Bearer $VAPI_API_KEY"

# Get a specific call
curl https://api.vapi.ai/call/{id} \
  -H "Authorization: Bearer $VAPI_API_KEY"

# Get call with transcript and recording
curl https://api.vapi.ai/call/{id} \
  -H "Authorization: Bearer $VAPI_API_KEY"
# Response includes: artifact.transcript, artifact.recordingUrl,
# analysis.summary, and costBreakdown when those outputs are enabled

# Delete a call
curl -X DELETE https://api.vapi.ai/call/{id} \
  -H "Authorization: Bearer $VAPI_API_KEY"
```

## Call Response

A successful call creation returns:

```json
{
  "id": "call-uuid",
  "orgId": "org-uuid",
  "type": "outboundPhoneCall",
  "status": "queued",
  "assistantId": "assistant-id",
  "phoneNumberId": "phone-number-id",
  "customer": {
    "number": "+11234567890"
  },
  "createdAt": "2025-01-15T10:00:00Z"
}
```

Call statuses: `queued` → `ringing` → `in-progress` → `ended`

## Compliance Warning

It is a violation of FCC law to dial phone numbers without consent in an automated manner. Review TCPA consent requirements before launching automated call campaigns.

## References

- [Vapi Outbound Calls Docs](https://docs.vapi.ai/calls/outbound-calling)
- [Call Features](https://docs.vapi.ai/calls/call-features)
- [Voicemail Detection](https://docs.vapi.ai/calls/voicemail-detection)

## Additional Resources

Vapi 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:
```bash
claude mcp add vapi-docs -- npx -y mcp-remote https://docs.vapi.ai/_mcp/server
```

See the [Vapi MCP integration guide](https://docs.vapi.ai/cli/mcp) for setup instructions across supported agents.

© vapi · MIT · VapiAI/skills

Похожие скиллы

Все скиллы по теме «Автоматизация и no-code: n8n, Zapier, Make» →
voice-ai-development sickn33 Скилл направляет разработку голосовых приложений и агентов с потоковым аудио. Нужен для задач распознавания речи, синтеза и связи в реальном времени. CX Codex +1 959установок text-to-speech elevenlabs Превращает текст в речь через ElevenLabs. Пригодится для озвучки, голосовых функций и генерации аудиофайлов в проекте. CX Codex +1 16 800установок agents elevenlabs Скилл собирает голосовых ИИ-агентов ElevenLabs: настраивает first_message, промпт, LLM и голос через CLI или SDK. Годится для голосовых ассистентов и ботов поддержки. CX Codex +1 11 100установок assemblyai AssemblyAI Скилл для работы с AssemblyAI: распознавание речи, стриминг, диктовка и LLM Gateway. Спасает от устаревших примеров, которые ИИ берёт из обучающих данных. CX Codex +1 570установок azure-communication-callautomation-java Microsoft Скилл по Java SDK Azure Communication Services Call Automation: исходящие звонки, IVR, запись разговора, распознавание DTMF и речи. ★ 3 148звёзд репо call-prep официальный anthropics Собирает одностраничный бриф к предстоящему звонку: участники, история аккаунта, контекст прошлых разговоров и вопросы для дискавери. CX Codex +1 3 000установок

Из того же набора4

Спонсоры проекта

Компании, которые помогают держать аналитику открытой