Skip to main content

← Sales Development Agent · Prompt Deck · Pictures

Sales Dev Agent Spec

How do we think slowly so the agent gets smarter and the outreach gets cleaner each cycle?

Intent Contract

Agent autonomy boundary. Not parsed by engineering — governance instrument for humans and agents.

DimensionStatement
ObjectiveAI-powered sales development agent that finds qualified prospects, scores them, composes personalized outreach, and sequences follow-ups — so human time goes to discovery calls, not research and admin.
Outcomes1. 10+ prospects researched and scored per week. 2. Reply rate >15% on agent-drafted outreach. 3. 5 discovery calls/month from agent-sourced pipeline.
Health MetricsCRM data integrity (no orphaned activities). Email deliverability >95%. LinkedIn account not flagged. SPCL score floor maintained.
ConstraintsHard: Human reviews every message before send. No automated sending without approval. Steering: Qualify before contact — research depth over volume.
AutonomyAllowed: Research, scoring, draft composition, sequencing logic. Escalate: ICP changes, new channel addition. Never: Send without human review, delete CRM data, modify prospect contact preferences.
Stop RulesComplete when: 50 messages sent with channel performance data. Halt when: 50 messages, 0 replies, 30 days — ICP or message is wrong.

Build Contract

The deliverable. Engineering builds from this. Commissioning reads this. Every row has an acceptance test.

Job: Research and Score Prospects

#FunctionArtifactVerificationValueState
1Research prospect from company name via DocumentIntelligenceProspect profile generator + research output"Acme Construction" returns structured profile with pain points in <60s5 prospects in 60s, not 3 hoursGap
2Score ICP fit via sales-forecasting + explore-exploitLead scoring algorithm + ranked output10 prospects ranked by fit with reasoning; top 5 correlate with actual interestKnow which 5 of 20 deserve a callDormant

Job: Compose Personalized Outreach

#FunctionArtifactVerificationValueState
3Draft personalized message from research + ICP pain mappingOutreach composer endpoint + draft UIDraft references specific prospect pain; scores >3.5 SPCL before reviewMessages worth reading, not templatesGap
4Score draft quality before human reviewSPCL quality gate algorithm + score displayGate blocks drafts scoring <3.0; human override available with reasonNever send robot-speakDormant

Job: Deliver Through Channels

#FunctionArtifactVerificationValueState
5Multi-touch cadence via CRM tasks + adaptersFollow-up sequencer + task creatorSequence creates 3 CRM tasks at Day 3, Day 7, Day 14 with correct contentFollow-ups on schedule, not memoryGap
6Send via Resend with tracking (config only)Resend integration + webhook handlerEmail delivered, open tracked, click tracked — all visible in CRM activityKnow: delivered, opened, clickedBuilt
7LinkedIn post/connect/message via real API + OAuthLinkedIn adapter + OAuth flowReal post published, connection sent, both logged to CRM automaticallyMulti-channel, one systemPartial
8Auto-log every touchpoint to CRMCRM activity loggerSend email -> activity row appears on contact + deal timeline within 60sFull history, no data entryDormant

Job: Learn What Converts

#FunctionArtifactVerificationValueState
9Track send/open/reply by channel, segment, typeChannel performance dashboardReal data visible within 24h of first send; filter by channel and segmentLearn what convertsGap
10Test variants, shift budget to what convertsExplore-exploit algorithm + variant trackerAfter 50+ messages, algorithm recommends top-performing variant with confidenceOutreach improves itselfDormant
11Track agent-sourced deals and touch-to-meeting timePipeline acceleration metricsDashboard shows: agent-sourced vs manual, avg touches to meetingProve revenue impactDormant

Job: Agent Identity and Orchestration

#FunctionArtifactVerificationValueState
12SOUL memory with sales playbook, ICP context, learning historyAgent profile JSON + ETL loaderProfile loads via agent-etl-cli; recall returns relevant context for prospectContext, personality, learningGap
13End-to-end WorkChart: Research, Score, Compose, Sequence, MeasureWorkChart orchestratorCompany name in -> scored prospect + draft + sequence out, with human gateEnd-to-end orchestrationGap

Principles

What truths constrain how this agent operates?

The Job

