Overview
A working prototype that reframes CRM data entry as an outcome the system delivers, not a chore the user performs.
Problem Statement
Traditional CRMs demand structured input from users under time pressure. Adoption is bad because the value is delayed and the friction is immediate.
Market Need
Pharma sales ops teams are actively piloting AI-first CRMs. The teams that win will make reps faster in the field, not just give managers prettier dashboards.
Target Users
Field reps in life-sciences sales who are on the road between visits, plus their managers who live in the reports downstream.
Research
Shadowed reps between visits. The pattern that appeared across every conversation: the CRM was filled at night, from memory, hours after the visits. One rep said this at 11am, while actively typing notes into his phone to transcribe later. He didn't see the irony until I pointed it out.
Insights
- ·The best CRM is one the user never types into - but trust has to be earned before they'll stop typing.
- ·Trust in AI notes is earned in the first few interactions, or not at all. Early accuracy matters more than average accuracy.
Opportunity
Move CRM from a system of record to a system of action - the rep talks, the system captures and drafts the next step.
Scope
- ·LangGraph agent for note capture + summarisation
- ·Next-best-action recommendation surface
- ·Human-in-the-loop review UI
Out of Scope
- ·Full CRM replacement
- ·Native mobile app
- ·Multi-tenant admin
Assumptions
The most uncertain bet: that reps would trust a draft they could edit more than a form they controlled. That trust is earned quickly or not at all - the research said the first three interactions determined whether a rep adopted the tool or worked around it.
Success Criteria
- ·Target: note capture time per visit drops meaningfully - enough that reps notice without being told to notice.
- ·Target: draft acceptance rate above 80% - meaning fewer than 3 significant edits per note. Below that, the model is creating cleanup work.
- ·Kill condition: if reps are re-typing the AI draft instead of editing it, the review surface has failed regardless of accuracy.
Expected Behaviour
Rep finishes visit → opens app → reviews and confirms a pre-drafted summary → next-best-action is queued.
North Star Metric
Rep-Confirmed Interactions per Week - not model accuracy, because a highly accurate model that reps don't use changes nothing.
Supporting Metrics
- ·Draft Acceptance Rate
- ·Note Capture Time
- ·Next-Action Follow-Through
Prioritization
Everything was measured against rep time saved per visit. Manager dashboards were explicitly deprioritised for v1.
Wireframes
Two rounds of flows with reps. The confirm-vs-edit ratio drove every layout choice - we measured how often a rep accepted a draft versus edited it, and used that to decide how much to surface versus hide.
PRD
One-page PRDs per agent node, plus a shared eval spec for the whole graph. Keeping the eval spec separate meant we could update it without touching the product spec.
Prototype
Live agent tested against recorded visit transcripts before any rep saw it. Iterated on prompt and graph until the acceptance pattern looked right. Then showed it to reps.
Final Solution
A stateful LangGraph agent, a light review UI, and a next-best-action queue synced to the existing CRM of record.
Reflection
The hardest call was turning off a feature reps actually liked - the assistant would sometimes add context it had inferred from previous visits. Accurate. Creepy. We turned it off because trust was more important than capability in month one.
Lessons Learned
- ·The review surface is the product. The same model weights, with a bad confirmation UI, would have had a fraction of the adoption.
- ·I spent two weeks improving accuracy by a few points. Those points were invisible to users. The read-back UI - one day of work - moved adoption more than those two weeks did.
