This repository contains a comprehensive autonomous AI cold-calling agent integrated with a custom CRM dashboard. The system is designed to manage leads, track performance, and ensure compliance with Indian telecommunications regulations while providing human-like voice interactions.
- Lead Management: Import and validate leads from CSV or API with DND registry checking
- Campaign Management: Define goals, generate compliant scripts, and schedule campaigns
- Autonomous Voice AI: Human-like conversations with emotion detection and adaptation
- CRM Dashboard: Real-time KPIs, interactive visualizations, and comprehensive reporting
- Compliance: Full adherence to Indian telecommunications regulations
- Security: Data encryption, role-based access, and comprehensive audit logging
- Backend: Node.js with Express
- Frontend: React with TypeScript
- Database: SQL with Sequelize ORM
- Telephony: Twilio integration for voice calls
- Deployment: AWS (Elastic Beanstalk, RDS, S3, CloudFront)
The system follows a modular architecture with the following components:
-
Backend Services
- RESTful API endpoints
- Authentication and authorization
- Lead and campaign management
- Advanced voice AI engine
- Analytics and reporting
-
Frontend Dashboard
- Responsive UI with Material design
- Real-time data visualization
- Interactive reporting
- Campaign management interface
- Lead management tools
-
Voice AI System
- Multiple voice personalities
- Emotion detection and adaptation
- Context-aware conversations
- Natural language understanding
- Objection handling
-
Integration Layer
- Twilio telephony services
- Database connectivity
- AWS deployment services
- Compliance checking services
- Node.js (v14+)
- npm or yarn
- SQL database (MySQL recommended)
- Twilio account with voice capabilities
- AWS account (for production deployment)
-
Clone the repository:
git clone https://github.com/yourusername/ai-cold-calling-agent.git cd ai-cold-calling-agent
-
Install backend dependencies:
cd backend npm install
-
Install frontend dependencies:
cd ../frontend npm install
-
Set up environment variables:
- Copy
.env.example
to.env
in both backend and frontend directories - Update the variables with your specific configuration
- Copy
-
Set up the database:
cd ../backend npm run migrate
-
Start the backend server:
cd backend npm run dev
-
Start the frontend development server:
cd frontend npm start
-
Access the application at
http://localhost:3000
The system includes advanced voice AI with the following capabilities:
- Multiple Voice Personalities: Professional, friendly, and empathetic voices
- Bilingual Support: English and Hindi language capabilities
- Emotion Detection: Identifies customer emotions from speech
- Adaptive Responses: Changes tone and approach based on customer emotions
- Natural Conversation: Human-like dialogue with context awareness
For local development and testing, follow the installation and running instructions above.
For production deployment on AWS:
-
Configure AWS credentials:
aws configure
-
Run the deployment script:
cd backend npm run deploy:aws
-
Follow the prompts to complete the deployment process
ai-cold-calling-agent/
├── backend/ # Node.js backend
│ ├── src/
│ │ ├── config/ # Configuration files
│ │ ├── controllers/ # API controllers
│ │ ├── middleware/ # Express middleware
│ │ ├── models/ # Sequelize models
│ │ ├── routes/ # API routes
│ │ ├── scripts/ # Utility scripts
│ │ ├── services/ # Business logic
│ │ └── utils/ # Helper utilities
│ ├── .env.example # Example environment variables
│ ├── package.json # Backend dependencies
│ └── server.js # Entry point
├── frontend/ # React frontend
│ ├── public/ # Static assets
│ ├── src/
│ │ ├── api/ # API integration
│ │ ├── components/ # React components
│ │ ├── redux/ # State management
│ │ ├── types/ # TypeScript definitions
│ │ └── utils/ # Helper utilities
│ ├── .env.example # Example environment variables
│ └── package.json # Frontend dependencies
├── database/ # Database scripts and migrations
├── docs/ # Documentation
└── README.md # Project overview
The system is designed to comply with Indian telecommunications regulations:
- DND Registry: Checks numbers against Do Not Disturb registry
- Calling Hours: Respects permitted calling hours (9 AM to 9 PM, Monday to Saturday)
- Script Compliance: Validates scripts for regulatory compliance
- Data Protection: Encrypts sensitive information
- Audit Logging: Maintains comprehensive logs for compliance verification
- Twilio for telephony services
- AWS for cloud infrastructure
- React and Node.js communities for excellent frameworks