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.
- Write your prompt as usual. Describe the outcome you want.
- Select your repo, agent, and model. Same controls you already know.
- Open Task Options (the gear icon) and check "Schedule this task."
- 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-5for 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:
- A fresh cloud sandbox spins up
- Your repository is cloned
- Your chosen AI agent runs with your prompt
- The agent writes code, runs commands, pushes to a branch, opens a PR, or whatever the task calls for
- 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 auditdaily, attempt patches for high-severity CVEs, open a PR tagging the security team