A regulated CX operation wanted to cut handle time without cutting accuracy - and without ripping out the CRM their reps already lived in.
The copilot had to read the open case, the historical correspondence, the scanned handwritten forms, and the policy decision tree, then suggest the next action with a citation an auditor could follow.
We embedded inside the existing CRM, ran a smart sub-tree LLM over the policy graph, and added handwriting OCR for the legacy intake forms. Reps see suggestions inline; every accepted action writes back into the CRM with provenance.
// what we built
Embedded copilot, auditable steps.
[01]react · ts
CRM embed
Native panel inside the existing CRM. No swivel-chair, no new app.
[02]trocr · paddleocr
Handwriting OCR
Fine-tuned recogniser for the legacy intake forms in the case history.
[03]llm · graph
Policy sub-tree LLM
Routes each case through the relevant slice of the policy graph; cites the leaf.
[04]py · eventbus
Action write-back
Every accepted suggestion writes back to the CRM with full provenance for audit.
// outcomes
The receipts.
−47%
average handle time
100%
actions traceable to policy
7mo
pilot to production rollout
3
queues live at handover
0
CRM swap required
+18
NPS, piloted reps
"
The reps stopped asking IT to remove it after week two. That's the metric I actually cared about.
Johan — CEO, Caseworker
// faq · caseworker
What clients ask about Caseworker.
Cutting handle time on regulated case work without cutting accuracy and without ripping out the CRM the reps already lived in. The copilot had to read scanned handwritten forms and cite the policy leaf an auditor could follow.