Skip to main content

Overview

StatusStack’s notification system alerts you when service status changes through multiple channels: Slack, Discord, Microsoft Teams, Email, SMS, and custom webhooks.

Notification Channels

Slack

Post alerts to Slack channels with rich formatting and threading

Discord

Send notifications to Discord servers with embeds and mentions

Microsoft Teams

Deliver adaptive cards to Teams channels

Email

Send HTML emails to individuals or distribution lists

SMS

Text message alerts via Twilio for critical issues

Webhooks

Custom integrations with any service supporting webhooks

Creating Your First Notification Rule

1

Navigate to Notifications

Go to SettingsNotifications in the dashboard
2

Click Create Rule

Click “Create Notification Rule” button
3

Name Your Rule

Give it a descriptive name:
"Production Critical Alerts"
"Degraded Service Warnings"
"Client: Acme Corp Notifications"
4

Configure Triggers

Select when to send notifications:
Alert on status transitions:
  • ☑️ Component becomes Critical
  • ☑️ Component becomes Degraded
  • ☑️ Component recovers (returns to Operational)
  • ☐ Component enters Maintenance
5

Select What to Monitor

Choose which resources trigger this rule:
Monitor:
  - All Stacks (or specific Stacks)
  - All Components (or specific Components)
  - All Monitors (or specific Monitors)
Tip: Start broad, refine later to reduce noise
6

Choose Notification Channels

Select where to send alerts:
  • Slack → #production-alerts channel
  • Emailops@company.com
  • PagerDuty → On-call team (for Critical only)
7

Set Alert Level Filter (Optional)

Only alert for certain severity levels:
Alert Levels:
  ☑️ Critical (outages)
  ☑️ Degraded (performance issues)
  ☐ Info (informational updates)
8

Save and Activate

Click “Create Rule” to activate notifications

Channel Setup Guides

Slack Integration

1

Create Slack Webhook

