Skip to content
insight
[ n8n · root cause ]

Your workflowfailed. Here'sthe node, and why.Or: not sure.

Insight reads a failed n8n execution so you don't have to go node by node through raw JSON. It names the node that broke, the likely cause and the fix, with a confidence score that hedges when it should.

try it without signing up

npx insight-n8n demo

Product demo on sample data. A failed n8n execution is replayed node by node, secrets are redacted, and Insight names the failing node, the root cause, a confidence score and a fix, or reports the failure as transient.

insight — Order confirmations
sample data
[ root causes ]

n8n breaksin familiarways.

Most failures are one of a handful of patterns, several of them specific to how n8n moves data between nodes. Insight names which one, and where.

  • An OAuth refresh token expired, a key was rotated, or the wrong credential is attached to the node. The workflow is usually fine, and Insight says so instead of inventing a code change.

    signal
    401 · 403 · invalid_grant
    looks like
    401 or 403 from a node
    usual fix
    reconnect the credential
  • An API moved a field and an expression that worked yesterday now reads undefined. Insight looks at the items the failing node actually received and points at where the field lives now.

    signal
    reading 'x' of undefined
    looks like
    an expression error
    usual fix
    the new path, spelled out
  • Some nodes, like JWT verify, rebuild each item from their own output and silently drop the JSON fields and binary files that came before. The error is thrown downstream, so the cause is a node earlier than the one that failed.

    signal
    not found, one node later
    looks like
    file or field “not found”
    usual fix
    merge the item back in
  • A setting one level off: Respond to Webhook's response code belongs under options, so every response goes out as 200. Silent failures like this only surface when something downstream breaks because of them.

    signal
    silent, until it isn't
    looks like
    a later node failing
    usual fix
    move the field under options
  • An IF node's output 0 is true and output 1 is false. Swap the wires and the workflow does the opposite of what it says while looking correct at a glance.

    signal
    right data, wrong branch
    looks like
    the other branch's error
    usual fix
    swap the outputs
  • Timeouts, connection resets, 429s and 502 to 504s are recognized by their signature and reported as transient straight away. No LLM call, no invented explanation for a network blip.

    signal
    no model call
    looks like
    ETIMEDOUT, 503, 429
    usual fix
    re-run it
[ calibration ]

A confident wrongfix costs youan afternoon.

Every diagnosis carries a confidence score. Under 0.40 Insight says it's a lead, not an answer, and offers the fix as something to verify. Above 0.70 it gives the exact field or expression to change.

hedged
moderate
specific fix
0.40
0.70
Thresholds at 0.40 and 0.70, the same ones the result card and the dashboard use. Hollow marker for hedged, filled above it. Shape and word, not just colour.
diagnosis · Build EmailLow confidence

Confidence is low. Treat this as a lead to investigate, not a confirmed root cause.

Fetch Order now returns the order under data, so $json.customer is undefined.

Possible fix · verify before applying

to = {{ $json.data.customer.email }}

[ three ways in ]

Secrets outfirst. Writesby name.

redact
before any LLM call, and before storage
your key
public page: memory, one request
stored key
AES-256-GCM at rest
token
ingest token SHA-256 hashed
writes
3 allowlisted endpoints, named

Execution data can hold real customer data from your own integrations. The redacted execution goes to Groq to be diagnosed, and only a metadata row is kept. The security page lists what goes where.

Read the security model