Environment setup
Welcome! I'm Param. In this course we will build a multi-agent voice system with LiveKit. By the end, callers will hit a triage agent that routes them to specialists, and the handoff will feel like a single conversation instead of three.
The running example is a medical office triage system. The caller joins, a triage agent greets them, and based on the need it routes to a Support specialist for appointments or a Billing specialist for insurance questions. The pattern is the star. Swap the domain and it works for support, sales, or travel.
# Clone the workshop repository
git clone https://github.com/learnwithparam/multi-agent-voice-livekit.git
cd multi-agent-voice-livekit
# One command to set up everything
make devThis creates a virtual environment with uv, installs the LiveKit agents SDK and plugins, and starts the worker so you can see logs as you build.
# LiveKit cloud or self-hosted credentials
LIVEKIT_URL=wss://your-project.livekit.cloud
LIVEKIT_API_KEY=your_key
LIVEKIT_API_SECRET=your_secret
# Voice pipeline providers
DEEPGRAM_API_KEY=your_deepgram_key
# LLM provider (any LiveKit-supported backend)
LLM_PROVIDER=openrouter
OPENROUTER_API_KEY=your_openrouter_keyDeepgram handles speech-to-text and text-to-speech. Silero runs locally for voice activity detection. The LLM is configurable so you can swap models without touching agent code.
Validation checklist: Environment setup checklist
Loading practice…