Create event
create_eventCreates an event in one of the calendars this access may write to.
Availability in the requested slot is checked LIVE (not from cache). An overlapping event does NOT prevent creation — the event is created regardless and the overlap comes back as a warning. Pass that warning on to the user instead of silently double-booking; whether the overlap is intended is the user's call.
All-day events: pass bare dates (start: "2026-09-01", end: "2026-09-03") or set all_day: true. For all-day the end date is INCLUSIVE — that example creates a three-day event covering 1–3 September. Both ends must use the same form.
calendar_id is only needed when several calendars are writable; with exactly one, that one is used. list_calendars shows the writable calendars. title is required.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| end | Yes | End — same form as `start`. For all-day events this date is INCLUSIVE (end 2026-09-03 means the event runs through 3 September). | |
| start | Yes | Start — either an ISO 8601 timestamp WITH timezone (2026-07-28T10:00:00+02:00 or …Z), or a bare date (2026-07-28) for an all-day event. A timestamp without a zone is rejected. | |
| title | Yes | Event title (required) | |
| all_day | No | Force an all-day event; time components in start/end are then discarded. Not needed when start/end are already bare dates. | |
| location | No | ||
| time_zone | No | IANA zone, e.g. America/New_York. For timed events it preserves the NAMED zone so the event follows daylight saving (without it the event is stored as UTC and shows as GMT in Apple Calendar, and a recurring series will not shift with the clocks). For all-day events it decides which local day is covered. Always send it when you know the user's zone; defaults to UTC. | |
| calendar_id | No | Target calendar; only needed when several are writable | |
| description | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| warning | No | ||
| event_id | Yes | ||
| calendar_id | Yes | ||
| calendar_name | No |