How to build an ICP for cold email that survives a real search

WORKSHOP

Workshop 16: How to build an ICP for cold email that survives a real search

Most ICPs are written as a wish list and never tested against a real database. The first search returns a number that looks like a market, and it is often a filter setting. In one real search, strict trade-show titles returned 679 people. The same intent with broad titles and similar-title matching returned 91,000.

The number you build on decides what you pay for. About 85% of a raw count does not survive to sending once bad fits, duplicates, unverifiable addresses, and catch-alls come out, so a 1,000-person angle is roughly a 150-person campaign.

This prompt defines who to target with cold outbound and turns it into a search you can run again.

What it does

It works as a conversation, one step at a time, and waits for your answer before moving on. Eight steps: understand the business, split hard filters from soft preferences, pick the people inside the account, size the search, size several angles, set expectations on list size, define one to three scoring signals, and validate on 50 to 100 real prospects.

At the end you get a plain-text ideal customer profile: titles, seniority, industries, company size, locations, and exclusions, plus the chosen angle and its count, the scoring signals, and the exact filters so the search reruns identically.

What it catches

  • Counts inflated by fuzzy titles. 679 strict against 91,000 broad. It runs strict titles first and shows you both numbers.

  • Signals used as hard filters. Gating on "just raised" or "hiring" shrinks the list around 20 times. They are reasons to prioritise, not requirements.

  • Angles that admit the wrong companies. A "recently funded" filter on one data provider returned 34% companies that had just been acquired.

  • No baseline. In one session the count with no angle was 203,908 and the angles ranged from 1,044 to 3,243. That gap is what the choice buys.

  • Paying twice for the same people. Angles overlap invisibly: 85 people in a second list had already been paid for in the first, and 47 of 59 company-cap removals came from another angle.

  • Blaming the angle when the persona is wrong. A good timing signal sent to the wrong buyer produced 706 sends and zero positive replies.

  • Competitors in the list. They reply because they buy what you sell, not because they fit.

  • The 100-point scoring rubric. It uses one to three signals ending in High, Medium, or Low, because a weighted rubric looks rigorous and predicts nothing.

How to use it

  • Paste it into any chat. Copy the prompt below into ChatGPT, Claude, or any other assistant. With no database connected, it tells you exactly what to search and you bring the numbers back.

  • Add it to a Claude Project. Upload the prompt as a project file. Connect Apollo and it runs the searches itself, asking for a yes before any call that costs credits. Setup: the Claude setup guide.

The prompt

Copy the whole prompt below, from the first line to the last, and paste it as your first message.

You are helping me define who to target with cold outbound, and turn that into a search I can run in my prospecting database. Work through the steps below with me one at a time. Ask, wait for my answer, then move on. Do not do everything in one reply.

If you have a prospecting database connected as a tool, run the searches yourself. People searches are usually free; company searches and anything that reveals contact data usually cost credits, so tell me the cost and get a yes before any paid call. If nothing is connected, tell me exactly what to search and I will bring the numbers back.

You advise and I decide. Flag what looks wrong, then do what I ask.

Step 1. Understand the business. Ask for my website or two sentences on what I sell and to whom. Say back in one paragraph what I sell, who buys it, and why, and propose a starting point: titles, industries, company size, and location, drawn from my case studies and best customers. Ask me to correct it.

Step 2. Split hard filters from soft preferences. For every criterion, ask: "If someone matches everything except this, do we still reach out?" No means a hard filter, which goes in the search. Yes means a soft preference, which becomes a scoring signal or a line in the copy. Titles and industry are usually hard. Company size is usually soft at the edges. Events like "just raised" or "hiring" are almost never hard filters: gating on them shrinks the list around 20 times over, and they are reasons to prioritise, not requirements.

Step 3. Pick the people inside the account. Who are we writing to: the champion, the economic buyer, the end user? Keep it tight. Each one gets its own titles and seniority.

Step 4. Size it, and find what inflates the number. Get the total count for the search. If it is enormous, tighten it. If it is a few hundred, loosen a soft edge. When a count looks too big, find the cause before tightening. Fuzzy title matching is the usual culprit: in one real search, strict trade-show titles returned 679 people and the same intent with broad titles and similar-title matching returned 91,000. Run it once with strict titles only to see the real base, then widen on purpose and tell me both numbers. A search that returns zero is usually a typo in a filter value, not an empty market.

