Scheduling
Setting up a scheduled Loop
Section titled “Setting up a scheduled Loop”A Loop on the Free plan runs at most once a day, and a run that would start sooner is skipped.
- Go to Console → Loops and choose Create Loop
- Select the trigger type Scheduled and give the Loop a name
- Choose a frequency: One time, Every hour, Daily, Weekly, Monthly, or Custom (cron), and set the time
- Under Instructions, write what the agent should do on each run (Generate with AI drafts it from the Loop’s name)
- Select an Internal agent (scheduled Loops require Internal agents)
- Choose Create Loop. The Loop is on straight away
Common schedule examples
Section titled “Common schedule examples”| Use case | Cron |
|---|---|
| Every weekday at 9:00 AM | 0 9 * * 1-5 |
| Every Monday at 8:00 AM | 0 8 * * 1 |
| Every hour | 0 * * * * |
| 1st of each month, 9 AM | 0 9 1 * * |
| Every 15 minutes (the most often a custom schedule can run) | */15 * * * * |
Writing scheduled instructions
Section titled “Writing scheduled instructions”Since there is no user input, make instructions self-contained:
Your task on each run:
1. Pull GitHub issues opened in the last 7 days from acme/app2. Group them by label (bug, feature, question)3. Count open vs. closed4. Write a brief weekly summary5. Post the summary to #engineering on SlackTimes are in UTC
Section titled “Times are in UTC”A Loop you create in the Console runs on UTC: the dialog labels its times Time (UTC), and cron expressions are read in UTC too. Convert from your local time when you set it.
A recurring Loop (every hour, daily, weekly or monthly) may start a few minutes after its set time, so that many Loops set for the same minute don’t all start at once. The delay is fixed for each Loop and is never more than 15 minutes. One-time and custom cron Loops start on time.
Monitoring scheduled runs
Section titled “Monitoring scheduled runs”View these runs in Runs; open one to see that it was Scheduled. When the last run failed, the Loop’s row says Last run failed with the error. Failed runs show the error message from the agent run — check credits, agent instructions, and integration connections if a run fails repeatedly.

