Creator Labs/Work/Sales OS · Antino
Case study · Antino · Consulting sales

The CRM that
writes itself.

Sales OS is an agentic sales operating system we built for Antino's consulting sales team. Six AI agents handle the boring half of selling — sourcing, drafting, briefing, proposals — over a live mirror of their Zoho CRM and Microsoft stack. Reps spend their day on the half that matters: relationship, advice, the close.

Client
Antino — consulting & professional services
Users
A 15-rep internal sales team
Engagement
Agentic platform, built end to end
Stack
Zoho + Microsoft, mirrored
The before state

Reps were data-entry clerks for their own CRM.

Antino's sellers run long, custom, consultative deals — the kind where context is everything. But the day started in three systems. One rep alone owned 6,413 accounts in Zoho, too many to read top to bottom every morning. Hours vanished into logging, lookups, and "what was I supposed to do for this account again?"

6,413
Accounts owned
by one rep
~45m
Lost daily to
manual CRM work
3
Systems crossed
every morning
4–8h
Per proposal,
assembled by hand

Antino's real operating baseline — the busywork Sales OS was built to collapse.

What we built

Six agents. One per job a rep does today.

Each agent maps one-to-one onto a real task in the seller's day. They draft; the human decides. Built as single-call, workflow-shaped Claude work with structured outputs — no black box.

Live
01
Scout
Lead intelligence

Senses the field. Scores each lead and recommends the next touch, enriched from the account's full history.

Live
02
Echo
Outreach

Speaks back in the rep's voice, grounded in the deal and past wins. Drafts the reply; the rep approves the send.

Scoped
03
Witness
Meeting intelligence

Present at every call — captures what was promised and what's owed next, so nobody types notes again.

Live
04
Forge
Proposal

Builds first-meeting decks from real won-deal evidence, then self-audits 21 ways before a human ever sees it.

Live
05
Compass
Daily briefing

Points the rep north at the start of the day. Frames it in money, names the top few moves, gives permission to skip the rest.

Live
06
Mirror
Case study

Reflects one engagement onto adjacent prospects — ships a polished case-study deck grounded in delivered work.

How the work flows

Three loops the system runs.

Everything else is supporting infrastructure. The agents do the drafting inside these loops; a human approves the steps that leave the building.

Inbound

  1. Lead lands in the inbox
  2. Scout enriches + scores
  3. Echo drafts the outreach
  4. Rep approves the send
  5. Reply detected, deal matched

Meeting

  1. Call mirrored from the calendar
  2. Witness captures requirements
  3. Deal context updated
  4. Forge drafts the proposal
  5. Rep reviews and sends

Daily

  1. 07:30 — Compass wakes
  2. Reads overnight Zoho + Outlook
  3. Prioritises per rep, in money
  4. Renders the morning briefing
  5. Rep opens to no surprises
The non-negotiable

The agent never sends without you.

For a consulting team, the relationship is the product — so trust is enforced in the architecture, not just the copy.

No auto-send, by construction

There is no SENT_AUTO state in the schema. The only path to a sent message is a human click through an authenticated action. The guarantee is structural, not a setting.

The audit log is sacred

Every state-changing action writes to an append-only, hash-chained log. Nothing the agents do is invisible, and nothing can be quietly edited after the fact.

PII never leaves unmasked

A tokenisation pass runs before every model call, so prospect and account data isn't handed to a third party in the clear.

Grounded, or it doesn't ship

Forge cites real past-project evidence from the catalogue and self-audits 21 ways. Zero hallucinated case studies — an assertion with a check behind it.

How it's built

Lean runtime, real data, no magic.

Backend & data

Runtime
Java 21 + pure Jakarta Servlets on Tomcat 10.1 — no Spring DI, no Hibernate, no JPA
Data
PostgreSQL via raw JDBC + HikariCP; two pools — the CRM mirror and a capability catalogue, joined application-side
Sync
Zoho CRM v6 + Microsoft Graph delta ingest — cursor-based, idempotent upserts, every run audited
Auth
bcrypt, lockout policy, session-token rotation on password change

Agents & frontend

AI
Spring AI → Claude, structured outputs; every run writes cost, tokens, verdict and a full event log
Guards
Hard-stop wall-clock + audit-round caps per agent run; best-effort fallback, never a runaway
SPA
Vite + React 19 + Tailwind v4 + shadcn/ui — Apple-inspired, monochrome, borderless
Observability
Per-run cost/tokens/verdict surfaced in-app; hash-chained audit log over every action
Java 21Tomcat 10.1PostgreSQLRaw JDBC + HikariSpring AIClaudeZoho CRM v6MS GraphReact 19Tailwind v4shadcn/ui
What shipped

Measured on the pilot.

Honest about the n: these are early results from the first team to run it. Numbers aren't padded.

45→<10m
Morning triage, before and after — the daily briefing renders the few things that actually need a decision.
Pilot target
~8min
Wall-clock to a first-meeting proposal deck, against a ≤45-minute target — built and audited by Forge.
Measured
~$1.59
Model cost per generated proposal — full deck, 21 audit checks, grounded in real won-deal evidence.
Measured
0
Auto-sent-incorrectly incidents — there's no code path to send without a human. Architecturally enforced.
By design
21k+
Records mirrored live — 6,413 accounts, 1,345 leads, 313 deals, 1,076 meetings, 12,643 emails.
In production
48/48
Data-layer tests green against the real database — no mocks, transactional rollback, real RLS.
Verified

Operating scale (6,413 accounts · 12,643 emails · 70 past clients · 77 projects) reflects Antino's actual mirrored data. Productivity figures are early pilot results across a 15-rep team and stated as such — leading indicators, not audited ROI. Cost and latency are measured against the deployed build. Full detail under NDA.

The shape of the work

Sellers shouldn't be data-entry clerks for their CRM. The CRM should write itself — and let the human keep every decision that's actually theirs to make.

Got a team drowning in busywork?

We'll draft the boring half.

If your team is losing its day to lookups, logging, and assembly, there's an agentic system to be built around it. Tell us the workflow — we'll scope it in 48 hours.