Inbox

The Inbox is DayZero's unified notification feed — approvals, anomalies, sync events, and firm asks in one triageable list. Pick your scope, filter by topic and severity, then Resolve, Snooze, or follow each row's action link.

Key capabilities

  • One feed across every business you belong to, with a Me / Business / Firm scope switch (Firm is restricted to firm staff)
  • A real status workflow — Open / Snoozed / Done tabs backed by a clear state lifecycle
  • Topic filter chips (anomaly, billing, AP approvals, Plaid, month-end, ledger, notes, email ingest, reconciliation, manual) with live counts
  • Severity chips (Info, Warning, Urgent); warning and urgent rows get a colored left border
  • Pin important rows to the top of the Open tab
  • Snooze with presets — 1 hour, 4 hours, Tomorrow 9am, 1 week — and the row reappears when the timer elapses
  • Resolve or Dismiss (both terminal), plus Mark all seen to clear the unread dots in bulk
  • A deep-link action button that jumps straight to the related record (bill, invoice, transaction, report, etc.)
  • Live alerts (low cash, stale bank connection, etc.) merged into the feed and tagged Live
  • Updates appear in the feed automatically; the bell badge refreshes on a short interval as a backstop
  • Multi-channel delivery per topic: in-app always, Slack when a webhook is configured, email when the topic policy allows
  • A bell badge that counts only Open items for your current scope

How it works

When something happens — a bill enters an approval gate, an anomaly is detected, a bank sync finishes — DayZero decides who should be notified and which channels fire, then writes one row per recipient.

flowchart TD
  event["Event (bill gate, anomaly, sync, mention)"] --> policy{"Audience + channel policy by topic"}
  policy --> rows["Notification rows (user / business / firm)"]
  rows --> feed["Inbox feed"]
  rows -->|"Slack if enabled"| slack["Slack webhook"]
  rows -->|"email per policy"| email["Email"]
  feed --> act{"You act"}
  act -->|"open / mark seen"| seen["Seen"]
  act -->|"snooze"| snoozed["Snoozed (wakes later)"]
  act -->|"resolve / dismiss"| done["Done (terminal)"]

How to use it

  1. Open Inbox from the sidebar — the bell badge shows how many Open items wait on you.
  2. Use the Me / Business / Firm switch in the header to choose the audience slice. Me spans all your businesses; Business scopes to the active business; Firm shows the advisor feed.
  3. Switch between the Open, Snoozed, and Done tabs to focus on what's actionable now versus deferred or finished.
  4. Click severity chips (Info / Warning / Urgent) and topic chips to filter; chips show live counts and hide topics with zero items. Click Clear to reset.
  5. Click any row to open the detail panel on the right — a new row is auto-marked seen when you open it.
  6. Use the row's action button (e.g. "Review bill") to jump to the underlying record.
  7. From the detail header, Pin, Snooze (pick a preset), Resolve, or Dismiss the item.
  8. In the Open tab, click Mark all seen to clear unread dots across the visible feed in one action.

Pro tips

  • Stay in the Me scope for your personal triage; switch to Business or Firm only when you're working on someone else's behalf or doing a portfolio sweep.
  • Snooze instead of dismiss for things you can't action yet — a dismissed row is terminal, but a snoozed row resurfaces in the Open tab when its timer elapses.
  • Filter to Urgent severity first thing each morning — those are the rows the policy also escalates to Slack and email.
  • Pin the one or two items you're actively working so they stay at the top of Open even as new rows arrive.
  • "Live" rows are computed, not stored — dismissing one hides it for you specifically; it can reappear if the underlying condition (e.g. low cash) recurs.
  • Tune per-topic noise in notification preferences rather than dismissing repeatedly — you can mute routine sync pings while keeping urgent reconnect alerts.

In-depth guide

Scopes and who gets notified

Every notification is addressed to a single user, a whole business, or an entire firm. The scope switch picks which slice you see:

  • Me — everything addressed to you across all your businesses.
  • Business — filtered to one business.
  • Firm — the firm advisor feed (only firm staff can load it).

Who receives a row depends on the topic: billing events go to the business owner; AP approval requests go to the tier approver and assigned advisor; operational alerts (anomalies, bank connection health) go to the owner plus firm staff.

Status lifecycle

Status Meaning Tab
New Just delivered, unread (blue dot) Open
Seen Opened or marked seen Open
Snoozed Hidden until the snooze timer elapses Snoozed
Resolved Handled — terminal Done
Dismissed Cleared without action — terminal Done

Mark all seen only affects new rows currently in the list; it doesn't resolve or dismiss anything. Terminal rows won't transition again — prefer Snooze when you might need the item back.

Topics and severity

Topic chips answer "what domain is this about?" — billing, AP approvals, anomalies, bank connections, sync events, month-end, reconciliation, ledger changes, notes, forwarded emails, and manual messages. Severity drives visual urgency: Info is routine, Warning gets an amber border, Urgent gets a red border and is more likely to trigger email.

Channels and live rows

In-app delivery is always on; Slack and email depend on your firm's integration and the topic policy. If Slack or email fails, the in-app row is still written — the Inbox is the source of truth.

Some signals — low cash, a stale Plaid connection — are computed on every read rather than stored. They appear tagged Live and can return if the condition recurs. Live rows can't be pinned or snoozed; dismissing one hides it for your account only.