=== NexlifyDesk === Contributors: nexlifylabs, tssaini Tags: support, helpdesk, customer support, support ticket system, customer service Requires at least: 6.2 Tested up to: 6.8 Stable tag: 1.0.2 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Requires PHP: 7.4 Hey there! NexlifyDesk is my awesome WordPress support ticketing system that turns your site into a pro customer service hub. It’s built for scalability and efficiency, giving you everything you need to wow your customers while keeping full control of their data. **Documentation**: Check out the [Full Documentation & Setup Guide](https://nexlifylabs.com/nexlifydesk-documentation/getting-started/) == Description == NexlifyDesk is my go-to, enterprise-grade ticketing solution for WordPress. I designed it to make customer support a breeze while keeping things organized and secure. Here’s what I’ve packed into it: - A complete system to manage tickets, agents, and workflows - Internal notes for team chats - SLA monitoring to keep things on track - Seamless WooCommerce integration It’s all about delivering top-notch support experiences—trust me, you’ll love it! == Key Features == **Frontend Customer Experience** - Ticket Submission & Management: I’ve added a clean, user-friendly interface where customers can submit tickets, check their history, and track progress. Super easy! - Real-time Updates: An AJAX-powered setup with live status updates and instant reply notifications—keeps everything snappy! - File Attachments: Supports multiple file types with configurable size limits and security checks. Safety first! - Responsive Design: Works like a charm on desktop, tablet, or mobile—optimized for all! **Advanced Admin Dashboard** - Centralized Ticket Management: A comprehensive admin interface with filtering, search, and bulk actions. I made it powerful yet simple! - Real-time Statistics: A live dashboard showing ticket counts, response times, and performance metrics. Love the insights! - Agent Assignment: Intelligent auto-assignment or manual options with load balancing—keeps the workload fair! - Status Management: Five ticket statuses (Open, In Progress, Pending, Resolved, Closed) with automatic workflows. Smooth sailing! **Agent Roles & Permissions System** - Custom Agent Positions: I let you create unlimited agent roles with granular permission control—total flexibility! - Capability Management: Fine-tune what each agent can do (view all tickets, assign them, manage categories, etc.). You’re in charge! - Agent Performance Tracking: Monitor response times, resolution rates, and workload distribution. Great for team management! - Orphaned Ticket Management: Automatically reassigns tickets if an agent leaves—handled it for you! **Professional Communication Tools** - Internal Notes: Private agent-to-agent chats within tickets (customers won’t see them—shh!). Perfect for teamwork! - Email Notifications: Fully customizable templates with dynamic placeholders for every scenario. I made it fun to tweak! - Notification Control: Granular settings for when and how notifications go out—your call! - Professional Templates: Pre-designed email templates for new tickets, replies, status changes, and SLA breaches. Ready to go! **Intelligent Automation** - Enhanced Duplicate Detection: My advanced multi-layer algorithms spot similar tickets and merge them automatically—way more accurate now! - Auto-Assignment: Smartly distributes tickets to available agents based on workload. Hands-off genius! - SLA Monitoring: Tracks and notifies on breaches to maintain service standards—keeps you on your toes! - Auto-Closure: Resolved tickets close after 48 hours of inactivity with system notifications. Neat, right? **Email Piping & Integration** - Multi-Provider Support: Turns emails into tickets with Custom IMAP/POP3, AWS WorkMail, and Google Workspace/Gmail. I’ve got you covered! - Flexible Email Management: Option to keep or delete emails after ticket creation—your choice! - Advanced Spam Protection: Built-in filtering, blocking, and rate limiting to stop abuse. Security’s my thing! - Intelligent Email Processing: Auto sender detection, thread management, and duplicate prevention. Smart stuff! **Enhanced Admin Experience** - Real-time Ticket List: Live-updating interface with read/unread status indicators. I love the flow! - Smart Sorting: Unread tickets show up first—prioritizes what matters! - Instant Notifications: Real-time updates without refreshing—smooth as butter! - Bulk Operations: Enhanced bulk actions for quick ticket management. Saves time! **Categories & Organization** - Unlimited Categories: Organize tickets with custom categories and descriptions. Go wild! - Priority Levels: Four levels (Low, Medium, High, Urgent) with visual indicators. Easy to spot! - Search & Filtering: Advanced search across all fields with multiple filter options. Find anything! - Bulk Operations: Manage multiple tickets at once—efficiency boost! **WooCommerce Integration** - Order History: Built-in order lookup for WooCommerce stores. Handy! - Customer Context: Access order info directly from tickets—context is king! - Order-based Duplicate Detection: Links tickets to existing order conversations automatically. Clever, huh? **Reporting & Analytics** - Performance Metrics: Reports on ticket volume, response times, and agent performance. Data nerd approved! - Visual Charts: Interactive charts for ticket trends, priority distribution, and monthly stats. Pretty cool! - Recent Activity: Real-time feed of all support activities across your team. Stay in the loop! **Developer & Advanced Features** - Template Override System: Customize frontend templates by copying to your theme. I made it developer-friendly! - Shortcode System: Flexible shortcodes like `[nexlifydesk_ticket_form]` and `[nexlifydesk_ticket_list]` with customizable attributes. - Data Management: Configurable retention with optional purge functionality. Your data, your rules! - Rate Limiting: Built-in protection against spam and abuse. Safety first! - Caching System: Optimized performance with smart cache management. Fast and reliable! == Duplicate Ticket Detection == I’ve built a slick three-layer system to keep your support queues tidy: - **Exact Subject Matching**: Spots identical subjects from the same user in the last 30 days and adds new messages as replies. No fragmentation! - **Order Number Pattern Recognition**: Recognizes order/invoice numbers (like "Order #12345" or "#ABC123") and links all related chats to one thread. Smart! - **Content Similarity Analysis**: Compares keywords between new and recent tickets from the same user, with a configurable 80% similarity threshold. Filters out stop words too! **User Experience** When a duplicate pops up, users get a clear note that their message joined an existing convo—keeps things contextual! **Administrative Control** - Turn duplicate detection on/off in NexlifyDesk > Settings - Tweak the sensitivity threshold to fit your workflow - Check duplicate stats in the reports dashboard == Installation == Here’s how I suggest you get started: 1. **Upload the Plugin**: Pop the `nexlifydesk` folder into `/wp-content/plugins/` via FTP, or upload the ZIP directly in WordPress admin. 2. **Activate**: Turn it on via the 'Plugins' menu in WordPress. 3. **Initial Configuration**: Head to NexlifyDesk > Settings to set up: - Email notification prefs - File upload limits and types - Default ticket priority and category - SLA response time targets - Auto-assignment rules 4. **Create Frontend Pages**: Set up user pages: - **Ticket Submission Page**: Make a page and add `[nexlifydesk_ticket_form]` - **Ticket History Page**: Add `[nexlifydesk_ticket_list]` to another page - Link them in NexlifyDesk > Settings for navigation 5. **Email Piping Setup** (Optional): Configure email-to-ticket conversion: - Pick your provider (Custom IMAP/POP3, AWS WorkMail, or Google Workspace) - Enter connection details and auth - Set spam protection and filtering rules - Decide to keep or delete emails 6. **Agent Setup** (Optional): Get your team ready: - Create user accounts for agents - Assign the "NexlifyDesk Agent" role - Define custom positions with capabilities - Set auto-assignment rules == Frequently Asked Questions == = How do I create a support ticket submission form? = Create a new WordPress page and drop in `[nexlifydesk_ticket_form]`. Tweak it with: - `show_title="no"` to hide the title - Includes fields for subject, message, category, priority, and file attachments = How can customers view their submitted tickets? = Make a page with `[nexlifydesk_ticket_list]`. Logged-in users see their tickets, agents see assigned ones. Try: - `show_title="no"` to hide the title - `status="open"` to filter by status = Can I customize the email notifications? = Yep! Go to NexlifyDesk > Email Templates to tweak: - New Ticket, New Reply, Status Changed, SLA Breach Use placeholders like `{ticket_id}`, `{user_name}`, `{subject}`, and more! = How do I set up support agents? = **Basic Setup:** 1. Go to Users > Add New for agent accounts 2. Assign the "NexlifyDesk Agent" role **Advanced Setup:** 1. Visit NexlifyDesk > Agent Positions for custom roles 2. Set capabilities (e.g., "Level 1 Support") 3. Assign agents via their profiles 4. Configure auto-assignment in Settings = What file types can be attached to tickets? = Default: JPG, PNG, PDF, and common docs. Customize in NexlifyDesk > Settings: - Allowed extensions - Max file size - Security validation = How does the SLA monitoring work? = Set your response time in NexlifyDesk > Settings (in hours). It: - Tracks when tickets hit or miss SLA targets - Sends breach alerts to admins and agents - Shows SLA status in the dashboard - Includes metrics in reports = Can I integrate with WooCommerce? = Absolutely! Built-in integration: - Order History page for lookups - Order-based duplicate detection - Customer context in tickets = How do I set up email piping? = Turns emails into tickets. Setup varies: **Custom IMAP/POP3:** 1. Go to NexlifyDesk > Settings > Email Piping 2. Pick "Custom IMAP/POP3" 3. Enter server details (host, port, username, password) 4. Set spam and filtering rules 5. Choose to delete emails or not **AWS WorkMail:** 1. Enable SSL on your site 2. Pick "AWS WorkMail" 3. Enter region, org ID, and credentials 4. Optional SES setup **Google Workspace/Gmail:** 1. Set up OAuth in Google Cloud Console 2. Pick "Google Workspace" 3. Authenticate via OAuth 4. Configure processing prefs = How does automatic ticket assignment work? = My smart system: 1. Finds available agents 2. Balances workload with fewest open tickets 3. Falls back to admins if needed 4. Reassigns orphaned tickets = What happens to closed tickets? = - Agents can close manually - Resolved tickets auto-close after 48 hours inactivity - Admins can reopen - Customers can’t reply to closed tickets—prompts new ones = Is my data safe when uninstalling? = By default, YES! Keeps all data (tickets, attachments, etc.) unless you change it in Settings to remove everything. Backup first! = How do internal notes work? = Private agent chats: - Only for team, not customers - Great for context or escalation - Add via "Add Internal Note" in admin = Can I customize the appearance? = Oh yes! - CSS styling in your theme - Template overrides - Color and label tweaks in Settings - Full email template control == Screenshots == 1. Frontend Ticket Submission Form: Clean form for customers with attachments and priority. 2. Customer Ticket Dashboard: Easy interface for ticket history. 3. Frontend Ticket Conversation: Threaded view with attachments. 4. Admin Dashboard: Ticket management with stats. 5. Admin Ticket Details: Single-ticket view with notes. 6. Category Management: Organize with custom categories. 7. Comprehensive Settings: Tons of config options. 8. Agent Positions & Permissions: Granular role control. 9. Email Template Editor: Customize notifications. 10. Reports & Analytics: Charts and metrics galore. == Usage == === Shortcodes === **`[nexlifydesk_ticket_form]`** - Shows the ticket form - `show_title="no"` - Hides title - `category="5"` - Pre-select category - `priority="high"` - Set default priority **`[nexlifydesk_ticket_list]`** - Shows ticket history - `show_title="no"` - Hides title - `status="open"` - Filter by status - `limit="10"` - Limit tickets === Admin Menu Structure === **NexlifyDesk** (Main Menu) - All Tickets: Full management with filters - Categories: Custom ticket categories - Settings: All config options - Reports: Analytics and charts - Agent Positions: Role and capability setup - Order History: WooCommerce lookups - Email Templates: Notification tweaks - Support: Get help from me! === Ticket Statuses === Five statuses for smooth workflows: - Open: New tickets - In Progress: Being worked on - Pending: Waiting on customer - Resolved: Solved, awaiting confirmation - Closed: Done (auto or manual) === Agent Capabilities === Custom roles with: - View All Tickets: Org-wide access - Assign Tickets: Delegate to others - Manage Categories: Organize tickets - View Reports: See analytics == Customization == Lots of ways to make it yours! **Settings Panel Configuration** - Email Notifications: Control timing and delivery - Default Values: Set priority, category, etc. - File Upload Controls: Manage types and sizes - SLA Management: Set response targets - Automation Rules: Auto-assign, duplicates, closures **Email Template Customization** - Dynamic placeholders (e.g., `{ticket_id}`) - HTML support with preview - Separate templates per notification - Multi-language ready **Visual Customization** - CSS override in your theme - Template system for structural changes - Responsive design tweaks **Advanced Integration** - WooCommerce support - Multisite ready - Developer hooks - REST API future-proof == Performance & Security == **Optimized Performance** - Smart caching - AJAX interface - Optimized database - Background email processing **Security Features** - Nonce verification - Data sanitization - File upload security - Rate limiting - Capability-based access **Data Management** - Configurable retention - Optional purging - Database tools - Full export options == Changelog == = 1.0.2 = - Fixed email delivery with SMTP plugins (RFC 5322 compliance). Update now if you use SMTP! = 1.0.1 = - Added email piping (IMAP/POP3, AWS, Google), better duplicate detection, real-time ticket list, and spam protection. Big update! = 1.0.0 = - Initial release with full ticketing, agent management, internal notes, WooCommerce, SLA, duplicate detection, emails, roles, categories, files, and shortcodes! == Upgrade Notice == = 1.0.2 = Critical fix for email issues with SMTP plugins. Update ASAP if you’re using one! = 1.0.1 = Major update with email piping and enhancements. Highly recommended! = 1.0.0 = First release—no upgrade needed. == Support & Documentation == **Getting Help** - Email: support@nexlifylabs.com - Website: https://nexlifylabs.com - Docs: Full guides on the site - Community: WordPress.org forums **Premium Support** Go Pro for priority help and extra features! **Feature Requests** I love feedback! Send ideas via support channels. == Privacy & Data Protection == **Data Storage** - Stored in your WordPress DB - No external servers - Full control **Email Handling** - Uses your mail system - No third-party services - Privacy-compliant **Data Portability** - Export all data - WordPress formats - GDPR-ready **Security Measures** - Encryption - Regular audits - Best practices See [Privacy Policy](https://nexlifylabs.com/privacy-policy) for details. == Uninstall Process == **Data Retention (Default)** - Keeps all data (tickets, attachments, etc.) on uninstall—your history stays safe! **Complete Removal (Optional)** 1. Go to NexlifyDesk > Settings 2. Uncheck "Keep all tickets and data" 3. Save and uninstall **Warning**: Deletes EVERYTHING—backup first!