calendar_update_event
Update an existing calendar event; only non-empty fields change. For recurring events, choose scope (this/following/all) to set which occurrences update.
Instructions
Update an existing calendar event. For a recurring event, 'scope' controls which occurrences this touches: 'this' (default) affects only the given event_id; 'following' splits the series so this instance and every later one get the changes, leaving earlier ones untouched; 'all' updates the entire series. Only the fields you pass non-empty change; guests cannot be edited here. Returns {id, title, start_time, end_time, html_link}, plus conference_link when the event has a Google Meet. Use calendar_set_event_color or calendar_set_event_visibility to change only the color or visibility. Requires user approval.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| color | No | New event color id (1-11) or name, e.g. "Tomato" -- see calendar_list_colors. Empty leaves the color unchanged. | |
| rooms | No | Comma-separated room resource email addresses to book, from calendar_list_rooms (its resource_email field); they replace the rooms already booked. Empty leaves the rooms unchanged. | |
| scope | No | For a recurring event: 'this', 'following', or 'all'. Ignored (has no other meaning) for a non-recurring event. | this |
| title | No | New title. Empty leaves the title unchanged. | |
| reason | Yes | One sentence: why are you calling this tool right now? | |
| end_time | No | New end, same format as start_time. Empty leaves the end unchanged. | |
| event_id | Yes | Id of the event, from calendar_list_events (its id field). | |
| location | No | New location, replacing the current one. Empty leaves it unchanged. | |
| start_time | No | New start as an RFC 3339 timestamp, e.g. '2026-10-15T09:00:00+02:00'; a time without an offset uses the event's own time zone (UTC if it has none). Empty leaves the start unchanged. | |
| calendar_id | Yes | Id of the calendar, from calendar_list_calendars (its id field), or 'primary' for the user's main calendar. | |
| description | No | New description, replacing the current one. Empty leaves it unchanged. | |
| send_updates | No | Who gets a notification email about this change: 'none', 'all', or 'externalOnly'. Omit to use Calendar's own default. | |
| add_google_meet | No | Set to true to add a Google Meet link (skipped if one already exists) |