← New CoworkerCONTENT HISTORY

Update to New Coworker

Snapshot Sep 30, 2026 · 23:12 UTC · version 1.0.0

Collection source: not recorded for this historical snapshot.

WHAT CHANGED · RULE-BASED ANALYSIS

First saved snapshot

No earlier snapshot is available to establish a change.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Book a customer onto the business's calendar from ChatGPT. Use when someone asks to schedule, book, reschedule, or find a time for a customer, or asks what times are open. Covers finding real open slots, confirming before booking, and the provider-specific outcomes that make a booking look successful when it is not.",
  "included_files": [],
  "name": "book-an-appointment",
  "skill_md_contents": "---\nname: book-an-appointment\ndescription: Book a customer onto the business's calendar from ChatGPT. Use when someone asks to schedule, book, reschedule, or find a time for a customer, or asks what times are open. Covers finding real open slots, confirming before booking, and the provider-specific outcomes that make a booking look successful when it is not.\n---\n\n# Booking a customer onto the calendar\n\nBooking is one of the few things here that reaches a real person's day. The\ntools are safe on their own; the ways this goes wrong are all about ORDER and\nabout believing a result that does not mean what it looks like.\n\n## The sequence\n\n1. **Find real times first.** Call `calendar_find_slots`. Never invent a time\n   or offer one from memory. It returns up to three genuinely open slots.\n2. **Offer them and wait.** Let the person pick. Do not book on their behalf\n   because a time \"looks fine\".\n3. **Book the slot you were given**, passing the `startIso` and `endIso` from\n   the slot rather than re-deriving them from the text you displayed.\n4. **Read the result back verbatim.** Confirm the day and time from the\n   result's `startLocal` field exactly as returned. Do not reformat it from an\n   ISO timestamp, because that is where a timezone slips.\n\n## Three results that are not what they look like\n\n**Calendly does not book.** With Calendly connected, a successful call returns\na single-use scheduling link to send the customer, NOT a confirmed booking.\nTelling someone they are booked is wrong in that case. Send them the link and\nsay it still needs their click.\n\n**A failed booking means the slot is gone.** On `calendar_book_failed`, treat\nthat time as no longer available. Do not retry it. Call `calendar_find_slots`\nagain and offer a fresh option, because something else took it.\n\n**Already booked is a question, not an error.** On `attendee_already_booked`\nthe person already has an upcoming appointment. Offer to keep it, move it, or\ncancel it. Only set `allowAdditional: true` after they have explicitly said\nthey want a second appointment on top of the first.\n\nIf no calendar is connected the tool says so. That is a setup task for the\nowner on the Integrations page, not something to work around.\n\n## When a message goes with it\n\nIf you text or email the customer about the appointment, always name the\ntimezone (\"1:00 PM Eastern\", never a bare \"1:00 PM\"), and give their timezone\ntoo when it differs from the business's. A bare clock time is the single most\ncommon cause of a missed appointment here.\n\nConfirm with the user before sending anything to a customer.\n\n## Multiple businesses\n\nIf a tool reports that the account can reach more than one business, call\n`list_businesses` and pass `business_id` explicitly rather than guessing which\ncalendar was meant.\n"
}

SHA-256 of public snapshot: 065f5b8b55181c6dd0f63e98bc6bca7443cfca6bf06e0a771cdc7d5b348c8992