A CLI tool for sending mass lead emails to prospective clients from CSV files, with AI-powered template personalization and future Voice AI integration.
- Project setup and configuration
- CSV parsing for lead data (WorkEmail, PersonalEmail, Phone fields)
- Email sending via Mailgun API (batches of 300)
- AI-powered email template personalization using OpenAI
- CLI interface with multiple commands
- NPM module support for programmatic usage
- Voice AI stub for future Twilio integration
- Comprehensive testing suite
- Initialize project structure
- Create package.json with dependencies
- Update .env.sample with required credentials
- Set up ESLint and Prettier configuration
- Create basic directory structure
- CSV parser module (
src/csv-parser.js) - Email service module (
src/email-service.js) - AI service module (
src/ai-service.js) - Voice AI stub module (
src/voice-service.js)
- Generate 10 custom sales templates with AI placeholders
- Save templates to
src/templates/directory - Create template selection and management system
- Main CLI entry point (
bin/lead-generator.js) - Command-line argument parsing
- Progress bars and status reporting
- Error handling and validation
- Main module export (
index.js) - Programmatic API for Node.js projects
- LeadGenerator class for easy usage
- Unit tests for CSV parser
- Unit tests for AI service
- Unit tests for email service
- Mock services for testing
- README.md with usage examples
- API documentation
- Configuration guide
- CLI usage examples
- ✅ CSV file processing with validation
- ✅ Email validation (WorkEmail/PersonalEmail priority)
- ✅ AI-powered template personalization via OpenAI
- ✅ Mailgun email sending with batching
- ✅ Rate limiting and retry logic
- ✅ Comprehensive error handling
- ✅ 10 professional sales email templates
- ✅ Template categorization (growth, solution, social-proof, etc.)
- ✅ Tone classification (professional, consultative, confident, etc.)
- ✅ AI placeholder system for personalization
- ✅
send- Send email campaigns from CSV - ✅
templates- List and filter available templates - ✅
validate- Validate CSV file format and data - ✅
voice- Voice AI status (stub implementation)
- ✅ LeadGenerator class for programmatic usage
- ✅ Individual module exports for granular control
- ✅ Quick start function for simple campaigns
- ✅ Configuration validation
- ✅ Comprehensive test suite using Mocha + Chai
- ✅ Mock implementations for external services
- ✅ Edge case coverage for validation logic
- ✅ Error handling tests
- ✅
yargs- Command-line argument parsing - ✅
csv-parser- CSV file parsing - ✅
mailgun.js- Mailgun email API - ✅
openai- OpenAI API integration - ✅
twilio- Voice AI (stub implementation) - ✅
cli-progress- Progress bars - ✅
ansi-colors- Terminal colors - ✅
dotenv- Environment variable management - ✅
mocha+chai+sinon- Testing framework
- ✅
MAILGUN_API_KEY- Mailgun API key - ✅
MAILGUN_DOMAIN- Mailgun domain - ✅
OPENAI_API_KEY- OpenAI API key - ✅
TWILIO_ACCOUNT_SID- Twilio account SID (future) - ✅
TWILIO_AUTH_TOKEN- Twilio auth token (future) - ✅
TWILIO_PHONE_NUMBER- Twilio phone number (future) - ✅ Email configuration (from, reply-to, etc.)
- ✅ Batch processing settings
- ✅ Feature flags (personalization, tracking, etc.)
- Bland.ai API integration for automated cold calling
- CSV input handling for voice campaigns (Name, PhoneNumber, Email)
- IVR system with Press 1 (SMS + Calendly) and Press 2 (opt-out) options
- Webhook server for call outcome callbacks
- Real-time call status monitoring
-
coldcall run --input contacts.csv- Start cold calling campaign -
coldcall status- Show current campaign status -
coldcall report- Generate detailed outcome reports - Replaced deprecated
voicecommand with newcoldcallcommands
- Call outcome logging (successful, missed, duration, IVR choices)
- Structured JSON/CSV reporting for follow-up
- Compliance features (AI identification, call hours, do-not-call)
- SMS integration placeholder for Calendly link delivery
- Bland.ai REST API client (
src/bland-ai-service.js) - Webhook server setup with Express.js (
src/webhook-server.js) - Enhanced CSV parser for voice-specific fields
- Call campaign management and status tracking
- Comprehensive test suite for CLI coldcall commands
- Updated CLI routing and argument parsing
- Create voice call template system similar to email templates
- 10 professional voice call scripts with different approaches
- Template categorization (opener, problem-solver, social-proof, etc.)
- Tone classification (professional, conversational, direct, etc.)
- Placeholder system for personalization (FIRST_NAME, COMPANY_NAME, etc.)
- Template manager for voice scripts (
src/voice-templates/)
- Update BlandAIService to use template system
- Template selection and randomization
- Dynamic script generation from templates
- Template-based personalization for voice calls
- Comprehensive test coverage for template system
- Backward compatibility with existing voice calling functionality
- 10 distinct voice call templates with unique approaches:
- Professional Opener - Value proposition focused
- Problem Solver - Challenge-focused approach
- Social Proof - Success story leveraging
- Curiosity Hook - Mystery and intrigue based
- Direct Approach - No-nonsense straightforward
- Conversational - Friendly and approachable
- Urgency - Time-sensitive opportunities
- Industry Insight - Knowledge and trend sharing
- Referral Based - Trust and connection leveraging
- Follow-up - Persistence-based approach
- Template organization by category and tone
- Personalization system with contact and config data
- Error handling and fallback mechanisms
- Add status and notes columns to CSV processing
- Track email campaign responses (sent, failed, bounced, etc.)
- Track voice call responses (answered, voicemail, opted-out, scheduled, etc.)
- Update original CSV file with response data
- Preserve original data while adding tracking columns
- Comprehensive test coverage for status tracking functionality
- Email statuses: sent, failed, bounced, opened, clicked, replied
- Voice call statuses: answered, voicemail, no-answer, opted-out, scheduled, failed
- Notes field for additional context and follow-up information
- Timestamp tracking for all interactions
- Contact lookup by email or phone number
- Status filtering and reporting capabilities
- CSV status tracker module (
src/csv-status-tracker.js) - Status constants and validation
- Backup functionality for CSV files
- Async/await support for all operations
- Error handling and graceful degradation
-
coldcall templates- List and filter available voice templates - Template selection options in coldcall commands
- A/B testing support for voice scripts
- Email Tracking Pixels - Add open/click tracking to email campaigns
- Link Shortening & Analytics - Branded short links with click analytics
- Unsubscribe Management - One-click unsubscribe handling
- Template Versioning - Track template changes over time
- Bulk Operations - Mass update contact statuses
- Export Functionality - CSV/Excel export of all campaign data
- Enhanced CLI Interactive Mode - Guided campaign setup wizard
- Configuration Profiles - Save and switch between different setups
- Dry Run Mode - Preview campaigns before execution
- Progress Indicators - Better visual feedback during operations
- Basic A/B Testing - Compare template performance automatically
- Email Deliverability Tools - Bounce management and list cleaning
- Lead Enrichment APIs - Clearbit/ZoomInfo integration for contact data
- Simple Analytics Dashboard - Web-based campaign insights
- Webhook Framework - Real-time data sync with external systems
- Contact Verification - Real-time email/phone validation
- Campaign Scheduling - Schedule campaigns for optimal timing
- Team Collaboration - Share campaigns and results with team members
- Mobile Notifications - Push alerts for responses and meetings
- Voice Template CLI -
coldcall templatescommand
- Smart Campaign Orchestration - Automated email → voice call sequences
- CRM Integration Hub - Salesforce/HubSpot/Pipedrive connectivity
- AI-Powered Personalization - Company research and social media insights
- Advanced Analytics - Conversion funnels and ROI tracking
- Visual Campaign Builder - Drag-and-drop workflow interface
- Database Integration - PostgreSQL/MongoDB for large-scale management
- Queue System - Redis/Bull for processing large campaigns
- Multi-language Support - International campaign capabilities
- Voice Cloning - Custom AI voices for different campaigns
- Real-time Conversation AI - Dynamic responses during calls
- Microservices Architecture - Separate services for email, voice, analytics
- Advanced Compliance Suite - GDPR/CCPA compliance and audit trails
- AI Sales Assistant - Conversation intelligence and next best actions
- Mobile App Development - iOS/Android app for campaign monitoring
- API Marketplace - Third-party integrations and plugins
- Predictive Analytics - ML models for lead scoring and optimization
- Enterprise Security - SSO, role-based access, encryption
- White-label Solution - Customizable branding and deployment
- Advanced Voice AI - Call recording, transcription, sentiment analysis
- Global Infrastructure - Multi-region deployment and scaling
- Email Tracking Pixels - High impact, low effort
- Enhanced CLI Interactive Mode - Great UX improvement
- Template Versioning - Important for template management
- Export Functionality - Frequently requested feature
- Basic A/B Testing - Critical for optimization
- Lead Enrichment APIs - High value for users
- Simple Analytics Dashboard - Visual insights
- Campaign Scheduling - Workflow improvement
- Smart Campaign Orchestration - Game-changing feature
- CRM Integration - Enterprise requirement
- AI-Powered Personalization - Competitive advantage
- Database Integration - Scalability foundation
- Visual Campaign Builder - Professional interface
- Mobile App - Modern user experience
- Advanced Analytics - Business intelligence
- Microservices Architecture - Enterprise scalability
- A/B testing for voice scripts
- Advanced call analytics and reporting
- CRM integrations for call logging
- Multi-language voice support
- Unified campaigns (email + voice follow-up)
- Cross-channel analytics and reporting
- Automated sequence management
- Database integration for lead management
- Queue system for large voice campaigns
- Distributed processing support
- Advanced rate limiting strategies
- CSV Processing - Robust parsing with validation
- Email Campaigns - Mailgun integration with batching
- AI Personalization - OpenAI-powered template customization
- CLI Interface - Full-featured command-line tool
- NPM Module - Programmatic API for Node.js projects
- Voice AI Integration - Bland.ai cold-calling with IVR system
- Testing - Comprehensive test coverage
- Documentation - Complete usage guide and API docs
- Voice Template System - Professional voice call script templates
- CSV Status Tracking - Email and voice campaign response tracking
- 10 Professional Templates - Diverse voice call scripts with different approaches
- Template Categories - Organized by opener, solution, social-proof, curiosity, etc.
- Tone Classification - Professional, conversational, direct, urgent, and more
- Dynamic Personalization - Contact and company-specific script generation
- Template Management - Easy selection, randomization, and customization
- Backward Compatible - Seamless integration with existing voice calling system
- Automated Cold Calling - Bland.ai integration with template-powered voice scripts
- IVR System - Press 1 for interest (SMS + Calendly), Press 2 to opt-out
- Webhook Callbacks - Real-time call outcome processing
- Compliance Features - Call hours, do-not-call lists, AI identification
- Campaign Management - Batch processing with status tracking and reporting
- Script Variety - Multiple template approaches for different scenarios
lead-generator send <csv-file>- Email campaignslead-generator coldcall run <csv-file>- Voice calling campaignslead-generator coldcall status- Campaign status monitoringlead-generator coldcall report- Detailed outcome reportslead-generator templates- List email templateslead-generator validate <csv-file>- CSV validationlead-generator setup- Interactive configuration setup
- Interactive setup command - Add
lead-generator setupcommand that prompts for API keys and configuration - Configuration storage - Store configuration in
~/.config/lead-generator/config.jsonfollowing standard patterns - Configuration validation - Validate required fields and email formats
- Configuration merging - Merge user config with defaults for complete configuration
- Force overwrite option -
--forceflag to overwrite existing configuration - Custom config path -
--config-pathoption for custom configuration location
- Default configuration structure - Complete config template with all sections
- Configuration validation - Email format validation and required field checking
- Safe configuration loading - Graceful handling of missing or corrupted config files
- Configuration merging - Deep merge of user config with defaults
- Path management - Standard config path generation and directory creation
- Error handling - Comprehensive error handling for file operations
- Setup command integration - Added setup command to main CLI interface
- Existing config detection - Warn users about existing configuration
- Interactive prompts - User-friendly prompts for all configuration options
- Configuration summary - Display masked configuration summary before saving
- Confirmation workflow - User confirmation before saving configuration
- Email configuration - Mailgun API key, domain, from/reply-to addresses, batch settings
- AI configuration - OpenAI API key, model selection, token limits
- Voice configuration - Bland.ai API key, phone number, batch settings
- Webhook configuration - Enable/disable webhooks, port configuration
- General settings - Retry attempts, timeouts, logging levels
- Configuration manager tests - Complete test suite for all config operations
- CLI setup tests - Integration tests for setup command functionality
- Validation tests - Tests for configuration validation logic
- Error handling tests - Tests for graceful error handling
- File operation tests - Tests for config file creation and loading
Ready for production use with full email, voice AI, and configuration management capabilities! 🚀📧📞⚙️