Notifications#

Jellyseerr supports pushing notifications to external applications and services.

These are not only for Jellyseerr to communicate with the outside world, they can also be useful for monitoring since the user can be alerted, by a service of their choice, when some kind of event (or problem) occurs.

For more information on configuring push notifications for Jellyseerr, refer to this guide in the Overseerr documentation.

Enabling notifications#

To enable push notifications to a service, simply set enable: true in the settings, as shown below.

jellyseerr:
  settings:
    notifications:
      webpush:
        enable: true
enable: bool = False class-attribute instance-attribute #

Enable sending notifications to a service.

If enabled, some configuration attributes for the service will be required.

Configuring notification types#

Some service types support fine-grained configuration of the type of notifications that get sent.

This is done by defining the optional notification_types configuration attribute in the settings for that service.

jellyseerr:
  settings:
    notifications:
      slack:
        enable: true
        webhook_url: "..."
        notification_types:
          - "media-pending"
          - "media-approved"
          - "media-available"
          - "media-failed"
          - "test-notification"
          - "media-declined"
          - "media-auto-approved"
          - "issue-created"
          - "issue-comment"
          - "issue-resolved"
          - "issue-reopened"
          - "media-auto-requested"

Discord#

Send notifications to a Discord server using a webhook URL.

webhook_url: Optional[AnyHttpUrl] = None class-attribute instance-attribute #

Discord server webhook URL.

Required if Discord notifications are enabled.

username: Optional[str] = None class-attribute instance-attribute #

The username to post as.

If unset, blank or set to None, use the default username set to the webhook URL.

avatar_url: Optional[AnyHttpUrl] = None class-attribute instance-attribute #

A URL to an custom avatar to use when posting.

If unset, blank or set to None, use the default avatar for the user.

enable_mentions: bool = True class-attribute instance-attribute #

Allow the user to mention when posting.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Email#

Send notification emails via an SMTP server.

In order for Jellyseerr to send emails to Jellyseerr users, an SMTP server needs to be configured here.

Note

If the jellyseerr.settings.general.application_url attribute is configured, Jellyseerr will explicitly set the origin server hostname when connecting to the SMTP host.

require_user_email: bool = False class-attribute instance-attribute #

Require Jellyseerr users to have an email address configured, so emails can be sent to it.

sender_name: Optional[str] = 'Jellyseerr' class-attribute instance-attribute #

Configure a friendly name for the email sender.

sender_address: Optional[EmailStr] = None class-attribute instance-attribute #

The From email address to send the email as.

If sending email to public mailboxes, this should be set to an email address owned/controlled by the server being used to send the mail.

Required if email notifications are enabled.

smtp_host: Optional[str] = None class-attribute instance-attribute #

The SMTP server to sent mail from.

Required if email notifications are enabled.

smtp_port: Port = 587 class-attribute instance-attribute #

The mail submission port of the SMTP server.

The default is the standard SMTP submission port, used for STARTTLS. If using implicit TLS (SMTPS), this should be set to the standard port of 465.

encryption_method: EncryptionMethod = EncryptionMethod.starttls_prefer class-attribute instance-attribute #

The encryption method to use to communicate with the SMTP server.

Values (in order of security):

  • smtps - Implicit TLS (SMTPS)
  • starttls-strict - Require STARTTLS
  • starttls-prefer - Use STARTTLS if available, unencrypted fallback (not recommended)
  • none - No encryption (not recommended)

Warning

The starttls-prefer and none encryption methods send (or can send) username and password credentials unencrypted over the network.

Do not use them unless you know what you are doing.

allow_selfsigned_certificates: bool = False class-attribute instance-attribute #

Allow self-signed certificates for the SMTP server host certificate.

Warning

Generally this option shouldn't be enabled, even on a private mail server, as any mail server can get free TLS certificates using services such as Let's Encrypt.

Never enable this option when using a public email service.

smtp_username: Optional[str] = None class-attribute instance-attribute #

SMTP server username, if required (which is usually the case).

smtp_password: Optional[SecretStr] = None class-attribute instance-attribute #

SMTP server user password, if required (which is usually the case).

pgp_private_key: Optional[SecretStr] = None class-attribute instance-attribute #

An optional PGP private key to use to sign (and if configured by users, encrypt) sent emails.

