Automations
Have an agent build a task that runs on a schedule, act on suggestions for repeated asks, review its run policy, approve it, and check its runs.
An automation is a task that runs on its own, on a schedule or when you start it. For example, "every weekday at 9, summarize open PRs". You do not build automations by hand. You describe one to an AI agent in a chat, the agent builds it, and you review and approve it in the Automations tab. It does not run until you approve it.
Automations belong to a project, and they run on the machine that runs that project: your desktop, or wrangl-server when you use Wrangl on a server.
Open the Automations tab
Open a project first. Then click Automations in the rail on the left. On a phone, open the drawer and tap Automations.
The tab lists the project's automations on the left and shows the selected one on the right. On a phone, tap an automation to open it, and tap Automations at the top to go back.
Each row shows the automation's name, its state, how it is triggered, when it runs next and how the last run went. A red badge such as 2 new failures counts failed runs you have not looked at yet. It clears when you open the automation.
The state is one of:
- Needs approval. The automation is new or changed, and it will not run until you approve it.
- Armed. Approved and enabled. It runs on its schedule.
- Disabled. Approved, but switched off.
Ask an agent to build one
Start a chat in the project and describe what should happen and when. For example:
Every weekday at 9, summarize the open pull requests in this repo.Wrangl gives the agent tools to build the automation. The agent may ask you questions first, for example which repository to read or which agent should write the summary. When it is done, it sends the automation to you for review. Wrangl opens the Automations tab on that automation and shows a message such as "Claude proposed an automation — review and approve". On a phone, the automation opens directly.
The agent cannot approve, enable or run an automation. Only you can.
To change an automation later, ask an agent in a chat, or edit the steps on the canvas (see Edit the steps on the canvas). A change to the steps or their settings makes a new revision, and the automation needs your approval again. Until you approve the new revision, the automation does not run, not even with Run now.
Suggestions from repeated asks
Wrangl can notice when you keep asking for the same thing and offer to turn it into an automation. It never builds one without asking you.
- In a chat. When your request names a cadence, such as "every morning" or "weekly", or repeats something you asked earlier in the same chat, the agent first finishes the task. Then it asks once in that chat: "This looks repeatable. Want me to turn it into a scheduled background automation?" Answer Yes, schedule it to have the agent build it, or Not now. It does not ask again in that chat.
- Across chats. Wrangl looks at the prompts you sent in the project's chats over the last 30 days. If you asked something very similar on 3 or more different days, it suggests an automation with a schedule guessed from when you usually ask, for example weekly, on weekdays or daily at a certain time. This check runs on your machine and does not send your prompts to an AI model.
A suggestion shows up as a card titled This looks repeatable, with the request it noticed, how many days you asked it and the usual timing. The card appears in a chat right after you send a matching request (at most once per chat), and in the Suggested section at the top of the Automations tab.
- Create automation starts a new chat on your default agent with a prompt that asks it to build the automation. The agent may ask you a few questions first, such as when it should run and where the results should go, and then sends it to you for review. If no default agent is ready, Wrangl opens the agent launcher so you can pick one. If the chat cannot start, for example because the project has no folder, Wrangl shows an error and the suggestion stays so you can try again.
- Not now hides the suggestion in this project on this device for 24 hours. It shows up again when the 24 hours are over, even on a screen you left open.
- Don't suggest this again removes the suggestion for good.
To turn off the suggestion card, open Settings, choose Agent chats and turn off Suggest automations from repeated chats. It is on by default. The agent can still ask in chat whether to schedule a repeatable request while this setting is off.
Review and approve
The Run policy card shows what the automation will do once it is approved:
- Trigger. The schedule, for example a cron expression with its time zone, an interval such as every 30 min, or one date and time. Run manually means it only runs when you click Run now.
- Next runs. Up to the next three times it will run.
- Agents. Each step that runs an AI agent, with the agent, its model, its time limit and the tools it may use. no tools means the agent can only answer. When the agent asks to use a tool, Wrangl allows it only if the tool is on that list, and refuses all other tools. File tools work only inside the automation's folder, and never on
.git,.github,.claude, editor settings or.envfiles. run commands (full access) lets the agent run any command-line tool installed on the machine and do anything you can do in a terminal, so approve it only when you trust the step. An agent that reads web content, or the output of an agent that can reach the web, cannot run commands, fetch from the network, use MCP and other tools, or edit files. An agent that can fetch from the network or use MCP and other tools cannot also read or edit files. Claude agent steps run without your Claude settings files, so rules you saved with "don't ask again" do not apply to them. Settings such as a proxy address or an API key helper in your Claude settings file do not apply either. - Secrets. The secrets each step uses. See Secrets.
- Outbound hosts. The web addresses each step may send requests to. A step cannot reach any other host.
- On failure. How long Wrangl waits before the next run after failures in a row. The wait grows from 30 seconds up to 1 hour.
If an AI step reads content from the web and a later step sends data out, the card shows a warning. A fetched page can contain instructions for the agent, so check the outbound hosts before you approve.
If the automation has problems, they are listed above the card under a heading such as 1 issue to fix before approval, and you cannot approve it. Ask the agent that built it to fix them.
When everything looks right, click Approve and arm. The automation turns Armed and runs on its schedule. If the automation is switched off, the button says Approve instead: approving does not turn it on, so it stays Disabled until you turn on Enabled.
Below the card, Diagram shows the automation's steps on a canvas, left to right, and how they connect. The first card is the trigger: Manual or Schedule. Each step card shows its name, its kind and a short detail. An Agent card also shows the Model and Tools under it, and an MCP tool card shows the Server and Tool.
A step can:
- make a web request (HTTP);
- run an AI agent (Agent);
- call a tool on one of the project's MCP servers directly, with no AI agent (MCP tool). The Run policy card lists each tool call with the server's name, so you can check it before you approve. If the tool asks for your input, or the server needs you to sign in, the step fails;
- reshape data (Transform);
- choose a path (Condition);
- repeat its steps once for each item in a list, up to 100 items (For each). A longer list fails the step;
- join two paths into one (Merge);
- pause the run for a set time, up to 7 days (Wait). The run picks up on time, even after Wrangl or the machine restarts;
- stop the run with an error (Fail);
- wait for you to approve or reject (Approval). See Approve a waiting run.
The diagram itself is for viewing: you can select a card, but you cannot move or delete steps there. To change the steps, click Edit (see Edit the steps on the canvas) or ask an agent in a chat.
On a computer or in a browser, drag the background to pan. Click Zoom in, Zoom out or Fit to view at the bottom of the diagram, or pinch to zoom. The mouse wheel still scrolls the page. A small overview in the corner also lets you pan the view. If the whole automation does not fit at a readable size, the first view shows the start of it.
On a phone, the diagram is shorter and has no overview. A one-finger swipe on the canvas scrolls the page. Pinch or drag with two fingers to zoom or move the canvas. The zoom buttons are larger.
Lines between steps can be labeled. The usual next step has no label. An error path is labeled error next to the step, as a dashed line. A Condition step's paths are labeled true and false on the lines. A For each loop's body is labeled item on the line.
Screen readers hear an Automation steps list of the same steps and branches, in the order they run.
Edit the steps on the canvas
Click Edit next to Diagram to open the canvas editor. It fills the pane, on a phone too. If the server you are connected to is read-only, there is no Edit button.
Your changes stay in a draft until you click Save. The header shows how many changes are not saved yet, for example Draft · 2 unsaved changes (on a phone, 2 unsaved). A live automation keeps running its approved version while you edit. Discard throws the draft away. If you close the editor with unsaved changes, it asks you to confirm Discard first.
In the editor you can:
- add a step: click Add a step in the toolbar at the bottom, click + on a step's open output, drag from a step's output and let go on an empty spot of the canvas, or click Insert a step here on a line to put a step between two others. Type in the menu to filter the step kinds; on a computer, Enter picks the first match. A new step starts with default settings;
- connect two steps: drag from a step's output to another step. Lines that would repeat a connection or make a loop are refused, and while you drag, a banner says Connecting from … and dims the steps that cannot take the line. Press Escape to cancel;
- move a step: drag its card. Moving only changes the layout, not the automation;
- delete a step or line: select it and press Delete or Backspace, or click Delete selected;
- undo and redo with Undo and Redo in the toolbar, or Ctrl+Z and Ctrl+Shift+Z (Cmd on macOS). Ctrl+Y also redoes.
On a computer, the toolbar also has Select and Pan tools, Fit to view, Zoom in and Zoom out. On a phone, it has Fit to view instead of those tools: pinch to zoom, and drag with one finger to move the canvas.
While you edit, Wrangl checks the draft. Steps with problems get a badge, and Issues at the bottom lists them; click Show next to an issue to jump to its step. Fix the issues before you approve.
When you click Save, changes to the steps or how they connect are saved as a new revision. Moving cards only saves their positions: the revision and the current approval stay the same. If an agent or another person saved the automation while you were editing, a banner says Updated by … while you edited. Your edits are moved onto the latest version, and any edit that no longer applies is listed. Review them, then click Save again.
A new revision still needs approval: Approve and arm (or Approve) in the editor header works only once the draft is saved and has no issues.
On a phone, tap a step's output, then tap the step to connect to. A banner says Tap a node to connect and names the step you started from, with Cancel. Add a step opens as a sheet from the bottom.
Change a step's settings
Select a step or the trigger card in the editor to open its inspector. On a computer and in the browser, it floats on the right of the canvas; on a phone, it opens as a sheet from the bottom. On a computer and in the browser, a step you just added opens in the inspector too. On a phone, it is only selected so the sheet does not cover the canvas; tap it to open the sheet. The header shows the step's name and kind, with Delete step and Close.
A change to a one-line field is saved to the draft when you press Enter or leave the field. In a field with several lines, such as Body or Message, Enter adds a new line; the change is saved when you leave the field or press Ctrl+Enter (Cmd+Enter on macOS). A choice is saved when you pick it. Each change is one step you can undo. Press Escape in a field to put back its saved value. While a save is running, the editor keeps what you typed and says Saving. Try that again once it finishes.
What you can change depends on the step kind:
- HTTP: Method, URL, Allowed hosts, Headers and Body. If the URL points at a host that is not allowed, a button such as Allow api.example.com adds it;
- Condition: Value, Check (equals, does not equal, contains, is greater than, is less than, exists) and Compared with;
- For each: Items, a list from an earlier step, and Max iterations;
- Merge: Continue when any branch arrives or when every branch arrives;
- Wait: Wait for, how long the run parks before it continues;
- Approval: Message, what the person deciding reads, and Time out after;
- Transform: Fields, each one a key of the step's output;
- Fail: Message, the failure message the run stops with.
Every step also has a Label.
An Agent step has these settings:
- Agent and Model. The list shows agents you have started at least once in a chat, and Model lists the models that agent last reported, plus Default. Changing the agent sets the model back to Default;
- Prompt, what the agent should do. Type
{{to insert a value from an earlier step; - Output schema, what the agent must answer with. Pick a Kind; for an object, add Fields, each with a name, a kind and whether it is required, and for an array, pick what Each item is. As JSON shows the whole schema and also sets an enum, a description and nested fields. A schema the app would refuse shows why above the editor;
- Tools, one switch each for read files, search, edit files, run commands (full access), fetch from the network, and MCP and other tools;
- Timeout, from 1 to 900 seconds, and Max attempts, from 1 to 3.
The tool switches follow the rules described under Agents in Review and approve. When a switch breaks a rule, a red note under the switches names the tools the agent may not use together with what is already on; turn those tools off to fix it. An amber note appears when the agent reads web content or an MCP tool result and a later step sends data out or calls a tool; it is a reminder to check those steps before you approve.
An MCP tool step has these settings:
- Server, one of the MCP servers that are turned on in your MCP settings. If the step names a server that is missing or turned off, the field and the step card say Server not configured;
- Tool, picked from the tools the server lists, with a search box when it lists many. If the tool is gone, the field and the card say Tool not found. If the server could not list its tools, press List again;
- Arguments. When the tool describes its input, each argument gets its own field in that order, with a Required mark and the tool's description as help: a text box for text and numbers, a list for a fixed set of choices (and Not set, true or false for a yes/no argument), and a JSON box for anything else. Arguments the tool does not describe stay under Other arguments. A tool that does not describe its input gets plain name and value rows. A value that is a single
{{ }}reference keeps the type of what it reads. A value with no reference is sent in the type the tool gives for that argument, sotruegoes as a yes/no value and5as a number, not as text. A value that does not fit that type, such asfivefor a number, shows an issue on the step, and the step fails before it calls the tool. If the server cannot list its tools when the step runs, these values go as text; - Timeout.
In a field that takes references, type {{ to insert one. The list offers only what the step can read when it runs: the trigger, the output of steps that run before it, and, inside a For each loop, the current item and its index. It does not list secrets; in an HTTP step, type {{ secrets.NAME }} yourself.
The inspector checks fields, such as required fields, allowed ranges, the URL and reference syntax, and shows problems under each field. Reference syntax is checked as you type; the other checks run when the change is saved to the draft. Issues on this step at the bottom lists the draft's issues for that step.
For the trigger, Runs is When you run it or On a schedule. A schedule is a Cron expression with a Time zone, Every interval, or Once at the time in Run at. Next runs shows when it will run next.
Run, pause or delete an automation
- Click Run now to start a run right away. The run opens so you can follow it. Run now works only after you approve the current revision, and it also works while the automation is disabled. If a run is already in progress, the new run is recorded as Skipped.
- Turn off Enabled to stop the automation from running on its schedule. Turn it on again to resume.
- Click Delete and confirm to remove the automation. It stops running, and its run history is deleted. You cannot undo this.
If the machine was off or Wrangl was closed when a run was due, Wrangl runs the automation once when it starts again. That run is labeled Catch-up.
Check a run
The Runs list shows each run with its status, start time and duration. A run in progress is listed first, then the others, newest first. A run is Running, Waiting for approval, Succeeded, Failed, Cancelled or Skipped. Click a run to open it.
The run opens on its diagram. The top line shows how it was started (Scheduled, Catch-up or Manual), when it started, how long it took and which revision ran. Each step on the diagram shows its status: Succeeded, Failed, Skipped, Waiting, Cancelled, or a blue spinner while it runs. A step that has not run yet has no status mark. Lines the run took are drawn heavier, and lines it did not take are faint. While the run is in progress, the statuses update on their own.
Under the diagram, Steps lists each step in order with its status and how long it took. Click a step, in the list or on the diagram, to open it on the right. On a phone, it opens at the bottom of the screen. It shows the step's status, when it started, how long it took, its error if it failed, and its Output. Click Copy to copy the output, or click Output to fold it away.
A For each step shows how many times its loop ran so far, and how many of those times failed. Open the For each step, or a step inside its loop, and pick a number under Iteration to see that time through the loop. The steps inside the loop then show their status for that iteration. A paused Wait step shows Waiting until and the time it resumes.
While a run is in progress or waiting for approval, click Cancel run to stop it. To go back to the automation, click the arrow at the top left.
Approve a waiting run
An approval step pauses the run until a person approves or rejects it. The step shows a message that the agent wrote when it built the automation, and the message can include data from earlier steps. For example, "Post this summary to the team channel?".
Only you can approve or reject. An agent can add an approval step to an automation, but it cannot decide one.
When a run reaches an approval step, the run shows Waiting for approval, and the automation shows "A run is waiting for your approval." To decide:
- Open the automation in the Automations tab. This works in the desktop app, in a browser and on a phone.
- Click Review, or click the waiting run in the Runs list. The run opens on the approval step.
- Read the message. The card also shows when the approval expires. If you closed the step, click the approval step to open it again.
- Click Approve or Reject.
What happens next:
- Approve. The run continues with the next step.
- Reject. The approval step fails, and the run follows the step's error path. If the step has no error path, the run fails.
- No decision. When the approval expires, the step fails as Timed out and the run follows the error path, the same as a rejection.
Each approval step has its own time limit, from 1 minute to 7 days. A time limit outside that range is listed as an issue, and you cannot approve the automation until the agent fixes it.
An approval step inside a loop asks once for each item. Each item's message can name that item. Approve and Reject show when the iteration that waits is picked.
If someone already decided on another device, Wrangl says that the run is no longer waiting and shows the decision. After a decision, the opened approval step shows Approved, Rejected or Timed out, and when that happened.
A waiting run still counts as in progress, so a scheduled run that comes due while it waits is recorded as Skipped. A waiting run keeps waiting when Wrangl or the machine restarts. If the approval expired while Wrangl was closed, it times out when Wrangl starts again. To stop a waiting run, click Cancel run. A server that does not accept changes from your device shows the approval buttons turned off.
Secrets
Some steps need a secret, such as an API token for a web request. You enter secret values yourself. The agent never sees them.
- Open the automation and click Secrets.
- Next to a secret marked Missing, click Set.
- Enter the value and click Save.
A saved secret shows Saved. Click Replace to change it, or Delete to remove it. A secret the automation no longer uses is marked Unused.
Secrets belong to the project, so every automation in the project can use them. Only web request (HTTP) steps can use a secret, and Wrangl never shows a saved value again.
Secrets are kept on the machine that runs the project, in the system keychain. On a machine without a keychain, such as wrangl-server on a Linux server without a desktop, Wrangl keeps them in a file named automation-secrets.json in its data folder that only your user account can read.