Skip to content

Inbox (triage)

The Inbox (Operations → Inbox) is where inbound carrier and XactAnalysis correspondence lands for triage. Mail arrives through the ingest queue: subject rules that match are auto-attached to an estimate; anything that doesn’t match is left here for a human to route.

The list

A message table — from address, subject, the linked estimate (or ”—” when unmatched), a status pill, and received time. A status filter narrows it: All · Unmatched · Matched · Attached · Ignored. Click a row to open the detail pane.

Message detail & actions

The right pane shows the full message — from / to, received time, estimate link, subject, and body. The actions depend on the message’s state:

  1. Unmatched — type the estimate number (e.g. EST-24160-MIT) and click Attach to tracker (POST /api/emails/:id/attach with { estimateNo }), or click Ignore (POST /api/emails/:id/ignore) to drop the noise.
  2. Matched / attached — the pane shows “Pinned to {estimate}” with a link; the message already appears in that estimate’s correspondence.
  3. Ignored — the pane simply reads “Ignored”.

How mail is matched

The ingest pipeline archives every raw message to R2 first, then runs the enabled subject rules (by priority) to pull an estimate number out of the subject line. If it resolves to a known estimate, the durable RevisionWorkflow attaches it and processes the revision; if not, it stays unmatched in this inbox. See Configuration for subject rules and Webhooks & integrations for the pipeline.