Skip to content

Ticket Detail

The Ticket Detail page is where an agent works a ticket end-to-end. It exposes the full record across three tabs (Overview, Conversation, Attachments) and the lifecycle actions (close, reopen, reassign, soft-delete).

Ticket Detail page on the Overview tab showing assignee, priority, source, due date, and the inline description editor

  • Route: /service-desk/tickets/:id
  • Menu path: open any row from Tickets List
  • Primary audience: Agents, supervisors, and admins (service-desk.view to read, service-desk.manage to edit).

The tab is reflected in the URL hash so the page is deep-linkable (#overview, #conversation, #attachments).

The Overview tab displays the immutable header (ticket number, created timestamp, source, requester card) and the editable mid-form (assignee, priority, due date, status, inline description editor).

FieldEditableNotes
Ticket numberNoTenant-scoped, generated at create time
SubjectYesInline edit
DescriptionYesInline rich-text editor with Save / Cancel
PriorityYesTriggers escalation if changed to urgent and Escalate urgent immediately is on
AssigneeYesReassignment requires service-desk.manage
StatusYesSee lifecycle below
SourceNoLocked after create
Due dateYesEditable; cleared on close
RequesterYesClick the requester card to swap mode (bp / account / manual)

The Conversation tab shows the chronological thread of replies and internal notes.

Entry typeAudienceNotes
Public replyInternal + externalVisible on the My Ticket Detail view
Internal noteInternal onlyHidden from the external customer; agents can @mention other users (max 25 mentions per entry)
System entryAllAuto-generated on status change, assignment change, escalation, etc.

The composer supports:

  • Switching reply visibility (Reply vs Internal note) before posting.
  • Inserting a canned response via the dropdown; variables ({{actor.name}}, {{ticket.number}}) are substituted before the body is inserted.
  • Clicking Draft with AI to generate a reply draft with the AI reply endpoint. If the composer already has text, the page asks before replacing it. Insufficient credits show an error and leave the current draft untouched.
  • Attaching files inline — files attach to the thread entry rather than the ticket header.

The AI draft action is available only for public replies, not internal notes. It uses the current ticket context and UI language, marks inserted text with an AI draft badge, and is configured from AI Models.

Ticket Detail Conversation tab with the canned-response menu open

The Attachments tab lists every file attached to the ticket (header + every thread entry). Delete is permitted with service-desk.manage.

graph LR
    open --> pending
    open --> resolved
    pending --> open
    pending --> resolved
    resolved --> open
    resolved --> closed
    closed --> open
  • Close sets status to closed, stamps resolved_at if it is not already set, and clears the due date. Closing is reversible.
  • Reopen clears resolved_at and resets SLA timers so breach metrics start fresh.
  • Soft-delete (Delete action) sets deleted_at and deleted_by. Soft-deleted tickets disappear from the list but remain in the platform Trash drawer. Restore from there with service-desk.admin.
ActionPermissionDescription
Saveservice-desk.managePersists field-level edits made on Overview
Reply / Internal noteservice-desk.managePosts a thread entry; broadcasts notifications
Close / Reopenservice-desk.manageStatus transition
Reassignservice-desk.manage (own queue) / service-desk.admin (any queue)Re-routes to another agent or queue
Deleteservice-desk.adminSoft-delete; recoverable via Trash
  • A mention cap of 25 user UUIDs per thread entry protects against accidental DoS via large @all style mentions.
  • Closing a ticket does not strip its replies or attachments; agents can still reopen it later.
  • Reopening a ticket clears resolved_at so the SLA breach math runs fresh from the reopen timestamp.
  • When the requester is a business partner and the BP is later merged, the ticket follows the surviving partner record.