Skip to main content
Glama

calendar_update_event

Update an existing event in the connected calendar (Google or Outlook). Can modify title, time, location, description, and attendees, add a Google Meet link to an event that has none, and move the event to another calendar of the same account. Only specified fields will be updated.

Input Schema

NameRequiredDescriptionDefault
endNoNew end time in ISO 8601 format. Optional.
startNoNew start time in ISO 8601 format. Optional.
summaryNoNew event title/summary. Optional.
event_idYesID of the event to update. Required.
locationNoNew event location. Optional.
attendeesNoNew list of attendee emails. Replaces existing attendees.
account_idNoCalendar account to use when the workspace has several (Google or Outlook). OMIT to use the default one; every answer names the account and channel used.
calendar_idNoCalendar ID containing the event. OMIT to use the agent's configured default calendar (or primary).
descriptionNoNew event description. Optional.
in_workspaceNoRun this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.
add_google_meetNoOld name of add_online_meeting (kept for existing agents). OMIT; use add_online_meeting.
move_to_calendarNoMove the event to another calendar of the same Google account, named by its id or its name, case-insensitive (e.g. a separate calendar kept for one project, so it can be shown or hidden on its own). The event keeps its id, Meet link and attendees, and the move itself notifies nobody (a field changed in the same call still notifies the attendees, as any update does). Calendar auto-join reads the primary calendar only, so the meeting bot does not join an event moved out of it. OMIT to leave the event where it is.
add_online_meetingNoIf true, gives the event a video meeting link of its own when it has none (Google Meet on a Google calendar, Microsoft Teams on an Outlook calendar); an event that already has one keeps it. OMIT to leave the event's link as it is.
send_notificationsNoWhether to email the attendees about the change. true (default) notifies them; false saves the change silently. On Outlook calendars a silent save is refused when the event has guests. Moving an event to another calendar never notifies the guests.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • addedInput schema / properties / send_notifications
      Added value: +{
      +  "default": true,
      +  "description": "Whether to email the attendees about the change. true (default) notifies them; false saves the change silently. On Outlook calendars a silent save is refused when the event has guests. Moving an event to another calendar never notifies the guests.",
      +  "type": "boolean"
      +}
  2. Changed3 schema fields changed
    • addedInput schema / properties / account_id
      Added value: +{
      +  "description": "Calendar account to use when the workspace has several (Google or Outlook). OMIT to use the default one; every answer names the account and channel used.",
      +  "type": "integer"
      +}
    • changedInput schema / properties / add_google_meet / description
      Previous value: -"If true, gives the event a Google Meet link of its own when it has none; an event that already has one keeps it. OMIT to leave the event's link as it is."New value: +"Old name of add_online_meeting (kept for existing agents). OMIT; use add_online_meeting."
    • addedInput schema / properties / add_online_meeting
      Added value: +{
      +  "description": "If true, gives the event a video meeting link of its own when it has none (Google Meet on a Google calendar, Microsoft Teams on an Outlook calendar); an event that already has one keeps it. OMIT to leave the event's link as it is.",
      +  "type": "boolean"
      +}
  3. Changed1 schema field changed
    • addedInput schema / properties / move_to_calendar
      Added value: +{
      +  "description": "Move the event to another calendar of the same Google account, named by its id or its name, case-insensitive (e.g. a separate calendar kept for one project, so it can be shown or hidden on its own). The event keeps its id, Meet link and attendees, and the move itself notifies nobody (a field changed in the same call still notifies the attendees, as any update does). Calendar auto-join reads the primary calendar only, so the meeting bot does not join an event moved out of it. OMIT to leave the event where it is.",
      +  "type": "string"
      +}
  4. Changed1 schema field changed
    • addedInput schema / properties / add_google_meet
      Added value: +{
      +  "description": "If true, gives the event a Google Meet link of its own when it has none; an event that already has one keeps it. OMIT to leave the event's link as it is.",
      +  "type": "boolean"
      +}
  5. Changed1 schema field changed
    • addedInput schema / properties / in_workspace
      Added value: +{
      +  "description": "Run this one call in this workspace id instead of the session's. Nothing is stored; other sessions are not affected.",
      +  "type": "integer"
      +}
  6. Added
  7. Removed
  8. Changed2 schema fields changed
    • removedInput schema / properties / calendar_id / default
      Removed value: -"primary"
    • changedInput schema / properties / calendar_id / description
      Previous value: -"Calendar ID containing the event. Defaults to primary."New value: +"Calendar ID containing the event. OMIT to use the agent's configured default calendar (or primary)."
  9. First observed

TDQS

A4.2/5.0
Behavior4/5

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

The annotations already declare that this is a non-read-only, open-world, non-idempotent, non-destructive mutation. The description adds useful behavioral context beyond those annotations: it performs partial updates ('Only specified fields will be updated'), adds a Meet link only when none exists, and can move an event within the same account. Notification behavior is covered in the schema rather than the main description.

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 front-loaded with the core action and resource, then adds the key capabilities and the partial-update rule in three efficient sentences. There is no redundant or filler text.

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?

For a 14-parameter update tool with full schema coverage and annotations, the description covers the essential behavior: update existing events, partial field updates, Meet-link addition, and calendar moves. Notification nuances and account defaults are delegated to the schema, which is reasonable, though the main description could briefly mention notification implications for completeness.

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

Parameters3/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 explains all 14 parameters in detail. The description adds a compact summary of modifiable fields and the partial-update rule, but it does not provide parameter-level semantics beyond what the schema already provides. A baseline of 3 is appropriate when the schema carries the parameter documentation.

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 uses a specific verb and resource: 'Update an existing event in the connected calendar.' It clearly distinguishes this from creation and deletion by saying it updates an existing event, and it enumerates supported modifications (title, time, location, description, attendees, Meet link, calendar move) so the agent can identify the tool without opening the schema.

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

Usage Guidelines4/5

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

The description makes the usage context clear: update an existing event, only specified fields are changed, and it can add a Meet link if missing or move the event to another calendar. It does not explicitly name alternative sibling tools such as calendar_create_event or calendar_delete_event, so the routing guidance is strong but not fully explicit.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.