Home/Docs/Scheduled Tasks

Scheduled Tasks

Documentation and guides for OutcomeDev.

Run any OutcomeDev task autonomously, on a schedule you define. One-time or recurring, the system handles execution in the background with your credentials, your agent, and your repo.

Setting Up a Scheduled Task

Scheduling is built into the same task form you use for manual tasks.

  1. Write your prompt as usual. Describe the outcome you want.
  2. Select your repo, agent, and model. Same controls you already know.
  3. Open Task Options (the gear icon) and check "Schedule this task."
  4. Choose Once or Recurring.

One-Time Schedules

Select Once and pick a date and time using the datetime picker. OutcomeDev will execute the task at that exact time, then mark the schedule as completed.

This is useful for things like running a migration overnight, upgrading dependencies while you sleep, or kicking off a test run before Monday morning standup.

Recurring Schedules

Select Recurring and choose a recurrence pattern from the dropdown:

  • Every 1 minute (Pro)
  • Every 5 minutes (Pro)
  • Every 15 minutes (Pro)
  • Every 30 minutes (Pro)
  • Every 1 hour
  • Every 12 hours
  • Every 24 hours
  • Custom Interval: set your own (e.g., every 3 hours, every 2 days)
  • Custom cron: write a raw cron expression for full control (e.g., 0 9 * * 1-5 for weekdays at 9 AM)

Note on Timezones: Your browser timezone is automatically detected and stored with the schedule. If you create a recurring task for "9 AM" while in PST, it will always fire at 9 AM PST. No UTC conversion needed.

What Happens When a Schedule Fires

When the scheduled time arrives, OutcomeDev executes the task the same way it would if you clicked the button yourself:

  1. A fresh cloud sandbox spins up
  2. Your repository is cloned
  3. Your chosen AI agent runs with your prompt
  4. The agent writes code, runs commands, pushes to a branch, opens a PR, or whatever the task calls for
  5. The sandbox tears down when complete

The task uses your API keys and your GitHub identity. Commits appear under your name. The agent has the same permissions as a manual task.

Managing Schedules

The Scheduled Tasks page is accessible from the Calendar icon in the navigation bar or at /scheduled.

From there you can:

  • View active schedules with a live countdown timer to the next run
  • Pause a schedule to temporarily stop execution
  • Resume a paused schedule
  • Delete schedules you no longer need
  • View completed and cancelled schedules for reference

Run History

Every execution is tracked. Expand any schedule to see its full run history, where each run shows:

  • Status badge: completed, running, failed, or skipped
  • Link to the task: click through to see logs, code changes, and chat
  • Agent and model: which AI and model combination ran
  • Duration: how long the task took
  • Branch name: the git branch that was created
  • PR link and status: opens directly to GitHub showing open, merged, or closed
  • Error details: if something went wrong, you see exactly what happened

Not every task creates a PR or a branch. The run history simply shows what the task actually produced.

Pricing and Limits

Scheduled tasks count against your normal sandbox requests and runtime, identical to running them manually.

Free Plan:

  • Up to 2 active schedules
  • Hourly minimum recurrence
  • Standard daily sandbox limit applies

Pro Plan ($20/mo):

  • Unlimited schedules
  • Minute-level recurrence unlocked
  • Full background execution

Use Cases

  • Nightly dependency upgrades: bump minor versions, run the test suite, open a PR if everything passes
  • Weekly E2E health checks: run Playwright against staging every Monday, create an issue with logs if anything fails
  • Recurring code cleanup: have an agent clean up dead imports and standardize error handling every night
  • Automated report generation: connect MCP servers to databases, query metrics weekly, commit a Markdown summary
  • Security audits: run npm audit daily, attempt patches for high-severity CVEs, open a PR tagging the security team