Vapi CLI
The official command-line interface for Vapi - Voice AI for developers.
Features
- π Browser-based Authentication - Secure OAuth-style login flow
- π€ Assistant Management - List, create, update, and delete voice assistants
- π Workflow Management - Manage visual conversation flows and branching logic
- π£ Campaign Management - Create and manage AI phone call campaigns at scale
- π Call Management - Monitor and control phone calls
- π§ Project Integration - Auto-detect and integrate with existing projects
- π Framework Support - React, Vue, Angular, Next.js, Node.js, Python, Go, and more
- π¦ SDK Installation - Automatic SDK setup for your project type
- π¨ Code Generation - Generate components, hooks, and examples
Installation
From Source
# Clone the repository
git clone https://github.com/VapiAI/cli.git
cd cli
# Install dependencies
make deps
# Build the CLI
make build
# Install to ~/.local/bin
make install
Binary Releases
Coming soon: Pre-built binaries for macOS, Linux, and Windows.
Development Requirements
Usage
Authentication
First, authenticate with your Vapi account:
vapi login
This will open your browser for secure authentication. Your API key will be saved locally.
Assistant Management
# List all assistants
vapi assistant list
# Get assistant details
vapi assistant get <assistant-id>
# Create a new assistant (interactive)
vapi assistant create
# Delete an assistant
vapi assistant delete <assistant-id>
Workflow Management
# List all workflows
vapi workflow list
# Get workflow details
vapi workflow get <workflow-id>
# Create a new workflow (basic)
vapi workflow create
# Delete a workflow
vapi workflow delete <workflow-id>
Note: For visual workflow building with nodes and edges, use the Vapi Dashboard.
Campaign Management
# List all campaigns
vapi campaign list
# Get campaign details
vapi campaign get <campaign-id>
# Create a new campaign
vapi campaign create
# Update/end a campaign
vapi campaign update <campaign-id>
# Delete a campaign
vapi campaign delete <campaign-id>
Note: For advanced campaign features (customer lists, scheduling), use the Vapi Dashboard.
Project Integration
Initialize Vapi in your existing project:
# Auto-detect project type and set up Vapi
vapi init
# Initialize in a specific directory
vapi init /path/to/project
The init command will:
- Detect your project framework/language
- Install the appropriate Vapi SDK
- Generate example code and components
- Create environment configuration templates
Configuration
# View current configuration
vapi config get
# Set configuration values
vapi config set <key> <value>
# List all configuration options
vapi config list
Project Structure
cli/
βββ cmd/ # Command implementations
β βββ root.go # Main CLI setup
β βββ assistant.go # Assistant commands
β βββ workflow.go # Workflow commands
β βββ campaign.go # Campaign commands
β βββ call.go # Call commands
β βββ config.go # Configuration commands
β βββ init.go # Project initialization
β βββ login.go # Authentication
βββ pkg/ # Core packages
β βββ auth/ # Authentication logic
β βββ client/ # Vapi API client
β βββ config/ # Configuration management
β βββ integrations/ # Framework integrations
β βββ output/ # Output formatting
βββ build/ # Build artifacts (git-ignored)
βββ main.go # Entry point
βββ Makefile # Build automation
βββ README.md # This file
Development
Building
# Build for current platform
make build
# Build for all platforms
make build-all
# Run without building
go run main.go
Testing
# Run all tests
make test
# Run tests with coverage
make test-coverage
Code Quality
# Run linters
make lint
# Format code
go fmt ./...
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature)
- Commit your changes (
git commit -m 'Add amazing feature')
- Push to the branch (
git push origin feature/amazing-feature)
- Open a Pull Request
Configuration
The CLI stores configuration in ~/.vapi-cli.yaml. You can also use environment variables:
VAPI_API_KEY - Your Vapi API key
VAPI_BASE_URL - API base URL (for development)
Supported Frameworks
Frontend
- React (Create React App, Vite)
- Vue.js
- Angular
- Svelte
- Next.js
- Nuxt.js
- Remix
- Vanilla JavaScript
Mobile
Backend
- Node.js/TypeScript
- Python
- Go
- Ruby
- Java
- C#/.NET
License
MIT License - see LICENSE file for details.
Support
Built with β€οΈ by the Vapi team