opbox

A dashboard is a place to see the state of the work without opening every matter. Opbox gives you two: a fixed “Today” overview that greets you with the matters needing attention and a rail of at-a-glance metrics, and a configurable dashboard you build yourself from saved queries. Every panel is a thin client over a kernel verb, so what you see is the live answer to a question, never a stored figure that has drifted out of date. Each panel reads fail-soft: if a read is unavailable, that panel shows a quiet empty state rather than taking the page down.

What it does

A “Today” overview, built from live reads. The overview opens on your pending actions: a deck of matter cockpits, one at a time, drawn from the matters that still need someone (open and on-hold). Beside it sits an “At a glance” rail of three metric panels, each one a live read through a verb: approvals waiting on a decision, the agent task queue, and recent activity. The numbers are computed when you load the page, so the overview reflects the state of the work right now.

A dashboard you configure from your own queries. The configurable dashboard is a set of widgets you define. Each widget is a saved search: you give it a title, a query (for example status:OPEN), and a type. A count widget shows how many things match; a list widget shows the top results. Add a widget and it runs its query and renders the answer; remove one and it is gone. The widgets run over the same unified search the rest of Opbox uses, so a widget can count or list anything search can reach: matters, documents, parties.

Your layout follows you across devices. The widget list is held per user in the preference store, not in a single browser. Configure a dashboard on one machine and it is the same dashboard when you sign in on another. It is your own view, read and written under your own identity, separate from the workspace-wide configuration an Owner manages.

Scheduled digests to your inbox. Any widget can be turned into a recurring digest. Pick a cadence (daily, weekly, or monthly) and Opbox schedules a trigger that fires on that interval and sends the widget’s report to your own inbox as a notification. There is no separate dashboard scheduler and no second notification store: a scheduled widget lowers straight onto the shared trigger and notify primitives, so a digest behaves exactly like any other scheduled work the system runs on its own.

AI budget and spend, as a lens. For tenants running the agent loop, the cost verbs surface what AI work is costing. You can read the workspace budget against the recorded spend to see whether you are over, query the spend across the cost ledger, and the agent loop records each call’s cost as an append-only ledger entry. The budget itself is ordinary workspace configuration, not a new store, and the spend figure is a live sum over the ledger rather than a maintained running total.

How you use it

Open the overview. Land on the dashboard for your “Today” view: a greeting, your pending matters paged one at a time, and the right-hand rail showing approvals to review, the agent queue, and recent activity. Step through the pending deck to work each matter in turn, or click into a rail panel to open the full approvals, agent-task, or activity screen.

Build a widget. Open the configurable dashboard and add a widget. Give it a title, type the search query you want it to answer, and choose count or list. Save it and the widget runs the query immediately and shows the result. Add as many as you need and remove the ones you no longer want; the layout saves under your account.

Schedule a digest. On any widget, choose Schedule, pick daily, weekly, or monthly, and save. From then on the report arrives in your inbox on that cadence, with no further action from you. Stop it by removing the trigger the same way you manage any other scheduled rule.

Check the AI budget. Read the budget-versus-spend status to see where the workspace stands against its monthly AI budget, or query the cost ledger directly for the spend breakdown.

The kernel verbs behind it

Everything above runs through the kernel’s one front door: each call is permission-checked and audited before it executes. The dashboard owns no special read path; it composes the same verbs every other surface uses.

The configurable dashboard:

  • search.query - the unified read each widget runs to count or list its results.
  • pref.get - load your saved widget layout from the per-user preference store.
  • pref.set - persist your widget layout so it follows you across devices.
  • trigger.upsert - schedule a widget as a recurring digest on a daily, weekly, or monthly cadence.
  • notify.send - deliver the scheduled digest to your own inbox.

The “Today” overview rail:

AI cost and budget:

  • cost.budget.check - AI budget-vs-spend status: budget config and ledger spend resolved to whether you are over budget.
  • cost.query - read system and operator spend across the cost ledger.
  • cost.record - append an AI-cost event to the ledger, the agent loop’s governed per-call write.