Bring your list. Leave the sequence.

Last updated 24 September 2026

You run a sequence builder you configure step by step, and it holds a list you spent weeks on. This page moves that list into HeyLead and tells you what changes when agents plan each person instead of running your steps, what you lose, and what the first hour looks like. 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.

Export your list

Your sequence builder exports the list as a CSV. Keep whatever columns it gives you: name, LinkedIn URL, title, company, email, location. HeyLead needs a name in every row, plus one of a title, a company or a LinkedIn URL. It does not need the columns renamed or the file cleaned. Header names are matched case-insensitively, so Job Title, Position, Organization and Profile URL all land. One file per campaign. The order of the rows does not matter; HeyLead sorts them by fit.

Import it

The import is import_prospects (src/heylead/tools/import_prospects.py in the MIT client, heylead 0.10.396). Point it at a .csv or .xlsx file, up to 200,000 rows, or paste CSV text for a handful of rows. A legacy .xls is refused; save it as .xlsx or .csv.

ColumnHeaders it recognisesNeeded
NameName, Full Name, Contact Name, Person, LeadYes
TitleTitle, Job Title, Position, RoleOne of the three
CompanyCompany, Company Name, Organization, Org
LinkedIn URLLinkedIn URL, LinkedIn, Profile URL, LinkedIn Profile, URL, Link
LinkedIn IDLinkedIn ID, Public ID, SlugNo
EmailEmail, Email Address, E-mailNo
LocationLocation, City, Region, Country, GeoNo

What the import does, in the order it does it:

Where the import runs today. import_prospects is served by the local Python client (uvx heylead) started with HEYLEAD_TOOLS=all; the hosted server at heylead.dev/mcp and the dashboard have no import yet. The local client drives your hosted workspace with the token under Settings → Integrations → Chat client → Local Python client (setup_profile(backend_jwt=...)), and the import pushes the campaign to the cloud when it finishes. Outreach then runs from the cloud like any hosted campaign, with your laptop closed. See the local client. For a short list, create_campaign(people="<profile URLs>") in the same client seeds a campaign from exactly those people, with no search and no import.

What changes

A sequence builder runs the steps you configured, in the order you configured them, for everyone on the list. HeyLead's agents replan each person as the facts about them change, and every decision is readable with inspect or on the campaign page. The agents, each named after the file that runs it in the hosted backend:

Three defaults differ from a sequence builder, and each one is a limit you can read:

What you lose

The first hour, step by step

  1. Connect HeyLead to your client. In Claude Code:
    claude mcp add --transport http --scope user heylead https://heylead.dev/mcp
    then open /mcp, select heylead and sign in with Google. Cursor, VS Code and other clients are on the quickstart. No MCP client? Sign in at the dashboard.
  2. Connect LinkedIn in the dashboard. The seat connects through Unipile; your LinkedIn password never touches HeyLead. Ask your AI "Show my HeyLead status": show_status answers, and accounts shows the seat.
  3. Describe your offer and who you want. generate_icp returns two to four buyer personas grounded in your website. Or write the brief yourself: what you sell, who it is for, what you are asking of them. The brief is what the agents write from.
  4. Create the draft. create_campaign finds matching people and saves a draft. Nothing is sent. If you want only your own list in it, edit_campaign(enable_discovery="off") stops it finding more.
  5. Import your CSV into the draft. From the local client with HEYLEAD_TOOLS=all:
    import_prospects(file_path="~/Downloads/list.csv", dry_run=True)
    Read the row dispositions, then run it again without dry_run. The report says how many rows imported, were skipped, and were deduped, and why.
  6. Review the draft. campaign_status or the campaign page shows who is in it and what will happen first. edit_campaign changes the follow-up count, the InMail fallback and discovery; the campaign's settings on the dashboard hold the email toggle.
  7. Launch. campaign(action="launch"). Warm-up and invitations start inside your plan's ceiling and the sending window. campaign(action="emergency_stop") pauses everything.
  8. Approve the first openers. When invitations are accepted, inspect(action="waiting") lists the opening messages held for you, and prospect(action="approve_message") sends the text you approved. The dashboard's Approvals page does the same. Switch to autopilot when you trust the drafts.

HeyLead is not affiliated with LinkedIn. It reaches LinkedIn through Unipile, which is also not affiliated. HeyLead sends at a human pace: at most 20 invitations a day and 100 a week on a free LinkedIn account, Monday to Friday 08:00 to 22:00 in your time zone. LinkedIn's own rules are in the Terms. Nothing on this page names or describes any other product beyond "a sequence builder you configure step by step" that "exports your list as a CSV".

Start free, no card

Related: Pricing and the ceilings · Tool reference · The local client · What is HeyLead?