Skip to content

Unexpected corrupted/empty XLSX file (0 KB) when sending email via Brevo node #28406

@BurenArthur

Description

@BurenArthur

Bug Description

I am experiencing an issue where an XLSX file generated by the Convert to File node is sent as a corrupted or empty (0 KB) attachment when using the Send a transactional email (Brevo) node.

In the workflow, the "Convert to File" node correctly processes 100 items from a SQL query, but the resulting attachment received in the email is invalid and cannot be opened by Excel.

To Reproduce

Important: I created a small workflow just to reproduce the bug, but it doesn't work in any workflow i have previously done.

  1. Create a workflow with a SQL Query node returning multiple rows.

  2. Connect it to a Convert to File node (Set to XLSX format).

  3. Connect that to a Brevo (Send transactional email) node.

  4. Set the binary property in the Brevo node to match the output of the conversion node.

  5. Execute the workflow and open the received attachment.

The email is sent successfully, but the attachment:

Shows a size of 0 KB (or 0 Ko).

Displays a double extension sometimes (e.g., File.xlsx.xlsx).

Triggers an alert in Excel: "Impossible d'ouvrir le fichier... car son format ou son extension n'est pas valide" (Format or extension is not valid).
The file could not be opened... because its format or extension is invalid. (translated from french)

Expected behavior

The attachment should be a valid XLSX file containing the data from the SQL query, with a file size reflecting the actual content.

Debug Info

Debug info

core

  • n8nVersion: 2.8.3
  • platform: docker (self-hosted)
  • nodeJsVersion: 22.22.0
  • nodeEnv: production
  • database: postgres
  • executionMode: scaling (single-main)
  • concurrency: -1
  • license: enterprise (production)
  • consumerId: e5929b1d-d205-41a8-a16d-3f34dcbee669

storage

  • success: all
  • error: all
  • progress: false
  • manual: true
  • binaryMode: database

pruning

  • enabled: true
  • maxAge: 336 hours
  • maxCount: 10000 executions

client

  • userAgent: mozilla/5.0 (macintosh; intel mac os x 10_15_7) applewebkit/537.36 (khtml, like gecko) chrome/146.0.0.0 safari/537.36
  • isTouchDevice: false

Generated at: 2026-04-13T11:37:50.167Z

Operating System

macOS Sequoia 15.7.4

n8n Version

2.8.3

Node.js Version

22.22.0

Database

SQLite (default)

Execution mode

main (default)

Hosting

self hosted

Metadata

Metadata

Assignees

No one assigned

    Labels

    status:in-linearIssue or PR is now in Linearstatus:team-assignedA team has been assigned the issue or PRteam:nodesIssue is with the Nodes team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions