Skip to content
Strategy scheduled-agents cron ai-agent-triggers

The Cron Expression Is the Product

A chat agent runs when you remember it. That is the whole difference, and it is
larger than it sounds.

Every conversational assistant shares one structural property: the human is the
trigger. Nothing happens until someone opens a tab and types. The quality of the
model sets the ceiling on the answer, but the frequency of the human sets the
ceiling on the value. If you forget to ask on Tuesday, Tuesday produced nothing.

A scheduled agent inverts that. The trigger moves from the human to the clock,
and the agent's output becomes something you receive rather than something you
fetch. Same model. Same prompt. Completely different relationship.

The line that does the work

Here is the trigger from the research-digest blueprint that ships with the
RSS digest playbook:

"triggers": [
  { "type": "schedule", "schedule": "0 8 * * 1-5" }
]

Read it field by field: minute 0, hour 8, any day of the month, any month,
days of week 1-5. Eight in the morning, Monday through Friday. That is the
entire specification of a commitment that would otherwise live in someone's
head and get skipped during a busy week.

Every playbook in the library ships at least one of these. They are not all the
same, because the workflows are not all the same:

Agent Workflow Schedule In words
Sage Daily research digest 0 8 * * 1-5 Weekdays, 08:00
Atlas Refresh prospect digest 0 8 * * 1-5 Weekdays, 08:00
Otis Send morning check-in 0 9 * * 1-5 Weekdays, 09:00
Reign Community pulse 0 9 * * * Every day, 09:00
Echo Repurpose latest blog 0 10 * * 1-5 Weekdays, 10:00
Mira Draft next chapter 0 7 * * * Every day, 07:00
Lint Pre-review pull requests 0 17 * * 1-5 Weekdays, 17:00
Halt Yesterday's incident summary 0 17 * * * Every day, 17:00
Tessa Office-hours digest 0 18 * * 1-5 Weekdays, 18:00
Praxis Tomorrow's drafts 0 19 * * 1-5 Weekdays, 19:00
Vela Draft monthly investor update 0 7 1 * * 1st of the month, 07:00

Those hours are not decoration. Lint runs at 17:00 because a pull request opened
during the day should have a pre-review waiting when the reviewer sits down.
Praxis runs at 19:00 because a proposal drafted tonight is a proposal you edit
tomorrow morning instead of writing from scratch. Vela runs on the first of the
month because that is when the update is due. The cron expression encodes the
judgment about when the work is worth doing, and that judgment is most of the
product.

What changes once the human stops being the trigger

Moving the trigger to the clock is not free. Three things that a chat agent can
get away with become load-bearing.

Memory stops being a nicety. In a chat, repetition is obvious — you can see
the last answer above the new one. On a schedule, nobody is watching, so the
agent has to remember on its own. That is why every blueprint in the library
pairs its scheduled task with a named memory store and reads from it before
writing. Sage keeps paper-history and checks it before adding an entry, with
one explicit instruction: never re-surface. Atlas keeps prospect-history so a
closed-lost contact is never pinged twice. Without that, a daily agent becomes a
daily duplicate.

Output has to be self-contained. A chat reply can assume context, because
the context is on screen. A scheduled result lands in Slack, or an inbox, or a
feed, hours after anyone thought about it. Sage's instruction is three lines per
paper — claim, method, why it matters — because that is a format that survives
being read cold at 08:00.

Failure gets quiet. A chat agent that fails is obvious; you are standing
there. A scheduled agent that fails is invisible unless it reports. That is why
scheduled runs land in the run history with their logs and their artifacts, and
why channels are configured on the agent rather than assumed.

The honest constraint

A daily schedule needs a daily allowance. On the free Starter tier the
steady-state cap is one run per day, raised to ten for the first fourteen days
of an account. That is enough to build the agent, watch it produce something
real, and decide — and it is genuinely not enough to run a weekday
digest and anything else on the same day.

This is the least comfortable sentence in this post, so it is worth stating
plainly rather than burying: "run this every weekday morning" is the thing the
paid tiers are for. Not the model, not the number of agents. The frequency.
The full breakdown of what the free tier does and does not cover is in
what a free account can actually do.

Where to start

Pick a workflow you already do on a rhythm and are already bad at keeping. Then
clone an agent that has the rhythm written into it — the
RSS digest playbook is the shortest
path, because the whole thing is one scheduled task, one memory store, and two
channels.

Run it once by hand to see what it produces. Then leave the cron alone and let
Tuesday take care of itself.

🚀 Ready to build this yourself?

Create the agent described in this article in under 2 minutes — no code required.

Try It Free → Book a Demo

Liked this article? Get more every Friday.

Join the AI Agent Playbook newsletter — weekly blueprints, case studies, and platform updates for builders.

No spam. Unsubscribe any time.

Share this article
𝕏 Share 🔗 LinkedIn
Playbooks

Turn this into a working agent

Browse all playbooks →
Build a Content-Distribution Agent for Marketers
Marketer Intermediate

Build a Content-Distribution Agent for Marketers

One blog post in. Five platform-native posts out. Echo writes the X thread, the LinkedIn carousel script, and the feed teaser — all in your brand voice.

  • Three platform-native drafts in your queue every weekday by 10 AM.
  • Echo never re-distributes a post that's already shipped.
Clone this agent →
Build an Outbound Prospector for Founders
Salesperson Intermediate

Build an Outbound Prospector for Founders

Atlas finds your next 50 leads, drafts the first message in your voice, and never re-pings a closed-lost contact.

  • 50 hand-picked leads on your desk every weekday morning.
  • Atlas drafts the opener; you ship it in one click.
Clone this agent →
Build an Investor-Update Agent for Founders
Founder Intermediate

Build an Investor-Update Agent for Founders

Vela reads your metrics dashboard, drafts the monthly investor update in your voice, and publishes only after you approve.

  • A 600-word investor update on the 1st of every month, drafted before 8 AM.
  • Numbers are sourced from your dashboard — no copy-paste errors.
Clone this agent →

Ready to build this agent?

Setup takes less than 2 minutes. No coding required.

Start Building Free →
Image
Copy link
X
LinkedIn
Reddit
Download