When configuring the PGP keys, be sure to keep the entire contents of the key intact. For example, private keys always begin with -----BEGIN PGP PRIVATE KEY BLOCK----- and end with -----END PGP PRIVATE KEY BLOCK-----.

pgp_password: Optional[SecretStr] = None class-attribute instance-attribute #

An optional password for unlocking the PGP private key.

Gotify#

Send Jellyseerrr notifications to a Gotify server.

server_url: Optional[AnyHttpUrl] = None class-attribute instance-attribute #

The URL that Jellyseerr will use to access the Gotify server.

Required if Gotify notifications are enabled.

access_token: Optional[SecretStr] = None class-attribute instance-attribute #

The generated application token for Jellyseerr in Gotify.

Required if Gotify notifications are enabled.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

LunaSea#

Send notifications to the LunaSea app.

webhook_url: Optional[AnyHttpUrl] = None class-attribute instance-attribute #

The device- or user based LunaSea webhook URL to send notifications to.

Required if LunaSea notifications are enabled.

profile_name: Optional[str] = None class-attribute instance-attribute #

The LunaSea profile to send notications to.

If set to null, uses the default profile.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Pushbullet#

Send notifications to one or more devices via Pushbullet.

access_token: Optional[SecretStr] = None class-attribute instance-attribute #

The generated application token for Jellyseerr in Pushbullet.

Required if Pushbullet notifications are enabled.

channel_tag: Optional[str] = None class-attribute instance-attribute #

Optional channel tag for pushing notifications to any devices subscribed to it.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Pushover#

Send notifications to one or more devices via Pushover.

api_key: Optional[PushoverApiKey] = None class-attribute instance-attribute #

API key registered for Jellyseerr in Pushover.

Required if Pushover notifications are enabled.

user_key: Optional[PushoverApiKey] = None class-attribute instance-attribute #

User key to authenticate with on Pushover.

Required if Pushover notifications are enabled.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Slack#

Send notifications to a Slack channel.

webhook_url: Optional[AnyHttpUrl] = None class-attribute instance-attribute #

Slack server webhook URL.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Telegram#

Send notifications to a group chat in Telegram.

If username is set, also allows Jellyseerr users to setup their own chats with the Jellyseerr Telegram bot to receive notifications.

access_token: Optional[SecretStr] = None class-attribute instance-attribute #

Access token provided for the Telegram bot by BotFather at the end of the creation process.

Required if Telegram notifications are enabled.

username: Optional[str] = None class-attribute instance-attribute #

The username of the Telegram bot.

If this value is configured, Jellyseerr users will be able to click a link to start a chat with your bot and configure their own personal notifications.

chat_id: Optional[str] = None class-attribute instance-attribute #

Chat ID of the group chat to send messages to.

Required if Telegram notifications are enabled.

send_silently: bool = False class-attribute instance-attribute #

When set to true, sends messages without notification sounds.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Webhook#

Send a custom JSON payload to any endpoint for specific notification events.

webhook_url: Optional[AnyHttpUrl] = None class-attribute instance-attribute #

The webhook URL to post notifications to.

The rendered payload template will be the body of the request.

authorization_header: Optional[SecretStr] = None class-attribute instance-attribute #

Thie value to be set in the Authorization HTTP header.

This is not always required by the webhook provider.

payload_template: NonEmptyStr = '<JSON template>' class-attribute instance-attribute #

The template for the JSON payload sent to the webhook URL.

For help on configuring this option, refer to this guide in the Overseerr documentation.

notification_types: Set[NotificationType] = set() class-attribute instance-attribute #

The notification types to send to the service.

By default no notifications are sent, even if enabled, so remember to set the types of events you'd like to get notified for.

Values:

  • media-pending
  • media-approved
  • media-available
  • media-failed
  • test-notification
  • media-declined
  • media-auto-approved
  • issue-created
  • issue-comment
  • issue-resolved
  • issue-reopened
  • media-auto-requested

Webpush (Browser Push Notifiations)#

To send push notifications to your browser, simply enable it in the Buildarr configuration.

Note

In order to receive web push notifications, Jellyseerr must be served over HTTPS.

jellyseerr:
  settings:
    notifications:
      webpush:
        enable: true