# 2,032 Contacts, 15 Emails: How Andy Toizer ran an outbound campaign inside Claude Code and kept the send for himself

Andy Toizer, head of growth at Freckle, ran a new outbound campaign from Claude Code after his team's LinkedIn reach dropped three to four times in a few months. Claude Code built lists of 100 EdTech and 100 ConstructionTech companies, merged 2,032 possible contacts from Apollo, AI Ark and web search, scored them down to 433, and found emails for 396 of them through a Lead Magic and Findymail waterfall. Before spending credits it ran a test gate with a cache check and a fallback check. The first batch was only 15 emails, written until he could say he would send them himself, then left as Gmail drafts with Slack reminders so he did the sending.

**Try this step:** <strong>Make the ICP explicit enough for an agent.</strong> EdTech and ConstructionTech, Series B-ish or later, 50+ employees, a dedicated SDR or BDR function where possible, selling into markets where normal databases are weak.


| | |
|---|---|
| **Who** | Andy Toizer, head of growth at Freckle, who writes the AgentOperator newsletter. X [@AndyToizer](https://x.com/AndyToizer) and [LinkedIn](https://www.linkedin.com/in/andy-toizer), verified 2026-11-13 |
| **Problem** | LinkedIn reach had dropped and inbound was less predictable, so he needed a custom outbound motion he would feel good about sending, without a contractor or days of manual Sales Navigator work |
| **Stack** | Claude Code, Apollo (search), AI Ark (name and LinkedIn matching), web search fallback, Lead Magic then Findymail for emails, a scoring script, Gmail drafts, Slack reminders, a public 7-skill repo |
| **Confidence** | Medium (first-person, with a public repo; no reply or meeting numbers) |
| **Last verified** | 2026-11-13 |

## The problem
He describes the work as standard GTM he has done for years: define an ICP, build an account list, find the right people, enrich emails and LinkedIns, research each company and contact, write custom emails and LinkedIn notes, get everything into Gmail, and send carefully enough not to hurt deliverability. Both target markets have the same data problem: the accounts and contacts don't live cleanly in normal B2B databases. In ConstructionTech, Apollo returned construction companies when he wanted software companies selling to them. The question was whether Claude Code could run a messy, judgment-heavy workflow he would normally do by hand, well enough that he would choose to do it again.

## The blueprint (as he describes it)
1. **Make the ICP explicit enough for an agent.** EdTech and ConstructionTech, Series B-ish or later, 50+ employees, a dedicated SDR or BDR function where possible, selling into markets where normal databases are weak.
2. **Filter the account list by category, not label.** EdTech became mostly a filtering problem. For ConstructionTech, Claude filtered out contractors and rebuilt the list around software categories such as bidding, field operations and safety. He watched it pull 150 companies, catch bad ones and change the search. The output was 100 companies per market, saved as JSON.
3. **Chain the people sources.** Apollo for title and company search, since searching costs no credits; AI Ark to turn Apollo's obfuscated names into full names and LinkedIn URLs; web search for the rest. For AI Ark he put the API key in a .env file, gave Claude the docs link, and Claude wrote the client.
4. **Score, then cut.** 2,032 people was "mass outbound", so Claude wrote a scoring script and picked the top people by segment: 433 contacts at 146 companies, with 403 more saved for future waves.
5. **Gate the spend.** Before full enrichment, a test mode ran a diverse sample, a cache test to prove that rerunning the same contacts spent no new credits, and a proof that Findymail was really called when Lead Magic missed.
6. **De-scope the copy.** Early drafts had what he calls an AI-personalization smell: too much research up front, year-old news treated as recent, "the next frontier". He cut marketing and RevOps from the first batch and wrote only to sales leaders and SDR/BDR managers. The bar: "Could I send this myself?"
7. **Keep the send.** Claude created Gmail drafts, a varied send schedule, Slack DMs telling him when to send the next one, and a follow-up Slack DM 24 hours later, on work days only, to send a LinkedIn DM.

## Stated results
- Accounts: 100 EdTech and 100 ConstructionTech companies.
- People: 1,689 Apollo contacts, 887 matched through AI Ark, 85 more through web search, and 343 contacts at 24 companies Apollo had missed. Merged, 2,032 contacts, 1,315 with full name and LinkedIn, 181 companies, a 65% match rate. A first test on three companies found 60 contacts and matched about 62%.
- Shortlist: 433 contacts at 146 companies (215 sales leaders, 170 marketing leaders, 65 SDR/BDR managers), 415 of them with full name and LinkedIn URL.
- Enrichment: 396 emails found, a 91% hit rate, 360 from Lead Magic and 36 from Findymail, using 1,396 Lead Magic credits, "roughly $10-ish on our setup."
- First batch: 15 contacts (8 sales leaders, 7 SDR/BDR managers), an A/B test of Loom offers against free POC offers, with LinkedIn notes.
- He packaged the workflow as a 7-skill repo for Claude Code that starts with /plan-campaign.

## Caveats
- No outcome is stated: the post gives no replies, meetings or pipeline from the 15 emails.
- The $10-ish enrichment cost uses Freckle's enterprise pricing, which he says is built into its product, so "your cost might be different." Freckle sells scraping and enrichment, and he is its head of growth.
- He hit rate limits four times, and what he calls not a ton of effort became a week-long project because each limit broke his flow and he had to reload context.
- Claude wrote bad drafts before good ones. He had to catch stale emails, wrong personas such as MDR for SDR, research that was "technically true and emotionally fake," and copy that did not sound like him.
- He calls it about 80% of a better process, not solved. The post is from April 17, 2026.
- Handles: X [@AndyToizer](https://x.com/AndyToizer) (bio lists Betterleap, matching his LinkedIn work history) and [LinkedIn](https://www.linkedin.com/in/andy-toizer), verified 2026-11-13. His X account has no recent posts. No Bluesky, Threads, Instagram or TikTok account verified.

## FAQ
### How did Andy Toizer build his outbound list with Claude Code?
Claude Code searched Apollo by title and company, matched names and LinkedIn URLs with AI Ark, and used web search for the rest. That merged 2,032 contacts, which a scoring script cut to 433.

### How did he avoid wasting enrichment credits?
He ran a test gate first: a diverse sample, a cache test so reruns spent no new credits, and a check that the Findymail fallback fired when Lead Magic missed. The full run found 396 emails, a 91% hit rate.

### Did Claude Code send the emails?
No. It wrote Gmail drafts and a send schedule, and Slack DMs reminded him when to send. He kept the send because stale emails, role mismatches and the right offer were still judgment calls.

### Did the campaign get replies?
The post does not say. It reports 15 first-batch emails with an A/B test of offers, but no reply, meeting or pipeline numbers.

## Sources
- https://agentoperator.substack.com/p/i-used-claude-code-to-run-an-end (primary: Andy Toizer's first-person post in AgentOperator, "I used Claude Code to run an end-to-end outbound campaign", Apr 17, 2026)
- https://github.com/Andytoizer/agentoperator-outbound-workflow (his public repo for the workflow)
- https://agentoperator.substack.com/about (newsletter about page: head of growth at Freckle)

---
*Want agents like these working your distribution? [Get It Built](/get-it-built). Get new teardowns weekly: [subscribe](/subscribe) (double opt-in).*