Minimal inbound voice agent — answer phone calls with AI in 4 lines of code.
Part of the Patter Voice AI SDK.
cd python
cp ../.env.example .env # fill in your keys
pip install -r requirements.txt
python main.pycd typescript
cp ../.env.example .env # fill in your keys
npm install
npx tsx main.ts| Variable | Required | Description |
|---|---|---|
OPENAI_API_KEY |
Yes | OpenAI API key with Realtime access |
TWILIO_ACCOUNT_SID |
Yes | Twilio account SID |
TWILIO_AUTH_TOKEN |
Yes | Twilio auth token |
TWILIO_PHONE_NUMBER |
Yes | Your Twilio phone number (E.164) |
WEBHOOK_URL |
No | Public URL for webhooks (auto-tunneled if omitted) |
- Creating a Patter client with Twilio + OpenAI credentials
- Defining a voice agent with a system prompt, voice, and first message
- Starting the embedded server to accept incoming calls
- OpenAI Realtime mode (all-in-one STT + LLM + TTS)
- Outbound Calls — place calls with AMD
- Tool Calling — add webhook-backed tools
- Custom Voice — pipeline mode with Deepgram + ElevenLabs
- Full documentation
- All templates
MIT