Calendar Event (Apple)

Trigger calendar

trigger.calendar_event_apple

Fires when an event in macOS Apple Calendar is created, edited, or deleted. It reads your calendars through native EventKit — there's no API key or account to set up. The first time the trigger runs, macOS shows its standard Full Calendars access permission prompt; grant it once and the trigger arms.

This is a Trigger (outlet only): it starts a workflow and emits the changed event as the payload, so downstream nodes can reference fields like the title, start time, or location with {{calendarEvent.title}}.

Use the Change Type setting to listen for just new events, just edits, just deletions, or all of them. Optionally limit monitoring to a single named calendar and control how far ahead the trigger looks with Look-Ahead (days).

A few behaviors worth knowing: events that already exist when the trigger first arms do not fire as "created"; an event that merely slides out of the look-ahead window is not reported as deleted; and each occurrence of a recurring event is tracked independently.

Ports

Direction Name Data Type Description
Outlet Output Any Payload emitted when a calendar event is created, edited, or deleted

Configuration

Field Type Default Description
Change Type Dropdown Created Which change fires the trigger: Created, Edited, Deleted, or All Changes
Calendar Text Limit monitoring to a named calendar; leave blank to watch all calendars
Look-Ahead (days) Number 30 How many days ahead to monitor for event changes
Custom Arguments Key-Value Additional key-value pairs included in the output payload
Advanced / optional

Output Variables

Variable Type Description
calendarEvent.title String Title of the event
calendarEvent.startISO String Event start time (ISO 8601)
calendarEvent.endISO String Event end time (ISO 8601)
calendarEvent.location String Event location (empty if none)
calendarEvent.calendarName String Name of the calendar the event belongs to
calendarEvent.eventID String EventKit identifier (series-level for recurring events)
calendarEvent.isAllDay Bool Whether the event is an all-day event
calendarEvent.notes String Event notes (empty if none)
calendarEvent.changeKind String What happened: created, edited, or deleted
timestamp String ISO 8601 timestamp of when the change was detected

Example

Get a notification whenever a new event is added to your calendar: