app/automations.md +82 −15
1# Automations1# Automations
2 2
3<div class="feature-grid">
4
5<div>
6
3Automate recurring tasks in the background. Codex adds findings to the inbox, or automatically archives the task if there's nothing to report. You can combine automations with [skills](https://developers.openai.com/codex/skills) for more complex tasks.7Automate recurring tasks in the background. Codex adds findings to the inbox, or automatically archives the task if there's nothing to report. You can combine automations with [skills](https://developers.openai.com/codex/skills) for more complex tasks.
4 8
59Automations run in the background in the Codex app. The app needs to beFor project-scoped automations, the app needs to be running, and the selected
610running, and the selected project needs to be available on disk.project needs to be available on disk.
7 11
8In Git repositories, you can choose whether an automation runs in your local12In Git repositories, you can choose whether an automation runs in your local
9project or on a new [worktree](https://developers.openai.com/codex/app/worktrees). Both options run in the13project or on a new [worktree](https://developers.openai.com/codex/app/worktrees). Both options run in the
15You can also leave the model and reasoning effort on their default settings, or19You can also leave the model and reasoning effort on their default settings, or
16choose them explicitly if you want more control over how the automation runs.20choose them explicitly if you want more control over how the automation runs.
17 21
1822</div>
23
24<CodexScreenshot
25 alt="Automation creation form with schedule and prompt fields"
26 lightSrc="/images/codex/app/codex-automations-light.webp"
27 darkSrc="/images/codex/app/codex-automations-dark.webp"
28 maxHeight="400px"
29/>
30
31</div>
19 32
20## Managing tasks33## Managing tasks
21 34
2235All automations and their runs can be found in the automations pane inside your Codex app sidebar.Find all automations and their runs in the automations pane inside your Codex app sidebar.
23 36
24The "Triage" section acts as your inbox. Automation runs with findings show up there, and you can filter your inbox to show all automation runs or only unread ones.37The "Triage" section acts as your inbox. Automation runs with findings show up there, and you can filter your inbox to show all automation runs or only unread ones.
25 38
39Standalone automations start fresh runs on a schedule and report results in
40Triage. Use them when each run should be independent or when one automation
41should run across one or more projects. If you need a custom cadence, choose a
42custom schedule and enter cron syntax.
43
26For Git repositories, each automation can run either in your local project or44For Git repositories, each automation can run either in your local project or
27on a dedicated background [worktree](https://developers.openai.com/codex/app/features#worktree-support). Use45on a dedicated background [worktree](https://developers.openai.com/codex/app/features#worktree-support). Use
28worktrees when you want to isolate automation changes from unfinished local46worktrees when you want to isolate automation changes from unfinished local
29work. Use local mode when you want the automation to work directly in your main47work. Use local mode when you want the automation to work directly in your main
3048checkout, keeping in mind that it can modify files you are actively editing.checkout, keeping in mind that it can change files you are actively editing.
31In non-version-controlled projects, automations run directly in the project49In non-version-controlled projects, automations run directly in the project
3250directory. You can have the same automation run on multiple projects.directory. You can have the same automation run on more than one project.
33 51
34Automations use your default sandbox settings. In read-only mode, tool calls fail if they require modifying files, network access, or working with apps on your computer. With full access enabled, background automations carry elevated risk. You can adjust sandbox settings in [Settings](https://developers.openai.com/codex/app/settings) and selectively allowlist commands with [rules](https://developers.openai.com/codex/rules).52Automations use your default sandbox settings. In read-only mode, tool calls fail if they require modifying files, network access, or working with apps on your computer. With full access enabled, background automations carry elevated risk. You can adjust sandbox settings in [Settings](https://developers.openai.com/codex/app/settings) and selectively allowlist commands with [rules](https://developers.openai.com/codex/rules).
35 53
3654To keep automations maintainable and shareable across teams, you can use [skills](https://developers.openai.com/codex/skills) to define the action and provide tools and context to Codex. You can explicitly trigger a skill as part of an automation by using `$skill-name` inside your automation.Automations can use the same plugins and skills available to Codex. To keep
55automations maintainable and shareable across teams, use [skills](https://developers.openai.com/codex/skills)
56to define the action and provide tools and context. You can explicitly trigger a
57skill as part of an automation by using `$skill-name` inside your automation.
58
59## Ask Codex to create or update automations
60
61You can create and update automations from a regular Codex thread. Describe the
62task, the schedule, and whether the automation should stay attached to the
63current thread or start fresh runs. Codex can draft the automation prompt, choose
64the right automation type, and update it when the scope or cadence changes.
65
66For example, ask Codex to remind you in this thread while a deployment finishes,
67or ask it to create a standalone automation that checks a project on a recurring
68schedule.
69
70Skills can also create or update automations. For example, a skill for
71babysitting a pull request could set up a recurring automation that checks the
72PR status with the GitHub plugin and fixes new review feedback.
73
74## Thread automations
75
76Thread automations are heartbeat-style recurring wake-up calls attached to the
77current thread. Use them when you want Codex to keep returning to the same
78conversation on a schedule.
79
80Use a thread automation when the scheduled work should preserve the thread's
81context instead of starting from a new prompt each time.
82
83Thread automations can use minute-based intervals for active follow-up loops,
84or daily and weekly schedules when you need a check-in at a specific time.
85
86Thread automations are useful for:
87
88- checking a long-running command until it finishes
89- polling Slack, GitHub, or another connected source when the results should
90 stay in the same thread
91- reminding Codex to continue a review loop at a fixed cadence
92- running a skill-driven workflow that uses plugins, such as checking PR status
93 and addressing new feedback
94- keeping a chat focused on an ongoing research or triage task
95
96Use a standalone or project automation when each run should be independent,
97when it should run across more than one project, or when findings should appear
98as separate automation runs in Triage.
99
100When you create a thread automation, make the prompt durable. It should
101describe what Codex should do each time the thread wakes up, how to decide
102whether there is anything important to report, and when to stop or ask you for
103input.
37 104
38105## Testing automations safely## Test automations
39 106
40Before you schedule an automation, test the prompt manually in a regular thread107Before you schedule an automation, test the prompt manually in a regular thread
41first. This helps you confirm:108first. This helps you confirm:
44- The selected or default model, reasoning effort, and tools behave as expected.111- The selected or default model, reasoning effort, and tools behave as expected.
45- The resulting diff is reviewable.112- The resulting diff is reviewable.
46 113
47114When you start scheduling runs, review the first few outputs closely and adjustWhen you start scheduling runs, review the first few outputs and adjust the
48115the prompt or cadence as needed.prompt or cadence as needed.
49 116
50## Worktree cleanup for automations117## Worktree cleanup for automations
51 118
55 122
56## Permissions and security model123## Permissions and security model
57 124
58125Automations are designed to run unattended and use your default sandboxAutomations run unattended and use your default sandbox settings.
59settings.
60 126
61- If your sandbox mode is **read-only**, tool calls fail if they require127- If your sandbox mode is **read-only**, tool calls fail if they require
62 modifying files, accessing network, or working with apps on your computer.128 modifying files, accessing network, or working with apps on your computer.
66 on your computer. You can selectively allowlist commands to run outside the132 on your computer. You can selectively allowlist commands to run outside the
67 sandbox using [rules](https://developers.openai.com/codex/rules).133 sandbox using [rules](https://developers.openai.com/codex/rules).
68- If your sandbox mode is **full access**, background automations carry134- If your sandbox mode is **full access**, background automations carry
69135 elevated risk, as Codex may modify files, run commands, and access network elevated risk, as Codex may change files, run commands, and access network
70 without asking. Consider updating sandbox settings to workspace write, and136 without asking. Consider updating sandbox settings to workspace write, and
71 using [rules](https://developers.openai.com/codex/rules) to selectively define which commands the agent137 using [rules](https://developers.openai.com/codex/rules) to selectively define which commands the agent
72 can run with full access.138 can run with full access.
73 139
74If you are in a managed environment, admins can restrict these behaviors using140If you are in a managed environment, admins can restrict these behaviors using
75141admin-enforced requirements. For example, they can disallow `approval_policy = "never"` or constrain allowed sandbox modes. Seeadmin-enforced requirements. For example, they can disallow `approval_policy =
142"never"` or constrain allowed sandbox modes. See
76[Admin-enforced requirements (`requirements.toml`)](https://developers.openai.com/codex/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml).143[Admin-enforced requirements (`requirements.toml`)](https://developers.openai.com/codex/enterprise/managed-configuration#admin-enforced-requirements-requirementstoml).
77 144
78Automations use `approval_policy = "never"` when your organization policy145Automations use `approval_policy = "never"` when your organization policy
79146allows it. If `approval_policy = "never"` is disallowed by admin requirements,allows it. If admin requirements disallow `approval_policy = "never"`,
80automations fall back to the approval behavior of your selected mode.147automations fall back to the approval behavior of your selected mode.
81 148
82## Examples149## Examples