Smart, flexible, reliable

Multi-Channel Alerts that reach you where you work

Email, Slack, Discord, Webhooks, smart cooldowns, retries, and full audit history. Alerts that matter, without the noise.

  • Email, Slack, Discord, and Custom Webhooks
  • Smart anti-spam cooldown system
  • Retry with exponential backoff + audit logs

Built for makers, agencies, and SaaS teams

Why notification systems matter

Getting bombarded with notifications is as bad as missing critical alerts. You need fast signal with zero noise. Notifications should reach you where you work, not where they're convenient for the tool.

The Problem

Most monitoring tools either spam you with every minor event or force you to check a dashboard manually. You get duplicate alerts, notification fatigue, and missed incidents. When everything is urgent, nothing is.

You need flexibility: different channels for different teams, smart filtering, and guaranteed delivery. Not one-size-fits-all email blasts.

The Solution

PerkyDash sends alerts via Email, Slack, Discord, and Custom Webhooks. Each channel is configurable: set cooldowns, choose which events to receive, route to specific monitors, and validate with test messages.

Anti-spam cooldowns prevent duplicate alerts. Retry logic guarantees delivery. Audit logs show what was sent and why. You stay informed without the chaos.

Multi-channel notifications, one system

Four powerful channels working together

Email Notifications

Responsive HTML templates with severity colors, full incident details, and dashboard links.

Slack Integration

Real-time Block Kit messages with interactive buttons and structured fields.

Discord Integration

Rich embed messages with severity colors, structured fields, and direct dashboard links.

Custom Webhooks

Send incidents to any system: PagerDuty, Opsgenie, Zapier, n8n, or custom integrations.

Email Notifications

Responsive HTML emails that stand out

Modern HTML templates powered by Brevo for high deliverability. Color-coded by severity: red for DOWN, green for recovery, yellow for warnings. Each email includes monitor name, URL, type, response time, status code, and a clear CTA button linking to your incident dashboard.

Multi-recipient support means you can notify entire teams or stakeholders. Perfect for management visibility, backup alerting, and non-technical stakeholders who need status updates.

Example subject lines:

[PerkyDash] 🔴 api.yoursite.com is DOWN

[PerkyDash] ✅ api.yoursite.com is back UP

Use cases:

Management visibility, backup channel, stakeholder updates, audit trails

🔴 Monitor Down 2 min ago

Monitor: Production API

URL: api.yoursite.com

Type: HTTP

Status: 503 Service Unavailable

Error: Connection timeout after 30s

✅ Monitor Recovered Just now

Monitor: Production API

Downtime: 6 minutes

Status: 200 OK

Response Time: 142ms

PD

🔴 Monitor Down: Production API

Monitor: Production API

Type: HTTP

URL: api.yoursite.com

Severity: Critical

Started: 2 minutes ago

Error: Connection timeout after 30s

Channel targeting available

Send alerts to #incidents, #on-call, or any channel

Slack Integration

Real-time alerts where your team lives

Slack Block Kit formatting with severity color strips, structured fields, and interactive buttons. Target specific channels for different teams: send critical alerts to #on-call, degradation warnings to #engineering, and recovery notifications to #status.

Uses Slack's incoming webhook URL. Setup takes 2 minutes. Test validation ensures your configuration works before production alerts arrive.

Perfect for:

DevOps teams, SRE, on-call engineers, fast-moving startups

Instant incident response:

Get notified in seconds, not minutes. Act fast.

Discord Integration

Rich embeds for Discord-based teams

Discord Embed messages with severity colors, structured fields, timestamps, and direct dashboard links. Footer branding ensures clarity. Simple webhook configuration, no OAuth complexity.

Perfect for indie developers, gaming teams, open source maintainers, and communities running their operations on Discord. Get incident alerts without switching tools.

Use cases:

Indie devs, gaming teams, communities, open source projects

Simple setup:

Just add your Discord webhook URL and test

PerkyDash Bot • Just now

⚠️ Monitor Degraded: API Response Slow

Monitor: Production API
Type: HTTP
Response Time: 2.4s (threshold: 1s)
Severity: Warning
View Incident →

PerkyDash Monitoring

JSON Payload Example

{
  "event": "incident.created",
  "timestamp": "2025-12-11T14:32:00Z",
  "severity": "critical",
  "monitor": {
    "name": "Production API",
    "type": "http",
    "url": "api.yoursite.com"
  },
  "incident": {
    "status_code": 503,
    "error": "Connection timeout",
    "response_time": null
  },
  "probe": {
    "location": "US-East",
    "ip": "192.0.2.1"
  }
}

HMAC-SHA256 Signature Verification

Header: X-PerkyDash-Signature: sha256=...

Optional custom headers supported

Authorization, API-Key, or any custom header

Custom Webhooks

Connect to any system you use

Send incident events to PagerDuty, Opsgenie, Telegram bots, internal dashboards, n8n, Zapier, Make, or any HTTPS endpoint. Full incident context in every payload: event type, timestamp, severity, monitor data, probe details, and error messages.

