Reviewed September 7, 2026. Features depend on your enabled modules, permissions, and configured integrations.
The queue
Every open case in one table (number, title, constituent, category, status pill, assignee, opened date), cut by filter chips for status, category, assignee, and SLA. Statuses run open → in progress → awaiting external → resolved (or closed without action); priority is normal or urgent; a red SLA 2d pill means the clock has already run out.
Work the queue in a fixed order: breaches first, urgent second, oldest third. The Home triage queue surfaces the top five breaches automatically, so the morning starts with the cases that are already late, and the filter chips make “my open Benefits cases past SLA” a two-click view you can keep open all day.
Case detail & notes
A case is one constituent's one issue. The hero holds the controls (status, priority, assignee, SLA due date, category), and the constituent block shows contact details plus the voter-file check: linked, not in voter file, or marked non-voter so staff stop re-searching.
The thread below is the case's memory: internal notes (staff-only), external emails (sent to and received from the constituent), and call logs, in reverse chronological order. If it happened, it goes in the thread. A case that lives in the record survives staff turnover, public-records (OPRA) requests, and the next transition.
History tracks every status change and reassignment automatically, attachments stay on the case, and the AI Assist panel offers three verbs: categorize, draft reply, and summarize thread. Drafts wait for a staffer; nothing sends itself.
Involved parties
A benefits case is rarely just you and the constituent. It's you, the constituent, and the state agency sitting on the claim. Every case carries an Involved parties panel for exactly that: attach the agencies, offices, organizations, or press outlets a case has to move through, pick the right contact at each, and log every call and email to them right there. The parties come from a shared directory the whole office builds (state and federal agencies, municipal and county offices, organizations, and press), so the third time a case runs through the same department, the contact is already on file.
The contact log lives on the case, on purpose. Open a party's own record from Constituents ▸ Involved parties and you'll see its whole history read-only (who reached out, when, what came back), but you always log a new contact from inside a case, so every outreach stays tied to the constituent it was for.
Inbox triage
With inbound email configured, incoming mail appears in the triage inbox. Review the sender, subject, and message; promote it to a case with a category and assignee, or reject it with a recorded reason.
Use AI categorization when requested and review the suggestion. Always check for existing related cases before promoting a message. Automatic category suggestions on every message and automatic duplicate clustering are not current guarantees.
Categories & SLAs
Categories carry the office's promises: a default SLA in hours, a default assignee, and an auto-categorize hint Kennedy uses on inbound mail. A background worker watches every due date, flags breaches on the queue and dashboard, and emails the assignee.
Set SLAs you can keep. A 48-hour promise on Benefits 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 is worth more than an aspirational 2-day one that doesn't.
Public status links
Every case can carry a private token URL where the constituent checks progress themselves: status and office messages only, sensitive notes excluded, no login required. Fewer “any update?” calls; the caseworker's afternoon back.
Send the link in the first reply, every time. It's the cheapest goodwill the office has. Regenerate the token if a link leaks; the old one dies instantly and the case history is untouched.