Step 5. Size several angles before choosing one. The ICP is who to reach. An angle is why they are relevant right now, and one ICP supports several. If searching is free, size five or more; if it costs money, size two and choose on judgment. There are four kinds, and the kind decides how long the list stays good:

Kind

Example

How long it lasts

Timing

Hiring for a role, just raised, new in the job

Weeks. Rebuild it close to sending, never stockpile it.

Technographic

Already uses the tool my offer works with

Slow to decay, usually small, self-qualifying.

Structural

11 to 200 employees with 0 to 2 people in sales

Does not decay. The largest list and the weakest reason to write.

First-party intent

Visited my pricing page this week

Days. Tiny, capped by my traffic. Work it as a queue.

One filter can give opposite angles. Time in current role under six months finds someone still forming their plan; over two years finds someone who owns the current mess. Different emails, same filter.

Always get the count with no angle too. In one real session the baseline was 203,908 and the angles ranged from 1,044 to 3,243, which is what the choice actually buys.

Then check the angle admits only what its name says. A "recently funded" filter on one data provider returned 34% companies that had just been acquired, because an acquisition counts as a funding event. The count looked fine; only a sample of the companies showed it. Look up a handful of companies behind every signal angle before spending on it.

Step 6. Set expectations on size. Expect about 85% attrition from raw count to sendable, after removing bad fits, duplicates, unverifiable addresses, and catch-alls. Two real runs landed at 15% and 13% kept. A 1,000-person angle is a 150-person campaign. Say this before I get attached to the big number.

Step 7. Define one to three scoring signals. What separates a strong-fit account from a barely-fit one for my business? Ask me what my best three customers have in common, what has to be true for someone to need me, and when they buy. Pick one to three signals, not ten. Each is either a filter signal (the database can filter on it) or a research signal (someone has to look at the website, like "has a public pricing page"). If a signal cannot be filtered or researched, it is a wish. Every lead ends up High, Medium, or Low priority. Never build a weighted 100-point rubric: it looks rigorous and predicts nothing.

Step 8. Validate on real people. Before any list gets built or paid for, have me look at 50 to 100 real results and answer "is this my customer?" Walk through a few concrete examples, not just the count. Turn every "avoid this" and "prioritise that" into an exclusion or a signal. Do not move on until the sample passes.

Rules for running more than one angle: - One angle per campaign. Two angles in one campaign is one message trying to be relevant for two reasons, and a result you cannot attribute. The first line of the email should change with the angle. - Angles overlap, and the overlap is invisible. In one real run, 85 people in the second list had already been paid for in the first. Remove everyone already enriched or contacted before paying for a new list, and cap contacts per company across all angles, not within one: 47 of 59 people removed by a company cap were removed because another angle already had someone there. - Exclude competitors in the search when they would buy what I sell. They reply because they are buyers, not because they fit. - Sending capacity sets how many angles I can run, not budget. Every angle queues on the same mailboxes, and a list that waits goes stale. - Launch the sharpest angle first. If it gets nothing, the problem is probably the offer, and a bigger list will not fix it. - Check the persona before blaming the angle. A good timing signal sent to the wrong buyer produced 706 sends and zero positive replies.

What to hand me at the end: a plain-text profile with the ICP (titles, seniority, industries, company size, locations, exclusions), the chosen angle and its count, the one to three scoring signals with the rule for each, and the exact search filters so the search can be rerun identically later.

Method adapted from the ICP builder in Apollo Operator, a free, open-source headless GTM toolkit by Creatop: github.com/creatop-gtm/apollo-operator

Part of the Apollo Operator prompt pack

This is one of 19 free prompts from Apollo Operator, the open-source headless GTM toolkit Creatop builds and runs on its own campaigns. Get the full pack here: the Apollo Operator prompt pack.

LATEST

FEATURED

Learn from our work

Logo

OUR NEWSLETTER

Notes from live campaigns. No theory, no filler.

PAGES

MORE

LEGAL

© 2026 Creatop. All rights reserved.

Learn from our work

Logo

OUR NEWSLETTER

Notes from live campaigns. No theory, no filler.

PAGES

MORE

LEGAL

© 2026 Creatop. All rights reserved.

Learn from our work

Logo

OUR NEWSLETTER

Notes from live campaigns. No theory, no filler.

PAGES

MORE

LEGAL

© 2026 Creatop. All rights reserved.