Create an automation
On this page
An automation saves a prompt and agent settings so you can repeat a task without writing a new request each time. For example, you can ask an agent to check your repository every morning. Each run will start a Codex or Claude Code thread on its own devbox.
Create the automation
Each run starts a fresh devbox from your project's saved environment. If your project has its own Template box, runs use its latest snapshot. Update the Template box and take a new snapshot when the task needs changes to that starting environment. If your project has no Template box, runs use the Team Template's current saved version; ask a team admin to update it when needed.
For a recurring repository check, you might ask:
Check the repository's documented health checks, investigate any failures, and report the evidence and recommended next step. Leave code unchanged unless I ask for a fix.
- Open your project in the desktop app. In Automations, choose New automation.
- Choose what will start the task: Manual to run only when you choose
Run now, Schedule for recurring work, API for requests from
another service, or Slack for a named command such as
@boxes.dev !check. If you want an agent to handle plain@boxes.devmentions or Linear issue assignments, set that up from the integration's settings instead; see Work from Slack or Work from Linear. - Give the automation a name and write the prompt. Say what the agent should inspect or change and what result you want it to report.
- Review the agent, model, reasoning, and speed controls. They start with your project's defaults for new threads; keep them, or adjust them for this task.
- Complete the settings for your chosen trigger below the prompt. For a schedule, choose when it should run; for Slack, configure the named command. API setup will become available after you create the automation.
- Choose Create. The automation will be saved in a paused state so you can test it before allowing triggered runs.
Test before activating
A paused automation still accepts Run now, so you can watch a real run before any schedule or external trigger can start one.
- Choose Run now in the saved automation.
- Expand the automation in the thread list and open the run's thread to review the agent's response. If the task changes code or generates files, inspect those files and test the result on the run's devbox.
- Adjust the prompt or agent settings if needed, choose Save changes, and test again.
- Choose Activate when you're ready to accept scheduled or external triggers. A Manual automation will still run only when you choose Run now.
For an API automation, also test a request from the calling service. Default Slack and Linear integrations have no Run now button; test them through a real Slack mention or Linear assignment after activation.
Edit a saved automation
Edits to a saved automation take effect only when you choose Save changes. Choose Revert to discard them and restore the saved version. Unsaved edits remain on your device across a refresh but don't affect runs or appear on other devices. If someone saves a newer version elsewhere while you have unsaved edits, review the warning before overwriting their changes.
An unfinished draft autosaves as you edit, but cannot run until you choose Create.
Choose where runs appear
In Where runs appear, keep Under this automation to group runs beneath the automation in the thread list, or choose In the main thread list to put them beside your other tasks. Default Slack and Linear runs always use the main list. Runs in the main list are not eligible for automatic devbox cleanup.
You can also use a run's Move to menu to put its devbox in a project folder without changing this setting.
Mark successful runs as read
Under More settings, enable Mark successful runs as read if you don't need an unread dot or a mobile completion notification for each successful first response. Failed runs and runs that need input will still ask for attention, and later follow-ups won't be marked read automatically. The choice is saved with each new run, so changing it will affect future runs without changing existing run history. It won't change Slack or Linear replies or Slack output destinations.
Pause or remove it
Choose Pause to stop future triggered runs while keeping the automation and its history, and Activate to resume. If the automation is errored, resolve the reported problem before trying again.
The automation's actions menu also lets you duplicate it for another task or delete it. To abandon an unfinished draft, discard it from the draft's actions menu.
An automation cannot be deleted while it has recorded runs, so remove the runs first:
- If a run still has a devbox, commit and push useful code or download files you need to keep. Then choose Destroy + archive, which will permanently delete the devbox's files; see Create and manage devboxes.
- Choose Delete run in the run's actions menu. It becomes available once the run has finished starting and no devbox remains; an archived conversation doesn't block it.
- When no runs remain, delete the automation from its actions menu.
See Schedules and run history for run timing, capacity behavior, output destinations, and optional devbox cleanup.