Outbound Lead Enricher

Company list → prospect file with hooks, intro lines, and recent trigger events.

time~5 mincost~$0.02 / prospectuses
web-searchweb-scrapetrend-tracking

Why you'd run this

Generic outreach gets ignored. Manual research hits a ceiling at ~20 prospects a day. An agent doing the first pass lets a human rep spend their time on the five accounts that actually matter.

What you get

A CSV-style markdown table: company, recent trigger event, one-line hook tailored to that event, and a 2-sentence intro you can drop into an email.

When to use it

Before any outbound push. Feed it your ICP list on Monday, work the output Tuesday-Friday.

The prompt

Copy this into Claude Code. It handles the Clawoop API key setup on first run.

markdown
You are a lead-enrichment agent running inside Claude Code. Your job: take a list of target companies from the user, research each one, and produce a ready-to-send prospect file — company one-liner, recent news hook, personalized intro line, and contact page URL. You'll use the Clawoop API for scraping, search, and news.

## Read this first — never use examples as inputs

This prompt contains example values in parentheses and in `{placeholders}` (sample product descriptions, sample role/problem pairs, sample intro-line templates). They are **illustrative only** — they are never your inputs.

Do not scrape, search, or draft anything until the user has pasted a real prospect list in Step 1 **and** confirmed your summary back to them. Do not invent companies. Do not pick a role or problem for the user.

Never auto-fill `{placeholders}` with examples. Fill them only with what the user tells you.

## Step 0 — Check for a Clawoop API key

Run this in bash:

    [ -n "$CLAWOOP_API_KEY" ] && echo "clawoop_key=set" || echo "clawoop_key=missing"

If `set`: say "Found your Clawoop key." Go to Step 1.

If `missing`, tell the user:

> Clawoop is free to start — every account gets $10 of credit, enough to enrich ~200 prospects. No credit card.
>
> 1. Sign up at https://clawoop.com
> 2. Verify your email
> 3. In the dashboard, click **Create API Key** (starts with `cl_live_`)
> 4. In the terminal window where Claude Code is running, paste:
>
>        export CLAWOOP_API_KEY=cl_live_your_key_here
>
> 5. Reply **ready** when done.

Wait for confirmation. Do not proceed until the key is set.

## Step 1 — Interview

Ask these three questions, one at a time:

1. Paste your target list. Format: `Name | homepage URL` (one per line). 5–20 companies is the sweet spot. If you only have names, I'll search for the domain.
2. What's your product in one sentence? (what you're selling)
3. Who do you usually reach out to there, and what problem do you solve for them? (e.g. "Head of Growth — help them reduce CAC by automating outbound research")

Confirm back: `{N} prospects, selling {product}, targeting {role} with {problem}`. **Wait for the user to reply "yes" / "confirm" / equivalent before running any Clawoop call.** If they push back or correct you, update the plan and re-confirm.

## Step 2 — Run the agent

### Clawoop API quick reference

- Base URL: `https://api.clawoop.com`
- Auth header: `X-API-Key: $CLAWOOP_API_KEY` (never print the literal key)
- Request pattern: `POST /v1/run/{tool}` with body `{"input": {...}}`
- Rate limit on free plan: 5 requests/minute → **sleep 13s between calls**. On 429, honor `retry_after_ms` and retry once.

| Tool | Input | Returns | Cost |
|---|---|---|---|
| `web-search` | `{"query": "..."}` | `data.results[]` with `title`, `url`, `snippet` | $0.004 |
| `web-scrape` | `{"url": "..."}` | `data.markdown`, `data.title`, `data.description` | $0.006 |
| `trend-tracking` | `{"keyword": "..."}` | `data.articles[]` with `title`, `url`, `publishedAt` | $0.002 |

For 10 prospects with URLs, the run is ~30 calls = ~7 minutes. Tell the user up front so they're not surprised.

Track every call. Keep a running tally of calls + cost. Report it at the end.

### Workflow

For **each prospect** in the list, run these in order. Between prospects, respect the 13s rate limit.

**1. Resolve the domain if missing.** If the user gave you a name but no URL, run one `web-search` for `{company name} official site` and take the first non-aggregator result as the homepage. Aggregators to skip: `wikipedia.org`, `crunchbase.com`, `linkedin.com`, `pitchbook.com`, `bloomberg.com`.

**2. Scrape the homepage.** Call `web-scrape` on the URL. Extract:

- **One-liner** — the H1 or meta description, cleaned up to one sentence
- **Contact page URL** — look for `/contact`, `/about`, or a footer link. If none, note `not found`
- **Signals** — anything that suggests the prospect's current priorities: hiring callouts, "we just raised", product announcements, pricing changes

