Skip to content

Custom (Apprise)

ChannelWatch routes notifications through Apprise, a library that supports over 100 notification services. The built-in provider slots (Discord, Telegram, Slack, etc.) cover the most common ones. The Custom field lets you use any other Apprise-supported service by entering its URL directly.

Every Apprise-supported service has a URL scheme that encodes all the credentials and settings needed to send a notification. The Custom field accepts any valid Apprise URL and passes it straight to the Apprise library without modification.

The general pattern is:

scheme://[user:password@]host[:port]/[path][?param=value]

For example:

# ntfy.sh topic
ntfy://your-topic
# Pushbullet
pbul://access_token
# Home Assistant
hassio://[email protected]/8123

The full list of supported services and their URL formats is in the Apprise wiki.

  1. Open the ChannelWatch web UI at http://your-server-ip:8501
  2. Go to Settings > Notifications > Custom (Apprise)
  3. Look up your service in the Apprise wiki and copy the URL format for it
  4. Fill in your credentials and paste the complete URL into the Custom Apprise URL field
  5. Click Save
  6. Go to Diagnostics > Alert Tests and send a test notification to confirm delivery

Add a custom provider via environment variable

Section titled “Add a custom provider via environment variable”

For headless or automated deployments, set CW_APPRISE_CUSTOM in your compose file with the full Apprise URL:

environment:
CW_APPRISE_CUSTOM: "ntfy://your-topic"

Unlike the dedicated provider slots, the Custom field does not prepend a scheme. The value you provide must be a complete, valid Apprise URL including the scheme.

The Apprise wiki has a page for each supported service. Each page shows:

  • The URL syntax with all required and optional parameters
  • A parameter breakdown table
  • Working examples you can adapt

Search the wiki for your service name. If it’s not listed, it’s not supported by the bundled Apprise version.

  1. Double-check the URL format against the Apprise wiki page for your service. A single wrong character in the URL causes silent failure.
  2. Test the URL directly from the container:
Terminal window
docker exec channelwatch python -c "
import apprise
a = apprise.Apprise()
a.add('your-apprise-url-here')
print(a.notify(title='Test', body='ChannelWatch test'))
"

A result of True means Apprise accepted the URL and attempted delivery. Check your notification service for the message.

  1. If the result is False, the URL is malformed or the credentials are wrong. Re-read the Apprise wiki page for your service and verify each parameter.

If Apprise returns an error about an unknown scheme, the service is not supported by the bundled Apprise version. Check the Apprise wiki to confirm the service is listed.

  • Delivery Log - review sent notification history
  • Matrix - dedicated Matrix provider with room join guidance