update_event
Update an existing calendar event by ID, changing only the provided details like time, title, or invitees. For recurring events, edit one occurrence or the whole series.
Instructions
Update an existing calendar event.
Use create_event for new events. Only specified fields are changed. For recurring events, pass an occurrence ID (from search_events) to modify just that single occurrence, or the master ID to change the whole series.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ID of the event to update, as returned by search_events. | |
| from | No | Email address to organize from when adding the first participants. Must match one of the account's own addresses. Has no effect when the event already has an organizer. | |
| color | No | Six-digit hex color. Pass an empty string to clear it and inherit from the calendar. | |
| start | No | Start date-time in ISO 8601 format (e.g. "2026-03-15T14:00:00"). | |
| title | No | Event title. | |
| duration | No | Duration in ISO 8601 format, e.g. "PT1H" or "P1D". | |
| isAllDay | No | Set true to convert this into a true all-day (date-only, floating) event, or false to convert one back into a timed event. | |
| location | No | Location name or address. Pass an empty string to clear. | |
| timeZone | No | IANA time zone. Ignored for all-day events. | |
| recurrence | No | Recurrence rules, same shape as create_event's recurrence. Only meaningful on a series master. | |
| description | No | Event description or notes. Pass an empty string to clear. | |
| addParticipants | No | Invitees to add, e.g. [{"name": "Jo", "email": "jo@example.com"}]. Duplicates against existing invitees are skipped. SENDS REAL INVITATION EMAILS. | |
| removeParticipants | No | Invitees to uninvite, by email or display name. Matching is case-insensitive; a name matching more than one invitee is an error, so pass the email to disambiguate. The organizer is never removed. SENDS REAL CANCELLATIONS. |