Use case

Fire Supabase Edge Functions on a cron without pg_cron gymnastics.

Supabase ships pg_cron for in-database scheduling and Edge Functions for HTTP work. The two do not natively talk; pg_cron schedules SQL, Edge Functions answer HTTP. Crontap is the bridge: an external clock that calls Edge Functions on any cron, in any timezone.

Get started

Free plan · no credit card required

The problem

Why this is painful without the right tool

  • pg_cron works but requires the Postgres extension and lives inside the database; for HTTP work it is the wrong layer.
  • Edge Functions themselves have no scheduler; they answer HTTP, they do not fire on a clock.
  • Pairing pg_cron with HTTP requires net.http_post and the related extensions; that is a real setup cost for what amounts to fire this URL.
  • Multi-project Supabase setups have no central schedule view; pg_cron lives per-project.

The fix

How Crontap solves it

Crontap calls the Edge Function URL (https://your-project.supabase.co/functions/v1/your-function) from outside Supabase. No pg_cron, no net.http_post, no extension management. Auth via a bearer header that the Edge Function verifies. Failures alert to email / webhook (Slack / Discord / Telegram).

cron expression
0 * * * *
Hourly, hit the Edge Function that runs the housekeeping job.

For a multi-project Supabase org, one Crontap schedule per Edge Function per cadence keeps the dashboard clean. Each schedule has its own URL, its own service-role JWT (or a custom bearer token), and its own failure alert. pg_cron stays available for purely in-database work where it belongs.

Auth uses Supabase's own JWT model. Crontap can store the service-role key as an Authorization header and call the function directly; the Edge Function verifies the JWT on every run.

FAQ

Common questions

Can I still use pg_cron alongside Crontap?
Yes. Mix freely. Keep pg_cron for in-database scheduling (vacuum, stats refresh, partition rotation). Use Crontap for HTTP triggers against Edge Functions, your own backend, or any other URL that does not belong inside the database.
What's the shortest interval Crontap supports?
Every 1 minute on paid plans. Free tier available for slower cadences. Most Edge Function schedules run at every 5 minutes, hourly, or daily; minute cadence shows up for inbox-style endpoints.
How do I get notified if an Edge Function fails?
Wire failure alerts to email / webhook (Slack / Discord / Telegram) on the schedule's Integrations panel. The failure payload includes the run's status code, duration, and response body, so a 401 (JWT expired) or a 500 (function exception) shows up in the alert.

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