Notifications

Every dashboard surface has a bell icon in the top bar. The badge shows your unread count; the dropdown lists the most recent notifications and a "Mark all read" action. There is no email digest yet — notifications live in the app.

What triggers a notification

Trigger Notification kind
Someone comments on a share you own comment.created
A visitor requests access to one of your shares access_request.created
Your access request is approved access_request.approved
Your access request is denied access_request.denied
A suggested-change version lands on a share you own suggestion.submitted
Your suggested change is approved suggestion.approved
Your suggested change is rejected suggestion.rejected
You are added as an org admin member.added_to_org
You are added to a project as viewer or editor member.added_to_project
You are granted editor access on a single share member.added_to_share

Notifications never email you. They land in the bell dropdown and stay there until you mark them read.

Self-actions don't notify

The comment.created notification skips the actor when the actor is also the share owner — commenting on your own share doesn't notify you of your own comment. Other kinds attribute to the deciding admin, not the affected user (e.g. when an admin approves an access request, the requester sees access_request.approved; the admin does not see their own action as a notification).

Marking read

Three ways to mark read:

  • Click an individual item in the dropdown — opens its link and marks just that row.
  • "Mark all read" at the bottom of the dropdown — flips every unread row.
  • Auto-mark on dashboard visit — opening /dashboard clears the count badge for new visitors; the dropdown still shows recent items.

API

If you want to wire notifications into another surface (a Slack bot, a Raycast script, your own dashboard), see the API reference:

All three require an authenticated user (cookie session or per-user CLI token). There is no operator-bearer fallback — notifications are user-scoped.

What's not in here

  • Email delivery of notifications — deferred.
  • Per-kind opt-out preferences — deferred. Every kind fires for every user today.
  • Push notifications to the browser or a mobile app — deferred.
  • Anonymous-suggester notification — anon suggestions are gated behind V4 #20 (captcha + rate-limit) and don't fire today.

When any of these land, they will reuse the same notifications table — the API shape above is the long-term surface.