Cron & Job Monitoring
Silent cron failures are the worst kind — the backup that quietly stopped, the nightly sync that didn't fire, the queue worker that died. FlowAlert watches for the check-in that never comes and pages your phone, escalating to on-call if no one answers.
1,000 free events/month · No card required
A scheduled job that fails doesn't send an error — it just doesn't run, so nothing tells you.
You discover the nightly backup has been failing for a week only when you actually need to restore it.
Log-scraping and homegrown “did it run?” scripts are brittle — and still need something watching them.
When a job does miss, you want the right person paged — not a buried email no one reads.
FlowAlert flips the model: your job checks in after each run, and if that check-in doesn't arrive on time, FlowAlert raises the alarm — pushed to the on-call person's phone, escalated if it isn't acknowledged.
1,000
Free events every month to start. No card required.
From event to acknowledged alert — the whole path, in order.
Create a heartbeat monitor and set how often it should check in (e.g. every 24h) plus a grace window
Add one line to your cron job, script, or CI step that pings the monitor's URL after a successful run — a simple curl, GET or POST
Each ping resets the timer, so FlowAlert knows the job ran
If a ping doesn't arrive within the interval plus grace, FlowAlert fires a heartbeat.missed alert
It's routed to your on-call person as a push notification — and escalates to the next person if it goes unacknowledged
See it in action
heartbeat.missed
→ Ops · Dana
Dead-man's-switch monitoring — alerts on the ping that never comes
Works with anything that can make an HTTP request — cron, systemd timers, Kubernetes CronJobs, CI, Windows Task Scheduler
Escalation chains — a missed backup isn't lost if the first person is asleep
On-call schedules — the right person gets paged
Acknowledged mobile push on iPhone & Android
Flat pricing — no per-monitor or per-seat surprises
Free plan to start
Nightly backups
Ping the monitor at the end of your backup script. If the backup hangs or the box is down, the ping never arrives and you're paged — before you ever need that backup.
Database dumps & ETL
Data pipeline didn't run? You hear about it in seconds instead of finding an empty dashboard the next morning.
Queue & worker processes
Have a long-running worker check in on a heartbeat. If the process dies, the missed check-in tells you it's no longer running.
Scheduled reports & invoicing
The monthly billing run or report that absolutely has to fire — get paged the moment it doesn't.
Certificate & maintenance jobs
Watch a certbot renewal or any recurring maintenance task, so a silent failure doesn't become an outage weeks later.
CI / scheduled pipelines
Add a ping to a scheduled CI job; a skipped or failed run surfaces as a real alert, not a tab you forgot to check.
The signals this integration fires — each one routable to a different person, priority, or escalation chain.
heartbeat.missedA monitor didn't check in within its expected interval and grace window — the job likely failed or never ran.
The things people ask before connecting this — the docs cover the rest.
You create a “heartbeat” monitor with an expected check-in interval and a grace period. Your cron job pings the monitor's unique URL each time it finishes successfully. If FlowAlert doesn't hear from it within the interval plus grace, it fires a heartbeat.missed alert and pages your on-call person. It's a dead-man's-switch — you're alerted by the absence of a signal.
Instead of you checking whether a job ran, the job tells you it ran — and silence becomes the alarm. If the expected check-in stops arriving (the job failed, hung, or the server is down), the missing signal triggers the alert. It catches the failures that never send an error.
Add one line that calls the monitor's ping URL after a successful run — for example a curl at the end of your script, or chained after your cron command with &&. Both GET and POST work, so it's a one-liner from cron, a systemd timer, a Kubernetes CronJob, CI, or Windows Task Scheduler.
Then the job can't send its check-in, the ping stops arriving, and FlowAlert alerts you — that's the point of a heartbeat. Note that heartbeats watch for check-ins coming from your side; FlowAlert isn't actively polling an external website URL the way an uptime checker does.
Yes. A missed-job alert follows your escalation chain — if the primary on-call person doesn't acknowledge within your window, it rolls to the next person automatically, with a full audit trail of who was paged and when.
The heartbeat mechanism is the same idea, but FlowAlert pairs it with real on-call schedules, escalation, and acknowledged mobile push — and the same workspace also routes your business events (orders, bookings, form submissions). One tool for “did the job run?” and “did the order come in?”, at flat pricing.
Yes — push via APNs on iOS and FCM on Android, on the lock screen with sound even when the app is closed, with tap-to-acknowledge.
Free to start, and Pro is a flat $29/month — no per-monitor or per-seat pricing.
Set up FlowAlert in under two minutes: connect a source, define your first routing rule, and the right person’s phone knows from then on.
No card required · Free plan forever · REST API included