Regular monitors check your service from the outside. A heartbeat flips that around — your job checks in with Watchplane after each successful run. If the check-in stops arriving, you get alerted.
This is ideal for anything that runs on a schedule: nightly backups, data imports, report generation, queue processors, or any job that should run regularly and silently.
How it works
- Create a heartbeat in your project and give it a name and expected interval
- Watchplane gives you a unique ping URL
- At the end of each successful run, your job makes a simple HTTP request to that URL
- If Watchplane doesn’t receive a ping within the interval (plus any grace period you’ve set), it creates an incident
That’s it. No agents to install, no special libraries — just a single HTTP request from your existing job.
Creating a heartbeat
In your project, click Add monitor and choose Heartbeat. Configure:
Name — something descriptive like “Nightly database backup” or “Invoice sync job”.
Expected interval — how often the job should ping. Set this to match your cron schedule: hourly, daily, every 15 minutes, etc.
Grace period — extra time to wait before alerting. If your job usually finishes in 30 minutes but occasionally takes 45, set a 20-minute grace period to avoid false alarms.
Reading ping history
The heartbeat detail page shows a timeline of every ping received, including the timestamp. Use this to verify your job is running on schedule and to diagnose missed runs.
Next steps
- Ping URL reference — how to send pings from cron, shell scripts, Node, Python, and GitHub Actions