Skip to content
WordPress ticket system & knowledge base

Own your support desk. Stop renting it.

Helpdesk turns your WordPress site into a complete support desk: tickets, teams, a knowledge base and an AI assistant. Your tickets live in your own database, and there's no monthly fee per agent.

No spam. One email at launch, with early-bird pricing. We store your address only for that.

  • Self-hosted on your site
  • No per-agent fees
  • GDPR tools built in
One licenceNot a monthly bill per seat
Your databaseTickets are stored on your own site
Native WordPressUsers, roles and Plugins screen
Updates includedRenew whenever you want the latest
Everything included

A full helpdesk in one plugin

The features you'd expect from a hosted helpdesk, running inside the WordPress site you already have. Each card below opens a detailed section further down the page.

Tickets that stay organised

  • Threaded replies, rich text and attachments
  • Status, priority, department and tags
  • Merge duplicates, search and CSV export
  • Guest tickets and tickets on behalf of customers
See tickets in detail

Tools for your agents

  • Internal notes and canned responses
  • Collision warnings and saved reply drafts
  • Private agent-to-agent messaging
  • Full activity timeline on every ticket
See agent tools

Organisations & teams

  • Group customers by company
  • Company managers see their whole team's tickets
  • Route departments to agent teams
  • Least-busy auto-assignment
See routing

Custom fields & ticket forms

  • Ten field types, conditional and agent-only
  • Fields targeted to a department
  • Separate forms with locked department or priority
  • Default tags and audience per form
See fields and forms

Saved views & filters

  • Filter by status, priority, department, assignee, tag, customer
  • Save a filter as a personal view
  • Admins can share a view with every agent
  • Organisation and team filters
See views and search

Business hours & SLA

  • Weekly schedule with split shifts
  • Holidays, including yearly ones
  • Different hours per department
  • Out-of-hours notice on the ticket form
See hours and SLA

Time tracking & billing

  • Start/stop timer or type "1h 30m"
  • Billable flag on every entry
  • Totals on the ticket, agents only
  • Time report with CSV export
See time tracking

Knowledge base

  • Three layouts: Minimal, Card Grid, Sidebar
  • Live search as customers type
  • Article feedback and related articles
  • Public pages search engines can index
See the knowledge base

Privacy, security & accessibility

  • WordPress Export/Erase Personal Data built in
  • Spam protection on every form
  • Seven per-agent permissions
  • WCAG 2.1 AA pass and mobile layouts
See security details
Tickets & customer portal

Never lose a customer message in a shared inbox again

Every request becomes a ticket with an owner, a status and a single conversation thread. Customers get a tidy portal on your own site, and your team always knows whose turn it is.

What it does

  • Threaded conversations. Customers and agents reply in one thread, written in a rich text editor, with attachments on the ticket and on any reply.
  • Attachments that are checked, not trusted. Files are validated against an allow-list (JPG, PNG, GIF, PDF, TXT, LOG, CSV, ZIP, Word and Excel) by their real content, not just the file name, and are rejected before the ticket is created so nothing is silently lost. The allowed types and the size limit (10 MB by default) are shown under the file field.
  • Status, priority, department and tags. Statuses are Open, Pending, On hold, Resolved and Closed; priorities are Low, Normal, High and Urgent. Departments (General, Billing and Technical are set up for you) and tags keep the queue sorted.
  • Status that moves by itself. When an agent replies the ticket becomes Pending (waiting on the customer); when the customer replies it goes back to Open (waiting on you).
  • A customer portal on your site. Customers see their own tickets, search them, and get a "New reply" badge when an agent has answered since they last looked. Drop it in with shortcodes: [wphd_ticket_form], [wphd_my_tickets], [wphd_ticket] and [wphd_dashboard], which shows the agent or customer view automatically.
  • Guest tickets, when you want them. Switch on guest submission and a visitor only needs a name and email. An account is created (or reused) with a secure password-reset link, never a plaintext password. Off by default.
  • Tickets on behalf of customers. An agent picks the customer from a search box and raises the ticket for them (a phone call, a chat). The customer owns it and is notified, and an automatic internal note records which agent created it.
  • Merge duplicates. Fold a duplicate into the main ticket: its replies, notes and watchers move across, and the duplicate stays for your records with a banner pointing to the primary.
  • Search and export. Search ticket subjects and descriptions from the customer list and the agent dashboard, and export tickets to CSV from the admin Tickets screen. Agents without the "view all tickets" permission only export their own.
  • Emails that actually arrive. Customers get a confirmation when they submit, and watchers get an email on each reply. Set your own From name and address, and run the built-in email health check, which tests your From address, sending method, SPF, DKIM, DMARC and MX and tells you the fix in plain English.
  • Private by design. Tickets are never public: there are no front-end ticket archives, feeds or sitemap entries.

