iCloud Calendar icon

iCloud Calendar

Interact with iCloud Calendar via CalDAV.

Overview

The node integrates with iCloud Calendar via the CalDAV protocol, allowing users to manage calendar events programmatically. Specifically, the "Create Event" operation enables creating new events in a selected iCloud calendar.

This node is beneficial for automating calendar management tasks such as scheduling meetings, reminders, or any event creation triggered by workflows. For example, it can be used to automatically add an event when a form is submitted or when a task reaches a certain status.

Properties

Name Meaning
Calendar Name or ID Select the target calendar from your iCloud calendars list or specify its ID using an expression.
Event Title The title or summary of the event to create.
Start Date The start date and time of the event.
End Date The end date and time of the event. Must be strictly after the start date.
Timezone Timezone for the event's start and end times. Defaults to the system timezone if not specified. A comprehensive list of timezones is available to choose from.
Additional Fields Optional additional details for the event:
- Description Text description of the event.
- Location Location where the event takes place.
- All Day Boolean flag indicating if the event lasts all day (no specific time).
- Show As Whether the event shows as busy (blocks time) or free (does not block time) on the calendar. Options: Busy, Free.
- URL URL associated with the event.
- Attendees List of attendees with their email, name, and role (Required, Optional, Chair).
- Attachments List of attachments with URL, file name, and MIME type.
- Status Status of the event. Options: Confirmed, Cancelled, Tentative.

Output

The output JSON object includes:

  • success: Boolean indicating if the event was created successfully.
  • eventId: The unique identifier of the newly created event.
  • Event details reflecting the input properties:
    • summary (Event Title)
    • start (Start date/time in ISO format or date string for all-day)
    • end (End date/time in ISO format or date string for all-day)
    • description
    • location
    • allDay
    • transparency (show as busy/free)
    • url
    • attendees (array of attendee objects)
    • attachments (array of attachment objects)
    • status

No binary data output is produced by this operation.

Dependencies

  • Requires valid iCloud API credentials with username and password for CalDAV access.
  • Uses HTTP requests to iCloud CalDAV endpoints.
  • Relies on timezone handling libraries internally.
  • No additional environment variables are required beyond credential configuration.

Troubleshooting

  • Common Issues:

    • Incorrect or expired iCloud credentials will cause authentication failures.
    • Providing an end date that is not strictly after the start date will throw an error.
    • Network issues or iCloud service outages may cause request failures.
    • Invalid calendar ID or event data format can lead to errors.
  • Error Messages:

    • "Failed to get user principal": Indicates failure to retrieve the authenticated user's principal URL; check credentials.
    • "Failed to create event": Returned when the CalDAV server rejects the event creation; verify event data correctness.
    • "End date must be strictly after start date": Input validation error; ensure end date/time is later than start date/time.
    • HTTP errors with status codes: May indicate permission issues, invalid URLs, or server errors.
  • Resolution Tips:

    • Re-authenticate or update credentials if authentication fails.
    • Double-check date/time inputs and timezone settings.
    • Ensure the calendar ID corresponds to an existing calendar accessible by the credentials.
    • Review network connectivity and retry if transient errors occur.

Links and References

Discussion