How we built an AI agent that prospects for us
Behind the scenes of the agent that discovers, qualifies and reaches out to B2B companies for us: architecture, quality gates and lessons from production.
Outbound prospecting done well is research work, not blast work. Researching the company, understanding its current moment, finding the decision maker and writing a message with a real reason to reach out takes around two hours per lead. Done by the founder, that work competes with delivery and client service. In May 2026 we decided to solve it the same way we sell: by building an AI agent and putting it to work in our own sales operation.
Why an agent, not a cadence SaaS
Sales engagement tools automate the easy part: the sending sequence. The expensive part stays manual: understanding the company and formulating a specific hook. Our goal was to automate the entire job, from discovering the company to the follow-up, while keeping human control at the single point where a mistake is costly: the message that lands in a decision maker's inbox.
Architecture: one orchestrator, three modes
The agent runs on top of an orchestrator with three operating modes:
- Discovery: finds 10 to 15 companies per run, prioritizing timing signals (expansion, hiring, operational change) in public business registries and professional networks.
- Qualification: for each approved company, researches size, digital presence and decision maker, classifies it into the right service and generates a PDF dossier.
- Tracking: every event (send, reply, rejection) updates a trackable funnel. No lead gets lost.
Before any run, a pre-flight check verifies the environment is healthy. If something is down, the agent aborts and notifies us. The rule is simple: never run halfway.
The heart of the system: quality gates
The most important design decision was not what the agent does, but what it refuses to do. Three gates block the pipeline:
- Signal revalidation. Does the reason that justified discovering the company still exist? If the signal died, the lead does not advance. Outreach with a stale hook is spam with extra steps.
- Anti-generic gate. A message only goes out if it carries a specific hook drawn from the research. An industry hypothesis is not enough. Without a concrete hook, the message is held for human review.
- Pre-flight. A degraded environment aborts the entire run, with a warning. Partial state is worse than no state.
Human in the loop is a product decision
The agent researches, writes and keeps the cadence going on its own. But a message without a strong hook waits for human approval. The math is asymmetric: reviewing a message takes minutes; regaining the trust of a decision maker who received spam takes months, if it happens at all. Mature automation is not about removing the human, it is about placing them exactly where their judgment is worth the most.
Numbers and lessons from production
In the first weeks: around 100 companies researched, 22% approved for qualification, each approved company with its own dossier. The most valuable lesson came from a discovery source that looked promising and yielded little: the trackable funnel exposed the low ROI within days, and we pivoted the search profile. Without an auditable record of every decision, that pivot would have taken a month.
What we would do differently: we would have built the trackable funnel first, before any message automation. Measurement comes before volume.
The agent we use is the one we sell
This agent is a Track 2 project running in production in our own business. Implementation details, technical decisions and results are in the full case study. If an agent working on your funnel makes sense, tell us about your context.