AlphornAlphornBeta

Integrations

All supported notification channels

From Slack to PagerDuty — Alphorn delivers notifications wherever your team already works. One webhook in, every channel out: chat, email, push, SMS, and incident management.

One webhook in, every destination out

Alphorn turns a single HTTP endpoint into a fan-out layer for every notification your product, monitoring stack, or internal tools need to deliver. Send one JSON payload, get it on a team chat room, in an inbox, as a phone push, or paging on-call — whichever combination fits the event. Routing rules, retries, and rate-limit handling are applied identically across every destination, so swapping a channel is a dashboard change, not a code change.

Five categories, one delivery model

Team messaging platforms are where most operational alerts already live — Slack, Discord, Microsoft Teams, Telegram, Google Chat, Matrix, Mattermost, Zulip, and Rocket.Chat all share the same Alphorn delivery semantics. Email destinations include generic SMTP plus first-class support for SendGrid and Mailgun, with full MIME, HTML, and attachment handling. For mobile and desktop push you can use ntfy, Pushover, or Gotify — all self-hostable, all supported as peers. SMS is available via Twilio or Vonage, and dedicated incident providers include PagerDuty and Opsgenie.

Need a destination we don't list?

Use the generic webhook channel to forward the notification payload to any HTTP endpoint — internal services, legacy systems, or niche SaaS tools. For in-app notification feeds, the built-in Server-Sent Events (SSE) stream lets your frontend subscribe directly without running a separate message broker. And because Alphorn is open source (AGPL-3.0-or-later), you can contribute new channels upstream or keep a private fork with custom delivery logic.

Built-in reliability, not bolted on

Every channel inherits the same persistent queue, exponential backoff, delivery logs, and failure-notification system. If a provider is down, Alphorn retries on its own schedule and surfaces the failure in the dashboard — so you don't discover a silent outage two days later when someone asks why they never got paged.