update_calendar_event
Calendar · macOS
Effect: write (strongest supported action). Status: gated.
Gated means the tool requires an installed app, a connected account, permission, or runtime availability. Check those requirements on the listed platform before using it.
macOS
Purpose
Updates an existing event in the Mac's Calendar app (Calendar.app) by ID. Pass only the fields you want to change — unspecified fields are left as-is. Get the event_id from list_calendar_events. For Microsoft 365 use the m365 calendar tools instead.
Required inputs
event_id— Event identifier from list_calendar_events
Permissions and confirmation
Explicit confirmation parameter: inspect the schema and tool description before any real call. The documentation example keeps confirm false. Obtain user authorization before performing the action.
- Use only the apps, accounts and resources authorized by the user on this platform. Consult this tool's platform-specific description for its connection and permission requirements; this catalog does not assert additional OAuth scopes or OS entitlements.
Full input schema — macOS
{
"properties": {
"confirm": {
"description": "Must be true to apply changes",
"type": "boolean"
},
"end_date": {
"description": "New end datetime ISO 8601 (optional). Same timezone rules as start_date.",
"type": "string"
},
"event_id": {
"description": "Event identifier from list_calendar_events",
"type": "string"
},
"location": {
"description": "New location — pass empty string to clear (optional)",
"type": "string"
},
"notes": {
"description": "New notes — pass empty string to clear (optional)",
"type": "string"
},
"span": {
"description": "For recurring events: 'this' (default) or 'future'",
"type": "string"
},
"start_date": {
"description": "New start datetime ISO 8601 (optional). No timezone = Mac's local time; append Z/offset to pin the zone.",
"type": "string"
},
"title": {
"description": "New title (optional)",
"type": "string"
}
},
"required": [
"event_id"
],
"type": "object"
}Documentation example
Do not execute this example. These concrete inputs refer to a fictional demonstration dataset. Resolve real handles and obtain user authorization before any real call.
{
"confirm": false,
"event_id": "demo-event-001",
"title": "Launch planning meeting"
}