OpenOutreach
Linkedin Automation Tool: Visit Profile, Connect, Message with AI
Stars: 1082
OpenOutreach is a self-hosted, open-source LinkedIn automation tool designed for B2B lead generation. It automates the entire outreach process in a stealthy, human-like way by discovering and enriching target profiles, ranking profiles using ML for smart prioritization, sending personalized connection requests, following up with custom messages after acceptance, and tracking everything in a built-in CRM with web UI. It offers features like undetectable behavior, fully customizable Python-based campaigns, local execution with CRM, easy deployment with Docker, and AI-ready templating for hyper-personalized messages.
README:
The open-source growth engine that puts your LinkedIn B2B lead generation on autopilot.
OpenOutreach is a self-hosted, open-source LinkedIn automation tool designed for B2B lead generation, without the risks and costs of cloud SaaS services.
It automates the entire outreach process in a stealthy, human-like way:
- Discovers and enriches target profiles
- Ranks profiles using ML (logistic regression + Thompson Sampling) for smart prioritization
- Sends personalized connection requests
- Follows up with custom messages after acceptance
- Tracks everything in a built-in CRM with web UI (full data ownership, resumable workflows)
Why choose OpenOutreach?
- π‘οΈ Undetectable β Playwright + stealth plugins mimic real user behavior
- π Fully customizable β Python-based campaigns for unlimited flexibility
- πΎ Local execution + CRM β You own your data, browse it in a web UI
- π³ Easy deployment β Dockerized, one-command setup
- β¨ AI-ready β Built-in templating for hyper-personalized messages (easy integration with latest models like GPT-5.3-Codex)
Perfect for founders, sales teams, and agencies who want powerful automation without account bans or subscription lock-in.
Get up and running in minutes by running the application directly on your machine.
- Git
- Python (3.11+ recommended)
-
venvfor creating virtual environments (usually included with Python)
git clone https://github.com/eracle/OpenOutreach.git
cd OpenOutreachIt's highly recommended to use a virtual environment to manage dependencies.
# Create the virtual environment
python -m venv venv
# Activate it
source venv/bin/activate # Windows: venv\Scripts\activateWe use uv for fast dependency management and DjangoCRM for the local database.
# Install deps, run migrations, and bootstrap CRM data
make setup
# Install required browser assets
playwright install --with-deps chromiumYou need to provide your LinkedIn credentials and target profiles.
-
Configure LinkedIn accounts + optional OpenAI key
cp assets/accounts.secrets.template.yaml assets/accounts.secrets.yaml
Edit
assets/accounts.secrets.yamlwith your credentials (and add your OpenAI key underenv:if you want AI follow-ups). -
Add target profiles Paste LinkedIn profile URLs into
assets/inputs/urls.csv.
make load CSV=assets/inputs/urls.csv # import URLs into CRM
make load CSV=assets/inputs/urls.csv HANDLE=myhandle # import for a specific accountmake run # run with first active account
make run HANDLE=myhandle # run with a specific accountThe daemon round-robins through four action lanes (enrich, connect, check pending, follow up) with configurable rate limits. Fully resumable β stop/restart anytime without losing progress.
OpenOutreach includes a full CRM web interface powered by DjangoCRM:
# Create an admin account (first time only)
python manage_crm.py createsuperuser
# Start the web server
make adminThen open:
- Django Admin: http://localhost:8000/admin/
- CRM UI: http://localhost:8000/crm/
We also support running the application via Docker. This is a great option for ensuring a consistent environment and simplifying dependency management.
For full instructions, please see the Docker Installation Guide.
| Feature | Description |
|---|---|
| π€ Advanced Browser Automation | Powered by Playwright with stealth plugins for human-like, undetectable interactions. |
| π‘οΈ Reliable Data Scraping | Uses LinkedIn's internal Voyager API for accurate, structured profile data (no fragile HTML parsing). |
| π Python-Native Campaigns | Write flexible, powerful automation sequences directly in Python. |
| π§ ML-Driven Prioritization | Logistic regression + Thompson Sampling ranks profiles by predicted connection acceptance -- learns and retrains as data grows. |
| π Stateful Workflow Engine | Tracks profile states (DISCOVERED β ENRICHED β PENDING β CONNECTED β COMPLETED) in a local DB -- resumable at any time. |
| β±οΈ Smart Rate Limiting | Configurable daily/weekly limits per action type, respects LinkedIn's own limits automatically. |
| πΎ Built-in CRM | Full data ownership via DjangoCRM with Django Admin UI -- browse Leads, Contacts, Companies, and Deals in your browser. |
| π³ Containerized Setup | One-command Docker + Make deployment. |
| π₯οΈ Visual Debugging | Real-time browser view via built-in VNC server (localhost:5900). |
| βοΈ AI-Ready Templating | Jinja or AI-prompt templates for hyper-personalized messages (plug in latest models like GPT-5.3-Codex easily). |
This project is built in spare time to provide powerful, free open-source growth tools.
Maintaining stealth, fixing bugs, adding features (multi-account scaling, better templates, AI enhancements), and staying ahead of LinkedIn changes takes serious effort.
Your sponsorship funds faster updates and keeps it free for everyone.
Popular Tiers & Perks:
| Tier | Monthly | Benefits |
|---|---|---|
| β Supporter | $5 | Huge thanks + name in README supporters list |
| π Booster | $25 | All above + priority feature requests + early access to new campaigns |
| π¦Έ Hero | $100 | All above + personal 1-on-1 support + influence roadmap |
| π Legend | $500+ | All above + custom feature development + shoutout in releases |
Thank you to all sponsors β you're powering open-source B2B growth! π
Got a specific use case, feature request, or questions about setup?
Book a free 15-minute call β Iβd love to hear your needs and improve the tool based on real feedback.
The daemon (linkedin/daemon.py) round-robins through four action lanes:
| Lane | What it does | Rate limited? |
|---|---|---|
| Enrich | Scrapes DISCOVERED profiles via LinkedIn's Voyager API | Throttled by batch size |
| Connect | ML-ranks ENRICHED profiles, sends connection requests | Daily + weekly limits |
| Check Pending | Checks if PENDING requests were accepted, retrains ML model | Age-gated |
| Follow Up | Sends personalized messages to CONNECTED profiles | Daily limit |
Profile states: DISCOVERED β ENRICHED β PENDING β CONNECTED β COMPLETED (or FAILED / IGNORED)
Pre-existing connections (already connected before automation) are automatically set to IGNORED during enrichment. If connection_degree was unknown at scrape time, they're caught during the connect step.
Configure rate limits, timing, and behavior in the campaign: section of accounts.secrets.yaml.
βββ analytics/ # dbt project (DuckDB analytics, ML training sets)
βββ assets/
β βββ accounts.secrets.yaml # Credentials + campaign config (gitignored)
β βββ data/ # crm.db (SQLite), analytics.duckdb
β βββ inputs/ # Target profile CSVs
βββ docs/
β βββ docker.md # Docker setup guide
β βββ ...
βββ linkedin/
β βββ actions/ # Browser actions (connect, message, scrape)
β βββ api/ # Voyager API client + parser
β βββ daemon.py # Main daemon loop (round-robin across lanes)
β βββ db/crm_profiles.py # CRM-backed profile CRUD (Lead, Contact, Company, Deal)
β βββ django_settings.py # Django/CRM settings (SQLite at assets/data/crm.db)
β βββ lanes/ # Action lanes (enrich, connect, check_pending, follow_up)
β βββ management/setup_crm.py # Idempotent CRM bootstrap (Dept, Stages, Users)
β βββ ml/scorer.py # ML profile ranking (LogisticRegression + Thompson Sampling)
β βββ navigation/ # Login, throttling, browser utilities
β βββ rate_limiter.py # Daily/weekly rate limiting
β βββ sessions/ # Session management
βββ main.py # CLI entry point (load / run subcommands)
βββ manage_crm.py # Django manage.py (migrate, runserver, createsuperuser)
βββ local.yml # Docker Compose
βββ Makefile # Shortcuts (setup, run, load, admin, analytics, test)
Join for support and discussions:
Telegram Group
GNU GPLv3 β see LICENCE.md
Not affiliated with LinkedIn.
Automation may violate LinkedIn's terms (Section 8.2). Risk of account suspension exists.
Use at your own risk β no liability assumed.
Made with β€οΈ
For Tasks:
Click tags to check more tools for each tasksFor Jobs:
Alternative AI tools for OpenOutreach
Similar Open Source Tools
OpenOutreach
OpenOutreach is a self-hosted, open-source LinkedIn automation tool designed for B2B lead generation. It automates the entire outreach process in a stealthy, human-like way by discovering and enriching target profiles, ranking profiles using ML for smart prioritization, sending personalized connection requests, following up with custom messages after acceptance, and tracking everything in a built-in CRM with web UI. It offers features like undetectable behavior, fully customizable Python-based campaigns, local execution with CRM, easy deployment with Docker, and AI-ready templating for hyper-personalized messages.
airunner
AI Runner is a multi-modal AI interface that allows users to run open-source large language models and AI image generators on their own hardware. The tool provides features such as voice-based chatbot conversations, text-to-speech, speech-to-text, vision-to-text, text generation with large language models, image generation capabilities, image manipulation tools, utility functions, and more. It aims to provide a stable and user-friendly experience with security updates, a new UI, and a streamlined installation process. The application is designed to run offline on users' hardware without relying on a web server, offering a smooth and responsive user experience.
llm4s
LLM4S provides a simple, robust, and scalable framework for building Large Language Models (LLM) applications in Scala. It aims to leverage Scala's type safety, functional programming, JVM ecosystem, concurrency, and performance advantages to create reliable and maintainable AI-powered applications. The framework supports multi-provider integration, execution environments, error handling, Model Context Protocol (MCP) support, agent frameworks, multimodal generation, and Retrieval-Augmented Generation (RAG) workflows. It also offers observability features like detailed trace logging, monitoring, and analytics for debugging and performance insights.
conduit
Conduit is an open-source, cross-platform mobile application for Open-WebUI, providing a native mobile experience for interacting with your self-hosted AI infrastructure. It supports real-time chat, model selection, conversation management, markdown rendering, theme support, voice input, file uploads, multi-modal support, secure storage, folder management, and tools invocation. Conduit offers multiple authentication flows and follows a clean architecture pattern with Riverpod for state management, Dio for HTTP networking, WebSocket for real-time streaming, and Flutter Secure Storage for credential management.
ClaudeBar
ClaudeBar is a macOS menu bar application that monitors AI coding assistant usage quotas. It allows users to keep track of their usage of Claude, Codex, Gemini, GitHub Copilot, Antigravity, and Z.ai at a glance. The application offers multi-provider support, real-time quota tracking, multiple themes, visual status indicators, system notifications, auto-refresh feature, and keyboard shortcuts for quick access. Users can customize monitoring by toggling individual providers on/off and receive alerts when quota status changes. The tool requires macOS 15+, Swift 6.2+, and CLI tools installed for the providers to be monitored.
screenpipe
Screenpipe is an open source application that turns your computer into a personal AI, capturing screen and audio to create a searchable memory of your activities. It allows you to remember everything, search with AI, and keep your data 100% local. The tool is designed for knowledge workers, developers, researchers, people with ADHD, remote workers, and anyone looking for a private, local-first alternative to cloud-based AI memory tools.
handit.ai
Handit.ai is an autonomous engineer tool designed to fix AI failures 24/7. It catches failures, writes fixes, tests them, and ships PRs automatically. It monitors AI applications, detects issues, generates fixes, tests them against real data, and ships them as pull requestsβall automatically. Users can write JavaScript, TypeScript, Python, and more, and the tool automates what used to require manual debugging and firefighting.
osaurus
Osaurus is a native, Apple Silicon-only local LLM server built on Apple's MLX for maximum performance on Mβseries chips. It is a SwiftUI app + SwiftNIO server with OpenAIβcompatible and Ollamaβcompatible endpoints. The tool supports native MLX text generation, model management, streaming and nonβstreaming chat completions, OpenAIβcompatible function calling, real-time system resource monitoring, and path normalization for API compatibility. Osaurus is designed for macOS 15.5+ and Apple Silicon (M1 or newer) with Xcode 16.4+ required for building from source.
astrsk
astrsk is a tool that pushes the boundaries of AI storytelling by offering advanced AI agents, customizable response formatting, and flexible prompt editing for immersive roleplaying experiences. It provides complete AI agent control, a visual flow editor for conversation flows, and ensures 100% local-first data storage. The tool is true cross-platform with support for various AI providers and modern technologies like React, TypeScript, and Tailwind CSS. Coming soon features include cross-device sync, enhanced session customization, and community features.
explain-openclaw
Explain OpenClaw is a comprehensive documentation repository for the OpenClaw framework, a self-hosted AI assistant platform. It covers various aspects such as plain English explanations, technical architecture, deployment scenarios, privacy and safety measures, security audits, worst-case security scenarios, optimizations, and AI model comparisons. The repository serves as a living knowledge base with beginner-friendly explanations and detailed technical insights for contributors.
MassGen
MassGen is a cutting-edge multi-agent system that leverages the power of collaborative AI to solve complex tasks. It assigns a task to multiple AI agents who work in parallel, observe each other's progress, and refine their approaches to converge on the best solution to deliver a comprehensive and high-quality result. The system operates through an architecture designed for seamless multi-agent collaboration, with key features including cross-model/agent synergy, parallel processing, intelligence sharing, consensus building, and live visualization. Users can install the system, configure API settings, and run MassGen for various tasks such as question answering, creative writing, research, development & coding tasks, and web automation & browser tasks. The roadmap includes plans for advanced agent collaboration, expanded model, tool & agent integration, improved performance & scalability, enhanced developer experience, and a web interface.
AgentNeo
AgentNeo is an advanced, open-source Agentic AI Application Observability, Monitoring, and Evaluation Framework designed to provide deep insights into AI agents, Large Language Model (LLM) calls, and tool interactions. It offers robust logging, visualization, and evaluation capabilities to help debug and optimize AI applications with ease. With features like tracing LLM calls, monitoring agents and tools, tracking interactions, detailed metrics collection, flexible data storage, simple instrumentation, interactive dashboard, project management, execution graph visualization, and evaluation tools, AgentNeo empowers users to build efficient, cost-effective, and high-quality AI-driven solutions.
AionUi
AionUi is a user interface library for building modern and responsive web applications. It provides a set of customizable components and styles to create visually appealing user interfaces. With AionUi, developers can easily design and implement interactive web interfaces that are both functional and aesthetically pleasing. The library is built using the latest web technologies and follows best practices for performance and accessibility. Whether you are working on a personal project or a professional application, AionUi can help you streamline the UI development process and deliver a seamless user experience.
tingly-box
Tingly Box is a tool that helps in deciding which model to call, compressing context, and routing requests efficiently. It offers secure, reliable, and customizable functional extensions. With features like unified API, smart routing, context compression, auto API translation, blazing fast performance, flexible authentication, visual control panel, and client-side usage stats, Tingly Box provides a comprehensive solution for managing AI models and tokens. It supports integration with various IDEs, CLI tools, SDKs, and AI applications, making it versatile and easy to use. The tool also allows seamless integration with OAuth providers like Claude Code, enabling users to utilize existing quotas in OpenAI-compatible tools. Tingly Box aims to simplify AI model management and usage by providing a single endpoint for multiple providers with minimal configuration, promoting seamless integration with SDKs and CLI tools.
MemMachine
MemMachine is an open-source long-term memory layer designed for AI agents and LLM-powered applications. It enables AI to learn, store, and recall information from past sessions, transforming stateless chatbots into personalized, context-aware assistants. With capabilities like episodic memory, profile memory, working memory, and agent memory persistence, MemMachine offers a developer-friendly API, flexible storage options, and seamless integration with various AI frameworks. It is suitable for developers, researchers, and teams needing persistent, cross-session memory for their LLM applications.
Edit-Banana
Edit Banana is a universal content re-editor that allows users to transform fixed content into fully manipulatable assets. Powered by SAM 3 and multimodal large models, it enables high-fidelity reconstruction while preserving original diagram details and logical relationships. The platform offers advanced segmentation, fixed multi-round VLM scanning, high-quality OCR, user system with credits, multi-user concurrency, and a web interface. Users can upload images or PDFs to get editable DrawIO (XML) or PPTX files in seconds. The project structure includes components for segmentation, text extraction, frontend, models, and scripts, with detailed installation and setup instructions provided. The tool is open-source under the Apache License 2.0, allowing commercial use and secondary development.
For similar tasks
OpenOutreach
OpenOutreach is a self-hosted, open-source LinkedIn automation tool designed for B2B lead generation. It automates the entire outreach process in a stealthy, human-like way by discovering and enriching target profiles, ranking profiles using ML for smart prioritization, sending personalized connection requests, following up with custom messages after acceptance, and tracking everything in a built-in CRM with web UI. It offers features like undetectable behavior, fully customizable Python-based campaigns, local execution with CRM, easy deployment with Docker, and AI-ready templating for hyper-personalized messages.
For similar jobs
aiscript
AiScript is a lightweight scripting language that runs on JavaScript. It supports arrays, objects, and functions as first-class citizens, and is easy to write without the need for semicolons or commas. AiScript runs in a secure sandbox environment, preventing infinite loops from freezing the host. It also allows for easy provision of variables and functions from the host.
askui
AskUI is a reliable, automated end-to-end automation tool that only depends on what is shown on your screen instead of the technology or platform you are running on.
bots
The 'bots' repository is a collection of guides, tools, and example bots for programming bots to play video games. It provides resources on running bots live, installing the BotLab client, debugging bots, testing bots in simulated environments, and more. The repository also includes example bots for games like EVE Online, Tribal Wars 2, and Elvenar. Users can learn about developing bots for specific games, syntax of the Elm programming language, and tools for memory reading development. Additionally, there are guides on bot programming, contributing to BotLab, and exploring Elm syntax and core library.
ain
Ain is a terminal HTTP API client designed for scripting input and processing output via pipes. It allows flexible organization of APIs using files and folders, supports shell-scripts and executables for common tasks, handles url-encoding, and enables sharing the resulting curl, wget, or httpie command-line. Users can put things that change in environment variables or .env-files, and pipe the API output for further processing. Ain targets users who work with many APIs using a simple file format and uses curl, wget, or httpie to make the actual calls.
LaVague
LaVague is an open-source Large Action Model framework that uses advanced AI techniques to compile natural language instructions into browser automation code. It leverages Selenium or Playwright for browser actions. Users can interact with LaVague through an interactive Gradio interface to automate web interactions. The tool requires an OpenAI API key for default examples and offers a Playwright integration guide. Contributors can help by working on outlined tasks, submitting PRs, and engaging with the community on Discord. The project roadmap is available to track progress, but users should exercise caution when executing LLM-generated code using 'exec'.
robocorp
Robocorp is a platform that allows users to create, deploy, and operate Python automations and AI actions. It provides an easy way to extend the capabilities of AI agents, assistants, and copilots with custom actions written in Python. Users can create and deploy tools, skills, loaders, and plugins that securely connect any AI Assistant platform to their data and applications. The Robocorp Action Server makes Python scripts compatible with ChatGPT and LangChain by automatically creating and exposing an API based on function declaration, type hints, and docstrings. It simplifies the process of developing and deploying AI actions, enabling users to interact with AI frameworks effortlessly.
Open-Interface
Open Interface is a self-driving software that automates computer tasks by sending user requests to a language model backend (e.g., GPT-4V) and simulating keyboard and mouse inputs to execute the steps. It course-corrects by sending current screenshots to the language models. The tool supports MacOS, Linux, and Windows, and requires setting up the OpenAI API key for access to GPT-4V. It can automate tasks like creating meal plans, setting up custom language model backends, and more. Open Interface is currently not efficient in accurate spatial reasoning, tracking itself in tabular contexts, and navigating complex GUI-rich applications. Future improvements aim to enhance the tool's capabilities with better models trained on video walkthroughs. The tool is cost-effective, with user requests priced between $0.05 - $0.20, and offers features like interrupting the app and primary display visibility in multi-monitor setups.
AI-Case-Sorter-CS7.1
AI-Case-Sorter-CS7.1 is a project focused on building a case sorter using machine vision and machine learning AI to sort cases by headstamp. The repository includes Arduino code and 3D models necessary for the project.