ElementDetail
SituationKill date is 15 days away and there are zero paying customers. 9 algorithms built, none generating demand.
IntentionAgent surfaces, scores, drafts, and sequences — so human time goes to discovery calls, not research and admin.
ObstacleNo prospect research pipeline. No outreach quality gate wired. No channel performance data to learn from.
Hardest ThingAgent composes but human must trust enough to send. If review friction is too high, human bypasses agent entirely.

Hidden objection: "AI outreach feels spammy." Agent composes — human reviews every message before send. Research is automated, relationships are not.

Why Now

The product is ready. The demand generation isn't. Nine algorithms, four adapters, a CRM, an RFP tool — all built, none generating demand. The outreach IS the commissioning test.

The convergence: Eddy Whatt at Sneakers Media identified the same pattern from the buy side. Every lead gen provider delivers volume, not quality.

OLD: Advertiser -> Agency -> Lead Gen Provider -> Database -> Leads (unqualified)
NEW: Advertiser -> Agent -> Pre-Qualified Leads (with conversation context)

The NZ angle: Small market (5M) makes lead gen quality critical. Relationship-based culture means bad leads damage agency reputation.

Design Constraints

ConstraintRationale
Human reviews every messageHidden objection: "AI outreach feels spammy." Trust requires oversight.
Qualify before contactResearch depth over volume. Pre-qualify through conversation, not scraping.
Agent learns from every cycleExplore-exploit adapts channels and copy. Each week's outreach is better.
Two ICPs, one WorkChartInternal dogfood + Sneakers Media — same instrument, different ventures.

Performance

How do we know it's working?

Priority Score

PRIORITY = Pain x Demand x Edge x Trend x Conversion

DimensionScore (1-5)Evidence
Pain49 algorithms x 0 UI = 0 value. 15 days to kill date. 3hrs/week manual research. Sneakers confirms volume-not-quality.
Demand4Sneakers independently identified same problem. 5 test clients (HRV, Kitchen Studio, Asset Factory, BizCover, MAS).
Edge3Three Flows convergence. Existing platform (9 algos, CRM, adapters) = composition advantage. No proprietary data yet.
Trend5AI SDR is hottest B2B SaaS category. Every lead gen provider will be AI-native within 2 years.
Conversion2CPL model clear. No pricing tested, no pilot signed, no invoice sent.
Composite480Strong candidate. Demand and trend validated, conversion needs proof.

Quality Targets

Functional:

#CriterionVerificationJob
F1Prospect profile from company name in <60sTimed testResearch
F210 prospects ranked by ICP fit with reasoningOutput checkResearch
F3Draft scores >3.5 SPCL before human reviewAutomated gateCompose
F4Follow-up creates CRM tasks with correct timingCRM checkDeliver
F5Email delivery + open tracking end-to-endResend webhookDeliver
F6Channel dashboard shows real data within 24hData checkLearn

Outcome (Kill: 2026-03-24):

#CriterionTargetNow
O1Prospects researched and scored/week>= 100
O2Reply rate on agent-drafted outreach>= 15%N/A
O3Scored contacts in CRM pipeline>= 200
O4Follow-up completion rate>= 90%N/A

Failure Budget

Failure TypeBudgetResponse
Email bounce<5%Check domain reputation, fix immediately
LinkedIn flag0%Halt all LinkedIn actions, investigate
Wrong ICP outreach<10%Review scoring algorithm, tighten ICP criteria
SPCL gate bypass0%Human override logged with reason — pattern = fix gate

Kill signal: 50 messages, 0 replies, 30 days — ICP or message is wrong. Diagnose with explore-exploit data before iterating.

Business Dev

LayerDecisionAssumptionEvidence Needed
ICPWho first?Construction/solar EPC, 10+ staff, active RFPs, spreadsheet pain5 calls where they name the pain unprompted
OfferOpening message?"Win more bids. Your answer library compounds."Reply rate >15%
ChannelHow to reach?LinkedIn + personalized emailCompare reply rates by channel
ProofWhat earns a meeting?Industry RFP pain + live auto-fill demoMeeting-to-pilot >30%
ConversionWhat closes?Free 30-day pilot on one real RFPPilot-to-paid >20%

Platform

What do we control directly?

Current State

This agent is one instrument in the SPO orchestra.

