Preflight · Compare

Definition vs behavior

n8n Definition Diff vs Behavior — When JSON Looks Fine

n8n history and Git diffs compare workflow definitions — the JSON. Behavior testing replays an edit against recorded real runs and compares each node’s output, so a change that looks fine in a definition diff can still be blocked when the behavior is wrong.

What does an n8n definition or history diff show?

It shows what changed in the workflow definition (the JSON) — nodes added, removed, or reconfigured. It does not prove that outputs still match what those nodes produced on real client runs.

Version history and Git compare are the right tools for “what changed in the file.” They are not a proof that client-facing behavior stayed the same.

When does a clean definition diff still break clients?

When behavior changes without a clear parent-definition change — for example a sub-workflow edit, an expression that now resolves to nothing, or an external API response that shifted. The JSON can look fine while outputs are wrong.

That is the silent-success class of risk: the run finishes green, the definition review looks calm, and the client sees wrong data downstream.

How is behavior testing different from n8n history?

History/version compare tells you what changed in the file. Behavior testing reruns the edited workflow on recorded inputs and diffs what each node actually produced — success status alone is not enough.

Preflight is built for that second check: record real executions, replay the edit in a sandbox, and read per-node output diffs before you deploy.

Definition diff vs Preflight — side-by-side

Definition / history diffPreflight behavior gate
ComparesWorkflow JSON / canvas versionsNode outputs on recorded real runs
AnswersWhat changed in the file?Did behavior stay safe?
CatchesStructural edits you can see in the definitionWrong-but-green runs definition diffs miss
Best forReview and rollback of the workflow fileClient delivery gate before deploy

Preflight is an independent tool that integrates with n8n via its public API. Not affiliated with n8n GmbH.

When should agencies use both?

Use definition/history diffs for review and rollback of the workflow file. Add a behavior gate before client delivery when silent wrong-output risk matters — especially multi-client shops and sub-workflow-heavy builds.

History for “what changed.” Preflight for “did behavior stay safe.”

FAQ

Definition vs behavior questions

What does an n8n definition or history diff show?

It shows what changed in the workflow definition (the JSON) — nodes added, removed, or reconfigured. It does not prove that outputs still match what those nodes produced on real client runs.

When does a clean definition diff still break clients?

When behavior changes without a clear parent-definition change — for example a sub-workflow edit, an expression that now resolves to nothing, or an external API response that shifted. The JSON can look fine while outputs are wrong.

How is behavior testing different from n8n history?

History/version compare tells you what changed in the file. Behavior testing reruns the edited workflow on recorded inputs and diffs what each node actually produced — success status alone is not enough.

Definition diff vs Preflight — what’s the side-by-side?

Definition diff: compare workflow JSON / canvas versions. Preflight: record real executions, replay the edit in a sandbox, per-node output diffs, optional deploy gate when behavior changed. Agencies often use history for “what changed” and Preflight for “did behavior stay safe.”

When should agencies use both?

Use definition/history diffs for review and rollback of the workflow file. Add a behavior gate before client delivery when silent wrong-output risk matters — especially multi-client shops and sub-workflow-heavy builds.

Early access

Gate behavior — not just the JSON.

Preflight records real n8n executions, replays your edit, diffs every node’s output, and can block the deploy when behavior changed.

One email when the beta opens. That’s the whole list.