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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user