ComponentBuiltWiredWorkingNotes
CRM Contacts + DealsYesYesYesLive
CRM Activities + TasksYesYesPartialActivity logging needs testing
Sales Forecasting AlgoYesNoNoWire to scoring pipeline
Explore-Exploit AlgoYesNoNoNeeds 50+ messages data
SPCL Scoring AlgoYesNoNoWire to outreach composer
Compound Rate TrackingYesNoNoWire to channel dashboard
Email Adapter (Resend)YesYesYesLive — delivery + tracking
LinkedIn AdapterYesPartialPartialOAuth pending real API
Document IntelligenceYesYesYesLive — prospect research

Build Ratio

~80% composition (Email, LinkedIn, CRM, Forecasting, Document Intelligence), ~20% new code (WorkChart orchestration, prospect research pipeline, channel dashboard).

Protocols

How does the system coordinate?

Agent/Human Split

AGENT (AI-Led + AI-Only)              HUMAN (Human-Led + Human-Only)
---------------------------- ----------------------------
Prospect research Discovery calls
Lead scoring + ranking Relationship building
Outreach drafting Message review + send
Follow-up sequencing Deal negotiation
Activity logging Go/No-Go decisions
Channel optimization Trust building

WorkChart

RESEARCH -> SCORE -> COMPOSE -> SEQUENCE -> MEASURE
^ |
+---- Feedback improves next cycle ------+
ScoreRouteAgent ActionHuman Action
Hot (>80%)DirectPersonalized email + LinkedIn connectReview, personalize, send
Warm (50-80%)Nurture3-touch sequenceReview sequence, approve
Cold (<50%)ContentDistribution list, no direct outreachMonthly review for warming

Build Order

SprintFeaturesWhatEffortAcceptance
-1#6, #7, #8Prove channels: Resend config, LinkedIn OAuth, CRM auto-log3dReal email delivered + opened. Real LinkedIn post. Both logged to CRM.
S0#12, #1Agent profile + prospect research3.5d"Acme Construction" returns profile with pain points in <60s
S1#2, #3, #4Score + compose + quality gate5d10 ranked, draft >3.5 SPCL, references prospect pain
S2#5, #13Sequencer + WorkChart orchestration5dCompany name in -> end-to-end with human review step
S3#9Channel performance dashboard1dReal send/open/reply within 24h
Park#10, #11Explore-exploit + pipeline acceleration--Needs 50+ messages volume data

Commissioning

#FeatureSchemaAPIUITests%
1Prospect ResearchPendingPendingPendingPending0%
2Lead ScoringPendingPendingPendingPending0%
3Outreach ComposerPendingPendingPendingPending0%
4SPCL Quality GateDonePendingPendingPending15%
5Follow-up SequencerPendingPendingPendingPending0%
6Email DeliveryDoneDoneDoneDone95%
7LinkedIn ActionsDoneDoneDonePending85%
8CRM Activity LoggingDoneDonePartialPending50%
9Channel PerformancePendingPendingPendingPending0%
10Explore-ExploitDonePendingPendingPending15%
11Pipeline AccelerationPartialPartialPendingPending10%
12Agent ProfilePendingPendingN/APending0%
13Outreach WorkChartPendingPendingN/APending0%

Horizon Model

HORIZON 1: PROVE (now -> 90 days)          <- THIS PRD
Sales Dev Agent — one instrument
| feeds
v
HORIZON 2: ORCHESTRATE (90d -> 6 months)
Sales Process Optimisation — the orchestra
| generates data for
v
HORIZON 3: PROTOCOL (6m -> 18 months)
Trust Commerce — the protocol

Risks

RiskMitigation
LinkedIn app approval delayedRegister day 1 of Sprint -1. Manual-publish fallback.
AI outreach feels spammyHuman reviews every message. SPCL gate enforces floor.
Construction ICP unresponsiveTest solar EPC in parallel. Explore-exploit switches.
Agent slower than manualStart manual now. Agent replaces when ready.
Calls don't convert to pilotsProduct/pitch problem, not agent. Separate kill signal.

Agent-Facing Spec

Commands:

pnpm nx serve stackmates        # Dev server
pnpm nx test stackmates # Unit tests
pnpm nx e2e stackmates-e2e # E2E tests

Boundaries: Always: research, scoring, draft composition. Ask first: new channel integration, ICP changes. Never: send without human review, delete CRM data.

Players

Who creates harmony?

Demand-Side Jobs

Job 1: Find Prospects Worth Talking To

Situation: Pipeline empty, 3 hours to find 5 prospects, then equal time on high-fit and low-fit.

