Skip to content

Runs and logs

Every automation run happens on the server, off the back of a durable queue. Nothing depends on a browser staying open, and a restart mid-run does not lose work.

How a run executes

  1. Something happens on the board. A row lands in the trigger queue straight away.

  2. A worker claims the row and moves it from pending to running. Claiming is serialized, so a burst of events does not have two workers walking the same graph.

  3. The worker finds every active automation on the board whose trigger matches the event, and runs each one. An automation that is paused, archived, or whose trigger does not match is skipped without cost.

  4. The graph is walked breadth-first from the trigger. Each node runs, and each one's outgoing edges are queued unless the node says otherwise.

  5. When the walk ends, a log row is written with the status, the error if there was one, the path the run took, and how long it took in milliseconds. The automation's run count and last-run time are updated, and the trigger row is deleted.

Up to 100 queued rows are handled per sweep; the rest wait for the next one, a minute later at most.

Branching

  • A Condition node sends the run down its True or False edge, never both.
  • A Filter node that fails queues nothing, so that branch simply ends.
  • A For Each node walks its body edges once per item, then queues its after edges.
  • Deleting the focus task stops the run there, since there is nothing left to act on.

A node that fails does not stop the rest of the graph. Other branches keep running, the run is marked as an error, and the log reports the first failure, because that is the one to fix.

Delays

A Delay node does not hold a worker open. It stores the rest of the run and finishes. A sweep picks it back up when the wait is over and continues from exactly where it left off.

If you edit the graph while a delayed run is parked, the resume only picks up nodes that still exist.

Retries and double-writes

If a run cannot be delivered at all, its queue row stays claimed. A sweep releases it back to pending after five minutes and it is tried again, with a backoff between attempts.

Every write-bearing node claims its own slot before it runs. On a retry that slot is already taken, so the node is skipped and the walk carries on: a retried run never posts the comment twice or creates the task twice.

Caps

CapValueWhat it protects
Nodes executed per run10000A runaway loop or a cycle
Items per For Each1000 by default, 5000 at mostOne loop swallowing the whole budget
Write calls per Agent node20A runaway agent
HTTP Request timeout10 seconds, at most 3 redirectsA slow or looping endpoint

Hitting the step budget marks the run as an error and says so, rather than truncating quietly.

The Last run panel

Press Run in the builder and the result lands in a panel at the bottom of the canvas.

PartWhat it shows
The dot in the headerGreen for a clean run, red when there was an error
The error lineThe message, when there is one
PathThe nodes the run visited, in order
A block per Debug nodeWhat that node captured

A Debug node's snapshot has three parts: the values you pinned, anything a Parse node produced, and the status and body of any HTTP Request. With no Debug node in the graph, the panel says so and invites you to drop one in.

Running from the builder lands any unsaved edits first, because the server runs the saved automation, not the canvas. If the automation is paused, running it switches it on.

Run history

Every run writes a log row: which automation, which board, the trigger event and its data, the path, the status, the error and the duration.

The counts are visible in the app:

  • The rail in the Automations view shows a run count and how long ago the last run was, or Never triggered.
  • Settings > General > Automations has Runs and Last run columns for every automation in the workspace.

The rows themselves are available over the API, at GET /v1/automations/{id}/logs, and through the automations_get_logs MCP tool. See REST API and MCP.

Deleting an automation deletes its run history with it.

Managing every automation at once

Settings > General > Automations is the workspace-wide list, for owners and admins.

ControlWhat it does
SearchBy automation name or board name
Board and StateFilter to one board, or to Active, Disabled or Archived
Checkboxes plus Enable, Disable, Archive, DeleteBulk actions on the selection
The header countHow many are active, and the cap when there is one

Archiving an active automation deactivates it immediately and it stops running. Deleting removes the automations and their run history for good.

Who gets the credit

An automation's writes are attributed to the automation, not to a person. The activity feed and the audit log name the automation against anything it changed, including runs the clock started with no user involved. See Security and audit.

When an automation does not fire

SymptomCheck
Nothing happens at allThe switch. A paused automation never runs, and importing one always leaves it paused.
An amber warning circle on the rowOpen it: the graph has an error. The switch lists what is wrong.
It runs but skips a stepThat node is missing required configuration, or its branch condition was false. Add a Debug node before it and run it by hand.
It fires on the wrong thingsNarrow the trigger. Most triggers take a list, tag, member, field, folder, status or branch filter.
It will not switch onThe graph can trigger itself, so it is blocked. Change the trigger or the action that feeds it.
The switch fails with a limit messageYour plan's active-automation cap. Pause another one, or see Plans and billing.
A scheduled run was late or skippedA workspace that sleeps between bursts of activity can miss a tick. The Scheduled Trigger panel warns when this applies.
An HTTP Request failsThe URL may point at a private address, which is refused unless the workspace opted in.
An AI node does nothingAI has to be available for the workspace, and the Agent node needs a model that can call tools. See AI settings.

Start with Debug

A Debug node costs nothing, works on every plan, and answers most "why did it do that" questions in one run. Put it right before the node that misbehaves, press Run, and read the snapshot.

Truetask works the same on Truetask Cloud and on your own server. Pages and sections that apply to one model only are labelled.