Runs
Overview
"Runs" is the one place that shows what the system did on its own — both kinds side by side, newest first:
- Automations execute a schedule of steps fixed in advance. They come from
- Agents decide anew after every model answer. They start from a thread of the
The page is a pure reading surface: nothing can be started, stopped or repeated here. It does not replace either origin page either — it leads there.
What you see depends on your permissions, and separately per half: automation runs appear only if you hold the read permission for automations in the brand of that automation; agent runs are strictly your own. Other people's agent runs never appear. Whoever has neither sees an empty list — that is not a fault.
There is deliberately no total count: the list keeps loading as long as older entries exist. Two counts across two fast-growing tables would cost noticeable time and answer no question anyone actually asks.
Core tasks
Narrow down. Two filters are available: type (automation or agent) and state (queued, running, paused, completed, failed, skipped, stopped). The search matches the name of the subject — the name of the automation or the agent. Sorting is by time and can be reversed.
Spot dry runs. A small flask icon next to the state marks a dry run without effect. That exists for automations only.
Open a run. Clicking a row opens the details: time, type, trigger, state, duration, steps, cost and tokens. Below that, automations show the step log with a timestamp per line, agents show the steps of the run with role, model and token count. Log lines are diagnostics and deliberately stay in the system language.
Jump to the origin. The footer button "Go to origin" leads to the corresponding assistant thread for an agent run, and back to the automations for an automation run.
Read errors. If a run failed, the reason appears as a red notice above the log — in your language, as far as the error is known to the system.
Fields in detail
This page writes nothing; every entry is read-only. The name behind the label is the API field — the same entry runs under that name through automation, export and AI tools.
| Field | Required | Values / format | What it does |
|---|---|---|---|
Time startedAt | — | date and time | When the run started. The default sorting of the list. |
Type kind | — | automation or agent | Which of the two kinds of run. It also decides what appears at the bottom when opened: log or agent steps. |
Automation / agent subjectName | — | text | The name of the subject the run belongs to. |
Trigger triggerType | — | event, schedule, key date, manual, chat | What started the run. An agent run always starts from a chat. |
Trigger in plain text trigger | — | text | The concrete occasion next to the type: the event class for automations, the thread title for agents. |
State state | — | queued, running, paused, completed, failed, skipped, stopped | The state unified across both kinds. |
Raw state status | — | text | The state in the language of its own kind, before unification. |
Dry run isDryRun | — | yes/no | A run without effect. Automations only. |
Duration durationMs | — | milliseconds | Runtime; empty while the run is still going. Displayed as ms, s or min depending on size. |
Cost costCents | — | amount | The AI cost of this run. |
Tokens tokens | — | number | Model tokens consumed; for an agent the sum across its steps. |
Steps stepCount | — | number | How many steps the run had; for automations the lines of the log. |
Error reason errorMessage | — | text | Why the run failed. Appears as a red notice in the dialog. |
End finishedAt | — | date and time | When the run finished. |
Key key | — | text | The row identifier made of kind and run ULID. |
Run ULID runUlid | — | ULID | The run in its own resource. |
Subject subjectUlid | — | ULID | The automation or the agent. |
Thread threadUlid | — | ULID | The chat thread of an agent run; target of the "Go to origin" button. |
Detail path detailPath | — | interface path | Where the full log or run tree lives. |
Settings & permissions
- The page itself requires no permission of its own — it grants nothing by itself, each half
gates itself.
automation.readgoverns the automation runs, and it does so per brand: you see the runs of
the automations for which you hold the permission in their brand.
- Agent runs are bound to your own threads. There is no additional permission for them, and other
people's runs stay invisible even with far-reaching permissions.
FAQ & troubleshooting
The list is empty although an automation just ran. Then you lack the read permission for automations in the brand of that automation. The halves are separate: your own agent runs still show.
A colleague sees agent runs that I do not see. That is by design. The page shows agent runs only to the owner of the thread.
The duration stays empty. The run is still going or waiting. A runtime is only fixed once it ends.
Cost and tokens are zero. The run used no language model. For automations without an AI step that is the normal case.
The dialog says "No log for this run". The run left no log lines — because it was skipped right away, for instance.