What I Tried (and What Broke):
Last month, I needed to launch a highly targeted cold email campaign for a new SaaS feature. We’re talking about reaching founders in a super niche vertical, and every email had to hit. I’ve built enough AI agents to know the theory: feed it prospect data, a value prop, and let it draft. Easy, right?
Wrong.
The first few batches of emails, generated by a custom LangGraph agent I’d wired up, went straight to spam. Not even the promotions tab. Just… gone. My open rates were abysmal, and the bounce rates were climbing, even with clean lists. It wasn’t just about crafting “personalized” emails anymore; it was about getting them seen at all. This wasn’t a problem of prompt engineering; it was a fundamental issue with cold email deliverability with AI.
My initial thought was to throw more AI at the problem. I figured if the content was the issue, a more sophisticated agent could fix it. I designed a multi-agent system using CrewAI. One agent focused on prospect research, another on crafting a compelling subject line, a third on the body, and a fourth on a call-to-action. The idea was to mimic a skilled human copywriter, but at scale.
The results were… mixed.
The agents could generate highly personalized content. When I fed them LinkedIn profiles and company news, they’d pull out specific details and weave them into the email. That was the love. I saw some genuinely clever intros that referenced recent funding rounds or product launches. One agent even managed to connect our feature to a competitor’s recent misstep, which, yes, is annoying to set up but incredibly effective when it lands.
But then came the gripes.
First, the cost spiraled. Each iteration, each re-draft, each “thought” process from the LLM added up. Running a few hundred emails through this multi-agent gauntlet meant thousands of tokens, and when you’re testing variations, that gets expensive fast. $199/month for a specialized email-AI platform looks cheap compared to the $800 I blew on API calls in a week. Honestly, the free tier of most of these agent frameworks is a joke if you’re trying to do anything beyond a toy example. You need real scale, and that means real money.
Second, silent failures. The agents would occasionally hallucinate data or generate content that, while grammatically correct, just sounded… off. It wasn’t spammy in the traditional sense, but it triggered some internal spam filters because the tone was too aggressive or too generic, despite all the “personalization” instructions. Debugging these issues was a nightmare. LangSmith helped a bit with tracing, but understanding why an LLM decided to use a certain phrase that got flagged was still a black box. You’d see the output, but the reasoning wasn’t always clear. It felt like I was debugging a non-deterministic black box with a broken flashlight.
Beyond Content: The Real Deliverability Levers
I quickly realized that focusing solely on content was missing the bigger picture. Cold email deliverability isn’t just about what you say; it’s about how you say it, who you say it to, and from where.
I started looking at the technical aspects: SPF, DKIM, DMARC. These aren’t AI problems, but they’re critical for getting past the initial gatekeepers. My agents weren’t going to fix my email authentication. I had to ensure my sending domains were properly configured and warmed up. That’s table stakes.
Then there was the sending pattern. Blasting 1,000 emails in an hour from a fresh IP is a red flag. I needed to drip them out, vary the send times, and even vary the content subtly to avoid pattern recognition by spam filters. This is where AI could help, but not in the way I initially thought. Instead of crafting the perfect email, the AI needed to craft many subtly different perfect emails, and orchestrate their delivery.
I ended up using a combination of n8n for sales workflows for orchestration and a simpler, single-step agent (using the Vercel AI SDK for quick prototyping) to generate 3-5 variants of a core message for each segment. This wasn’t about “intelligent” agents making complex decisions; it was about efficient, varied content generation.