Manage legacy Devin scheduled sessions and create new recurring or one-time scheduled work as automations with a Schedule trigger.
Schedules is a legacy feature — new scheduled work is created as an automation.Automations support schedule triggers along with event-driven triggers (Slack, GitHub, Linear, webhooks), conditions, invocation limits, and more. To run Devin on a schedule, open Automations in the sidebar, click Create automation, and add a Schedule trigger. Existing scheduled sessions will continue to work, and Devin can help migrate them to automations — just ask.
Scheduled Sessions let you create Devin sessions that run automatically — either on a recurring schedule or as a one-time run at a specific date and time. Use them to automate repetitive tasks like daily reports, periodic code maintenance, routine data analysis, and more.
Select one or more repositories for the scheduled session to work in. When repositories are selected, they are included as a hint in the session prompt so Devin knows which repos to focus on. Leave empty to let Devin determine the relevant repositories from the prompt.
For recurring schedules, set how often the schedule should run. The frequency editor supports two modes:Visual mode provides preset options:
Hourly — Run every N hours
Daily — Run at a specific time every day
Weekly — Run at a specific time on selected days of the week
Times are displayed in your local timezone but stored as UTC internally. The editor handles the conversion automatically.
Custom mode lets you enter a standard cron expression directly (e.g., 0 9 * * 1-5 for weekdays at 9 AM UTC). This gives you full flexibility for complex schedules.
For one-time schedules, pick the date and time when the session should run. The time is entered in your local timezone and converted to UTC automatically. One-time schedules must be set to a time in the future.After a one-time schedule executes, it is automatically disabled. The schedule and its past sessions are preserved for audit purposes.
You can optionally send notifications about scheduled session runs to a Slack channel. When configured, Devin posts updates to the selected channel when the schedule runs. This requires a connected Slack integration in your organization settings.
By default, sessions created by a schedule are attributed to the user who originally created the schedule. When editing a schedule, you can update this so that future runs are attributed to you instead. This is useful when schedule ownership changes hands — the new owner receives notifications and the sessions appear under their account.
Write the instructions that Devin will follow each time the schedule runs. This is the same as the prompt you would type when starting a regular Devin session.
Existing schedules don’t have a sidebar entry. Open app.devin.ai/settings/schedules to see all your legacy scheduled sessions. The list shows each schedule’s name, frequency, last run time, and status.
Click on any schedule in the list to view its details. Click Edit to modify its configuration, including the name, prompt, agent, playbook, repositories, frequency, notification settings, run-as user, and whether it is enabled or paused.
You can pause a schedule by editing it and toggling the Status switch to Paused. Paused schedules will not create new sessions until re-enabled. Toggle it back to Active to resume.
Click the three-dot menu on a schedule’s detail page and select Delete. This permanently removes the schedule. Past sessions created by the schedule are not affected.
Each schedule detail page has a Past Sessions tab that lists all Devin sessions created by that schedule. Click on any session to navigate to its full session view. This is useful for reviewing outcomes, debugging failures, or auditing what the schedule has been doing over time.