{"id":280049,"date":"2026-02-15T20:33:33","date_gmt":"2026-02-15T20:33:33","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/grt-ticket\/"},"modified":"2026-03-12T14:05:13","modified_gmt":"2026-03-12T14:05:13","slug":"grt-ticket","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/grt-ticket\/","author":23447819,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.2.4","stable_tag":"1.2.4","tested":"6.9.4","requires":"5.0","requires_php":"","requires_plugins":null,"header_name":"GRT Ticket","header_author":"ridhwanahsann","header_description":"A complete support ticket system with real-time chat functionality for WordPress.","assets_banners_color":"eef8f7","last_updated":"2026-03-12 14:05:13","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/github.com\/ridhwanahsan\/grt-ticket","header_author_uri":"https:\/\/github.com\/ridhwanahsan","rating":5,"author_block_rating":0,"active_installs":0,"downloads":335,"num_ratings":1,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.1.4":{"tag":"1.1.4","author":"ridhwanahsann","date":"2026-02-15 20:31:46"},"1.2.4":{"tag":"1.2.4","author":"ridhwanahsann","date":"2026-03-12 14:05:13"}},"upgrade_notice":[],"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3462560,"resolution":"256x256","location":"assets","locale":""}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3462608,"resolution":"1544x500","location":"assets","locale":""},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3462619,"resolution":"772x250","location":"assets","locale":""}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.1.4","1.2.4"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3482156,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3482156,"resolution":"2","location":"assets","locale":""},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3482156,"resolution":"3","location":"assets","locale":""},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3482158,"resolution":"4","location":"assets","locale":""},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3482156,"resolution":"5","location":"assets","locale":""}},"screenshots":[],"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[5707,4049,1104,4773,34953],"plugin_category":[41,47,58],"plugin_contributors":[255925],"plugin_business_model":[],"class_list":["post-280049","plugin","type-plugin","status-publish","hentry","plugin_tags-chat","plugin_tags-helpdesk","plugin_tags-support","plugin_tags-ticket","plugin_tags-webhooks","plugin_category-communication","plugin_category-education-and-support","plugin_category-user-management","plugin_contributors-ridhwanahsann","plugin_committers-ridhwanahsann"],"banners":{"banner":"https:\/\/ps.w.org\/grt-ticket\/assets\/banner-772x250.png?rev=3462619","banner_2x":"https:\/\/ps.w.org\/grt-ticket\/assets\/banner-1544x500.png?rev=3462608","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/grt-ticket\/assets\/icon-256x256.png?rev=3462560","icon_2x":"https:\/\/ps.w.org\/grt-ticket\/assets\/icon-256x256.png?rev=3462560","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/grt-ticket\/assets\/screenshot-1.png?rev=3482156","caption":""},{"src":"https:\/\/ps.w.org\/grt-ticket\/assets\/screenshot-2.png?rev=3482156","caption":""},{"src":"https:\/\/ps.w.org\/grt-ticket\/assets\/screenshot-3.png?rev=3482156","caption":""},{"src":"https:\/\/ps.w.org\/grt-ticket\/assets\/screenshot-4.png?rev=3482158","caption":""},{"src":"https:\/\/ps.w.org\/grt-ticket\/assets\/screenshot-5.png?rev=3482156","caption":""}],"raw_content":"<!--section=description-->\n<p><strong>Note on Minified JS<\/strong>: The <code>public\/js\/supabase.js<\/code> file is a minified build of the Supabase JS client. Source code available at: https:\/\/github.com\/supabase\/supabase-js<\/p>\n\n<h3>Features<\/h3>\n\n<ul>\n<li><strong>Webhooks &amp; Integrations (New!)<\/strong>: Send notifications to <strong>Slack<\/strong>, <strong>Discord<\/strong>, or <strong>Zapier<\/strong> when a new ticket is created.<\/li>\n<li><strong>Supabase Integration<\/strong>: True real-time chat powered by Supabase Realtime DB (optional)<\/li>\n<li><strong>Guest Access (New!)<\/strong>: Guests can view and reply to their tickets immediately after submission via secure cookie (no login required).<\/li>\n<li>Create and manage tickets from WordPress admin and frontend<\/li>\n<li>Real-time chat between users and admins<\/li>\n<li><strong>Custom Fields Builder<\/strong>: Create custom forms with Text, Textarea, Number, Email, URL, Select, and Date fields<\/li>\n<li><strong>Advanced Search<\/strong>: Filter tickets by User Name or Ticket ID instantly<\/li>\n<li><strong>Guest Ticket Submission<\/strong>: Users can submit tickets without an account (secure cookie access)<\/li>\n<li><strong>User Profile<\/strong>: Users can manage their profile and upload avatars<\/li>\n<li>Auto-Assignment: Automatically assign tickets to agents based on category<\/li>\n<li>Agent Performance: View stats on agent performance and ticket resolution<\/li>\n<li>Email Piping: User replies via email are automatically added to ticket chat<\/li>\n<li>Email Notifications: Chat replies are sent to user email (with direct frontend links)<\/li>\n<li>IMAP\/SMTP settings configurable via plugin settings<\/li>\n<li>Secure input handling and WordPress coding standards compliant<\/li>\n<li>Fully GPL-2.0 compatible<\/li>\n<\/ul>\n\n<h3>External Services<\/h3>\n\n<p>This plugin integrates with the following third-party services:<\/p>\n\n<h3>1. Twilio (Optional)<\/h3>\n\n<ul>\n<li><strong>Service<\/strong>: Twilio API (WhatsApp &amp; SMS)<\/li>\n<li><strong>Usage<\/strong>: Sends notifications to admins and users via WhatsApp or SMS.<\/li>\n<li><strong>Data Sent<\/strong>: Message content, phone numbers.<\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/www.twilio.com\/legal\/privacy\">Twilio Privacy Policy<\/a><\/li>\n<\/ul>\n\n<h3>2. Supabase (Optional)<\/h3>\n\n<ul>\n<li><strong>Service<\/strong>: Supabase Realtime<\/li>\n<li><strong>Usage<\/strong>: Provides real-time chat capabilities.<\/li>\n<li><strong>Data Sent<\/strong>: Chat messages, user IDs (for authentication).<\/li>\n<li><strong>Privacy Policy<\/strong>: <a href=\"https:\/\/supabase.com\/privacy\">Supabase Privacy Policy<\/a><\/li>\n<\/ul>\n\n<h3>3. Webhooks (Slack, Discord, Zapier)<\/h3>\n\n<ul>\n<li><strong>Usage<\/strong>: Sends ticket data to external services for notification\/automation.<\/li>\n<li><strong>Data Sent<\/strong>: Ticket details (title, ID, user email, message).<\/li>\n<\/ul>\n\n<h3>Supabase Configuration (Optional for Realtime)<\/h3>\n\n<ol>\n<li>Create a project at <a href=\"https:\/\/supabase.com\">Supabase<\/a>.<\/li>\n<li>Get your <strong>Project URL<\/strong>, <strong>Anon Key<\/strong>, and <strong>Service Role Secret<\/strong>.<\/li>\n<li>In WordPress, go to <strong>GRT Ticket &gt; Settings<\/strong> and enter these credentials.<\/li>\n<li>In Supabase SQL Editor, run this command to create the messages table:\n   create table public.grt_messages ( id bigint not null, ticket_id bigint not null, sender_type text not null, sender_name text not null, message text null, attachment_url text null, is_internal integer null default 0, created_at timestamp with time zone null default now(), constraint grt_messages_pkey primary key (id) ) TABLESPACE pg_default;<\/li>\n<li><strong>IMPORTANT<\/strong>: Go to <strong>Supabase Dashboard &gt; Database &gt; Publications<\/strong> (or Replication) and enable <strong>\"grt_messages\"<\/strong> for Realtime. (Otherwise, no messages will be received!)<\/li>\n<li>Enable \"Realtime Chat\" in plugin settings.<\/li>\n<\/ol>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/grt-ticket<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Use the Settings-&gt;GRT Ticket screen to configure the plugin.<\/li>\n<li>Add the shortcode <code>[grt_ticket]<\/code> to any page to display the ticket submission form.<\/li>\n<\/ol>\n\n<!--section=changelog-->\n<h4>1.2.4<\/h4>\n\n<ul>\n<li>UI: Improved admin dashboard layout and visuals.<\/li>\n<li>UI: Enhanced user ticket submission form styling.<\/li>\n<li>UI: Refined user chat interface design and responsiveness.<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Security: Removed all user creation and auto-login functionality to prevent security risks.<\/li>\n<li>Security: Implemented secure cookie-based access for guest tickets.<\/li>\n<li>Security: Fixed escaping issues in shortcodes and admin pages.<\/li>\n<li>Security: Added missing nonces and permission checks in AJAX handlers.<\/li>\n<li>Fix: Removed debug.log and added source code documentation for minified JS.<\/li>\n<li>Fix: Added 'ridhwanahsann' to contributors list.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Minor bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Feature: <strong>Webhooks &amp; Integrations<\/strong> - Added support for Slack, Discord, and Zapier notifications.<\/li>\n<li>Feature: <strong>Guest Access<\/strong> - Implemented secure cookie-based access for guests (no login required to view own ticket).<\/li>\n<li>Improvement: Updated email notifications to include direct frontend links to tickets.<\/li>\n<li>Improvement: Added \"Webhooks &amp; Integrations\" tab in Settings.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Improvement: Updated documentation and README.<\/li>\n<li>Improvement: Minor UI tweaks.<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Feature: Added <strong>Supabase Realtime Integration<\/strong> for instant chat updates without polling.<\/li>\n<li>Feature: Hybrid architecture (WordPress DB for storage + Supabase for realtime sync).<\/li>\n<li>Improvement: Added \"Test Connection\" buttons for Supabase (Read\/Write).<\/li>\n<li>Improvement: Secure Service Role handling in settings.<\/li>\n<li>Fix: Solved profile image upload issues.<\/li>\n<li>Fix: Resolved redirect 404 error after ticket submission.<\/li>\n<\/ul>\n\n<h4>1.0.8<\/h4>\n\n<ul>\n<li>Feature: Added Advanced Search Filter in Tickets List (Search by Name or Ticket ID).<\/li>\n<li>Feature: Introduced Custom Fields Builder for ticket submission forms.<\/li>\n<li>Improvement: Enhanced ticket list query performance.<\/li>\n<\/ul>\n\n<h4>1.0.7<\/h4>\n\n<p>=\n* Fix: Browser notifications now trigger even when the tab is active.<\/p>\n\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Feature: Added Profile Tab in the chat sidebar.<\/li>\n<li>Feature: Implemented Profile Image Upload functionality.<\/li>\n<li>UI: Improved sidebar navigation.<\/li>\n<li>UI: Added camera overlay effect for profile image upload.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Feature: Added automatic ticket assignment to agents based on issue category.<\/li>\n<li>Feature: Added \"Agent Performance\" widget to the admin dashboard.<\/li>\n<li>Feature: Implemented email notifications for agents.<\/li>\n<li>Improvement: Enhanced dashboard UI.<\/li>\n<\/ul>\n\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>UI Improvements: Enhanced login form styling.<\/li>\n<li>Security: Improved password handling for guest ticket submissions.<\/li>\n<li>Fix: Minor bug fixes and performance improvements.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>UI Improvements: Updated ticket form layout and styling.<\/li>\n<li>Added guest ticket submission with auto-account creation.<\/li>\n<li>Improved email piping and notifications.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"A support ticket system with real-time chat, email piping, custom fields, and Webhook integrations (Slack\/Discord\/Zapier).","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/280049","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=280049"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ridhwanahsann"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=280049"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=280049"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=280049"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=280049"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=280049"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=280049"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}