create-campaign
Installation
SKILL.md
Vapi Outbound Campaigns
Use Campaigns for a persistent outbound run whose contacts, lifecycle, and results must be managed together. Creating a campaign launches it immediately or schedules it; there is no draft or separate start action.
The current public API uses /v2/campaign. The unversioned /campaign endpoints are legacy and have different behavior. Use /v2/campaign for new integrations, and touch /campaign only when the user explicitly asks to maintain an existing legacy integration.
Source and Safety Rules
- Verify live payloads against the current Vapi documentation MCP, Campaigns documentation, or public API reference. Do not silently fall back from
/v2/campaignto legacy/campaignbehavior. - Use a private API key only on a trusted server. Read it from
VAPI_API_KEY; never print it, request it in chat, or put it in client-side code, examples, logs, or committed files. - Treat phone numbers, names, contact variables, call records, transcripts, and recordings as sensitive. Report counts and redacted samples unless the user needs specific records.
- Never invent resource IDs, recipients, consent, schedules, time zones, campaign state, counters, or call outcomes. Resolve saved resources by exact ID or an unambiguous API result.
- Launching can place real, chargeable calls. Before a live create or duplicate, review the exact target, outbound number, audience count, timing, concurrency, and webhook behavior. Obtain confirmation unless the user's current instruction already unambiguously authorizes that exact launch.
- Do not make a legal determination. Tell the user to verify the consent, caller-identification, recording, opt-out, quiet-hours, and telemarketing requirements that apply to every recipient and destination. Use Vapi's TCPA consent guidance when relevant.
- A timeout or ambiguous response to
POST /v2/campaigndoes not prove failure. Search for the intended campaign before retrying so the audience is not called twice.