Skip to content

Slack

Slack notifications are delivered through an Incoming Webhook, which is a URL that Slack generates for a specific channel in your workspace. ChannelWatch uses Apprise to send messages, and it expects the three token segments from that webhook URL.

Slack’s Incoming Webhooks are managed through the Slack API app directory.

  1. Go to api.slack.com/apps and sign in to your workspace.
  2. Click Create New App, then choose From scratch.
  3. Give the app a name (e.g. ChannelWatch) and select your workspace.
  4. Click Create App.
  1. In the left sidebar of your app settings, click Incoming Webhooks.
  2. Toggle Activate Incoming Webhooks to On.
  3. Scroll down and click Add New Webhook to Workspace.
  4. Choose the channel where ChannelWatch should post alerts (e.g. #channelwatch or #home-alerts).
  5. Click Allow.

Slack generates a webhook URL in this format:

https://hooks.slack.com/services/<workspace-token>/<channel-token>/<webhook-token>

The three path segments after /services/ are your tokens.

ChannelWatch needs the three token segments joined with slashes, not the full webhook URL.

  1. Open the ChannelWatch web UI, go to Settings > Notifications, and stay on the Global scope.

  2. Enable the Slack toggle.

  3. In the Slack Webhook field, enter the three tokens from your webhook URL:

    <workspace-token>/<channel-token>/<webhook-token>

    Using the example URL above, you would enter exactly the part after /services/.

  4. Click Save.

ChannelWatch wraps your input with the slack:// prefix internally. You do not need to add it yourself.

ChannelWatch Slack notification provider with an enabled switch and masked URL field and format guidance
Slack webhook token segmentsUse the three segments after services in your Slack webhook URL. Sample credentials are masked. Captured from ChannelWatch v1.6.0 with safe demo data.View full-size screenshot

To configure Slack without the web UI, set this variable in your docker-compose.yml:

environment:
CW_APPRISE_SLACK: "<workspace-token>/<channel-token>/<webhook-token>"

Replace the token segments with your actual values from the webhook URL.

ChannelWatch v1.6.0 has a Diagnostics notification-test limitation. Use the supported command-line fallback below when testing this release. It sends a real message to configured destinations:

Terminal window
docker exec -it channelwatch python -m core.main --test-alert ALERT_CHANNEL_WATCHING

Check the Slack channel and Delivery Log. Provider acceptance is separate from whether a member received a device notification.

“Invalid token” or 403 error in logs

The token segments are wrong or in the wrong order. Copy the webhook URL from the Slack app settings page again and extract the three segments carefully. The URL format is always /services/T.../B.../X... and the tokens go in that order.

“Channel not found” or messages not appearing

The webhook is tied to a specific channel. If you archived or deleted that channel, the webhook stops working. Create a new webhook pointing to an active channel.

“No permission to post” error

The app may have been removed from the workspace or the webhook was revoked. Go to api.slack.com/apps, open your app, and check that the webhook is still listed under Incoming Webhooks. If it was deleted, click Add New Webhook to Workspace to generate a new one, then update ChannelWatch with the new tokens.

Messages arrive but formatting looks wrong

The notification’s text comes from ChannelWatch’s formatter or custom template. Slack and Apprise control the final rendering. Check the text itself before expecting Markdown, HTML, or line spacing to look the same as another provider.

Webhook was working, then stopped

A workspace administrator can remove the app or revoke its webhook. Slack also revokes exposed webhook secrets. Check the app status at api.slack.com/apps, generate a replacement if needed, and update ChannelWatch.

  • Provider Matrix - compare all notification providers at a glance
  • Telegram - send alerts to a Telegram chat via bot
  • Discord - webhook-based notifications for Discord servers
  • Delivery Log - view per-notification delivery history and retry status
  • Notification Examples - see what each alert type looks like when delivered