Automated LinkedIn scraping + Bedrock Nova AI email generation + CCAI delivery system.
Core System:
ai_email_generator.py- Bedrock Nova AI email generator (no fallbacks)generate_outbound_firefox.py- Firefox LinkedIn scraper + email generatorsend_outbound_emails.py- CCAI email sender (schedules for 5pm tomorrow).env- Environment variables (CCAI API keys, AWS credentials)
Dependencies:
pyproject.toml- Python dependenciesrequirements.txt- Alternative dependency file
-
Firefox Browser (required - Chrome has LinkedIn bot detection issues)
# Install Firefox brew install firefox -
Python Dependencies
# Install UV package manager curl -LsSf https://astral.sh/uv/install.sh | sh export PATH="$HOME/.local/bin:$PATH" # Install dependencies uv python install uv sync
-
AWS Credentials (for Bedrock Nova)
# Set AWS credentials export AWS_ACCESS_KEY_ID="your-key" export AWS_SECRET_ACCESS_KEY="your-secret" export AWS_REGION="us-east-1"
-
CCAI API Credentials (create
.envfile)CCAI_API_KEY=your-ccai-api-key CCAI_CLIENT_ID=your-client-id CCAI_EMAIL_URL=your-email-url SENDER_EMAIL=your-sender-email SENDER_NAME=Your Name
python generate_outbound_firefox.py contacts.csv 5- Opens Firefox browser (visible)
- Log into LinkedIn manually when prompted
- Scrapes LinkedIn profiles from CSV
- Generates personalized emails with Bedrock Nova
- Saves to
ai_gmail_outbound_results.json
python send_outbound_emails.py- Sends emails via CCAI API
- Automatically schedules for 5pm tomorrow PST
- Shows delivery confirmation
Your CSV must have these columns:
First Name- Contact first nameLast Name- Contact last nameEmail- Email addressPerson Linkedin Url- LinkedIn profile URLCompany- Company name (optional, will be scraped)
- Firefox Required: Chrome triggers LinkedIn bot detection
- Manual Login: You must log into LinkedIn manually in Firefox
- Bedrock Nova: No fallbacks - requires valid AWS credentials
- Email Scheduling: Automatically schedules for 5pm tomorrow
- Rate Limiting: 3-second delays between LinkedIn scrapes
LinkedIn Access Issues:
- Use Firefox only (not Chrome/Safari)
- Log in manually when browser opens
- Complete any security challenges
AWS/Bedrock Issues:
- Verify AWS credentials are set
- Ensure Bedrock Nova access in us-east-1
- Check AWS billing/limits
Email Sending Issues:
- Verify CCAI API credentials in
.env - Check CCAI dashboard for delivery status
Remove these unnecessary files before committing:
- All
*test*.pyfiles - All
*debug*.pyfiles - All
*manual*.pyfiles linkedin_mcp_server/directory (not needed for Firefox approach)- Any
cache_*.jsonfiles - Browser-specific test files
Keep only the 4 essential files listed above plus dependencies.