For law firms · Custom Python, WAT framework

AI Intake & Triage
for Law Firms

New-client inquiries, case-status questions, billing, document requests, and deadline flags come in across email, SMS, and your intake form — and every one of them needs to be read, sorted, and either answered or escalated fast. This is a governed AI layer that reads and drafts, while every conflict check, deadline, and representation decision still goes through a human.

Verified — mock-data pipeline
CASE STUDY
THE PROBLEM

Inquiries don't wait for business hours. Conflict checks can't be skipped.

A firm fielding new-client inquiries, case-status questions, billing, document requests, and urgent deadlines across email, SMS, and chat faces two conflicting pressures: respond fast enough that a prospective client doesn't call the next firm on the list, and never move fast enough to skip a conflict check, quote a fee before intake, or say anything that could be read as legal advice or a promised outcome. Manual triage either answers slowly and loses the lead, or answers fast and takes on risk it shouldn't.
CASE STUDY
WHAT CHANGED

The model reads and drafts. It never represents, advises, or confirms.

Inquiries sit unread across channelsEmail, SMS, and chat are normalized into a single case queue the moment they arrive.
No conflict check before a reply goes outEvery new-client inquiry routes to a human approval queue unconditionally — representation is never confirmed by the model.
Deadlines get buried in a shared inboxUrgent-deadline messages (court dates, statutes of limitations, EEOC filings) always flag for same-day human review, never a model estimate.
Inconsistent, risky drafted languageDrafts are grounded in your firm's own intake, billing, and communication policy docs — never the model's general knowledge of the law.
No visibility into what's pendingA dashboard shows what auto-resolved and what's waiting on a human, by category and urgency.
No record of what was saidA full audit log, one line per pipeline step, for every case.
CASE STUDY
HOW IT'S BUILT

Built-in guardrails, not a prompt asking the model to behave.

Two model calls, both schema-enforced with retry: one classifies the incoming message, one drafts a reply. Everything else — which categories always require human sign-off, record matching, workflow state, retries — is deterministic code with no model in the loop. For a law firm specifically, that means new-client inquiries and urgent deadlines are hard-coded to always require human approval, regardless of how confident the model is, and the drafting prompt is explicitly instructed to never give legal advice, never predict a case outcome, never confirm representation, and never quote a specific fee or deadline — those stay a human's call every time.

This is a working demo built on a synthetic law-firm scenario (fictional matters, no real client data), verified end-to-end in a zero-cost simulation mode. Real-model verification against live Claude API calls is in progress. No firm has deployed this yet — this is proof-of-work we'd adapt to your actual intake channels, KB, and case-management system, not a finished product.
GET STARTED

See it walked through for your firm.

Leave your info and we'll reach out to set up a short call — we'll run the pipeline live against a scenario close to your actual intake mix and talk through what it'd take to connect it to your real channels and case-management system.

No spam, no list-sharing. This goes straight to Eric.

Want the walkthrough?

Happy to run this end-to-end live and talk through what'd change for your actual workflow.