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.

GitHub Actions cron vs Crontap, dimension by dimension
DimensionGitHub Actions cronCrontap
Cadence floor5 minutes1 minute (Pro)
Documented delay / drop riskMay be delayed during high load (per GitHub docs)Dedicated HTTP scheduler with run history
Cron expression supportYes (5-field)Yes (5-field)
Per-schedule timezoneYes (IANA timezone)Yes (any IANA)
Free tierUnlimited for public reposStarter: 2 combined items; schedules hourly+, 1 uptime monitor daily, and 1 heartbeat hourly
CostFree up to a generous quota$0 free / from $2.99/mo Pro
Human NotificationsWorkflow notifications and user-authored workflow integrationsAll 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 IntegrationsBuild any callback as a workflow stepSeparate machine webhook Integrations with per-event success, failure, missed, and recovered levers where applicable
Schedule failure batchingNot compared; Crontap schedule-specific alert settingSchedule alerts: unsaved default Starter 24h / 3 failures, paid 10m / 3; configurable floor Starter 1 day, paid 1 minute
Heartbeat / dead-man monitoringNo native dead-man monitorNative: period + grace, /fail, missed/recovered/explicit-failure alerts, ping URL, and 90-day history
Uptime monitoringNo native uptime monitorNative HTTP uptime: down/recovered alerts, history, 90-day rollups, and integration controls
Retries and customizationNo automatic scheduled-workflow rerun; author retry logicDefault 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 processingNo built-in HTTP response transform-and-forward workflowAI 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.

  1. Paste your existing config into the free cron migrator to get every schedule pre-filled as a Crontap deep link.
  2. Pick the workflow with on: schedule: and a cron expression.
  3. 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.
  4. 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

GET

/wp-cron.php?doing_wp_cron=1

Running
Your next schedule

Schedule

"every 5 minutes"

Next

in 23s