Skip to content

Latest commit

 

History

History
72 lines (52 loc) · 1.95 KB

README.md

File metadata and controls

72 lines (52 loc) · 1.95 KB
LiveKit logo

Python Outbound Call Agent

LiveKit Agents DocsLiveKit CloudBlog

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.

Features

This example demonstrates the following features:

  • Making outbound calls
  • Detecting voicemail
  • Looking up availability via function calling
  • Detecting intent to end the call

Dev Setup

Clone the repository and install dependencies to a virtual environment:

git clone https://github.com/livekit-examples/outbound-caller-python.git
cd outbound-caller-python
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python agent.py download-files

Set up the environment by copying .env.example to .env.local and filling in the required values:

  • LIVEKIT_URL
  • LIVEKIT_API_KEY
  • LIVEKIT_API_SECRET
  • OPENAI_API_KEY
  • SIP_OUTBOUND_TRUNK_ID
  • DEEPGRAM_API_KEY - optional, only needed for VoicePipelineAgent

Run the agent:

python3 agent.py dev

Now, your worker is running, and waiting for dispatches in order to make outbound calls.

Making a call

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'