---
audience: everyone
summary: Presence, per-room modes, mute, quiet hours, snooze, keyword alerts, priority
  inbox, AI catch-up.
title: Notifications
path: concepts/notifications
status: published
---

# Notifications

ScaiWave's notification system is built around three principles:

1. **You should never wake up to 47 unread rooms with nothing in
   them**. Coalescing, snoozing, and AI catch-up cut the noise.
2. **You stay in control**. Every room has its own mode; you set
   quiet hours; you snooze individual messages.
3. **Important things still reach you**. The priority inbox surfaces
   what matters even when notifications are off.

## Per-room mode

Every room you're in has one of four modes:

| Mode | Notifies on |
|---|---|
| `all` | Every message. |
| `mentions` (default) | `@you` and keyword alerts. |
| `none` | Nothing. (Room still updates; you just don't get pinged.) |
| `inherit` | Use your global default (which itself is one of the above). |

Change via the **bell** menu in the chat header or via
`PUT /v1/rooms/{room_id}/notification-mode`.

## Mute

A stronger version of `none` with an expiry:

- "Mute for 1 hour" / "Mute until tomorrow morning" / "Mute
  indefinitely".
- A muted room shows a 🔕 indicator in the sidebar.
- The mute auto-clears at the configured expiry.

## Snooze (per message)

The composer hover menu has a **Snooze** action on every incoming
message: snooze for 1 hour, 4 hours, tomorrow, or a custom time. At
the snooze time the message re-fires as a fresh notification — useful
for "I'll deal with that later" without losing it.

## Quiet hours

Configure under **Settings → Notifications** a daily quiet window
(e.g. 22:00–07:00 in your timezone). During quiet hours:

- No desktop notifications.
- No sound.
- The message still arrives; you'll see it when you check.

## Keyword alerts

Add phrases under **Settings → Notifications → Keyword alerts**.
When a message in any room contains a keyword (case-insensitive,
word-boundary), you're notified even if the room is on `mentions`
or `none`.

## Mark-on-scroll (opt-in)

By default, ScaiWave only marks a message as read when you focus the
window. Opt into **Settings → Notifications → Mark on scroll** and
the unread counter shrinks as you scroll past messages in the
timeline.

## Coalescing

If five messages come in rapid succession (within a 60-second window)
in the same room, you get *one* desktop notification summarising
them, not five. Same for sound. The in-app unread counter still shows
all five.

## Cross-device sync

When you mark a room as read on your phone, the read marker
propagates to your desktop within a second via a `swp.room.read_marker`
WebSocket event. Same with mute, snooze, and notification mode —
they're stored server-side and sync everywhere you're signed in.

## Priority inbox

A separate panel surfaces messages that the AI thinks deserve your
attention even if you've muted the room. Heuristics: direct mentions,
your name in the body, questions directed at you, keyword matches,
and messages tagged `priority` by senders. Open from the sidebar's
**Priority inbox** entry.

## AI catch-up

Long chat to come back to? Click **Catch up** in the chat header. An
AI summarises everything you missed since your last read marker,
groups it by topic, surfaces decisions and asks, and links to the
priority items. The summary appears as an AI message in the room (you
can hide it after reading).

## Presence

Presence is its own concept (online / idle / busy / appear offline).
See [Concepts: Presence and availability](/docs/scaiwave/concepts/presence)
if you want the long version.

## Where to go next

- Tutorial: [Manage your availability](/docs/scaiwave/tutorials/first-steps/manage-your-availability).
- Tutorial: [Catch up on busy rooms](/docs/scaiwave/tutorials/power-user/catch-up-on-busy-rooms).
- API: [Inbox and notifications](/docs/scaiwave/reference/api/inbox-and-notifications).
