The idea is:
A core Data Mapper node that maps incoming data into a defined target structure (JSON, XML or CSV) without writing code.
You give the node the shape of the output, and it lists every target field for you to fill:
- Target structure from a sample: paste a sample JSON or XML, a JSON Schema, an XSD or a CSV header.
- Source for each field: pick it from a dropdown, drag it from the input panel, or use an expression or fixed text.
- Repeating data: map lists in the source (order lines, addresses) to lists in the target, including nested lists, with no Split Out, Loop or Aggregate nodes.
- Auto-map by name: match fields automatically, including common abbreviations (
Qty→quantity,OrderNo→orderNumber), with a report of what matched and what didn’t. - Transforms per field: convert to number or boolean, format dates, trim and change case, look up values in a table, split and join lists, and concatenate fields with text.
- Output: JSON, XML (fields in schema order, with attributes) or CSV, as an item or a file.
- Reusable mappings: save a mapping as a JSON definition and reuse it across workflows.
My use case:
Integration workflows that move orders, products and invoices between shops, marketplaces, ERPs and carriers. Each system expects its own structure, often XML or CSV with nested repeating sections.
Example: a shop order with several line items has to become an ERP order XML with a header and repeating <line> elements. Today in n8n that needs one of:
- Edit Fields (Set): fine for flat fields, but it has no target schema and can’t map nested lists into the target on its own.
- A Split Out → Edit Fields → Aggregate chain: works, but it’s hard to read and breaks when the structure changes.
- A Code node: flexible, but it needs JavaScript.
A mapping that takes one node in other integration platforms often takes 5–10 nodes or a script in n8n.
I think it would be beneficial to add this because:
- No-code and low-code users get stuck here. Mapping between data structures is the most common integration task, and it’s where non-developers need someone who writes code.
- It can only reach n8n Cloud as a core node. I published this as the community node
n8n-nodes-data-mapper(MIT). n8n confirmed that logic nodes can’t be verified, because verification only covers integrations with third-party services. Unverified community nodes can’t be installed on n8n Cloud. - Workflows are easier to maintain. One node with a visible field-by-field mapping is easier to review, debug and hand over than a chain of nodes or a script.
- It builds on what n8n already has. The field-mapping widget and drag-and-drop from the input panel already exist, so this adds no new concept for users to learn.
- There is real demand. The community node has been downloaded [+500] times without being in the verified catalog.
Any resources to support this?
- Community node source (MIT): GitHub - SilentJMA/n8n-nodes-data-mapper: n8n community node: map and transform data between structures, with array wildcards, transforms, lookup tables and JSON/XML conversion · GitHub
- npm package: https://www.npmjs.com/package/n8n-nodes-data-mapper
- Similar features in other integration tools: Azure Logic Apps Data Mapper, MuleSoft DataWeave, Boomi…
Are you willing to work on this?
Yes. I’m happy to share the existing implementation, test cases and lessons learned, or to contribute to a core version if the n8n team is open to it.
If this would help you too, please upvote this request.