Skip to content
All tools

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 a recurring event, pass the per-occurrence id from the specific row you mean, not a bare series id. For Microsoft 365 use the m365 calendar tools instead.

Required inputs

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.

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 (or occurrence) identifier from list_calendar_events. For a recurring event this addresses exactly the occurrence that id came from — the preview names the date and scope so you can confirm before applying.",
      "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 — only this occurrence) or 'future' (this and all following occurrences; 'all'/'series' mean the same). Any other value is refused.",
      "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"
}