Messaging
Notifications & realtime
Messaging pushes new messages and state changes in realtime to every connected participant. This page details the notification channels, read receipts, and mute mode.
Updated on August 14, 2026
Realtime
When a message is sent, it appears instantly for every connected participant — no refresh required. The transport relies on secure Cloudflare Durable Objects WebSockets and each user is subscribed to a channel dedicated to their organization, which strictly isolates traffic between an agency's clients.
What flows in realtime
All of the following chat events are broadcast instantly.
- A new message arrives — text or document request.
- A message has been edited — the UI shows the new version and marks "(edited)".
- A message is deleted — it disappears from the UI.
- A participant marked the conversation as read — your read-receipt badge updates.
- A participant is added or removed.
- A document request is opened, fulfilled, or canceled.
Read receipts
Every message keeps track of the users who read it, with the exact timestamp. The UI shows a counter or avatars to signal that your message has been seen. At the conversation level, a per-user "last read message" pointer lets the unread counter be computed without loading the whole history.
Unread counter
The conversation list shows, for each entry, a counter of unread messages. A total is also visible in the dashboard sidebar. The counter resets as soon as you open the conversation.
Notification channels
For events worth pulling your attention outside the conversation, three channels can be combined.
In-app
A notification in the dashboard bell. Always on by default.
Email
An email with a direct link to the conversation. Handy when you're not signed in.
Mobile push
A notification pushed to your phone via the React Box mobile app. Requires the app to be installed and system notifications to be allowed.
Events that trigger a notification
Not every message triggers a notification — only important events interrupt you.
- Mention — someone called you out with "@" in a message.
- Document request received — the other party asks you for a document.
- Request fulfilled — your document request has been fulfilled.
- Added to a conversation — you have just been added as a participant.
Notification preferences
From your account settings, you choose which channel is on for each event type. For example: receive a mobile push for mentions, but only an email for document requests. Everything stays customizable, without affecting message delivery inside the conversation itself.
Mute mode
You can mute a conversation for a given duration — an hour, a day, until tomorrow. New messages keep arriving in the list but no longer trigger any notification (in-app, email, or push) while the mute is active. Useful during a meeting or a focus session.