1
0 Comments

What broke when we tried to automate first-client outbound with AI agents

We built an internal "First Client Outbound System" to answer a simple question: can an agent reliably find leads, personalize outreach, and keep a pipeline moving without constant babysitting? Short version: not with a single all-in-one agent. What failed first was giving one agent too much responsibility. We tried a prompt that did lead research, scoring, message writing, and follow-up timing in one loop. It looked elegant, but error rates stacked fast. Bad input from lead discovery polluted scoring. Weak scoring produced generic emails. Generic emails killed reply rates. What worked was splitting the system into narrow workers with explicit contracts: 1. Lead finder returns structured fields only
2. Qualifier scores against a fixed rubric
3. Message writer uses only approved fields
4. Scheduler decides next action from state, not free text The key architecture change was forcing every step to output JSON against a schema. No hidden reasoning, no loose text blobs. If a worker could not fill required fields, it had to return "unknown" and pass control forward. A practical pattern that helped: - Store every lead as a state machine: discovered, qualified, drafted, sent, replied, archived

  • Make agents stateless, let the database hold memory
  • Re-run only failed nodes, not the whole workflow
  • Log prompt version, model, inputs, outputs, and human edits per step The biggest revenue lesson was that throughput matters less than decision quality. Sending 200 weak emails was worse than sending 30 strong ones. Once we added a hard qualification gate and blocked message generation for low-confidence leads, replies improved and manual cleanup dropped. If I did it again, I would start with a deterministic pipeline first, then add AI only where compression is real: research summarization, message drafting, objection labeling. Everything else should stay boring and inspectable. That shift made the system much more usable for us at ShellSage AI. Curious how others are handling state, retries, and QA in agent-driven outbound?
on March 25, 2026