Why it matters Nothing scrolls out of sight, nobody answers the same message twice, and customers stop asking "did you get my email?" because they can see exactly where their request stands.

Agent productivity

Give every agent the context to get it right the first time

Notes the customer can't see, answers you've already written, a warning before two people reply at once, and a complete history of what happened on every ticket.

What it does

  • Internal notes that can never leak. Switch the reply box between "Reply to customer" and "Add internal note". Notes are a separate record type, hidden from customers, and note emails only ever go to agents who are watching the ticket.
  • Canned responses. An "Insert canned response" menu drops a saved answer in at your cursor without wiping what you have already typed, for replies and notes alike. Any agent can use them; creating and editing them is a separate permission.
  • Collision warnings. When two agents open the same ticket they see "Alex is viewing this ticket" and "Alex is typing a reply", so you never send two answers. Presence expires on its own after 30 seconds of inactivity.
  • Drafts that survive a crash. The reply box and the new-ticket form autosave as you type, and restore with a "draft restored" notice (and a Discard button) if the tab is closed or reloaded. Drafts are kept in your own browser and ignored after seven days.
  • Private agent-to-agent messaging. Ask a colleague a question under Helpdesk > Messages without leaving the desk. Only the people in a conversation can read it. Optional admin oversight is its own permission, off by default even for agents.
  • A timeline of everything. Every ticket carries an agent-only activity log with real before and after values for status, priority, department and assignment, plus replies, notes, watching, merges, time entries, custom field changes, team routing and AI use. Extensions such as SLA and Workflows write into the same timeline.
  • Watching and notifications. Watch any ticket to get an email when it is updated or answered; you are never emailed about your own action. The assigned agent is told about a new ticket, and your emails go out as clean HTML with a plain-text version.
  • A dashboard that starts with your work. Tabs for Unassigned, Assigned to me and All open tickets. Agents without the "view all tickets" permission only see tickets assigned to them.

Why it matters Faster, more consistent replies, fewer awkward double answers, and a complete audit trail when a customer asks "who changed this, and when?"

Organisations, teams & assignment

Every ticket lands with the right person, automatically

Route by department, share the load fairly, and let your business customers see what their own colleagues have asked.

What it does

  • Least-busy auto-assignment. A new ticket goes to the agent covering its department who currently has the fewest open tickets. If nobody covers that department it falls back to the least-busy agent overall, and it never assigns a ticket to the person it was raised for. One switch turns it off.
  • Agent teams. Group agents into teams, map departments to a team, and new tickets in those departments are routed to it. Choose per team: leave tickets in a shared team queue, or auto-assign to the least-busy team member.
  • A "My teams" view. Agents get a My teams tab on the dashboard and a team filter, and can optionally be emailed when a ticket is routed to their team.
  • Organisations for B2B support. Group customers into companies. A person belongs to one organisation as a member or a manager. Managers can see and reply to every ticket their colleagues raise; members only see their own.
  • My tickets or my company. Managers flip between "My tickets" and "Organisation tickets" on their list, and can be added as watchers on every new ticket from their organisation.
  • History that stays true. A ticket remembers which organisation it was raised under, so moving a person to another company never rewrites old tickets. Agents can filter by organisation, and organisations can be archived.

Why it matters No ticket sits in a queue waiting for someone to notice it, work is spread fairly, and your business customers get the visibility they ask for without ever seeing another company's tickets.

Custom fields & multiple ticket forms

Ask the right questions up front and skip the back-and-forth

Collect the order number, the plan, the browser or the website address before the ticket even arrives, and give each kind of request its own form.

