Features
Everything a support team needs, built into Moodle.
Each capability below is in the product today. Badges show the edition that includes it.
Real product screens from mooDesk 2.38.0 with demo data.
Ticket management
One queue for every request, however it arrives.
Requests come in from Moodle or by email and land in one queue that agents can sort, filter and share.
Queue views
All editionsAll tickets, My tickets, Unassigned and My departments, with a card layout on phones.
Filters and saved views
All editionsStatus, priority, assignee, department, category, SLA status and date range, saved as views.
Custom fields
ProCapture the information your process needs on every ticket.
Email ingestion
ProTurn a support mailbox into tickets over IMAP, with SSL/TLS or STARTTLS and password or OAuth 2.0 sign-in. Replies thread back to the ticket.
Ticket merge
EnterpriseCombine duplicate requests into one conversation.

Team collaboration
Clear ownership, from the first reply to the last.
Departments, teams and assignment keep every ticket with the right person, and supervisors see the load before it becomes a backlog.
Departments and categories
All editionsRoute work to the people who own it.
Internal notes and assignment
All editionsTalk about a ticket without the requester seeing it.
Teams and agent panel
ProGroup agents into teams and see each agent's departments and teams in one place.
Agent supervision
EnterpriseWorkload, capacity, SLA breaches and response times for every agent.

Automation & workflows
Rules that do the follow-up for you.
Ticket automation and SLA rules run on their own, so nothing depends on someone remembering.
Four triggers
ProTicket created, status changed, time elapsed and SLA breached.
Conditions and actions
ProDecide which tickets a rule applies to and what it changes.
Ordered execution
ProRules run in the order you set, and can be switched off without being deleted.

Reporting & analytics
See how your support is really doing.
The dashboard shows volume, status and trends on every edition. Pro adds the support analytics a support manager reports on.
Dashboard
All editionsKPI cards, tickets over time, and tickets by status, priority and department.
SLA performance and workload
ProSLA gauge, detailed agent workload and top categories on the dashboard.
Advanced reports
ProSupport analytics across a date range, with breakdowns.
CSAT
ProAsk requesters how it went when a ticket is resolved or closed.
Knowledge base analytics
ProViews, helpful rate and searches with no results.

SLA management
Targets your team can see, and keep.
Every ticket carries its SLA, so agents know what is urgent before anyone has to ask.
First response and resolution targets
All editionsSet per priority and shown on every ticket, with a met or breached state.
Pause while waiting
All editionsThe resolution clock pauses while a ticket waits on the requester.
Sort by SLA urgency
All editionsPut the tickets closest to breaching at the top of the queue.
SLA per department
ProDifferent targets for teams with different commitments.
Act on breaches
ProAutomation rules triggered by an SLA breach.

Integrations & API
Connect mooDesk to the rest of your stack.
Push ticket events out, pull data in, and bring email into the queue.
REST API
EnterpriseMoodle web services with tokens issued by mooDesk and scoped per use: tickets, merges, webhooks and the knowledge base.
Example request GET /webservice/rest/server.php ?wsfunction=local_moodesk_list_tickets &wstoken=•••••••• &moodlewsrestformat=jsonWebhooks
EnterpriseSigned HTTP callbacks when a ticket is created, updated, replied to, resolved or merged, delivered from a queue with automatic retries.
Example delivery POST /hooks HTTP/1.1 Host: your-app.example X-Moodesk-Event: ticket.created X-Moodesk-Timestamp: 1791218879 X-Signature-256: sha256=…Email ingestion
ProConnect a support mailbox over IMAP, signed in with a password or OAuth 2.0. New mail opens a ticket, replies thread back.
Example mailbox support@your-org.example → New ticket #1245 → Reply added to #1210
Illustrative requests. Exact parameters and payloads are in the API reference at support.moodesk.io.
Also included
- All editions
Knowledge base
Articles, categories, search and suggested articles while a ticket is written.
- All editions
Moodle privacy API
Personal data export and deletion through Moodle's own tools.
- All editions
System health
Operational checks and incident alerts for administrators.
- Pro
Moodle global search
Published articles appear in Moodle search, checked against each reader's access.
Trust and requirements
Your support data stays in your Moodle.
mooDesk is a Moodle plugin: no external service to sign up for, and no copy of your tickets anywhere else.
Open source
Distributed under the GNU General Public License, version 3 or later.
Data stays in Moodle
Tickets, replies, attachments and history live in your Moodle database, behind Moodle's roles and capabilities.
One licence per site
Without a licence key mooDesk runs as Starter. A signed licence unlocks Pro or Enterprise on one Moodle site.
One outbound request
Once a day mooDesk downloads a signed licence revocation list from licenses.moodesk.io. The download does not send your licence key, user records or ticket content. Like any HTTP request, it exposes your server's IP address. Since mooDesk 2.39.1 it sends a fixed User-Agent that does not include your site's URL; up to 2.39.0, Moodle's default User-Agent includes it. Email ingestion and webhooks talk only to the servers your administrators set up.
Requirements
| Component | Minimum | Tested on |
|---|---|---|
| Moodle | 4.5 LTS | 4.5, 5.0, 5.1, 5.2 |
| PHP | 8.1 | 8.2, 8.3, 8.4 |
| MariaDB | 10.6.7 | 10.11 |
| PostgreSQL | 13 | 16 |
MySQL is not supported.
Better support starts inside Moodle.
Starter is free for up to 2 agents. Talk to us about Pro and Enterprise.