ElementDetail
Struggling moment3 hours to find 5 prospects, then equal time on high-fit and low-fit
Current workaroundLinkedIn search, industry events, chase whoever responds
What progress looks likeAgent surfaces 10 scored/week ranked by ICP fit with recommended action
Hidden objection"AI-found prospects won't be as good as my network referrals"
Switch triggerPipeline empty AND 4 of 5 calls with wrong buyer persona

Features that serve this job: #1, #2

Job 2: Say Something Worth Reading

Situation: Blank compose window, writing same ineffective message.

ElementDetail
Struggling momentBlank compose window, writing same ineffective message
Current workaroundCopy template, change name, hope
What progress looks likeAgent drafts from research + pain points, human reviews and sends
Hidden objection"AI messages sound like AI messages"
Switch trigger50 emails, 0 replies

Features that serve this job: #3, #4

Job 3: Follow Up Without Forgetting

Situation: Meant to follow up Wednesday, it's Friday, window closing.

ElementDetail
Struggling momentMeant to follow up Wednesday, it's Friday, window closing
Current workaroundMental note, calendar reminder, hope
What progress looks likeAgent schedules: Day 3 email, Day 7 LinkedIn, Day 14 value-add
Hidden objection"Automated follow-up feels like spam"
Switch triggerWarm prospect goes cold because nobody followed up for 2 weeks

Features that serve this job: #5, #6, #7, #8

Job 4: Learn What Converts

Situation: Month of outreach, no idea what worked.

ElementDetail
Struggling momentMonth of outreach, no idea what worked
Current workaroundRemember which emails "felt good"
What progress looks likeDashboard: sent, opened, replied, meetings — by channel, segment, type
Hidden objection"Not enough volume for data to be meaningful"
Switch triggerSame approach keeps failing, no data to diagnose

Features that serve this job: #9, #10, #11

Job 5: Pre-Qualify for Media Clients

Situation: Every lead gen campaign: volume not quality. Client sales team complains. Agency absorbs blame.

ElementDetail
Struggling momentEvery lead gen campaign: volume not quality. Client sales team complains. Agency absorbs blame.
Current workaroundPad volume, rotate providers, absorb complaints
What progress looks likeAgent qualifies via conversation before handover — leads arrive with context
Hidden objection"Every AI tool promises better leads — heard it before"
Switch triggerClient threatens to pull media budget because leads waste their time

Features that serve this job: #1, #2, #3, #5

ICP: NZ Media Agency

Archetype. Sneakers Media exemplifies the segment.

AttributeSpecification
RoleAgency owner/MD or media director
ContextNZ media agency, 5-50 staff, $500K-$20M annual media spend
GeographyNew Zealand, primarily Auckland and Wellington
Shared PainLead gen = volume, not quality. Client teams complain. Agency reputation hit.

Psycho-logic:

They SayThey Mean
"Lead quality is always poor""We get blamed after handover"
"We need to test it first""Show proof, not promises"
"Our client's sales team complains""When they complain, our contract is at risk"

The real problem: Not "higher quality leads" — leads their client's sales team doesn't complain about. The complaint loop costs more than the CPL.

Revenue model: Pilot CPL ($20-100/lead) -> Platform competing with lead gen providers -> Partnership (media + creative + AI/data).

Two Deployment Contexts

Same WorkChart, different jobs. One instrument, multiple ventures. BOaaS proven.

ContextICPJobRevenue Path
Internal (dogfood)Construction/solar EPCDiscovery calls for StackmatesProduct validation + first customer
External (Sneakers)NZ homeowners via HRVPre-qualified leads for agency clientsCPL from existing media budgets

Role Definitions

RoleAccessPermissions
Sales Dev AgentFull research + compose pipelineRead CRM, create activities, draft messages
Sales RepReview + send pipelineApprove drafts, send messages, log outcomes
Sales DirectorDashboard + configurationView performance, adjust ICP, set targets

Relationship to Other PRDs

PRDRelationshipData Flow
Sales CRM & RFPPeer (consumer)CRM contacts/deals <- agent-sourced prospects
Agent PlatformPlatform (depends)Agent identity, memory, dispatch
Identity & AccessPlatform (depends)Auth for API access
ETL Data ToolPeer (feeds)Enriched business data -> prospect research
Sales Process OptimisationParent (Horizon 2)This agent feeds the orchestra
Trust CommerceGrandparent (H3)Orchestra generates data for the protocol

Context