Skip to content

Automations

Automations turn your agents into a team that works without being asked. An automation is a routine: something starts it, then steps run one after another, each one a job for an agent. The result is posted to Activity.

You don’t need to write any code. Describe what you want in plain English and Agent City drafts the steps. If it needs an agent you don’t have, the Agent builder can make it on the spot.

Starts Example
Every weekday at 7 Get the weather and the top headlines side by side, and write me a five-line brief.
Every Monday Check competitor prices against last week, and only tell me if something changed by more than 5%.
When a camera sees a car Look up the number plate and tell me who’s arrived. (Ingest API)
When Mum messages on Signal Summarise it and remind me to reply at 6.
When the nightly backup fails Tell me what went wrong, as an urgent alert.
When a call starts Take meeting notes, then save them to my workspace. (Meetings)
By hand, or by asking “Run my morning brief.”

Automations run on the same model as your agents. With a local model, they run entirely on your Mac, on schedule, with nothing sent anywhere.

The Automations page, listing a Morning brief that starts on weekdays at 7 AM and is paused

Agent City must be running for automations to start. It keeps running in the menu bar when you close the window. Turn on Open at Login so it’s always there.

Press New automation. You can start in three ways:

  • Describe it. Write what you want in plain English, like “Every weekday at 7, get the top AI headlines and the weather side by side, write me a short brief, and ask me before it’s saved to a file”, then press Draft it. Your agents’ own model drafts the steps for you to check. For trickier automations with branches and references, you can have Claude Code draft them instead, under Settings → Models → Drafting automations.
  • Import a shared automation. Paste an automation someone exported as JSON and press Import it.
  • From a chat. Make this an automation in a chat’s header turns that conversation into an automation draft.

New automation, with Import a shared automation and a box to describe the task

Nothing is saved until you choose. New automations start as drafts with automatic runs off.

If no agent you have can do a step, the draft names a new agent for it and offers Build, which has the Agent builder make it.

The automation editor, with When it runs, three steps, Where the result goes, and the schedule settings on the right

The editor shows the automation as readable steps. Select a step to edit it on the right. Flow editor shows it as a diagram instead, which is handy for branches and parallel work; the + on a line inserts a step there.

Start Runs when
By hand You press Run saved, or ask My team “run my morning brief”.
A schedule Every few minutes, hourly, daily, on weekdays, on certain days, or a custom cron line. The next three run times are shown.
An incoming event A device or script sends an event naming this automation. See Starting automations from the API.
Another automation Another automation finishes, or fails. What it said, or what went wrong, is passed on.
A message arriving A new message on Signal, Telegram or another listening agent. Narrow it by who it’s from, which chat, words it contains, or urgent messages only.
A call starting A meeting app takes the microphone. Used by Meetings.

Catch up (for schedules): if your Mac was asleep or Agent City wasn’t running when a run was due, it runs once as soon as it’s back.

Step What it does
Agent does something An agent (or the coordinator) does what the step says, in a fresh conversation. It uses only its own tools unless you tick May ask other agents for help.
Write a final summary Combines earlier results into one answer, without tools.
Only continue if… A condition in plain English about the previous result. If it’s not true, the run stops quietly.
Ask me first Posts an Approve / Skip card in Activity and waits (up to 24 hours). Put one before anything that sends, changes or deletes.
Branch: if… otherwise… Picks one of two paths with a yes/no condition, then both carry on together.
Side by side 2 to 4 lanes of agent steps that work at the same time.
Take meeting notes Records a call and writes notes. Available once Meetings is on.

Use these in a step’s instructions. The Use a result buttons insert them for you.

Placeholder Becomes
{{previous}} The result of the step before.
{{Step name}} The result of any earlier step, by its name, like {{Weather}}.
{{trigger}} What started the run: the event, the messages, or the other automation’s result.
{{date}}, {{time}} Today’s date (like 2026-10-07) and the time.

A step that uses none of these still gets the previous result, so “Summarise this.” works.

By default each run’s result is posted to Activity, and the coordinator knows about it, so you can ask follow-up questions. Untick Post the result to Activity to keep an automation quiet.

Button What it does
Preview Checks the steps and schedule without running anything.
Try live Runs your unsaved version once, with real tools. Approval steps still wait for you. Results aren’t kept.
Save draft / Save changes Saves, with automatic runs paused.
Save & enable Saves and turns automatic runs on.
Run saved Runs the saved version now and keeps it in the run history.
Pause automatic runs / Resume Stops or restarts scheduling without deleting anything.
Export Copies it as JSON to share. Paste it into New automation on another Agent City.
Delete Removes it and its run history.

Run history under the editor shows the last 30 runs, step by step. Stop ends a run that’s going.

Starts: weekdays at 7:00
→ Side by side Nimbus "Weather for Brisbane today" | Penny "100 AUD in USD"
→ Only if "there is something worth reading"
→ Ask me "Send the brief?" (waits for your OK in Activity)
→ Final summary "Write a 4-line brief from {{Weather}} and {{Rates}}"
→ Posts the result to Activity

Custom schedules use the usual five cron fields: minute, hour, day of month, month and day of week.

Cron Runs
*/15 * * * * Every 15 minutes
0 8 * * 1-5 8:00 AM on weekdays
30 18 * * sun 6:30 PM on Sundays
@hourly, @daily, @weekly As named

Times are in your Mac’s local time.

  • Each step starts fresh. It doesn’t see the chat the automation was made from.
  • If a step fails, the run stops and the remaining steps are marked as not run.
  • Automations can follow each other up to five deep. Loops are refused when you save.