一键导入
vapi
Voice AI integration with Vapi. Enables inbound/outbound phone calls with AI voice agents that can check calendars and book appointments.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Voice AI integration with Vapi. Enables inbound/outbound phone calls with AI voice agents that can check calendars and book appointments.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Converts webpages, articles, or documents into study flashcards that you can review with spaced repetition
Generate images and videos using Atlas Cloud AI models (Kling, Flux, etc.). Use when the user wants to create AI-generated images or videos.
Optimize Claude Code Pro/Max usage by starting the 5-hour rolling window early morning, giving you more resets during waking hours.
Fetch up-to-date, version-specific library documentation and code examples from Context7. Use this skill whenever the user asks about a specific programming library, framework, or API, or when writing code that depends on a library. Replaces stale training-data knowledge with live docs.
Send yourself a daily text message with a randomly selected or rotating positive affirmation.
Creates an ideal dating profile by writing your bio and choosing the best photos in the right order
| name | vapi |
| description | Voice AI integration with Vapi. Enables inbound/outbound phone calls with AI voice agents that can check calendars and book appointments. |
| compatibility | Created for Zo Computer |
| metadata | {"author":"anonymous"} |
AI-powered voice assistant that handles phone calls, checks calendar availability, and books appointments.
Add these secrets in Settings → Developers:
Required:
VAPI_PRIVATE_KEY=your-private-key
Recommended:
VAPI_OWNER_PHONE=+15551234567 # Your phone number (auto-authenticated)
VAPI_OWNER_NAME=Your Name # Used in prompts
VAPI_CALENDAR_ID=you@gmail.com # Google Calendar for bookings
Optional:
VAPI_WORK_CALENDAR_ID=work@company.com # Secondary calendar to check
VAPI_ASSISTANT_NAME=Matt # Default: "Assistant"
VAPI_OWNER_CONTEXT=CEO of Acme Corp # Extra context about you
VAPI_TIMEZONE=America/Los_Angeles # Default timezone
VAPI_SECURITY_PIN=1234 # DTMF PIN for non-owner callers
VAPI_VOICE_ID=7EzWGsX10sAS4c9m9cPf # ElevenLabs voice ID
VAPI_VOICE_MODEL=eleven_flash_v2_5 # ElevenLabs model
VAPI_LLM_MODEL=claude-sonnet-4-20250514 # LLM for responses
VAPI_WEBHOOK_PORT=4242 # Webhook server port
VAPI_DB_PATH=/path/to/calls.duckdb # Call history database
GOOGLE_TOKEN_PATH=/path/to/token.json # Google OAuth token
For calendar features, you need Google OAuth credentials. Use the google-direct-oauth skill or connect via Settings → Integrations.
# Register the webhook as a Zo service
zo register-service --label vapi-webhook --protocol http --local-port 4242 \
--workdir /home/workspace/Skills/zo-vapi/scripts \
--entrypoint "bun webhook.ts"
In your Vapi dashboard:
assistant-request, tool-calls, end-of-call-report# List your phone numbers and assistants
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts phone list
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts assistant list
# Attach (creates dynamic assistant via webhook)
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts phone attach <phone-id> <assistant-id>
# Basic call
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567
# With purpose (generates contextual voicemail)
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567 --purpose "Following up on the meeting"
# With custom voicemail
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567 --voicemail "Hey, just wanted to confirm tomorrow."
# With context for the assistant
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts call +15551234567 --context "Discuss Q4 planning"
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts assistant list
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts assistant create
bun /home/workspace/Skills/zo-vapi/scripts/vapi.ts calls
# Or query directly
duckdb /home/workspace/Datasets/vapi-calls/data.duckdb -c "SELECT * FROM calls ORDER BY started_at DESC LIMIT 10"
assistant-request to webhookend-of-call-report saves transcript and emails recapcheckAvailability: Queries Google Calendar freeBusy APIcreateCalendarEvent: Books meetings with proper timezone handlingBrowse voices at ElevenLabs and set:
VAPI_VOICE_ID=your-chosen-voice-id
Vapi supports multiple providers. Set:
VAPI_LLM_MODEL=claude-sonnet-4-20250514 # or gpt-4o, etc.
vapi.tsThe scripts/vapi.ts CLI has several hardcoded values that should be updated to match your identity and preferences. While environment variables handle API keys and some config, the following are embedded directly in the script:
Assistant Identity (createAssistant function):
name: "Matt" — Change to your assistant's namefirstMessage: "Hey, this is Matt..." — The greeting callers hear firstendCallMessage: "Alright, talk to you later!" — Said when hanging upSystem Prompt (createAssistant → model.messages):
"You are Matt, a helpful assistant for Nick" — Update both names"CEO and Co-Founder of PeakMetrics" — Replace with your own role/company"PeakMetrics is a narrative intelligence platform..." — Replace with your company descriptionVoice (createAssistant → voice):
voiceId: "pwMBn0SsmN1220Aorv15" — Hardcoded ElevenLabs voice ID (overrides VAPI_VOICE_ID env var for assistant create)Voicemail Messages (appear in multiple places):
createAssistant: "Hey, this is Matt calling for Nick..."updateAssistant: Same hardcoded voicemail messagegenerateVoicemailMessage: Default and purpose-based voicemail templates both reference "Matt" and "Nick"Tip: Search for
MattandNickin the file to find all instances that need updating. There are currently 6+ references to "Matt" and 4+ references to "Nick" scattered across the assistant config, voicemail templates, and system prompt.
Add new tools by modifying webhook.ts:
assistant-request responsetool-calls section