HMAC-SHA256 signature verification ensures webhook authenticity. Custom headers support authorization tokens. Retry system with exponential backoff guarantees delivery even when your endpoint is temporarily unavailable.

Integrate with anything:

PagerDuty, Opsgenie, Telegram, Zapier, n8n, Make, custom dashboards

Secure by default:

HMAC-SHA256 signatures + custom auth headers

Guaranteed delivery:

3 retries with exponential backoff (1min → 5min → 15min)

Smart Cooldown System

Anti-spam that's actually smart

Cooldowns apply only to consecutive events of the SAME type. State changes always break through. This means you'll never miss a critical DOWN alert or recovery notification, even during cooldown periods.

Default cooldown is 5 minutes, configurable per channel. If a monitor flaps between UP and DOWN repeatedly, you get notified on each state change, but won't receive duplicate DOWN alerts within the cooldown window.

State changes always notify:

DOWN → UP, UP → DOWN, DEGRADED → DOWN always send alerts

Configurable per channel:

Set different cooldowns for email, Slack, Discord, webhooks

Cooldown Example Timeline (5min cooldown):

14:00

DOWN

Alert sent ✓

14:02

DOWN

Blocked (cooldown active)

14:03

UP

Alert sent ✓ (state change)

14:04

DOWN

Alert sent ✓ (state change)

Result: You get notified on every state change, but duplicate consecutive events are blocked. Signal without noise.

Retry Timeline Example:

Attempt 1 14:00:00

Failed: Connection timeout

Wait 1 minute
Attempt 2 14:01:00

Failed: 502 Bad Gateway

Wait 5 minutes
Attempt 3 14:06:00

Success: 200 OK

Result: Critical alert delivered despite temporary failures. Guaranteed reliability.

Retry with Exponential Backoff

Guaranteed delivery when it matters

If a notification fails (Slack is down, webhook endpoint unavailable, email server hiccup), PerkyDash automatically retries with exponential backoff: 1 minute → 5 minutes → 15 minutes.

Three attempts give your systems time to recover from temporary issues. All failures are logged in notification history with detailed error messages. You never lose critical alerts due to transient network problems.

3 delivery attempts:

Exponential backoff handles temporary outages

Full error logging:

Every failure tracked in notification history

Never miss critical alerts:

Resilient delivery despite transient issues

Granular routing and configuration

Each notification channel is independently configurable. Route specific events to specific channels. Control what gets sent and when.

Configuration Options per Channel

Recipients / Endpoints

Email addresses, Slack channel URL, Discord webhook, custom HTTPS endpoint

Event Filtering

Choose which events to receive: DOWN, UP, DEGRADED

Scope Control

Apply to all monitors OR target a single monitor for fine-grained routing

Cooldown Setting

Default 5 minutes, adjustable per channel (0-60 minutes)

Send Test Button

Validate configuration before production alerts arrive

Real-World Routing Examples

Example 1: DevOps Team

Send all critical DOWN alerts to Slack #on-call channel. Send recovery notifications to Slack #incidents. Email weekly summary to management. Webhook to PagerDuty for after-hours escalation.

Example 2: Agency

Email client on DOWN events only (no spam). Slack internal team on all events. Discord webhook to #client-status for transparency. Different channels per client project.

Example 3: Solo Maker

Email for all events (backup channel). Discord #monitoring-bot for real-time alerts (where you already are). Webhook to Telegram bot for mobile push notifications.

Example 4: SaaS Team

Slack #incidents for all monitors. Separate webhook to Opsgenie for critical production API only. Email to engineering leads for critical incidents.

Event types you can monitor

Choose which events trigger notifications for each channel

Monitor Events

Incident Created (DOWN)

Monitor becomes unavailable or fails health check

Incident Resolved (UP)

Monitor recovers and returns to healthy state

Severity Escalated

Incident severity increases (e.g., warning → critical)

Monitor Degraded

Performance below threshold but not fully down

Notification History & Audit Logs

Full visibility into every notification

Every notification attempt is logged with status, timestamp, delivery channel, recipient, event type, and error messages (if failed). Retention: 90 days (Agency), 30 days (Pro), 7 days (Trial).

