← ResourcesField notes

Cron job or heartbeat: the question behind every AI agent

Vladimir de Ziegler · June 4, 2026 · 6 min read

You already run more cron jobs than you think.

The invoice that goes out on the first. The report that lands in your inbox every Monday. The backup that runs at 2am while everyone's asleep. Nobody calls any of that AI. It just runs, the same way, every time. You trust it precisely because it never decides anything.

The thing everyone's selling you now is the other kind. An agent that wakes itself up, looks around, and decides what to do next. Autonomous, agentic, a digital employee, take your pick. I call it a heartbeat.

One of these is the safest automation you own. The other one nearly cost me a deal.

My thumb was on the send button when I checked the source.

The news was two years old.

Let me back up. I'd built an AI agent that watches my prospects overnight and tells me what to do next. That morning it handed me a good one. A reason to reach out. I'd already drafted the note:

“Congrats on the launch of your first store in Dubai.”

Except the store opened two years ago. And I was about to send that to a guy I'm trying to sell on building exactly this kind of system.

I put the phone down and sat there for a second.

DRAFT · 1:00 AMCongrats on the launch of yourfirst store in Dubai.SOURCE: 2 YEARS OLDSend
The agent drafted it overnight. The store had opened two years ago. My thumb was on Send.

One follows a script, the other decides

That agent was a heartbeat. Nobody told it to flag the Dubai store that morning. It woke up, read my pipeline, and decided that one was worth my time. A cron job would never do that. A cron job runs the steps you already wrote, in the same order, every time.

Anthropic draws the line the same way. A workflow follows the steps you wrote, an agent picks its own. The cron job is the workflow. The heartbeat is the agent. Almost anything you'd point an AI at is one or the other.

ROUTINE · CRONsame script, every timevsAGENT · HEARTBEATwakedecides what is worth doing
A cron does what you told it. A heartbeat decides what is worth doing.

Picture two versions of that overnight job. The first runs a fixed checklist: pull new signups, flag the big ones, send me the list. Same every day. The second reads the same data and decides what actually matters tonight. The first one will never surprise you. The second one found me a merger.

A boring routine for the 80% you can predict. A heartbeat for the 20% you can't.

Deterministic routine · the boring 80%Heartbeat · 20%predictable, debuggable, cheapthe edge cases

Cron jobs are older than AI

None of this is new, by the way. Cron jobs have quietly run the same script every night since the 1970s. Your bank reconciles accounts on one. Your servers rotate their logs on one. Boring, scheduled, dependable.

What changed is the thing waking up. It can now read files, run tools, and decide what the script should even be. For decades the playbook sat in a doc that a human had to open and follow. Now it can wake itself up and act.

That's the whole shift. Everything else is detail.

Most of your work is a cron job

This is the part people skip. The pitch online is always the heartbeat. Set a goal like “make me $1M in ARR,” let the agent run your company while you sleep. It makes a great demo.

But most of the work is predictable. You already know the steps. A renewal check, a daily pipeline summary, a standup digest. If you can hand someone the checklist, a cron job that runs it the same way every time is all you need.

The heartbeat is just an agent with more autonomy. You give it an objective and the context around it, and it works out what to do next and prioritises on its own. That freedom is the whole point. It's also why you keep it on a short leash: one job at a time, and it never gets to hit send.

The heartbeat earns its place on the edge

Here's where the heartbeat is worth it. One night it spotted that a company in European fish farming had announced a merger.

On its own, it figured the acquired company's clients were about to get deprioritised in the shuffle. So it told me to build a small agent to find those orphaned clients before anyone else did.

I wouldn't have made that connection. A cron job definitely wouldn't.

That turned into a slide. Then a meeting. This week I sat down in person with that company's leadership team to run an AI transformation plan.

1:00 AM · SCANNING SIGNALSmergerclients at riskthe wedge
At 1am it connected three dots I would never have linked — and that became a meeting.

That's the heartbeat earning its 20%. It found an opening I'd never have seen. And the maths isn't subtle:

3 / 8
enterprise prospects it flagged became booked meetings
2 hrs
saved every day
$20/mo
flat ChatGPT sub — no runaway bill
$10–120k
per enterprise deal
It paid for itself before lunch on day one.

That's what the 20% pays for.

The heartbeat is also where it bites you

Back to the send button. The same thing that let it find the fish-merger opening is the thing that nearly sent that Dubai note out under my name.

The near-miss rattled me. Here's the bit that got under my skin: the agent is a bit of a black box, and it had been right so many times in a row that I'd stopped checking. I sell building these things to clients. So the one time it makes me look like I didn't do my homework, that's the whole business on the line.

So I coached it, the way you'd coach a junior who just made a confident mistake. I sent it a voice note on Telegram:

Review the article yourself, attach the source URL whenever you suggest I reach out, and filter out any signal older than two weeks.

It rewrote its own skill file. I never touched a config. Now every draft comes with its sources, and two-year-old news doesn't reach me anymore.

That's the whole system, really. The heartbeat thinks and drafts. I decide, every time. Hitting send is the one place I want zero surprises:

  • It drafts, it never sends. Nothing it makes reaches the outside world without me.
  • Every draft comes with its sources, so I can check a claim in five seconds.
  • An LLM-as-judge screens drafts for fit before they reach me. Right client, right project, right angle.
  • I coach it in plain language, and it edits its own skills.
HeartbeatthinksDraft+ source URLLLM judgeICP fitYouapproveSend
It only ever drafts. Nothing reaches the outside world without you.

Sometimes the right move is to demote it

And sometimes the honest call is to take a job away from the heartbeat entirely. I had one scraping derivatives and settlement data off a regulator's site. It kept inventing new ways to scrape, the output got too messy to trust, and it burned through twice my Codex usage in under a week. So I demoted it to a cron job. Same checks every day, same comparison.

Boring. Reliable. Correct.

Demoting it was the right call. A cron job that runs beats a clever agent you can't trust.

How to tell which one you need

So how do you know which one you're building? Ask what happens when it runs.

If you can write down the steps, it's a cron job. If the steps depend on what shows up that day, you might want a heartbeat.

If a surprise would be a bug, build the cron job. If a surprise might be the whole point, that's the heartbeat doing its job.

60-second test

Cron job or heartbeat?

Five questions, straight from this article, and you'll know which one your task actually needs.

Take the test

Start small, and keep it leashed

If you want one of these, start small, tomorrow:

  • Point one agent at your open deals. One job you know well enough to catch when it's wrong. Not your whole company.
  • Run it once a day on a $20 sub. A flat subscription can't hand you the surprise bill a metered API can, and once a day is plenty. I learned the “once” part the hard way, from the same scraper I just demoted.
  • Let it draft the next move, with sources, and approve every send yourself.
  • Keep the boring routine for the 80%. Reach for the heartbeat only on the stuff you couldn't have scripted. The merger, the conference talk, the thing a cron would miss.

The promise online is that you set a goal and the agent runs your company. The version that actually works is smaller and a lot less exciting. A focused agent that handles the part you can't script, drafts every move for you to approve, and always shows its work.

Here's what took a near-miss to teach me. You leash it because it gets good.

Good enough that you stop checking. Right up until it asks you to congratulate a stranger for something he did two years ago.

Work with us

Want one of these, built right?

We help operators put AI into production. Determinism for the 80%, agents only where they earn it. From “it works in a demo” to “this is how we work now.”