The Cold Email Memory System
How to build a compounding knowledge vault using Claude Code, Obsidian, and Instantly — so every campaign you run feeds the next one instead of starting from scratch.

Most people running cold email campaigns are leaving the most valuable asset on the table.
Not the leads. Not the copy. Not even the campaign data sitting in Instantly right now.
The asset they're missing is institutional memory — a compounding knowledge base that gets smarter every time a campaign ends, every time a positive reply comes in, every time they figure out what actually books meetings.
Instead, most operators finish a campaign, maybe screenshot the stats, and move on. The next campaign starts from scratch. The copy that crushed it six months ago? Gone. The ICP that booked three meetings in one week? Forgotten. The subject line variant that hit 8% reply rate? Nobody wrote it down.
Here's how to fix that permanently — using three tools most cold email people already have or can get for free: Claude Code, Instantly, and Obsidian.
What You're Building
Before the setup, understand the end state.
You're building a local knowledge vault that lives on your machine. Every campaign you've ever run gets pulled into it — the copy, the targeting logic, the sequence structure, the results. Every time a campaign finishes, you pull the data in. Every time you learn something about what books meetings vs. what doesn't, it goes in.
Claude Code is your interface to all of it. You're not building dashboards. You're not exporting CSVs. You're building a system you can have a conversation with. "Which subject line variants had the highest reply rate last quarter?" "What industries booked the most meetings?" "Show me the best-performing Step 2 emails I've written."
The vault compounds. The longer you run it, the more valuable it gets. That's the whole point.
Step 1: Set Up Obsidian
Obsidian is a local-first markdown note-taking app. Everything lives on your machine as plain text files. That matters because Claude Code can read and write to it directly — no API, no sync fees, no third-party access to your campaign data.
Download from obsidian.md — it's free. Install it like any other app.
Create your vault
- 1Open Obsidian
- 2Click "Create new vault"
- 3Name it something like Cold Email OS or Campaign Intelligence
- 4Choose a folder location you'll remember — your Desktop or Documents folder works fine
- 5Click Create
You now have a local folder on your machine. That folder is your vault. Everything you build from here lives there.
Set up your folder structure
Inside the vault, Claude will create these folders:
📊 Campaigns/
📝 Copy Library/
🎯 ICP & Targeting/
📞 Reply Analysis/
📈 Performance Data/Don't manually create your folder structure. Let Claude do it. Open your terminal, navigate to your vault folder, start Claude Code, and tell it:
"Set up my cold email operating system vault. Create a folder structure for
tracking campaigns, storing top-performing copy, documenting ICP and targeting
notes, logging reply analysis, and tracking performance data. Use whatever
structure makes the most sense for a system I'll be pulling into regularly
from Instantly."Claude will build the whole thing out in seconds — folders, subfolders, and even starter notes if you ask for them. This is the first taste of what the system actually feels like: you describe what you need, it builds it.
Step 2: Get Your Instantly API Key
Log into your Instantly account. Go to Settings → Integrations → API. Generate an API key if you don't have one.
Copy it. You'll need it in the next step.
Step 3: Install Claude Code
Claude Code is Anthropic's CLI tool — it's a terminal-based AI that can read, write, and operate on files on your machine. This is what makes the whole system work. It's not a chatbot in a browser. It's an agent that has actual access to your vault.
Install it
npm install -g @anthropic/claude-codeYou'll need Node.js installed first if you don't have it. Download that at nodejs.org, then run the command above in your terminal.
Once it's installed, navigate to your Obsidian vault folder in the terminal:
cd ~/Documents/Cold\ Email\ OSReplace the path with wherever you created your vault. Then start Claude Code:
claudeYou're now inside Claude Code, pointed at your vault. Claude can see everything in this folder.
Step 4: Create Your .env File
This is where you give Claude access to your Instantly data without ever hardcoding credentials anywhere.
In your vault folder, create a file called .env:
INSTANTLY_API_KEY=your_api_key_herePaste your Instantly API key after the equals sign. Then tell Claude Code about it:
"I have an .env file in this folder with my Instantly API key. I want you
to use that when making calls to the Instantly API."Step 5: Pull Your Campaign Data Into the Vault
Now tell Claude to pull everything from Instantly. Start with something like this:
"Using the Instantly API and my API key from the .env file, pull all of my
campaigns — the campaign name, the emails in the sequence, the subject lines,
the send stats (sent, open rate, reply rate), and any lead data you can access.
Organize each campaign into its own folder inside the Campaigns folder in this vault."Claude will hit the Instantly API, pull the data, and write it all into your vault as markdown files. Each campaign gets its own folder. Inside that folder: the sequence copy, the subject lines, the stats.
Once that initial pull is done, your vault has the complete history of everything you've run. You can go further:
"For each campaign, also create a summary note that captures: the ICP that was
targeted, the industry, the offer angle used, the reply rate, and any notes on
what the replies were like."Step 6: Build the Copy Library
Raw campaign folders are useful. A curated copy library is where the real leverage lives.
"Go through every campaign in the Campaigns folder. Extract the
highest-performing Step 1 emails — anything with over [your threshold]% reply
rate. Write each one into the Copy Library folder as its own note, tagged with
the industry it was sent to and the offer angle."Do the same for subject lines:
"Pull every subject line variant across all campaigns and sort them by open
rate. Create a Subject Lines note in the Copy Library that ranks them from
highest to lowest."Do the same for Step 2 follow-ups, for CTAs, for openers. Now when you're writing a new campaign, you don't start from scratch. You ask:
"What's the best-performing Step 1 email I've written for the [industry] vertical?"And Claude pulls it from the vault.
Step 7: Track What Actually Books Meetings
Reply rate is a vanity metric if you're not tracking downstream. The real number is booking rate — how many positive replies actually convert to a booked call.
Set up a simple tracking system
"Create a Reply Analysis template I can fill out for each campaign. Fields:
campaign name, number of positive replies, number of booked meetings, booking
rate percentage, the reply types that converted vs. the ones that didn't, and
any patterns in what the positive replies said."Fill this out after every campaign ends. After a few months, you'll have something most operators never build: data on which reply patterns actually convert. Tell Claude to analyze it:
"Look at all the Reply Analysis notes in my vault. Which industries have the
highest booking rate? Which Step 1 frameworks get positive replies that actually
book calls vs. ones that get curiosity replies that go nowhere?"This is where the system gets genuinely powerful. You're not guessing at what works anymore. You have a structured record.
Step 8: The Flywheel
Here's what this looks like once it's running:
Each loop, the vault gets more data. The copy library gets more examples. The ICP notes get more refined. The reply analysis gets more patterns.
After six months of running this, you'll have:
- A ranked library of your best copy, organized by industry and offer type
- A clear picture of which ICPs book meetings at the highest rate
- Subject line data you can actually trust
- An archive of every sequence you've ever written, searchable and queryable
- Pattern data on what positive reply types actually convert
You'll spend less time writing from scratch and more time iterating on what's already working. The campaigns you run in month 12 will be materially better than the ones you ran in month 1 — not because you got luckier, but because you built a system that remembers.
The Underlying Principle
Cold email is a data-generating machine. Every campaign you send produces signal — what resonated, what didn't, who replied, who booked, what industries moved, what copy fell flat.
Most people let that signal evaporate.
This stack — Claude Code reading and writing to an Obsidian vault, connected to your Instantly data — turns that signal into a compounding asset. The data doesn't disappear when the campaign ends. It feeds the next one.
That's the real advantage. Not a better subject line formula. Not a hotter lead list. Just a system that learns from everything it runs instead of starting over every time.
Set it up once. Feed it consistently. Let it compound.
Need cold email volume?
Done-for-you mailboxes for outbound
InfraSuite is built for teams that rely on cold email as a core revenue channel and need stable, high-performing Outlook mailboxes. You subscribe to a proven Microsoft-based sending environment that's already configured for cold outreach — provisioning, DNS, mailbox setup, and deliverability hygiene handled for you. A completely hands-free and automated solution so you can focus on campaigns, clients, and revenue instead of infrastructure risk.
- Stable inbox placement across Outlook and Google
- Fewer resets, fewer domain swaps
- Capacity ready when clients sign
- Calm, competent support when something looks off