Prerequisites
Before you begin, make sure you have:- A Twilio account (for phone numbers and calls)
- API keys for at least one provider in each category:
- LLM (Language Model): OpenAI, Anthropic, Gemini, xAI, or Groq
- TTS (Text-to-Speech): ElevenLabs, Deepgram, Inworld, or Resemble
- STT (Speech-to-Text): Deepgram
- A phone number purchased in Twilio (recommended)
- Python 3.9+ and Docker (for local setup)
Tip: You can start with free or trial accounts for most providers.
1. Clone & Install
2. Set Up Environment Variables
Copy the example file and fill in your secrets:3. Run the App
4. Create Your First Assistant
- Log in (register if needed)
- Click “Create New Assistant”
- Fill in:
- Basic Info: Name, description
- AI Configuration:
- Pick your LLM, TTS, and STT providers
- Paste in your API keys
- Choose models and voices
- Set a greeting message
- Integration: Add your Twilio phone number
- (Optional) Configure RAG, call management, and tools
- Click “Create Assistant”
That’s it! Your assistant is ready to take calls.
Minimal Example Configuration
Here’s what a minimal working setup looks like:- LLM Provider: OpenAI (GPT-4o)
- TTS Provider: ElevenLabs (Flash v2.5, Rachel)
- STT Provider: Deepgram (Nova-3, English)
- Twilio Number: Your purchased number
5. Making Your First API Call
Once your assistant is created, you can interact with it using the API. All API requests must be authenticated using a Bearer Token.A. Get Your API Key
- From the web interface, click on your profile/organization name in the top right corner.
- Navigate to API Keys.
- Click “Generate New API Key”.
- Give it a descriptive name and click “Create”.
- Copy the key immediately! You won’t be able to see it again for security reasons.
B. Authenticate Your Request
To make an authenticated API call, include the API key in theAuthorization
header of your request, prefixed with Bearer
.
Here is an example using curl
to list your assistants: