Deals Machine is now Klesos
Klesos
arrow_backAll posts
Guide

How to build an ICP that survives real dials

Kyle Dow·Sep 20, 2026·5 min read

You find out the list was wrong on the twentieth call.

Nineteen people have told you they were never the buyer and you took each one as bad luck, because nineteen individual disappointments do not feel like a pattern while they are happening. They feel like a bad morning.

An ideal customer profile is supposed to prevent that. In practice most of them are written in a document during a planning session, agreed by people who are not going to dial, and never checked against a phone call again. Here is the version that survives contact with a real list.

Start from the sentence, not the filters

You can describe your buyer in one sentence. Turning that sentence into filters is what takes the afternoon: industry codes, headcount bands, title strings, and then the same job title written differently for a different country.

So say the sentence instead. You describe what you sell and who buys it in your own words, and the targeting profile is built out of that: the titles, the industries, the geography, the offer itself.

Then the whole profile goes on one page so you can read it back, and every part of it is editable. If it decided your buyer is an operations manager and in your experience it is the owner, you change that line. Correcting one line is a different job from writing ten, and it is a job you will actually do.

One thing worth knowing before you go looking for the builder: it only appears if your workspace is set up to source its own leads, which is an admin setting. If your leads arrive by CSV or from your CRM you pick that instead and skip the page entirely.

Check it against real companies before you dial

This is the step that separates a profile from a guess.

Before you spend a call on it, the profile is validated against real companies and you get the named ones that match, each with a line saying why it fits. Then the targeting is graded, with the reasoning behind the grade written out.

The grade is not decoration. A fresh profile can come back as a C. Finding that out on screen costs you nothing. Finding it out on call twenty costs you a morning, and finding it out on call two hundred costs you a quarter.

Two things are excluded in code rather than by a setting you might get wrong: your own competitors, and the vendors who merely sell into the same market you sell into. Both of those look like perfect matches to a naive filter and neither of them will ever buy from you.

A lead score you can open up

Something tells you this lead is a 92 and you have no idea why, so you ignore the number and call in whatever order the list came in.

Each lead is ranked by how much pain your offer actually removes for that company, and the reasoning is written out as a chain you can expand. You can read why the top one is at the top. You can also change the factors, so the ranking follows your rules rather than a default someone else picked.

The score is frozen at the moment you called the lead, which means your history stays honest. A lead you called when it scored 80 does not silently become a lead you called at 40 because you reweighted something last week.

If you do reweight, expect the absolute numbers and the bands to move. That is what reweighting means, and it is better to know it in advance than to discover your whole list dropped twenty points overnight.

Fix it in one sentence between call blocks

Fifty calls in you know exactly what is wrong with your list. The friction is that fixing it usually means finding whichever screen you built it on.

Every filter is editable one at a time on a single screen. You can also type the change you want in plain words and approve the rewritten profile, which is faster than hunting for the right field. It also tightens the profile on its own using what the last batch of leads actually turned out to be.

So the profile changes between call blocks, in the words you would say out loud, and the next batch reflects it.

It learns from the leads you delete

You keep deleting the same kind of useless company every morning and tomorrow they are back.

When you delete the same kind of lead repeatedly the pattern gets spotted, the evidence is shown to you, and an exclusion rule is proposed. It sits in an approvals queue until you say yes.

Nothing it proposes is ever applied on its own. That is a deliberate product rule and it is worth stating plainly rather than softening: your targeting does not change because a machine inferred something about your market overnight. It changes because you agreed.

Markets next door you never thought to call

You are calling the same three kinds of company because those are the three you thought of when you started, which is a fine way to begin and a bad way to continue.

Adjacent markets worth trying are proposed based on what your own calls have taught the system, and a suggestion can be built into a real target market in a click. The value is that the shortlist came out of your call history rather than out of a brainstorm, so it is at least anchored to conversations that actually happened.

The honest shape of this

An ICP is not a document you finish. It is a hypothesis that gets corrected by phone calls, and the only question is how quickly the corrections get back into the list.

Build it from a sentence, look at the real companies it produces, call them, and let the ones you delete and the outcomes you tag pull it back into shape. The version of your targeting that matters is the one you are using in six weeks, not the one you wrote on the first afternoon.

Sign up and your first three calls are free. A call only spends one of the three if it connected and lasted at least ten seconds, so wrong numbers and dead lines cost you nothing, and your local number is free in every market we cover.

Stop calling more. Start calling better.

Describe your customer in one sentence. The agent sources the leads, writes the playbook, coaches you live, and gets sharper with every call.