Some things can't be checked from the outside — a nightly backup, a queue worker, a cron job. So they check in with us instead: each run pings a unique URL. If a ping doesn't arrive on time, the job has gone quiet — and we tell you.
You tell CuliPulse how often a job should run — say, every hour — plus a little grace for slow runs. You drop one line into the job to ping a unique URL when it finishes. As long as the pings keep arriving, all is well. Miss the window, and the monitor goes down and alerts you. It's the opposite of a normal check: here, no news is bad news.
Expect a ping every minute, hour, day — whatever your job's cadence is — with a grace period for the occasional slow run or clock skew.
Add one line — a curl at the end of the run. The console gives you the exact snippet for crontab, a shell script, Python, Node, Kubernetes or GitHub Actions.
Miss the deadline and the monitor goes down — with the same incident timeline and Telegram alerts as every other monitor. The next check-in clears it.
A job that runs but errors is just as broken as one that didn't run at all. So a heartbeat understands more than a plain ping:
End your command with a fallback — job && curl …/ping || curl …/fail — and a failed run flips the monitor down immediately, instead of waiting for the silence window. Or report an exit code directly.
Ping /start before the work and finish with a normal ping, and CuliPulse measures the run's duration. Set a limit and a run that takes too long is flagged — a job that's stuck or running away.
Create the monitor, and CuliPulse hands you a check-in URL plus a ready-to-paste snippet for your environment. The monitor's page shows a live "waiting for first check-in" that flips to ✓ received the moment your job pings — so you know it's wired correctly before you walk away.
A heartbeat is just an HTTP call from your own job — no agent, no inbound ports, no dependencies. If your job can reach the internet, it can check in.
The check-in URL carries a secret token — anyone with it can mark the job healthy, so keep it private. You can regenerate it any time to revoke the old one.
Heartbeats count as monitors on your plan like anything else. Add them when you want them; nothing is watched until you create it.
Create a heartbeat, paste one line into your job, and let silence do the alerting.
Start free