Cron · Uptime · SSL · Domains · Webhooks

Know before your users do.

Cronly watches your cron jobs, sites, certificates, domains and webhooks, and tells you the minute something breaks. One calm dashboard, one small bill.

Free forever for 3 of each monitor · no card · Pro is $7/month
1 issue needs attentionsmtp.acme.io down since 08:47 · 23 of 24 healthy
Down
smtp.acme.ioSMTP · down 14 min
Up
api.acme.ioHTTPS · 184 ms
Up
vps-eu-1Ping · 12 ms
OK
nightly-db-backupHeartbeat · 03:00:04
Valid
acme.ioSSL · 61 days left
Live · updated 4s agolast 30 checks
Works with what you already run cron GitHub Stripe Docker Slack Telegram
03:00 · nightly-db-backup

Your backup didn’t run last night. Would you know?

Cron fails quietly. No error, no email, just a missing file you find weeks later. Cronly expects every run and speaks up the moment one doesn’t show.

  • Knows when a run is late, not just when it fails
  • Re-checks before alerting, so one blip won’t page you
  • Tells you what broke and since when
  1. 03:00:00Expected: nightly-db-backupThe job should ping Cronly when it finishes.
  2. 03:00 → 03:30No ping arrivesDisk full, the script exits with code 1. Cron says nothing.
  3. 03:30:00Grace period over → DownMarked Down after 30 minutes of silence.
  4. 03:30:02Telegram: “nightly-db-backup is down”Also posted to #ops-alerts in Slack.
  5. 07:45Fixed before standupOne missed run instead of 41.

Seven things that break quietly. One place to watch them.

Every plan includes every monitor type. Click any row to jump to it.
Heartbeats · cron job monitoring

One line of curl. Every cron job watched.

Add a ping to the end of any job. If it doesn’t arrive on schedule plus a grace period, you hear about it before anyone else does.

# crontab -e
0 3 * * *  /opt/jobs/backup.sh && curl -fsS -m 10 --retry 3 https://ping.cronly.net/k3Vq9xLm2pTa
Late, not just failedSet a schedule and grace period. Know when a run is late, missing or never started.
Cron or plain EnglishPaste a cron expression, pick an interval, or describe it and let AI write it.
9 languages, copy-pasteBash, Python, Node, PHP, Go, Ruby, Java, C# and PowerShell snippets.
Uptime monitoring

99.9% uptime still means one bad night.

The problem is never the good checks. It’s the one at 03:12 while you were asleep. HTTP, TCP, Ping and SMTP checks as often as every minute.

api.acme.io down 2 min · 03:12 · alerted 03:13
90 days ago99.90%today
HTTP & keywordsExpected status codes and body keywords.
TCP, Ping, SMTPDatabases, servers and mail, not just websites.
Confirmed firstRe-checked twice before anyone gets paged.
Response times24 h latency chart and 30-day uptime per monitor.
SSL certificates & domains

Renew it before it bites.

Daily certificate and WHOIS checks with a countdown. Reminders at 30, 14, 7 and 1 days, repeated until it’s done.

SSL certificateCritical
5days left
shop.acme.io
30 d · sent14 d · sent7 d · sent1 d · upcoming
Domain registrationExpiring
12days left
acme-old.com
30 d · sent14 d · sent7 d · upcoming1 d · upcoming
Webhook inbox

Catch every webhook. Understand it.

A URL that records every request from Stripe, GitHub or anything else. Inspect headers and body, replay it, forward it with retries, or ask AI what it means.

  • Replay any request to your endpoint
  • Forward with automatic retries
  • Plain-English explanation of any payload
POSTinvoice.payment_failed
AI explanationThe second attempt to charge this customer €19.00 failed, and Stripe will try again on Nov 13. Your endpoint returned 500, so Cronly is retrying the forward (2 of 3).
"type": "invoice.payment_failed"
"amount_due": 1900
"currency": "eur"
"attempt_count": 2
"next_payment_attempt": 1794563467
Schedules & Web Cron

Say when it runs. We’ll write the cron.

