01
Staff and client ticket intake
Create a ticket from the staff workspace with client, description, priority, assignees and files, or let a portal user open and follow a request from the client side.
- What is implemented
- The staff ticket list implements creation and attachment upload; the portal ticket list implements client-side creation, search, status filtering and follow-up links.
- Availability boundary
- Staff creation requires the tickets feature and tickets:create. Client intake additionally depends on the portal feature, an authorized portal user and that client's own ticket scope.
02
Status, priority, response clock and working party
Triage the queue by workflow state, urgency, client and assignee, then place one or more staff members on the request and keep due and first-response signals attached.
- What is implemented
- The ticket list implements status counts, statistics, persisted filters, quick status, priority and assignment actions; the ticket schema stores assignees, first response, last response and due date.
- Availability boundary
- Visibility is limited to global viewers, assigned staff and the unassigned triage queue. Editing status, priority, dates or assignees requires the corresponding ticket mutation scope.
03
Public replies, internal notes and protected files
Keep the client conversation and the team's private working context in one ticket without exposing internal notes or internal attachments through the portal.
- What is implemented
- The detail screens share a ticket thread and attachment flow, while the API records visibility per comment, notifies clients only for public replies and excludes staff-only fields from the portal DTO.
- Availability boundary
- Staff replies require tickets:edit and stored attachments must pass the ticket storage contract. Portal users can reply only inside tickets visible to their own client account.
04
Linked work, reminders, tags and reusable responses
Attach the request to its project or service, turn follow-up into tasks, schedule reminders, label the record and reuse approved response text when the situation repeats.
- What is implemented
- The ticket detail and API implement project and service links, related tickets, task conversion, reminders and tags; the canned-response routes implement permission-gated create, update and delete actions.
- Availability boundary
- Linked project, task and service actions depend on those modules and the person's permissions. Managing or deleting canned responses has its own ticket permissions.
05
Optional ticket analysis recorded as an internal note
Ask the Assistant to read the ticket, its images, approved knowledge and comparable past resolutions, then place the grounded analysis inside the staff conversation rather than sending it to the client.
- What is implemented
- The ticket detail exposes analysis and image-reading actions; the API requires ticket edit scope, checks the assistant feature and writes the result with AI authorship and internal visibility into the audited thread.
- Availability boundary
- Analysis requires the assistant feature, a usable configured provider and tickets:edit. It is an optional staff aid, not an automatic client response or resolution decision.