Settings — Notifications
Sublarr’s notification system is built on Apprise — one config file, 80+ services. Configure a channel, pick which events should fire it, optionally customise the message template, and you’re done. Quiet Hours suppress all notifications during a configurable window.
Channels
Section titled “Channels”Each channel is one Apprise URL plus a label. Apprise URL format depends on the destination service:
| Service | Apprise URL example |
|---|---|
| Discord | discord://avatar/webhookID/webhookToken |
| Slack | slack://TokenA/TokenB/TokenC |
| Telegram | tgram://bottoken/ChatID |
mailto://user:[email protected]:587 | |
| Pushover | pover://userkey/apptoken |
| Webhook (custom JSON) | json://example.com/path |
| Apprise Server | apprise://host/notify/tag |
The full list lives at github.com/caronc/apprise/wiki.
| Field | Effect |
|---|---|
| Label | Display name. Shown in event-routing rules. |
| URL | Apprise URL (see above). |
| Tags | Comma-separated tag list. Events routed by tag intersection. |
| Test | Sends a test notification immediately. |
Events
Section titled “Events”Each event type can fire one or more channels by tag. The defaults cover the common cases:
| Event | Default tag | Triggers when |
|---|---|---|
| subtitle_downloaded | info | A new subtitle is written to disk. |
| search_failed | error | All providers exhausted with no match. |
| translation_completed | info | A translation job finishes. |
| translation_failed | error | A translation job ends in failed. |
| scheduler_job_failed | error | A scheduled job fails 3 times in a row. |
| disk_warning | warning | Disk usage crosses the configured threshold. |
| provider_disabled | warning | Auto-disable kicked in for a provider. |
| upgrade_completed | info | An upgrade replaced an existing subtitle. |
| backup_failed | error | An automatic backup failed. |
| manual_action_required | warning | Sublarr needs human attention (rate-limit override, captcha, etc.). |
A channel with tag error receives every event tagged error. Add info to the channel’s tags to also get info-level events.
Templates
Section titled “Templates”Each event has a default message template. Customise per-event under the Templates tab:
| Variable | Available in |
|---|---|
{title} | All events |
{message} | All events |
{series} | Subtitle / translation events |
{episode} | Subtitle / translation events |
{language} | Subtitle / translation events |
{provider} | Subtitle events |
{score} | Subtitle events |
{cost} | Translation events |
{error} | Failure events |
Templates are Markdown — Discord and Slack render the formatting; plain-text channels get the unformatted version.
Quiet hours
Section titled “Quiet hours”Suppresses all non-urgent notifications during the configured window:
| Setting | Default | Values | Effect |
|---|---|---|---|
| Enabled | off | toggle | Master switch. |
| Start | 22:00 | HH:MM | Window start (server timezone). |
| End | 07:00 | HH:MM | Window end. |
| Timezone | server | IANA tz | Override if you want quiet hours pinned to a specific timezone regardless of server. |
| Allow critical | on | toggle | error-tagged events still fire even during quiet hours. |
Notification history
Section titled “Notification history”Every dispatched notification is logged for audit:
| Column | Effect |
|---|---|
| Timestamp | When fired. |
| Event | The event type. |
| Channels | Which channel(s) received it. |
| Status | sent / failed / suppressed (quiet hours). |
| Message | Rendered message body. |
Use the History tab when investigating “I should have got a notification but didn’t”. suppressed rows confirm quiet hours; failed rows include the upstream error from Apprise.
Channel test panel
Section titled “Channel test panel”Each channel row has a Test button that sends a sentinel message immediately. The result is displayed inline:
| Outcome | Meaning |
|---|---|
| OK | Apprise accepted the URL and the upstream service returned 2xx. |
| Apprise rejected URL | URL format invalid; check the Apprise wiki for your service’s exact pattern. |
| Upstream rejected | Apprise reached the service but the service returned an error (auth failure, missing channel, etc.). |
| Network unreachable | Sublarr couldn’t reach the service host. |
Multi-channel routing examples
Section titled “Multi-channel routing examples”| Use case | Setup |
|---|---|
| All errors to ops Slack, info to private Discord | Two channels: Slack tagged error, Discord tagged info. |
| Different Slack channels for different *arr instances | Two Slack channels with different tags; route via per-event tag override. |
| Quiet during workdays; loud on weekends | Two timezone-shifted quiet hours rules (current UI supports one — for two, use two channels with different tag inclusion). |