Build a Smart Helpdesk plugin with advanced automation. Slug: smart-helpdesk.
CAPABILITIES: notifications, automation, send_email, scheduled_jobs
RECORD SCHEMA for tickets: title (string, required), description (text, required),
priority (select: Low, Medium, High, Critical), status (select: Open, In Progress,
Assigned, Pending Approval, Resolved, Closed), category (select: Hardware, Software,
Network, Access, Other), assignee_id (number), requester_id (number),
sla_due_at (datetime), resolution_notes (text).
WORKFLOW on tickets:
- States: Open, In Progress, Assigned, Pending Approval, Resolved, Closed
- Transitions: assign (Open→Assigned), start (Assigned→In Progress),
request_approval (In Progress→Pending Approval), resolve (Pending Approval→Resolved),
close (Resolved→Closed), reopen (Closed→Open)
- approval_chain :resolve with levels: manager (1 required),
it_director (1 required, condition: priority is Critical)
AUTOMATION DEFAULTS (seeded as _automation_rule records):
1. Auto-assign: When ticket created with category=Network, set assignee to network team
2. SLA alert: Schedule rule every 15 min, filter tickets where sla_due_at is approaching,
notify assignee
3. Escalation: When priority field changes to Critical, notify all managers
4. Resolution notification: When status changes to Resolved, notify requester
NAVIGATION: Dashboard, Tickets, Workflows (for managing automation rules)
WORKFLOWS UI: Full CRUD for _automation_rule records with wizard interface.
Include toggle enable/disable. Show last_run_at and run_count.
DASHBOARD: Open tickets count, avg resolution time, tickets by priority chart,
SLA compliance rate, recent tickets.
Seed 10 sample tickets and the 4 automation rules above. Include data_version 1.