AI agent for LinkedIn outreach. Ship the product. Agents bring the first users.

It finds the right people, writes to them, follows up, and handles replies. From Claude Code, Cursor or a web dashboard.

Sign in with Google, then connect LinkedIn. One sentence drafts the campaign.

Or paste this into Claude Code or your AI chat

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

From Claude Code, Cursor or any MCP client

> I shipped a webhook debugger for Stripe. Find 40 people who would buy it.
  generate_icp     2 personas
  create_campaign  draft · 40 people · nothing sent

> Launch it.
  campaign launch  warm-up starts 08:00 your time

Runs in the tools you already open

Claude CodeClaude Desktopclaude.aiChatGPTCursorWindsurfGemini CLIVS CodeWeb dashboard

Listed on

Where builders look for tools, you'll find HeyLead.

A verified entry in the official MCP Registry, a claimed G2 profile, and listings in the directories people search before they install an MCP server. Every logo opens HeyLead's own page there.

See HeyLead on G2

One line. One sign-in. Then one sentence.Install it where you already work.

Connect the hosted server and sign in in your browser. No Python, uv or API key needed.

Paste into your AI chat

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

Or run in the Claude Code terminal

claude mcp add --transport http --scope user heylead https://heylead.dev/mcp

Then open /mcp, select HeyLead and sign in. If the server is not listed, start a new session.

Works in claude.ai as a custom connector, and in Claude Desktop the same way. The server URL:

https://heylead.dev/mcp
  1. Open Customize → Connectors, click + Add and choose Add custom connector.
  2. Name it HeyLead, paste https://heylead.dev/mcp as the MCP server URL and click Continue. On the dialog's second screen, leave Sign in now selected and finish it.
  3. Sign in with Google, then click Connect on HeyLead's page.
  4. In a chat, open + → Connectors and switch HeyLead on.

Works in ChatGPT: add HeyLead as a custom MCP app. Open Plugins → Add → Create MCP App, name it HeyLead, paste the same URL as the server URL and choose OAuth. Tick “I understand and want to continue”, click Create, then Continue to HeyLead, sign in with Google and click Connect. Tested on ChatGPT Pro on 29 September 2026; whether Create MCP App is offered depends on your ChatGPT plan and settings.

Using VS Code? Merge this into .vscode/mcp.json in the project (the key is servers, not mcpServers), then start the server from the MCP panel and sign in:

{"servers":{"heylead":{"type":"http","url":"https://heylead.dev/mcp"}}}
  • Your AI checks the setup for your client. No CLI? Use the desktop connector or the settings-file steps in the guide.
  • Sign in with Google, then connect LinkedIn in the dashboard.
  • Ask “Show my HeyLead status” to check the connection. Draft a campaign before launching outreach.

Try it now, no account neededType what you built. See who would buy it.

Two sentences in, buyer personas and a first message out, in about 30 seconds.

Press the button and your personas appear here, in about 30 seconds. Nothing is sent to anyone. Below is an example, for the placeholder text above.

Payments engineering lead

fit 91%

Debugs webhook retries by hand. Gets paged for silent failures.

title: paymentsseniority: lead+size: 11-200

Fintech founder, seed stage

fit 84%

No infra team. Every failed payment is a support ticket.

title: founderindustry: fintechsize: 1-50

First message, drafted for the first persona

Hi Ana. Saw you run the Stripe integration at Nexo on your own. I built a debugger that replays failed webhooks with the diff. Want the two-minute version?

Freeto start, one connected account
Monthlycancel any time
2 minfrom install to first draft
Readyagents plan every step for you

Free: one connected account (a LinkedIn seat or an email mailbox), cloud sending included. Pro: $29 per connected account per month.

What is HeyLead?

HeyLead is an AI agent for LinkedIn outreach: it finds the right people, writes to them in the voice of your own LinkedIn posts, follows up, and handles replies. It runs from Claude Code, Cursor, any MCP client or a web dashboard. Made by Olnesta Ltd in London. Not heylead.com, heylead.ai or heylead.de.

Against the sequence builders

Others give you a dashboard and a sequence builder. HeyLead gives you a tool call and a set of agents. More about the name →

Use one part or all of itEverything outreach needs, as tools your agent can call.

ICP

Buyer personas from one sentence.

generate_icp

Search

The exact search, previewed first.

icp preview all

Enrichment

Profile, company, posts behind every message.

contacts

Signals

40+ signal types. A strong one starts outreach.

signals all

Warm-up

View, follow, comment. Then invite.

engage_prospect all

Messaging

Invitation, opener, follow-ups, InMail, email. How it runs

send_message

Agents in the loop

Five agents decide. You read why.

inspect all

Scheduling

Cloud, every 5 minutes, inside your caps. How it runs

scheduler

Replies and booking

Replies answered. A yes becomes a meeting.

check_replies · book_meeting

Analytics and CRM

Rates per campaign. Won deals to HubSpot.

analytics · crm_sync all

Posts and brand

