An intelligent automated interview scheduling system that uses AI-powered phone calls to schedule interviews with candidates. The system integrates with Twilio for voice calls, MongoDB for data storage, and email services for confirmations.
- AI-Powered Voice Calls: Automated phone calls using Twilio and OpenAI
- Intelligent Conversation Flow: Natural language processing for scheduling
- MongoDB Integration: Complete candidate and call tracking
- Email Confirmations: Automated interview confirmation emails via Resend/SendGrid
- Real-time Analytics: Comprehensive call and scheduling analytics
- Retry Logic: Smart retry mechanism for failed calls
- Dashboard UI: Frontend interface for managing candidates and interviews
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ Frontend │ │ Backend │ │ External │
│ (Next.js) │ │ (FastAPI) │ │ Services │
├─────────────────┤ ├─────────────────┤ ├─────────────────┤
│ • Dashboard │◄──►│ • API Endpoints │◄──►│ • Twilio Voice │
│ • Candidate Mgmt│ │ • AI Logic │ │ • OpenAI GPT │
│ • Analytics │ │ • Webhooks │ │ • MongoDB Atlas │
│ • Call Logs │ │ • Email Service │ │ • Resend/SendGrid│
└─────────────────┘ └─────────────────┘ └─────────────────┘
- Python 3.8+
- Node.js 16+ (for frontend)
- MongoDB Atlas account
- Twilio account with phone number
- Resend or SendGrid account for emails
- OpenAI API key
-
Clone the repository
git clone https://github.com/muhammadnavas/AI_Interview_Caller.git cd AI_Interview_Caller/backend -
Create virtual environment
python -m venv venv # Windows venv\Scripts\activate # Linux/Mac source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Environment Setup Create a
.envfile in the backend directory:# Email Configuration SMTP_SERVER=smtp.gmail.com SMTP_PORT=587 SMTP_USERNAME=your_email@gmail.com SMTP_PASSWORD=your_app_password SENDER_EMAIL=your_email@gmail.com # Email Providers (HTTP APIs - Primary) EMAIL_USER=your_email@gmail.com EMAIL_PASS=your_app_password RESEND_API_KEY=re_your_resend_api_key SENDGRID_API_KEY=SG.your_sendgrid_api_key # AI Configuration GEMINI_API_KEY=your_gemini_api_key OPENAI_API_KEY=sk-your_openai_api_key # Twilio Configuration TWILIO_ACCOUNT_SID=ACyour_account_sid TWILIO_AUTH_TOKEN=your_auth_token TWILIO_PHONE_NUMBER=+1234567890 # Webhook URL (for deployment) WEBHOOK_BASE_URL=https://your-app.onrender.com # MongoDB Configuration MONGODB_URI=mongodb+srv://username:password@cluster.mongodb.net/?retryWrites=true&w=majority MONGODB_DB=test MONGODB_COLLECTION=shortlistedcandidates
-
Run the application
uvicorn main:app --host 0.0.0.0 --port 8000 --reload
-
Navigate to frontend directory
cd ../frontend -
Install dependencies
npm install
-
Run the development server
npm run dev
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
For issues and questions:
- Create an issue on GitHub
- Check the troubleshooting section
- Review the API documentation
- Multi-language support
- Advanced analytics dashboard
- Integration with calendar systems
- SMS notifications
- Video interview scheduling
- Candidate feedback collection
- Advanced AI conversation training
Built with ❤️ for efficient interview scheduling automation.