Skip to main content
Glama

Update a calendar event

calendar_update_event
Idempotent

Update an existing Outlook calendar event by patching fields like subject, time, location, or attendees. Replaces the attendee list entirely, so send full list to avoid uninviting anyone.

Instructions

Patches the given fields on an event and returns the updated event; omitted fields are left alone. Two traps: sending attendees replaces the whole list, so anyone left out is uninvited, and changing the time or attendees of a meeting sends an update to everyone invited. Updating a recurring series master changes every occurrence.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
idYesEvent id to update.
endNoNew ISO-8601 end.
bodyNoReplacement event description.
startNoNew ISO-8601 start. Send `end` too whenever the new start would land after the existing end.
showAsNoHow the event shows on the free/busy view.
subjectNoNew subject line.
bodyTypeNoHow to interpret `body`. Defaults to 'text'.text
isAllDayNoSwitch the event to or from all-day.
locationNoReplacement location.
timeZoneNoIANA or Windows time-zone name (e.g. "Europe/Berlin", "Pacific Standard Time") used to interpret naive start/end values and to render returned times.
attendeesNoReplaces the entire attendee list — anyone omitted is uninvited, so send the full list, not just additions.
categoriesNoReplaces the category list.
isOnlineMeetingNoAdd a Teams meeting link. Removing one after the fact is not supported.
reminderMinutesBeforeStartNoReminder lead time in minutes.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate idempotentHint=true (safe to retry), readOnlyHint=false and destructiveHint=false (mutation but not destructive). The description adds behavioral context beyond annotations: it explicitly warns about side effects (emails to attendees, impact on series), and states that omitted fields are left alone, which clarifies idempotency and partial update behavior. It doesn't mention auth requirements, but that's likely covered elsewhere. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact: three sentences, front-loaded with the core patch semantics, followed by the most critical traps. Every sentence carries operational weight. It avoids boilerplate and directly addresses the highest-risk aspects of the tool. No fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (14 params, many with nuanced behavior), the description covers the most critical operational details: partial update semantics, the attendees replacement issue, and notification side effects. It does not cover every parameter (e.g., timeZone interpretation, isOnlineMeeting removal limitation), but the schema descriptions provide that. With annotations covering idempotency, and high schema coverage, the description is sufficiently complete for correct invocation. It could mention recurring series implications more explicitly, but the warning about updating the series master covers it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents each parameter. The description adds value by highlighting the 'attendees' replacement trap, which is not fully captured in the schema description (schema says 'replaces the entire attendee list' but description reinforces it with the 'uninvited' consequence). It also adds the context that changing start/end triggers notifications. For a complex tool with 14 params, this extra guidance is valuable beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states that it patches given fields on an event and returns the updated event, with a clear verb ('patches') and resource ('event'). It distinguishes itself from sibling tools like calendar_create_event (creates new) and calendar_delete_event (removes), and from read-only tools like calendar_get_event. The description also emphasizes partial update semantics, which is key for an update tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly warns about common pitfalls: sending 'attendees' replaces the whole list (so users must send the full list), changing time/attendees sends updates to invitees, and updating a recurring series master affects all occurrences. It doesn't explicitly name alternatives, but given the unrelated sibling set (files, mail, todo), the context is clear. The warnings provide critical when-to-be-careful guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.