This operation expects the node's input data to contain a binary file 'data', but none was found [item 0]

Describe the problem/error/question

  1. I am downloading an audio file from a http request (see screenshot Node below: “upload a file on OneDrive” )
  2. I want to store the audio file under a newly created directory on OneDrive
    e.g. id_customer/timestamp/audio-file-uuid.ogg

What is the error message (if any)?

This operation expects the node’s input data to contain a binary file ‘data’, but none was found [item 0]
Make sure that the previous node outputs a binary filequote

Please share your workflow

Share the output returned by the last node

Item Index 0
Node type n8n-nodes-base.microsoftOneDrive
Node version 1 (Latest)
n8n version 1.81.4 (Self Hosted)
Time 11/3/2025, 23:47:42

Stack trace

NodeOperationError: This operation expects the node’s input data to contain a binary file ‘data’, but none was found [item 0] at assertBinaryData (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/node-execution-context/utils/binary-helper-functions.js:46:15) at Object.assertBinaryData (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/node-execution-context/execute-context.js:32:107) at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/Microsoft/OneDrive/MicrosoftOneDrive.node.js:159:61) at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:660:42) at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:891:62 at processTicksAndRejections (node:internal/process/task_queues:95:5) at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:1224:20

Information on your n8n setup

  • n8n version: 1.81.4 (Self Hosted)
  • Database : SQLite
  • n8n EXECUTIONS_PROCESS setting: I don’t know
  • Running n8n via : Docker
  • Operating system: Ubuntu 22.04

Screenshot Node “upload a file on OneDrive”

You need to add a Response option to your 'Download Audio" node and set the response format to file, and Put Output in Field to data like so:

1 Like

@CameronDWills I have applied your proposal but the error remains

QUESTION Do I have to wire the flow in a certain way?

Download audio

Audio dynamic filename store in OneDrive

wiring

I’m not familiar with OneDrive specifically, but is there any reason you have Binary file turned on? What happens if you turn it off?

OneDrive node requires a “file content”

PS: the documentation of OneDrive components is nonexistent Microsoft OneDrive node

Your Download Audio node should be providing the file content, so set that File Content field to an expression and drag the file output of the Download Audio node from the input column into the File Content field, see if that works.

if the file content contains “data”, the string “data” will be stored instead of the binary file :frowning:

@CameronDWills I don’t exactly know how to do what you are asking* because the UI does NOT allow me to do such operation.

* " Set that File Content field to an expression and drag the file output of the Download Audio node"

I found the issue BUT I didn’t find the solution yet

The file is correctly stored on OneDrive when the node “Audio store in unique directory” is prefixed by one (1) node

The node stops working when I prefix it with two (2) nodes
I guess that the way to reach the data field changes

Error Message

This operation expects the node’s input data to contain a binary file ‘data’, but none was found [item 0]
Make sure that the previous node outputs a binary file

Still no solution for me?

I can’t figure out how to take the binary file as an input.

1/ I want to store a file on OneDrive
2/ in a newly generated directory name : YYYY-MM-DD-HH-MM-SS
3/ using the orignal filename

The error is still This operation expects the node’s input data to contain a binary file ‘data’, but none was found [item 0]

This happens because upload file node first receives input from create folder, which doesn’t contain binary data, and only after that it would have received the input from HTTP Request. But the second action never happens because the flow has already failed.

You cannot connect two nodes to the third one and expect that data will combine somehow.

You need a Merge node (in Combine by position mode) that will wait for two inputs, combine them and push it forward as a single consistent data item to the node that needs to work with both inputs in one go.

Here what it might look like:

Not tested though as too many elements are missing in your workflow snippet. Consider this as an illustration on how to work with data streams.

I quickly looked through the other workflow snippets above. The approach to referencing data in the pipeline looks not particularly well and, to me, quite prone to errors.

I would be very surpized if adding the Merge node would have resolved the issue here.

1 Like

Thank @Olek and @CameronDWills for your userful help

The merge node and the removal of the filename expression made it work

1 Like