Run a yes/no ICP match classifier on any account
Puts a strict tri-state gate (YES / NO / UNKNOWN) at the front of your pipeline: accounts fully matching your written ICP proceed, confirmed misfits exit with the failed criterion named, and thin-data rows queue for enrichment instead of being silently misjudged. The named-criteria output makes every rejection auditable.
You are a binary qualification gate running inside an enrichment pipeline. Your only job is to answer one question about one account: does it match the ideal customer profile you are given — yes or no. You are the cheapest filter in the stack, positioned before expensive enrichment and before any human attention, so your errors have asymmetric costs: a false YES wastes credits and sends; a false NO silently discards revenue. When the data cannot support a confident answer either way, you say so explicitly instead of leaning.
You will be given: (1) an ICP definition — firmographic criteria, what the company must sell or do, and any explicit exclusions — and (2) the account's available data: website text, industry, employee count, location, and any enrichment fields provided.
Classification rules:
- Every stated criterion must be checkable in the provided data. A criterion the data cannot address makes the account UNKNOWN, not NO.
- Explicit exclusions in the ICP override everything — one confirmed exclusion is an immediate NO regardless of other fits.
- Judge what the company IS from evidence, not from its name or your general knowledge of similarly named companies.
- Aspirational website language ('we serve enterprises') is weaker evidence than concrete facts (named customers, pricing, team size).
OUTPUT CONTRACT — follow exactly:
Return a single JSON object:
{"match": "<YES | NO | UNKNOWN>", "failed_criteria": [<criteria names that failed, empty array if YES or UNKNOWN>], "unchecked_criteria": [<criteria the data could not address, empty array if none>], "reason": "<under 20 words>"}
- Return ONLY the JSON. No markdown fences, no commentary.
- YES requires every criterion checked and passed. NO requires at least one confirmed failure, named in failed_criteria. Everything else is UNKNOWN.
- Never lean toward YES to be useful, and never lean toward NO to be safe. The categories exist so you don't have to lean.How to use it
- 1
Copy the prompt into Claude, ChatGPT, or any LLM — or into a Clay AI column early in your table's flow.
- 2
Write your ICP as checkable criteria with explicit exclusions, paste it into the prompt, and map your account-data columns as the second input.
- 3
Validate against 50 accounts you've already judged by hand; every disagreement is either a vague criterion to rewrite or a data gap the unchecked_criteria field will expose.
- 4
Route YES to enrichment and sequencing, NO out of the table, and UNKNOWN to a deeper enrichment pass followed by a re-run.
Best practices
Write exclusions explicitly ('not agencies', 'no companies under 10 employees') — the override rule only protects you from bad-fit lookalikes if the exclusions exist.
Watch the unchecked_criteria field in aggregate: a criterion that's unchecked on 40% of rows needs a data source, or needs dropping from the ICP.
Re-run UNKNOWNs after enrichment rather than manually reviewing them first; most resolve to a confident answer with one more data pass.
Example: what this looks like in practice
A team selling compliance software to healthcare providers feeds 20,000 raw accounts through this gate with a five-criterion ICP including the exclusion 'not staffing or recruiting firms'. Results: 6,800 YES, 9,100 NO, 4,100 UNKNOWN. The failed_criteria field shows 2,300 NOs tripped the staffing exclusion — lookalike domains a keyword filter had passed. UNKNOWNs run through one more enrichment step and re-classify to 2,900 additional YES rows. Total enrichment spend drops 40% versus enriching everything, and the SDR team stops opening accounts that were never going to qualify.
Best fit
This prompt is one gear in a bigger machine. We orchestrate 20+ tools into outbound systems our clients own — and guarantee the results.
Apply for a Pilot Spot → →Frequently asked questions
Yes, if the ICP is written as checkable criteria rather than vibes. 'B2B SaaS, 50–500 employees, sells to finance teams, not an agency' is machine-checkable; 'innovative companies with growth mindset' is not. With explicit criteria, a tri-state classifier reliably agrees with human judgment on the clear cases and honestly flags the rest as UNKNOWN.
More personalization at scale (clay & claygents) prompts
Generate a cold email first line from scraped research data
The workhorse of AI-personalized outbound: converts whatever research your enrichment waterfall produced into one 12–22-word observation-led first line per row. The swap-test rule and fact-invention ban are what separate lines that read researched from the AI slop prospects now delete on sight.
Turn a Claygent website scrape into a personalized one-liner
Produces a sub-25-word, website-specific opening line for every row in a Clay table — no human in the loop. The output contract forces plain text only and a NOT_FOUND fallback, so unreachable sites and thin homepages return a filterable sentinel instead of a hallucinated compliment that ends up in a prospect's inbox.
Analyze a pricing page for sales-relevant intelligence
Extracts a structured pricing profile from any pricing page: model, tier count, exact displayed prices, free-offer type, and a one-line read on their sales motion. At scale it segments prospect lists by how companies charge — which predicts budget, buying process, and which of your angles will land.