Skip to main content
Glama

Update a CRM calendar event

crm_update_calendar_event

Edit an existing custom calendar event (title, times, all-day, description, colour, linked lead — lead_id null unlinks). Write operation, no credit cost.

Input Schema

NameRequiredDescriptionDefault
idYes
colorNo#RRGGBB
titleNo
end_atNoISO datetime
all_dayNo
lead_idNoLead id, or null to unlink
start_atNoISO datetime
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / properties / color
      Added value: +{
      +  "description": "#RRGGBB",
      +  "pattern": "^#[0-9a-fA-F]{6}$",
      +  "type": "string"
      +}
    • addedInput schema / properties / description
      Added value: +{
      +  "type": "string"
      +}
    • addedInput schema / properties / end_at
      Added value: +{
      +  "description": "ISO datetime",
      +  "type": "string"
      +}
    • removedInput schema / properties / ends_at
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / lead_id
      Added value: +{
      +  "description": "Lead id, or null to unlink",
      +  "type": [
      +    "string",
      +    "null"
      +  ]
      +}
    • removedInput schema / properties / notes
      Removed value: -{
      -  "type": "string"
      -}
    • addedInput schema / properties / start_at
      Added value: +{
      +  "description": "ISO datetime",
      +  "type": "string"
      +}
    • removedInput schema / properties / starts_at
      Removed value: -{
      -  "type": "string"
      -}
  2. First observed

TDQS

A3.6/5.0
Behavior3/5

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

With no annotations, the description does real work: it declares this is a write operation and that it costs no credits, and it explains the null-unlink behavior for lead_id. However, it omits key mutation semantics — that only supplied fields change (id is the sole required param, so this is a partial update), and whether externally synced/non-custom events can be edited at all, despite the word "custom" hinting at a restriction.

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?

A single front-loaded sentence that puts the verb and resource first, then the editable fields, then the behavioral notes. No filler, no repetition of the title.

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

Completeness3/5

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

For a mutation tool with zero annotations and no output schema, the definition covers safety-relevant facts (write op, no credit cost, unlink semantics) but leaves the partial-update contract unstated and says nothing about permissions or failure modes. Adequate but with clear gaps an agent would have to discover by trial.

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 coverage is 50%, and the description compensates by listing every editable field (title, times, all-day, description, colour, linked lead), mapping the unlabeled schema properties (title, all_day) to meaning. Minor friction: it says "colour" while the schema parameter is "color", and "times" must be inferred as start_at/end_at.

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

Purpose4/5

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

States a specific verb (edit) and resource (existing custom calendar event) and enumerates the editable fields, which lets an agent separate it from crm_create_calendar_event and crm_delete_calendar_event without opening the schema. It doesn't name those siblings explicitly, so it stops just short of a 5.

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

Usage Guidelines3/5

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

"Edit an existing" implies the precondition that the event must already exist, but the description gives no explicit when-to-use vs when-to-create guidance and never points to crm_list_calendar_events as the way to obtain the required id. Usage is inferable rather than stated.

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.

Resources