Skip to main content
Glama

Change room booking

AccountRoomBookingWriteTool
Destructive

Change a room booking installation: its settings and logos; its calendars (add an iCal one, change, remove, refetch, show on a device or take off); bookings (make, cancel, end); collections of calendars that share a screen; and the connected Google and Microsoft accounts (sync, choose calendars, disconnect). The installation_id comes from listAppInstallations.

  • updateRoomBookingSettings: Change the settings of a room booking installation — params: installation_id (path), timezone (body: IANA name for every calendar without its own; null follows the owner), public_bookings (body: Booking with TRMNL), dark_mode (body), show_company_logo (body), daily_public_booking_url_rotation (body), time_format (body: one of , 24_hour, 12_hour), walk_up_calendar (body: Upcoming bookings on the public booking page), walk_up_booking_window_days (body: one of 1, 2, 7, 30)

  • setRoomBookingCompanyLogo: Upload the company logo shown on the screens — params: installation_id (path), image_base64 (body: The image bytes, base64 encoded)

  • removeRoomBookingCompanyLogo: Remove the company logo — params: installation_id (path)

  • setRoomBookingColorCompanyLogo: Upload the color company logo for color screens — params: installation_id (path), image_base64 (body)

  • removeRoomBookingColorCompanyLogo: Remove the color company logo — params: installation_id (path)

  • createRoomBookingCalendar: Add an iCal calendar — params: installation_id (path), name (body), ics_url (body: http, https or webcal), timezone (body: IANA name; the installation time zone when left out), capacity (body), show_booking_qr (body), show_company_logo (body)

  • updateRoomBookingCalendar: Change a calendar — params: installation_id (path), id (path), name (body), ics_url (body), timezone (body), capacity (body), override_name (body: Google and Microsoft calendars only), show_booking_qr (body), show_company_logo (body)

  • deleteRoomBookingCalendar: Remove an iCal calendar — params: installation_id (path), id (path)

  • refetchRoomBookingCalendar: Refetch a calendar from its source now — params: installation_id (path), id (path)

  • bindRoomBookingCalendarDevice: Show a calendar on a device — params: installation_id (path), id (path), device_id (path)

  • unbindRoomBookingCalendarDevice: Stop showing a calendar on a device — params: installation_id (path), id (path), device_id (path)

  • createRoomBooking: Book a room — params: installation_id (path), id (path), title (body), starts_at (body), ends_at (body)

  • cancelRoomBooking: Cancel an upcoming booking — params: installation_id (path), id (path), booking_id (path)

  • endRoomBooking: End a booking in progress now — params: installation_id (path), id (path), booking_id (path)

  • createRoomBookingCollection: Add a calendar collection — params: installation_id (path), name (body), collection_type (body: one of any, rooms, spaces, desks, desk_pools, parking_spaces, vehicles, equipment, people, other), display_layout (body: one of list, grid), show_booking_qr (body), show_company_logo (body), resource_ids (body: Calendar ids, as listRoomBookingCalendars answers them)

  • updateRoomBookingCollection: Change a calendar collection — params: installation_id (path), id (path), name (body), collection_type (body: one of any, rooms, spaces, desks, desk_pools, parking_spaces, vehicles, equipment, people, other), display_layout (body: one of list, grid), show_booking_qr (body), show_company_logo (body), resource_ids (body)

  • deleteRoomBookingCollection: Remove a calendar collection — params: installation_id (path), id (path)

  • bindRoomBookingCollectionDevice: Show a collection on a device — params: installation_id (path), id (path), device_id (path)

  • unbindRoomBookingCollectionDevice: Stop showing a collection on a device — params: installation_id (path), id (path), device_id (path)

  • syncRoomBookingIntegration: Refresh the calendar list of a connected account — params: installation_id (path), integration_type (path), id (path)

  • updateRoomBookingIntegration: Choose the calendars of an account to sync, and its workspace settings — params: installation_id (path), integration_type (path), id (path), calendar_ids (body), booking_organizer_email (body), parking_resource_group_id (body)

  • disconnectRoomBookingIntegration: Disconnect an account — params: installation_id (path), integration_type (path), id (path)

Input Schema

NameRequiredDescriptionDefault
actionYesThe API operation to run
paramsNoThe operation's path, query and body parameters by name

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?

Annotations already declare destructive=true, idempotent=false, and readOnly=false, so the safety profile is covered. The description adds real value beyond them: it names what gets removed (logos, calendars, collections, accounts), clarifies timing semantics ('cancel an upcoming booking' vs 'end a booking in progress now', 'refetch now'), and points to listAppInstallations as the source of installation_id.

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?

A front-loaded summary sentence is followed by a dense but well-structured per-operation list; each line carries required information for the opaque params object. It is long, but the length is driven by 22 operations rather than filler.

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 22-operation write tool with a nested, untyped params object and no output schema, the description covers every action and its parameters, which is what an agent needs to invoke it. It does not describe return values or error behavior, a minor gap given no output schema exists.

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

Parameters5/5

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

The input schema is effectively opaque — a single 'params' object described only as 'path, query and body parameters by name'. The description compensates fully by documenting every operation's path/body fields, their types, and enum values (time_format, collection_type, display_layout), adding far more than the schema provides.

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?

The opening sentence states a specific verb and resource ('Change a room booking installation') and enumerates the full scope: settings, logos, calendars, bookings, collections, and connected accounts. It is clearly a mutation tool distinguishable from the read sibling by scope, though it never names AccountRoomBookingReadTool explicitly.

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?

Usage is implied by the 22 enumerated operations rather than stated. There is no explicit when-to-use/when-not guidance, no note about the read counterpart, and only one hint about prerequisites ('installation_id comes from listAppInstallations').

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