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 #
- Go to Slack API Apps
- Click Create New App → From scratch
- Enter app name (e.g., "Pulsey Alerts") and select workspace
- Click Create App
Step 2: Enable Incoming Webhooks #
- In your app settings, go to Incoming Webhooks
- Toggle Activate Incoming Webhooks to On
- Click Add New Webhook to Workspace
- Select the channel for alerts (e.g., #alerts)
- Click Allow
- Copy the Webhook URL
Step 3: Configure in Server Monitor #
- Navigate to Settings → Notifications
- Find the Slack Integration section
- Paste your Webhook URL
- Configure notification schedule (optional)
- Click Save
Step 4: Test the Integration #
- Click Send Test Notification
- Verify the message appears in your Slack channel
- 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
Related Documentation #
- Notification System - Complete notification configuration
- Custom Webhooks - Other webhook integrations
- Escalation Policies - Multi-tier alerting
Previous: Notification System | Next: API Reference