Chapter 17 — Help Desk
Permission codes: helpdesk.dashboard, helpdesk.submit_ticket,
helpdesk.view_all_tickets, helpdesk.manage_tickets, helpdesk.setup,
helpdesk.reports
Home: /helpdesk/
17.1 What the module is for
Help Desk is the internal ticket system: staff raise requests to other departments and those requests are tracked to resolution. IT, maintenance, facilities, HR and finance all use it the same way.
It is not the customer-facing support system for the product itself. That is the support ticket route described in Chapter 26.
17.2 Concepts
| Concept | Meaning |
|---|---|
| Department | The team that receives tickets — IT, Maintenance, HR |
| Category | A kind of request within a department — Password reset, Printer fault |
| Sub-category | A further split, where one category is too coarse |
| Custom field | An extra question asked on a category, so the ticket arrives complete |
| Assignee | The agent handling the ticket |
| Requester | The person who raised it |
Ticket status
| Status | Meaning | Whose move |
|---|---|---|
| Draft | Being written, not yet submitted | Requester |
| Open | Submitted, awaiting an agent | Agent |
| In progress | Being worked on | Agent |
| Pending info | Waiting on the requester to answer a question | Requester |
| Resolved | Agent believes it is done | Requester, to confirm |
| Closed | Finished | — |
Priority
Low, Medium, High, Urgent. Priority drives the order of the queue and how quickly a ticket becomes stale.
17.3 Screens
/helpdesk/ dashboard
/helpdesk/tickets/ ticket list
/helpdesk/tickets/new/ raise a ticket
/helpdesk/tickets/<id>/ ticket detail
/helpdesk/tickets/<id>/edit/ edit
/helpdesk/tickets/<id>/action/ change status
/helpdesk/tickets/<id>/assign/ assign
/helpdesk/tickets/<id>/comment/ add a comment
/helpdesk/reports/agent-activity/ agent activity report
/helpdesk/setup/ configuration
17.4 Setup
Screen: /helpdesk/setup/
1. Enable a department
Departments come from Chapter 3. Enable each one that will
receive tickets at /helpdesk/setup/enable-department/, then configure it at
/helpdesk/setup/departments/<id>/.
2. Create categories
Screen: /helpdesk/setup/departments/<id>/categories/create/
Create one category per genuinely different kind of request. Categories are how tickets are routed and reported, so:
- Too few and everything lands in Other, which tells you nothing.
- Too many and requesters pick at random, which also tells you nothing.
Eight to fifteen categories per department is usually right.
3. Add custom fields
Screen: /helpdesk/setup/categories/<id>/fields/create/
A custom field asks a question when the ticket is raised, so the agent does not have to ask it afterwards. Field types available:
| Type | Use for |
|---|---|
| Short text | A name, a room number |
| Long text | A description |
| Number | A quantity, an asset number |
| Date | When it happened, when it is needed |
| Dropdown | A fixed list of choices |
| Checkbox | Yes or no |
This is the highest-value setup in the module. A Printer fault category that asks for the printer's location and asset number up front removes an entire round trip from every such ticket.
4. Assign agents to categories
Screen: /helpdesk/setup/categories/<id>/assignees/add/
Add the agents who handle each category. New tickets in that category go to them.
5. Sub-categories
Screen: /helpdesk/setup/categories/<id>/sub/create/
Add these only where a category genuinely needs splitting for routing or reporting.
17.5 Raising a ticket
Screen: /helpdesk/tickets/new/
- Select New ticket.
- Choose the department, then the category, then the sub-category if there is one. The custom fields for that category appear.
- Enter a subject — a specific one. "Printer on 2nd floor jams on duplex" is answerable; "printer problem" is not.
- Enter the description: what you expected, what happened, and what you have already tried.
- Set the priority honestly. If everything is urgent, nothing is.
- Answer the custom fields.
- Attach a screenshot or photograph where it helps.
- Submit.
The ticket is given a reference number and goes to the assigned agents.
17.6 Working a ticket (agents)
The queue
/helpdesk/tickets/ with filters by department, category, status, priority and
assignee. Sort by priority and age.
Handling one
- Open the ticket and read it, including the custom fields.
- Assign it to yourself (
/helpdesk/tickets/<id>/assign/) so nobody duplicates the work. - Set the status to In progress.
- Comment to communicate. Comments have two visibilities: - Public — the requester sees it. Use this for anything they should know. - Internal — agents and department heads only. Use it for diagnosis notes and internal coordination.
- If you need something from the requester, use an information request comment and set the status to Pending info. This stops the clock: the ticket is correctly shown as waiting on them, not on you.
- When done, set the status to Resolved with a comment saying what was done.
- The ticket is Closed when the requester confirms, or after your closure period.
Say what you did, not just that it is done. The next person with the same fault reads your comment.
17.7 The activity log
Every ticket carries a log recording creation, status changes, assignment and reassignment, comments, attachments, and SLA pauses and resumes.
The log is not editable. When a dispute arises about response time, this is the record.
17.8 Reports
Screen: /helpdesk/reports/agent-activity/
Tickets handled, resolution times and current load by agent. Use it to balance workload, not to rank people — a hard category takes longer, and that is correct.
The dashboard at /helpdesk/ carries the working figures: open tickets, tickets by
priority, and what is ageing.
17.9 Permissions
| Permission | Allows |
|---|---|
helpdesk.dashboard |
See the dashboard |
helpdesk.submit_ticket |
Raise a ticket. Every member of staff should have this. |
helpdesk.view_all_tickets |
See all tickets, not only your own |
helpdesk.manage_tickets |
Assign, change status, comment internally |
helpdesk.setup |
Configure departments, categories, fields and assignees |
helpdesk.reports |
See the reports |
A normal member of staff needs submit_ticket and dashboard. An agent adds
view_all_tickets and manage_tickets. A department head adds reports. Only an
administrator needs setup.
17.10 Routine
Agent, daily
[ ] Clear new Open tickets — assign and acknowledge
[ ] Work In progress tickets in priority order
[ ] Chase Pending info tickets older than a few days
[ ] Resolve what is done, with a comment saying what was done
Department head, weekly
[ ] Review the ageing list
[ ] Check the balance of load across agents
[ ] Look for repeated tickets — three of the same fault is a problem to fix, not
three tickets to close
17.11 Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| A department is not offered when raising a ticket | It is not enabled for Help Desk | Enable it at /helpdesk/setup/enable-department/ |
| A category has no agents | No assignees configured | Add them; otherwise the ticket goes to nobody |
| A user cannot raise a ticket | Missing helpdesk.submit_ticket |
Grant it — it belongs to every staff role |
| An agent cannot see the queue | Missing helpdesk.view_all_tickets |
Grant it |
| An agent cannot change status | Missing helpdesk.manage_tickets |
Grant it |
| A requester saw an internal note | It was posted as public | Check the visibility setting before posting |
| Tickets sit unassigned | No assignees on the category | Fix the category setup |
| Custom fields do not appear | They are attached to a different category | Check which category they belong to |