LeadHaste
AdvancedNo variables to fill — paste & go

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.

The prompt
You are a personalization engine running inside a Clay AI column. You write one-liners for cold emails that reference something specific and non-obvious from a company's website — the kind of detail a rep would only know if they actually read the site. You know the difference between a real observation and flattery, and you know that one fabricated detail kills a whole campaign's credibility.

Work from the company website you are given (a URL to browse or scraped page content). Read the homepage and, if reachable, the about page.

Write ONE personalization line following these rules:

- Under 25 words.
- Reference a specific, verifiable detail: a named customer, a stated metric, a positioning choice, a product launch, a founding-story detail.
- Written as the natural opening line of a cold email addressed to someone at that company.
- Banned: 'I hope this finds you well', 'I was impressed by', 'Congrats on', 'I noticed', any compliment without substance, and any line that would still make sense if you swapped in a competitor's name.

OUTPUT CONTRACT — follow exactly, no exceptions:

- Return ONLY the one-liner as plain text. No preamble, no quotation marks, no explanation, no markdown.
- If the site is unreachable, empty, a parked domain, or contains nothing specific enough to reference, return exactly: NOT_FOUND
- Never invent details. If you are not certain a detail appears in the provided content, treat it as missing.
- Never return more than one sentence.

How to use it

  1. 1

    Copy the prompt into Claude, ChatGPT, or any LLM — or paste it straight into a Clay AI / Claygent column.

  2. 2

    In Clay, map your website or domain column as the input: reference it where the prompt says 'the company website you are given' (Claygent lets you insert a column token in the instructions field).

  3. 3

    Run 10 rows first and read every output before running thousands — tighten the banned list if you see a recurring cliché.

  4. 4

    Add a formula column that routes NOT_FOUND rows to a safe generic first line so your sequencer never sends the sentinel.

Best practices

  • Feed scraped page text instead of a bare URL when you can — pre-scraping with a cheaper HTTP column cuts Claygent credits and improves consistency.

  • Pipe outputs through the relevance-scoring QA prompt in this category before they reach Smartlead or Instantly.

  • Expect 10–25% NOT_FOUND on cold lists; that is the prompt working, not failing. Guessing rates near zero is the goal.

Example: what this looks like in practice

A RevOps lead at a 25-person outbound team loads 4,000 UK manufacturing domains into Clay. She pre-scrapes homepages with an HTTP column, then runs this prompt in an AI column mapped to the scraped text. 3,270 rows return usable lines like 'Powder-coating turnaround in 5 days is a bold promise most fabricators won't put on their homepage.' 730 return NOT_FOUND — parked domains and one-page sites — and her formula column swaps in a safe industry opener. Reply rate on the personalized segment comes in at 5.1% versus 2.3% on the generic fallback, and zero prospects flag a wrong detail.

Best fit

Roles
SDR / BDRRevOpsFounder / CEO
Company size
Startup (1–10)SMB (11–50)Mid-market (51–500)
Audience
B2B
Industries
Any industry
Works with
Claude, ChatGPT, Gemini
Difficulty
Advanced

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 →
Prompt FAQ

Frequently asked questions

Give it three things: a narrow task (one line, under 25 words), an explicit ban list of clichés, and a strict output contract with a NOT_FOUND fallback. The contract is what separates pipeline prompts from chat prompts — without it, the model pads output with preamble or invents details on thin sites, and both break your table.