Loading...
Loading...
Build visual conversation workflows in Vapi with nodes for conversation steps, tool execution, conditional branching, and handoffs. Use when creating structured multi-step voice interactions that need deterministic flow control beyond what a single assistant prompt provides.
npx skill4agent add vapiai/skills create-workflowSetup: Ensureis set. See theVAPI_API_KEYskill if needed.setup-api-key
| 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 |
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"
}
}'[Greeting] → [Collect Date] → [Check Availability (Tool)] → [Confirm Booking] → [Goodbye]
↓ (unavailable)
[Suggest Alternatives] → [Confirm Booking][Introduction] → [Ask Budget] → [Ask Timeline] → [Qualify (Condition)]
↓ (qualified)
[Schedule Demo]
↓ (not qualified)
[Send Resources][Greeting] → [Identify Issue (Condition)]
↓ (billing) ↓ (technical) ↓ (other)
[Billing Flow] [Tech Support Flow] [General Help]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"
}'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" }
}'vapi-docssearchDocs.mcp.json.cursor/mcp.json.vscode/mcp.jsonclaude mcp add vapi-docs -- npx -y mcp-remote https://docs.vapi.ai/_mcp/server