Transform your recruitment process with AI-powered WhatsApp interviews
Features β’ Quick Start β’ Usage β’ Configuration β’ Architecture
Transform your recruitment process with our AI-powered WhatsApp Interview Bot. Conduct initial screenings, technical assessments, and HR interviews automatically through WhatsApp, powered by advanced AI for natural conversations and intelligent candidate evaluation.
- π€ Natural Conversations: AI-powered chat that feels human and engaging.
- π― Multi-stage Interviews:
- Initial screening
- Technical assessment
- HR interview
- π Smart Evaluation: Real-time scoring and feedback.
- π Auto Scheduling: Google Calendar integration for successful candidates.
- β‘ Quick Setup: Up and running in minutes.
- π Session Management: Robust handling of multiple interviews.
- π Bahasa Indonesia: Fully supports Indonesian language.
Before you start, ensure you have the following:
- Node.js >= 16.0.0
- npm or yarn
- A WhatsApp account
- Groq AI API key
- Google Calendar API credentials (optional)
-
Clone the Repository
git clone https://github.com/yourusername/whatsapp-interview-bot.git cd whatsapp-interview-bot
-
Install Dependencies
npm install
-
Configure Environment Variables
cp .env.example .env
Edit your
.env
file with the following values:GROQ_API_KEY=your_groq_api_key PORT=3000
Optional (for Google Calendar integration):
GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret GOOGLE_REFRESH_TOKEN=your_google_refresh_token HR_EMAIL=hr@company.com
-
Start the Application
node server.js # For development node --watch server.js
-
Connect WhatsApp
-
Scan the QR code shown in the terminal with WhatsApp
-
Wait for the "WhatsApp bot is ready!" message
-
To initiate an interview, candidates should send:
Hi, saya tertarik dengan posisi Operation Staff - Worldcoin Project
-
Registration Phase
- Collects email address
- Requests candidateβs full name
- Validates contact info
-
Initial Screening
- Experience assessment
- Availability check
- Basic qualifications
-
Technical Assessment
- Product knowledge evaluation
- Process understanding
- Technical capabilities
-
HR Interview
- Soft skills evaluation
- Cultural fit
- Work style analysis
-
Q&A Opportunities
- Interactions between stages for questions on:
- Company overview
- Role clarification
- Interactions between stages for questions on:
Candidates are scored on:
- Response relevance (1-10)
- Communication clarity (1-10)
- Technical understanding (1-10)
- Overall fit (1-10)
You can customize your interview stages by modifying the interview.js
file:
// src/config/interview.js
const STAGES = {
initial: {
questions: [
"Apakah Anda memiliki pengalaman sebelumnya sebagai sales promoter?",
"Apakah Anda bersedia bekerja dalam shift 12 jam?",
// Add more questions
],
agent: 'recruiter'
},
technical: {
questions: [
"Apa yang Anda ketahui tentang Worldcoin?",
// Add more questions
],
agent: 'technicalExpert'
}
};
Define your AI personality in the agents.js
file:
const AGENTS = {
recruiter: {
name: "Recruiter Sarah",
role: "HR Recruiter",
systemPrompt: "You are Sarah, a friendly and professional HR recruiter. Your goal is to make candidates comfortable while evaluating their potential. Communicate in Bahasa Indonesia with a warm, encouraging tone."
}
};
Add your companyβs details to the company.js
file:
const COMPANY = {
industry: "Technology & Digital Identity Services",
headquarters: "South Tangerang, Banten, Indonesia",
overview: "Your company overview here",
// Add more company details
};
The bot automatically manages interview sessions:
- 30-minute timeout for inactive sessions
- Automatic cleanup of expired sessions
- Robust error handling
The bot handles common scenarios, such as:
- Network interruptions
- Invalid responses
- Timeout management
- API failures
Monitor your bot's performance:
- Console logs for important events
- Error tracking
- Session statistics
-
Data Protection
- No permanent storage of candidate data
- End-to-end encrypted WhatsApp messages
- Secure credential management
-
Session Security
- Memory-based session storage
- Automatic session expiration
- Secure state management
-
API Security
- Rate limiting
- Input validation
- Secure environment variables
-
QR Code Scanning Failed
# Clear WhatsApp session rm -rf .wwebjs_auth # Restart the application npm start
-
Bot Not Responding
- Check internet connection
- Verify WhatsApp connection
- Check API key validity
-
Calendar Integration Issues
- Verify Google Calendar credentials
- Check timezone settings
- Validate email configurations
We welcome contributions! Here's how you can help:
-
Fork the Repository
-
Create a Feature Branch
git checkout -b feature/AmazingFeature
-
Commit Changes
git commit -m 'Add some AmazingFeature'
-
Push to Branch
git push origin feature/AmazingFeature
-
Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- WhatsApp Web.js for WhatsApp integration
- Groq AI for natural language processing
- Google Calendar API for scheduling
Made by Rofiq
Empowering better recruitment through technology