icloud

n8n iCloud Calendar Integration

Package Information

Released: 1/27/2025
Downloads: 7 weekly / 37 monthly
Latest Version: 0.2.7
Author: ozdreamwalk

Documentation

n8n-nodes-icloud

This is an n8n community node. It lets you use Apple iCloud Calendar in your n8n workflows.

n8n is a fair-code licensed workflow automation platform.

Installation
Operations
Credentials
Compatibility
System Requirements
Performance Considerations
Troubleshooting
Performance Optimization
Resources
Changelog
Support the Project
Disclaimer

Installation

Local Install

  1. Clone the repository
git clone https://github.com/ozdreamwalk/n8n-ozdreamtools-icloud.git
  1. Install dependencies and build
cd n8n-ozdreamtools-icloud
pnpm install
pnpm build
  1. Link to your n8n installation
npm link
cd ~/.n8n/nodes
npm link n8n-nodes-icloud

npm Install

Follow the installation guide in the n8n community nodes documentation.

npm install [email protected] -g

Operations

iCloud Calendar

  • List Calendars

    • Retrieve all calendars associated with the account
  • Get Calendar Details

    • Retrieve detailed information about a specific calendar
  • Get Events

    • Retrieve events from a specific calendar
    • Supports filtering by start and end dates
    • Allows limiting the number of events returned
  • Get Single Event

    • Retrieve a specific event by its ID
  • Create Event

    • Create a new calendar event
    • Supports setting event title, start and end dates
    • Optional fields include description, location, and all-day event flag
  • Delete Event

    • Delete an existing calendar event by its ID

Credentials

To use this node, you need to set up iCloud Calendar credentials:

  1. Get your Apple ID and password
  2. Generate an app-specific password for n8n:
    • Go to Apple ID account page
    • Sign in with your Apple ID
    • Go to Security > App-Specific Passwords
    • Click Generate Password
  3. Use your Apple ID email and the generated app-specific password

Compatibility

  • Tested against n8n version 1.0+
  • Supports Apple iCloud Calendar via CalDAV API
  • Requires app-specific password for authentication

System Requirements

Node.js

  • Minimum version: 18.10.0
  • Recommended version: 20.x

n8n

  • Minimum version: 1.0.0
  • Recommended version: Latest stable release

Package Manager

  • pnpm (version 9.x)

System Dependencies

  • Internet connection for iCloud API access
  • Timezone support in the runtime environment

Performance Considerations

Memory Requirements

  • Minimum: 2GB RAM
  • Recommended: 4GB+ RAM for large calendar operations

Timezone Handling

  • Requires moment-timezone for accurate date/time conversions
  • Supports all IANA timezone database entries

Troubleshooting

Common Issues

  1. Timezone Discrepancies

    • Ensure system timezone is correctly set
    • Use IANA timezone names (e.g., 'America/New_York')
  2. Dependency Conflicts

    • Use exact versions specified in package.json
    • Run pnpm install to resolve dependency issues
  3. API Limitations

    • iCloud API has rate limits and authentication requirements
    • Implement proper error handling in workflows

Debugging

  • Enable verbose logging in n8n
  • Check network connectivity to iCloud services
  • Verify Apple ID credentials and permissions

Performance Optimization

Best Practices

  • Limit calendar sync range (avoid extremely large date ranges)
  • Use efficient filtering in workflows
  • Implement caching where possible

Recommended Workflow Patterns

  • Schedule calendar syncs during low-traffic periods
  • Use incremental updates instead of full resyncs
  • Implement exponential backoff for API retries

Resources

Changelog

0.2.6

  • Enhanced timezone handling in event parsing
  • Improved error handling for CalDAV API discovery
  • Added more robust support for recurring events
  • Updated dependencies to latest compatible versions

0.2.5

  • Renamed actualCalendarId to CalendarId for consistency
  • Improved calendar details retrieval

Support the Project

This software is free and open-source. While it is provided at no cost, developing and maintaining open-source projects requires significant time, effort, and expertise.

If you find value in this n8n community node for iCloud Calendar integration, we kindly ask you to consider supporting the project's continued development. Your support helps maintain, improve, and expand the functionality of this tool.

How to Support

Buy Me a Coffee

Every contribution, no matter the size, is deeply appreciated and helps sustain the project. Your support allows for:

  • Continued maintenance
  • Bug fixes
  • New feature development
  • Improved documentation

Thank you for your support!

Disclaimer

BETA VERSION NOTICE

This n8n community node for iCloud Calendar is currently in BETA. While we strive to provide a robust and reliable integration, please be aware of the following:

  • This node may have limitations or unexpected behaviors
  • Thoroughly test in a non-production environment before using in critical workflows
  • Report any issues or unexpected behaviors to the project repository
  • Breaking changes may occur in future updates

Use with caution and at your own risk in production environments.

License

MIT

Discussion