# Open-source LinkedIn automation you can read, run and fork

> HeyLead is open-source LinkedIn automation with an agent in front of it: an MIT client on GitHub that finds the right people, writes in the voice of your own LinkedIn posts, follows up and handles replies. Self-host with your own Unipile account and LLM key, or use the hosted plan.

This is the Markdown twin of https://heylead.dev/open-source-linkedin-automation (the page, in text). Index for agents: https://heylead.dev/llms.txt

Last updated 28 September 2026

HeyLead is open-source LinkedIn automation with an agent in front of it: the client is MIT on GitHub, and it finds the right people, writes to them in the voice of your own LinkedIn posts, follows up and handles replies. Self-host it with your own Unipile account and LLM key, or use the hosted plan.

Source: [github.com/D4umak/linkedin-outreach-mcp](https://github.com/D4umak/linkedin-outreach-mcp). Package: [heylead on PyPI](https://pypi.org/project/heylead/). Licence: MIT. Language: Python.

## What "open source" covers here

- **Open, MIT:** the MCP server and its 22 tools (47 with `HEYLEAD_TOOLS=all`), the local scheduler with its ceilings and quiet hours, the LinkedIn search and fit scoring, the message writers, the reply reader, the SQLite store.
- **Proprietary:** the hosted backend, the prompts and the knowledge base distilled from 22 sales books. The hosted plan runs those for you; a self-hosted install runs your own LLM key against the open prompts in the client.

## Self-host it

Two accounts of your own, then one command.

1. **Unipile**, which connects to LinkedIn through its API, not a browser extension. Put the DSN and API key in `~/.heylead/config.json` as `unipile_api_url` and `unipile_api_key`.
2. **An LLM API key** from Gemini, Claude or OpenAI. Model calls are billed to you; a free Gemini key is enough to start.

Install [uv](https://docs.astral.sh/uv/getting-started/installation/), then add the server to your client. For Claude Code:

`claude mcp add --scope user heylead -- uvx heylead`

For Cursor or any stdio MCP client, the entry is `{"command":"uvx","args":["heylead"]}`. Contacts and messages stay on your machine in a local SQLite database. Sending runs from your machine, so it stops when the machine sleeps.

A self-hosted install has monthly quotas so it stays a personal tool: 50 invitations, 20 messages, 30 engagements, 1 active campaign, 3 ICP generations. The full list is on [pricing](https://heylead.dev/pricing); [self-hosting](https://heylead.dev/docs/self-hosted) has the configuration keys.

## Or use the hosted plan

Paste the prompt below into your AI chat, sign in in your browser, connect LinkedIn in the dashboard. No Unipile account, no API keys. Campaigns run from the cloud with your laptop closed, and a web dashboard sits next to the chat. Free is $0 with one LinkedIn seat; Pro is $29 per connected account per month.

`Set up HeyLead using https://heylead.dev/llms.txt`

## How it compares with the other open-source options

Most open-source LinkedIn automation on GitHub is a browser script: it drives a Chrome session on your machine, sends whatever list you give it, and stops when the laptop sleeps. HeyLead is an MCP server: you brief it in a sentence from Claude Code, Cursor or any MCP client, it builds the ICP and the search, writes each message from the person's profile and your own posts, and holds anything ambiguous for you. It reaches LinkedIn through Unipile's API. HeyLead sends from your own LinkedIn account at a human pace: at most 20 invitations a day and 100 a week on a free LinkedIn account (more on Premium or Sales Navigator), Monday to Friday 08:00 to 22:00 in your time zone, minutes apart. It backs off when LinkedIn pushes back and resumes on its own. You can pause any campaign at any time.

## Questions people ask

### Is HeyLead fully open source?

The client is MIT on GitHub. The hosted backend, the prompts and the knowledge base are proprietary. Self-hosting runs the open client with your own keys.

### Can I self-host LinkedIn automation without a browser extension?

Yes. HeyLead reaches LinkedIn through Unipile's API. Nothing runs in your browser and your LinkedIn password never touches HeyLead.

### What does self-hosting cost?

The client is free. You pay Unipile for the LinkedIn connection and your LLM provider for model calls. The monthly quotas above apply.

Related: [LinkedIn MCP server](https://heylead.dev/linkedin-mcp-server) · [Self-hosting docs](https://heylead.dev/docs/self-hosted) · [Open-source AI SDR](https://heylead.dev/open-source-ai-sdr) · [What is HeyLead?](https://heylead.dev/what-is-heylead)
