Slack Notifications #

Complete guide to configuring Slack integration for server status alerts.

Overview #

Slack integration enables real-time alerts to be sent directly to your Slack workspace when servers change status. This provides immediate visibility for your team without requiring constant dashboard monitoring.

Features #

  • Incoming Webhooks - Simple setup using Slack's webhook system
  • Rich Formatting - Alerts include server details and status badges
  • Organization-Level - Each organization can have its own Slack workspace
  • Independent Scheduling - Configure when Slack notifications are sent
  • Action Buttons - Quick links to view server details

Requirements #

  • Active paid subscription (Basic, Pro, or Enterprise)
  • Slack workspace admin access (to create webhooks)

Setup Guide #

Step 1: Create Slack Webhook #

  1. Go to Slack API Apps
  2. Click Create New AppFrom scratch
  3. Enter app name (e.g., "Pulsey Alerts") and select workspace
  4. Click Create App

Step 2: Enable Incoming Webhooks #

  1. In your app settings, go to Incoming Webhooks
  2. Toggle Activate Incoming Webhooks to On
  3. Click Add New Webhook to Workspace
  4. Select the channel for alerts (e.g., #alerts)
  5. Click Allow
  6. Copy the Webhook URL

Step 3: Configure in Server Monitor #

  1. Navigate to Settings → Notifications
  2. Find the Slack Integration section
  3. Paste your Webhook URL
  4. Configure notification schedule (optional)
  5. Click Save

Step 4: Test the Integration #

  1. Click Send Test Notification
  2. Verify the message appears in your Slack channel
  3. If successful, integration is complete

Webhook URL Format #

Your Slack webhook URL will look like:

https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX

Keep this URL secure - anyone with the URL can post to your channel.

Notification Content #

Server Down Alert #

🔴 Server Down: Production API
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Endpoint: https://api.example.com
Status: 500 Internal Server Error
Time: 2025-01-01 12:00:00 UTC

[View Server] [Acknowledge]

Server Recovery Alert #

🟢 Server Recovered: Production API
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Endpoint: https://api.example.com
Status: 200 OK
Downtime: 15 minutes
Time: 2025-01-01 12:15:00 UTC

[View Server]

Heartbeat Missing Alert #

💔 Heartbeat Missing: Daily Backup Job
━━━━━━━━━━━━━━━━━━━━━━━━━━━
Expected: Every 1 hour
Last Ping: 2 hours ago
Time: 2025-01-01 12:00:00 UTC

[View Heartbeat]

Schedule Configuration #

Available Schedules #

  • Always: Send Slack notifications 24/7
  • Business Hours: Only during work hours
  • After Hours: Only outside work hours
  • Custom: Define specific time windows

Business Hours Setup #

Start Time: 09:00
End Time: 17:00
Timezone: America/New_York
Days: Monday - Friday

With this configuration:

  • Slack alerts sent during 9 AM - 5 PM EST on weekdays
  • Outside these hours, only email/SMS notifications are sent

After Hours Setup #

Useful for on-call rotations where different teams handle different times:

Start Time: 17:00
End Time: 09:00
Timezone: America/New_York
Days: Monday - Sunday

Multiple Channels #

Separate Channels by Severity #

You can create multiple webhooks for different alert types:

#critical-alerts - Production outages #monitoring - All status changes #dev-alerts - Development environment issues

Configuration Example #

Critical Alerts:
  Webhook: https://hooks.slack.com/services/T.../B.../critical...
  Trigger: Status codes 500, 502, 503

All Alerts:
  Webhook: https://hooks.slack.com/services/T.../B.../all...
  Trigger: Any status change

Best Practices #

Channel Selection #

  • Dedicated Channel: Create a specific channel for monitoring alerts
  • Avoid General: Don't send to high-traffic channels
  • Consider DND: Team members can mute during off-hours

Alert Fatigue Prevention #

  • Group related alerts when possible
  • Use scheduling to reduce after-hours noise
  • Consider separate channels for different severity levels

Security #

  • Keep Webhook Secret: Don't share or commit webhook URLs
  • Rotate If Compromised: Create new webhook if URL is exposed
  • Limit Access: Only allow trusted admins to configure

Testing #

  • Test Before Production: Verify webhook works before relying on it
  • Regular Verification: Periodically test that notifications are working
  • Monitor Slack App: Check Slack app health occasionally

Troubleshooting #

Notifications Not Appearing #

Check Webhook URL:

# Test webhook directly
curl -X POST -H 'Content-type: application/json' \
  --data '{"text":"Test message from Server Monitor"}' \
  YOUR_WEBHOOK_URL

Verify Configuration:

  • Webhook URL is correctly entered
  • Schedule allows current time
  • Organization has paid subscription

Wrong Channel #

  • Check which channel webhook was created for
  • Create new webhook for correct channel
  • Update configuration with new URL

Delayed Notifications #

  • Check queue worker status
  • Verify scheduling doesn't block current time
  • Review worker performance dashboard

Formatting Issues #

  • Slack may sanitize some content
  • Very long messages may be truncated
  • Special characters might display differently

Advanced Configuration #

Custom Message Format #

The default format can be customized via environment variables:

SERVERMONITOR_SLACK_INCLUDE_ENDPOINT=true
SERVERMONITOR_SLACK_INCLUDE_RESPONSE_TIME=true
SERVERMONITOR_SLACK_INCLUDE_UPTIME=true

Webhook Retry #

Failed webhook deliveries are automatically retried:

  • First retry: 1 minute
  • Second retry: 5 minutes
  • Third retry: 15 minutes
  • Final retry: 1 hour

After 4 failures, the delivery is marked as failed.

Rate Limiting #

Slack has rate limits for incoming webhooks:

  • Default: 1 message per second
  • Burst: Up to 100 messages per minute

Server Monitor automatically batches alerts to stay within limits.

Alternative: Slack App #

For advanced features, consider creating a full Slack app instead of just webhooks:

Additional Capabilities #

  • Interactive Buttons: Acknowledge incidents from Slack
  • Slash Commands: Query status from Slack
  • Home Tab: Dashboard view in Slack
  • Direct Messages: User-specific alerts

Setup Complexity #

  • Requires OAuth configuration
  • More complex initial setup
  • Better for organizations with many users

Previous: Notification System | Next: API Reference