Skip to main content
Glama

Bookafy MCP by usefulapi

Create appointment

bookafy_create_appointment

WRITE: book an appointment for a customer with a staff member and service (ids from bookafy_list_staff and bookafy_list_services). The customer is created from the given name/email/phone. Bookafy may email the booking confirmation to the customer and add the event to connected calendars, so only call it when the user clearly asked to book. Times are converted to UTC. POST /api/v3/appointments.

Input Schema

NameRequiredDescriptionDefault
endYesEnd, ISO 8601 date-time with timezone (after start, at most 24 h later).
priceNoPrice of the appointment (default: the service's price).
startYesStart, ISO 8601 date-time with timezone, e.g. 2026-11-02T09:30:00-05:00.
titleNoTitle shown for the appointment (default: Bookafy's own).
service_idYesService id assigned to that staff user (from bookafy_list_services).
descriptionNoNotes shown with the appointment.
custom_fieldsNoCustom booking-form answers as {field_name: value}, with underscores for spaces, e.g. {"What_is_your_DOB": "1990"}.
customer_nameYesCustomer's full name.
staff_user_idYesStaff user id (from bookafy_list_staff).
customer_emailNoCustomer's email (the confirmation goes there).
customer_phoneNoCustomer's phone number.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare non-read-only, non-idempotent, open-world behavior, but the description adds materially: a customer record is created as a side effect, a confirmation email may be sent, connected calendars may be updated, and times are converted to UTC. These external side effects are exactly what an agent needs before committing to a booking.

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?

Three sentences, front-loaded with the WRITE classification, the effect statement, and the guardrail, ending with the endpoint. No filler, and the riskiest information (outbound email, calendar writes) is surfaced before the alternative routing.

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 an 11-parameter mutating tool with no output schema, the description covers prerequisites, side effects, and time semantics well. The remaining gap is the return value: with no output schema, the agent has no idea whether an appointment id comes back for later update/cancel calls.

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 baseline is 3, but the description adds meaning beyond the schema: ids must be sourced from bookafy_list_staff and bookafy_list_services, the customer is derived from the provided name/email/phone, and start/end are normalized to UTC. Only the optional price/title/description/custom_fields semantics are left entirely to 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?

Opens with an explicit verb, 'WRITE: book an appointment', then names the resource and the three entities involved (customer, staff member, service). It distinguishes itself from sibling list/update/cancel tools by naming where the ids come from (bookafy_list_staff, bookafy_list_services), so the agent can identify the tool without opening 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 a clear exclusionary rule: 'only call it when the user clearly asked to book', which is a real when-not condition for a tool with external side effects. It also points to sibling tools for prerequisite ids. It does not explicitly contrast with bookafy_update_appointment for modifying an existing booking, so it stops short of a full when/when-not/alternatives treatment.

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.