mooDesk

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 editions

    All tickets, My tickets, Unassigned and My departments, with a card layout on phones.

  • Filters and saved views

    All editions

    Status, priority, assignee, department, category, SLA status and date range, saved as views.

  • Custom fields

    Pro

    Capture the information your process needs on every ticket.

  • Email ingestion

    Pro

    Turn 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

    Enterprise

    Combine duplicate requests into one conversation.

mooDesk All Tickets queue with tabs, filters, and tickets showing status, priority, category, department and requester.

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 editions

    Route work to the people who own it.

  • Internal notes and assignment

    All editions

    Talk about a ticket without the requester seeing it.

  • Teams and agent panel

    Pro

    Group agents into teams and see each agent's departments and teams in one place.

  • Agent supervision

    Enterprise

    Workload, capacity, SLA breaches and response times for every agent.

Agent supervision: workload, SLA breaches and response times for each 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

    Pro

    Ticket created, status changed, time elapsed and SLA breached.

  • Conditions and actions

    Pro

    Decide which tickets a rule applies to and what it changes.

  • Ordered execution

    Pro

    Rules run in the order you set, and can be switched off without being deleted.

Automation rules triggered by ticket created, time elapsed and SLA breached.

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 editions

    KPI cards, tickets over time, and tickets by status, priority and department.

  • SLA performance and workload

    Pro

    SLA gauge, detailed agent workload and top categories on the dashboard.

  • Advanced reports

    Pro

    Support analytics across a date range, with breakdowns.

  • CSAT

    Pro

    Ask requesters how it went when a ticket is resolved or closed.

  • Knowledge base analytics

    Pro

    Views, helpful rate and searches with no results.

The mooDesk dashboard with KPI cards, tickets over time and tickets by status.

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 editions

    Set per priority and shown on every ticket, with a met or breached state.

  • Pause while waiting

    All editions

    The resolution clock pauses while a ticket waits on the requester.

  • Sort by SLA urgency

    All editions

    Put the tickets closest to breaching at the top of the queue.

  • SLA per department

    Pro

    Different targets for teams with different commitments.

  • Act on breaches

    Pro

    Automation rules triggered by an SLA breach.

The SLA panel of a ticket: first response met, resolution paused while awaiting the requester.

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

    Enterprise

    Moodle 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=json
  • Webhooks

    Enterprise

    Signed 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

    Pro

    Connect 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

Server requirements of the current release
ComponentMinimumTested on
Moodle4.5 LTS4.5, 5.0, 5.1, 5.2
PHP8.18.2, 8.3, 8.4
MariaDB10.6.710.11
PostgreSQL1316

MySQL is not supported.

Better support starts inside Moodle.

Starter is free for up to 2 agents. Talk to us about Pro and Enterprise.