Comparison
Crontap vs GitHub Actions cron
GitHub Actions cron is free and right there in your repo. The catch is in the docs: schedule events can be delayed during high load, and queued jobs may be dropped. Crontap separates HTTP scheduling from the shared CI queue and adds heartbeat absence detection.
At a glance
GitHub Actions cron vs Crontap, side by side.
| Dimension | GitHub Actions cron | Crontap |
|---|---|---|
| Cadence floor | 5 minutes | 1 minute (Pro) |
| Documented delay / drop risk | May be delayed during high load (per GitHub docs) | Dedicated HTTP scheduler with run history |
| Cron expression support | Yes (5-field) | Yes (5-field) |
| Per-schedule timezone | Yes (IANA timezone) | Yes (any IANA) |
| Free tier | Unlimited for public repos | Starter: 2 combined items; schedules hourly+, 1 uptime monitor daily, and 1 heartbeat hourly |
| Cost | Free up to a generous quota | $0 free / from $2.99/mo Pro |
| Human Notifications | Workflow notifications and user-authored workflow integrations | All plans: email, test sends, product defaults, per-item default/custom/off routing, and delivery history. Pro, Ultra, and legacy Pro add Slack, Discord, and Telegram |
| Machine webhook Integrations | Build any callback as a workflow step | Separate machine webhook Integrations with per-event success, failure, missed, and recovered levers where applicable |
| Schedule failure batching | Not compared; Crontap schedule-specific alert setting | Schedule alerts: unsaved default Starter 24h / 3 failures, paid 10m / 3; configurable floor Starter 1 day, paid 1 minute |
| Heartbeat / dead-man monitoring | No native dead-man monitor | Native: period + grace, /fail, missed/recovered/explicit-failure alerts, ping URL, and 90-day history |
| Uptime monitoring | No native uptime monitor | Native HTTP uptime: down/recovered alerts, history, 90-day rollups, and integration controls |
| Retries and customization | No automatic scheduled-workflow rerun; author retry logic | Default on: 3 retries with 2× exponential backoff and jitter. Pro, Ultra, and legacy Pro: 1–5 retries plus delay and retry outcomes; alert after exhaustion |
| AI response processing | No built-in HTTP response transform-and-forward workflow | AI response transforms: transform, summarize, normalize, extract, or triage, then forward. Pro: daily, 1 per schedule. Ultra: hourly, unlimited; test-run UX |
How they work
The two approaches in one paragraph each.
GitHub Actions cron
GitHub Actions cron lives in a workflow file under on.schedule with a five-minute minimum and optional IANA timezone. The workflow runs on the latest commit of the default branch. GitHub documents that scheduled events can be delayed during high load and that some queued jobs may be dropped, especially around the start of the hour.
Crontap
Crontap is an external scheduler. You point it at any HTTP target (an API route, a Cloud Run service, a webhook, even GitHub's repository_dispatch endpoint to fire a workflow on demand) and pick a cadence plus timezone.
Where each side wins
Honest broker, both columns.
GitHub Actions cron wins on
- Free for public repos, generous quota for private.
- Lives next to your code in .github/workflows.
- Full Linux runner available, not just an HTTP target.
- Familiar Actions ecosystem with the same logs and tooling as your CI.
Crontap wins on
- A dedicated HTTP scheduler rather than a shared CI queue that documents delay and dropped-run risk.
- 1-minute cadence on Pro vs GitHub Actions' 5-minute floor.
- Centralized log of every fire across many schedules and many repos.
- Alerts when a workflow or job never checked in through native heartbeats.
The math
Cadence and pricing, worked out.
- GitHub Actions cron is free within the repository's Actions allowance. The trade-off is shared CI scheduling with documented delay and drop behavior, not a guaranteed anecdotal delay window.
- If you want every 5 minutes, both can do that on paper. If you want every minute, GitHub Actions cannot (5-minute floor); Crontap Pro can.
Moving from GitHub Actions cron
The migration, in 4 steps.
- Paste your existing config into the free cron migrator to get every schedule pre-filled as a Crontap deep link.
- Pick the workflow with on: schedule: and a cron expression.
- Replace the schedule trigger with workflow_dispatch: and add an HTTP endpoint that calls GitHub's repository_dispatch API, or move the work into a small HTTP service on your own backend.
- Point Crontap at the new HTTP target with whatever auth header you set.
Decision
Which one fits.
Pick GitHub Actions cron if
The work needs a full runner, belongs next to the repository, and documented schedule delay or drop risk is acceptable.
Pick Crontap if
You need one-minute cadence, centralized HTTP run history, automatic retries, or heartbeat alerts when a job never checked in.
Pair both if
Keep CI cron jobs in Actions; move the time-sensitive schedules to Crontap.
FAQ
Crontap vs GitHub Actions cron, in detail.
- How much can GitHub Actions cron drift?
- GitHub does not publish a fixed delay guarantee. Its docs say scheduled events can be delayed during high load and that some queued jobs may be dropped, particularly around the start of each hour. Treat any anecdotal 15-minute figure as an observation, not an SLA.
- Will Crontap re-run a missed run?
- Crontap retries failed HTTP attempts with exponential backoff. A native heartbeat separately detects when the expected job check-in never arrives.
- Is Crontap more expensive than GitHub Actions cron?
- Crontap is paid above the free tier; the trade is a dedicated HTTP schedule dashboard, automatic retries, heartbeat alerts, and centralized history. Pro starts at $2.99/mo.
- Can I trigger a GitHub Actions workflow from Crontap?
- Yes. Use GitHub's repository_dispatch API as the Crontap target. The workflow you want to run sets on: repository_dispatch: and Crontap fires it on cadence.
Sources
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
/wp-cron.php?doing_wp_cron=1
Schedule
"every 5 minutes"
Next
in 23s