Available Reports
Navigate to Helpdesk → Reports to access the following built-in reports:
Ticket Volume
Shows the number of tickets created, resolved, and closed over a selected time period. Breakdowns available by agent, customer, ticket type, priority, and source (email, portal, agent-created).
SLA Compliance
The percentage of tickets where the SLA response and resolution deadlines were met. Drill down to see individual breaches, the agent responsible, and how far over the deadline the ticket went.
Agent Performance
Per-agent statistics:
- Tickets assigned, resolved, and closed.
- Average first response time.
- Average resolution time.
- SLA compliance percentage.
- Total time logged.
Time Tracking
A breakdown of all time entries by agent, customer/contract, billable vs non-billable, and date range. Useful for generating billing data or reviewing timesheet compliance.
First Contact Resolution (FCR)
The percentage of tickets resolved in a single reply. High FCR indicates good knowledge and tooling; low FCR may indicate a need for better macros or documentation.
Filtering Reports
All reports share the same filter bar:
- Date Range — custom date picker or presets (Today, This Week, This Month, Last Month, Last 90 days).
- Customer — scope to a single customer or all.
- Agent — scope to a single agent or all.
- Type — filter by ticket type.
- Priority — filter by priority level.
Exporting Reports
Every report has an Export CSV button. The CSV includes all rows for the selected filters (not just the current page). Useful for importing into Excel, Power BI, or an accounting system.
Scheduled Report Emails
Admins can configure weekly or monthly report email summaries:
- Go to Admin → Helpdesk → Reports → Scheduled Reports.
- Click + New Schedule.
- Choose report type, frequency, recipient email, and filters.
- Save. The report is emailed automatically on the schedule.
API Access (for external reporting, BI, accounting)
Every report is also available through the portal API. Use these endpoints to feed your own BI tool, sync summary numbers into a board dashboard, or pull billable time into an external accounting system.
All endpoints require an authenticated session (Bearer JWT in authorization). Reports are tenant-scoped — the API only returns data for organisations the authenticated user is a member of. CSV export of the report at the URL returns the same rows the on-screen report shows (filtered to the date / agent / customer / type / priority parameters you pass).
Get a JWT
The API uses the same login flow as the portal UI. From a script, run:
# 1. Log in (use the email + password + 2FA code of a user with reporting access).
curl -s -X POST https://portal.kwgroup.org.uk/api/auth/login \
-H 'content-type: application/json' \
-c /tmp/cookies.txt \
-d '{"email":"reports@yourcompany.com","password":"...","mfaCode":"123456"}'
# Response includes: { "accessToken": "...", "refreshToken": "..." }
If 2FA is enabled, the first POST returns mfaRequired: true and you need to POST the TOTP code. The accessToken is valid for 15 minutes; refresh with the refreshToken cookie or call /api/auth/refresh.
Ticket volume (daily counts for a date range)
TOKEN=$(jq -r .accessToken /tmp/login.json)
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/reports/ticket-volume?from=2026-06-01&to=2026-06-30&groupBy=day"
Returns counts of tickets created, resolved, and closed per day, plus a breakdown by agent / customer / ticket type / priority / source if groupBy is one of those.
SLA compliance
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/reports/sla-compliance?from=2026-06-01&to=2026-06-30"
Returns the percentage of tickets where response and resolution SLAs were met, broken down by priority, agent, and customer.
Agent performance
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/reports/agent-performance?from=2026-06-01&to=2026-06-30"
Returns per-agent: tickets assigned, resolved, closed, average first response time, average resolution time, SLA compliance %, and total time logged.
Time tracking (billable vs non-billable)
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/reports/time-tracking?from=2026-06-01&to=2026-06-30&billable=true"
Returns a breakdown of time entries by agent, customer / contract, and billable vs non-billable.
First Contact Resolution (FCR)
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/reports/fcr?from=2026-06-01&to=2026-06-30"
Returns the percentage of tickets resolved in a single reply.
Export as CSV
Append &format=csv to any of the above URLs to download a CSV (instead of JSON). Useful for piping into Excel or a data pipeline:
curl -s -H "authorization: Bearer $TOKEN" \
"https://portal.kwgroup.org.uk/api/helpdesk/reports/ticket-volume?from=2026-06-01&to=2026-06-30&format=csv" \
-o ticket-volume-2026-06.csv
All report endpoints are read-only. Writes (creating tickets, updating status, etc.) are covered in Creating & Managing Tickets.