update_ticket
Update a ticket's status, priority, tier, assignee, or add a note, with a confirmation gate to preview changes before applying.
Instructions
Change ticket state: status, tier, priority, assignee, or an appended note.
WRITE OPERATION — CONFIRMATION GATE
Calling without confirm=true performs a dry run: nothing changes, and the
result returns applied: false with a changes list showing exactly which
fields would move from what to what, plus CONFIRMATION_REQUIRED.
Show that preview to the user and get their agreement before calling again with
confirm=true. Do not set confirm=true on the first call, and do not set it
on the user's behalf because their intent seems obvious — the preview exists so
a human sees the blast radius before state changes. Passing every field you were
given at once is fine; the gate is about confirmation, not batching.
Pass only the fields you intend to change. Omitted fields are left alone.
Passing note appends to the ticket's note trail; it never replaces it.
WHAT IT DOES NOT DO
Does not send anything to the requester. It changes internal ticket state only. draft_response composes customer-facing text.
Does not delete tickets, and cannot set a status outside the allowed values.
Does not validate that an escalation is appropriate. Recording tier 3 does not notify anyone; it records intent on the ticket.
FIELD VALUES status open | pending | resolved priority low | medium | high | critical tier 1 | 2 | 3 assignee technician username, or null to unassign note free text appended to the ticket's note trail
ERRORS TICKET_NOT_FOUND — no such ticket. CONFIRMATION_REQUIRED — expected on a dry run. Not a failure: it carries the preview. Show it to the user, then re-call with confirm=true. INVALID_FIELD — a value outside the allowed set; nothing was changed. Fix the value and retry.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| note | No | ||
| tier | No | ||
| status | No | ||
| confirm | No | ||
| assignee | No | ||
| priority | No | ||
| ticket_id | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ok | No | ||
| ticket | No | ||
| applied | Yes | True only when the change was actually committed. | |
| changes | No | ||
| message | No | ||
| ticket_id | Yes | ||
| error_code | No |