Skip to main content

Notifications

VaultysClaw can notify you about events that happen across the platform. Every user decides what they want to be notified about and how — through three channels:

  • In-app — a bell in the top bar with a dropdown of your notifications (stored in the database, so they persist across sessions). Clicking a notification marks it read and takes you straight to the relevant page (the workspace, the workflow run, the pending registration, …).
  • Email — sent via the SMTP server configured in the control plane. Emails are richly formatted: a summary, a details table (workspace, agent, workflow, error, …) and, when relevant, an action button that deep-links straight to the relevant page in the app.
  • Push — a system/browser notification, delivered in real time over SSE while you have the app open. Clicking it focuses the tab and opens the relevant page.

If no channel is enabled for an event, you simply aren't notified about it.

Notification levels

Every event has a level that controls who is allowed to receive and configure it. You only ever see the events your role has access to:

LevelWho can receive itExample
userThe specific user concernedYou were added to / removed from a workspace
adminAdmins and OwnersA new user joined VaultysClaw (onboarding)
ownerOwners only(reserved for future events)

The visibility is cumulative: a Member sees only user events, an Admin sees user + admin, and an Owner sees everything.

Configuring your notifications

Go to Settings → Notifications. Events are grouped by level, and each event has a checkbox per channel (in-app / email / push). Tick the channels you want; untick all of them to stop being notified about that event.

To receive push notifications, click Enable push once to grant the browser permission. Push notifications only appear while a VaultysClaw tab is open — for anything you might miss, keep in-app enabled (it persists in the bell).

The bell shows your 10 most recent notifications; when there are more, a See all notifications link opens the full, paginated history page. You can delete in-app notifications individually (the on each item) or clear them all.

Read notifications are automatically pruned after a retention period (NOTIFICATION_RETENTION_DAYS, 30 days by default) so the list stays manageable; unread notifications are never auto-deleted.

How it works

Notifications are processed out of band so that the action that triggers an event (e.g. adding someone to a workspace) returns immediately. A dedicated notifier service does the fan-out and delivery.

  • The control plane only enqueues events; it never blocks on delivery.
  • The notifier resolves recipients from the event level, looks up each recipient's preferences (falling back to sensible defaults), and delivers on the enabled channels.
  • The browser keeps a single SSE connection to /api/notifications/stream, which is how the bell updates live and push notifications are raised.

Requirements

  • Redis must be running — it backs both the BullMQ job queue and the per-user pub/sub used for live delivery. It is included in the Docker stack (docker/docker-compose.yml).
  • Email delivery requires SMTP to be configured under Admin → Settings → Integrations (the notifier reads the same configuration).

Available events

User level

EventWho receives itDescription
workspace.member_addedyouYou were added to a workspace
workspace.member_removedyouYou were removed from a workspace
workspace.agent_addedworkspace membersAn agent was added to a workspace you belong to
workspace.agent_removedworkspace membersAn agent was removed from a workspace you belong to
workspace.workflow_addedworkspace membersA workflow was added to a workspace you belong to
workspace.workflow_removedworkspace membersA workflow was removed from a workspace you belong to
inbox.messageyouA new item was assigned to your inbox
profile.updatedyouYour profile was updated
grant.receivedyouYou were granted a capability delegation
grant.revokedyouA capability delegation of yours was revoked
tool.approval_requiredworkspace membersAn agent is waiting for approval to run a tool

Admin level

EventWho receives itDescription
user.joinedadmins/ownersA user completed onboarding and joined
agent.pendingadmins/ownersAn agent requested registration and needs approval
policy.updatedadmins/ownersA governance policy was created, updated or revoked
workspace.createdadmins/ownersA workspace was created
workspace.deletedadmins/ownersA workspace was deleted
agent.createdadmins/ownersAn agent was created
agent.deletedadmins/ownersAn agent was deleted
model.addedadmins/ownersA model was added to the registry
model.removedadmins/ownersA model was removed
knowledge.addedadmins/ownersA knowledge source was added
knowledge.removedadmins/ownersA knowledge source was removed
skill.addedadmins/ownersA skill was added
skill.removedadmins/ownersA skill was removed
workflow.failedadmins/ownersA workflow run failed
workflow.succeededadmins/ownersA workflow run completed successfully

Each event carries a level (who may configure it) and an audience (who receives it) — for most events these align, but workspace-scoped events are configured by any user yet delivered only to members of the affected workspace.

New events are added to the shared catalog (packages/shared/src/notifications.ts); see the notifier package documentation for the developer workflow.