← CalyCONTENT HISTORY
WHAT CHANGED
Update to Caly
Snapshot Nov 3, 2026 · 19:18 UTC · version 1.0.0
Collection source: downloaded plugin package.
First saved snapshot
No earlier snapshot is available to establish a change.
Save Caly and check future changes in Following.
Up to 10 plugins free · no card required.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"description": "Reviews and changes the user's Caly bookings: lists upcoming, past, cancelled or unconfirmed meetings, looks one up by attendee or time, reschedules it to a free slot, or cancels it through Caly's two-step confirmation. Use when the user asks 'what meetings do I have tomorrow', 'show my bookings with Sam', 'move my call with Alex to Friday', 'reschedule the 3pm', 'cancel my meeting with this client', or 'who cancelled this week'. Reads freely; reschedule and cancel notify attendees, so they are confirmed first.",
"included_files": [],
"name": "managing-bookings",
"skill_md_contents": "---\nname: managing-bookings\ndescription: \"Reviews and changes the user's Caly bookings: lists upcoming, past, cancelled or unconfirmed meetings, looks one up by attendee or time, reschedules it to a free slot, or cancels it through Caly's two-step confirmation. Use when the user asks 'what meetings do I have tomorrow', 'show my bookings with Sam', 'move my call with Alex to Friday', 'reschedule the 3pm', 'cancel my meeting with this client', or 'who cancelled this week'. Reads freely; reschedule and cancel notify attendees, so they are confirmed first.\"\n---\n\n# Caly: managing bookings\n\nFind the right booking, then read, move or cancel it without surprising anyone.\n\n## Connecting and calling the tools\n\nEvery tool in this skill comes from the `caly` MCP server, the Caly connector, and is written here as `caly:<tool>`.\n\n- Call each tool directly by name, for example `caly:list_bookings`.\n- **No `caly` tools at all:** Caly is not connected yet. Add the server as shown in https://github.com/DevinoSolutions/mcp-servers/tree/main/caly#install; it signs in with OAuth on first use.\n\nA refused call throws an Error whose message starts with its code, for example `CONFIRMATION_REQUIRED:`.\n\n## Tools you will use\n\n- `caly:whoami`: the account and its time zone.\n- `caly:list_bookings`: the user's bookings, filtered by `status` (upcoming, past, cancelled, unconfirmed, recurring), `attendeeEmail`, `attendeeName`, `eventTypeId`, or a window (`afterStart`, `beforeEnd`). Paginated with `take` and `skip`; check `pagination.hasNextPage`.\n- `caly:get_booking`: one booking by `bookingUid`, with attendees, hosts, location and any cancellation or rescheduling details.\n- `caly:find_available_slots`: free start times; pass `bookingUidToReschedule` when moving a booking so its own slot counts as free.\n- `caly:reschedule_booking`: moves a booking to a new `start` (UTC ISO 8601), with an optional `reschedulingReason`. Caly creates a new booking with a new `uid` and notifies the attendees.\n- `caly:cancel_booking`: cancels a booking and notifies its attendees. It cannot be undone and takes two calls (see the workflow).\n\n## Workflow\n\n### Reviewing bookings\n\n1. Call `caly:whoami` for the time zone, then `caly:list_bookings` with the filters that match the question (\"tomorrow\" → `status: [\"upcoming\"]` plus a window; \"with Sam\" → `attendeeName` or `attendeeEmail`).\n2. Follow `pagination.hasNextPage` with `skip` until the window is covered, or tell the user how many more there are.\n3. List each booking with its time in the user's time zone, title, attendees and status. Call `caly:get_booking` only when the user wants one booking's details.\n\n### Rescheduling\n\n1. Identify exactly one booking and its `uid`. If several match, list them and ask which one.\n2. Call `caly:find_available_slots` for its event type and the new day, passing `bookingUidToReschedule`. Use only a start time from the result.\n3. Confirm with the user: the booking, the old time, the new time (in the user's and the attendee's time zone), and that Caly will notify the attendees. Wait for an explicit yes.\n4. Call `caly:reschedule_booking` once. Report the new time and the new `uid`.\n\n### Cancelling\n\n1. Identify exactly one booking and its `uid`, and ask for a reason if the user has one.\n2. Call `caly:cancel_booking` with the `bookingUid` (and `cancellationReason`). The first call does not cancel: it returns `CONFIRMATION_REQUIRED` with a `confirmToken`.\n3. Show the user which booking will be cancelled (title, time, attendees) and that the attendees will be emailed. Wait for an explicit yes.\n4. Call `caly:cancel_booking` again with the SAME arguments plus the `confirmToken`. Report that it is cancelled.\n\n## Rules\n\n- Never reschedule or cancel without the user's explicit yes to a summary that names the booking.\n- Never pass a `confirmToken` the user has not seen the booking for, and never reuse one for a different booking.\n- Set `cancelSubsequentBookings` only when the user clearly asks to cancel the rest of a recurring series.\n- Always state the time zone next to every time you show.\n"
}SHA-256 of public snapshot: 54d277336ad0ac3906173853c6f9fe8738bcd3ee84e7439a76f25dc9543640c7