ooligo
claude-skill

Auto-enrich leads with Clay + Claude

Difficulty
intermediate
Setup time
30min
For
revops · sdr-leader
RevOps

Stack

A Claude Skill that augments a Clay table with three AI columns: company summary, ICP fit score with reasoning, and a personalized cold-email opener. Drop it on any Clay table that has a domain column, run, push to HubSpot.

What you’ll need

  • Clay account (Starter plan or higher)
  • Claude API key (or Claude.ai with the Skill imported)
  • A Clay table with a domain column populated
  • An ICP rubric document (optional but strongly recommended)
  • HubSpot (or any CRM Clay syncs to) as the destination

Setup

  1. Add the Skill. Drop lead-enrichment.skill into your Claude.ai project, or ~/.claude/skills/ for Claude Code. The Skill exposes three callable functions: summarize_company, score_icp_fit, write_opener.
  2. Wire three AI columns in Clay referencing the Skill:
    • summary — input: domain. Output: 2-sentence company summary.
    • icp_fit_score — input: domain + ICP rubric. Output: 1-10 score + 1-line reasoning.
    • opener — input: domain + summary + recent news. Output: one-paragraph cold-email opener, sub-50 words.
  3. Configure the destination. In Clay, set the table to push enriched rows to HubSpot via the native integration. Map summary → custom property, icp_fit_score → custom property, opener → first-touch sequence variable.
  4. Run on a sample of 20 rows. Spot-check accuracy. Tune the ICP rubric if scores feel off.
  5. Run at scale. Recommended cadence: weekly for newly-imported leads, daily for high-priority segments.

How it works

The Skill takes a domain and runs three sub-tasks in sequence:

  1. Fetches the company’s homepage + about page (Claude with web fetch tool, or Clay’s HTTP column upstream).
  2. Extracts: industry, size signals (employee count from public sources), value proposition, recent news.
  3. Generates the three outputs in a single structured response.

For ICP fit scoring, the Skill accepts an optional rubric — pass your team’s “ideal customer” criteria as text — and outputs both a 1-10 score and the reasoning, so reps can verify or override.

Watch-outs

  • Source data quality. Domains that don’t resolve, parked domains, or sites with thin content produce weaker outputs. Run Clay’s domain validation column upstream.
  • Cost. Each row triggers ~3 Claude calls. At Sonnet pricing, sub-cent per row, but at 100K rows the budget matters. Use the Anthropic Batch API for non-urgent enrichment runs (~50% discount).
  • ICP rubric is the leverage point. A vague rubric (“good fit B2B SaaS”) produces vague scores. Tight rubric → tight scores. Iterate on the rubric monthly.
  • Opener variability. The opener column needs guardrails — set a max length, require a reference to something specific (a recent product launch, a public hire), and ban superlatives. Without guardrails, openers drift toward generic flattery.

Stack

  • Clay — enrichment + orchestration substrate
  • Claude — AI column inference; Skill is the reusable interface
  • HubSpot — destination CRM (Salesforce, Attio, etc. work the same way)