create_event
Creates calendar events with start/end times, recurrence rules, alarms, location, notes, and all-day support, targeting a named or pointer calendar through EventKit.
Instructions
Create an event. start/end ISO datetime — naive = local time, call now()
first; recurrence an RRULE with FREQ, INTERVAL, COUNT, UNTIL, BYDAY (ordinals
such as 2TU or -1FR for monthly and yearly), BYMONTHDAY, BYMONTH, BYYEARDAY,
BYSETPOS; BYWEEKNO, BYHOUR, BYMINUTE, BYSECOND and WKST are refused. all_day
takes a DATE
(2026-07-01); a timestamp with a UTC offset is rejected. A start that does not
match its recurrence is accepted (RFC 5545 counts it as the first occurrence) and
the result's summary says so.
alarms are minutes before the start, as in the Google Calendar API. For an all-day
event the offset counts from local midnight: -540 is 09:00 on the day, 900 is
09:00 the day before. On a DST-change day the alert shifts an hour, the same as
Calendar's own alerts. At most 5.
Side effect (creates); needs EventKit (Calendar) access. Target a calendar via
calendar — a calendar name OR a calendar Pointer id (from calendars). An ambiguous
name is refused (with the candidate ids listed), never guessed.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | ||
| notes | No | ||
| start | Yes | ||
| title | Yes | ||
| alarms | No | ||
| all_day | No | ||
| calendar | No | ||
| location | No | ||
| recurrence | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||