August 4th 2023


Heartbeat checks now available in beta

We are thrilled to announce the beta release of the new Heartbeat check type!

Heartbeat checks are checks that await pings from external sources, such as scheduled backup jobs, database updates, imports, or any other recurring tasks you want to monitor.

You might have seen this type of check also called "deadman's switch" or "cron job monitoring".

Getting started

Heartbeat checks can be added to a wide variety of jobs by having the job ping the URL provided in the check. Here is a simple example of adding a heartbeat ping to any bash cron job scheduled in your cron tab:



curl -m 5 --retry 3 $PING_URL; 

Or you might be using Heroku Scheduler or Render cron jobs to run scheduled task. Just add the ping with a simple &&:

Or just call it from code using your favourite HTTP client:

// run-backup.ts

import axios from 'axios'

const pingUrl = '' 

await axios.get(pingUrl)

Additional examples of including a heartbeat ping in your jobs are available on the check creation page, and more will be added to our documentation before Heartbeat checks leave beta.

Using the Checkly CLI or Terraform

This beta release also includes full support for the Checkly CLI and alerting capabilities, allowing you to include heartbeat checks in your monitoring as code workflow form day one. The HeartbeatCheck construct is available in Checkly CLI v4.0.14

import { HeartbeatCheck } from 'checkly/constructs'
import { slackChannel } from './alert-channel'

const hbCheck = new HeartbeatCheck('my-hbcheck-001', {
    name: 'Run backup job',
    period: 7,
    periodUnit: 'days',
    grace: 2,
    graceUnit: 'hours',
    alertChannels: [

We've also updated our Terraform provider with a the new Heartbeat resource.

Looking for help?

We look forward to hearing what you think of heartbeat checks!

Heartbeat checks are available on the following plans:

  • Team with a quota of 15 Heartbeat checks.

  • Enterprise with a base quota of 100 Heartbeat checks.