Use case

Scheduled Discord posts and bot triggers.

Discord has no native scheduler. Many community bots ship with cron, but server admins often disable it. For server announcements, weekly recaps and event reminders, Crontap is the external clock that fires Discord channel webhooks on any cron, in any timezone.

Get started

Free plan · no credit card required

The problem

Why this is painful without the right tool

  • Discord has no first-class scheduler; the only built-in option is a paid bot or a self-hosted bot that owns its own clock.
  • Self-hosted Discord bots crash silently when the host reboots; the messages just stop.
  • Multi-server bot setups need cross-server scheduling, which is awkward to encode inside one bot.
  • Channel webhooks are great for posting structured content but have no built-in scheduling; they only respond to incoming POSTs.

The fix

How Crontap solves it

For each Discord channel, create a webhook URL. Paste into Crontap and pick a cron. The payload is Discord-shaped JSON (content, embeds). Crontap fires on time, retries on 5xx, and alerts on failure via email / webhook (Slack / Discord / Telegram, ideally a different channel from the failing one).

cron expression
0 18 * * 5
Friday at 18:00 in the server timezone, post the weekly recap to the announcements channel.

For dynamic content (event leaderboards, latest community stats), point Crontap at a small backend that builds the Discord JSON and posts to the channel webhook. That keeps data assembly in your code and the schedule in Crontap.

For multi-server or multi-channel fan-out, one Crontap schedule per webhook URL keeps the dashboard parseable. Failures alert per-server; pause per-server during quiet periods.

FAQ

Common questions

What's the shortest interval Crontap supports?
Every 1 minute on paid plans. Free tier available for slower cadences. Most Discord schedules run at every hour, daily, or weekly; minute cadence shows up for live-event tickers rather than digest content.
Can I post embeds and attachments?
Yes. Discord channel webhooks accept the standard embed JSON. Paste it into the schedule's payload field; Crontap sends it as-is. For variables that change per run, point Crontap at a small backend that renders the JSON.
How do I avoid spamming a channel if the run loops?
Crontap does not stack runs on top of each other; if a previous run is still in flight when the next is due, the next still fires (per Crontap's standard behavior, not a Discord behavior). For dedup at the message level, your backend should return early when the same content was already posted in the last hour.

Ready to fix it?

Point Crontap at any URL. Pick any cron. Done.

WordPress, Shopify, Railway, Cloud Run, Vercel, HubSpot, Ghost, your own box. If it answers HTTP, Crontap can drive it on a clock you can read, in the timezone that actually matters, and page you when something breaks.

Free forever tier ・ No credit card required

GET

/wp-cron.php?doing_wp_cron=1

Running
Your next schedule

Schedule

"every 5 minutes"

Next

in 23s