diff --git a/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.ts b/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.ts index a1a92aeec8..bd63567ebf 100644 --- a/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.ts +++ b/packages/nodes-base/nodes/ExecuteWorkflow/ExecuteWorkflowTrigger/ExecuteWorkflowTrigger.node.ts @@ -212,14 +212,15 @@ export class ExecuteWorkflowTrigger implements INodeType { } else { const newParams = getFieldEntries(this); const newKeys = new Set(newParams.fields.map((x) => x.name)); - const itemsInSchema: INodeExecutionData[] = inputData.map((row, index) => ({ + const itemsInSchema: INodeExecutionData[] = inputData.map(({ json, binary }, index) => ({ json: { ...Object.fromEntries(newParams.fields.map((x) => [x.name, FALLBACK_DEFAULT_VALUE])), // Need to trim to the expected schema to support legacy Execute Workflow callers passing through all their data // which we do not want to expose past this node. - ..._.pickBy(row.json, (_value, key) => newKeys.has(key)), + ..._.pickBy(json, (_value, key) => newKeys.has(key)), }, index, + binary, })); return [itemsInSchema]; diff --git a/packages/nodes-base/utils/workflowInputsResourceMapping/GenericFunctions.ts b/packages/nodes-base/utils/workflowInputsResourceMapping/GenericFunctions.ts index d05e3bb769..441e14c4b4 100644 --- a/packages/nodes-base/utils/workflowInputsResourceMapping/GenericFunctions.ts +++ b/packages/nodes-base/utils/workflowInputsResourceMapping/GenericFunctions.ts @@ -142,10 +142,11 @@ export function getCurrentWorkflowInputData(this: IExecuteFunctions | ISupplyDat } else { const removedKeys = new Set(schema.filter((x) => x.removed).map((x) => x.displayName)); - const filteredInputData: INodeExecutionData[] = inputData.map((item, index) => ({ + const filteredInputData: INodeExecutionData[] = inputData.map(({ json, binary }, index) => ({ index, pairedItem: { item: index }, - json: _.pickBy(item.json, (_v, key) => !removedKeys.has(key)), + json: _.pickBy(json, (_v, key) => !removedKeys.has(key)), + binary, })); return filteredInputData;