ICS node fixed after File Name caused errors
A one-line fix resolves a frustrating bug in n8n's Convert to ICS node — specifying a custom file name no longer crashes the workflow.
The Convert to ICS node in n8n was throwing an error whenever users provided a custom File Name. The node would fail silently, leaving workflows broken and users confused about what went wrong.
With this fix, users can now specify any file name for their ICS output — the name is used correctly for the output file while keeping the ics library clean of properties it doesn't understand. The fix follows the same pattern already used for other UI-only options like organizer and attendee settings, where values meant for the UI are extracted and deleted before being passed downstream.
The change lives in the ICalendar node operations, specifically in the event creation logic. The solution is straightforward: once the fileName value is read from options, it is removed before the remaining options object reaches the ics library.
View Original GitHub Description
Summary
The Convert to File node with operation Convert to ICS was throwing a NodeOperationError whenever a value was provided in the File Name option field (issue #27709).
Root Cause
The fileName property was being passed to the ics.createEvent() function via Object.assign(data, options), but the ics library doesn't recognize fileName as a valid event property.
Fix
Delete the fileName property from options after extracting it, similar to how other UI-only options like geolocationUi, organizerUi, and attendeesUi are handled.
Changes
packages/nodes-base/nodes/ICalendar/createEvent.operation.ts: Addeddelete options.fileNameafter extracting the filename
Testing
The fix ensures that:
- When File Name is provided, it's used for the output file
- The File Name property is not passed to the ics library
- When File Name is empty, the default
event.icsis used
Fixes #27709