A sophisticated Streamlit application that automates outbound sales calls using AI assistants from Vapi. This platform enables businesses to efficiently manage leads, create custom AI agents, and conduct batch calling campaigns with real-time interaction handling.
- π Lead Management - CSV-based lead import with status tracking (pending/done)
- π€ AI Assistant Creation - Build custom sales assistants with voice selection and behavior customization
- π Batch Calling - Automated sequential calling to multiple leads with intelligent pacing
- β±οΈ Real-time Interaction - Smart call handling with pause/resume during customer speech
- π¬ Multi-channel Support - Voice calls and WhatsApp messaging capabilities
- π Deals Pipeline - Track successful conversions and sales outcomes
- Frontend: Streamlit for intuitive web interface
- AI Integration: Vapi.ai for voice AI capabilities
- Data Management: Pandas for CSV processing, JSON for configuration storage
- APIs: RESTful integration with Vapi's voice AI platform
- Python 3.8+
- Vapi API account
- Twilio account (for phone numbers)
git clone https://github.com/Coding-with-Akrash/outbound-calling-app.git
cd outbound-calling-apppip install streamlit pandas python-dotenv requestsCreate a .env file in the root directory:
VAPI_API_KEY=your_vapi_api_key_here
TWILIO_ACCOUNT_SID=your_twilio_account_sidCreate numbers.csv with the following columns:
phone,name,status
+1234567890,John Doe,pending
+1987654320,Jane Smith,pending
streamlit run app.py- Upload your CSV file with customer numbers
- View pending and completed calls
- Monitor lead status in real-time
- Create custom AI assistants with specific voices and personalities
- Set initial messages and behavior instructions
- Manage multiple assistants for different campaigns
- Select your AI assistant
- Initiate batch calls to all pending leads
- Monitor call progress in real-time
- Track successful conversions
- Analyze call outcomes and performance metrics
- Sales Teams: Automate cold outreach campaigns
- Customer Service: Follow-up calls and satisfaction surveys
- Healthcare: Appointment reminders and follow-ups
- Market Research: Conduct automated surveys via voice AI
Customize your assistant with:
- Voice selection (11Labs integration)
- GPT model choice (3.5-turbo, GPT-4, etc.)
- Custom instructions and behavior patterns
- Call duration limits and interruption settings
- Adjust call pacing between leads
- Configure real-time speech detection
- Set up custom call workflows
outbound-calling-app/
βββ app.py # Main application file
βββ numbers.csv # Leads database
βββ assistants.json # AI assistants storage
βββ deals.json # Closed deals tracking
βββ .env # Environment variables
βββ README.md # This file
| Variable | Description | Required |
|---|---|---|
VAPI_API_KEY |
Your Vapi.ai API key | β |
TWILIO_ACCOUNT_SID |
Twilio account SID for calling | β |
streamlit run app.py- Push code to GitHub repository
- Connect to Streamlit Cloud
- Set environment variables in cloud dashboard
- Deploy automatically
We welcome contributions! Please feel free to submit pull requests for:
- New features and enhancements
- Bug fixes and optimizations
- Documentation improvements
This project is licensed under the MIT License - see the LICENSE file for details.
- Ensure compliance with telecommunications regulations in your region
- Respect Do Not Call lists and privacy laws
- Test call volumes to avoid carrier limitations
- Monitor AI behavior for quality assurance
For issues and questions:
- Check existing GitHub issues
- Create a new issue with detailed description
- Contact support with your use case
Ready to transform your outbound sales π Start calling with AI today!