Describe a schedule in plain English and get a cron expression with the next run times. Use it for heartbeats, or let Cronly call any URL on that schedule, with retries and success rules.

Describe when it should runevery weekday at 7:30 in the morningConverted
30 7 * * 1-5
Wed Nov 11, 07:30in 21 h
Thu Nov 12, 07:30in 2 days
Fri Nov 13, 07:30in 3 days
Alerts & automations

Alerts that find you. Rules that act for you.

Each monitor picks its own channels. And when something happens, an IF → THEN rule can call your restart hook or trigger a job, without waiting for you.

TelegramInstant, from our bot
SlackAny channel you pick
DiscordVia channel webhook
EmailPlain text, one per alert
WebhookSigned JSON to your URL
Automation
IFUptime downONsmtp.acme.ioTHENPOST ops.acme.io/restart
08:47:12smtp.acme.io marked Down after 2 re-checks
08:47:13POST ops.acme.io/restart → 200
08:47:13Telegram alert delivered
08:49:12smtp.acme.io back Up · recovery sent

Paste a URL. You’re monitoring.

No agent to install, no YAML. Type a site, host, domain or schedule and Cronly sets up the right check in seconds.

https://api.acme.io
Uptime check · HTTPSCheck https://api.acme.io every minute
SSL certificateWarn me 30 days before api.acme.io expires
Domain expiryWatch acme.io registration
Webhook inboxCreate a URL that forwards to https://api.acme.io
For developers

Monitoring you can commit.

Create heartbeats from your deploy script, pause checks during maintenance, pull history into your own dashboards. A small REST API with real examples, and an AI assistant that has read the docs.

Read the API docs
POST /api/v1/heartbeats
curl -X POST https://app.cronly.net/api/v1/heartbeats \
  -H "Authorization: Bearer $CRONLY_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name": "nightly-db-backup",
       "cron_expression": "0 3 * * *",
       "grace_period_minutes": 30}'
201 Created · 84 ms
{
  "data": {
    "token": "k3Vq9xLm2pTa",
    "name": "nightly-db-backup",
    "cron_expression": "0 3 * * *",
    "grace_period_minutes": 30,
    "status": "ok"
  }
}

$7 a month.
20 of everything.

One plan instead of five tools and five invoices. Every plan has every monitor type, every alert channel and the API.

Free

$0forever
For side projects and trying it out.
  • 3 of each monitor type
  • 3-day logs
  • 10 AI requests / month
  • All alert channels
Start free

Pro

Most picked
$7per month
For indie hackers and small SaaS.
  • 20 of each monitor type
  • 14-day logs
  • 100 AI requests / month
  • All alert channels
Start with Pro

Business

$15per month
For teams with lots to watch.
  • Unlimited monitors
  • 90-day logs
  • 1,000 AI requests / month
  • All alert channels
Start with Business

Questions, answered

Is the Free plan really free?

Yes. Free gives you 3 of each monitor type, 3-day logs and 10 AI requests a month, with no card and no time limit. Upgrade only when you need more.

How fast will I hear about a failure?

Uptime checks run as often as every minute. A failed check is re-checked twice and then alerts go out right away. Heartbeats alert as soon as the grace period you set runs out.

Will a single blip wake me up at 3 a.m.?

No. Failures are confirmed with re-checks before anything is sent, and slow responses show as Degraded rather than Down. You choose which channels each monitor uses.

Do I need to install an agent?

No. Uptime, SSL, domain and webhook monitoring work from the outside. For cron jobs you add one HTTP request (curl, or any language) at the end of the job.

What happens when I hit a plan limit?

Existing monitors keep running. You just can’t add more of that type until you upgrade or remove one. We email you at 85% so it’s never a surprise.

Can I cancel anytime?

Yes. Plans are billed monthly through PayPal and you can cancel from Settings. You keep your plan until the end of the period, then move to Free.

All systems operational

The quiet is the feature.

When everything works, Cronly stays out of your way. When something doesn’t, you know within a minute, with what broke and since when.

Start free No card · 3 of each monitor, free forever