System Notifications ​
System Notifications decides which server events reach you, and what the message says. Each event can be switched on or off on its own, and each has a template you can rewrite.

Overview ​
URL: /admin/settings/system-notifications
Open it from Settings > System > System Notifications in the sidebar.
The page lists 52 events. Two buttons sit above the list:
- Settings - the global delivery settings: where notifications go and over which channels.
- Send test webhook - sends a test message so you can confirm a webhook is wired up correctly before waiting for a real event.
The event list ​
| Column | Meaning |
|---|---|
| Enabled | A switch that turns notifications for this event on or off. |
| Name | The event. |
| Concerns | Whose event it is: Admin, Reseller, Client, or Server. Since panel 1.9.3. |
| Sent to them | Whether the one the event concerns receives the notification: a tick for admin and server events, a cross for client and reseller events. Hover over it for the reason. Since panel 1.9.3. |
| Edit Template | Opens the template editor for this event. |
The e-mail and webhook messages set up on this page go only to the address in Send Notifications To and to the webhooks, never to a client or a reseller. The page subheading says so. Concerns is a label for you, not a recipient.
Three filters sit above the table: Concerns, Sent to them, and Enabled. The search box filters by name, and the page size can be set to 5, 10, 25, 50, or All.
Events ​
Sign-in ​
| Event |
|---|
| User login successful |
| User login failed |
| Reseller login successful |
| Reseller login failed |
| Administrator login successful |
| Administrator login failed |
Two-factor authentication and passkeys ​
The same six events exist for each role, prefixed Administrator:, Reseller:, and User:
| Event |
|---|
| Two-factor challenge failed |
| Two-factor authentication enabled |
| Two-factor authentication disabled |
| Two-factor recovery code used |
| Passkey registered |
| Passkey removed |
Hosting accounts ​
| Event |
|---|
| Hosting account created |
| Hosting account deleted |
| Hosting account suspended |
| Hosting account unsuspended |
| Reseller resource limit reached |
| Reseller resource limit exceeded (oversold) |
| CloudLinux LVE fault on a reseller account (CloudLinux servers, since 1.9.0, off by default; also reaches the reseller's notification bell) |
Backups ​
| Event |
|---|
| Account backup failed (since 1.9.3, not sent for a suspended account) |
| Account backups keep failing (since 1.9.3, on by default) |
| Account restore finished |
Account backup failed reports each failed run. Account backups keep failing is sent once when an account backup starts failing and then as reminders while it keeps failing; see Backups that keep failing. Its template offers the variables {{username}}, {{destination}}, {{count}} (failed runs in a row), {{since}}, {{last_success}}, {{details}} (the last error), and {{node_name}}.
Acronis ​
Since panel 1.9.3. They are listed on every server and sent only by a server that uses Acronis Backup. They are separate from the account backup events above, so you can tell which backup system reports.
| Event |
|---|
| Acronis: this server finished enrolling |
| Acronis: enrolling this server failed |
| Acronis: a backup task failed |
| Acronis: no successful backup for longer than the configured threshold |
| Acronis: the agent service is not running |
| Acronis: the agent service came back |
| Acronis: the SnapAPI kernel module is not loaded for the running kernel |
| Acronis: the backup storage is almost full |
| Acronis: a backup finished (when turned on in the Acronis settings) |
| Acronis: the API client was rejected |
Acronis: the backup storage is almost full follows Tell me when the storage is this full on the Acronis Settings tab, and Acronis: a backup finished is sent only while Also tell me when a backup finishes is on there; see Downloads and notifications. The templates offer {{node_name}} and {{details}}, with two exceptions: this server finished enrolling and the agent service came back offer only {{node_name}}, and the API client was rejected offers only {{details}}.
SSL ​
| Event |
|---|
| SSL certificate approaching its expiration date |
| SSL certificate has expired |
| Automatic SSL certificate renewal failed |
Mail ​
| Event |
|---|
| Outbound IPv6 mail deliverability degraded |
| Outbound IPv6 mail deliverability recovered |
| Outbound mail rejected by a sending rate limit |
| Mailbox sending suspended automatically after exceeding its limit |
| Mailbox sending restored automatically after dropping back under its limit |
| SpamExperts cluster state diverged from the panel and was repaired |
| SpamExperts filtering could not be enabled after repeated retries |
Multi-server ​
| Event |
|---|
| Fleet node went offline |
| Fleet node recovered |
| Fleet node role services degraded |
| Fleet node role services recovered |
| Fleet node installation or pairing failed |
| Account migration between nodes completed |
| Account migration between nodes failed |
| DNS zone claimed by more than one node |
| External DNS source: a background sync finished, was cancelled or failed (since 1.9.0) |
| External DNS source removed together with its zones on the hub (since 1.9.0) |
| External DNS zones could not be removed from the hub (since 1.9.0) |
Services ​
| Event |
|---|
| System service failed |
| A web server worker stuck at full CPU was stopped (servers with Watchdog installed, since 1.9.0, on by default) |
The notification bell ​
Some events also appear in the notification bell of the admin panel. Since panel 1.9.1, the SSL, LVE fault, reseller limit, and stuck worker alerts reach the bell of every administrator. An SSL alert links to the certificate it is about, or to the SSL Certificates list when it covers several; see SSL Certificates.
Since panel 1.9.3, account backups that keep failing reach the bell of every administrator too, as "Backups of account to destination are failing" and, for a reminder, "... are still failing", with a Backups link.
SSL expiry reminders ​
The SSL certificate approaching its expiration date and SSL certificate has expired events remind you of certificates that are about to expire or have expired. Since panel 1.9.3 a certificate that is not renewed automatically, such as one from another issuer, or a free one whose hosting account has AutoSSL switched off, is reminded about 30, 14, 7, and 1 days before it expires and once it has expired. See Certificates that are not renewed automatically.
The account owner also gets these reminders, in the notification bell of the client panel. When many certificates reach a reminder at once, administrators get one summary instead, through the Several SSL certificates approaching expiry in one scan and Several SSL certificates expired, reported in one scan events. The owner's reminder follows the event that announced the certificate, so switching that event off here also stops the owner's reminder.
The renewal note variable ​
Since panel 1.9.3 the expiry templates offer {{renewal_note}}, which says why a certificate is not renewed automatically and what to do about it:
- For a certificate from another issuer: "This certificate will not be renewed automatically. You can replace it with a free certificate."
- For a free certificate that AutoSSL does not renew: "This certificate will not be renewed automatically, because AutoSSL is switched off for its hosting account or automatic renewal is switched off for the certificate. Switch it on, or issue a new certificate before it expires."
- For a certificate AutoSSL renews, it is empty.
The shipped templates print the note only when it has text, with {{#renewal_note}} {{renewal_note}}{{/renewal_note}}. Templates you never edited get the new text with the update. A template you edited keeps your text: add the variable to it to show the note.
Settings ​
Settings opens the delivery configuration:
| Field | Description |
|---|---|
| Send Notifications To (required) | The address notification e-mail is sent to. |
| Email From Name | The sender name those messages carry. |
| Slack Webhook URL | Where Slack notifications are posted. Leave empty to send none. |
| Discord Webhook URL | Where Discord notifications are posted. Leave empty to send none. |
| Failed backups before a reminder | Since panel 1.9.3. When an account backup has failed this many runs in a row, a reminder is sent, unless the hours below came first. From 2 to 30, 3 unless you change it. |
| Hours of failing backups before a reminder | Since panel 1.9.3. Hours from the first failed run after the last successful backup until a reminder is sent, unless the runs above came first. From 1 to 720, 48 unless you change it. After the first reminder, one follows every 7 days while the failures last. |
| Webhook minimum severity | The lowest severity that reaches the webhooks, so a chat channel can carry the serious events only while e-mail carries everything. |
Save applies the settings; Cancel closes without saving. Use Send test webhook afterwards to confirm the webhook works.
Backup reminders over the API ​
Since panel 1.9.3, the admin REST API reads and changes the reminder limits of Account backups keep failing:
GET /api/system-notifications/backup-failure-streakreturnsenabled(whether the event is switched on),failed_runs,hours, andrepeat_days, the days between later reminders.PUT /api/system-notifications/backup-failure-streaktakes any ofenabled,failed_runs(2 to 30), andhours(1 to 720). A field you leave out keeps its value. Any other field, or a value out of range, is refused with422, and nothing is changed.
Templates ​
Edit Template on a row opens an editor with two fields:
| Field | Description |
|---|---|
| Template Title | The notification title, pre-filled with the event name. |
| HTML Template for email notifications | The message body, in a rich-text editor supporting bold, italic, underline, strikethrough, headings, links, and code blocks. |
Each event exposes its own variables, written in double curly braces. Sign-in events, for example, offer:
{{username}}- the account the attempt was for{{ip_address}}- where the attempt came from
Save changes applies the template; Cancel discards the edit.