When the agent needs you back.
Where async work asks a question and waits. Every item is the same shape: a question, a short brief, a reply.
Canvas, not checklist.
Left: what's waiting. Centre: what's asked. Right: what it came from. Narrow screens collapse to the centre only; conversation about any item threads into §14 Chat.
Thanks for taking this back to the team — the tighter scope works on our end.
At $40k we can proceed, given the reductions we discussed.
For timing, we can kick off the week of May 5.
Let me know if you'd like to adjust anything.
Narrow by project, person, or anything else.
Plain text matches titles. Prefix a token with a facet name to match directly. Global search (across figments, chats, boards) lives in §9 Command Palette.
Your own work buckets. Anything tagged to a project — emails, approvals, drafts — surfaces together.
Anything related to a person — threads they're on, drafts to them, teammates they mentioned.
The kind of work the item came from. Good for "just show me emails today."
Lifecycle state. Pending is the default view.
How the agent tagged it. Blocked items always surface first.
Filed within a time window. Relative terms resolve against now.
Priority is the signal now.
We originally used four severity dots — info / warning / error / success — in the list's left column. That language was about what kind of message an item was. In practice what users actually wanted to know is how soon they need to act, so the dot now carries priority (§18.4), not severity.
Severity survives as a backend attribute: workflows and
agents can still emit severity: "warning" in an inbox
item payload, and the frontend uses it to help pick the priority
tier — warning and error both typically become Hot or Warm,
info defaults to no priority. The list column shows one dot per row:
the priority dot. Success is no longer a severity at all; completed
items render with a check or dash mark (§18.6 States).
Hot, Warm, Cool — the pile on your desk.
Adapted from Alan Lakein's 1973 ABC priority method: three tiers, named in physical language, shown as a single dot in the list's left column — the same left-column vocabulary we already use for severity. One dot, three states; most items carry no dot at all. Severity and priority have been merged: the dot now tells you how soon you need to act, not what kind of message it is.
Drop what you're doing. Something is blocking, expiring, or paused on your reply. Solid red dot, quiet pulse. Floats to a Now group at the top; adds a red marker to the Inbox nav.
Sort · top · always
Real, not critical. Handle today or tomorrow. Solid ink dot, no pulse. Lives in its natural time bucket (Today, Yesterday, This week) — warm means "worth looking at when you're in."
Sort · time bucket
No pressure. Skim when you have a minute, or let it auto-expire. Hollow ring, muted. Collapses into a small Later · N tail at the bottom of the list; doesn't count toward the inbox-zero number.
Sort · later tail · collapsed
A fourth state — no priority — is the default and has no dot. It means "this arrived, it's in the list, no tier was assigned." Most items sit here; the left column stays blank. This keeps the dot rare and therefore meaningful.
Reading order: Hot floats to a "Now" group at the top, always. Items without a tier sit in their natural arrival bucket (Today, Yesterday, This week). Cool collapses into a "Later · N" tail at the bottom — click to expand. The dot column stays aligned whether or not a priority is set; no-priority items just hide their dot.
Two ways to read the pile
A small Time | Priority toggle sits at the top-right
of the list. It doesn't change the data, just the order.
Time · the default. Grouped by arrival bucket. Hot still floats to Now, Cool still sinks to Later — but the middle is "when it arrived," not "how urgent it is."
Priority · flat list, grouped by tier. Within each tier the sort is still newest-first — but arrival buckets and the Later drawer are gone; everything is inline. Use when you're triaging, not when you're catching up.
Nav-item badge. The sidebar Inbox gets a red pulsing dot
whenever at least one Hot item is pending. The numeric count is
hot + warm + no-priority; Cool items don't
contribute. Zero-inbox = zero on the number, regardless of what's
in Later.
Focus pin. When a Hot item is focused, the title row carries a small red "Hot" chip before the title. Warm and Cool items don't carry a chip — the meter in the list row is enough. Only the loudest tier earns a label in the focus header.
Who assigns it? Workflows can emit a tier at item-creation time (a paused run needing approval → Hot). Agent can suggest a tier from context (a sender flagged as VIP, a keyword like "urgent" in the draft body). Users can re-pin from the focus overflow menu. The source of the tier is stored on the item so "why was this flagged Hot?" always has an answer.
Severity is retired (§18.3). We originally carried two left-column signals — severity ("what kind of message") and priority ("how soon"). In practice most workflows set both, and users only ever scanned one. The dot in the list is now priority-only. Severity survives as a backend hint that helps pick the initial priority tier (error → typically Hot, info → typically no-priority), but doesn't render its own icon.
Eight ways to ask, one way to reply.
Same vocabulary as §13 Forms.
Binary questions render as toggles, not dropdowns. rich_text
replaces the old long_text plain textarea — the user sees
WYSIWYG (bold / italic / link / list / code), the wire format is
markdown, and the downstream workflow is free to render it as email
HTML, Slack mrkdwn, or anything else. An empty editor looks
identical to a textarea; formatting is opt-in.
Empty, error, delete-confirm.
Empty teaches. Delete confirms in place. Callback failure whispers.
Inbox is clear
Emails, campaigns, and workflows will file questions here when they need your input.
Nothing pending
You're all caught up. New requests will appear here.
fig-brand Brand palette locked in
Couldn't sync back to HubSpot. I'll retry at the next sync.
The mark on the rail is the loudest pending dot.
Next to Inbox in the sidebar, a small sharp mark shows the count and severity of pending items. It reuses the same dot language as §18.3 Severity — the sidebar simply lifts the loudest dot into the rail. Not a siren. Not a red alert. A signal.
Severity promotes: error > warning > info. The mark takes the color of the loudest currently-pending item. Completed items don't count.
The warning dot carries a slow 3.2s pulse — the same cadence as in-row warning dots. Error stays still; its color is the weight.
Transparent fill, 1px severity border, no radius. The mark doesn't compete with the nav — it sits alongside it, quiet until you look.
A new item causes the mark to scale in from 0.85 over 180ms. Increments to the count cross-fade; hover on the nav row steadies the pulse — a small moment of acknowledgment.
Rules the feed lives by.
Figments, workflows, integrations — everything files into one column. Users don't think in per-tool inboxes.
A coloured dot and, for warnings, a gentle pulse. Read the feed down the left edge in a glance and the severity rides with it.
Pending carries a tint and a semibold title; completed drops both. A to-do list, not an archive in disguise.
Same inputs as everywhere else. Binary questions read as toggles. Required marks with a red asterisk, not chrome.
Dismiss is a soft out. Delete flips the trash icon to a check/cancel pair in place. The surface doesn't jump.
One sentence about what would land here. No illustrations, no CTAs — empty states teach, they don't sell.