syncro skill: document appointment move/edit — PUT /appointments/{id} verified

Added /syncro move-appointment to usage table; added Appointments CRUD section
to endpoints reference documenting GET/PUT/DELETE with verified move workflow
(verified 2026-04-24).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-24 10:49:16 -07:00
parent 97f4218926
commit fd12ba247f

View File

@@ -14,6 +14,7 @@ Create, update, close, comment on, and bill tickets in Syncro PSA.
/syncro bill <number> Add billable time and create invoice
/syncro search <query> Search tickets by subject/customer
/syncro customers <query> Search customers
/syncro move-appointment <customer> Find and reschedule an existing appointment
```
## API Configuration
@@ -248,6 +249,26 @@ Default: `"2 Normal"`. Use `"4 Urgent"` for emergency/after-hours.
**Tech user IDs:** Mike = 1735, Howard = 1750, Winter = 1737, Rob = 1760
#### Appointments
| Operation | Method | Endpoint | Notes |
|---|---|---|---|
| List (today) | GET | `/appointments?start_at=YYYY-MM-DD` | Filter by date; use `.summary` to match customer |
| Get | GET | `/appointments/<id>` | Returns `{"appointment": {...}}` |
| Create | POST | `/appointments` | Used in ticket creation flow (Call 3) |
| Move / edit | PUT | `/appointments/<id>` | Verified 2026-04-24 — updates `start_at`/`end_at` |
| Delete | DELETE | `/appointments/<id>` | Not yet verified |
**Finding an appointment by customer:** `GET /appointments?start_at=<date>` returns all appointments — filter client-side with `select(.summary | test("customer name"; "i"))` or `select(.ticket.customer_id == N)`. The `customer_id` query param does not filter correctly.
**Move workflow:**
1. `GET /appointments?start_at=<date>` — find appointment ID
2. Confirm new date/time with user
3. `PUT /appointments/<id>` with `{"start_at": "ISO8601", "end_at": "ISO8601"}`
4. Verify response: `.appointment.start_at` matches intended time
**Response shape:** `{"appointment": {...}}` — parse as `.appointment.id`, `.appointment.start_at`, etc.
---
### Ticket creation workflow (full — 3 API calls)