Manage Calendar Event
manage-eventUpdate, decline, cancel, or delete existing Outlook calendar events. Preview changes with dryRun before sending emails or modifying your calendar.
Instructions
Manage an existing calendar event. dryRun: true previews any action without changing or sending anything: who would be emailed, with an external count (update also: who is added or removed, and the PATCH body). action=update edits fields via PATCH (subject, start, end, attendees, body, location, isOnlineMeeting, sensitivity, showAs, importance, categories, reminderMinutesBeforeStart); only fields you pass change. action=decline declines an invitation (optional comment; sendResponse: false declines without notifying the organiser). action=cancel cancels an event you organised and emails attendees. action=delete removes the event from your calendar (Graph documents no guaranteed recovery); deleting a meeting you organised that has attendees still emails them a cancellation, so use cancel with a comment to control that message. Returns the updated event on update; a confirmation otherwise. There is no accept action: accept invitations in the Outlook UI, as Graph's accept verb is unreliable.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Alias for `eventId` (canonical per the v3.7.3 alias pass). | |
| end | No | New end time as ISO 8601 string or {dateTime, timeZone} object (action=update only) | |
| body | No | New body content (action=update only) | |
| start | No | New start time as ISO 8601 string or {dateTime, timeZone} object (action=update only) | |
| action | Yes | Action to perform (required) | |
| dryRun | No | Preview only: nothing is changed or sent. Shows who would be emailed (decline/cancel/delete) or the PATCH body (update). Default false. | |
| showAs | No | Free/busy status shown to others (action=update only) | |
| comment | No | Message sent with a decline or cancel (optional; omitted if not given) | |
| eventId | No | The ID of the event | |
| subject | No | New subject (action=update only) | |
| location | No | New location display name (action=update only) | |
| attendees | No | Full replacement attendee list — pass the complete desired list, or [] to clear (action=update only). Each entry is an email address string or an {email, type} object (type 'required', 'optional' or 'resource'). A string, or an object without a type, keeps the type that address already has on the event (new addresses are required); an explicit type always wins. When OUTLOOK_ALLOWED_RECIPIENTS is set, every address on the list must be allowed or the update is refused. | |
| categories | No | Full replacement category list — pass [] to clear (action=update only) | |
| importance | No | Event importance flag (action=update only) | |
| sensitivity | No | Event sensitivity classification (action=update only) | |
| sendResponse | No | Send the decline to the organiser (action=decline only; default true). Pass false to decline without notifying the organiser. | |
| isOnlineMeeting | No | Toggle online meeting flag (action=update only) | |
| reminderMinutesBeforeStart | No | Minutes before start to fire the reminder (action=update only) |