Custom fields

  • Ten field types. Single-line text, multi-line text, number, email, URL, date, drop-down, radio buttons, a single checkbox and checkbox groups. Add a placeholder and help text, mark a field required, and set minimum and maximum values for numbers and dates or a maximum length for text.
  • Conditional fields. Show a field only when another field has (or does not have) a given value, for example ask for an order number only when the topic is "Refund". The builder rejects loops and stops a customer-facing field depending on an agent-only one.
  • Agent-only fields. Keep internal data such as "Account tier" or "Escalated to" on the ticket where customers never see it. Agents can edit field values right on the ticket.
  • Department-scoped fields. Show a field only for the departments you choose, so Billing asks billing questions and Technical asks technical ones.
  • Everywhere you need it. Field values appear on the form, on the ticket, and in the REST API, and are covered by the WordPress personal-data export and erase tools. Up to 50 fields, with up to 100 choices each.

Multiple ticket forms

  • One form per purpose. Create named forms under Helpdesk > Forms (up to 25) and place each with [wphd_ticket_form form="slug"]. The plain [wphd_ticket_form] keeps working as it always did.
  • Make each form your own. Every form has its own heading, intro text, button label and success message.
  • Locked routing. Lock the department or the priority so a "Billing question" form always lands in Billing, or an "Outage report" form is always Urgent. Locked values are enforced on the server, so they cannot be tampered with in the browser.
  • Defaults and audience. Add default tags, switch attachments on or off, and choose whether the form is open to everyone or to logged-in users only. Disable a form without deleting it.

Why it matters Tickets arrive complete and already routed, so agents spend their time solving the problem instead of asking for details.

Saved views, filters & search

Find the ticket that matters in two clicks

Slice the queue any way you like, then save it. Your Monday-morning list is one selection away.

What it does

  • Filters on the agent dashboard. Narrow the list by status, priority, department, assignee (including Unassigned), tag, customer name or email, and last updated (24 hours, 7 days or 30 days). With Organisations and Teams switched on you also get organisation and team filters.
  • Personal saved views. Name the filter you have set up and save it. It is yours, available from the "Saved views" menu on your next visit.
  • Shared views. People who manage Helpdesk settings can share a view with all agents, so the whole team works from the same "Urgent and unassigned" list.
  • Search that covers the basics. Search subjects and descriptions from the agent dashboard and from the customer's own list.
  • Export what you see. CSV export on the admin Tickets screen respects each agent's "view all tickets" permission.

Why it matters Agents spend their day working tickets, not hunting for them, and managers can point the whole team at the same list.

Business hours & SLA

Promise response times you can actually keep

Tell customers when you are open, tell your system the same thing, and let service targets count only the hours your team is really working.

Business hours (built in)

  • A weekly schedule. Set opening hours for each day, with an optional second interval for split shifts or a lunch break. Times follow your WordPress timezone, including daylight-saving changes.
  • Holidays. Add closed days with a label, and tick "repeat every year" for the ones that come back (up to 200 are supported).
  • Per-department hours. Give a department its own weekly schedule, for example weekend cover for Technical, while holidays stay global. Departments without one use the main schedule.
  • An honest ticket form. Optionally show "Our team is currently closed. We'll reply from Monday 09:00" at the top of the ticket form, only while you are actually closed.
  • Show your hours on any page. The [wphd_business_hours] shortcode prints an "Open now" or "Closed now" badge, the next opening time, a weekly table and the timezone. Pass a department to show that department's hours.

