Skip to Content
Components

Agent inbox

Every run that needs you, is running or is done, in one list.

The agent inbox puts every run in one list, grouped by what it needs: Needs you, Running and Done. A running run shows a live clock; one that waits for you offers Approve, and one that failed turns red and offers Retry. When a run changes group it glides to its new place, an empty group goes away, and the line beside the title says what is left.

Preview
Inbox2 need you
Needs you2
Publish the pricing pageWaiting for your approval
Export tokens to CSSFailed: rate limited by Figma
Running2
Rework the plan cardsEditing frame 3 of 61:42
Compare 3 competitor pagesReading page 3 of 30:38
Done2
Rewrite plan descriptionsCopy agent12m ago
Audit pricing contrastQA agent25m ago

Usage

<!-- include core.css + agent-inbox.css -->
<div class="aib panel">
  <div class="aib-h"><b>Inbox</b><span class="muted aib-st" aria-live="polite"></span></div>
  <div class="aib-gs"></div>
</div>
<!-- agent-inbox.js fills the groups and drives the clocks and the glide -->

Properties

NameTypeDescription
runsInboxRun[]Every run to show, each in its group.
onApprove(id) => voidAdds Approve to the runs that need you and haven't failed.
onRetry(id) => voidAdds Retry to the runs that failed.
titlestringThe inbox's name. Defaults to "Inbox".
statusstringThe line beside the title. Defaults to "2 need you", then "2 running", then "All clear · 4 done today".
run.idstringKeeps a run's row when it moves group.
run.titlestringWhat the run is for, like "Publish the pricing page".
run.agentstringWhich agent runs it. Its first letter marks the row.
run.colorstringThe mark's fill, like var(--dm-av-l). Defaults to the accent.
run.groupneeds | running | doneWhich part of the inbox the run sits in.
run.detailstringThe line under the title: why it needs you, or what it is doing now.
run.failedbooleanTurns the row red and offers Retry instead of Approve.
run.whystringMore on the failure, in a tooltip on its detail line.
run.secondsnumberHow long a running run has gone. Its clock counts on from here.
run.endedstringWhen a finished run ended, like "12m ago".

Theming

Works in light and dark (data-theme="dark") and in the Soft style (data-style="soft"). The panel sits on a surface with the card shadow; a failed run tints with the bad tokens, the running clock and the Approve pill use the accent, and the avatar marks take the shared --dm-av-* colours with their own ink. In Soft the panel and its rows are rounder.

On this page