Case Study 01 · RingLeadAI

AI Outbound Engine and Multi-Agent SDR Orchestration

A multi-agent outbound engine that researches, qualifies, personalizes, and books, with human sales development reps reviewing exceptions rather than running the process.

Client
RingLeadAI
Industry
Sales automation platform
System
Multi-agent outbound engine
Discipline
Multi-agent systems and voice SDR
Headline result
Sub-80-second transactions

The challenge

What was breaking.

Outbound sales at scale is a research problem disguised as a writing problem. For every prospect, someone has to find the company context, confirm the person is still in the role, decide whether they match the ideal customer profile, write a message that reflects all of that, and then handle the reply, the objection, the scheduling back-and-forth, and the CRM update. Done by hand, each step is slow and inconsistent, and the inconsistency is what kills reply rates.

The platform needed to run that entire loop autonomously for high volumes of prospects while staying accurate enough that a human would be comfortable letting it send on their behalf. Single-prompt approaches had been tried and produced generic messages, hallucinated facts about companies, and no audit trail when something went wrong.

The solution

What we built.

InsightSol designed a multi-agent orchestration layer with specialist agents for research, qualification, personalization, reply handling, and scheduling. Each agent has a narrow system prompt, a short list of typed tools, and a confidence threshold. An orchestrator holds the state of every prospect as a durable state machine, so a crash or a provider outage resumes from the last committed step instead of restarting the sequence.

A critic agent scores every outbound message and every proposed action against written policy before it executes. Messages that cite facts the research agent could not verify are blocked. Replies that indicate a complaint, a legal concern, or an unsubscribe request route to a human with the full conversation attached. Everything else, including the final calendar booking and the CRM write-back, runs without a person in the loop.

Headline result

<80s

from inbound signal to a verified, booked outcome

Stack

PythonFastAPIClaude APIOpenAI APIPostgreSQLRedisn8nTypeScriptNext.js

System architecture

The components and the path a request takes through them.

Components

  • Orchestrator

    Durable per-prospect state machine in PostgreSQL with Redis for hot state and locks

  • Research agent

    Web and CRM enrichment through typed tools, with source citations stored per fact

  • Qualification agent

    ICP scoring against structured criteria with an explain-your-score requirement

  • Personalization agent

    Message generation constrained to verified facts and approved tone

  • Reply and scheduling agents

    Intent detection on replies, objection handling, calendar negotiation, and booking

  • Critic and policy gate

    Pre-send scoring, restricted-action detection, and human escalation routing

  • Integrations

    Email and calendar APIs, CRM sync, and n8n for notifications and side effects

Request flow

  1. 1Prospect enters the engine from a list import or a CRM trigger
  2. 2Research agent enriches the record and stores cited facts
  3. 3Qualification agent scores fit and explains the score
  4. 4Personalization agent drafts the sequence from verified facts only
  5. 5Critic scores the draft against policy; blocked drafts return with reasons
  6. 6Replies are classified; scheduling agent negotiates and books
  7. 7CRM is updated, audit log written, exceptions routed to a human

Quantified results

What was measured in production.

  • Complex transactions, from inbound reply through research, qualification, and booking, complete in under 80 seconds end to end
  • Human SDRs review exceptions and escalations only; the routine loop runs unattended
  • Every sent message carries a citation trail, so hallucinated company facts are blocked before sending rather than discovered by a prospect
  • Provider outages and crashes resume from the last committed step with no duplicate sends, enforced by idempotency keys on every action

Engineering lessons

01

Narrow agents beat clever prompts

Splitting research, qualification, personalization, and scheduling into separate agents made each one cheaper to run, easier to evaluate, and far less likely to invent facts than any single-prompt approach that was tried before it.

02

Citations are a product feature

Storing a source for every fact let the critic block unverifiable claims before sending. That protected reply rates more than any copywriting change, because prospects notice a wrong fact faster than a dull sentence.

03

Durable state is what makes autonomy safe

Resuming from the last committed step with idempotent actions turned provider outages from incidents into non-events. No sequence restarted, no message went out twice, and nobody had to be paged.

Want the architecture behind your own numbers?

The audit produces the same diagrams and unit economics this system started with, for your workflow and your data.

  • Read-only access under NDA
  • Written review and diagrams
  • Fixed-price roadmap