Quickstart

Five minutes from a fresh signup to a working dead-man's switch on your nightly cron.

1Create an account

Head to /auth/signin and click in with email. You're on the Free tier automatically — five monitors, no card required.

2Create the monitor

Open the dashboard, click New monitor, pick cron heartbeat, and tell us the schedule:

  • Interval— “every N minutes/hours” (simplest)
  • Cron — full 0 2 * * *-style expression in your chosen timezone

Set a grace period — how long after the expected time we should wait before paging you. The default is 30 minutes; tighten it if your job is critical.

3Copy the heartbeat URL

On the monitor's detail page you'll see a URL of the form:

https://api.gochron.com/ping/<slug>

Hit it from your job. GET or POST both work; we record the request body up to 10 KB so you can include a status line if you like.

4Ping it from your scheduler

The simplest version is a one-liner appended to your cron entry:

0 2 * * * /usr/local/bin/run-backup.sh && curl -fsS -m 10 \
    https://api.gochron.com/ping/<your-slug>

Two extra knobs you may want:

  • /start — call before the job runs to record start time
  • /fail — call when the job exits non-zero so we can open the incident immediately rather than waiting on the grace period
#!/usr/bin/env bash
URL=https://api.gochron.com/ping/<your-slug>
curl -fsS -m 10 "$URL/start"
if /usr/local/bin/run-backup.sh; then
  curl -fsS -m 10 "$URL"
else
  curl -fsS -m 10 -d "exit=$?" "$URL/fail"
fi

5See the result

Refresh the monitor's detail page after the next scheduled run — the latest ping shows up in the table along with anything your job sent in the body.

When a ping is missed past the grace window, the monitor flips to late and the alert pipeline fires. Hook up an email or SMS channel under Alert channels; on Pro+ you can route through an on-call schedule instead.

Next: add an HTTP uptime check · set up on-call · publish a status page.