iCalendar Parser

Parse iCalendar File

Overview

This node parses iCalendar files (ICS format) from binary input data and extracts calendar events. It is useful when you have calendar data in ICS format stored as binary data within a workflow and want to convert it into structured JSON event objects for further processing or integration.

Common scenarios include:

  • Importing calendar events from uploaded ICS files.
  • Processing calendar data received from external systems or APIs.
  • Extracting event details for scheduling, reminders, or analytics.

For example, if you receive an email attachment containing an ICS file, this node can parse the file and output each calendar event as a separate JSON item.

Properties

Name Meaning
Source Key The name of the binary key to get data from. This specifies which binary property contains the ICS file data to parse. Default is "data".

Output

The node outputs an array of items where each item corresponds to a single calendar event extracted from the ICS file. Each item's json field contains the parsed event object with all its properties as defined in the iCalendar standard (e.g., start time, end time, summary, description).

No binary output is produced by this node; it only converts binary ICS data into JSON event objects.

Dependencies

  • Uses the ical library to parse ICS content.
  • Uses iconv-lite to decode binary data into UTF-8 strings.
  • Requires the input data to contain binary data under the specified source key.
  • No external API keys or services are required.

Troubleshooting

  • If no output events appear, verify that the binary data exists under the specified source key and contains valid ICS content.
  • Errors may occur if the binary data is not properly encoded or is corrupted. Ensure the binary data is a valid ICS file.
  • If the node silently skips items, it means the specified binary key was not found in those input items.
  • Large ICS files might impact performance; consider splitting large files before parsing.

Links and References

Discussion