A comprehensive Python automation solution for event data processing, personalized messaging, and automated communication workflows.
This project demonstrates automation skills through real event data processing, including data cleaning, personalized message generation, and automated communication systems using Python.
Estimated Development Time: 3 hours
Dataset: 600+ rows of event participant data
python-automation-assignment/
├── README.md
├── cleaned_output.csv # Cleaned dataset (provided)
├── personalized_messaging.py # Step 2: Message generation script
├── automation_bonus.py # Step 3: Automation features
├── personalized_messages.csv # Generated messages (output)
├── personalized_messages.json # Bonus: JSON format
├── personalized_messages.txt # Bonus: Text format
└── telegram_queue.json # Telegram bot queue (output)
- Removed duplicate email rows
- Normalized
has_joined_eventvalues (Yes/No → True/False) - Flagged missing/incomplete LinkedIn profiles
- Flagged blank job titles
- Output:
cleaned_output.csv
- Smart message generation based on:
- Event attendance status
- Job title information
- Name personalization
- LinkedIn profile presence
- Multiple output formats:
- CSV (required deliverable)
- JSON (bonus)
- TXT (bonus)
- Email Automation:
- Gmail SMTP integration
- Batch processing with rate limiting
- HTML-formatted emails
- Dry-run testing mode
- Telegram Bot Integration:
- Priority-based message queuing
- Automated scheduling
- Retry logic implementation
pip install pandas smtplib json requestsexport GMAIL_EMAIL="your-email@gmail.com"
export GMAIL_APP_PASSWORD="your-app-password"
export TELEGRAM_BOT_TOKEN="your-bot-token"python personalized_messaging.pyOutput:
personalized_messages.csv(required deliverable)personalized_messages.json(bonus format)personalized_messages.txt(bonus format)
python automation_bonus.pyFeatures:
- Email automation simulation
- Telegram bot queue creation
- Performance analytics
For Event Attendees:
🎉 Hey Venkatesh, thanks for joining our session! As a freelance developer,
we think you'll love our upcoming AI workflow tools. Want early access?
For Non-Attendees:
Hi Arushi, sorry we missed you at the last event! We're preparing another
session that might better suit your interests as a Product Manager.
Hope to see you next time!
email,message
venkatesh@gmail.com,"🎉 Hey Venkatesh, thanks for joining our session!..."
mark@gmail.com,"Hi Mark, sorry we missed you at the last event!..."- Batch Processing: Configurable batch sizes with delays
- Rate Limiting: Prevents spam detection
- HTML Formatting: Professional email templates
- Error Handling: Comprehensive logging and retry logic
- Test Mode: Safe dry-run functionality
- Priority Queuing: High priority for event attendees
- Smart Scheduling: Delayed sending for non-attendees
- JSON Queue Format: Bot-ready message structure
- Retry Logic: Automatic failure handling
- Message Generation: ~5 messages/second
- Email Processing: Configurable batch sizes (default: 10)
- Success Tracking: Detailed analytics and reporting
- Error Handling: Comprehensive failure management
- Environment Variables: Secure credential management
- Dry-run Mode: Safe testing without actual sending
- Input Validation: Data sanitization and error checking
- Rate Limiting: API abuse prevention
# Email testing
messenger.send_email_smtp(test_mode=True)
# Automation demo
python automation_bonus.py # Runs in simulation mode by default# Set dry_run=False for actual email sending
email_automation.send_batch_emails(dry_run=False)| Requirement | Status | Implementation |
|---|---|---|
| Data cleaning script | ✅ | cleaned_output.csv provided |
| Personalized messaging | ✅ | personalized_messaging.py |
| CSV output with email/message | ✅ | personalized_messages.csv |
| Bonus formats (TXT/JSON) | ✅ | Multiple output formats |
| SMTP email automation | ✅ | Gmail integration with batching |
| Telegram bot integration | ✅ | Queue system with priority |
- Python 3.7+
- Libraries:
pandas- Data processing and CSV handlingsmtplib- Email automationjson- Data serializationrequests- API communicationdatetime- Timestamp management
- Database integration for persistent storage
- Web dashboard for campaign management
- Advanced analytics and A/B testing
- Multi-language message support
- Advanced scheduling algorithms
- Integration with CRM systems
For questions about this implementation or the assignment, please reach out through the provided communication channels.
Note: This project demonstrates automation skills for internship evaluation. All email sending is in test mode by default to prevent accidental messaging.