Skip to content

Alert channels

An alert channel is a destination — an email address, a Slack webhook, a PagerDuty integration key. Channels hold delivery configuration only; alert rules decide which monitors fire into which channels and when.

Create channels in the WebUI at Alerts → Channels → New channel. Every channel has a friendly name (shown in alert history), an enabled toggle (pause delivery without deleting the channel), and a Send test button that fires a one-off notification — use it before binding the channel to a real rule.

Availability by plan

ChannelFreeStarterProBusiness
Email
Webhook
Slack
Discord
Telegram
Pushover
Zapier
PagerDuty
Microsoft Teams
Google Chat
SMS (Twilio)
Splunk On-Call
Mattermost
NtfyComing soon
OpsGenieComing soon

The WebUI hides channel types your plan doesn’t include. Channel count is also capped per plan (5 / 10 / 20 / 50) — see Limits & quotas.

Email

Available on all plans.

FieldRequiredDefaultNotes
recipientsyesOne or more email addresses. Each recipient gets their own copy with a personal unsubscribe link.
subject_prefixno[PathWatch]Prepended to every subject line (max 50 characters).

Alert emails include the monitor, check status, duration, error message, region, and trigger time. Every email carries standards- compliant unsubscribe links — a recipient can opt out of one channel or all PathWatch alert email, and subsequent alerts skip them automatically. Test notifications always deliver so you can verify the configuration.

Webhook

Available on all plans. Sends the alert as JSON to any URL — the escape hatch for custom routing, n8n, or your own ingest.

FieldRequiredDefaultNotes
urlyesDestination URL.
methodnoPOSTPOST or PUT.
headersnoExtra headers sent with every request (string map).
secretnoIf set, each request is signed with HMAC-SHA256 and the signature sent as X-PathWatch-Signature: sha256=<hex>.
timeout_secondsno105–30. Requests past the timeout count as failed deliveries.

Requests are sent with Content-Type: application/json and a User-Agent: PathWatch/1.0 header. For the exact body shape and signature-verification examples, see the webhook payload reference.

Slack

Available on all plans. Uses a Slack incoming webhook.

FieldRequiredDefaultNotes
webhook_urlyesSlack incoming-webhook URL.
channelnoOverride the webhook’s default channel.
usernamenoPathWatchDisplay name for the posting bot.
icon_emojino:robot_face:Emoji shown as the bot avatar.

Discord

Available on all plans.

FieldRequiredDefaultNotes
webhook_urlyesDiscord channel webhook URL.
usernamenoPathWatchDisplay name for the posting bot.

Telegram

Available on all plans. Create a bot with @BotFather, add it to your chat or group, and use its token here.

FieldRequiredDefaultNotes
bot_tokenyesTelegram bot token.
chat_idyesTarget chat or group id.
parse_modenoHTMLHTML or MarkdownV2 message formatting.
disable_notificationnofalsetrue delivers silently (no sound on the recipient’s device).

Pushover

Available on all plans. Mobile push via the Pushover app.

FieldRequiredDefaultNotes
api_tokenyesPushover application token.
user_keyyesYour Pushover user (or group) key.
devicenoDeliver to a single named device instead of all.
priorityno0−2 (silent) to 2 (emergency, requires acknowledgement in Pushover).
soundnopushoverNotification sound name.

Zapier

Available on all plans. Convenience preset for a Zapier “Catch Hook” trigger — pipe alerts into thousands of downstream apps.

FieldRequiredDefaultNotes
webhook_urlyesThe Zapier webhook URL from your Zap’s trigger step.

PagerDuty

Pro and above. Creates incidents via the PagerDuty Events API v2 — and resolves them automatically when the monitor recovers.

FieldRequiredDefaultNotes
routing_keyyesIntegration key from a PagerDuty Events API v2 integration.
severitynoerrorcritical, error, warning, or info.

Microsoft Teams

Pro and above.

FieldRequiredDefaultNotes
webhook_urlyesTeams incoming-webhook connector URL.

Google Chat

Pro and above.

FieldRequiredDefaultNotes
webhook_urlyesGoogle Chat space webhook URL.

SMS (Twilio)

Pro and above. SMS is bring-your-own-Twilio: messages are sent through your Twilio account using your credentials, so message costs are billed by Twilio to you, at your Twilio rates.

FieldRequiredDefaultNotes
account_sidyesTwilio Account SID.
auth_tokenyesTwilio Auth Token.
from_numberyesTwilio phone number to send from, in E.164 format (e.g. +14155550100).
to_numberyesRecipient phone number, E.164 format.

One recipient per channel — create multiple SMS channels to page multiple phones.

Splunk On-Call

Business plan. Routes alerts into Splunk On-Call (formerly VictorOps) for on-call escalation.

FieldRequiredDefaultNotes
api_keyyesREST API key from Splunk On-Call integration settings.
routing_keyyesDetermines which Splunk On-Call escalation policy receives the alert.
message_typenoCRITICALCRITICAL, WARNING, or INFO.

Mattermost

Business plan.

FieldRequiredDefaultNotes
webhook_urlyesMattermost incoming-webhook URL.
channelnoOverride the webhook’s default channel.
usernamenoPathWatchDisplay name for the posting bot.
icon_urlnoURL of an avatar image for the posting bot.

Coming soon

Ntfy (push via ntfy.sh or a self-hosted ntfy server) and OpsGenie (on-call routing) are planned but not yet available — they can’t be configured today.

Binding channels to monitors

Channels don’t decide which monitors they fire for. Bind them via Alerts → Rules: each alert rule specifies a scope, a condition, and a list of channels — each binding with an optional delay that turns the list into an escalation chain.

Tips

  • Use one channel per logical destination — “Ops Slack #alerts”, not one “Slack” channel with logic bolted on. Slack-side routing belongs in Slack, not in PathWatch.
  • For PagerDuty, create one service in PagerDuty per severity level so on-call schedules stay clean.
  • Webhook is the escape hatch — anything that needs custom routing, custom payloads, or de-duplication should go through your own ingest rather than stretching the built-in channel types.