ahrana/Zupportly-Helpdesk
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
=== Zupportly - WordPress Helpdesk & Customer Support Ticket System === Contributors: ahrana,wpdecor Donate link: https://cxrana.wordpress.com/2026/01/07/zupportly/ Tags: support, helpdesk, ticketing system, customer support, ticket Requires at least: 6.0 Tested up to: 6.9 Stable tag: 10 Requires PHP: 7.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html Complete WordPress Helpdesk & Customer Support Ticket System == Description == **Zupportly** is a powerful, free, and **self-hosted ticketing** solution that eliminates monthly fees and per-agent costs. It features **Unified Agent Management, Automated Ticket** Routing, and **Role-Based Access** Control to securely manage unlimited departments while providing customers a polished frontend portal to track requests. Built with a privacy-first architecture, **Zupportly is GDPR-ready**, ensuring all support data stays securely on your own server with 100% ownership and **no external tracking.** = Key features : = - Unified Agent System (WP User-Based) - Intelligent Ticket Auto-Assignment - Floating Support Chat Bubble - Frontend Customer Support Portal - Department-Specific Routing - Custom Agent Avatars & Display Names - Live Agent Online Indicator - Threaded Chat-Style Conversations - Universal Ticket Transfer System - Unique Ticket ID Tracking (ZT-XXXXXXXX) - Automated Email Notification Engine - Modern Card-Style Admin Dashboard - Multi-Status Ticket Lifecycle Management - Integrated Image Attachment Support - Shortcode-Powered Ticket Lookup - Full Admin Oversight & Team Stats - Self-Hosted Data Security (No External APIs) - Responsive UI **Agent & Department Management** - Agents are standard WordPress users with the **Ticket Agent** role — create them from Users → Add New. - Each agent gets a custom **Chat Bubble Display Name** (e.g. "Billing Dept", "Sales Team") shown to customers in the chat bubble — completely separate from their WordPress display name. - Upload a custom **avatar** per agent via the Settings page using the WordPress Media Library. - Avatars and department names appear in the chat bubble, ticket list, ticket detail view, and the frontend customer portal. **Chat Bubble** - A floating chat bubble appears on every page of your site, letting customers open a new support ticket in seconds. - The bubble header shows stacked agent avatars and a live green online indicator next to the "Support" label. - Customers choose a department/agent from a dropdown that shows the custom bubble display names. - The close (×) button reliably dismisses the form. **Ticket Lifecycle** - Every ticket gets a unique ID (e.g. ZT-XXXXXXXX) for easy reference and lookup. - Statuses: **New** (blue), **In Progress** (orange), **Solved** (green), **Closed** (grey). - Unlimited back-and-forth conversation with image attachments in every reply. - Both agents/admins and customers can close tickets; closed tickets disable further replies. **Agent Assignment & Transfer** - Tickets submitted via the chat bubble are automatically assigned to the chosen agent. - Agents see all tickets assigned to them **plus** all unassigned tickets in their list. - When an agent replies to an unassigned ticket, it is automatically assigned to them. - Any agent or admin can transfer a ticket to another agent at any time via the Assignment meta box. - Once transferred, only the new assignee and admins can reply. **Admin Interface** - **Dashboard** — stats overview (total, new, in progress, solved, closed), recent tickets table, and team overview with open ticket counts per agent. - **All Tickets** — beautifully styled ticket list with card rows, colour-coded status border accents, ticket number chips, stacked customer info, agent avatars, and inline row actions. - **Ticket Detail** — structured details panel, chat-bubble conversation thread (agent right/blue, customer left/green), and a clean reply composer with image attachment support. - **Create Ticket** — agents and admins can create tickets on a customer's behalf with an agent picker showing avatars. - **Settings** — unified agent table pulling directly from WordPress users; set the Chat Bubble Display Name and avatar per agent; configure the frontend Ticket View Page URL. **Frontend Customer Portal** - Shortcode `[zupportly_tickets]` places a lookup form on any page. - Customers enter their email and ticket number to view the full conversation thread. - Modern card design with a gradient header, status pill, chat-style bubbles with agent avatars, and an inline reply input. - The ticket view is wider and fully responsive for mobile. **Email Notifications** - Agent notified on new ticket assignment with ticket details. - Customer receives confirmation on submission with their ticket number and a link to the view page. - Both parties notified on new replies (with image links if attached). - Ticket view page URL included in all notification emails. **Security & Performance** - All inputs sanitized and escaped. Nonces on every AJAX action. - Agents only access their own tickets plus unassigned ones — proper capability checks throughout. - All data stored in your own WordPress database — nothing leaves your server. == Installation == 1. Upload the `zupportly` folder to `/wp-content/plugins/`. 2. Activate the plugin through the **Plugins** menu in WordPress. 3. Go to **Zupportly → Settings** to configure agents and the ticket view page URL. 4. Go to **Users → Add New** and set the role to **Ticket Agent** to create support agents. 5. Create a page and add the shortcode `[zupportly_tickets]` — this is where customers track their tickets. 6. In **Settings**, set the URL of that page so it is included in all notification emails. 7. The chat bubble will appear automatically on every frontend page once at least one Ticket Agent user exists. == Frequently Asked Questions == = How do I add support agents? = Go to **Users → Add New** in WordPress and set the role to **Ticket Agent**. The agent will immediately appear in the Zupportly Settings page where you can set their chat bubble display name and avatar. = What is the Chat Bubble Display Name? = It is a custom name shown to customers in the chat bubble dropdown — separate from the agent's WordPress display name. Use it to show a department name (e.g. "Billing", "Technical Support") instead of a person's name, so customers know which team they are contacting. = How do customers view their tickets? = Create any WordPress page, add the shortcode `[zupportly_tickets]`, and publish it. Customers enter their email address and ticket number to look up their conversation. = Can agents upload image attachments? = Yes — agents can attach images when replying from the admin ticket detail page. Customers can also attach images when submitting a ticket or replying from the frontend portal. = Can tickets be transferred between agents? = Yes. Any agent or admin can open a ticket and use the **Transfer / Assign To** meta box to reassign it to another Ticket Agent user. = What happens when an agent replies to an unassigned ticket? = The ticket is automatically assigned to that agent upon their first reply, and they become the primary handler. = Can tickets be closed? = Yes — agents and admins can close tickets from the admin panel, and customers can close their own ticket from the frontend portal. Closed tickets disable further replies for everyone. = Are email notifications sent automatically? = Yes — emails are sent to the agent on new ticket creation and to the customer on ticket submission, agent replies, and ticket closure. = Is the plugin secure? = Yes — all user inputs are sanitized and escaped, every AJAX request is verified with a nonce, capability checks gate all admin actions, and agents can only see tickets assigned to them or unassigned tickets. = Does it work with any theme? = Yes — the frontend chat bubble and ticket portal are fully self-contained with their own CSS and do not depend on any theme styles. == Screenshots == 1. **Overview Dashboard** — A high-level view of your support ecosystem, showing active ticket counts and agent assignments. 2. **All Tickets Management** — A card-style list featuring color-coded status borders, unique ticket ID chips, and customer data for rapid sorting 3. **Interactive Chat Bubble** — The frontend floating support form with stacked agent avatars, online status indicators, and department routing. 4. **Customer Support Portal** — A secure frontend tracking view where users enter their email and ticket number to access their conversation. 5. **Agent Detail Workspace** — The specialized dashboard for support staff to manage replies, update statuses, and view image attachments. 6. **Unified Plugin Settings** — Centralized configuration for managing agent profiles, custom display names, and individual avatar uploads. 7. **Manual Ticket Creation** — The internal interface used to create support tickets on behalf of a client with a dedicated agent assignment picker.