Skip to main content
Glama

Create Booking Link

booking_link.create

Create a booking link (a public page where people book a meeting with the user; guests fill in its form, and each booking becomes a row in the user's Bookings sheet). Slots follow the user's working hours. Pass hours when the user named the hours the link should offer; when they differ from the working hours the result says so, and only working_hours.update can change them.

Input Schema

NameRequiredDescriptionDefault
slugNoURL part after the handle; defaults to the title, slugified.
hoursNoThe hours the user asked the link to offer. The link always follows the user's working hours; this is only compared with them.
titleYesShown to the people who book, e.g. "Intro call".
daysAheadNoHow many days ahead people can book.
descriptionNo
durationMinutesYesMeeting length in minutes.

Output Schema

NameRequiredDescriptionDefault
idYes
urlYesPath of the public booking page, on the org's panel domain
noteNo
titleYes
hoursMatchNofalse when the asked hours differ from the working hours
workingHoursYesThe working hours the link offers
durationMinutesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare this is a non-destructive, non-idempotent write with openWorldHint=false, so the safety profile is covered. Beyond that, the description discloses the side effect chain (bookings land as rows in the Bookings sheet), the constraint that slots follow working hours, and the important caveat that `hours` is only compared, never applied, with the mismatch surfaced in the result. Slug-collision behavior and failure modes are left unstated.

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?

Front-loaded with the definition before the operational caveats, and every sentence contributes. The parenthetical defining the public page is long but is the single most useful piece of orientation for an agent that has never seen this product.

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 6-parameter write with a nested object and an output schema, the description covers purpose, the non-obvious parameter, and the cross-tool dependency. Return values need not be described since an output schema exists. What remains thin is failure handling for slug collisions and whether the created link is immediately published or public.

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 83%, so the schema carries most of the burden and a 3 would be the floor. The description still adds meaning the schema does not: the consequence of an `hours` mismatch being reported in the result and the remediation path through working_hours.update. It says nothing about slug, daysAhead, or description, but those are adequately self-documenting in 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?

States a specific verb and resource (create a booking link) and immediately defines the artifact: a public page where people book a meeting, guests fill in a form, and each booking becomes a row in the user's Bookings sheet. That framing distinguishes it from booking_link.update and from the scheduling siblings without requiring 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?

Gives an explicit conditional for the trickiest parameter: pass `hours` when the user named the hours the link should offer. It also names the alternative that actually changes availability (working_hours.update), which is the key routing decision. It stops short of saying when to create a new link versus update an existing one via booking_link.update.

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