create_event
Add an event to your iCloud Calendar, returning the new event's ID. Supports title, start, duration, location, recurrence, and participants.
Instructions
Create a calendar event. Returns the new event's id.
Use update_event to change an existing event.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | Email address to organize the event from when inviting participants. Must match one of the account's own addresses. If omitted, the account's primary address is used. | |
| color | No | Display color, as a six-digit hex value (e.g. "#ff0000"). | |
| start | Yes | Start date-time in ISO 8601 format (e.g. "2026-03-15T14:00:00"). | |
| title | Yes | Event title. | |
| duration | No | Duration in ISO 8601 format, e.g. "PT1H" (1 hour) or "PT30M" (30 minutes). For an all-day event set isAllDay and give a whole-day duration like "P1D" or "P2D". Defaults to PT1H, or P1D when isAllDay. | |
| isAllDay | No | Set true for a true all-day (date-only) event such as a birthday, holiday, or multi-day trip. All-day events float: they have no time of day and no time zone, and never shift when viewed in another zone. Give 'start' as a date ("2026-07-03"; any time part is ignored) and 'duration' in whole days. (Note: a midnight start with duration P1D is NOT an all-day event -- it is a 24-hour timed block. Use this flag instead.) | |
| location | No | Location name or address. | |
| timeZone | No | IANA time zone (e.g. "America/New_York"). Defaults to the server's zone. Ignored for all-day events, which have no time zone. | |
| calendarId | No | Calendar to add the event to. Use list_calendars to find calendar IDs. Defaults to the user's first writable calendar. | |
| recurrence | No | Make this a recurring event. Properties: frequency (required, one of "daily", "weekly", "monthly", "yearly"), interval (repeat every N, default 1), byDay (array of day codes for weekly: ["mo","tu","we","th","fr","sa","su"]), count (stop after N occurrences), until (stop after this date-time). Examples: {"frequency": "weekly"}; {"frequency": "weekly", "interval": 2, "byDay": ["mo","we","fr"]}. | |
| description | No | Event description or notes. | |
| participants | No | Invitees, e.g. [{"name": "Jo", "email": "jo@example.com"}]. The account is added automatically as organizer; do not include it here. THIS SENDS REAL INVITATION EMAILS immediately, and they cannot be recalled -- omit this argument unless the user asked for guests. |