In Slack:
  1. Go to your workspace settings
  2. Navigate to AppsIncoming Webhooks
  3. Click “Add to Slack”
  4. Select the channel (e.g., #alerts)
  5. Copy the webhook URL
2

Add to StatusStack

In StatusStack notification rule:
  1. Select Slack as channel
  2. Paste webhook URL
  3. Customize display name (optional)
3

Test Integration

Click “Send Test Notification” to verify
Example Slack Message:
🔴 Production API is DOWN

Stack: Production Infrastructure
Component: Production API
Status: Critical → Degraded → Critical
Duration: 5 minutes

View Details: https://statusstack.com/stacks/prod
Advanced Options:
  • Thread alerts - Group related alerts in threads
  • Mentions - @channel or @here for critical alerts
  • Custom username - Set display name for bot
  • Custom emoji - Use custom status emojis

Discord Integration

1

Create Discord Webhook

In Discord:
  1. Open server settings
  2. Go to IntegrationsWebhooks
  3. Click “New Webhook”
  4. Name it “StatusStack”
  5. Select channel
  6. Copy webhook URL
2

Add to StatusStack

In notification rule:
  1. Select Discord as channel
  2. Paste webhook URL
  3. Configure embed color preferences
3

Test

Send a test notification
Example Discord Embed:
━━━━━━━━━━━━━━━━━━━━
🔴  CRITICAL ALERT
━━━━━━━━━━━━━━━━━━━━

Production API is experiencing an outage

Stack: Production Infrastructure
Status: Critical
Started: 5 minutes ago

[View Details →]
Features:
  • Rich embeds with color coding
  • Role mentions (@everyone, @here)
  • Inline fields for structured data
  • Clickable links to status pages

Microsoft Teams Integration

1

Create Incoming Webhook

In Microsoft Teams:
  1. Open the channel where you want notifications
  2. Click Connectors
  3. Search for “Incoming Webhook”
  4. Click Configure
  5. Name it “StatusStack Alerts”
  6. Upload StatusStack logo (optional)
  7. Copy webhook URL
2

Configure in StatusStack

  1. Select Microsoft Teams channel
  2. Paste webhook URL
  3. Choose card style
3

Test Integration

Send test notification
Example Teams Card:
╔═══════════════════════════════╗
║  🔴  PRODUCTION ALERT         ║
╠═══════════════════════════════╣
║                               ║
║  Production API - Critical    ║
║                               ║
║  Stack: Production            ║
║  Duration: 5 minutes          ║
║  Impact: High                 ║
║                               ║
║  [View Status] [Acknowledge]  ║
╚═══════════════════════════════╝
Features:
  • Adaptive Cards with actions
  • Color-coded by severity
  • Inline buttons
  • Formatted text with markdown

Email Notifications

1

Add Email Addresses

In notification rule:
  1. Select Email channel
  2. Enter recipient email addresses (comma-separated)
  3. Set email subject template (optional)
2

Customize Template (Optional)

Customize email content:
  • Subject line format
  • Include/exclude components
  • Branding (logo, colors)
3

Test Email

Send test to verify delivery
Email Recipients:
Single: ops@company.com
Multiple: ops@company.com, dev@company.com, alerts@company.com
Distribution List: team-alerts@company.com
Example Email:
Subject: [CRITICAL] Production API is DOWN

StatusStack Alert
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

🔴 Production API has changed status to CRITICAL

Stack: Production Infrastructure
Previous Status: Operational
Current Status: Critical
Duration: 5 minutes
Detected: January 19, 2025 at 10:30 AM UTC

Impact:
- API requests failing
- User-facing services affected
- Payment processing impacted

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

View full details:
https://statusstack.com/stacks/production

View incident updates:
https://statusstack.com/incidents/12345

SMS Alerts (Twilio)

1

Configure Twilio

In StatusStack settings:
  1. Go to SettingsIntegrationsTwilio
  2. Enter Account SID
  3. Enter Auth Token
  4. Enter Twilio phone number
  5. Save configuration
2

Add SMS to Rule

In notification rule:
  1. Select SMS channel
  2. Enter phone numbers (with country code)
  3. Set character limit (160 recommended)
3

Test SMS

Send test message
Phone Number Format:
US: +1-555-123-4567
UK: +44-20-1234-5678
International: +[country-code]-[number]
Example SMS:
StatusStack Alert:
Production API is DOWN
Status: Critical
View: https://stst.co/p/abc123
SMS is charged per message by Twilio. Use SMS only for critical alerts to control costs.Recommended: Critical alerts only, not for degraded or info.

Webhook Integration

1

Create Webhook Endpoint

Set up an endpoint to receive webhooks:
POST https://your-service.com/webhooks/statusstack

Headers:
  Content-Type: application/json
  X-StatusStack-Signature: sha256_signature
2

Configure in StatusStack

  1. Select Webhook channel
  2. Enter your webhook URL
  3. Add custom headers (optional)
  4. Select HTTP method (POST default)
3

Verify Signature

Validate webhook authenticity:
const crypto = require('crypto');

function verifyWebhook(payload, signature, secret) {
  const hmac = crypto.createHmac('sha256', secret);
  const digest = hmac.update(payload).digest('hex');
  return digest === signature;
}
Webhook Payload:
{
  "event": "component.status_changed",
  "timestamp": "2025-01-19T10:30:00Z",
  "stack": {
    "id": "stack_abc123",
    "name": "Production Infrastructure",
    "slug": "production"
  },
  "component": {
    "id": "comp_xyz789",
    "name": "Production API",
    "previous_status": "operational",
    "current_status": "critical"
  },
  "incident": {
    "id": "inc_123",
    "created_at": "2025-01-19T10:30:00Z",
    "resolved_at": null
  }
}
Common Webhook Integrations:
  • PagerDuty
  • Datadog
  • New Relic
  • Custom monitoring dashboards
  • Incident management systems

Notification Rules Best Practices

Don’t over-configure initiallyWeek 1: Single rule for critical alerts
Rule: "Critical Production Alerts"
Triggers: Component becomes Critical
Stacks: Production only
Channels: Slack #alerts
Week 2: Add degraded warnings
Rule: "Degraded Service Warnings"
Triggers: Component becomes Degraded
Stacks: Production only
Channels: Slack #warnings
Week 3: Separate channels by service type
Rule: "Payment Processing Alerts"
Components: Stripe, Payment API
Channels: Slack #payments-alerts, PagerDuty
Match severity to response urgency
LevelDefinitionResponseChannels
CriticalService down, users impactedImmediateSlack, Email, SMS, PagerDuty
DegradedPerformance issues, some users affectedWithin 30 minutesSlack, Email
InfoStatus changes, maintenanceAwareness onlyEmail, Dashboard
Example rule structure:
Critical Alerts:
  Channels: Slack, Email, PagerDuty, SMS
  Stack: Production only
  Triggers: Critical status

Degraded Warnings:
  Channels: Slack, Email
  Stacks: Production, Staging
  Triggers: Degraded status

Info Updates:
  Channels: Email (digest)
  Stacks: All
  Triggers: All status changes
Avoid alert overloadBad: Alert on everything
❌ All status changes
❌ Every component in every Stack
❌ Info + Degraded + Critical
❌ 10+ channels per rule
Good: Targeted, actionable alerts
✅ Critical production components only
✅ Specific Stacks (Production)
✅ Critical and Degraded only
✅ 2-3 channels maximum
Techniques:
  • Rate limiting - Max 1 alert per 15 minutes per component
  • Deduplication - Group related alerts
  • Smart grouping - “3 components down” instead of 3 separate alerts
  • Escalation - Start with Slack, escalate to SMS if unacknowledged
Different urgency levels
Production Alerts:
  Stacks: Production Infrastructure
  Channels: Slack #prod-alerts, PagerDuty, SMS
  Triggers: Critical, Degraded
  Priority: High

Staging Alerts:
  Stacks: Staging Environment
  Channels: Slack #staging-alerts
  Triggers: Critical only
  Priority: Medium

Development Alerts:
  Stacks: Development
  Channels: Email digest
  Triggers: Critical only
  Priority: Low
Verify before you need themMonthly testing:
  1. Send test notifications to all channels
  2. Verify delivery times
  3. Check formatting and content
  4. Ensure contact info is current
  5. Update on-call rotations
Use test button:
  • Every notification rule has a “Test” button
  • Sends a sample alert to all configured channels
  • Verifies connectivity without triggering actual alerts

Advanced Notification Features

Notification Schedules

Send alerts only during specific times:
Notification Schedule:
  Active Hours: 9 AM - 5 PM EST (business hours)
  Active Days: Monday - Friday
  Holidays: Pause on US Federal Holidays
  Override: Allow Critical alerts 24/7
Use cases:
  • Reduce after-hours noise for non-critical alerts
  • Respect team working hours
  • Pause during holidays

Alert Escalation

Escalate to more urgent channels if unacknowledged:
Escalation Policy:
  Step 1: Slack #alerts (immediate)
  Step 2: Email on-call team (after 5 minutes)
  Step 3: SMS on-call engineer (after 15 minutes)
  Step 4: Call backup engineer (after 30 minutes)
Enterprise feature: Requires acknowledgment tracking

Alert Grouping

Group related alerts to reduce spam:
Grouping Strategy:
  Group By: Stack
  Time Window: 5 minutes
  Result: "3 components in Production Stack are down"
  Instead of: 3 separate alert messages

Custom Alert Templates

Customize notification content (Enterprise):
{{status_emoji}} **{{component.name}}** is {{status}}

Stack: {{stack.name}}
Previous: {{previous_status}}
Current: {{current_status}}
Duration: {{duration}}

{{#if incident}}
Incident: {{incident.title}}
Updates: {{incident.updates_count}}
{{/if}}

View: {{stack.url}}

Notification Limits by Plan

PlanMax RulesChannels per RuleSMS Alerts
Free32Not available
Pro25Unlimited100/month
EnterpriseUnlimitedUnlimitedCustom

Troubleshooting

Not Receiving Notifications

Check:
  1. ✅ Notification rule is active (not paused)
  2. ✅ Triggers are configured correctly
  3. ✅ Stack/Component is included in rule
  4. ✅ Alert level matches (Critical vs Degraded)
  5. ✅ Notification channels are working
Solutions:
  • Send test notification
  • Check channel configuration
  • Verify webhook URLs are accessible
  • Check spam folder for emails
  • Verify phone numbers for SMS

Receiving Too Many Alerts

Solutions:
  1. Increase failure thresholds on monitors
  2. Add rate limiting to notification rules
  3. Use alert grouping
  4. Filter by alert level (Critical only)
  5. Separate production from non-production

Delayed Notifications

Possible causes:
  1. Email server delays
  2. Slack/Discord rate limiting
  3. Webhook endpoint slow
  4. StatusStack processing queue backlog
Solutions:
  • Check channel-specific delivery times
  • Reduce number of channels
  • Optimize webhook endpoints
  • Contact support if persistent

Duplicate Notifications

Causes:
  • Multiple rules matching same event
  • Component in multiple Stacks with separate rules
Solutions:
  • Review rule conditions
  • Use more specific Stack/Component filters
  • Enable deduplication (Enterprise)

Next Steps

Slack Integration

Detailed Slack setup and customization

Discord Integration

Configure Discord webhooks and embeds

Webhook Integration

Custom webhook integration guide

Notification Concepts

Deep dive into notification architecture