update_event
Update calendar event details such as title, location, status, or custom fields, and reschedule or switch between all-day and timed events using plain dates—no iCal formatting needed.
Instructions
PREFERRED: Update event fields without iCal formatting. Use start_date/end_date/all_day to move an event or convert it between all-day and timed. Use fields for everything else: SUMMARY (title), DESCRIPTION (details), LOCATION (place), STATUS (TENTATIVE/CONFIRMED/CANCELLED), and any other RFC 5545 property including custom X-* properties (e.g., X-ZOOM-LINK, X-MEETING-ROOM).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | Fields to update, keyed by bare UPPERCASE property name (e.g., SUMMARY, LOCATION, STATUS). Any RFC 5545 property or custom X-* property is supported, EXCEPT the dates: use start_date/end_date/all_day for DTSTART, DTEND and DURATION. Property parameters such as "VALUE=DATE" are not accepted here, and values must not contain line breaks. | |
| all_day | No | Optional. All-day is inferred from the date format, so this is only needed to state the intent explicitly; it must agree with the format of start_date/end_date. This is the supported way to convert an event between all-day and timed. | |
| end_date | No | New end, in the same form as start_date. For an all-day event the end is EXCLUSIVE: a single day on 2026-05-25 is start_date "2026-05-25" and end_date "2026-05-26". | |
| event_url | Yes | The URL of the event to update | |
| event_etag | Yes | The etag of the event (required for conflict detection) | |
| start_date | No | New start. A datetime ("2026-05-25T10:00:00Z") makes the event timed; a bare date ("2026-05-25") makes it all-day. Must be given together with end_date. |