LiveKit Agents Docs • LiveKit Cloud • Blog
This example demonstrates an full workflow of an AI agent that makes outbound calls. It uses LiveKit SIP and Python Agents Framework.
It has two modes:
- VoicePipelineAgent: uses a voice pipeline of STT, LLM, and TTS for the call.
- MultimodalAgent: uses OpenAI's realtime speech to speech model.
The guide for this example is available at https://docs.livekit.io/agents/quickstarts/outbound-calls/. Make sure a SIP outbound trunk is configured before trying this example.
This example demonstrates the following features:
- Making outbound calls
- Detecting voicemail
- Looking up availability via function calling
- Detecting intent to end the call
Clone the repository and install dependencies to a virtual environment:
cd outbound-caller-python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python agent.py download-filesSet up the environment by copying .env.example to .env.local and filling in the required values:
LIVEKIT_URLLIVEKIT_API_KEYLIVEKIT_API_SECRETOPENAI_API_KEYSIP_OUTBOUND_TRUNK_IDDEEPGRAM_API_KEY- optional, only needed for VoicePipelineAgent
Run the agent:
python3 agent.py devNow, your worker is running, and waiting for dispatches in order to make outbound calls.
You can dispatch an agent to make a call by using the lk CLI:
lk dispatch create \
--new-room \
--agent-name outbound-caller \
--metadata '+1234567890'