Posts that read like your own, on a schedule.

create_post all

Or all of it, from chat

"How is my outreach doing?" answered with numbers.

show_status

all = HEYLEAD_TOOLS=all, or the dashboard.

SignalsA signal is the reason to write.

It watches for the moment something changes, and the first message says why now.

What we collect

On LinkedIn

Posts, job changes, hiring, profile viewers, competitors' commenters.

Around the web

Funding and hires from news. Reddit, Hacker News, G2, job boards.

Your site and your tools

Which companies visit which pages. An ingest API. Webhooks out.

Inbound

Every request qualified. Strangers' DMs triaged. Pitches filtered.

TypeWhoScoreSeen
job_changeMira K. · VP Engineering → CTO at Nexo0.862h
post_pain_pointTom R. · "our webhook retries are a mess"0.743h
hiring_surgeNexo · 3 backend roles posted0.685h
profile_viewAna P. viewed your profile0.616h
news_fundingLumen Pay raised a seed round0.521d

What we store

Each signal with its source, score and expiry. Provenance on every prospect.

How we analyse

Type × confidence × freshness. Two signals on one person form a pattern.

What it triggers

Above the threshold, the person joins a campaign and the opener says why now.

Signals add prospects on top of the ICP search; they are not the main source yet. In chat they need HEYLEAD_TOOLS=all.

ICP and enrichmentGrounded, not guessed.

One sentence in. Two to four buyer personas out, grounded in your website and 22 sales books.

Preview before you spend an invite.

The exact search, filter by filter. Creates nothing.

A judge that asks the question most tools skip.

Can this audience buy what you sell?

Every person enriched from LinkedIn itself.

Profile, company, posts. No claim outside the facts.

excludes your connectionsexcludes competitors' staffexcludes open-to-workfit floor before first touchCSV import, every row accounted for

LinkedIn-only enrichment. 150 profile reads per seat a day.

icp preview · one campaign, filter by filter

FilterCountFit
title412 → 1880.92
industry188 → 1410.80
seniority: director+141 → 960.88
company size 11-20096 → 710.71
location: London71 → 441.00
keywords44 → 400.63
38 of 40 above the fit floor · 2 deduped against your connections · nothing was created

Agents in the loopNothing to build. Agents decide, and you can read why.

No sequence editor. A planner writes each person's day; a strategist rewrites it when something changes.

Planner

Today's action per person.

Strategist

Replans when a signal, accept or reply lands.

Send-fit judge

Refuses a follow-up a human would not send.

Reply agent

Answers from your facts. Holds the rest for you.

Closer

Books the meeting once they say yes.

Each agent is act, observe or off per campaign.

08:04plannerMira K. · invite with note (warm-up done)
08:31send-fitTom R. · skip follow-up: our last message unanswered 3h
09:10reply agentAna P. · reply: pricing question, answered from the campaign's facts
11:40strategistMira K. · replan: her company posted 3 backend roles
14:02closerLee W. · book: Thu 15:00, calendar invite sent

inspect(action='journal')

Opening messages, follow-ups and answers to replies wait for your approval until you switch to autopilot. Invitations are not held.

Working while you sleepRuns with your laptop closed. Sends only when a person would.

Ticks every five minutes. Sends Mon–Fri, 08–22, your time zone. No LinkedIn call at night.

Every 5 minthe scheduler ticks
Mon–Fri 08–22your time zone, by default
22:00–08:00no LinkedIn call at all
5 min → 6 hbackoff when LinkedIn pushes back

Limits follow your LinkedIn plan. One command stops everything.

Schedulerscheduler_status

What people runSales, your network, vendor scouting, job search, agencies.

Founder-led sales

Describe what you shipped. Answer replies yourself if you like. How it runs

Your network

Message the people you already know, without spam. How it runs

Vendor scouting

You are the buyer. Messages written from your side. How it runs

Job search

Reach hiring managers. Every reply is held for you. How it runs

Agencies

One workspace per client, billed per connected account. How it runs

Cold outreach

33% of 405 invitations accepted. 14 of 79 new connections replied. Acceptance took 2 days 8 hours.

People you already know

45 of 120 replied.

Founder's own workspace, 21 Sep 2026, reviewed by Denys Chumak.

Recruiting and partner outreach work with a custom brief.

Read before you sendThe numbers, the words and the alternatives, on their own pages.

LinkedIn limits

The ceilings HeyLead enforces per LinkedIn plan, the reset rules and the pace. Limits explained

Message templates

Connection request, cold message, follow-up, message to a recruiter: the shape, three examples, what to leave out. Templates

Job-search answers

How to find, reach and write to a hiring manager, by hand first. Answers

Comparisons

HeyLead next to nine other tools, every outside fact cited from the other product's own pages. Compare

Glossary

The words you meet, from ICP to autopilot, each naming where it lives. Glossary

Benchmarks

What our own campaigns returned: acceptance, replies and timing, each with its n and date. Benchmarks

HubSpot

What the sync pushes, what it pulls back, and what it needs, from the code. Integration

