Skip to content

Recurring work

How to set a job to repeat, the five cadences on offer, and the three behaviours that surprise people — no questions, no catch-up, and a spend limit counted per occurrence rather than across the schedule.

You can set a job to run on its own schedule. On the Tasks screen the composer has a clock control next to it; leave it on Just once for a one-off, or pick a cadence and the button changes from Run it to Schedule it. The same control appears as a chip on the Home and chat composers when what you typed sounds like a repeating job.

Three things about a repeating job differ from a one-off in ways that are worth knowing before you set one up, so they are near the top: it cannot ask you anything, a missed run is not made up, and the limit you set is counted per occurrence, never across the schedule.

There are exactly five, and there is no custom time, no custom day and no way to write your own schedule:

Option When it runs
Every morning Every day at 09:00
Weekdays at 9am Monday to Friday at 09:00
Mondays at 9am Once a week, Monday at 09:00
Every hour Every hour
Every 30 minutes Every half hour

The daily and weekly options run at 09:00 in your time zone, taken from your browser when you set the schedule up. The two interval options have no time of day at all — they just count from when you created them.

An occurrence runs with nobody there. The ability to stop and put a question to you is withdrawn entirely for scheduled runs — not reduced, removed. A one-off run may open up to three rounds of questions; a scheduled run gets none.

So a recurring instruction has to be self-sufficient. Anything a normal chat would have clarified with you, a scheduled run has to guess. Write the instruction as if you will not be reachable, because you will not be: name the source, the format, the destination and what to do about an edge case, in the instruction itself. You get up to 2,000 characters, which is more room than you think.

The approval setting you chose still applies to every occurrence, so it will still stop before anything leaves the app if that is what you asked for. Stopping like that costs nothing while it waits — see When it checks with you.

If an occurrence fails, or the moment passes while nothing is listening, that occurrence is gone. The schedule moves on to the next time and does not catch up. There is no backfill, no queue of skipped runs, and no “run it now” to replay a missed one.

Design around it rather than against it: a job whose value depends on never missing a single window is a poor fit for a schedule, and a job that reads the current state of something every morning tolerates a lost morning fine.

Every run is its own run, and its own bill

Section titled “Every run is its own run, and its own bill”

The Repeating block on the Tasks screen says it in one line: “Runs on its own — each run is billed as its own receipt.”

Read that as a budget statement, because that is what it is. The ceilings are per occurrence, not per week and not per schedule. There is no series budget and no period budget anywhere in the product. An Every 30 minutes schedule is up to 48 independent runs a day, each one allowed its own full ceiling. Nothing adds them up and stops.

Before you pick a fast cadence, do that multiplication yourself. See Limits for the per-run ceilings and How billing works for where each run’s charge lands.

Every schedule gets its own conversation, named after the instruction, and all of its occurrences run there in sequence — so the history builds up in one place rather than scattering, and each run can see what the previous ones did.

The schedules themselves are managed in the Repeating block on the Tasks screen. Each row shows its cadence and its instruction, with two controls:

  • Pause stops it firing, and keeps it. Resume starts it again. A paused schedule costs nothing and fires nothing.
  • The bin deletes it outright.

Both take effect immediately. If you have no schedules, the block is not there at all — which is also how you can tell you have none.

There is no end date and no “run it ten times then stop”: a schedule runs until you pause or delete it. Set the ones you want, and check the block occasionally to make sure you still want them.

Files you attached to the message do not come along into a schedule. A recurring instruction is words only. If the job needs a document every time, keep it on the assistant instead of on the message — see Assistants — or have the instruction fetch it from a connected app.