← Tutorials
BUILD · AUTOMATION · 8 MIN

Make your agent run on a schedule

7:04 a.m. I'm asleep. A table of the morning's best three jobs is already in my inbox, filtered to my criteria, duplicates gone. I didn't touch my laptop. The agent that wrote it is the exact same one from the last build. The only thing I added was a time.

For
anyone with an agent task they're tired of launching by hand
Needs
Claude Code and a task to run, like the job scout
Time
8 minutes

The job scout you built is a one-off: you open Claude Code, paste the task, watch it run. Useful, but you still have to remember to do it. The version that keeps working on its own is not more code and not a server you babysit. It's the same task dropped into a scheduled task: a clock fires it, it does the work, and a final step delivers the result. Here's the whole move.

1. Start from the task you already have

A schedule runs a prompt. So before you schedule anything, lock the task into one block you can hand over word for word, ending with how you want the result delivered:

> Check these three job boards: [link 1], [link 2], [link 3].
  Keep only remote dev or AI-automation roles open to LatAm,
  paying 2000 USD/month or more (or with no salary listed).
  Remove the repeats. Then email me the result as a table:
  Role | Company | Link | Fit (one line).

Save it somewhere the schedule can reach the same words every time, like a scout.md in the folder, so you're not retyping it and every run is identical.

2. Hand it to a schedule

In Claude Code, run /schedule and say when and what. You describe the time in plain language:

> /schedule
> Every weekday at 7:00 a.m., run the job scout in scout.md
  and email me the table.

It sets the task up as a routine that runs in the cloud, on its own, and confirms it:

✓ Scheduled: "job-scout"
  Runs:     Mon–Fri at 07:00   (0 7 * * 1-5)
  Next run: tomorrow, 07:00

Notice your "every weekday at 7 a.m." became 0 7 * * 1-5. That five-field line is cron, the standard way computers say "when": minute, hour, day, month, weekday. You never have to write it. Describing the time is enough, but now you know what it is when you see it.

3. Make sure the result reaches you

This is the part people skip. A one-off run is fine writing to a file because you're sitting right there. A scheduled run finishes while you're asleep, so the last step has to deliver, or the work happens into the void. "Email me the table" is that delivery step. Swap in whatever you actually check:

4. Test it without waiting until tomorrow

Never trust a schedule you've never seen fire. Trigger one run now, by hand, and check the result actually lands where you said:

> Run the job scout now, once, so I can check it.

If the email shows up and the table is right, the schedule will do the same thing every morning. If the filter is off or nothing arrives, fix the prompt, not the schedule. The schedule is just the clock. The task is what does the work.

5. Change your mind later, by talking

A scheduled task isn't set in stone. You manage it the same way you built it, in conversation:

What you just did

You gave a task a heartbeat. No daemon, no server to maintain, no new code: the agent is identical to the one-off you already had. A clock triggers it and a final step delivers the result. The same move turns any one-off into a standing one, a morning news summary, a weekly price check, a daily backup-and-report. Build the task once, then decide how often it should run itself.

The hard part was never the schedule. It was describing the job well enough to trust it running while you sleep.

FOUND THIS USEFUL? GET THE NEXT ONE

Drop your email and I'll ping you when the next build goes up, with the code and prompts I used. No spam.

More tutorials ↗