/admin/notify. It provides a broadcast tool that inserts notification records into the notifications table, which users see in real time via the in-app notification center.
Notification fields
Each notification record has the following structure:| Field | Type | Description |
|---|---|---|
user_id | string | The ID of the recipient user |
title | string | Short headline displayed in the notification |
message | string | Full notification body text |
type | 'success' | 'info' | 'warning' | 'error' | Controls the visual style of the notification badge |
is_read | boolean | Whether the user has dismissed the notification |
The current broadcast interface sends all notifications with
type: 'info'. To send a different type (e.g. warning or success), you would need to insert directly into the notifications table via Supabase or extend the UI.Sending a broadcast to all users
The default mode sends the notification to every user in theprofiles table simultaneously.
Open the Notify Users page
Navigate to
/admin/notify. The panel shows the total number of active users that will receive the broadcast.Write the notification title
Enter a short, clear headline in the Protocol Title field. This is the first thing users see in their notification list.
Write the message body
Enter the full notification content in the Encrypted Payload field. Be concise — users read notifications in a small panel.
Sending a targeted notification
To send a notification to a single user rather than all users, insert directly into thenotifications table via the Supabase dashboard or a direct API call:
Transmission ledger
Below the compose form, the Transmission Ledger shows a history of all notifications previously sent, grouped by unique title and message combinations. Each entry shows:- The notification title and message
- How many user records share that notification (
N NODES) - The timestamp of the most recent matching record