Slack Integration: Route Alerts to Your Channels
Push uptime alerts, incident updates, and recovery notifications directly into your Slack workspace. Monitoring availability without delays.
Connect Slack View Example Alerts1. Create a Slack App and Incoming Webhook
PingKit delivers alerts through Slack's Incoming Webhooks API. You'll create a Slack app, generate a webhook URL, and paste it into your PingKit dashboard.
Go to api.slack.com/apps, click Create New App, and choose From scratch. Name it something like PingKit Alerts and select your workspace. Navigate to Incoming Webhooks in the sidebar, toggle the feature on, and click Add New Webhook to Workspace. Authorize the app for your workspace — you'll see a URL that looks like https://hooks.slack.com/services/T02AB3CD/BX9Y8Z7W/abc123def456. Copy it, then head to Settings → Integrations → Slack in your PingKit dashboard and paste the webhook URL into the webhook_url field. Click Test Connection; a verification message will appear in your chosen channel within 3 seconds.
Step 1 — App Creation
Create the app from scratch. Name it PingKit Alerts. No bot token is required — Incoming Webhooks is sufficient for one-way alert delivery.
Step 2 — Webhook URL
Enable Incoming Webhooks, add a new webhook, authorize the workspace. Copy the full hooks.slack.com URL — this is the delivery endpoint.
Step 3 — PingKit Configuration
Paste the URL into Settings → Integrations → Slack. Optionally set a default channel override. Click Test Connection to confirm delivery.
2. Route Alerts to Specific Channels
By default, every webhook posts to the channel you selected during setup. You can override the destination per-check or per-group using the #channel-name suffix in the webhook URL or the channel field in the PingKit UI.
When you added the webhook, Slack asked which channel to post to — for example, #critical-incidents while staging checks go to #staging-monitoring, create separate PingKit Slack integration profiles, each with its own webhook URL targeting the appropriate channel.
Dedicated Ops Channel
Create a single channel like #pingkit-alerts and route all uptime notifications there. Use Slack threads for follow-up discussion. Best for teams under 10 engineers.
Per-Environment Split
Use #prod-alerts for production checks and #staging-monitoring for non-prod. Requires two webhook URLs. Reduces noise in your primary ops channel.
Severity-Based Routing
Route Critical and Degraded to #incident-response with @channel mentions. Route Resolved and Info to
PingKit sends structured Slack messages using blocks and attachments. Each alert includes the check name, status, response time, timestamp, and a direct link to the check dashboard. You can customize the message template in Settings → Integrations → Slack → Message Template. Available variables: {{check_name}}, {{status}}, {{response_time_ms}}, {{downtime_duration}}, {{url}}, {{timestamp}}. :rotating_light: Check Down — api.pingkit.io :white_check_mark: Recovered — api.pingkit.io :warning: Slow Response — dashboard.pingkit.io Use this template for compact, actionable alerts: {{status_icon}} {{check_name}} — {{status}} | RT: {{response_time_ms}}ms | {{url}} | {{timestamp}} For severity-based mentions, add @channel to critical alerts and @here to degraded ones in the template editor. PingKit evaluates the {{severity}} variable and interpolates the mention accordingly. Push uptime alerts, incident updates, and recovery notifications directly into your Slack workspace. Monitoring availability without delays. PingKit delivers alerts through Slack's Incoming Webhooks API. You'll create a Slack app, generate a webhook URL, and paste it into your PingKit dashboard. Go to api.slack.com/apps, click Create New App, and choose From scratch. Name it something like PingKit Alerts and select your workspace. Navigate to Incoming Webhooks in the sidebar, toggle the feature on, and click Add New Webhook to Workspace. Authorize the app for your workspace — you'll see a URL that looks like https://hooks.slack.com/services/T02AB3CD/BX9Y8Z7W/abc123def456. Copy it, then head to Settings → Integrations → Slack in your PingKit dashboard and paste the webhook URL into the webhook_url field. Click Test Connection; a verification message will appear in your chosen channel within 3 seconds. Create the app from scratch. Name it PingKit Alerts. No bot token is required — Incoming Webhooks is sufficient for one-way alert delivery. Enable Incoming Webhooks, add a new webhook, authorize the workspace. Copy the full hooks.slack.com URL — this is the delivery endpoint. Paste the URL into Settings → Integrations → Slack. Optionally set a default channel override. Click Test Connection to confirm delivery. By default, every webhook posts to the channel you selected during setup. You can override the destination per-check or per-group using the #channel-name suffix in the webhook URL or the channel field in the PingKit UI. When you added the webhook, Slack asked which channel to post to — for example, #ops-alerts. That becomes the default. To send critical production alerts to #critical-incidents while staging checks go to #staging-monitoring, create separate PingKit Slack integration profiles, each with its own webhook URL targeting the appropriate channel. Create a single channel like #pingkit-alerts and route all uptime notifications there. Use Slack threads for follow-up discussion. Best for teams under 10 engineers. Use #prod-alerts for production checks and #staging-monitoring for non-prod. Requires two webhook URLs. Reduces noise in your primary ops channel. Route Critical and Degraded to #incident-response with @channel mentions. Route Resolved and Info to #monitoring-log silently. Configure in PingKit alert rules. PingKit sends structured Slack messages using blocks and attachments. Each alert includes the check name, status, response time, timestamp, and a direct link to the check dashboard. You can customize the message template in Settings → Integrations → Slack → Message Template. Available variables: {{check_name}}, {{status}}, {{response_time_ms}}, {{downtime_duration}}, {{url}}, {{timestamp}}. :rotating_light: Check Down — api.pingkit.io :white_check_mark: Recovered — api.pingkit.io :warning: Slow Response — dashboard.pingkit.io Use this template for compact, actionable alerts: {{status_icon}} {{check_name}} — {{status}} | RT: {{response_time_ms}}ms | {{url}} | {{timestamp}} For severity-based mentions, add @channel to critical alerts and @here to degraded ones in the template editor. PingKit evaluates the {{severity}} variable and interpolates the mention accordingly.3. Alert Message Format and Examples
Check Down
Status: DOWN
URL: https://api.pingkit.io/health
Response Time: — (connection refused)
Downtime: 2m 14s
Last OK: 2025-01-15 09:42:11 UTC
View in PingKit →Check Recovered
Status: UP
URL: https://api.pingkit.io/health
Response Time: 142ms
Downtime Duration: 6m 48s
Recovered At: 2025-01-15 09:48:59 UTC
View in PingKit →Slow Response
Status: DEGRADED
URL: https://dashboard.pingkit.io
Response Time: 3,847ms (threshold: 2,000ms)
Consecutive Slow: 3 / 3
Timestamp: 2025-01-15 10:12:33 UTC
View in PingKit →Custom Template Example
Slack Integration: Route Alerts to Your Channels
1. Create a Slack App and Incoming Webhook
Step 1 — App Creation
Step 2 — Webhook URL
Step 3 — PingKit Configuration
2. Route Alerts to Specific Channels
Dedicated Ops Channel
Per-Environment Split
Severity-Based Routing
3. Alert Message Format and Examples
Check Down
Status: DOWN
URL: https://api.pingkit.io/health
Response Time: — (connection refused)
Downtime: 2m 14s
Last OK: 2025-01-15 09:42:11 UTC
View in PingKit →Check Recovered
Status: UP
URL: https://api.pingkit.io/health
Response Time: 142ms
Downtime Duration: 6m 48s
Recovered At: 2025-01-15 09:48:59 UTC
View in PingKit →Slow Response
Status: DEGRADED
URL: https://dashboard.pingkit.io
Response Time: 3,847ms (threshold: 2,000ms)
Consecutive Slow: 3 / 3
Timestamp: 2025-01-15 10:12:33 UTC
View in PingKit →Custom Template Example