Notifications
In-app notifications for the events that need a person, such as a finished rollback, an approval request or a role change.
Some events need a specific person to act or to know: a plan waiting for their approval, the outcome of the rollback they started, a change to their own access. Telark sends those to that person inside the dashboard.
What you get
A bell in the dashboard header with an unread count, and a drawer that lists your notifications. Clicking one marks it read and opens what it points to. Mark all read and Clear all act on the whole list.
| Event | Sent to | When |
|---|---|---|
plan.approval.requested | Every user who may approve the plan, except the requester | A plan that requires approval is created, duplicated or reactivated. |
plan.approval.decided | The requester | An approver approves (success) or rejects (warning, with the comment). |
rollback.completed | The user who triggered the rollback, or the user who aborted it | The rollback succeeded, failed (with the error) or was aborted while pending. |
role.changed | That user | Roles were added to or removed from their account. |
group.membership.changed | Each user added or removed | Group membership changed. |
Other plan lifecycle transitions are logged, not notified.
How it works
The exporter stores notifications in Redis, per user. Other services emit them through an internal endpoint with the service token, and emission is best-effort: a failed notification never blocks the operation that caused it. The dashboard polls every 30 seconds while the tab is visible.
- An unread notification is kept 30 days, a read one 7 days, and each user keeps at most the newest 500.
- A new notification with the same type and target as an unread one updates it instead of adding a row.
- Titles are capped at 100 characters and messages at 500.
- Each user reads and clears only their own notifications.
Limits
- In-app only. There is no email, chat, webhook or push delivery.
- Not an audit log: notifications expire. Use plan reports and change history for records.