Skip to main content
Once your project is set up, the real payoff is automation: the same agent, run unattended on a cadence. A Monday performance scorecard. A mid-month pacing check. An alert the moment a campaign’s CPA drifts past your target. You wake up to the answer instead of remembering to ask.

What your assistant calls it

Every client has this feature — the name and the reliability differ. On most hosts you create one just by asking — “every Monday at 9am, review my campaigns and post the three things worth my attention.” No UI hunting required.
The one that bites: a Claude Code local scheduled task only runs while the desktop app is open and your computer is awake. A laptop asleep at 9am silently skips the run (on wake it starts one catch-up for the most recently missed time and discards the rest). For anything that matters — budget pacing, spend spikes, disapprovals — create a remote routine instead: it runs on Anthropic’s infrastructure with the machine off. Cowork and ChatGPT scheduled tasks don’t have this problem.
Codex hooks (SessionStart, PostToolUse, …) are event handlers, not a scheduler — never use one for a recurring report.

Write a recurring prompt that behaves

A scheduled prompt is different from a chat message: no one is there to answer a follow-up, and it may fire hours late. Write for that.

Describe the result, not the steps

Say what you want to arrive — “a scorecard with spend, conversions, CPA, ROAS, and the three things worth my attention” — and let the agent plan the tool calls.

Goal · Context · Output · Boundaries

The four parts of a good work prompt: what to do, what to look at, the format and length, and what must stay unchanged.

Add a late-run guardrail

A 9am task might fire at 11pm after a sleep. Add: “Only look at today’s spend; if it’s past 6pm, just summarize what changed.”

Refine first, then schedule

Get the prompt producing a reliable result in a normal chat, then turn that into the scheduled version. Don’t schedule a prompt you haven’t seen run.
Keep it read-only unless you mean otherwise. A scheduled run that changes budgets or status spends real money with no one watching — say “propose, don’t change” unless you’ve built the full safety model for unattended writes.

What a schedule costs

Every scheduled run re-runs the work, which means it calls Adspirer tools again — each run draws on your monthly tool-call quota exactly like a live conversation. A daily review costs roughly thirty times a monthly one. Pick a cadence your plan can carry, and say what it should watch. Weekly is the right default for a review; daily is for accounts spending enough to justify it. Checking your usage is free — ask “what’s my usage this month?” any time.

Example task prompts

A monitoring task re-checks and stays quiet until there’s something worth saying — the right shape for “tell me if my CPA moves.”

Going further: unattended optimization

The examples above only read and propose. To let a scheduled task actually write changes — reallocate budget, pause dead campaigns — you need the full safety model: shadow mode, per-run change caps, one writer per portfolio, propose-vs-act, and a kill switch. That’s covered in depth here:

Cowork for Ad Ops

The seven-property safety model for a self-optimizing task you can trust.

Set up your project

Instructions, context, memory, and connectors — the foundation a schedule runs on.
Last modified on July 10, 2026