A customer updates their order. Your system doesn't tell anyone what actually changed — just that it changed. So someone opens the old version, opens the new version, and manually checks line by line. Every time. That's the actual workflow at most businesses right now. n8n had no built-in way to fix this. You'd write custom code for it, every single project, from scratch. The hard part is nested data. A client's contact list gets reordered and a basic comparison flags every single contact as "changed" — even the ones nobody touched. That's not useful, that's just noise. So I built a custom node for it. Feed it the old version and the new version of any record, and it tells you exactly what was added, removed, or changed — including fields buried deep inside, matched correctly even if the data gets reordered. Drop it after any API call, webhook, or database read. Your workflow only fires when something real actually changed. Install it inside n8n: Settings → Community Nodes → search n8n-nodes-data-diff. Try it on your messiest data — nested records, reordered lists, the stuff that breaks basic comparisons. If it catches something you didn't expect, I want to hear about it.