# The words you meet, defined where they live.

> HeyLead glossary: 45 terms a newcomer meets in AI LinkedIn outreach, from ICP, fit floor and signal to approval mode, autopilot, seat, MCP client, scope and the invitation ceiling. Each names the tool, page or setting it lives in.

This is the Markdown twin of https://heylead.dev/glossary (the page, in text). Index for agents: https://heylead.dev/llms.txt

Last updated 24 September 2026

45 terms, alphabetical. Each says what the word means and names the tool, page or setting it lives in, so you can go and look. Every limit here is a ceiling HeyLead enforces, not a volume LinkedIn promises. Nothing here describes a feature that does not run today.

[Approval mode](https://heylead.dev/#approval-mode) [Autopilot](https://heylead.dev/#autopilot) [Buyer persona](https://heylead.dev/#buyer-persona) [Campaign](https://heylead.dev/#campaign) [Ceiling (invitation)](https://heylead.dev/#ceiling-invitation) [Closer](https://heylead.dev/#closer) [Connected account](https://heylead.dev/#connected-account) [Draft](https://heylead.dev/#draft) [Email fallback](https://heylead.dev/#email-fallback) [Emergency stop](https://heylead.dev/#emergency-stop) [Fit floor](https://heylead.dev/#fit-floor) [Fit score](https://heylead.dev/#fit-score) [Follow-up](https://heylead.dev/#follow-up) [HeyLead](https://heylead.dev/#heylead) [HEYLEAD_TOOLS=all](https://heylead.dev/#heylead-tools-all) [ICP](https://heylead.dev/#icp) [InMail](https://heylead.dev/#inmail) [Invitation (connection request)](https://heylead.dev/#invitation) [Invitation note](https://heylead.dev/#invitation-note) [Launch](https://heylead.dev/#launch) [llms.txt](https://heylead.dev/#llms-txt) [Markdown twin](https://heylead.dev/#markdown-twin) [MCP](https://heylead.dev/#mcp) [MCP client](https://heylead.dev/#mcp-client) [Observe (per-agent mode)](https://heylead.dev/#observe) [Opener (opening message)](https://heylead.dev/#opener) [Pattern (compound signal)](https://heylead.dev/#pattern) [Planner](https://heylead.dev/#planner) [Profile read](https://heylead.dev/#profile-read) [Project brief](https://heylead.dev/#project-brief) [Quiet hours](https://heylead.dev/#quiet-hours) [Reads and acts (tool annotations)](https://heylead.dev/#reads-and-acts) [Reply agent](https://heylead.dev/#reply-agent) [Scope (outreach:read, outreach:write)](https://heylead.dev/#scope) [Seat](https://heylead.dev/#seat) [Self-hosted](https://heylead.dev/#self-hosted) [Send-fit judge](https://heylead.dev/#send-fit-judge) [Sending window](https://heylead.dev/#sending-window) [Signal](https://heylead.dev/#signal) [Strategist](https://heylead.dev/#strategist) [Tool call](https://heylead.dev/#tool-call) [Unipile](https://heylead.dev/#unipile) [Warm-up](https://heylead.dev/#warm-up) [Watchlist](https://heylead.dev/#watchlist) [Workspace](https://heylead.dev/#workspace)

Approval mode

The default on a new hosted workspace: opening messages and follow-ups are written down and wait for you, and the text you approve is the text that is sent. Invitations are not held. `inspect(action="waiting")` lists what is waiting, the Approvals page in the dashboard shows the same, and the switch to autopilot is in Settings → Sending or `scheduler(action="approval_mode")`. See the [quickstart](https://heylead.dev/docs/quickstart).

Autopilot

The other approval setting: opening messages and follow-ups go out without you reading them, inside your [sending window](https://heylead.dev/#sending-window) and your invitation [ceiling](https://heylead.dev/#ceiling-invitation). It is one switch away in Settings → Sending or `scheduler(action="approval_mode")`. Invitations, InMail and automatic replies are sent unreviewed in either mode.

Buyer persona

One of the 2 to 4 profiles `generate_icp` writes for an ICP: pains, fears, objections, the LinkedIn filters it will use and a confidence score. Each is grounded in your website and a corpus distilled from 22 sales books. Read the worked example on the [ICP page](https://heylead.dev/product/icp).

Campaign

One audience, one brief and one set of messages, run as a unit. `create_campaign` saves it as a draft; `campaign` launches, pauses, resumes, archives or emergency-stops it; `campaign_status` reads its progress; `edit_campaign` changes its settings. The [tool reference](https://heylead.dev/docs/tools) lists all four.

Ceiling (invitation)

The most invitations HeyLead will send from one LinkedIn seat in a day and in a week. It belongs to your LinkedIn plan, not the HeyLead plan: 20 a day and 100 a week on a free account, 168 a day and 320 a week on Premium or Sales Navigator. HeyLead enforces it and backs off from 5 minutes to 6 hours when LinkedIn pushes back before it is reached; the table is on the [pricing page](https://heylead.dev/pricing).

Closer

The agent that books the meeting once a person says yes and a time is on the table. It books through `book_meeting` on your Google Calendar, never invents a time, and books at most five a day. Set it to on, off or observe per campaign with `edit_campaign(enable_hot_lead_closer=...)`.

Connected account

A LinkedIn seat you have linked to your workspace through Unipile. Free includes one; Pro is charged per connected account per month, and each account has its own invitation ceiling. `accounts` lists them, `account` switches or unlinks one, and you connect a new one in the dashboard. See [pricing](https://heylead.dev/pricing).

Draft

The state every campaign starts in: `create_campaign` has found the people and written the plan, and nothing has been sent. Read it, change it with `edit_campaign`, and it stays a draft until `campaign(action="launch")`. The [quickstart](https://heylead.dev/docs/quickstart) walks through the first one.

Email fallback

The overflow channel once a seat has reached its LinkedIn caps: the remaining people are written to at their email address from a mailbox you connect with `account`. `send_email` sends one by hand. The self-hosted client caps emails at 25 a day, separate from the LinkedIn caps.

Emergency stop

`campaign(action="emergency_stop")` pauses every active campaign at once: the kill switch. Nothing further is sent until you resume a campaign with `campaign(action="resume")`. It is the one command the safety section of every page points at.

Fit floor

The lowest fit score a person may have and still get a first touch: 0.5 on a hosted workspace, so anyone who scores under half is never contacted, and 0.3 in `create_campaign` on a self-hosted install. People you import yourself from a CSV are exempt. See the limits on the [ICP page](https://heylead.dev/product/icp).

Fit score

A number from 0 to 1 for how well one person matches your ICP, shown as a percentage next to each persona and each prospect. `icp preview` scores what a search returns on six dimensions before a campaign exists, and `contacts` can filter by `min_fit_score`. The [ICP page](https://heylead.dev/product/icp) shows a scored example.

Follow-up

A message sent after the opening message to a person who has connected but not replied, and stopped when they reply. Free sends up to 2 per person and Pro up to 5, and `edit_campaign(max_followups=..., followup_delay_days=...)` sets the count and the gaps. Follow-ups wait for your approval until you switch to autopilot; see [pricing](https://heylead.dev/pricing).

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, and not heylead.com, heylead.ai or heylead.de ( [What is HeyLead?](https://heylead.dev/what-is-heylead)).

HEYLEAD_TOOLS=all

An environment variable for the self-hosted Python client: without it the client serves 22 tools; with it, 47, adding brand and content, signals, bulk import, CRM sync, the shared network pool and the local repository agent. The hosted server decides its own list when a client connects. The [tool reference](https://heylead.dev/docs/tools) marks which tools need it.

ICP

Ideal customer profile: who you sell to, as 2 to 4 buyer personas with the LinkedIn filters that find them. `generate_icp` writes it from one sentence, `icp` previews or audits a saved one without creating anything, and `create_campaign` searches from it. The [ICP page](https://heylead.dev/product/icp) has the worked example and the limits.

InMail

LinkedIn's message to someone you are not connected to. HeyLead uses it as an escalation: with `edit_campaign(inmail_fallback="on")`, an invitation that has stayed quiet for 14 days gets one InMail, and a free LinkedIn seat sends it only to Open Profile members, which costs no credits. `send_message` sends one by hand; the self-hosted client caps InMail at 8 a day.

Invitation (connection request)

The first touch on LinkedIn: a request to connect, sent from your seat inside the invitation ceiling and the sending window, and never held for approval. One that stays unanswered is withdrawn after 21 days when `withdraw_stale_invites` is on, and `edit_campaign(stale_invite_days=...)` changes the wait. The ceilings are on the [pricing page](https://heylead.dev/pricing).

Invitation note

The short text that travels with a connection request. LinkedIn caps it at 200 characters, or 300 from a Sales Navigator seat, and HeyLead writes it in the voice of your own LinkedIn posts. A `job_search` campaign may name the recipient's company and the role in it ( `edit_campaign(campaign_type=...)`).

Launch

`campaign(action="launch")`, or the Launch button on the campaign page: the moment outreach starts. Before it a campaign is a draft and nothing has been sent; after it the cloud scheduler runs the plan with your laptop closed. Setup alone is never permission to launch.

llms.txt

The document at [/llms.txt](https://heylead.dev/llms.txt), written for an agent rather than a person: the one-line setup, the steps per client, the core workflow and the safety model. [llms-full.txt](https://heylead.dev/llms-full.txt) is the long form with every tool. Paste `Set up HeyLead using https://heylead.dev/llms.txt` into your chat and your agent follows it.

Markdown twin

The plain-text version of every page on this site: add `.md` to the address, or ask for `text/markdown`, and you get the page's words without its chrome or scripts. This page's twin is [/glossary.md](https://heylead.dev/glossary.md). The twins exist for an assistant or a crawler that asks for text.

MCP

The Model Context Protocol, the open standard that lets an AI client call tools on a server, which it discovers through `tools/list`. HeyLead's hosted MCP server is at `https://heylead.dev/mcp` over Streamable HTTP with OAuth browser sign-in, and the self-hosted client serves the same tools over stdio as `uvx heylead`. Start with the [quickstart](https://heylead.dev/docs/quickstart).

MCP client

The program you talk to that connects to HeyLead: Claude Code, Claude Desktop, claude.ai, Cursor, Windsurf, Gemini CLI or VS Code. You add the server once, sign in with Google, and the client asks you before a tool that acts. Without one, the [dashboard](https://heylead.dev/dashboard/login) runs the same campaigns.

Observe (per-agent mode)

One of three settings for each agent on a campaign: on, off or observe. In observe the agent decides but sends nothing, so you read its decision with `inspect` and act by hand. Set it with `edit_campaign(enable_reply_agent="observe")`, and likewise for the strategist replan, the hot-lead closer and the coordinator.

Opener (opening message)

The first direct message after a connection is accepted, written in the voice of your own LinkedIn posts from the person's profile, posts and company, and from the signal when there is one. On a new hosted workspace it waits for your approval: `inspect(action="waiting")` lists it, and the text you approve is what is sent. See the [quickstart](https://heylead.dev/docs/quickstart).

Pattern (compound signal)

Two or more different signals on one person within 14 days, read as one named event with a higher score. A job change plus a hiring surge is "new leader building"; a competitor mention plus a keyword mention is "active evaluation". The [signals page](https://heylead.dev/product/signals) shows a pattern forming in its worked example.

Planner

The agent that writes each person's action for the day: view, follow, comment, invite, message or wait. It plans once a day; the strategist rewrites the plan when a signal, an accept or a reply lands. Read what it decided with `inspect(action="journal")`, or on the campaign page.

Profile read

One fetch of a LinkedIn profile from your seat, whether for enrichment, a signal or a reply. Reads are counted per seat against a ceiling of 150 a day, signals included, so a large search spends them. The [ICP](https://heylead.dev/product/icp) and [signals](https://heylead.dev/product/signals) pages print the ceiling.

Project brief

What you are building, when it goes live, the volume and what a vendor must confirm: the `project_brief` argument of `create_campaign`, asked for on your first campaign. The reply agent answers from it and holds anything outside it for you. Recruiting and partner outreach need a clear one, because they share the selling templates.

Quiet hours

22:00 to 08:00 in your time zone, when HeyLead makes no LinkedIn call at all, for every campaign and every job. They are separate from the sending window, on by default on every workspace, and no client sync changes them. The [pricing page](https://heylead.dev/pricing) states them next to the ceilings.

Reads and acts (tool annotations)

Every HeyLead tool is marked either reads or acts through MCP's tool annotations ( `readOnlyHint`). A reads tool such as `accounts` or `inspect` changes nothing, so your client can call it without asking; an acts tool such as `create_campaign` or `send_message` sends, publishes, deletes or overwrites, and the client asks you first. The [tool reference](https://heylead.dev/docs/tools) marks each one.

Reply agent

The agent that reads each reply, classifies its intent and objection type, and answers from your campaign's facts. Anything ambiguous, or a question outside the brief, is held for you; "not now" gets a check-in in 30 days. Set it to on, off or observe with `edit_campaign(enable_reply_agent=...)`; the [agents section](https://heylead.dev/#agents) shows all five agents.

Scope (outreach:read, outreach:write)

What a client may do with the token it gets at sign-in. `outreach:read` reads campaigns, contacts, replies, results and status; a read-only connection can draft and show but never send. `outreach:write` creates and changes campaigns, approves messages, sends as you, launches and stops. You grant them on the consent page; see [Authentication](https://heylead.dev/docs/auth).

Seat

One LinkedIn account connected through Unipile: the unit that ceilings and profile reads are counted on. Free includes one seat; Pro allows more than one, each with its own invitation ceiling, at $29 per connected LinkedIn account per month. See [pricing](https://heylead.dev/pricing).

Self-hosted

Running the MIT-licensed client on your own machine with your own Unipile account and LLM key, data in a local SQLite file, installed with `claude mcp add --scope user heylead -- uvx heylead`; sending then runs from that machine, not the cloud. Self-hosted free installs have monthly quotas: 50 invitations, 20 messages, 30 engagements, 1 active campaign, 3 ICP generations. See [Self-hosting](https://heylead.dev/docs/self-hosted).

Send-fit judge

The agent that reads an opening message or follow-up before it goes and refuses one a person would not send. It judges one message for one person at a time. Read what the agents decided with `inspect`; the [agents section](https://heylead.dev/#agents) names it alongside the planner, strategist, reply agent and closer.

Sending window

When a campaign may send: Monday to Friday, 08:00 to 22:00 in your own time zone by default, London when your time zone is unknown. It applies to campaigns with `send_in_business_hours` on, the default, and `edit_campaign(active_days=...)` changes the days. Quiet hours are a separate, stricter rule; see [pricing](https://heylead.dev/pricing).

Signal

A dated reason to write to someone: a post that mentions your keywords, a job change, a hiring surge, funding, a profile view, a site visit or an inbound request. Each carries a type, source, confidence, score and expiry, and is matched to your ICP before anyone is enrolled. `signals` reads them and `tune_signals` changes how they are found and scored; in chat both need `HEYLEAD_TOOLS=all`. See the [signals page](https://heylead.dev/product/signals).

Strategist

The agent that rewrites a person's plan when a signal, an accept or a reply lands, instead of waiting for the next day's plan. On, off or observe per campaign with `edit_campaign(enable_strategist_replan_agent=...)`. The [agents section](https://heylead.dev/#agents) shows where it sits.

Tool call

One request from your MCP client to a HeyLead tool, with its arguments, and the answer that comes back: `show_status` reporting your workspace, `create_campaign` returning a draft. A saved configuration is not a connection; a tool call that answers is. The [quickstart](https://heylead.dev/docs/quickstart) uses one to verify setup.

Unipile

The independent connectivity provider through which HeyLead reaches LinkedIn and email: your seat connects through it, so your LinkedIn password never touches HeyLead, and a [self-hosted](https://heylead.dev/docs/self-hosted) install brings its own Unipile account. HeyLead is not affiliated with LinkedIn. It reaches LinkedIn through Unipile, which is also not affiliated.

Warm-up

The touches before an invitation: a profile view, a follow, a comment or a reaction, so the request does not arrive cold. The scheduler runs them alongside invitations; `edit_campaign(engagement_mode=...)` picks auto, comment only or react only, and `engage_prospect` does one by hand (in chat it needs `HEYLEAD_TOOLS=all`).

Watchlist

A list of keywords, competitors, companies, people or an industry that HeyLead monitors on LinkedIn and around the web for signals. One is created from your ICP the moment a campaign is active. `manage_watchlist` adds, removes, pauses or resumes one and needs `HEYLEAD_TOOLS=all` in chat; see the [signals page](https://heylead.dev/product/signals).

Workspace

The tenant everything belongs to: campaigns, contacts, connected accounts, settings and the bill. You choose one on the consent page at sign-in, and `organization` lists and switches between them in chat. Deleting it (Settings → Workspace) removes your campaigns, contacts and messages.

[Start free, no card](https://heylead.dev/dashboard/login)

Related: [Docs](https://heylead.dev/docs) · [Tool reference](https://heylead.dev/docs/tools) · [Pricing](https://heylead.dev/pricing) · [ICP](https://heylead.dev/product/icp) · [Signals](https://heylead.dev/product/signals) · [This page as text](https://heylead.dev/glossary.md)