Notification history is essential for debugging (why didn't I receive that alert?), compliance (prove notification was sent), and reliability analysis (how often do retries succeed?).

Status tracking:

Sent, Failed, Skipped (cooldown), Retrying

Debugging made easy:

Filter by channel, status, event type, date range

Compliance & reporting:

Prove notifications were sent for audits and SLAs

Notification History Example:

Sent 14:32:15

Slack: #on-call

Event: Incident Created (DOWN)

Monitor: Production API

Failed 14:32:16

Webhook: PagerDuty

Event: Incident Created (DOWN)

Error: Connection timeout after 30s

Will retry in 1 minute

Skipped 14:33:00

Email: team@yoursite.com

Event: Incident Created (DOWN)

Reason: Cooldown active (3 min remaining)

Sent 14:33:16

Webhook: PagerDuty

Event: Incident Created (DOWN)

Retry attempt 2 succeeded

Send Test Validation

Validate your setup before production

Every notification channel includes a "Send Test" button. Validate your configuration before real incidents arrive. No surprises.

Test Email delivery

Verify email addresses are correct and receiving alerts

Test Slack channels

Confirm webhook URL is valid and messages appear in the right channel

Test Discord webhooks

Validate embed formatting and webhook permissions

Test custom webhooks

Verify HTTPS endpoint accepts payloads and auth headers work

Why test messages matter:

  • Catch configuration errors before production incidents
  • Verify recipients actually receive notifications
  • Confirm message formatting looks correct
  • Test webhook authentication and authorization
  • Avoid "alert didn't send" surprises during real outages

Best Practice: Always send a test message after configuring a new notification channel. It takes 5 seconds and prevents missed alerts.

Notification features by plan

Flexible channels that scale with your needs

Feature Trial Pro Agency
Notification Channels 3 10 Unlimited
Email Notifications
Slack Integration
Discord Integration
Custom Webhooks
Anti-Spam Cooldowns
Retry with Exponential Backoff
Granular Event Routing
Send Test Validation
Notification History 7 days 30 days 90 days

Who benefits from multi-channel alerts?

Different builders, same need for reliable notifications

Makers / Indie Founders

You're building solo or with a tiny team. You need alerts where you already work, not another inbox to check.

How you use alerts:

  • • Discord for real-time notifications (where you're already chatting)
  • • Email as backup channel
  • • Webhook to Telegram for mobile push
  • • Cooldowns prevent notification overload

Why it matters:

Stay informed without context switching. Alerts that fit your workflow.

Web Agencies

You manage dozens of client sites. Different clients need different notification strategies.

How you use alerts:

  • • Slack for internal team (all incidents, one channel)
  • • Email to clients (DOWN events only, no spam)
  • • Discord for client transparency channels
  • • Per-project routing (client A gets email, client B gets webhook)

Why it matters:

Proactive client communication. Internal team coordination. Professional reputation.

Small SaaS Teams

You have users depending on your service. Fast incident response is critical. Different teams need different alerts.

How you use alerts:

  • • Slack #on-call for critical production alerts
  • • Webhook to PagerDuty for after-hours escalation
  • • Separate routing for prod vs staging monitors

Why it matters:

Fast incident response. On-call coverage. Uptime = revenue.

Frequently asked questions

Everything you need to know about alerts and notifications

When a monitor detects an incident (DOWN, UP, DEGRADED), PerkyDash generates notifications and sends them to your configured channels: Email, Slack, Discord, and Custom Webhooks. Each channel is independently configurable with event filtering, cooldown settings, and scope control. Notifications include full incident context and direct links to your dashboard.
Both Slack and Discord use webhook URLs. In Slack, create an incoming webhook in your workspace settings and paste the URL into PerkyDash. In Discord, create a webhook in your server channel settings and paste the URL. PerkyDash sends formatted messages (Block Kit for Slack, Embeds for Discord) with severity colors, structured fields, and action buttons. Setup takes 2 minutes and includes test validation.
The cooldown system prevents notification spam by blocking consecutive duplicate events within a configurable time window (default 5 minutes). Importantly, state changes always break through cooldown. If a monitor goes DOWN → UP → DOWN, you'll receive all three notifications regardless of timing. Cooldowns only apply to repeated events of the SAME type (e.g., multiple DOWN notifications in a row). This gives you signal without noise.
If a notification fails to send (Slack is down, webhook endpoint unavailable, email server issue), PerkyDash automatically retries up to 3 times with exponential backoff: 1 minute → 5 minutes → 15 minutes. This gives your systems time to recover from temporary outages. All failures and retries are logged in notification history with detailed error messages. You never lose critical alerts due to transient network problems.
Custom webhooks let you send incident events to any HTTPS endpoint: PagerDuty, Opsgenie, Telegram bots, internal dashboards, n8n, Zapier, Make, or your own custom systems. You get full incident context in JSON format, optional custom headers for authentication, and HMAC-SHA256 signature verification for security. Perfect for building custom alerting workflows or integrating with systems PerkyDash doesn't directly support.
Every notification attempt is logged with status (Sent, Failed, Skipped), timestamp, channel, recipient, event type, monitor name, and error messages (if any). Retention is 7 days (Trial), 30 days (Pro), or 90 days (Agency). You can filter by status, channel, event type, and date range. This is essential for debugging (why didn't I get that alert?), compliance (prove we notified stakeholders), and reliability analysis (how often do retries succeed?).
Trial supports Email notifications with 3 channels and 7-day history. Pro adds Slack, Discord, and Custom Webhooks with 10 channels and 30-day history. Agency includes everything with unlimited channels and 90-day history. All plans include anti-spam cooldowns, retry with exponential backoff, granular event routing, and test validation. Email is available on all plans. Advanced integrations (Slack, Discord, Webhooks) require Pro or Agency.

Alerts that keep you informed, not overwhelmed

Stay in control with smart, flexible, multi-channel notifications. Signal without noise. Reliability without complexity.

Free account. No credit card. Setup takes less than 5 minutes.