An intelligent LinkedIn networking automation tool that helps you build meaningful professional connections through AI-powered personalized email outreach.
- Smart Profile Analysis: Automatically extracts and analyzes LinkedIn profiles using advanced web scraping
- AI-Powered Email Generation: Creates personalized, context-aware emails using GPT-4 for genuine connections
- Gmail OAuth Integration: Secure email sending through Gmail API with OAuth 2.0 authentication
- Modern Web Interface: Beautiful React frontend with Tailwind CSS for seamless user experience
- Rate Limiting & Security: Built-in protection against abuse with comprehensive rate limiting
- Email History Tracking: Keep track of all your outreach emails and their status
- Real-time Processing: Instant profile analysis and email generation
- Cross-Platform Compatibility: Works on Windows, macOS, and Linux
- FastAPI: High-performance Python web framework
- Playwright: Advanced web automation for LinkedIn profile extraction
- OpenAI GPT-4: AI-powered email generation
- SQLAlchemy: Database ORM with PostgreSQL
- Gmail API: Secure email sending
- JWT: Stateless authentication
- Pydoll: Modern browser automation
- React 19: Latest React with modern hooks and features
- Tailwind CSS: Utility-first CSS framework
- Axios: HTTP client for API communication
- React Router: Client-side routing
- Lucide React: Beautiful icon library
- PostgreSQL: Reliable database storage
- Docker: Containerized deployment
- Rate Limiting: Built-in protection against abuse
- CORS: Cross-origin resource sharing support
- Python 3.8+
- Node.js 16+
- PostgreSQL database
- Google Cloud Platform account (for Gmail API)
- OpenAI API key
- LinkedIn account
git clone https://github.com/yourusername/LinkedInAutomater.git
cd LinkedInAutomater# Install Python dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your actual valuescd linkedin-automater-frontend
npm install# Create PostgreSQL database
createdb linkedin_automater
# Run database migrations
python -c "from database import engine; from models import Base; Base.metadata.create_all(bind=engine)"Create a .env file in the root directory:
# OpenAI Configuration
OPENAI_API_KEY=your_openai_api_key
# LinkedIn Credentials
USERNAME=your_linkedin_email
PASSWORD=your_linkedin_password
# Google OAuth
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
REDIRECT_URI=https://yourdomain.com/oauth/callback
# Database
DATABASE_URL=postgresql://username:password@localhost/linkedin_automater
# Security
SECRET_KEY=your_secret_key_for_jwt# Terminal 1: Start the backend
python app.py
# Terminal 2: Start the frontend
cd linkedin-automater-frontend
npm startVisit http://localhost:3000 to access the application.
- Go to Google Cloud Console
- Create a new project or select existing one
- Enable Gmail API
- Create OAuth 2.0 credentials
- Add your redirect URI to authorized redirect URIs
- Download the credentials and update your
.envfile
- Sign up at OpenAI
- Generate an API key
- Add the key to your
.envfile
- Authentication: Log in with your Gmail account using OAuth
- Profile Setup: Enter your LinkedIn profile URL to set up your profile
- Find Connections: Enter the LinkedIn URL of someone you want to connect with
- Add Context: Provide any additional context about your connection
- Review & Send: Review the AI-generated email and send it
- OAuth 2.0 Authentication: Secure Gmail integration
- JWT Tokens: Stateless authentication
- Rate Limiting: Protection against abuse
- CORS Protection: Secure cross-origin requests
- Input Validation: Comprehensive data validation
- Error Handling: Graceful error management
- Secure Headers: Security-focused HTTP headers
| Endpoint | Method | Description |
|---|---|---|
/authenticate_gmail |
POST | Gmail OAuth authentication |
/setup |
POST | Set up user's LinkedIn profile |
/find_connection |
POST | Analyze connection's profile and generate email |
/send_email |
POST | Send connection request email |
/email_history |
GET | View sent email history |
/check_linkedin_status |
GET | Check LinkedIn authentication status |
/oauth/url |
GET | Get Google OAuth URL |
/oauth/callback |
GET | Handle OAuth callback |
- Authentication: 5 requests per 5 minutes
- Profile Analysis: 10 requests per 5 minutes
- Email Sending: 10 requests per 5 minutes
- Read Operations: 30 requests per minute
docker-compose up --builddocker-compose -f docker-compose.prod.yml up -d# Backend tests
python -m pytest
# Frontend tests
cd linkedin-automater-frontend
npm testThe application includes health check endpoints:
curl http://localhost:8000/health- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- OpenAI for GPT-4 API
- Playwright for web automation
- FastAPI for the backend framework
- React and Tailwind CSS for the frontend
- Gmail API for email functionality
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the maintainers
This tool is designed for legitimate networking purposes. Please ensure you comply with LinkedIn's Terms of Service and use the tool responsibly. The developers are not responsible for any misuse of this application.