Recurring schedules

Each agent can run recurring tasks against itself. The agent wakes up on the schedule, does the work, and pings you.

Creating

Right-click the agent → Schedules, or open the agent → Schedules tab. Click "New schedule":

  • Schedule expression — when it fires.
  • Task — what the agent should do (free-text prompt).
  • Notify — whether to ping you on completion (default on).

The dialog shows the next 3 fire times so you can sanity-check the schedule.

Schedule format

Standard 5-field schedule expression:

minute  hour  day-of-month  month  day-of-week

Examples:

  • 0 9 * * 1-5 — every weekday at 9am
  • */30 * * * * — every 30 minutes
  • 0 17 * * 5 — every Friday at 5pm
  • 0 9 1 * * — first of each month at 9am

What happens at fire time

  1. Cubicle wakes the agent's session.
  2. Sends the task prompt as a message.
  3. The agent works through it — same tools, files, memory as a normal chat.
  4. On completion, you get a notification with a link back to the chat.

The agent can use cubicle commands during the run — file todos, write notes, send a meeting invite, etc.

From the agent side

The agent can manage its own schedules:

cubicle('schedule list')
cubicle('schedule create --cron="0 9 * * 1" --task="weekly retro draft"')
cubicle('schedule delete <id>')

Tip

Combine schedules with memory: "every Monday 9am, draft a weekly plan from notes.md and put it in todos.md." The schedule does the prep, you arrive Monday with the work staged.

See also: Calendar view.