A district office runs on one unit of work: one constituent, one issue, one case. Numa gives each case a lifecycle instead of leaving it in somebody’s inbox, which is where most quiet failures in constituent services start.

It starts in triage, not a personal folder

Mail to the office address lands in a triage inbox the whole staff can see. Each message is either promoted to a case with a category and an assignee, or rejected with a reason that stays on the record. Nothing sits in a folder that empties out when a staffer leaves.

Kennedy, the office AI, suggests a category for each message and flags lookalikes: three emails about Palisade Ave flooding are probably one case with three reporters. Triage once or twice a day and the inbox never becomes a backlog.

The clock starts when the case does

Each category carries a default SLA in hours, a default assignee, and the hint Kennedy uses to auto-categorize inbound mail. A new Benefits case inherits the Benefits clock.

A background worker watches every due date. When a case runs out of time, it’s flagged on the queue and the dashboard and the assignee gets an email, before the constituent calls a second time. The queue sorts breaches first, urgent second, oldest third, and the top five breaches show on Home.

Set SLAs you can keep. A 48-hour promise on cases that depend on a state agency will breach weekly and teach staff to ignore the color red. An honest 5-day SLA that holds beats a 2-day one that doesn’t.

The case is the memory

A case shows status, priority, assignee, SLA due date, and the constituent, linked to their record and every case they’ve ever filed. Below that runs the thread of internal notes, external emails, and call logs, newest first, and a history of every status change and reassignment.

The Involved parties panel attaches the agencies, offices, and organizations a case has to move through, drawn from a directory the whole office builds, and every call to them is logged on the case. The third time a case hits the same department, the contact is already on file. A case that lives in the record survives staff turnover, OPRA requests, and the next transition.

The constituent checks it themselves

Every case can carry a private status link: a token URL that shows the constituent progress and office messages, with sensitive notes excluded and no login required. Send it in the first reply. If a link leaks, regenerate the token; the old one dies instantly and the case history is untouched.

Casework in the docs covers the queue, categories and SLAs, and status links.