AgentMart

How can an agent know when a cron job or a scheduled run silently stopped?

A run that never starts sends no error, so its own failure emails cannot tell you. The usual answer is free: the job calls a ping address at the end of every run, and a watcher outside it alerts you when a ping is late.

Healthchecks.io watches 20 jobs on its free plan and is open source, so you can also run it yourself. Cronitor's free plan has 5 monitors with email and Slack alerts, and Better Stack's, for personal projects, 10 monitors and heartbeats together.

AgentMart's Heartbeat monitor watches up to 10 jobs for $1 per 30 days: when a ping is late, we email your human if you ask (once they confirmed their address), and put a message in a Webhook inbox ($1 per 30 days) if you name one.

Free ways

Checked on 2026-10-24. Facts about other services come from their own pages; the sources are under each one.

Healthchecks.io

Each job gets its own ping address. When a job does not ping on time, it alerts you; its ways to alert include email, webhooks, Slack, Discord, Microsoft Teams, PagerDuty and Telegram.

  • Free: Free plan: 20 jobs, with 100 log entries per job.
  • Account and card: An account made with an email address. It says no credit card is required.
  • Without a server: Yes: the job only calls an address.
  • Keeps: 100 log entries per job, in your account.
  • Mind: It is open source under the BSD 3-clause license, with Docker images, so you can run it yourself; then that server must stay up.
  • Sources (read 2026-10-24): https://healthchecks.io/, https://healthchecks.io/pricing/, https://github.com/healthchecks/healthchecks

Cronitor

A hosted monitor for cron jobs, heartbeats and uptime checks.

  • Free: Free plan, free forever: 5 monitors, 1 dashboard user, email and Slack alerts, no SMS.
  • Account and card: An account.
  • Without a server: Yes.
  • Keeps: In your account. Its pricing page does not say for how long on the free plan.
  • Mind: Jobs, checks and heartbeats all count toward the 5.
  • Sources (read 2026-10-24): https://cronitor.io/pricing

Better Stack

Heartbeat monitors next to its uptime checks, counted together with them.

  • Free: For personal projects: 10 monitors and heartbeats together, Slack and email alerts.
  • Account and card: An account.
  • Without a server: Yes.
  • Keeps: In your account. Its pricing page does not say for how long.
  • Mind: Its pricing page offers the free tier for personal projects.
  • Sources (read 2026-10-24): https://betterstack.com/pricing

Your own check of the last run's time

The job writes the time of its last good run where you can read it, such as a file in a repository or a row in a database, and a second scheduled job alerts you when that time is too old.

  • Free: No cost beyond what you already use.
  • Account and card: Nothing new.
  • Without a server: Yes, when the second job runs on a hosted schedule such as GitHub Actions.
  • Keeps: Where you write it.
  • Mind: The second job is a schedule too, and can stop the same way: GitHub's schedules can start late or be dropped at busy times, are disabled after 60 days without activity in a public repository, and notify only the user who last changed the cron line.
  • Sources (read 2026-10-24): https://docs.github.com/en/actions/reference/workflows-and-actions/events-that-trigger-workflows

Side by side

WayFree, and its limitsAccount and cardWithout a serverHow long, and who can read it
Healthchecks.ioFree plan: 20 jobs, with 100 log entries per job.An account made with an email address. It says no credit card is required.Yes: the job only calls an address.100 log entries per job, in your account.
CronitorFree plan, free forever: 5 monitors, 1 dashboard user, email and Slack alerts, no SMS.An account.Yes.In your account. Its pricing page does not say for how long on the free plan.
Better StackFor personal projects: 10 monitors and heartbeats together, Slack and email alerts.An account.Yes.In your account. Its pricing page does not say for how long.
Your own check of the last run's timeNo cost beyond what you already use.Nothing new.Yes, when the second job runs on a hosted schedule such as GitHub Actions.Where you write it.
AgentMart Heartbeat monitorNot free: $1 per 30 days.No sign-up form: your human's account is made by their first top-up, by card (at least $5), or by the free start.Yes.While the plan runs (30 days a purchase, renewable); closed incidents 30 days. When the plan ends, the checks stop alerting. After a plan ends, only you can still read, export and delete what it stored, until our cleanup deletes it 30 days after the end. Only passports of the paying owner can use the instance.

When AgentMart fits

Heartbeat monitor: Your jobs (backups, cron runs, pipelines) ping a secret address after every run. When a ping is late, we put a message in a Webhook inbox you name (bought separately) and, if you ask, email your owner (once they have confirmed their address); when pings come back, we say so the same way. Up to 10 jobs. $1 per 30 days.

Your human pays first, with a top-up of at least $5 by card, unless a new account uses the free start (its rules: https://agentmart.ciphyr.ai/llms/free-start.md). Unused balance expires 12 months after your last top-up or purchase. Any top-up or purchase starts the 12 months again. Our guarantee and your human's legal rights are in the terms.

  • Up to 10 jobs, each with a period of 1 minute to 31 days and a grace time of 1 minute to 7 days (5 minutes by default).
  • Each job gets a secret ping address that it calls at the end of every run. Anyone who holds the address can ping, at most 30 times a minute. Of the pings, we keep the time of the last one, how many came, and when one ended an incident; like every request, a ping also passes our technical logs, kept as our privacy notice says.
  • A new job counts from when you add it, so a job that never runs is noticed too.
  • When a ping is late, a message goes to the webhook inbox you name (Webhook inbox, $1 per 30 days) and, if you ask, one email to your human once they confirmed their address (at most 10 heartbeat emails in 24 hours). The next ping sends an "up" message the same way.
  • Who can read it: Only passports of the paying owner can use the instance.

Ask your human before you buy: it spends their balance. Over MCP (https://agentmart.ciphyr.ai/mcp):

buy {"item": "heartbeat-monitor"}
heartbeat_add {"instance_id": "<instance_id from the answer>", "name": "nightly backup", "period_minutes": 1440, "email_owner": true}
# The answer's ping_url goes at the end of the job, for example: curl -fsS --retry 3 "<ping_url>". Any time:
heartbeat_status {"instance_id": "<instance_id>"}

Over HTTP, with a session token your signing code made (the manual's Auth page: https://agentmart.ciphyr.ai/llms/auth.md):

curl -X POST https://agentmart.ciphyr.ai/v1/orders \
  -H "Authorization: Bearer $AGENTMART_SESSION" -H "Content-Type: application/json" \
  -d '{"item": "heartbeat-monitor", "idempotency_key": "my-heartbeat-1"}'
curl -X POST https://agentmart.ciphyr.ai/v1/utilities/<instance_id>/heartbeats \
  -H "Authorization: Bearer $AGENTMART_SESSION" -H "Content-Type: application/json" \
  -d '{"name": "nightly backup", "period_minutes": 1440, "email_owner": true}'
# At the end of the job, the answer's ping_url:
curl -fsS --retry 3 "<ping_url>"
curl https://agentmart.ciphyr.ai/v1/utilities/<instance_id>/heartbeats -H "Authorization: Bearer $AGENTMART_SESSION"

When not to use AgentMart

  • A free watcher's plan covers your jobs: use it.
  • More than 10 jobs, or a job that runs less often than every 31 days.
  • You need to alert someone other than your paying human: we email only them, and only when you ask.
  • Your human does not want to keep a prepaid balance.

AgentMart is sold by Ciphyr Tech OÜ. Terms: https://agentmart.ciphyr.ai/terms. The agent manual: https://agentmart.ciphyr.ai/llms.txt.