Title: Guru Support Desk
Author: Guru Plugins
Published: <strong>September 4, 2026</strong>
Last modified: September 4, 2026

---

Search plugins

![](https://ps.w.org/guru-support-desk/assets/banner-772x250.png?rev=3681878)

![](https://ps.w.org/guru-support-desk/assets/icon-256x256.png?rev=3681878)

# Guru Support Desk

 By [Guru Plugins](https://profiles.wordpress.org/guruplugins/)

[Download](https://downloads.wordpress.org/plugin/guru-support-desk.1.0.zip)

 * [Details](https://wordpress.org/plugins/guru-support-desk/#description)
 * [Reviews](https://wordpress.org/plugins/guru-support-desk/#reviews)
 *  [Installation](https://wordpress.org/plugins/guru-support-desk/#installation)
 * [Development](https://wordpress.org/plugins/guru-support-desk/#developers)

 [Support](https://wordpress.org/support/plugin/guru-support-desk/)

## Description

Guru Support Desk is a self-hosted customer support system for WordPress. Customers
can create and manage tickets from a signed-in Support page, while enabled Support
Agents can work from wp-admin or a front-end Agent Tickets desk.

Key features:

 * Create tickets from the customer Support page, inbound email, or the staff Add
   New workflow.
 * Use Main Agent, Manager, and Support Agent roles without changing the user’s 
   existing WordPress role.
 * Restrict regular Support Agents to Only Assigned Tickets or allow All Tickets.
   Main Agent and Manager always see all tickets.
 * Reassign tickets instantly by AJAX from the front-end Agent desk for Main Agents/
   Managers and from wp-admin for administrators.
 * Process IMAP mail with automatic polling, cron health repair, resumable catch-
   up batches, failed-message retries, and continuous mailbox/database reconciliation.
 * Keep one malformed email or unsupported charset from blocking newer mail.
 * Use persistent ticket CC participants with per-reply CC selection and secure 
   inbound CC reply threading.
 * Reply with rich text, searchable emojis, attachments, and pasted/dragged inline
   images. Add private Internal Notes that customers never see.
 * Manage New, Open, Pending, Awaiting Reply, Closed, and Trash workflows with response-
   aging indicators, search, pagination, bulk actions, and permanent ticket-number
   continuity.
 * Store attachments privately and enforce customer/agent access server-side.
 * Optionally show WooCommerce customer/order context and add Support to WooCommerce
   My Account.
 * Use WordPress mail or optional dedicated SMTP, plus configurable customer email
   header/footer, Reply-To routing, and design controls.
 * Use private diagnostic logging, enabled by default with 10-day retention and 
   a Download Logs button.

Guru Support Desk keeps ticket data inside the WordPress installation and does not
send ticket data or telemetry to Guru Plugins. The bundled PDF documentation covers
setup, permissions, ticket workflows, mailbox processing, security, logging, and
troubleshooting in detail.

### More from Guru Plugins

Discover more WordPress plugins from [Guru Plugins](https://plugins.guru-is.com).

## Installation

 1.  Upload and activate Guru Support Desk.
 2.  If required setup is incomplete, activation sends the activating administrator
     to Guru Support Desk > Settings > General once.
 3.  Create or select a published Support page and place `[guru_support_desk]` or `[
     guru_support]` on it.
 4.  Open Support Agents, confirm the Main Agent, and set each enabled agent’s Agent
     View and Role.
 5.  Configure response-aging thresholds, Button Design, and alert colors as desired.
 6.  Configure and test IMAP only if inbound email is needed.
 7.  Enable automatic mailbox processing only after IMAP is working.
 8.  Configure SMTP only if Guru Support Desk should use its own SMTP transport. From
     Email starts blank.
 9.  Enter a Send Test To address manually and send a test email.
 10. Review Settings > Logs. Diagnostic logging is enabled by default and retained 
     for 10 days.
 11. Optionally enable the WooCommerce My Account Support endpoint.
 12. Test customer web tickets, staff-created tickets, agent roles/views, ticket reassignment,
     inbound mail, CCs, attachments, inline images, replies, notes, closing, Trash,
     Restore, and any permanent-delete workflow your site will use.

While required setup remains incomplete, opening the bare Guru Support Desk dashboard
menu returns to Settings > General. Other WordPress admin pages are not redirected.

PHP IMAP is required only for inbound mail processing and server mailbox cleanup.

## FAQ

### Is WooCommerce required?

No. WooCommerce is optional.

### Do customers need WordPress accounts?

Only for the front-end Support page. Email-created tickets can belong to email-only
contacts.

### Can any WordPress user become a Support Agent?

Yes. Any WordPress user can be enabled as a Guru Support Desk Support Agent. Their
existing WordPress role is not changed. Guru Support Desk adds its own agent capabilities
to that user.

### What are the Guru Support Desk agent roles?

Main Agent is the unique fallback/default agent and always sees all tickets. Manager
also always sees all tickets and can reassign tickets from the front-end Agent desk.
Support Agent is the regular role and can be configured for Only Assigned Tickets
or All Tickets.

### What happens when I choose a new Main Agent?

There can be only one Main Agent. Promoting another enabled agent to Main Agent 
automatically changes the previous Main Agent to Manager.

### What does Agent View control?

Agent View controls front-end ticket visibility for regular Support Agents. Only
Assigned Tickets restricts the agent to tickets assigned to that user. All Tickets
gives the agent access to all tickets. Main Agent and Manager are always All Tickets.

### Is Only Assigned Tickets just a visual filter?

No. The restriction is enforced server-side across front-end lists, counts, search,
direct ticket access, replies, notes, status changes, CC actions, private attachments,
and other ticket actions.

### Who can reassign tickets?

On the front-end Agent desk, Main Agent and Manager see an Agent dropdown and can
reassign tickets by AJAX. In wp-admin, WordPress administrators can reassign tickets.
Regular Support Agents do not get reassignment authority.

### Who receives a ticket created manually by an agent?

A ticket created with Add New by an enabled Support Agent is assigned to the agent
who created it.

### What happens when a Support Agent is disabled?

The current Main Agent cannot be disabled until another enabled agent becomes Main
Agent. When a non-Main Agent with assigned tickets is disabled, Guru Support Desk
asks which enabled agent should receive those tickets and defaults the destination
to the Main Agent.

### Can Support Agents work from the front end?

Yes. When a logged-in user is enabled as a Guru Support Desk Support Agent, the 
Support shortcode displays the Tickets desk instead of the normal customer portal.

### Are the backend and front-end Agent ticket desks different systems?

No. They share the same ticket data and core AJAX actions. The front-end Agent desk
uses the active site’s front-end presentation instead of the full wp-admin visual
layer.

### How do CC participants work?

CC participants are persistent people associated with a ticket. They are checked
by default in the Agent Reply composer, but the Agent can include all, some, or 
none on an individual reply. Agents can also add a new persistent CC participant
while composing.

### What happens when a CC participant replies by email?

A sender already stored as a CC participant can reply into the existing ticket and
is labeled as CC. An unknown sender cannot inject a message into an existing ticket.

### Does being CCed grant Support page access?

No. The primary customer remains the ticket owner. CC participation is email-based
and does not grant customer portal ownership.

### Are Internal Notes private?

Yes. Notes are excluded server-side from customer-facing output and are never emailed
to the primary customer or CC participants.

### Can replies include pasted images and emojis?

Yes. Supported TinyMCE reply/note editors include a searchable emoji picker and 
support pasted or dragged PNG, JPEG, GIF, and WebP inline images. The front-end 
agent sender waits for pending inline-image uploads before submitting the reply.

### What attachment file types are accepted?

Guru Support Desk accepts JPEG, PNG, GIF, WebP, PDF, TXT, CSV, RTF, ICS, DOCX, XLSX,
and PPTX attachments. Executable files, scripts, SVG files, ZIP files, and other
archive formats are not accepted or copied into private uploads storage.

### Is IMAP required?

Only for inbound email and server mailbox cleanup.

### How does automatic mailbox processing protect against missed mail?

The Inbox is continuously reconciled against the Support Desk database. Guru Support
Desk validates UID/Message-ID mappings against real tickets, repairs stale mappings,
retries failed UIDs, processes large backlogs in resumable batches, and isolates
individual message failures so one bad email cannot block newer mail.

### What happens if an email declares a strange charset?

Guru Support Desk attempts safe charset aliases and conversion fallbacks. Unsupported
or invalid MIME charset declarations are logged and cannot crash the entire polling
run.

### What happens if WordPress cron stops running?

The plugin monitors polling heartbeat health, detects missing/overdue/stalled cron
events, recreates the mail schedule when possible, and can queue a protected request-
side polling fallback. Production sites can still use a real server scheduler for
predictable WordPress cron execution.

### Where can I see polling and schema health?

Settings > General > System Status shows WP-Cron health, WP-Cron mode, PHP IMAP,
database schema health, logging status, private storage, last/next mail activity,
worker/recovery state, mailbox reconciliation, pending IMAP retries, and the last
error when present.

### How does diagnostic logging work?

Logging is enabled by default. Operational events and errors are kept for 10 days,
then automatically removed. Settings > Logs has an on/off toggle and Download Logs
button. Log contents are not rendered in the WordPress admin page.

### Where are private attachments and diagnostic logs stored?

Guru Support Desk resolves the current site’s uploads directory at runtime with `
wp_upload_dir()` and stores private files below `uploads/guru-support-desk/private`.
The private directory includes server access-denial files, and attachments are delivered
through permission-checked WordPress handlers rather than public file URLs. Legacy
attachment paths from earlier builds are read only for compatibility and are copied
into the uploads-based storage when accessed.

### Is SMTP required?

No. When dedicated SMTP is configured under Guru Support Desk > Settings > Email,
all Guru Support Desk generated email uses that SMTP connection directly. If dedicated
SMTP is not configured, the plugin falls back to the site’s normal `wp_mail()` configuration.

### Where do customer email replies go?

Customer-facing mail explicitly uses the configured support mailbox as Reply-To,
preferring From Email, then IMAP Username, then SMTP Username.

### Does the plugin delete email from the support mailbox?

Only for Closed or Trashed tickets. Active New, Open, Pending, and Awaiting Reply
tickets are protected from server-mail cleanup.

### What happens when a customer replies to Pending?

It stays Pending and shows Customer Replied. Pending does not use Needs Reply or
Urgent aging.

### What is Customer Responded?

Customer Responded is based on the latest public message sender. It appears when
the latest relevant message is inbound from the primary customer or a saved ticket
CC. An agent reply does not create that indicator.

### How does Needs Reply work?

Eligible New/Open tickets with a waiting timestamp age into Needs Reply and then
Urgent using the thresholds in Settings > General. Pending, Awaiting Reply, Closed,
and Trash are excluded.

### Can customers reopen closed tickets?

Yes. A customer can reply from the Support page, or by email when inbound processing
is enabled.

### Can any Working ticket be moved to Trash?

Yes. Any ticket that is not already in Trash can be moved to Trash when the current
user has access to it. Working and Closed queues also support bulk Move to Trash
actions.

### Where is the full documentation?

Click Documentation under Guru Support Desk on the Plugins screen, or View Documentation
in the Guru Support Desk dashboard.

### Does deactivation delete data?

No. It clears the scheduled mailbox event and refreshes rewrite rules, but support
data remains.

### Can I upgrade from the previous Guru Support plugin?

Yes. Deactivate the legacy plugin first. Guru Support Desk retains supported legacy
tables/options, shortcodes, credential constants, cron/checkpoints, and endpoint
compatibility where implemented.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Guru Support Desk” is open source software. The following people have contributed
to this plugin.

Contributors

 *   [ Guru Plugins ](https://profiles.wordpress.org/guruplugins/)

[Translate “Guru Support Desk” into your language.](https://translate.wordpress.org/projects/wp-plugins/guru-support-desk)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/guru-support-desk/),
check out the [SVN repository](https://plugins.svn.wordpress.org/guru-support-desk/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/guru-support-desk/)
by [RSS](https://plugins.trac.wordpress.org/log/guru-support-desk/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0

 * Initial public release.
 * Includes customer web tickets, inbound email tickets, staff-created tickets, 
   internal agent roles/views, front-end and backend Agent ticket desks, live ticket
   reassignment, persistent CC participants, private attachments, inline images,
   emojis, Internal Notes, response aging, permanent ticket numbers, optional WooCommerce
   context, IMAP/SMTP, mailbox reconciliation, cron self-repair, private 10-day 
   diagnostic logging, customer email branding, and AJAX-powered ticket management.

## Meta

 *  Version **1.0**
 *  Last updated **18 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.2 or higher **
 *  Tested up to **7.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [customer support](https://wordpress.org/plugins/tags/customer-support/)[helpdesk](https://wordpress.org/plugins/tags/helpdesk/)
   [support](https://wordpress.org/plugins/tags/support/)[ticket system](https://wordpress.org/plugins/tags/ticket-system/)
   [woocommerce](https://wordpress.org/plugins/tags/woocommerce/)
 *  [Advanced View](https://wordpress.org/plugins/guru-support-desk/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/guru-support-desk/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/guru-support-desk/reviews/)

## Contributors

 *   [ Guru Plugins ](https://profiles.wordpress.org/guruplugins/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/guru-support-desk/)