Back to guides
/Linked API

Ideal Customer Profile (ICP) Template for B2B

An ideal customer profile (ICP) describes the companies most likely to buy from you, succeed with your product and stay – by industry, size, location, the buyer you sell to, and the events that make them ready. Build it from your best customers, not from the market you hope for: the evidence is already in the deals you have won.

The short version. Copy the template below: company rows first, one buyer row, then must-haves, nice-to-haves and disqualifiers. Each row says where its evidence comes from – LinkedIn answers (industry, headcount on LinkedIn, headquarters, what the company does, the buyer's title and role dates), LinkedIn hints (seniority, whether a company has open vacancies), or your CRM and interviews (revenue, deal size, retention, pains, tech stack). Fill it from 20–50 of your best closed-won customers rather than a guess. An AI agent can read those customers on LinkedIn, tally the pattern, fill the template and draft the searches that find more like them – you review before any list is built.

The ICP template (copy it)

Paste this into a sheet, a doc or your CRM. The third column tells you where to get each answer; the last column shows the kind of value that goes there.

FieldWhat to writeWhere the evidence comes fromExample
IndustryThe exact LinkedIn industry label(s) your best customers shareLinkedIn answers – the company pagee.g. Software Development
Headcount on LinkedInA band, such as 51–200LinkedIn answers – LinkedIn's member count, not the range a company declarese.g. 51–200
HeadquartersCountries or regionsLinkedIn answerse.g. United States
What they doKeywords from their specialties and descriptionLinkedIn answerse.g. B2B SaaS, payments
Company ageFounded between…LinkedIn answers, when the page shows ite.g. 2015–2021
Open vacanciesWhether they are hiring at allLinkedIn hints – a total count, not which teame.g. has open jobs
Revenue bandA rangeYour CRM – Sales Navigator offers revenue only as a search filtere.g. $10M–$50M
Funding stageBootstrapped, seed, Series A…Your CRM or other sourcese.g. Series A–B
Tech stackTools they must use, or must notYour CRM, interviewse.g. uses Salesforce
Pains and why they boughtIn the customer's wordsInterviews, call notese.g. "reps spend Mondays building lists"
Buying triggerThe event that made them readyInterviews; LinkedIn hints such as a new leader in the rolee.g. new VP Sales in the last 6 months
Buyer: title and functionWho signs or championsLinkedIn answers – the title as the person reports ite.g. Head of Revenue Operations
Buyer: seniorityManager, director, VP…LinkedIn hints – inferred from the titlee.g. director or above
Buyer: time in role when they boughtTypical tenure on the close dateLinkedIn experience dates + your CRM's close datee.g. under 18 months
Buyer: past companiesPatterns worth notingLinkedIn answerse.g. previously at a larger SaaS company
Buyer: where they are basedOnly if your ICP needs itLinkedIn answers – the person's location, not the company's headquarterse.g. any
Must-havesThe rows a company has to matchYour call from the tallye.g. industry and headcount
Nice-to-havesRows that raise priorityYour calle.g. open vacancies
DisqualifiersWho to leave outLinkedIn and your CRMe.g. under 10 people on LinkedIn

Value measures – retention, expansion, deal size, time to close – decide which customers count as "best" in the first place. They come from your CRM and are not rows in the profile. The buyer row covers one person; the rest of the buying group is in our guide to mapping a B2B buying committee, and every current industry label is in our LinkedIn industry list.

Worked example: an AI agent fills the template from 30 customers

The fastest way to fill the template is to let an AI agent read your customers for you. It works through Linked API on your own LinkedIn account, in a real cloud browser at a human pace – Linked API never stores your password. Connect it as a custom connector in Claude (no code), through the MCP server in any MCP client, or with the agent-friendly CLI; the LinkedIn AI agent guide covers the setup.

Your Agent
runs on your own LinkedIn account
Here are our 30 best closed-won customers from the last 12 months – each with the company's LinkedIn URL, the buyer's LinkedIn URL and the deal's close date (closed-won.csv). Read each company and buyer, tally industry, headcount on LinkedIn, headquarters, open vacancies, buyer title, and how long the buyer had been in that role at that company on the close date, and fill in the ICP template. Mark anything LinkedIn doesn't show as "from CRM" or "unknown". Then draft a company search and a buyer search that would find more like them, run each once as a small check, and don't contact anyone.
Agentvia MCP Server
Used Linked API: fetch_company, fetch_person, search_companies, search_people
  • industry, headcount on LinkedIn, headquarters, specialties, open vacancies
  • title, role start dates, past companies – tenure worked out against each close date
  • keyword "software", Software Development and IT Services and IT Consulting, 51–200 and 201–500, headquartered in the United States or the United Kingdom
  • keyword "revenue operations", current companies: 10 of the matched companies

All 30 read. Here is the pattern – the filled ICP and both searches follow. Nothing has been contacted.

FieldWhat 30 customers showEvidence
IndustrySoftware Development 14 · IT Services and IT Consulting 7 · Financial Services 4 · other 5LinkedIn answers
Headcount on LinkedIn11–50: 4 · 51–200: 15 · 201–500: 8 · unknown (none shown): 3LinkedIn answers
HeadquartersUnited States 19 · United Kingdom 7 · other 4LinkedIn answers
Buyer titleHead or Director of RevOps 11 · VP Sales 9 · founder 5 · other 5LinkedIn answers
Time in role on the close dateunder 18 months: 17 · 18 months or more: 11 · unknown (no start date shown): 2LinkedIn experience dates + CRM close date
Open vacanciesany open jobs: 21 of 30 – the count says nothing about which teamLinkedIn hints
Check runscompany search: 4 of 5 spot-checked customers came back · buyer search: 12 people at 8 of the 10 companies, employers verified–

you review the profile before any full list is built

Works withClaudeCodexChatGPTCursorOpenClaw
Example run, illustrative companies. If your file has buyer names but no LinkedIn URLs, the agent first finds each buyer at the company by title. Works in Claude, ChatGPT, Cursor or Claude Code through the MCP server or the CLI.

Here is the filled ICP that run produces – the template's rows with this example's values:

FieldThis example's ICPEvidence
IndustrySoftware Development; IT Services and IT Consulting (must-have)LinkedIn answers
Headcount on LinkedIn51–500 (must-have); 11–50 only with open vacancies (nice-to-have)LinkedIn answers
HeadquartersUnited States, United Kingdom (must-have)LinkedIn answers
Open vacanciesAny (nice-to-have)LinkedIn hints
Revenue bandFrom CRMYour CRM
BuyerHead or Director of Revenue Operations, or VP SalesLinkedIn answers
Buyer: time in role when they boughtOften under 18 months – a new leader building their stack (nice-to-have)LinkedIn experience dates + CRM close date
Pains and triggerFrom your call notesInterviews
DisqualifiersFewer than 11 people on LinkedIn; existing customers and open dealsLinkedIn and your CRM
Unknowns3 customers showed no headcount – kept as unknown, not dropped–

And the two searches it turns into, account-first:

  1. Company search – a keyword ("software") plus the industries Software Development and IT Services and IT Consulting, the size bands 51–200 and 201–500, and headquarters in the United States or the United Kingdom.
  2. Buyer search – people with "revenue operations" or "VP Sales" in their title, at the companies the first search matched (as current companies). Check each person's employer against the company criteria. The check run above used 10 companies; building the full list is a separate, later step.

How to create an ideal customer profile from your best customers

The steps behind the example, if you do them by hand or want to check the agent's work:

  1. Choose 20–50 closed-won customers and define "best". Use your CRM: retained, expanded, quick to close. HubSpot's advice is to "Pull your top 20–30 accounts by revenue, retention, and product engagement"; Salesmotion's is to "Pull 50–100 closed-won deals from the last 12 months". Treat the size as a working range, not a rule. Adding a few churned or closed-lost accounts gives you contrast for the disqualifiers.
  2. Read each company – industry, headcount on LinkedIn, headquarters, specialties, open vacancies.
  3. Read the buyer – start from the buyer in your CRM and their LinkedIn profile; if you only have a company, find the person by title. Note the deal's close date: the buyer's tenure only means something measured on that date, not today.
  4. Tally – counts per industry, headcount band, region, buyer title, and the buyer's time in role on the deal's close date (role start dates from LinkedIn, the close date from your CRM; anything unresolved stays unknown).
  5. Write must-haves, nice-to-haves and disqualifiers. This is judgement, not a score: a pattern in 14 of 30 customers may be a must-have, one in 5 of 30 a nice-to-have. Our lead qualification checklist shows how to apply the result to each new lead.
  6. Turn it into searches, account-first, and check what comes back. A few of your known customers should reappear in the company search; if they don't, a label or a band is off.

Negative ICP: who to leave out

A negative ICP lists the companies and people you do not want, even if they look keen. Some disqualifiers are readable on LinkedIn: industries you do not serve, headcount bands that are too small or too large, headquarters regions you cannot support, employees of a competitor, and titles such as student, intern or "former". Others only your CRM knows: why customers churned, which deals turned out to be a bad fit, who never paid. Template makers treat this as its own section – Miro's ICP templates include "Anti-ICP" red flags, for example. Write yours next to the must-haves so nobody builds a list without it.

ICP vs buyer persona

Ideal customer profileBuyer persona
DescribesA type of company (an account)A person inside that company
AnswersWhich companies to pursueHow to talk to the people there
Built fromFirmographics, your best customers, disqualifiersInterviews, roles, goals, objections
Used bySales, RevOps, marketing for targetingMarketing and sales for messaging

HubSpot puts it in two sentences: "ICPs tell you which companies to pursue. Buyer personas tell you how to sell to the people inside those companies." How many ICPs a company should have is less settled: Cognism argues for one, while Product Marketing Alliance suggests two or three well-defined ones. Start with one built from your best customers and split it only when the tally clearly shows two different groups.

Turn the ICP into LinkedIn searches (account-first)

  • Industry → the exact LinkedIn label. Use the label exactly as LinkedIn writes it: it is typed into LinkedIn's industry filter, and when nothing matches by name, LinkedIn's first suggestion is taken.
  • Headcount → a size band (1–10 up to 10,001+).
  • Headquarters → the company search's location filter, which matches where a company is headquartered.
  • Buyer → a people search by title at the matched companies. Use the companies from the first search as current companies and verify each person's employer.
  • Don't copy the headquarters into the people search's location. In a people search, location means where the person lives: copying it would drop an overseas employee of a company that fits, and let through a local employee of one that doesn't. Add a person location only if your ICP separately requires the buyer to be based somewhere.
  • A company search needs a keyword alongside the filters – an agent always includes one; the CLI and the API can also start from a search URL you paste. The standard people search has no company-size filter, so size is checked on the company.
  • On Sales Navigator, a pasted search URL carries seniority, function and years in role.

Which filters each LinkedIn plan offers is covered in our guide to LinkedIn advanced search.

Keep it current

Re-run the tally each quarter on that quarter's new wins and compare: a new industry creeping in, a shift in headcount, a different buyer title. The pages that publish ICP templates disagree on the cadence – HubSpot suggests reviewing at least once a quarter, Product Marketing Alliance at least once a year. With an agent doing the reading, quarterly costs little.

What this run can't fill

  • Revenue – not a field on a LinkedIn company page; Sales Navigator offers it only as a search filter band.
  • Funding, tech stack and intent – not read from LinkedIn here; bring them from your CRM or other sources.
  • Which team is hiring – the company page shows a total vacancy count, not the team; individual job listings could show it, but this run does not read them.
  • Win rates, deal size, retention – your CRM.
  • Seniority – inferred from titles; there is no seniority field.
  • Exact headcount – LinkedIn's member count, which can differ from the range a company declares; LinkedIn itself notes that counts based on member profiles may differ from actual employee counts. No headcount shown means unknown, not small.

Frequently Asked Questions (FAQ)

Start from 20–50 of your best closed-won customers, read each company and its buyer, and tally what they share – industry, size, location, buyer title, time in role. Turn the strongest patterns into must-haves, the weaker ones into nice-to-haves, and add disqualifiers. The template on this page gives you the rows.

Company rows (industry, headcount, headquarters, what the company does, company age, hiring, revenue band, funding, tech stack), the buyer you sell to (title, seniority, time in role), the pains and triggers behind the purchase, and the fit logic: must-haves, nice-to-haves and disqualifiers.

An ICP describes a type of company you should target; a buyer persona describes a person inside it and how to talk to them. Build the ICP first, then personas for the people in those companies.

Enough to see a pattern. Published advice ranges from your top 20–30 accounts (HubSpot) to 50–100 recent closed-won deals (Salesmotion); 20–50 is a practical working size for most B2B teams.

Yes, but the advice differs: some recommend a single ICP, others two or three. Start with one and split it only when your customer data clearly shows separate groups that buy for different reasons.

A list of the companies and people you deliberately leave out – industries you do not serve, sizes or regions you cannot support, competitors' employees, and the patterns behind churn or bad-fit deals.

At least once a year, and ideally each quarter on your newest wins. Re-running the tally is quick if an agent reads the customers for you.

Most of the company and buyer rows, yes: industry, headcount on LinkedIn, headquarters, specialties, the buyer's title, role dates and past companies – with your CRM's close dates, also how long each buyer had been in the role when they bought. Revenue, funding, tech stack, pains and deal data come from your CRM and interviews.

Yes – the table at the top of this page. Copy it into a sheet, a doc or your CRM, and use the evidence column to see which rows LinkedIn can fill for you.

Build it in, or hand it to an agent

Get it out of the box: connect the MCP server, the agent-friendly CLI or a ready-made skill and let an agent fill the template from your customers – the filled profile is also the kind of ICP the LinkedIn growth skill asks for before it qualifies leads. Or build it into your own tools with the REST API, the Node and Python SDKs and the shell CLI. Either way it runs on your own LinkedIn account. Plans are flat per seat, from $49/mo billed annually – see pricing. Next: apply the profile to each lead with the lead qualification checklist, tier the accounts in account-based selling, or put it to work in AI sales prospecting.

Facts verified November 4, 2026 – quotes checked against the cited HubSpot, Salesmotion, Cognism, Product Marketing Alliance and Miro pages on that date.