A comprehensive web application that enables users to create AI assistants capable of having natural conversations over phone calls and WhatsApp messages.
Built with Streamlit, powered by Vapi.ai, Twilio, and ElevenLabs integrations.
- 🤖 AI Assistant Creation – Custom assistants with unique voices and personalities
- 📞 Voice Calls – Make AI-powered phone calls via Vapi
- 💬 WhatsApp Integration – Conversational AI on WhatsApp using Twilio
- 🎭 Voice Studio – Preview and test different AI voices
- 📒 Communication History – Track calls, messages, and assistant logs
- 👤 User Accounts – Secure authentication and profiles
- ⚙️ API Configuration – Easy setup for Vapi, Twilio & ElevenLabs
- Python 3.8+
- Vapi.ai API key
- Twilio account (for WhatsApp integration)
- ElevenLabs account (for voice generation)
Install dependencies:
pip install -r requirements.txtCreate a .env file in the root directory:
VAPI_API_KEY=your_vapi_api_key_here
TWILIO_ACCOUNT_SID=your_twilio_account_sid
TWILIO_AUTH_TOKEN=your_twilio_auth_token
TWILIO_PHONE_NUMBER=your_twilio_phone_number
WHATSAPP_BUSINESS_NUMBER=your_whatsapp_business_numberRun the application:
streamlit run app.py- Create an account or login
- Passwords securely hashed with bcrypt
- Add Vapi and Twilio API keys in settings
- Set WhatsApp Business number
- Define assistant name and personality
- Choose AI models (GPT-4, GPT-3.5-turbo, etc.)
- Select custom voice and system instructions
- Select an assistant → Enter phone number
- Initiate AI-powered calls
- Monitor call duration & status
- Configure Twilio WhatsApp
- AI assistants respond to text & voice messages
- Preview AI voices
- Generate speech from text
- Adjust stability & similarity
-
Frontend: Streamlit
-
Backend: Python
-
Authentication: bcrypt (secure password hashing)
-
APIs:
- Vapi.ai → AI voice calls
- Twilio → WhatsApp integration
- ElevenLabs → Voice generation
-
Storage: JSON files (
users.json,call_history.json)
- Sign up at vapi.ai
- Get your API Key
- Add it to
.envor app settings
-
Sign up at twilio.com
-
Get your Account SID & Auth Token
-
Configure a WhatsApp Business number
-
Set webhook URL:
http://your-server:5000/whatsapp-webhook
-
Real-time Call Handling Detects caller speech, auto pause/resume, smooth interruptions
-
Voice Selection Pre-made & custom voice options with real-time previews
-
Communication History Logs for calls and WhatsApp messages with timestamps
-
User Management Custom assistants saved per user with preferences
ai-voice-assistant/
├── app.py # Main application
├── users.json # User database
├── call_history.json # Call history
├── call_Summary.json # Call summaries
├── .env # Environment variables
├── requirements.txt # Dependencies
└── README.md # Documentation
- Vapi.ai – AI voice API
- Twilio – WhatsApp integration
- Streamlit – Web framework
- ElevenLabs – Voice generation