Service targets (SLA extension)

  • Targets per priority. Set a first-response target and a resolution target for each priority. Due dates are calculated when a ticket is created and recalculated if its priority changes.
  • Count business hours only. Tick one box and targets run only during your opening hours (a department's own schedule is honoured and holidays are skipped). Off by default; if hours cannot be worked out it falls back to calendar time rather than silently stopping.
  • Breach alerts. An hourly check flags breached targets on the ticket's activity timeline and emails the assigned agent, or the administrators if nobody owns the ticket. An SLA column appears on the admin ticket list.

Why it matters A ticket filed on Friday evening is not "late" on Monday morning. Your promises, your form and your reports all agree about when you are actually working.

Time tracking & billing

Know what every ticket cost you in time

Log the minutes as you work, mark what you can bill for, and report on it by agent, ticket or day. It is built in, and customers never see any of it.

What it does

  • Log time the way you think about it. Type 45, 1h 30m or 1:30, add an optional note and a date (not in the future), and save. Entries run from one minute to 24 hours.
  • A start/stop timer. Start the timer when you open the work, stop it when you are done, and the time field fills in for you.
  • Billable or not. Flag each entry as billable. The ticket shows the total and the billable total.
  • Agents only. Time appears on the ticket for agents and is never added to the ticket API, so it cannot reach customers. Agents can edit or delete their own entries; administrators can change any, and every logged entry also lands on the activity timeline.
  • A time report. Under the Time report, filter by date range, agent and billable or non-billable, group by agent, ticket or day, and export to CSV.
  • Privacy-ready. Time entries are included in the WordPress personal-data export and erase tools.

Why it matters Bill support work with evidence, spot the customers and topics that eat your week, and plan staffing from real numbers instead of guesses.

Knowledge base

Answer the question before it becomes a ticket

A help centre that looks professional from day one, ships with live search, and lives on your own domain where search engines can find it.

What it does

  • Live search. A "How can we help?" search box at the top of the knowledge base shows matching articles as customers type, with title, category and a short excerpt, and no page reload.
  • Three layouts. Choose Minimal (a bare list that follows your theme), Card Grid (category tiles with icons) or Sidebar Categories (persistent navigation, better for large libraries), and set your own accent colour.
  • Categories with icons. Pick a category icon from a ready-made list or type any Dashicon class.
  • Was this helpful? Every article ends with a Yes/No question, and shows related articles from the same category to keep readers on your site.
  • Polished article formatting. Six block styles in the editor's own Styles panel: Info, Success, Warning and Important callouts, a Panel style and an Accent Underline heading. No colours or CSS to configure.
  • Findable by search engines. Articles are ordinary public WordPress pages with their own addresses under /knowledge-base/, with excerpts and revision history, so Google and others can index them. Ticket pages stay private.
  • Works with your theme. Scoped styles and shortcode placement ([wphd_kb]) mean it sits inside any well-built theme without restyling the rest of your site.
  • Feeds your AI assistant. The optional AI assistant drafts replies from your published articles, so every article you write also makes your agents faster.

Why it matters The cheapest ticket is the one nobody has to open. A good knowledge base cuts repeat questions and brings in visitors who are searching for exactly the answers you have.

New · AI assistant

An AI assistant that helps your agents and never replies on its own

Turn it on when you want it. It drafts replies from your own knowledge base, and an agent always decides what gets sent. Nothing is ever sent to customers automatically.

  • Summarise long tickets in one click.
  • Draft replies from your knowledge base articles.
  • Improve my reply for tone and clarity without changing the meaning.
  • Suggest department, priority and tags, and find similar earlier tickets (that one needs no AI call at all).
  • Your provider, your key. Works with OpenAI, Anthropic, Google Gemini or any OpenAI-compatible service such as OpenRouter, xAI, Ollama or LM Studio. Keys are stored encrypted and never shown again.
  • Privacy controls. Emails and phone numbers are masked by default (a best-effort filter; names are not masked), internal notes are left out unless you opt in, and the whole feature stays off until an administrator acknowledges how it works.
  • Cost controls. Set a limit on requests per agent per day and for the whole site per month, and switch individual features off. The usage log keeps counts only, never prompts or answers.
Privacy, security & accessibility

Built for the questions your customers' security team will ask

Support conversations contain personal data. Helpdesk keeps it in your database, gives you the tools to export and erase it, and puts sensible walls around who can see what.

What it does

  • GDPR tools you already know. Helpdesk plugs into WordPress's own Tools > Export Personal Data and Erase Personal Data. They cover tickets, replies, internal notes and agent messages, and the built-in modules add their own data (custom field values, time entries, saved views, organisations and AI records). Erasure anonymises ticket and reply content, the same way WordPress treats comments. These are tools to help you meet your obligations, not a compliance guarantee.
  • Layered spam protection. A hidden honeypot field, a per-IP rate limit you set (it can't be saved as zero) and a nonce for guest submissions, with no CAPTCHA service to configure. Agents are exempt, and a filter lets you add your own CAPTCHA.
  • A separate agent role. Support Agents are not Editors or Authors, so a person who can publish posts cannot touch a customer's ticket unless you say so.
  • Seven permission toggles per agent. View all tickets, change status/priority/department/assignment, delete tickets, manage canned responses, manage the knowledge base, manage other agents, and view all agent conversations. Without "view all tickets" an agent only sees tickets assigned to them, in the admin list and the API alike.
  • Checked on every request. Customers can only open their own tickets, can never change status or assignment, and can never delete. Every change is re-verified on the server.
  • Conversations stay out of WordPress comments. Replies, notes and activity entries are excluded from the Comments screen, comment feeds, the Latest Comments block and the core comments API, so a note can never surface in the wrong place.
  • Safe uploads and email. Allow-listed attachments verified by content, plus an email health check for SPF, DKIM and DMARC so your replies reach the inbox.
  • WCAG 2.1 AA pass. Labelled form controls, live-region announcements, keyboard-operable search and customer pickers, visible focus rings, improved colour contrast and reduced-motion support.
  • Made for phones. Responsive dashboard, ticket, knowledge base and module layouts, with 16px inputs and 44px tap targets on small screens.
  • Your data, your call. Tickets live in your WordPress database and uploads folder. Deleting the plugin keeps your data unless you tick the option to remove everything.

Why it matters You can answer "where is our data, who can see it, and how do we delete it?" in one breath, and your team and customers can use the desk on any device and with assistive technology.

Developers

Connect it, extend it, build on it

Helpdesk is built the WordPress way, with a documented REST API and hooks, so it fits into your stack instead of fencing you in.

What it does

  • A REST API. The wphd/v1 namespace covers tickets (list, create, read, update), replies, internal notes, merging, watching, presence, departments, priorities, statuses, assignees, canned responses, customer search, agent messaging and knowledge base search. Ticket routes enforce the same permissions as the screens.
  • Hooks for every step. Filters such as wphd_can_submit_ticket, wphd_ticket_data_valid, wphd_format_ticket and wphd_list_tickets_args, and actions such as wphd_new_ticket, wphd_ticket_updated and wphd_new_reply.
  • UI extension points. Template hooks on the ticket form and single ticket view, and JavaScript events such as wphd_ticket_loaded, so your add-on can inject fields or panels.
  • Adjustable defaults. Filters change the attachment allow-list and the upload size limit, add your own per-agent permission to the Agents screen, and let you plug in a CAPTCHA.
  • Modules on the same footing. Business hours, custom fields, organisations, teams, saved views, forms, time tracking and the AI assistant are built-in modules that use only the public hooks, exactly like your own extension would.
  • APIs for add-ons. Extensions can write to the activity timeline and call the business-hours functions (for example, to add working time to a deadline). Every official extension is a separate plugin built the same way.

Why it matters If your business has a quirk, you can code around it. Your helpdesk can talk to your other systems, and you are never waiting for us to add an integration.

Extensions

Add more when you need it

Optional add-ons for larger teams. Each one is a separate plugin, so you only install, and only load, the ones you will use.

SLA

Promise response times and know the moment you are about to miss one.

  • First-response and resolution targets for each priority
  • Due dates calculated on creation and recalculated when priority changes
  • Optional "count business hours only" using your opening hours and holidays
  • Hourly breach check: logged on the ticket timeline and emailed to the assigned agent or your administrators
  • SLA column on the ticket list and due dates in the REST API

Workflows

Let rules do the repetitive work: assign, escalate, close, notify.

  • Triggers: ticket created, status changed, replied to, or inactive for a number of hours
  • Conditions: department, priority, status and hours inactive
  • Actions: set status, set priority, assign to an agent, add an internal note, or email the assigned agent, the customer or all administrators
  • Changes run as an automation user you choose, so they appear on the timeline and send normal notifications
  • Loop guard: a rule's own changes never trigger other rules

Reports

See how your desk is performing without exporting a spreadsheet.

  • Last 7, 30, 90 or 365 days
  • Tickets created, resolution rate, average first response and average resolution time
  • SLA compliance, and a per-agent table of assigned and resolved tickets with response and resolution times
  • Daily ticket volume
  • Read-only: it stores nothing of its own, and respects each viewer's ticket permissions

CSAT

Ask every customer how you did, right after you solve it.

  • An email when a ticket is resolved or closed, with a link to a 1–5 star rating and an optional comment
  • The link is private, expires (30 days by default) and works once
  • Ratings show in the ticket list, with the average under Helpdesk > CSAT
  • Lockout after repeated bad guesses, and the rating page is kept out of search engines
  • Ratings are included in WordPress export and erase tools

Webhooks

Push ticket events to Zapier, Slack or your own scripts, securely.

  • Events: ticket created, updated, replied to and merged
  • Every request is signed with HMAC-SHA256 over a timestamp and the body, so receivers can verify it and reject replays
  • Background delivery with up to five attempts, a delivery log and a "Send test" ping
  • https only, public addresses only, no redirects followed
  • Payloads never include reply text, internal notes, email addresses, names or custom fields, and the ticket title can be switched off

Email Piping

Let customers open and reply to tickets from their inbox.

  • Polls your support mailbox over IMAP every five minutes (needs the PHP IMAP extension)
  • Replies are matched by a secret per-ticket token in the address and the sender must be allowed on that ticket
  • New tickets are accepted only from existing user accounts and start as Pending for review
  • Loop protection: auto-replies, bounces, mailing lists and your own mailbox are skipped, and every message is processed once
  • The mailbox password is stored encrypted and never shown again; quoted text is trimmed and attachments follow your allow-list

Paid Support (License Gate)

Sell support plans and let only paying customers open tickets.

  • Built-in PayPal checkout for support plans, with a payments ledger, receipts, refund handling and expiry reminders
  • Or decide from a License Hub, a WordPress role, user meta, or your own code
  • Administrators and agents are never gated; blocked customers see a polite message and a link to your plans
  • If a check cannot be completed, customers are never blocked
  • Shortcodes for the plans page and a "support active until" status
Why self-hosted

Your support history is part of your business

Hosted helpdesk

  • –Monthly fee for every agent you add
  • –Customer conversations stored on someone else's servers
  • –Another login and another place to send customers
  • –Lose access if you stop paying

Helpdesk on WordPress

  • One licence, however many agents you hire
  • Every ticket stored in your own database
  • Support lives on your site, under your brand
  • Keeps working even if your licence lapses: you only renew to get updates
Nothing left out

The complete feature checklist

Everything listed here is in the plugin today. "Core" means it comes with Helpdesk; the rest are optional extensions.

Tickets & portal
FeatureIn
Threaded replies and rich text editorCore
Attachments with content-checked allow-listCore
Status, priority, department and tagsCore
Automatic status change on replyCore
Customer ticket list, search and "New reply" badgeCore
Guest ticket submission (off by default)Core
Tickets on behalf of customersCore
Merge duplicate ticketsCore
Ticket search and CSV exportCore
Customer confirmation and reply emailsCore
Email health check and From name/addressCore
Shortcodes for form, list, ticket, dashboard, KB, hoursCore
Agent tools
FeatureIn
Support Agent roleCore
Internal notesCore
Canned responsesCore
Collision warnings (viewing and typing)Core
Autosaved reply draftsCore
Agent-to-agent messagingCore
Activity timelineCore
Watching and email notificationsCore
Agent dashboard tabsCore
Assignment & customers
FeatureIn
Least-busy auto-assignment by departmentCore
Agent teams with queue or least-busy modeCore
Team notifications and My teams tabCore
Organisations with member and manager rolesCore
Notify managers of new organisation ticketsCore
Fields, forms & views
FeatureIn
Ten custom field typesCore
Required, conditional and agent-only fieldsCore
Department-scoped fieldsCore
Multiple ticket forms with locked valuesCore
Dashboard filtersCore
Personal and shared saved viewsCore
Hours, SLA & time
FeatureIn
Weekly schedule with split shiftsCore
Holidays, including yearly repeatsCore
Per-department schedulesCore
Out-of-hours notice and hours shortcodeCore
Time tracking with timer and billable flagCore
Time report with CSV exportCore
SLA targets, breach alerts, business-hours modeSLA
Knowledge base
FeatureIn
Three layouts and accent colourCore
Live as-you-type searchCore
Categories with iconsCore
Article feedback and related articlesCore
Six article block stylesCore
Public, indexable article pagesCore
AI assistant
FeatureIn
Summarise, draft from KB, improve, suggest, find similarCore
OpenAI, Anthropic, Gemini, OpenAI-compatibleCore
Encrypted keys and masking of emails and phonesCore
Usage limits per agent per day and site per monthCore
Off by default, agents only, never auto-sendsCore
Privacy, security & access
FeatureIn
WordPress export and erase personal dataCore
Honeypot, rate limit and guest nonceCore
Seven per-agent permissionsCore
Replies and notes kept out of WordPress commentsCore
WCAG 2.1 AA passCore
Responsive layouts, 44px tap targetsCore
Developers & updates
FeatureIn
REST API (wphd/v1)Core
Filters, actions and JavaScript eventsCore
Extension API and business-hours APICore
Licence activation and Plugins-screen updatesCore
Extensions
FeatureIn
SLA: response and resolution targets, breach alertsSLA
Workflows: rules that assign, escalate, close, notifyWorkflows
Reports: volume, response, SLA, per agentReports
CSAT: 1-5 star ratings by private linkCSAT
Webhooks: signed events with retriesWebhooks
Email Piping: tickets and replies by emailEmail Piping
Paid Support: PayPal plans and ticket gatePaid Support
Questions

Frequently asked

When does Helpdesk launch, and how much will it cost?

We're finishing final testing now. Pricing will be announced at launch, and people on the list get early-bird pricing first.

Is there a free version?

No. Helpdesk is a premium plugin, so our time goes into building it and supporting the people who use it.

Do you charge per agent?

No. One licence covers as many agents as you hire. A licence key is activated on your site under Helpdesk > Settings > License.

Where is my data stored?

In your own WordPress database and uploads folder. Tickets, replies, attachments and customer details are never sent to us. Features you choose to switch on, such as the AI assistant, webhooks, email piping or PayPal paid support, talk only to the services you configure. Helpdesk contacts our licence server only to activate your key, check its status, deactivate it and fetch updates.

Do I need an AI subscription?

No. The AI assistant is off by default. If you want it, add your own API key from OpenAI, Anthropic, Google Gemini or any OpenAI-compatible service.

Will it work with my theme?

Yes. Customer pages use shortcodes and scoped styles, so they sit inside any well-built theme without restyling the rest of your site.

What does it need to run?

WordPress 6.0 or newer and PHP 7.4 or newer. The Email Piping extension also needs the PHP IMAP extension.

How do updates work?

Updates appear on your WordPress Plugins screen while your licence is active, the same as any other plugin. When the licence expires you renew to get further updates; the plugin itself carries on working.

What happens if my licence expires?

Nothing. Your helpdesk keeps working exactly as it is, including new tickets, the knowledge base and every feature. The licence only controls updates, so you renew when you want the latest version.

Are security updates included?

Yes. Updates cover new features and fixes, and some releases are security-only, so they are worth installing promptly. Your helpdesk keeps working if your licence lapses, but you only receive further updates, security releases included, while it is active. Renew when you are ready to catch up.

Can I charge for support, and stop non-paying customers opening tickets?

Yes, with the optional Paid Support extension, which is separate from the Helpdesk licence. Customers buy a support plan through your own PayPal account, and while their paid support is active they can open tickets. When it lapses they can no longer open new ones and are shown your renewal link. Agents and administrators are never blocked, and existing tickets stay readable. You can also decide who counts as paid from a WordPress role, a user field or your own code.

Can customers email in their tickets?

Yes, with the Email Piping extension. Customers can reply to tickets straight from their inbox, and people with an account can open new tickets by email (these arrive as Pending so an agent can review them).

Can I import tickets from another helpdesk plugin?

There is no importer in the first release. Your own data is portable, though: tickets export to CSV and everything is available through the REST API.

Is it accessible?

Helpdesk has had a dedicated WCAG 2.1 AA pass: labelled form controls, live-region announcements, keyboard-operable search and pickers, visible focus, improved contrast and reduced-motion support, plus responsive layouts with 44px tap targets on small screens.

Is it GDPR-friendly?

Helpdesk plugs into WordPress's own Export Personal Data and Erase Personal Data tools, covering tickets, replies, notes, agent messages and the data from its built-in modules. Erasure anonymises content rather than deleting records, as WordPress does for comments. These are tools to help you comply, not legal advice or a guarantee.

Launching soon

Be first in line for launch pricing

One email when Helpdesk is ready, with early-bird pricing for the people on the list.

No spam. One email at launch, with early-bird pricing. We store your address only for that.