Skip to main content
Glama

Schedule appointment

schedule_appointment
Destructive

Book job appointments for staff on the Scheduler, optionally emailing the customer a confirmation with a custom message. Assigns start and end times per staff member and marks the job as Scheduled.

Instructions

Book a job appointment on the Scheduler for staff, optionally emailing the customer a confirmation.

Books the job on the Scheduler from start to end for each staff member named (by full name; default the signed-in user), as the Scheduler does. Each staff member gets Tradify's "You've been scheduled" notice, and an Unassigned or Assigned job becomes Scheduled. email_customer also sends the customer the appointment confirmation email, with customer_message in it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
endYesISO 8601; without a zone, company time.
notesNoNotes for the crew.
staffNoStaff member names, one appointment each. Default: you.
startYesISO 8601; without a zone, company time.
job_idYesJob ID from list_jobs.
email_customerNoEmail the customer a confirmation.
customer_messageNoExtra text in that email.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.1

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already flag mutation, external side effects, destructiveHint, and non-idempotency; the description adds concrete behavior beyond that: each named staff member gets a scheduled notice, an Unassigned or Assigned job becomes Scheduled, and email_customer sends the customer confirmation with customer_message. It still does not disclose duplicate-call behavior or appointment conflict handling.

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 front-loaded with the core action and key side effects. It is slightly redundant, since the opening mentions optionally emailing the customer and the second paragraph repeats that email_customer sends the confirmation, but it remains efficient overall.

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 seven-parameter mutation with no output schema, the description covers the important invocation context: defaults, staff expansion, status transition, and external email side effects. It leaves response shape and conflict/idempotency behavior unstated, but those are secondary for correct invocation.

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 100%, so the schema already documents all seven parameters. The description still adds meaning beyond schema text: staff are named by full name, default to the signed-in user, and receive one appointment each; email_customer controls the customer confirmation; customer_message is included in that email.

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: 'Book a job appointment on the Scheduler for staff.' It clearly distinguishes the action from viewing siblings like list_appointments and from status-only changes like update_job_status by describing start-to-end booking and staff assignment.

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?

The description gives context and defaults, including that staff defaults to the signed-in user and that email_customer is optional. However, it does not explicitly say when to use this instead of siblings such as update_job_status or list_appointments, nor when not to use it, so usage is only implied.

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