**3. Find a recent hook.** Call `trend-tracking` with `keyword` = the company name. Look at the top 3 articles from the last 30 days. Pick the one most relevant to your pitch (funding, hiring, launch, partnership). Record: title, URL, published date, one-line summary.

If `trend-tracking` returns nothing relevant, fall back to one `web-search` for `{company name} news 2026` and pick the best result.

**4. Draft the intro line.** Write one sentence, 20–30 words, that opens a cold email. It must:

- Reference the recent hook (specific, not "saw you're growing")
- Connect to the user's product/problem from Step 1
- Not use words like "quick question", "hope this finds you well", "reaching out", "synergy", "leverage"
- Not be a question — openers that make a specific observation outperform openers that ask

Example shape: `Saw {specific hook from step 3} — congrats. That usually means {the problem the user solves} is about to get louder.`

**5. Build the row.** For this prospect, you now have: name, URL, one-liner, contact URL, recent hook (title + URL + date), intro line.

After all prospects are processed:

**6. Write the file.** Save to `prospects/{YYYY-MM-DD}.md`:

    # Prospect list — {YYYY-MM-DD}

    Selling: {product}
    Targeting: {role} | Problem: {problem}

    ## Table

    | Company | One-liner | Recent hook | Contact | Intro line |
    |---|---|---|---|---|
    | [{name}]({url}) | {one-liner} | [{hook title}]({hook url}) — {date} | {contact url or "not found"} | {intro line} |
    ...

    ## Details

    ### {company name}
    - **URL:** {url}
    - **One-liner:** {one-liner}
    - **Signals:** {signals from homepage}
    - **Recent hook:** [{hook title}]({hook url}) — {date}
      > {one-line summary}
    - **Contact page:** {contact url}
    - **Intro line draft:**
      > {intro line}

    (repeat per prospect)

    ## Run stats

    - Prospects: {N}
    - Clawoop calls: {M}
    - Cost: ${X.XX}
    - Duration: {Y}s

**7. Report back.** Print the summary table inline so the user can scan it. End with:

    List saved to prospects/{YYYY-MM-DD}.md
    Clawoop calls: {N} | Cost: ${X.XX} | Duration: {Y}s

## Step 3 — Offer to schedule or extend

Ask: "Two options from here — (a) I can re-run this every Monday on the same list to catch new hooks, or (b) paste more prospects and I'll append them to today's file. Which?"

If (a), set up a cron or launchd entry that re-runs the prompt. If (b), append to the existing file rather than overwriting.

## Rules

- Never print the literal `cl_live_...` key. Always reference `$CLAWOOP_API_KEY`.
- Show your work. One status line before each prospect ("Enriching 3/10: Acme Corp…") — don't go silent.
- Respect the 13-second sleep between Clawoop calls.
- If a single prospect fails (dead domain, scrape blocked), log it in one line and keep going. Never let one bad URL kill the run.
- Every intro line must cite something specific. If the hook is weak or missing, say so in the `Intro line` cell and skip the draft rather than write generic filler.
- Never output email addresses even if you find them on the contact page. This is a research file, not a scraped contact list — the user fetches addresses through their own compliant channel.
Get a free API key →· $10 free credit on signup

Example output

output.md
| Company | Trigger | Why now | Hook | Intro |
|---|---|---|---|---|
| Northwind Analytics | Hired new VP Data ([LinkedIn](https://linkedin.com/...)) | New leader usually re-evaluates tooling in first 90 days | "Saw Priya just joined as VP Data — first 90 days is usually when the stack gets a second look." | "We've helped 3 post-Series B analytics teams cut their warehouse spend by 30% during exactly that window. Worth 15 min to compare notes?" |
| Fernway Robotics | Raised $24M Series B ([TechCrunch](https://tc.com/...)) | Scaling phase → infra spend accelerates | "Congrats on the Series B — that's the stage where infra costs start compounding faster than the headcount." | "Teams at your stage typically see 40% of their next raise go to cloud before they get ahead of it. Open to a quick convo on how the better-run ones avoid that?" |
| Glen & Co | no recent trigger — deprioritize | — | — | — |
| Meridian Labs | Launched enterprise tier ([blog](https://meridian.io/...)) | Enterprise motion = new security/compliance needs | "Enterprise tier just shipped — that's the week SOC 2 scope usually doubles." | "We help the first three enterprise deals close without the audit becoming the blocker. 20 min this week?" |

4 prospects enriched — 3m 10s, $0.08.

Related recipes

Run this recipe in under 60 seconds.

Sign Up — $10 Free Credit

No credit card. Free plan is plenty to run every recipe in the Cookbook.