You do not need another shell wrapper, a pasted incoming webhook, or a relay through an automation platform to get a Slack alert when a cron job fails. Crontap connects a Slack channel once, then routes formatted alerts from schedules, uptime monitors, and heartbeats to it.
This guide is for operational alerts. If you want Crontap to post a digest, standup prompt, or report on a timer, jump to schedule Slack messages and digests.
Before you connect
You need:
- A Crontap Pro or Ultra plan. Paid plans start at $2.99 per month. Email remains available on Starter.
- Permission to add apps to the target Slack workspace.
- A channel where the people responsible for the job will actually see alerts.
Slack may require workspace-admin approval before the connection can finish. For a private channel, choose that channel during Slack's authorization flow. The connection is bound to the selected channel.
1. Open notification settings
In Crontap, open Settings, then Notifications. The direct URL is notification settings.
Find the connection controls above the channel list and select Add to Slack. If Slack already appears as an active destination, use its row instead of creating a duplicate connection.
The page separates human Notifications from machine Integrations. This matters if you already use a Slack incoming webhook in a schedule: connecting here does not replace or modify that webhook.
2. Authorize Slack
Select Add to Slack. Slack opens its own consent page:
- Confirm the intended workspace.
- Select the channel that should receive Crontap alerts.
- Review the requested incoming-webhook access.
- Approve and return to Crontap.
Crontap stores the channel-bound credential encrypted at rest. It does not need a workspace-wide bot token and does not ask you to copy a webhook URL.
After authorization, Slack receives a short connection message and the channel appears as active in Crontap.
3. Choose what notifies Slack
The Defaults section has rows for Schedules, Monitors, and Heartbeats. Check Slack in each row that should use the destination, then save.
Defaults are the broad rule. Every entity can then choose:
- Use my defaults to follow its product-area row.
- Choose channels to send this entity to a custom set.
- Off to stop human alerts for this entity while machine Integrations continue.
For example, route all uptime monitors to #alerts, then give a payment monitor a custom route to both #alerts and #payments.
Avoid making Slack the only path if the Slack workspace itself is what the monitor checks. Keeping email or another chat destination enabled prevents the alert route from depending entirely on the failing service.
4. Send a test
Open the Slack channel's menu in notification settings and choose Send test. The message goes through the production sender and is recorded in delivery history.
A real message includes the alert type, entity name, current state, useful timing or error context, and a link back to Crontap. Uptime and heartbeat recovery events return to the same selected channels. Schedule failures do not promise the same recovery lifecycle.
Multiple channels and alert noise
One entity can notify Slack, Discord, Telegram, and email at the same time. That is useful for high-value monitors, but it can create four copies of every state change. Start with one team channel plus email, then add destinations only where ownership differs.
Monitor and heartbeat cool-down settings still control repeated alert timing for those sources. Routing a source to more channels does not create a separate event policy for each channel.
Rename, disconnect, or reconnect
Use the channel menu to:
- Send a test.
- Open delivery history.
- Rename the Crontap label.
- Disconnect the destination.
If Slack archives the channel, removes the app, disables the workspace, or revokes the incoming webhook, Crontap stops sending and marks the row Reconnect needed. Reconnect it from the row or remove it if the destination is retired.
Disconnecting removes that Crontap destination. It does not change unrelated Slack apps or other connected channels.
Troubleshooting Slack alerts
Slack says an admin must approve Crontap
Your workspace restricts app installation. Send the approval request to a Slack admin, then restart Add to Slack after approval. Crontap cannot bypass workspace policy.
I cannot select a private channel
Confirm you are a member of the private channel and that the Slack consent screen offers it. The incoming webhook is channel-bound, so Crontap cannot discover and switch to a private channel later.
The row says Reconnect needed
The selected channel may be archived, the app may have been removed, or Slack may have revoked the credential. Restore the channel if appropriate, then reconnect. Delivery does not continue to a revoked destination.
The test is sent but a real alert is missing
Check the entity's Notifications mode. Off suppresses human alerts. Choose channels ignores the product defaults and uses only the checked destinations. Then inspect the Slack row's delivery history.
Can I acknowledge an alert in Slack?
No. Crontap v1 sends formatted messages but does not add acknowledge, resolve, snooze, escalation, or incident-thread controls.
Security and plan behavior
Chat channel delivery is available on paid plans. If you downgrade to Starter, the Slack channel and its routing configuration remain saved, but chat delivery pauses. Email remains available.
Crontap encrypts the channel credential and uses it only to send to the channel Slack bound during authorization. A channel status and recent delivery history are visible in your Crontap settings.
FAQ
How do I get a Slack alert when a cron job fails?
Connect Slack in Settings → Notifications, enable it for Schedules, and leave the schedule on Use my defaults. Use Choose channels when one cron job needs a different destination.
Do I need to paste a Slack incoming webhook?
No. Slack handles workspace and channel selection in OAuth. Pasted webhooks remain useful for scheduled outbound messages or machine Integrations, not for native Crontap alerts.
Do recovery alerts go to the same Slack channel?
Yes, when the source emits a recovery event. Uptime monitors and heartbeats have recovery lifecycles. Do not assume every schedule failure has a matching recovery message.
Can one alert also go to Discord or Telegram?
Yes. Select multiple destinations in the defaults matrix or in an entity's custom channel list.
Does Crontap support Slack threads or on-call escalation?
No. The first release does not include Slack incident threads, on-call schedules, SMS, voice calls, or escalation policies.
