Notifications

One confirmed incident, one message per channel, sent where you'll actually see it, not buried in a sixth tab.

A confirmed incident becomes one notification per channel: deduplicated, optionally rate-limited or batched, and silenced during the quiet hours you set. Send it to email, Slack, Discord or a webhook on every plan, plus Teams, PagerDuty and Telegram from Starter. Emails go out in German or English under your brand; resellers can send them from their own domain.

ALERT / SAMPLE OUTPUT

incident.created mon_8f2 → slack#alerts ✓ (dedup 1×) · pagerduty dedup_key=hoppla-inc_41c · quiet-hours 22:00–07:00, min_severity=critical → sent

Fictional values. Not a live measurement.

01 / What it does

One incident, delivered once, where you read it

When an incident is confirmed (uptime failures are re-tested from a second region first), Hoppla sends it to every channel whose rules match (Slack, Discord, Teams, PagerDuty, Telegram, email, or a webhook) and dedupes per channel, so the same incident is not sent to the same room twice within the dedup window, four hours by default. An optional rate limit and timezone-aware quiet hours hold the noise back, and a minimum severity you set lets serious incidents through quiet hours. Chat, PagerDuty and email messages carry your alert prefix.

What’s included

  • Seven channels: Email, Slack, Discord, Microsoft Teams, PagerDuty, Telegram, generic Webhooks
  • PagerDuty via Events API v2 with stable dedup keys (auto-resolve on incident.resolved)
  • Webhooks POST JSON, signed with HMAC-SHA256 in an X-Webhook-Signature header when you set a secret
  • Per-channel deduplication keyed on incident, or event_type + monitor_id for warnings
  • Optional per-channel rate limit (sliding 60 s window) and digest batching windows of up to 30 minutes
  • Timezone-aware quiet hours per channel, with an optional severity threshold (API) that lets incidents through
  • Bilingual de/en email templates; white-label branding and custom SMTP (ports 25/465/587/2525) on reseller plans
02 / How it works

Under the hood.

01

Resolve the recipients

A confirmed event (incident.created, an SSL or domain expiry warning, degraded performance, a changed DNS record, a renewed cert) picks up every channel whose rule matches that event type, monitor and severity. Each channel keeps its own rules. So the same incident can page on-call through PagerDuty and drop a one-liner into Slack at the same moment, without you wiring it twice.

02

Dedup, batch, and rate-limit per channel

Hoppla keys dedup on the incident itself, and on event_type plus monitor_id for advisory warnings. A check that changes state three times in ten minutes is marked flapping and sends one flapping notice instead of an alert per change. An optional per-channel rate limit (sliding 60-second window) holds back bursts, and a digest window of up to 30 minutes rolls follow-up events into one message instead of twenty.

03

Honor quiet hours, break through above a threshold

Each channel can set its own timezone-aware quiet hours and days. Inside that window, notifications to that channel are suppressed, not queued for the morning; they still show up in the in-app inbox. Set a minimum severity (minor, major or critical, currently via the API) and incidents at or above it go out anyway. Warnings stay silent in that window.

04

Render branded, signed, bilingual

Email goes via Hoppla's mailer or, for resellers, your own SMTP on port 25, 465, 587, or 2525, from your domain. PagerDuty uses Events API v2 with stable dedup keys; webhooks POST JSON, signed with HMAC-SHA256 in an X-Webhook-Signature header once you set a secret. Email templates render in de or en, with your prefix, logo, and footer.

03 / Why it matters

The part that actually moves the needle.

017 channels

Reach people where they are

On-call lives in PagerDuty. The team lives in Slack or Teams. Your internal tooling sits behind a webhook. Hoppla hands the same incident to all of them at once, so nobody first hears about the outage an hour late, in a customer email.

021× per incident

Alert fatigue, cut at the source

Per-channel dedup and flapping detection turn an unstable endpoint into one flapping notice, not an alert for every state change. People keep reading a channel that rarely cries wolf, and the alert that matters isn't buried under fifty that don't.