OptionalA dashboard, if you want one.

After a one-time sign-in, everything on it is also a tool call.

Overviewshow_status
Signalssignals
Campaigncampaign_status

Numbers from the founder's own workspace, 21 Sep 2026.

Open clientRead it. Fork it. Point your agent at it.

Source on GitHub

The MCP client is MIT. The hosted backend and prompts are not.

Self-host

Your own Unipile account and LLM key, data in local SQLite.

uvx heylead

For your agent

/llms.txt, /llms-full.txt, /.well-known/mcp.json.

heylead.dev/llms.txt

Every release, one address each, and an RSS feed →

Shipped this week

All releases →
v0.10.390 · 21 SepThe monthly ICP cap no longer stops a hosted account.New
v0.10.389 · 20 Sep22 tools by default, 47 with HEYLEAD_TOOLS=all.
v0.10.388 · 20 SepReads and writes are separate tools.

PricingFree means free, with the limits printed.

Free

$0

One connected account, a LinkedIn seat or an email mailbox. Cloud sending included.

  • ICP, search, warm-up, invitations, opener
  • Up to 2 follow-ups per person
  • Replies, signals, analytics
  • Invitation limits follow your LinkedIn plan: about 100 a week on a free one
Start free, no card

Pro

$29per connected account, per month

Everything on Free, plus:

  • Up to 5 follow-ups per person
  • A LinkedIn seat and an email mailbox together in one workspace
  • Monthly. Cancel any time. No setup fee.
Start free, upgrade later

Self-hosted is free with its own monthly quotas: 50 invitations, 20 messages, 30 engagements, 1 active campaign, 3 ICP generations.

Full pricing: the invitation ceilings per LinkedIn plan and what a week looks like →

Safety and trustNothing sends until you launch. Messages wait for your approval.

Nothing is sent until you press Launch. One command stops everything.

Opening messages, follow-ups and answers to replies wait for your approval. Invitations are not held.

Limits follow your LinkedIn plan and back off when LinkedIn pushes back.

Sends in working hours, your time zone. Nothing at night.

Your LinkedIn password never touches HeyLead.

Existing connections are excluded from cold campaigns. An opt-out is honoured for good.

Export your contacts any time with contacts(action='export'). Finished job rows are kept 7 days, action counters 2 days, the event log 30 days. Deleting the workspace (Settings → Workspace) removes its members and releases the LinkedIn seat; to have your campaigns, contacts and messages erased, write to [email protected].

Questions people ask

How does HeyLead pace itself?

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. No LinkedIn call is made between 22:00 and 08:00. HeyLead is not affiliated with LinkedIn; it connects through Unipile, which is not affiliated either. LinkedIn's own rules are in the Terms.

Does HeyLead send LinkedIn messages automatically?

Not until you say so twice. create_campaign saves a draft and sends nothing; outreach starts with campaign(action='launch'). A new workspace runs in approval mode: opening messages, follow-ups and answers to replies wait until you approve them, and the approved text is what goes out. Invitations, InMail and email are not held. Switch to autopilot and the agents send inside your working hours and caps. campaign(action='emergency_stop') pauses everything.

Is HeyLead free, and what does the free plan include?

Free is $0 with no contract and no setup fee: one connected account (a LinkedIn seat or an email mailbox), cloud sending with your laptop closed, ICP generation, search preview, warm-up, invitations, the opening message, up to 2 follow-ups per person, replies, signals and analytics. Invitation limits follow your LinkedIn plan. Pro is $29 per connected account per month, cancel any time: up to 5 follow-ups per person and a LinkedIn seat and an email mailbox together in one workspace. Self-hosted installs are free with monthly quotas.

Can I use HeyLead from Claude Code or Cursor without the dashboard?

Yes. Copy the setup prompt above into your AI chat. HeyLead connects over remote MCP with browser sign-in, with no Python or uv installation. Connect LinkedIn once in the dashboard, then ask your AI to show your HeyLead status and draft a campaign.

What happens when a prospect replies?

The reply agent reads the intent and the objection type and writes the answer from your campaign's facts. In approval mode, the default, that answer waits for you in Approvals next to their message. On autopilot it is sent, and anything ambiguous, or a question outside the brief, is still held for you. "Not now" gets a check-in in 30 days. When someone says yes and a time is on the table, the closer books it on your Google Calendar; it never invents a time and books at most five a day. To write every answer yourself, turn off automatic replies (the campaign's Auto-reply setting, or edit_campaign(enable_auto_replies='off')): nothing is drafted, and each reply waits for you in Needs attention.

Is HeyLead (heylead.dev) the same as heylead.com or heylead.ai?

No. HeyLead (heylead.dev) is the AI agent for LinkedIn outreach made by Olnesta Ltd in London. heylead.com is a US agency, heylead.ai a Swiss leads company and heylead.de a German recruiting agency; none is related.

More questions →

Describe what you shipped. Go back to shipping.

Not ready? See your buyer personas first →

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