How to Automate Personalized Outreach with AI Agent Fleets

For Sales and outreach teams · Based on Saraev AI Agent Orchestration System

// TL;DR

Sales and outreach teams can use the Saraev AI Agent Orchestration System to contact many leads in parallel. Spawn multiple Claude Code agents, each assigned one lead, each opening its own browser to research the site, fill the contact form, and submit personalized outreach. Agents coordinate in a shared chat room to avoid duplication. Parallelization means 20 leads get contacted in the time one would take manually. Define a clear Definition of Done and use self-modifying instruction files to encode your messaging rules.

Why is parallelization a sales team's biggest advantage?

The core strength of AI agents isn't per-instance perfection — it's the ability to run many instances simultaneously, traversing far more work than a human could sequentially. For outreach, that's transformative: instead of researching and contacting leads one at a time, you spawn a fleet of agents that each handle a separate lead in parallel. Twenty leads get personalized outreach in the time it would take you to do one manually.

How do you set up a parallel outreach fleet?

Start with a Definition of Done for each agent — for example: 'contact form located, all fields filled with personalized message referencing the prospect's business, and form successfully submitted.' Without it, agents underdeliver or stall.

Then spawn multiple Claude Code agents, assigning each one lead from your list. Each agent opens its own browser instance, navigates to the prospect's website, locates the contact form, dynamically fills in fields (name, email, message), and submits genuinely personalized outreach based on what it reads on the site.

How do agents avoid contacting the same lead twice?

Connect the agents through an agent chat room — a shared context where they communicate and coordinate. Before an agent claims a lead, it checks the chat room to confirm no other agent is already handling it. This prevents duplication and lets agents build on each other's findings, pushing collective output quality beyond isolated runs.

How do you keep messaging on-brand across every agent?

Use a self-modifying instruction file (agents.md) prepended to every session. Encode your outreach rules — tone, prohibited claims, required call-to-action, personalization depth. When you correct an agent's message, prompt it to append a rule: '[Messaging] Always reference a specific detail from the prospect's homepage because generic openers get ignored.' Over sessions, every agent inherits your refined playbook automatically, and message quality converges on your standard.

Maintain a global agents.md for company-wide messaging preferences and a local file for campaign-specific rules. This stacks persistent context efficiently without bloating any single prompt.

How do you catch bad messages before they send?

Add a sub-agent verification loop. Before submission, route each drafted message to a separate reviewing agent that checks it against the Definition of Done and your messaging rules — flagging generic openers, wrong personalization, or missing CTAs. If issues surface, loop back to the drafting agent. This catches errors a single agent would miss, without a human reviewing every message.

What should sales teams avoid?

Always include a Definition of Done — it's the top cause of agent underperformance. Budget for API usage, since parallel browser agents consume tokens per provider and aren't covered by subsidized plans. And keep instruction files concise; overly long rule sets degrade quality and raise cost.

Next step: Write a Definition of Done for a single outreach agent and test it on one lead end-to-end. Once reliable, spawn a small fleet connected through a chat room, add a verification loop, and scale up your parallel outreach.

// FREQUENTLY ASKED QUESTIONS

How do agents personalize outreach for each lead?

Each agent opens the prospect's website in its own browser, reads the content, and dynamically fills the contact form with a message referencing specifics from the site. Encode personalization depth in your instruction file — for example, requiring a reference to a detail from the homepage — so every agent produces genuinely tailored, on-brand outreach.

How do I stop multiple agents from contacting the same lead?

Connect agents through an agent chat room — a shared context where they coordinate. Before claiming a lead, an agent checks the chat room to confirm no other agent is handling it. This prevents duplication and lets agents build on each other's findings, improving collective output over isolated runs.

How many leads can I contact at once with parallel agents?

Parallelization is the core advantage — you can spawn as many agents as your API budget and rate limits allow, each handling a separate lead simultaneously. In practice, roughly 20 leads can be contacted in the time one would take manually, since agents work concurrently rather than sequentially.

How do I keep all my agents' messages on-brand?

Use a self-modifying instruction file (agents.md) prepended to every session that encodes your tone, prohibited claims, and required CTA. Maintain a global file for company-wide rules and a local one for campaign-specific rules. When you correct a message, the agent appends the rule, so message quality converges on your standard over time.