The idea is:
Add native support in n8n to map arrays into nested request fields without automatically splitting executions.
Users should be able to:
- Map array fields into request bodies as-is
- Control whether arrays should be iterated (split) or injected as a single JSON field
- Have a UI option like: “treat this array as one object, not multiple executions”
My use case:
When creating a Shopify order, the REST API expects one request with multiple line items:
{
"order": {
"line_items": [
{
"variant_id": 123,
"quantity": 1
},
{
"variant_id": 456,
"quantity": 2
}
]
}
}
In n8n, when mapping an array directly via the UI:
- Only the first item from the array is sent
- The rest of the array is silently ignored
To make this work properly, I currently must:
- Manually rebuild the whole array in a Code or Set node
- Inject the final JSON via HTTP Request instead of using the native Shopify node
This defeats the purpose of native nodes and makes workflows more complex than needed.
I think it would be beneficial to add this because:
- Many APIs require arrays inside single requests (orders, invoices, line items, transactions)
- Current behavior is unintuitive and leads to hidden bugs
- Native nodes become hard to use for real-world workflows
- Users are forced into manual JSON building unnecessarily
This feature would:
- Simplify workflows
- Improve data correctness
- Reduce reliance on custom code
- Make native nodes more predictable
Any resources to support this?
Community discussion:
https://community.n8n.io/t/array-mapping-issue-how-to-create-single-shopify-order-with-multiple-line-items/225995
Are you willing to work on this?
Yes - I’m happy to help.