About create-workflow
A skill for creating Vapi conversation workflows with visual nodes and deterministic steps. It is aimed at building multi-step calls that use branching, tools, and handoffs.
Key features
- 01Visual conversation, tool, condition, and handoff nodes
- 02Variables passed between conversation steps
- 03Branching based on variables or conversation state
- 04Attach workflows to phone numbers or calls
Use cases
- 01Create appointment scheduling call flows
- 02Qualify leads and branch to next steps
- 03Route support calls by issue type
MCP support
The skills repository includes a Vapi documentation MCP server named `vapi-docs`; its `searchDocs` tool provides access to Vapi documentation.
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ vapiai/ skills --skill create-workflowAfter installing, type/create-workflowin Claude Code to confirm it loaded.
Details
From the project READMEVapi Workflow Creation
Build structured conversation workflows with visual node-based flows. Workflows provide deterministic control over conversation steps, branching logic, and tool execution.
Setup: Ensure
VAPI_API_KEYis set. See thesetup-api-keyskill if needed.
When to Use Workflows vs Assistants
| Feature | Assistant | Workflow |
|---|---|---|
| Simple conversations | Best choice | Over-engineered |
| Multi-step processes | Can work with good prompting | Best choice |
| Deterministic flow | Hard to guarantee | Built-in |
| Conditional branching | Prompt-dependent | Visual nodes |
| Complex state management | Difficult | Native support |
Quick Start
Workflows are best built in the Vapi Dashboard visual editor at https://dashboard.vapi.ai — but they can also be configured via API.
Dashboard Workflow
- Go to https://dashboard.vapi.ai
- Navigate to Workflows
- Click Create Workflow
- Add nodes: Conversation, Tool, Condition, Handoff
- Connect nodes to define the flow
- Publish and attach to a phone number or call
Using a Workflow in a Call
curl -X POST https://api.vapi.ai/call \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflowId": "your-workflow-id",
"phoneNumberId": "your-phone-number-id",
"customer": {
"number": "+11234567890"
}
}'
Node Types
Conversation Node
The core building block — the assistant has a conversation within defined boundaries:
- System prompt specific to this step
- Model and voice configuration
- Exit conditions that trigger transitions to other nodes
- Variables to extract and pass between nodes
Tool Node
Execute a tool (API call, function) and use the result in subsequent nodes.
Condition Node
Branch the flow based on variables or conversation state.
Handoff Node
Transfer to another workflow, assistant, or phone number.
Workflow Patterns
Appointment Scheduling Flow
[Greeting] → [Collect Date] → [Check Availability (Tool)] → [Confirm Booking] → [Goodbye]
↓ (unavailable)
[Suggest Alternatives] → [Confirm Booking]
Lead Qualification Flow
[Introduction] → [Ask Budget] → [Ask Timeline] → [Qualify (Condition)]
↓ (qualified)
[Schedule Demo]
↓ (not qualified)
[Send Resources]
Support Triage Flow
[Greeting] → [Identify Issue (Condition)]
↓ (billing) ↓ (technical) ↓ (other)
[Billing Flow] [Tech Support Flow] [General Help]
Attaching Workflows
To 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 '{
"workflowId": "your-workflow-id"
}'
In an Outbound Call
curl -X POST https://api.vapi.ai/call \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflowId": "your-workflow-id",
"phoneNumberId": "your-phone-number-id",
"customer": { "number": "+11234567890" }
}'
References
- Vapi Workflows Docs — Official guide
- Workflow Examples — Common patterns
Additional Resources
This skills repository includes a Vapi documentation MCP server (vapi-docs) that gives your AI agent access to the full Vapi knowledge base. Use the searchDocs tool to look up anything beyond what this skill covers — advanced configuration, troubleshooting, SDK details, and more.
Auto-configured: If you cloned or installed these skills, the MCP server is already configured via .mcp.json (Claude Code), .cursor/mcp.json (Cursor), or .vscode/mcp.json (VS Code Copilot).
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 README for full setup instructions across all supported agents.