Settings (Ticket Fields + Assignment Rules)
Access control
Section titled “Access control”- Required permission: canManageAgents
- Fallback behavior: Users without permission are redirected to /app.
Sections
Section titled “Sections”- Ticket Assignment
- Features:
- Default assignee selector
- Rule engine with conditions (source/category/priority)
- Rule assignee target
- Active toggle per rule
- Rule remove action
- Rule priority: Rules are evaluated by sortOrder ascending (then createdAt). First active match wins.
- Features:
- Categories
- Features:
- Add category
- Rename category
- Remove category (soft-disable)
- Per-category ‘Require linked order’ toggle
- Features:
- Priorities
- Features:
- Add priority
- Rename priority label
- Remove priority (soft-disable)
- Features:
- Statuses
- Features:
- Add status
- Rename status label
- Remove status (soft-disable)
- Features:
Field option rules
Section titled “Field option rules”- Storage: TicketFieldOption table
- Remove behavior: Options are marked isActive=false, not hard-deleted.
- Minimum active guardrail: At least one active option must remain per field type.
- Category rename special case: Renaming category updates both option value and existing tickets.category values in transaction.
- Default bootstrap: Missing defaults are auto-seeded by ensureTicketFieldOptions.
Assignment engine explained
Section titled “Assignment engine explained”Evaluation order
Section titled “Evaluation order”- Explicit assignee passed by form/action- First active matching assignment rule- Configured default assignee- Manager fallback (best manager candidate)Rule match fields
Section titled “Rule match fields”- source (portal/agent/chat/order_status)- category- priority- Empty condition meaning: Blank condition means wildcard (match any value).
Ui persistence
Section titled “Ui persistence”- Collapsible sections: Open/closed states are component state only; they reset on page reload.
- Notice errors: Success and error messages are returned via query parameters notice/error.
Owner examples
Section titled “Owner examples”- Assign all high-priority portal tickets to Manager
- Configuration: Create assignment rule with source=portal, priority=high, assignee=Manager, active=true.
- Require order IDs for Shipping and Return/Refund
- Configuration: In Categories section, enable ‘Require linked order’ for those categories.