Slack Alerts for Cron Jobs
Route cron failure and recovery alerts into any Slack channel using an incoming webhook. Three-minute setup, no Slack app install required.
1. Create the Slack webhook
Slack's incoming webhooks live under a workspace app. If your workspace already has an "Incoming WebHooks" app installed, skip to step 1.3.
- Go to api.slack.com/messaging/webhooks and click Create your Slack app.
- Name the app (we recommend "crond.io alerts") and pick your workspace.
- Under Features → Incoming Webhooks, toggle it on and click Add New Webhook to Workspace.
- Choose the channel for failure alerts (e.g.
#alerts-cron). Copy the resulting URL — it looks likehttps://hooks.slack.com/services/T.../B.../...
2. Add the webhook to crond.io
Either via the dashboard or API.
3. What the alerts look like
crond.io sends a JSON payload that Slack renders into a formatted block. A failure alert includes monitor name, status, duration since last successful ping, and a link back to the monitor detail page.
Routing patterns
Different channels per severity
Create two Slack webhooks — one pointing at #alerts-cron for routine failures, another at #incidents for critical workloads. Add each as a separate alert channel on the corresponding monitors.
Team ownership via channel
For multi-team setups, route each monitor's alerts to the owning team's channel. #data-platform gets ETL pipeline alerts; #infra gets backup and SSL-renewal alerts. One webhook per channel, applied to the relevant monitors only.
Slack-to-PagerDuty escalation
Slack is great for awareness, but it doesn't wake anyone up. For monitors that should escalate, add a PagerDuty channel alongside Slack — Slack gets the first ping, PagerDuty fires if the alert is still active after 5 minutes. See all integrations for PagerDuty setup.
Troubleshooting
- No message in Slack: test the webhook URL directly with
curl -X POST -d '{"text":"test"}' $WEBHOOK_URL. If that fails, the webhook was deleted or the app uninstalled. - Messages going to wrong channel:Slack incoming webhooks are bound to a single channel at creation. To redirect, edit the channel in your Slack app's webhook settings.
- Rate limits: Slack throttles at ~1 message/sec per webhook. If you have hundreds of monitors firing simultaneously during a major outage, expect some delay — alerts queue and drain in order.