Five agents, online

// three more compiling in the lab

Not one "AI SDR." Five specialized agents over one CRM: a shared vector index, dedup-keyed catalyst signals, your TOV Database (tone-of-voice), a credit meter you can read. Every claim cites a signal, a record, or a doc. Scroll: each one runs right here.

01
// 01 · origin solo+ →

Drafts that sound like you wrote them.

Origin composes outbound as a strict JSON contract: {subject, body, hook, tone}. Sixty to 110 words, one hook, one call to action. Voice is not a dropdown: it is retrieved from your TOV Database profile, the writing samples, posts, and style notes you load once on your profile. Every draft lands in your approve / edit / reject queue — Origin writes, you ship. It reads the thread history and the record before it opens its mouth. Either way, per-prospect memory means it never repeats a hook.

readsprospect record · 6 freshest signals (90d) · tov top-K
writes{subject, body, hook, tone}
scopeper user · per-prospect hook memory
guardrails60–110 words · sees its own last drafts on this prospect · every draft waits on your approve
origin v2.4
// solo+
prospect
hook
voice tov · loaded from your profile
>
read_prospectread_signalstov.top_kdraft.composecontract.checkhook_memory.writeread_prospectread_signalstov.top_kdraft.composecontract.checkhook_memory.write
02
// 02 · account prospecting pro+ →

A pre-call brief before the call starts.

One call, five sections: snapshot, recent moves, decision-maker map, talking points, risks. Every line is tagged [signal], [crm], or [general] so you know exactly where a claim came from. Thin data stays thin; the agent will not pad a two-signal company into a ten-line story, and it never invents a name that is not in your CRM.

readscrm record · signal feed · firmographics
writes5-section brief · every line source-tagged
scopeper account · runs on demand or pre-meeting
guardrailsno invented names · no padding thin data
account_prospecting v1.9
// pro+
0.0s
target 8.0
agent
by hand
~25 min
crm.readsignals.queryfirmographics.pullbrief.composecite.tagcrm.readsignals.queryfirmographics.pullbrief.composecite.tag
03
bdm_legion v2.0
ada-7
ent-hunter
logistics · NA-east
deals $50k+
formal voice
queue 64%touches 0
rio-3
smb-closer
saas · EMEA
deals $5-20k
punchy voice
queue 41%touches 0
kai-9
renewals
existing book · global
all bands
patient voice
queue 78%touches 0
tap a persona to bench it
>
persona.composequeue.pulltouch.sendattribution.logescalate.humanbudget.checkpersona.composequeue.pulltouch.sendattribution.logescalate.humanbudget.check
// 03 · bdm legion pro+ →

Virtual BDRs with fixed personas.

You build each Legion member once, strengths-style: territory, deal band, voice, and two strengths, compiled into a system prompt and persisted. Then you point it at accounts and it runs. Every run lands in your queue — approve, edit, reject. Output is attributed to the member that wrote it, so you can see which persona actually earns its seat. The console below builds one live: spawn your own.

readsaccounts you point it at · persona spec · budget meter
writestouches + escalations, attributed per member
scopeyour pipeline · one shared spend cap
guardrailsevery run waits on approve / edit / reject · attributed per member · buy more usage to keep going
04
// 04 · brain enterprise →

Chat over your org's knowledge.

Every uploaded document is chunked into an org-scoped index, brain_<org_id>, and answers cite document_id plus version_id. That makes citation logs double as coverage analytics: you can see which docs answer real questions and which are dead weight. Tier gating happens at the wrapper and again at the route, so a downgraded org fails closed.

readsorg document index · versioned chunks
writesanswers citing doc@version · coverage analytics
scopebrain_<org_id> · tier-gated twice
guardrailsversion-pinned citations · org boundary is the index
brain v1.4
sales-sop_v3.pdf · 48 chunks voice-and-tone.md · 12 case-studies_2026.zip · 87
>
0%
question coverage
doc.chunkembed.batchversion.pinindex.writecoverage.logdoc.chunkembed.batchversion.pinindex.writecoverage.log
05
customer_success v1.2
lead
contacted
qualified
proposal
won
event.subscribetrigger.evalrec.composedeadline.setpostmortem.writeevent.subscribetrigger.evalrec.composedeadline.setpostmortem.write
// 05 · customer success enterprise →

Watches the whole lifecycle.

Customer Success does not wait to be asked. Four triggers: new prospect, stage change, fresh signal, seven days of silence. Each one fires a time-bound recommendation into agent_recommendations. Every rec carries the reasoning and confidence that produced it, and Enterprise runs pull your Brain docs in — so recommendations cite your SOP, not a generic playbook.

readspipeline events · signals · silence timers
writesagent_recommendations rows · post-mortems
scopeenterprise orgs · every open deal
guardrailstime-bound recs · every rec carries its confidence + reasoning
// shared context

Agents are only as good as the data underneath.

This is the part nobody demos. An agent pointed at raw inboxes and spreadsheets burns most of its tokens guessing at structure. Ours start from a CRM: clean records, deduped signals, scoped indexes. Same tasks, a fraction of the spend.

origin prospecting legion brain cs agent
the crm is the substrate clean records · deduped signals · scoped indexes · one audit log structured in → cited out
catalyst signals
dedup: hash(source, company, event)
One event stored once. Every agent reads the same row: Origin hooks it, Prospecting cites it, CS fires on it.
vector index
scope filtered at retrieval
Per-user and per-org indexes. Scope is a predicate inside the retrieval query itself, so no prompt reaches another org's rows.
tov
text in, style out · nothing else
Your samples, posts, and style notes teach voice. No send access, no address book. That line is on purpose.
cost + audit
warn 80% · pause 100% · buy more usage · byok on enterprise
Tokens and dollars logged per user, per agent, per run. Hard stop at cap, then buy more usage. Your own key: zero markup.
Agents without a data layer scrape, guess, and retry. Ours query. structured input = fewer tokens per run
// the lab

The next three are on the bench.

Scoped, storyboarded, and in the build. What's below is the shape we're shipping to, not a running agent. Subscribers hear first; beta invites go out in signup order.

"cut tool spend 60%" · linkedin · icp: ops leads
"your BDRs already hate their stack" · x · icp: founders
"the free CRM that fights back" · newsletter · icp: smb
icp fit
87
▶ tap for live demo eta tbd
Marketing Agent
Ad variants in your voice, scored against your ICP before a dollar of spend.
meridian logistics · proposal · touched 3d ago
coastline freight · meeting · touched 1d ago
acme corp · contacted · stale: 41d
harborline systems · prospect · touched 5d ago
forecast drift: +4% vs commit · 2 fields dirty
▶ tap for live demo eta q4 2026
RevOps Agent
Sweeps every pipeline nightly: stale deals, dirty fields, forecast drift.
monday 07:00 digest
pipeline coverage 3.1x · commit at 88% · two deals carry the quarter
rio-3 books 2.4x meetings per touch vs team median
enterprise interest up 40% since brain launched
pipeline coverage 3.1x · commit at 88% · two deals carry the quarter
◌ prototype eta 2027
CEO Agent
One digest at 07:00 Monday: coverage, commit, and the two deals that matter.
the dealarena dispatch: everything we ship — lab betas, alphas, and launch drops included.
// deploy

Run them on your pipeline.

The demos above are scripted. The real ones read your CRM, your signals, and the writing samples you loaded. Free tier gets the CRM; agents come with paid seats.

Book a demo → Sign up free See pricing
origin on solo · prospecting on pro · legion 1 on solo, 25 on pro · brain + customer success on enterprise (25+ seats)