Case study · Legal · Ticket Routing
From Minutes to Seconds: Ticket Routing in Legal
Ticket Routing was the step everything else waited on. It now runs itself on the same stack — live in 2 hours, judgement calls still going to a person.
Average Routing Time
A legal customer just opened a ticket — handle it.
Customer
“Hi — I need help with my legal account, it's been a few days with no update. What's going on?”
Agent draft · in your tone
Hi Taylor — sorry for the wait! I've pulled up your account, resolved the issue on our side, and you're all set. I've also added a note so this is handled automatically next time.
3 AI agents · 5 tools connected · live in 2 hours · no code
- Company
- Mid-size law firm
- Team size
- 10-50 attorneys
- Industry
- Legal
- Time to live
- 2 hours
- Agents deployed
- 3 AI agents
- Tools connected
- 5 integrations
The context
Why Ticket Routing is hard in legal.
Ticket Routing is not hard in the abstract. It is hard in legal, where the work arrives as client intake forms, opposing counsel email, court notices, and document requests — every channel a different shape, none of them waiting their turn. The team runs against the docket and the billable hour, so the real cost of a slow ticket routing step is never the step. It is a deadline that was in an email nobody opened.
Constraints the build had to hold
Matter-scoped access
Agents work inside a matter, so a workflow set up for one client cannot read another’s file.
Privilege is preserved
Privileged material never leaves firm systems. Where a step needs the substance, it works from a firm-written summary.
Nothing is filed automatically
Agents prepare, calendar, and chase. Filing and advice stay with the attorney.
The change
Same job. Two chains.
Every handoff in the left-hand chain is somewhere Ticket Routing used to wait. The right-hand chain has the same steps and none of the waiting.
By hand
- Tickets land unassignedone queue, no order
- Senior agent triagesthe most expensive hour of the day
- Category and priority guessedfrom the subject line
- Assigned, often wrongly
bounces for days
With agents
- Work arrives on any channelpicked up in seconds
- Classification agenthanded straight on
- Priority agenthanded straight on
- Routing agent
logged, and reviewable
When the work can happen
Before and after
What Ticket Routing cost them, and what replaced it.
The challenge
Every morning at this mid-size law firm started the same way: a single unassigned queue, filled overnight, that somebody had to read top to bottom before anyone could start working. Triage was a senior person's job because it needed judgement, which meant the most expensive hour of the day was spent sorting rather than solving.
The full background
The routing itself was inconsistent, and inconsistency was costly. Tickets bounced between teams for days. Urgent legal issues sat behind routine ones because priority was set by whoever read them first. Customers repeated their problem to each new agent. First-contact resolution kept falling, and every misroute added a full handoff cycle to a ticket that was already late. With 10-50 attorneys and volume climbing, the queue was growing faster than the team could clear it.
What they built
The support team put DeskFerry in front of the queue. Every ticket is now read, classified against the legal taxonomy, prioritised, and assigned before a human opens it — which removed the senior triage hour that used to start every day.
How it was wired
Classification reads the whole ticket rather than the subject line, so the real question is what gets categorised. Priority is computed from customer tier, contract SLA, sentiment, and blast radius together, which is why a key account's outage no longer looks identical to a trial user's question. Routing then assigns on skill and current capacity, attaches the account history the agent would otherwise have gone looking for, and posts genuinely urgent items to Slack. Low-confidence classifications go to a small triage queue rather than being assigned confidently to the wrong team.
The impact
What changed, measured the same way on both sides.
Before and after across the metrics that matter for legal Ticket Routing.
Average Routing Time
Near-instant
First-Contact Resolution
Significant improvement
Misrouted Tickets
Major reduction
Customer Satisfaction
Notable increase
Support Cost per Ticket
Significant savings
How these were measured
- Baseline
- The "before" column is the team’s own measurement of their manual ticket routing process, taken over the four weeks before anything was connected.
- Comparison
- The "after" column is the same measurement repeated on the same process once the agents were live, so both sides count the same things in the same way.
- Why no percentages
- These are composite scenarios built from patterns across many deployments, not one audited customer’s books. Directional language is the honest way to report that — your own numbers will depend on your volume, your process, and your starting point.
A day, either side
The same day, before and after.
What Ticket Routing actually looked like for this legal team — the version they described in the first call, and the version they run now.
Before DeskFerry
8:00
Ninety tickets overnight, all sitting in one unassigned queue.
8:45
Triage by hand. Read, categorise, guess at priority, assign.
10:30
Three tickets have bounced between two teams since yesterday.
13:00
A P1 that arrived at 06:12 is only now being looked at.
17:00
First-contact resolution on legal tickets is down again.
After DeskFerry
8:00
The queue is already categorised, prioritised, and assigned.
8:02
The 06:12 P1 was routed and acknowledged within seconds of arriving.
8:45
Agents start on tickets, not on sorting tickets.
13:00
Misroutes are rare enough to be worth investigating individually.
17:00
Every ticket has an owner and the SLA clock was never blind.
The build
The 3 agents that run it.
One job each, with an explicit handoff between them. Splitting Ticket Routing this way is what makes a failure legible — you can see which step it went wrong at instead of debugging one agent that does everything.
- 01
Classification agent
Trigger
A ticket is created in any channel
Reads the whole ticket, categorises it against the legal taxonomy, and detects the language and the real question underneath the subject line.
Agent 1 of 3 in the Legal workflow.
- Passes a classified ticket to prioritisation.
- 02
Priority agent
Trigger
A ticket is classified
Weighs customer tier, contract SLA, sentiment, and blast radius to set a priority that means something, then starts the right clock.
Agent 2 of 3 in the Legal workflow.
- Hands priority and reasoning to routing.
- 03
Routing agent
Trigger
A ticket has a priority
Assigns to the queue or person with the right skill and capacity, attaches account history, and posts urgent items to Slack.
Agent 3 of 3 in the Legal workflow.
How they did it
From nothing to production in 2 hours.
No code, no IT ticket, no vendor implementation team. These are the steps in the order this team took them.
Step 01
Connected the legal stack
Clio, LawPay, and DocuSign via pre-built connectors. No API keys, no custom code.
Step 02
Wrote the business rules
Scoring, routing, escalation thresholds, and exception handling for legal ticket routing — in the visual builder.
Step 03
Tested on real history
Replayed a week of past ticket routing to check accuracy and surface edge cases, then adjusted the weights.
Step 04
Launched and watched
Live with close oversight for 48 hours, then down to a weekly review.
The stack
Nothing was replaced. Everything was connected.
The legal team kept the tools they already ran — DeskFerry sits between them.
Clio
Matter, deadline, and document context, scoped per matter
LawPay
Billing and trust accounting events
DocuSign
Signature events that start the workflow the moment a deal is real
Google Drive
Document intake and the filing destination once processing is done
Slack
Where the team is told, and where approvals happen in one tap
Ticket Routing handled end to end · seconds, every time
What stayed human
The parts they deliberately did not automate.
Automating Ticket Routing end to end was never the goal. Removing the volume so the judgement calls got proper attention was.
The resolution
Routing is automated; solving the ticket is not. The gain is that agents open a ticket that is already categorised, prioritised, and carrying its account history.
Ambiguous tickets
Low-confidence classifications go to a triage queue rather than being assigned confidently to the wrong team, which is the failure mode that costs the most time.
The contract review accuracy question
Asked first by every legal team. Agents run on the access the staff account already had, every action is logged, and any step can be stopped without unwinding what ran.
Takeaways
What transfers to your team.
The parts of this that are not specific to one company's tooling or volume.
- 01
No technical expertise needed — the people who own the ticket routing process built it.
- 02
Capacity scaled without headcount, which changed the unit economics.
- 03
Every decision is logged, so the workflow can be audited rather than trusted.
- 04
Leadership got ticket routing numbers in real time for the first time.
In their words
“The ROI came quickly. Our ticket routing throughput increased significantly while our error rate dropped dramatically. For a legal business of our size, that translates directly to the bottom line.”
Composite — written from what teams running this workflow report, not a single named customer.
FAQ
Questions people ask about this build.
Automating Ticket Routing in legal — what it takes, and where it stops.
How long does it take to set up ticket routing automation for a legal business?
This team was live in 2 hours. Pre-built legal templates cover the wiring, so most of that time goes on your business rules rather than on connecting things. No code.
How many AI agents does ticket routing automation actually need?
3 here: classification agent, priority agent, routing agent. The split matters more than the count — one job and one handoff each means a failure tells you which step broke. One agent doing everything does not.
What results can a legal business expect?
The figures here are directional, not audited — composite scenarios, not one customer's books. What transfers is the shape: routine volume stops needing a person, exceptions surface instead of sinking, and nothing waits for office hours. Your numbers depend on your volume and starting point.
How does DeskFerry handle legal data and access?
Agents run on the same access the staff account already had — throughput widens, permissions do not. Every action is logged with what it read and changed, and any step can be stopped without unwinding what ran. DeskFerry holds no formal legal certification, so scope it as you would any other system in your control environment.
What still needs a person?
More than most automation pages admit. Anything outside the rules stops and goes to a named owner with context attached, rather than being guessed at. The rules themselves are changed by people — agents never widen their own tolerances. The carve-outs this team kept are named above.
What tools does this connect to?
1,500+ integrations. This build used Clio, LawPay, DocuSign, Google Drive and Slack; most legal stacks are a variation on that. CRM, email, chat, databases, and industry-specific software all connect without code.
Run this in your own stack.
Describe how Ticket Routing should work at your legal business, in a sentence. DeskFerry builds the agents, wires your tools, and takes the routine volume from there. Start free — no credit card.
Or start from a template — Ticket Routing agent for Legal.
Keep exploring
Related case studies.
The same job in another industry, or another job in this one.
More Legal case studies
Ticket Routing in other industries
Composite scenario — built from patterns across many legal Ticket Routing deployments rather than one customer's books. Figures are directional; your own depend on your volume, process, and starting point.