03Quiet hours

Sleep, unless it's real

Timezone-aware quiet hours keep the advisory stuff (a cert expiring in three weeks, a page that got slow) off the channel overnight; it's still in your in-app inbox in the morning. Incidents at or above the severity you choose still break through.

04 / For every team

Whoever you are, this lands differently.

Solo SaaS founder

You point everything at one Telegram chat and one inbox. Nothing else to wire up. With quiet hours set, the advisory stuff (a cert renewing, a page that got slow) stays off your phone overnight and waits in the in-app inbox. Give the channel a minimum severity and a real outage still gets through; if the app starts flapping, you get one flapping notice instead of eleven alerts.

Small agency

You run 5 to 30 client sites and you don't want one firehose for the lot. Route each client to its own Slack channel or its own webhook, so the bakery's downtime lands in #bakery and the law firm's in #lawfirm. Emails carry your agency's name, logo and alert prefix, so when a client forwards the alert, your agency's name is the one on it.

Large agency

On-call runs through PagerDuty with stable dedup keys, so one incident is one PagerDuty alert that auto-resolves on incident.resolved. Nobody closes it by hand. Lower-priority events batch into digest windows and post to Slack, while a signed webhook fans the same events into your ticketing and reporting. Account managers get the rollup; the on-call engineer gets the page. Different audiences, same incident, one timeline.

Reseller / hosting provider

Your customers see your brand, not ours. Alerts go out under your brand prefix, your logo, your footer, sent from your own SMTP on your own domain. A customer who gets a downtime email sees your company in the From line and the header. Dedup, quiet hours, and all seven channels run underneath. The branding is yours.

Switching tools

Monitoring somewhere else? Bring your setup with you.

Import the monitors you already run in another tool. What comes across depends on the provider. Run both side by side for 24 hours or 7 days before you switch.

  • Guided import
  • Shadow run before you switch
  • Coverage varies by provider
Import from
  • Oh Dear
  • Uptime Robot
  • Better Stack
  • Pingdom
  • StatusCakeBeta
  • CronitorBeta
  • Healthchecks.ioBeta
  • Statuspage

The importer opens in your workspace once you have access.

Get early access
FOR HOSTERS & RESELLERS

Alerts sent from your own domain with your brand prefix, so your customers see your brand, not ours.

See the reseller program
05 / FAQ

Straight answers.

Why no SMS?

We don't do SMS. It's expensive, easy to miss, and a poor fit for the channels engineers actually act in. For paging, PagerDuty (Events API v2 with dedup keys, from Starter) drives your phone properly. For everything else, Slack, Teams, Discord, Telegram, email, and signed webhooks cover where the work happens.

How is this different from bolting an alerting tool onto my monitor?

A bolt-on alerter usually only knows a check fired. It can't easily dedup across one incident, batch low-priority events, or let a serious alert through quiet hours, because it doesn't own the incident model. Hoppla's notifications are part of the same monitor that confirmed the incident, so dedup keys, quiet hours, and event types all wire to one timeline and one bill.

Will a flapping check spam my channels?

It shouldn't. Dedup is keyed on the incident itself (and on event_type plus monitor_id for advisory warnings). On top of that, a check that changes state three times within ten minutes is marked as flapping: each channel gets one flapping notice, and per-change alerts pause until the check has been stable for five minutes.

Can alerts go out from my own domain under my own brand?

Your own domain, yes, on reseller plans: set custom SMTP (ports 25/465/587/2525) and alerts leave from your domain with your alert prefix, logo and footer, and your brand in the From line. On the direct plans you can still set your brand name, alert prefix, logo and footer, but mail goes out from Hoppla's sending address with your name as the sender.

Your next step

Get the alert once, on the channel you actually read.

Checks, alerts and status pages in one workspace. Now in early access: join the list for an invite.