=== Smart Support - Self-Hosted helpdesk & Ticket system for fast, efficient, and scalable customer support === Contributors: 7thskysoftware Tags: support, helpdesk, ticketing, customer-service, support-system Requires at least: 5.0 Tested up to: 6.9 Requires PHP: 7.4 Stable tag: 1.0.4 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Donate link: https://smartsupportdesk.com/ AI-driven helpdesk ticketing system for WordPress with comprehensive ticket management, user roles, and frontend interface. == Description == Smart Support is a modern, full‑featured helpdesk and ticketing system built specifically for WordPress. It gives your customers a clean, friendly portal to request help and track progress, while your team gets the tools they need to triage, collaborate, and resolve tickets efficiently. Smart Support transforms your WordPress site into a **full-featured helpdesk system**. Built with agents, supervisors, and customers in mind, it provides everything you need to deliver efficient, reliable, and professional customer support — right from your WordPress dashboard. The enhanced admin interface features optimized column layouts, flexible ticket numbering options, and improved data visualization for better ticket management efficiency. https://youtu.be/uKoNmzWbgXQ = What your customers get = * A unified Support Center page powered by the `[smart_support_page]` shortcode with tabs for Login, Register, Dashboard, and Create Ticket * Simple, secure login and registration with optional first/last‑name auto‑fill and “remember me” * Password reset link and optional Google reCAPTCHA (v2, v2 Invisible, or v3) protection * An easy ticket form with rich text editor support and file attachments * A personal dashboard to view, search, and filter their tickets by status, department, and state * Clear ticket timelines with messages and attachments = What your team gets = * Structured ticket lifecycle: open, delayed, closed (with reopen and close actions) * Auto‑close inactive tickets after a configurable number of days * Auto‑delay mode to mark stale tickets as “Delayed” and notify customers * Departments, products, and priorities to organize and route requests * Role‑based access: customer, agent, manager, administrator (fully capability‑driven) * Agent ticket visibility controls: own tickets, department tickets, or all tickets * Inline reply with attachments and internal notes capability (via standard replies) * Email notifications for new tickets, replies, delays/closures, and more (templated and translatable) * Analytics dashboard powered for volume, status, and performance insights = Highlights = * Manage unlimited support tickets * Assign roles: Support Users, Agents, Supervisors * Real-time ticket reply notifications * Customer feedback with a 5-star rating system * Responsive, mobile-friendly interface * Frontend‑first design: the entire portal runs on a single page via `[smart_support_page]` * Robust attachments: size/type limits, previews, and secure download handling * Powerful filtering: status, department, state, and keyword search on the dashboard * Accessibility‑minded UI and fully responsive layout that looks great on mobile and desktop * Security built‑in: nonces, strict capability checks, comprehensive sanitization and escaping, and reCAPTCHA integration * Translation‑ready and multisite‑compatible * Clean, well‑structured code that follows WordPress coding standards = Shortcode = Add this to any page to create your full Support Center: `[smart_support_page]` == Free Core Features == * Modern dashboard settings modal with accessibility support * Internal notes with TinyMCE editor in a modal popup * Ticket layout with sidebar details * Role badges and avatars in replies * Real-time open ticket count in the menu * Responsive design across desktop, tablet, and mobile * Agent notifications for user and agent replies * Dashboard notification center with ticket links * Waiting icon indicator for unanswered tickets * Configurable notification settings * Frontend support integration with a comprehensive notification system * Three roles: Support User, Support Agent, Support Supervisor * Role management admin panel * Real-time capability assignment/removal * Supervisor-level access with analytics and notifications * Agent department assignment system for ticket filtering * Users can close/reopen their own tickets * “Reply & Close” button for quick actions * Auto-assign tickets to agents on reply * Agent permission to create new tickets (configurable) * 5-star rating system for ticket replies * Customers rate agents; agents see average ratings * Dashboard rating column with average values * Agent performance analytics with average and total ratings * Agent performance dashboard * Average rating and total ratings per agent * Updated Chart.js integration for reports * Auto-delay tickets after inactivity * Global search by ID, subject, or content * Highlighted results with counts * Compact search bar for admin list * Flexible ticket number formats (Sequential: 2501001, Hash-based: #121) == Premium Add-ons == Extend Smart Support with powerful add-ons designed to streamline your workflow and enhance your support system: **[Email Bridge](https://smartsupportdesk.com/add-on/smart-support-email-bridge/)**: Convert incoming emails to support tickets and reply to tickets via email. Maintain complete conversation history with seamless email integration. **[Canned Replies](https://smartsupportdesk.com/add-on/canned-replies/)**: Enable your team to create and use predefined responses for common issues. One-click insertion of professional replies reduces response times and ensures consistent communication. **[Custom Status](https://smartsupportdesk.com/add-on/custom-status/)**: Create unlimited custom ticket statuses with colors, icons, and workflow rules. Streamline your support process and keep agents and customers on the same page. **[Registration Fields](https://smartsupportdesk.com/add-on/registration-fields/)**: Add unlimited custom fields to your registration forms. Collect the exact user details you need with validation, templates, and seamless profile integration. **[Ticket Templates](https://smartsupportdesk.com/add-on/ticket-templates/)**: Speed up ticket creation with reusable templates. Auto-fill subjects and messages, control editing permissions, and keep support requests consistent. **[Front-end Support](https://smartsupportdesk.com/add-on/front-end-support/)**: Give your support agents a complete, professional frontend dashboard. Agents can manage all tickets without accessing the WordPress admin area, perfect for remote teams and client portals. **[WooCommerce Tickets](https://smartsupportdesk.com/add-on/woocommerce/)**: Seamlessly integrate Smart Support with your WooCommerce store. Provide purchase-based support, link orders to tickets, and manage customer support with advanced e-commerce features and analytics. **[Guest Support](https://smartsupportdesk.com/add-on/smart-support-guest-support/)**: Allow guests to submit support tickets without registration using email-only authentication. **[Smart Widget](https://smartsupportdesk.com/add-on/smart-support-widget/)**: Bring instant, on-page support with a customizable floating widget. Users can search the knowledge base, view tickets, and contact support without leaving the page. = Easy Setup = 1) Install and activate the plugin 2) Configure departments, priorities, products, and user roles 3) Create a page and add the `[smart_support_page]` shortcode 4) Enable Google reCAPTCHA (optional) under Advanced settings 5) Start managing support tickets = Notes on Privacy & Security = Smart Support uses [Google reCAPTCHA](https://www.google.com/recaptcha/api/siteverify) (optional) for spam prevention ([Terms of Service](https://policies.google.com/terms) & [Privacy Policy](https://policies.google.com/privacy)) and [Chart.js](https://www.chartjs.org) in the admin for analytics ([Terms of Service](https://www.chartjs.org/) & [Privacy Policy](https://www.chartjs.org/)). The plugin validates permissions server‑side, escapes output, verifies nonces on all forms, and stores files securely using WordPress APIs. == Installation == #### From WordPress Repository 1. Navigate to Plugins > Add New in your WordPress dashboard. 2. In the search bar, type 'Smart Support Ticketing System' and press Enter. 3. Locate the ***Smart Support - Self-Hosted helpdesk and ticketing system for a fast, efficient, and scalable customer support*** plugin in the search results and click **Install Now**. 4. Once the installation is complete, click **Activate** to enable the plugin. 5. After activation, go to the new **Smart Support** menu in your dashboard. 6. Navigate **settings** under **Smart Support** and make your ticketing system ready to use. #### Manual Upload 1. Upload the `smart-support` folder to `/wp-content/plugins/` 2. Activate through the 'Plugins' menu in WordPress 3. Go to 'Smart Support' in your admin menu to configure settings 4. Create a page and add the `[smart_support_page]` shortcode to display the portal == Frequently Asked Questions == = How do I create the Support Center page? = Create a normal page and insert `[smart_support_page]`. That page becomes your portal with Login, Register, Dashboard, and Create Ticket sections. = Can I customize the appearance? = Yes. Go to Smart Support → Appearance and adjust primary color, layout spacing, button styles, and widget options. The frontend is CSS‑friendly if you want further theme‑level overrides. = Does it work with my theme and page builders? = Yes. The portal renders inside your theme’s content area. If a page builder wraps content, use a blank/canvas template if needed. The UI is responsive and tested with popular themes. = How do I enable/disable user registration? = Smart Support has its own registration toggle in User Management settings. Enable it there regardless of the global WordPress registration option. = Can I restrict who can submit tickets? = Yes. Use role‑based permissions and optional registration approval so only approved users can open tickets. = How do attachments work? = You can set allowed file types, size limits, and counts. Files are stored via WordPress APIs and can be downloaded securely by authorized users only. = How do priorities, departments, and products help? = They classify tickets for better routing and reporting. Agents can filter and search using these attributes in the dashboard. = What is Auto‑Close and Auto‑Delay? = Auto‑Close closes tickets after a period of inactivity you choose. Auto‑Delay marks inactive tickets as “Delayed” and can notify users. Both are configurable under General settings. = Are there email notifications? = Yes. The plugin emails users and agents for new tickets, replies, and state changes. Subjects and messages are templated and translatable. = Can I change email templates and sender? = Yes. Update subjects, bodies, and the “From” name/email in Email settings. = Does it support multiple agents and roles? = Yes. Roles are capability‑driven (customer, agent, manager, admin). You can tune permissions to fit your workflow. = Is Google reCAPTCHA supported? = Yes. v2, v2 Invisible, and v3 are supported. Enable it per form (login, registration, tickets) in Advanced settings. = Will it work on multisite? = Yes, Smart Support is multisite‑compatible. = Is there a mobile app? = No separate app is required. The portal is fully responsive and works great on phones and tablets. = Is the plugin secure? = Yes. We use nonces, capability checks, sanitization, and escaping throughout. reCAPTCHA can be enabled to protect public forms. = Does it include analytics? = Yes. The admin Analytics page uses Chart.js to visualize ticket volume, status, and performance trends. = Can I export or back up tickets? = Ticket data is stored in custom tables. Use your hosting database backups or a database export tool to back up data. Structured exports can be added via extensions. = Can I translate the plugin? = Yes. The plugin is translation‑ready with a `.pot` file under `languages/`. = How do I add the floating widget? = Enable it under Appearance → Floating Widget and choose its screen position. = Are there shortcodes or blocks besides the main one? = The primary entry point is `[smart_support_page]`, which renders the full portal. Widgets and other views are accessible inside that page. = My inputs don’t show on the portal page. What should I check? = Ensure you’re visiting the page that contains `[smart_support_page]`. Disable any HTML sanitizers/minifiers that might strip inputs, clear caches, and try a hard refresh. If the problem persists, inspect the element to identify any theme CSS hides inputs and overrides them in Appearance settings or your theme. = Does Smart Support collect personal data? = The plugin stores ticket content, email addresses, and uploaded files needed to provide support in your hosted server. If reCAPTCHA is enabled, Google may process IP/browser data for verification. See “External Services” for details. = How do I report a bug or request a feature? = Open a ticket via the Support Center page on your site or contact us on our support portal with steps to reproduce and environment details. = Can I choose different ticket number formats? = Yes. Go to Smart Support → Settings → General and choose between Sequential (2501001, 2501002) or Hash-based (#121, #456) ticket numbering. Hash-based format provides more secure, random ticket numbers. == Screenshots == 1. Ticket Management Interface (Backend) 2. Agent Reply Interface (Backend) 3. Add a new Ticket backend on behalf of the customer 4. End User Sign-up (Frontend) 5. End User Login (Frontend) 6. End User Dashboard (Frontend) 7. End User: Add new ticket (customer portal) == Changelog == = 1.0.4 = * **New**: Added option to only auto-close tickets waiting for customer response in Auto-Close Settings * **Fix**: Fixed undefined property warnings in ticket edit form by properly accessing ticket data through $ticket->data instead of direct property access * **Fix**: Added missing variable loading for departments, products, and agents in the ticket edit template * **Fix**: Corrected database reference in ticket edit form to use proper database instance * **Fix**: Fixed ticket property access throughout the edit form to prevent PHP warnings and ensure proper data display = 1.0.3 = * **New**: Added Terms and Privacy Policy checkbox option for user registration with configurable page selection * **New**: Added WordPress-style hover actions (Edit, Close/Reopen, Delete, View) under ticket subjects in the admin dashboard * **New**: Complete email settings UI overhaul with card-based template list and modal editing system * **New**: Professional HTML email templates with modern design, responsive layout, and unique color schemes * **New**: Template tags insertion tool with search functionality and 19 available tags for email customization * **New**: Enhanced email template modals with TinyMCE editor integration and improved user experience * **New**: Added "Unapproved" filter in Users admin page to easily manage pending user approvals * **New**: Enhanced user approval workflow with dashboard notices, email notifications, and disabled create ticket access for unapproved users * **Fix**: Fixed attachment upload issue where files showed as "sent" but weren't actually attached on backend - now includes proper error handling, user feedback, and admin display * **Fix**: Fixed Google reCAPTCHA key input fields not showing when reCAPTCHA option is enabled in Advanced settings * **Fixed**: Resolved admin menu layout issue on Analytics page that caused unwanted white space = 1.0.2 = * **New**: Dedicated Agent Management settings tab with improved organization of agent-related configurations * **New**: Template tag processing in ticket replies for agents * **New**: Support for both single braces {tag} and double braces {{tag}} formats * **New**: Dynamic customer and agent name replacement in reply content * **New**: WooCommerce Integration add-on with purchase-based ticket access, order attachment, and e-commerce analytics * **Fix**: Template tags now render actual values instead of placeholders in stored replies * **Fix**: Enhanced context building for accurate agent name resolution * **Fix**: Improved email template integration with proper context passing * **Fix**: Template tags processed before storing replies in database for consistent display * **Fix**: Resolved duplicate ticket reply notifications appearing twice * **Fix**: Fixed frontend file attachments not being uploaded properly * **Fix**: Corrected auto-assignment of new tickets to agents (was reading wrong settings option) * **Fix**: Enhanced file upload validation * **Fix**: Added attachment processing for both standard and AJAX ticket replies = 1.0.1 = * **New**: Agent reply notifications and waiting indicator * **New**: Internal notes modal replaces tab-based notes * **New**: Open ticket count badge in admin menu * **New**: Role system (User, Agent, Supervisor) with User Roles admin page * **New**: 5-star ratings on individual replies * **New**: Premium add-ons system with licensing integration * **New**: Ticket number format options (Sequential vs Hash-based) * **New**: Enhanced admin dashboard with improved column layout and formatting * **New**: Agent ticket visibility system with three modes (own tickets, department tickets, all tickets) * **New**: Agent department assignment system for ticket filtering * **New**: Agent permission to create new tickets (configurable in settings) * **New**: Enhanced ticket filtering based on agent department assignments * **New**: Department-based ticket visibility with fallback to assigned tickets * **Fix**: Improved agent ticket access control across admin and frontend * **Fix**: Enhanced database queries to support OR conditions for department filtering * **Fix**: Updated admin settings to properly save agent visibility preferences * **Fix**: Enhanced customer search functionality in ticket creation * **Fix**: Optimized sidebar widget layout and sizing (40% reduction) * **Fix**: Reordered sidebar widgets for better UX (Create Ticket → Ticket Management → Custom Fields) * **Fix**: Enhanced form styling and visibility for better user experience * **Fix**: Added comprehensive CSS rules to prevent unwanted visual effects * **Fix**: Improved responsive layout with better content/sidebar proportions * **Fix**: Resolved hash-based ticket number validation and URL handling * **Fix**: Enhanced admin ticket viewing with proper URL encoding/decoding = 1.0.0 = * Initial release: complete ticketing system, user roles, file attachments, notifications, auto-close, responsive design, REST API, security, analytics. == Upgrade Notice == This plugin is free. Additional features and premium support are available at: https://smartsupportdesk.com