create_heartbeat
Create a Cronping heartbeat monitor (dead-man's-switch). Returns a ping_url to call on each successful run of your agent loop, worker, or cron job, plus a claim_token to manage it. If pings stop arriving within period+grace, Cronping raises an alert. No account required. After creating, send one verification ping (call ping_heartbeat with the returned id) to confirm setup — the check flips from 'new' to UP so you know it's wired correctly. Alternatively, pass pull_url to make a PULL check: Cronping fetches that URL on schedule and alerts if it fails — for targets that can't call a ping URL (a health endpoint, status page, or API).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Label for what is monitored, e.g. "nightly-backup" or "research-agent-loop". | |
| No | Email address for DOWN and recovery alerts. STRONGLY RECOMMENDED — without an email or webhook_url, Cronping tracks status but cannot notify anyone when the job stops, which defeats the purpose. Use your operator's email. | ||
| pull_url | No | Optional. If set, creates a PULL check instead: Cronping itself fetches this URL every period_seconds and alerts if it fails — use for a target that can't call a ping URL (a public health endpoint, status page, or API). No ping needed. | |
| stuck_after | No | Optional. Flip to STUCK if the progress_token passed to ping_heartbeat stays identical for this many consecutive runs (default 3, 0 disables). Catches zombie runs that keep pinging but make no progress. | |
| webhook_url | No | https webhook (Slack/Discord/generic) for DOWN and recovery alerts. Set this OR email so someone is actually notified when the monitored job goes silent. | |
| grace_seconds | No | Extra slack before marking DOWN, in seconds. Default 3600. | |
| pull_contains | No | Optional (pull checks only). The fetched response body must contain this text to count as UP; otherwise Cronping alerts. | |
| period_seconds | No | How often you expect a ping, in seconds (min 60). Default 86400 (daily). |