๐ Patter is the open-source way to connect any AI agent to real phone calls. Build voice-powered agents with a few lines of code โ without managing telephony, speech pipelines, or audio infrastructure.
Visit the Patter docs to get started. SDK: Python / TypeScript
Patter is a dual SDK (Python + TypeScript) that gives developers a unified API for the entire voice AI pipeline โ speech-to-text, AI reasoning, text-to-speech, and telephony โ wired together with sub-second latency so your agent sounds natural on a real phone call.
import asyncio from patter import Patter async def main(): phone = Patter( openai_key="sk-...", phone_number="+15550001234", webhook_url="your.server.com", ) agent = phone.agent( system_prompt="You are a friendly booking assistant for a dental clinic.", voice="nova", first_message="Hi! I'm calling from Smile Dental. How can I help?", ) await phone.serve(agent, port=8000) asyncio.run(main())
๐ Key Features
- ๐ Inbound & Outbound Calls โ answer calls or dial out programmatically with Twilio or Telnyx
- โก 3 Voice Modes โ OpenAI Realtime (lowest latency), Pipeline (custom STT+TTS), ElevenLabs ConvAI
- ๐ง Tool Calling โ let your agent check databases, book appointments, or transfer calls
- ๐ Built-in Dashboard โ real-time call monitoring, cost tracking, and analytics
- ๐งช Test Mode โ develop agents in your terminal, no phone needed
- ๐ฐ Per-Call Metrics โ cost breakdown by provider (STT, TTS, LLM, telephony) with latency percentiles
- ๐ก๏ธ Guardrails โ content filtering and blocked terms before speech output
- ๐ Local Mode โ runs entirely on your machine, no cloud dependency
- ๐ค Any LLM โ pluggable LLM loop, bring your own Anthropic, Gemini, or any provider
๐ Getting Started
- ๐ฅ Installation โ install the SDK and set up your environment
- ๐ Documentation โ full guides for Python and TypeScript
- ๐ฌ Discussions โ ask questions and share what you've built
- ๐ Issues โ report bugs or suggest features