Skip to main content
Glama

Caddie

update_booking_link

Change one of the user's booking links (list_booking_links): title, minutes, description, days with from/to or ranges (only the days given change; no days: all its open days), tz, slug, location, notice, window, buffer, max_per_day, ends, questions, reminders, routines, account, hosts (a team link); active: true turns a disabled one back on (refused from an agent's own turn inside Caddie). Only what you give changes. A new title changes its URL unless its address was set by hand; the old one still leads there.

Input Schema

NameRequiredDescriptionDefault
toNobookable until, "HH:MM" in the link's timezone (tz) (default 17:00)
tzNothe timezone its hours are in, IANA ("Asia/Kolkata"); a new link's default is the user's. Changed, the hours keep their clock times in the new zone
daysNothe days these hours are for, "mon"…"sun" (new link: default mon to fri; a change: only these days change, the others keep their hours)
endsNoYYYY-MM-DD: the last day it can be booked ("never" to remove)
fromNobookable from, "HH:MM" in the link's timezone (tz; a new link's is the user's) (default 09:00)
linkYeswhich link: its title, its slug or its URL (list_booking_links)
slugNothe end of its URL (usecaddie.app/meet/<handle>/<slug>): letters, numbers and dashes; "" to follow the title again. The old address still leads there
hostsNoa team link: people from one of the user's workspaces host it. mode "any": a time shows when any one of them is free and the booking goes on that person's calendar, shared out evenly; "all": only when the user and every required person are free, all invited. everyone: the whole workspace, newcomers too; else people (names or emails). optional (mode all): invited, but their calendars don't decide the times. {"workspace": ""} makes it the user's alone again. Only what you give changes. From an agent's own turn inside Caddie it's refused: ask the user
placeNo
titleNo
activeNo
rangesNoinstead of from/to, for a split day: [["09:00","13:00"],["14:00","18:00"]] in the link's timezone (tz); [] makes those days unbookable
accountNowhich connected Google account's calendar bookings go on, by its email ("" for the first)
minutesNohow long a call is, 5 to 480
locationNoa Google Meet (default), a phone call, or a place (place: where)
max_daysNoup to this many days ahead, 1 to 60 (default 30)
questionsNothe booking form's own questions (name and email are always asked), in order; replaces them all ([] for none). Answers go on the calendar event
remindersNoreminder emails to the guest a day and an hour before; only what you give changes. *_subject and *_body replace Caddie's words ("" for Caddie's); {name}, {title}, {owner}, {when} and {place} are filled in
descriptionNoa line or two shown on the booking page
max_per_dayNoat most this many bookings a day (0: no limit)
notice_hoursNoat least this many hours ahead (default 4)
open_routinesNoroutines or habits (names or ids, list_habits) people can book over; replaces the list ([] for none)
block_routinesNothe user's routines and habits (lunch, gym, sleep) block bookings (default true)
buffer_minutesNofree time kept around each call

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4/5.0
Behavior4/5

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

With no annotations, the description carries the safety context well: it states partial-update semantics ('Only what you give changes'), that no days means all open days, that active=true re-enables a disabled link, and that some actions are refused from an agent's own turn inside Caddie. It also warns that a new title changes the URL unless the address was set by hand and that the old URL still works, which is valuable mutation side-effect disclosure.

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

Conciseness4/5

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

The description is dense and front-loads the core operation before listing affected fields and behaviors. It earns its place overall for a 24-parameter update tool, though the long semicolon-separated sentence is harder to scan than a more structured presentation would be.

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

Completeness5/5

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

Given the rich input schema, the description covers the essential gaps: it identifies the operation, the lookup sibling, partial-update behavior, notable side effects, and agent-turn restrictions. It does not need to explain return values because no output schema exists, and the schema carries the detailed parameter documentation.

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 coverage is high at 88%, so the schema already documents most parameters in detail. The description adds some useful meaning, especially for title URL changes and active re-enabling, but much of its parameter coverage is just naming fields rather than explaining semantics beyond what the schema provides.

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 opens with a specific verb and resource: 'Change one of the user's booking links.' It clearly identifies this as an update operation on an existing link and points to list_booking_links for locating it, making it readily distinguishable from create/delete/disable siblings.

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?

It implies the tool is for modifying an existing link and names list_booking_links as the lookup mechanism. However, it does not explicitly say when to use this versus create_booking_link, delete_booking_link, or disable_booking_link, leaving the agent to infer the boundary from the tool name and the mention of active=true re-enabling.

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