Skip to content
Obsevo
Skip to docs navigation

Docs

Node data capture

Opt in to storing what went into and came out of each node — including LLM prompts and responses — for the runs you choose.

By default Obsevo receives how each node ran — status, timing, item counts, error text and token usage — and never the data itself. Node data capture is the opt-in exception: for the runs you pick, it also stores what each node received and returned, so you can open a failed run and see the exact input that broke it, or read the prompt an AI Agent sent and the answer it got back.

It is off until an admin turns it on.

Turning it on

In Instances → Edit, under Node data capture, tick the run outcomes to capture:

OutcomeCaptures node data for runs that…
Failedended in an error
Succeededcompleted successfully
Canceledwere stopped

Failed only is the usual choice: it is where the data explains something, and it keeps storage small. Waiting and running executions are never captured — their data is not final yet.

Each workflow can override the instance on its own page: Same as instance, Never capture this workflow, or its own set of outcomes. Use Never for a workflow that handles data which must not leave n8n, on an instance that otherwise captures.

The agent picks the change up on its next report, usually within a minute.

What you see

On a run, nodes with captured data can be expanded:

  • Input and Output, item by item, branch by branch. An ordinary node's input is its parent's output, so it is shown from there rather than stored twice.
  • Conversation, for chat-model nodes: the system and user messages as sent, the model's reply, and any tool calls it asked for, with the model and token counts.
  • Agent, for AI Agent nodes: every model and tool call the agent made, in the order it made them, and its final answer.
  • Raw, the captured JSON as stored.

A node that ran several times (a loop, or an agent calling its model once per step) has a run selector; every run is kept, not just the last.

What is never sent

  • Credentials. Values under keys that look like secrets — passwords, tokens, API keys, authorization headers, cookies, private keys, sessions — are replaced with [redacted] on the agent, before anything leaves the host. Token counts are kept.
  • File contents. For binary data only the file name, type, size and n8n's storage reference are kept.

Limits

Capture is capped so a large run stays affordable and a conversation stays readable:

Ordinary nodeLLM / tool call
Items per outputfirst 25, then a count—
Longest single string4 KB64 KB
Per node run64 KB256 KB
Per execution2 MB2 MB

When a run is over the per-execution budget, the largest ordinary outputs are dropped first, so LLM conversations survive. Anything cut is marked in the viewer.

On Obsevo Cloud, captured data counts against a monthly allowance and is kept for a plan-dependent number of days:

PlanAllowance / monthKept for
Free250 MB3 days
Starter5 GB7 days
Pro25 GB14 days
Agency100 GB14 days

Over the allowance, capture pauses until the meter resets on the 1st. Nothing else is affected: runs, detection and alerts carry on as normal. Self-hosted installs have no allowance and keep captured data for OBSEVO_PAYLOAD_RETENTION_DAYS (default 7).

Keeping the final say on your host

Whoever runs the agent can refuse capture regardless of the dashboard:

OBSEVO_PAYLOAD_CAPTURE=off

With that set, nothing but metadata ever leaves the host, whatever the instance settings say. In API-key mode Obsevo polls n8n itself, so the dashboard setting is the only switch.

Documentation