Describe the problem/error/question
Hello n8n community,
I’m quite new to n8n and I’m having some trouble understanding how binary data is processed and how to access it.
I’ve already read several posts on the topic, but none of them really explain how the concept of binary data actually works.
What I’ve understood so far: as soon as I generate binary data – for example, when reading attachments from an email or downloading from cloud storage – there is an object called $binary (json.item.binary) that contains both the object’s metadata and the base64-encoded string version of the data.
Once I process the data in some way (e.g., upload it to storage or send it as an attachment), different situations occur:
- the binary data disappears completely
- the binary data is still there, but the actual binary content, wherever it is stored, is no longer available (?)
I’ve learned that if I branch the workflow after loading binary data, the binary data will be available in both branches. This helps at least a bit.
In my small example workflow here, I’ve run into the problem again.
However, my question is less about getting the workflow to run, and more about how to keep the loaded binary data available throughout the entire workflow.
For example:
Load binary data → do something → do something else → process the binary data (e.g., upload to storage or send via email)
In this workflow, I’m trying to load an Excel file, extract the data (convert to JSON) to analyze it.
If the file is empty, I don’t want to do anything.
If the file is not empty, I want to send it as an attachment.
Pretty simple, but I’m already failing at this point.
Any help would be greatly appreciated.
Best regards,
Hubert
What is the error message (if any)?
Problem in node “Send a message”
No binary data exists on item!
Please share your workflow
no output
Information on your n8n setup
- **n8n version:**1 .105.4
- Database (default: SQLite): ?
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app): running on Docker, self hosted
- Operating system: Debian GNU/Linux 12 (bookworm)