WordPress plugin · Help desk · Free ● On WordPress.org

Demfilz Support Tickets

A proper support desk for any WordPress site. Customers open tickets from a page on your site, follow the conversation by email or in their browser, and rate the service when it is done. Your team works every ticket from one screen in wp-admin - with departments, agents, canned replies, internal notes, attachments and SLA targets that tell you what is running late.

v1.0.0 · WordPress 5.8+ · PHP 7.4+ · free · self-contained, no external service

Guests can open tickets, no account needed Departments, agents, canned replies, SLA Everything stays on your own site

A help desk, not a contact form

A contact form sends an email and forgets. This keeps the conversation: every ticket has a reference, a status, a priority, a department, an owner and a full thread. Drop [dsup_support] (or the Support Tickets block) on a page and your customers get a portal - open a ticket, read replies, add more information, attach a file, close it when they are happy.

Guests are first class. They do not need an account: their ticket carries a private link, and if they lose it they can ask for a fresh secure link by email. Signed-in customers see all of their tickets automatically. If you would rather everybody signed in, one setting requires a login for the whole portal.

The desk your team actually works in

The dashboard opens on what matters: open, unassigned, mine and past SLA. The ticket list filters by status, priority, department and agent, searches references, subjects and customers, takes bulk actions and exports to CSV. Open a ticket and you get the whole thread, internal notes the customer never sees, one-click canned replies, attachments, and the properties panel on the right.

New tickets assign themselves - round robin through a department's agents, or to whoever has the fewest open tickets. SLA targets per priority give every ticket a first response and resolution due time; anything late is flagged on the dashboard and in the list, and the team gets an email. Resolved tickets close themselves after a few quiet days, and customers who have gone quiet get a nudge.

See it

From a customer question to a solved ticket

The portal your customers use, and the desk your team answers from.

Support portal - open a ticket, with department, priority and attachments
The portal - open a ticket, or ask for a link to an existing one.
A customer reading the conversation on their ticket and replying
The customer's view - the whole conversation, and a reply box.
Support dashboard with open, unassigned and past SLA counts
The dashboard - what is open, unassigned and running late.
Ticket list with filters, statuses, priorities and CSV export
The ticket list - filter, search, bulk actions, CSV export.
Support reports - tickets per day, by status, department and agent
Reports - volume, response times and satisfaction.
A single ticket with the thread, an internal note and the properties panel
One ticket - thread, internal note, canned replies and properties.
Built right

Engineered to platform standards

Built and tested the way the WordPress.org directory expects plugins to be built.

Coding standards

Zero errors and zero warnings against the WordPress Coding Standards, clean against the official Plugin Check tool, and covered by a 125 assertion test suite that runs against a real WordPress install.

Careful with strangers

Public forms carry a nonce, a honeypot, a signed timestamp and a per address rate limit. Attachments are validated, stored under a random non-executable name, and only served to somebody entitled to see them.

Your data stays yours

Custom database tables, so a busy desk never bloats your posts table. No external API, no tracking, no telemetry - and deleting the plugin leaves your history alone unless you ask for it to go.

How it works

Live in half an hour

1

Publish the portal

Create a page, add [dsup_support] or the Support Tickets block, publish it, then pick that page under Support, Settings.

2

Add departments

General, Billing, Technical - whatever fits. Give each one a notification inbox and the agents who look after it.

3

Promote your team

Any WordPress user can become an agent, with their own signature and departments. Support-only staff get the Support Agent role.

4

Set your targets

Choose first response and resolution targets per priority, decide when tickets auto-close, and let the hourly job do the chasing.

Read the full setup guide →
Support reports - tickets per day, by status, department and agent

Why a ticket beats an inbox. A shared mailbox loses the thread, hides who is answering, and never tells you what is late. A ticket has an owner, a clock and a history - and your customer can see it too.

Download

Get Support Tickets

Install it, publish a page with the shortcode, and start taking tickets today.

Demfilz Support Tickets v1.0.0

Free · WordPress 5.8+ · PHP 7.4+ · published on the official WordPress.org plugin directory

Get it on WordPress.org

Or download the .zip →  ·  Setup guide →

Search for Demfilz Support Tickets under Plugins → Add New in your dashboard, install, activate, then add the shortcode to a page.

FAQs

Common questions

Can people open tickets without an account?

Yes. Guest tickets are on by default: a name, an email address and a message is all it takes. Every guest ticket carries a private link, and a guest who loses it can ask for a fresh secure link by email. If you would rather everyone signed in, one setting requires a WordPress login for the whole portal.

Where do attachments go?

Into your own uploads folder, under a 32 character random file name with a neutral .dsupbin extension, so nothing in that folder can be executed or guessed. A deny rule is dropped alongside them for Apache and IIS. Files are only ever delivered through a handler that checks who is asking, so a customer can open their own attachments and nobody else's.

What are SLA targets?

A first response target and a resolution target, in minutes, for each priority. Every ticket carries its own due times, the dashboard and the ticket list flag anything running late, and an hourly job emails the team when a target is missed. Set a target to zero to switch it off.

Does it send anything to an external service?

No. Tickets live in your database, files live in your uploads folder, and notifications go out through your site's own email. There is no external API, no tracking and no telemetry.

What happens to my tickets if I delete the plugin?

They stay. Deleting the plugin leaves every ticket, reply and attachment in place unless you first tick the delete on uninstall option under Support, Settings, Advanced.

Who can see and answer tickets?

Administrators, plus any user you promote to agent on the Agents screen. There is also a dedicated Support Agent role for support-only logins, which can work tickets but cannot change plugin settings or delete tickets.

Where do I get it?

From the official WordPress.org plugin directory - search for Demfilz Support Tickets under Plugins → Add New in your dashboard, or install it from there directly. A .zip download is also on this page if you would rather upload it by hand.

Will it work with my caching plugin?

Yes. The forms carry a nonce and a signed timestamp, and if a cached page serves an expired nonce the visitor gets a clear "please reload and try again" message instead of a silent failure.

Need the desk shaped around your business?

Extra fields on the ticket form, a knowledge base, email piping, integrations with the systems you already run - this is the kind of thing we build. Tell us what you need and we will come back with a plan and a fixed quote.