Case study · Devsphinx

AI Revenue
Engine.

An autonomous outbound sales pipeline built on Claude. 8 coordinated agents that handle prospecting, research, personalised email drafting, CRM sync, scheduling, and reply analysis — with zero human input after setup.

In development · v1
8
Coordinated agents
50
Emails per day (safe cap)
0.7
Confidence threshold
3
Memory tiers
0
Human inputs required
Client typeB2B SaaS · 20–200 person teams
System typeMulti-agent orchestration
Core modelClaude API (Anthropic)
CRM integrationHubSpot via MCP

The problem

Outbound sales is broken
by design.

Most B2B companies run their outbound motion with a stack of manual steps — each requiring a different person, a different tool, and hours of low-leverage work. The result is expensive, inconsistent, and impossible to scale without headcount.

The old way — human SDR pipeline

4 people. 8+ hours. One sequence.

A typical B2B outbound sequence requires a researcher, copywriter, SDR, and manager — every week, for every campaign.

  • 2–3 hrs researching and qualifying each prospect
  • 45 min writing one personalised email
  • Manual CRM updates after every send and reply
  • Friday reporting built by hand in spreadsheets
  • $70,000/year in salary for ~9 months of actual productivity
The new way — AI Revenue Engine

8 agents. Zero humans. Runs overnight.

Every manual step replaced with a coordinated agent. Each with a single role, specific tools, and defined constraints.

  • Prospector finds and qualifies ICP-matched leads automatically
  • Researcher enriches each lead with real account context
  • Copywriter drafts personalised emails from verified value props
  • CRM Agent logs every action with agent ID and timestamp
  • Analyst classifies every reply — interested, not now, booked
8
Agents total
50
Emails/day cap
0.7
Confidence threshold
4
Follow-up touchpoints
3
Memory tiers
0
Human inputs

System architecture

8 agents. Two pipelines.
One coordinated system.

The main pipeline handles outbound sequencing from ICP matching through to send and CRM logging. The async reply pipeline is webhook-triggered on every inbound reply — classifying intent and updating CRM stage automatically.

Interactive pipeline · click any node Agent details expand below
Human input
Campaign goal
ICP definition · target list · daily send cap · success metric
Orchestrator
Pipeline brain
Routes · validates confidence · halts on error
↓   Main pipeline — sequential
Agent 01
Prospector
ICP matching · Apollo / Clay
Agent 02
Researcher
Account context · 2K token cap
Agent 03
Copywriter
Email drafting · vector retrieval
Agent 04
CRM Agent
HubSpot via MCP · read/write
Agent 05
Scheduler
Send timing · 50/day cap
↓   Async reply pipeline — webhook-triggered
Trigger
Reply inbox
SendGrid parse · Action Mailbox
Agent 06
Analyst
4-bucket intent classification
Escalation
Human review
Slack · ambiguous replies only
Output
CRM stage update
Engaged · Booked · DNC
Click any agent or node above to see its role, tools, and constraints.

Memory architecture

Three tiers. Each with
a different job.

Context isolation is what makes multi-agent systems reliable. Each agent only receives the context it needs. But the system as a whole accumulates knowledge — improving outreach quality with every email sent.

Tier 1 · Working memory
In-context window
Active context for the current task — the structured handoff payload from the previous agent, the campaign goal, and the agent's system prompt. Cleared after each handoff. Prevents agents from carrying noise from earlier steps.
Claude context windowPer-task scopeCleared on handoff
Tier 2 · Short-term memory
Redis cache
Campaign state, active lead queue, send counters, sequence enrollment status, and structured handoff payloads between agents. TTL-managed to expire stale records. Survives individual agent restarts without losing pipeline state.
RedisTTL-managedCampaign stateSend counters
Tier 3 · Long-term memory
Vector store (pgvector)
High-performing past emails stored as embeddings. The Copywriter retrieves the most semantically similar examples as few-shot context before drafting. Includes negative few-shots. The system improves with every email sent.
pgvectorSemantic retrievalPositive few-shotsNegative few-shots

System constraints

What the system can
and cannot do.

Every production agent system needs explicit boundaries. These aren't limitations — they're the design decisions that make the system safe to run autonomously at scale.

Hard limits
  • 50 outbound emails per day — protects sender domain reputation globally across all active campaigns
  • Confidence threshold of 0.7 — the Orchestrator halts the entire pipeline if any agent scores below this
  • Researcher context cap of 2,000 tokens per lead — controls per-lead API cost and keeps context focused on signal
  • Follow-up cadence: Day 1, Day 3, Day 7, Day 14 — enforced by the Scheduler regardless of campaign config
Permission boundaries
  • CRM Agent has read/write access to HubSpot — no delete permissions, no auto-close or auto-disqualify on deals
  • Copywriter can only use value propositions from the injected knowledge base — no invented claims
  • No outreach to contacts flagged as unsubscribed or hard-bounced — checked before every send
  • v1 scope: email only — no LinkedIn automation, no SMS, no ad retargeting triggers
  • Analyst never auto-responds to any inbound reply — ambiguous replies always route to human review

Tech stack

Built on Claude.
Connected via MCP.

Every agent runs on Claude. Tool integrations use Model Context Protocol where available — direct, structured, no middleware layer. Rails handles orchestration, job queuing, and Action Mailbox routing for the async reply pipeline.

Claude API MCP (HubSpot) pgvector Ruby on Rails Apollo API Clay API SendGrid / SES SendGrid Inbound Parse Action Mailbox Redis Sidekiq PostgreSQL Slack API Railway / Render

Want a system like this built for your sales team?