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.

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

सितम्बर 5, 2026
I’ve tried more support desk systems over the years than I can count, and I’ve never been completely happy with any of them. They always seemed too complicated, poorly laid out, or simply difficult to use. On top of that, most required installing a separate application or relying on yet another third-party website. Guru Support Desk is a refreshing change. This is another excellent WordPress plugin from Guru. Guru Support Desk runs right inside your WordPress website, no third-party platforms, no unnecessary complications, and no bouncing back and forth between different systems. It’s straightforward, beautifully laid out, and has a natural, intuitive workflow that just makes sense. You can get to work without having to spend hours figuring out how the software works. If you’re tired of the same old overly complicated support desk and ticketing systems, give Guru Support Desk a try. Start with the free version, it may be everything you need. I liked it enough that I just upgraded to the Pro version.
Read all 0 reviews

Contributors & Developers

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

Contributors

Translate “Guru Support Desk” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by 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.