CL Desk Assistant
Productivity boosters for Zendesk agents: auto-refresh, find/replace, AI-content word alerts, snippets & JSON backup.
As of June 2026, CL Desk Assistant has 7 users and a 5.00/5 rating from 3 reviews in the Workflow & Planning category.
Usersno change0%
7
7
Ratingno change0%
5.00
3 reviews
Reviewsno change0%
3
Version
1.7.6
Manifest V3
90-day change · In the last 90 days this extension 4 version updates, changed permissions.
History
6 snapshotsTracking since May 9, 2026.
View as table
| Date | Users | Rating | Reviews | Version |
|---|---|---|---|---|
| May 9, 2026 | — | — | — | 1.0.0 |
| May 13, 2026 | — | — | — | 1.0.0 |
| May 19, 2026 | 4 | 5.00 | 3 | 1.2.0 |
| May 25, 2026 | 4 | 5.00 | 3 | 1.4.0 |
| Jun 1, 2026 | — | 5.00 | 3 | 1.7.0 |
| Jun 7, 2026 | 5 | 5.00 | 3 | 1.7.0 |
| Now | 7 | 5.00 | 3 | 1.7.6 |
Changelog
- Jun 7, 2026description
CL Desk Assistant — productivity boosters for Zendesk agents. Smart Refresh, Find/Replace, Word Alerts, Snippets, JSON Backup, and a Copy-article-reference helper for public Help Center pages — all running entirely in your browser. No telemetry, no AI service calls, no third-party scripts. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔄 SMART REFRESH ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⏱ Auto-refresh Zendesk queue views on a configurable interval (default 60 s, range 10 s – 1 h). 🎯 Custom refresh target — pick the in-page button you want clicked (or fall back to a full page reload) via the built-in element picker. 📋 Per-URL prefix allowlist — only refresh on the views you choose (e.g. /agent/filters/, /agent/dashboard). 👁 Active-tab gating — pause refreshes on inactive tabs; fires a catch-up refresh the moment the tab becomes visible again (handles Chrome's 1-min background timer throttling). ▶️ One-click start/stop from the popup, with a live tick counter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔍 FIND / REPLACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔎 Live in-editor find across the active Zendesk reply composer and Knowledge article body — highlights every match as you type. 🔁 Sequential single-replace — "Replace" walks matches one at a time (replace current, auto-advance to next). "Replace All" for bulk substitutions. Aa Case-sensitive toggle. 💾 Last-used find/replace inputs persist across browser restarts (and round-trip through JSON backup). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ WORD ALERTS (with audible Critical-match beep) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ User-defined keyword highlighting with three severity tiers (Critical red / High orange / Medium yellow) scanned across the whole Zendesk page — your reply draft, ticket descriptions, customer messages, KB content. A two-tone beep fires when a NEW Critical match appears in your draft (4 s cooldown, 1 s cross-window cooldown, fully synthesized in-browser — no audio files downloaded). ✏️ Keyword editor — add/remove keywords, set per-keyword severity, toggle whole-word matching, toggle individual keywords on/off. 🔇 Optional audible Critical alert — disable from the popup. Five built-in detectors (composer-only, default on, individually toggleable, all local pattern matchers — no AI service calls): 🤖 Detect ChatGPT referral/source links — Critical. Flags any <a href> containing chatgpt.com or utm_source=chatgpt in your reply draft. ✨ Detect AI-style symbols/punctuation — Critical. Flags high-signal glyphs: — ※ ◆ ◇ ► → ▪ ▫ ✓ ✔ (curly quotes and ellipsis are deliberately excluded — too noisy from macOS/Word auto-replace). ␣ Detect excessive empty lines — Medium. Flags runs of 3+ consecutive blank paragraphs (the most common copy/paste-from-AI artifact). Image-only paragraphs count as content, not whitespace. 🔗 Detect non-public Zendesk article links — Critical. Flags links pointing at KB content the customer cannot open — Guide editor URLs (/knowledge/...), agent-side URLs (/agent/...), Help Center admin URLs (/hc/admin/...), drafts, agent-only / segment-restricted / signed-in-only articles, and 404s. Public-shaped article URLs are verified by an anonymous (no cookies) request to your own Zendesk tenant's Help Center JSON API; verdicts cache locally for 1 h. Same-tenant only. Fail-open on network errors. 📋 Detect AI/copilot formatting artifacts — Critical. (NEW in v1.7) Flags the distinctive copy-button layout that survives plain-text paste from an internal chatbot (CloudLinux chatbot-internal, ChatGPT, GitHub Copilot, …): a standalone "Copy code" or "DownloadCopy code" line, plus the language label on the preceding line when present (bash, python, powershell, json, …). Whole-line exact-match so prose like "use bash to run this" or "press Ctrl+C to copy code" never trips. Fully local, no network calls. Built-in detectors are scoped to the reply composer only — never your customer-pasted ticket comments, never Zendesk's own UI chrome, never published KB content you're just browsing. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✂️ SNIPPETS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Reusable rich-text replies expandable via shortcut+Tab or manually from the popup. Each snippet has a name, optional shortcut, rich-text body, and individual enable/disable toggle. 🏷 Variables resolved at insertion time: {{ticket.id}} – current ticket ID {{ticket.subject}} – current ticket subject {{client.name}} – requester name {{client.email}} – requester email {{user.name}} – your agent name {{date.today}} – today's date 🖼 Inline images via paste or drag-and-drop — PNG / JPEG / GIF / WEBP accepted. WEBP and GIF are transcoded in-browser to JPEG or PNG so the output stays renderable in older email clients (especially Outlook). Images downscaled to max 1024 px and compressed locally; capped at 256 KB per image, 2 MB per snippet, 8 images per snippet. No external image hosts contacted — images embed as base64 data URLs inside the snippet body. ⌨ Shortcut-Tab expansion in any Zendesk reply composer (CKEditor or plain textarea). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📎 COPY ARTICLE REFERENCE (Help Center pages) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ On public Zendesk Help Center article pages on your own tenant, a small 28×28 button mounts next to the article title. 📋 One click writes a ready-to-paste rich-HTML anchor (article title as visible text, article URL as href) + plain-text URL fallback to your clipboard. ✅ Only appears for verified-public articles — drafts, restricted articles, and Guide editor URLs don't get a button (fail-closed: a missing button is a minor inconvenience; a button on a restricted article would be a customer-data leak). 💬 Pasting into a Zendesk reply composer lands as a styled inline hyperlink — exactly the manual workflow agents do by hand (open article, copy URL, copy title, paste, edit anchor text), in one click. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚙️ SETTINGS & 💾 JSON BACKUP / RESTORE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎚 Default popup tab, configurable keyboard shortcut (default Alt+Shift+Z), per-tab reset controls. 📤 Export your snippets, word-alert keywords + built-in detector toggles, Find/Replace last-used inputs, and extension preferences to a local JSON file you save yourself. Useful for moving to a new device or backing up before a clean install. 📥 Re-import the same JSON shape on demand. Smart Refresh runtime state (running/stopped, tick counter) is deliberately excluded — that's per-device state. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔒 PRIVACY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚫 No telemetry, no analytics, no tracking. 🚫 No third-party scripts loaded at runtime. 🚫 No AI service calls — every detector is a local pattern matcher (regex, character class, DOM walk). 🌐 The only outbound network calls are to your own Zendesk subdomain's REST and Help Center JSON APIs (snippet-variable expansion and the non-public-article verifier) — anonymous for the article verifier, using your existing Zendesk session cookies for the rest. 📦 All user data stays on the device: snippets, keywords, settings, preferences. No remote sync, no developer server, no usage reports. Full privacy policy: https://taha-alian.github.io/cl-desk-assistant-privacy/privacy-policy.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎹 KEYBOARD SHORTCUT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Alt + Shift + Z – open the CL Desk Assistant popup (rebindable at chrome://extensions/shortcuts)Smart Refresh, Queue Highlights, Find/Replace, Word Alerts, Snippets, JSON Backup, and a Copy-article-reference helper for public Help Center pages — all running entirely in your browser. No telemetry, no AI service calls, no third-party scripts. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔄 SMART REFRESH ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⏱ Auto-refresh Zendesk queue views on a configurable interval (default 5 s, range 1 s – 1 h). 🎯 Custom refresh target — pick the in-page button you want clicked (or fall back to a full page reload) via the built-in element picker. 📋 Per-URL prefix allowlist — only refresh on the views you choose (e.g. /agent/filters/, /agent/dashboard). 👁 Active-tab gating — pause refreshes on inactive tabs; fires a catch-up refresh the moment the tab becomes visible again (handles Chrome's 1-min background timer throttling). ▶️ One-click start/stop from the popup, with a live tick counter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📍 QUEUE HIGHLIGHTS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ On Zendesk view pages (/agent/filters/...), each ticket row whose Assignee column matches a name on your configured list gets a subtle 4-pixel accent stripe along its left edge — making it easy to spot tickets assigned to specific colleagues (peers you're collaborating with, agents you're shadowing, yourself) on busy queues without scanning the Assignee column row-by-row. 📝 Settings tab in the popup — list of agent names (one per line) + a configurable accent color (hex). Default OFF until you've added at least one name. 🎯 Case-insensitive exact match after trim — partial names won't trip. "Jane Smith" matches "Jane Smith" / "jane smith" / " Jane Smith ", but not "Jane" or "Smith" alone. 👁 Hidden Assignee column on a view → silent no-op on that view. 🌐 Fully local — the extension only reads the already-rendered row text. No network calls, no AI service, no third-party scripts. Configured names + accent color live in chrome.storage.sync alongside other settings. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔍 FIND / REPLACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔎 Live in-editor find across the active Zendesk reply composer and Knowledge article body — highlights every match as you type. 🔁 Sequential single-replace — "Replace" walks matches one at a time (replace current, auto-advance to next). "Replace All" for bulk substitutions. Aa Case-sensitive toggle. 💾 Last-used find/replace inputs persist across browser restarts (and round-trip through JSON backup). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ WORD ALERTS (with audible Critical-match beep) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ User-defined keyword highlighting with three severity tiers (Critical red / High orange / Medium yellow) scanned across the whole Zendesk page — your reply draft, ticket descriptions, customer messages, KB content. A two-tone beep fires when a NEW Critical match appears in your draft (4 s cooldown, 1 s cross-window cooldown, fully synthesized in-browser — no audio files downloaded). ✏️ Keyword editor — add/remove keywords, set per-keyword severity, toggle whole-word matching, toggle individual keywords on/off. 🔇 Optional audible Critical alert — disable from the popup. Five built-in detectors (composer-only, default on, individually toggleable, all local pattern matchers — no AI service calls): 🤖 Detect ChatGPT referral/source links — Critical. Flags any <a href> containing chatgpt.com or utm_source=chatgpt in your reply draft. ✨ Detect AI-style symbols/punctuation — Critical. Flags high-signal glyphs: — ※ ◆ ◇ ► → ▪ ▫ ✓ ✔ ✅ ⚠️ ❌ ℹ️ 🚀 🤖 💡 📌 🔍 (typographic LLM tells + the emoji set LLMs lean on for "structured answer" formatting). Curly quotes and ellipsis are deliberately excluded — too noisy from macOS/Word auto-replace. ␣ Detect excessive empty lines — Medium. Flags runs of 3+ consecutive blank paragraphs (the most common copy/paste-from-AI artifact). Image-only paragraphs count as content, not whitespace. 🔗 Detect non-public Zendesk article links — Critical. Flags links pointing at KB content the customer cannot open — Guide editor URLs (/knowledge/...), agent-side URLs (/agent/...), Help Center admin URLs (/hc/admin/...), drafts, and articles restricted to specific user segments or to agents-and-admins. Public-shaped article URLs are verified by an authenticated request (using your existing Zendesk session cookies) to the article's Help Center JSON API, reading each article's user_segment_id field. Articles set to "Visible to everyone" or "Signed-in users" are treated as customer-accessible and NOT flagged; articles restricted to internal segments or to agents-and-admins only are flagged Critical. Verdicts are NOT cached — every paste re-verifies, because Zendesk admins can change article visibility at any moment. Allowlisted tenants: your CloudLinux Zendesk and the TuxCare support Help Center (support.tuxcare.com). Fail-open on network errors. 📋 Detect AI/copilot formatting artifacts — Critical. Flags the distinctive copy-button layout that survives plain-text paste from an internal chatbot (CloudLinux chatbot-internal, ChatGPT, GitHub Copilot, …): a standalone "Copy code" or "DownloadCopy code" line, plus the language label on the preceding line when present (bash, python, powershell, json, …). Whole-line exact-match so prose like "use bash to run this" or "press Ctrl+C to copy code" never trips. Fully local, no network calls. Built-in detectors are scoped to the reply composer only — never your customer-pasted ticket comments, never Zendesk's own UI chrome, never published KB content you're just browsing. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✂️ SNIPPETS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Reusable rich-text replies expandable via shortcut+Tab or manually from the popup. Each snippet has a name, optional shortcut, rich-text body, and individual enable/disable toggle. 🏷 Variables resolved at insertion time: {{ticket.id}} – current ticket ID {{ticket.subject}} – current ticket subject {{client.name}} – requester name {{client.email}} – requester email {{user.name}} – your agent name {{date.today}} – today's date 🖼 Inline images via paste or drag-and-drop — PNG / JPEG / GIF / WEBP accepted. WEBP and GIF are transcoded in-browser to JPEG or PNG so the output stays renderable in older email clients (especially Outlook). Images downscaled to max 1024 px and compressed locally; capped at 256 KB per image, 2 MB per snippet, 8 images per snippet. No external image hosts contacted — images embed as base64 data URLs inside the snippet body. ⌨ Shortcut-Tab expansion in any Zendesk reply composer (CKEditor or plain textarea). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📎 COPY ARTICLE REFERENCE (Help Center pages) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ On public Zendesk Help Center article pages — your own CloudLinux Zendesk tenant or the allowlisted TuxCare support Help Center (support.tuxcare.com) — a small 28×28 button mounts next to the article title. 📋 One click writes a ready-to-paste rich-HTML anchor (article title as visible text, article URL as href) + plain-text URL fallback to your clipboard. ✅ Only appears for verified-public articles — drafts, restricted articles, and Guide editor URLs don't get a button (fail-closed: a missing button is a minor inconvenience; a button on a restricted article would be a customer-data leak). 💬 Pasting into a Zendesk reply composer lands as a styled inline hyperlink — exactly the manual workflow agents do by hand (open article, copy URL, copy title, paste, edit anchor text), in one click. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚙️ SETTINGS & 💾 JSON BACKUP / RESTORE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎚 Default popup tab, configurable keyboard shortcut (default Alt+Shift+Z), per-tab reset controls. 📤 Export your snippets, word-alert keywords + built-in detector toggles, Find/Replace last-used inputs, queue-highlights configuration, and extension preferences to a local JSON file you save yourself. Useful for moving to a new device or backing up before a clean install. 📥 Re-import the same JSON shape on demand. Smart Refresh runtime state (running/stopped, tick counter) is intentionally per-device — not synced across browsers, not included in the JSON export. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🆕 WHAT'S NEW ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ v1.7.6 supersedes the live v1.7.1 with five accumulated releases: v1.7.2 — Queue highlights (new feature). On Zendesk view pages (/agent/filters/...), each row whose Assignee column matches a user-configured agent name gets a subtle 4px left-edge accent stripe. Fully local DOM read; no network calls. Adds one new content script (queue-highlights-content.ts) matching https://*.zendesk.com/* — same scope as the existing word-alerts and find-replace scripts. v1.7.3 — Multi-host KB support. Adds https://support.tuxcare.com/* to host_permissions so the non-public-article-link detector and the Copy-article-reference button work for the TuxCare support Help Center in addition to the agent's own Zendesk tenant. This is the only new permission in the v1.7.1 → v1.7.6 diff. v1.7.4 — Authenticated visibility classification. The non-public-article-link detector reads each article's user_segment_id from the same-tenant Help Center JSON API using the agent's existing session, fixing a false positive where "Signed-in users" articles were incorrectly flagged as customer-inaccessible. Request stays on the same Zendesk tenant; uses existing session cookies; no new outbound destinations. Per-URL verdict cache removed — every paste re-verifies (Zendesk admins can change article visibility at any moment). v1.7.5 — Popup save-on-close reliability. Four popup tabs (Queue Highlights, Word Alerts, Snippets, Find / Replace) now reliably commit in-flight edits via standard pagehide / visibilitychange browser events. Previously a quick popup close within the 300 ms save-debounce window could drop a user's edit silently. v1.7.6 (headline) — AI-style symbols detector adds 9 emoji codepoints (✅ ⚠️ ❌ ℹ️ 🚀 🤖 💡 📌 🔍) on top of the v1.3 typographic-tells set. Pure local regex matching; no network calls, no AI service involved. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔒 PRIVACY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚫 No telemetry, no analytics, no tracking. 🚫 No third-party scripts loaded at runtime. 🚫 No AI service calls — every detector is a local pattern matcher (regex, character class, DOM walk). 🌐 The only outbound network calls are to the Zendesk REST API on your own Zendesk subdomain (for snippet variable expansion: ticket/requester/agent metadata) and to the Help Center JSON API on either your own Zendesk tenant or the allowlisted TuxCare support tenant (for the non-public-article verifier and the Copy-article-reference button). All such calls use your existing session cookies — no separate authentication, no third-party servers, no remote developer endpoints. 📦 All user data stays on the device: snippets, keywords, settings, preferences, queue-highlights configuration. No remote sync to developer infrastructure, no usage reports. Full privacy policy: https://taha-alian.github.io/cl-desk-assistant-privacy/privacy-policy.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎹 KEYBOARD SHORTCUT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Alt + Shift + Z – open the CL Desk Assistant popup (rebindable at chrome://extensions/shortcuts) - Jun 7, 2026host_permissions
https://*.zendesk.com/*
https://*.zendesk.com/*, https://support.tuxcare.com/*
- May 25, 2026description
CL Desk Assistant is a productivity toolkit for Zendesk agents. Five tabs in one popup, all running locally in your browser — no telemetry, no analytics, no third-party scripts, no AI service calls. SMART REFRESH Auto-refresh queue views on a configurable interval, with optional "only when tab is active" gating and a catch-up refresh when you switch back to a long-idle tab. Targets the in-page refresh button by selector, falls back to a full page reload, and respects your active filter. FIND / REPLACE In-editor find and replace across the active reply, with optional case-sensitivity and a sequential single-replace flow (replace current match, auto-advance to the next). WORD ALERTS User-defined keywords highlighted in severity-coded colors across the active Zendesk page, with an optional two-tone audible beep when a Critical-severity match newly appears in your draft. Plus three built-in local pattern matchers scoped to the active reply composer only: • Detect ChatGPT referral/source links (Critical) — flags <a href> values containing chatgpt.com or utm_source=chatgpt. • Detect AI-style symbols/punctuation (Critical) — flags em dash, reference mark, diamonds, pointer, arrow, small squares, checks. • Detect excessive empty lines (Medium) — flags runs of 3+ consecutive blank paragraphs, the most common copy/paste-from-AI artifact. All three are local regex/pattern matchers — no AI service is called, no prompts are sent anywhere, no third-party AI SDK is bundled. SNIPPETS Reusable rich-text replies expandable via shortcut+Tab or manually, with variables that resolve at insertion time ({{ticket.id}}, {{ticket.subject}}, {{client.name}}, {{client.email}}, {{user.name}}, {{date.today}}). Inline images via paste or drop — PNG, JPEG, GIF, and WEBP accepted (WEBP and GIF are transcoded in-browser to JPEG or PNG for email-client compatibility). Images are downscaled to max 1024 px and compressed in-browser; caps are 256 KB per image, 2 MB per snippet, 8 images per snippet. SETTINGS — JSON BACKUP & RESTORE Default popup tab, keyboard shortcut link, reset controls, and full JSON Backup & Restore: export your snippets, word-alert keywords, Find/Replace last-used inputs, and preferences to a local file; re-import the same shape on demand. Nothing is uploaded anywhere; the JSON file goes to your local Downloads folder and is read back from your local disk. PRIVACY The extension makes no outbound network calls except to your own Zendesk subdomain's REST API (using your existing Zendesk session cookies), and only when expanding a snippet variable that needs ticket/client/user data. Responses are kept in memory for 30 seconds and then discarded — never written to disk, never transmitted elsewhere. No analytics, no telemetry, no crash reporting. Full privacy policy: https://taha-alian.github.io/cl-desk-assistant-privacy/privacy-policy.html PERMISSIONS • storage — to persist snippets, keywords, and settings locally. • offscreen — to play the optional Word Alerts Critical-match beep through Web Audio (Chrome MV3 content scripts can't reliably play Web Audio under the autoplay policy). • Host access for https://*.zendesk.com/* — to inject the productivity tools and resolve snippet variables via the Zendesk REST API. No other broad host permissions. KEYBOARD SHORTCUT Default: Alt+Shift+Z opens the popup. Change or remove at chrome://extensions/shortcuts. OPEN-SOURCE / ISSUES github.com/Taha-Alian/zendesk-cl-extensionCL Desk Assistant — productivity boosters for Zendesk agents. Smart Refresh, Find/Replace, Word Alerts, Snippets, JSON Backup, and a Copy-article-reference helper for public Help Center pages — all running entirely in your browser. No telemetry, no AI service calls, no third-party scripts. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔄 SMART REFRESH ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⏱ Auto-refresh Zendesk queue views on a configurable interval (default 60 s, range 10 s – 1 h). 🎯 Custom refresh target — pick the in-page button you want clicked (or fall back to a full page reload) via the built-in element picker. 📋 Per-URL prefix allowlist — only refresh on the views you choose (e.g. /agent/filters/, /agent/dashboard). 👁 Active-tab gating — pause refreshes on inactive tabs; fires a catch-up refresh the moment the tab becomes visible again (handles Chrome's 1-min background timer throttling). ▶️ One-click start/stop from the popup, with a live tick counter. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔍 FIND / REPLACE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔎 Live in-editor find across the active Zendesk reply composer and Knowledge article body — highlights every match as you type. 🔁 Sequential single-replace — "Replace" walks matches one at a time (replace current, auto-advance to next). "Replace All" for bulk substitutions. Aa Case-sensitive toggle. 💾 Last-used find/replace inputs persist across browser restarts (and round-trip through JSON backup). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚠️ WORD ALERTS (with audible Critical-match beep) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ User-defined keyword highlighting with three severity tiers (Critical red / High orange / Medium yellow) scanned across the whole Zendesk page — your reply draft, ticket descriptions, customer messages, KB content. A two-tone beep fires when a NEW Critical match appears in your draft (4 s cooldown, 1 s cross-window cooldown, fully synthesized in-browser — no audio files downloaded). ✏️ Keyword editor — add/remove keywords, set per-keyword severity, toggle whole-word matching, toggle individual keywords on/off. 🔇 Optional audible Critical alert — disable from the popup. Five built-in detectors (composer-only, default on, individually toggleable, all local pattern matchers — no AI service calls): 🤖 Detect ChatGPT referral/source links — Critical. Flags any <a href> containing chatgpt.com or utm_source=chatgpt in your reply draft. ✨ Detect AI-style symbols/punctuation — Critical. Flags high-signal glyphs: — ※ ◆ ◇ ► → ▪ ▫ ✓ ✔ (curly quotes and ellipsis are deliberately excluded — too noisy from macOS/Word auto-replace). ␣ Detect excessive empty lines — Medium. Flags runs of 3+ consecutive blank paragraphs (the most common copy/paste-from-AI artifact). Image-only paragraphs count as content, not whitespace. 🔗 Detect non-public Zendesk article links — Critical. Flags links pointing at KB content the customer cannot open — Guide editor URLs (/knowledge/...), agent-side URLs (/agent/...), Help Center admin URLs (/hc/admin/...), drafts, agent-only / segment-restricted / signed-in-only articles, and 404s. Public-shaped article URLs are verified by an anonymous (no cookies) request to your own Zendesk tenant's Help Center JSON API; verdicts cache locally for 1 h. Same-tenant only. Fail-open on network errors. 📋 Detect AI/copilot formatting artifacts — Critical. (NEW in v1.7) Flags the distinctive copy-button layout that survives plain-text paste from an internal chatbot (CloudLinux chatbot-internal, ChatGPT, GitHub Copilot, …): a standalone "Copy code" or "DownloadCopy code" line, plus the language label on the preceding line when present (bash, python, powershell, json, …). Whole-line exact-match so prose like "use bash to run this" or "press Ctrl+C to copy code" never trips. Fully local, no network calls. Built-in detectors are scoped to the reply composer only — never your customer-pasted ticket comments, never Zendesk's own UI chrome, never published KB content you're just browsing. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ✂️ SNIPPETS ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Reusable rich-text replies expandable via shortcut+Tab or manually from the popup. Each snippet has a name, optional shortcut, rich-text body, and individual enable/disable toggle. 🏷 Variables resolved at insertion time: {{ticket.id}} – current ticket ID {{ticket.subject}} – current ticket subject {{client.name}} – requester name {{client.email}} – requester email {{user.name}} – your agent name {{date.today}} – today's date 🖼 Inline images via paste or drag-and-drop — PNG / JPEG / GIF / WEBP accepted. WEBP and GIF are transcoded in-browser to JPEG or PNG so the output stays renderable in older email clients (especially Outlook). Images downscaled to max 1024 px and compressed locally; capped at 256 KB per image, 2 MB per snippet, 8 images per snippet. No external image hosts contacted — images embed as base64 data URLs inside the snippet body. ⌨ Shortcut-Tab expansion in any Zendesk reply composer (CKEditor or plain textarea). ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 📎 COPY ARTICLE REFERENCE (Help Center pages) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ On public Zendesk Help Center article pages on your own tenant, a small 28×28 button mounts next to the article title. 📋 One click writes a ready-to-paste rich-HTML anchor (article title as visible text, article URL as href) + plain-text URL fallback to your clipboard. ✅ Only appears for verified-public articles — drafts, restricted articles, and Guide editor URLs don't get a button (fail-closed: a missing button is a minor inconvenience; a button on a restricted article would be a customer-data leak). 💬 Pasting into a Zendesk reply composer lands as a styled inline hyperlink — exactly the manual workflow agents do by hand (open article, copy URL, copy title, paste, edit anchor text), in one click. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ⚙️ SETTINGS & 💾 JSON BACKUP / RESTORE ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎚 Default popup tab, configurable keyboard shortcut (default Alt+Shift+Z), per-tab reset controls. 📤 Export your snippets, word-alert keywords + built-in detector toggles, Find/Replace last-used inputs, and extension preferences to a local JSON file you save yourself. Useful for moving to a new device or backing up before a clean install. 📥 Re-import the same JSON shape on demand. Smart Refresh runtime state (running/stopped, tick counter) is deliberately excluded — that's per-device state. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🔒 PRIVACY ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🚫 No telemetry, no analytics, no tracking. 🚫 No third-party scripts loaded at runtime. 🚫 No AI service calls — every detector is a local pattern matcher (regex, character class, DOM walk). 🌐 The only outbound network calls are to your own Zendesk subdomain's REST and Help Center JSON APIs (snippet-variable expansion and the non-public-article verifier) — anonymous for the article verifier, using your existing Zendesk session cookies for the rest. 📦 All user data stays on the device: snippets, keywords, settings, preferences. No remote sync, no developer server, no usage reports. Full privacy policy: https://taha-alian.github.io/cl-desk-assistant-privacy/privacy-policy.html ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 🎹 KEYBOARD SHORTCUT ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Alt + Shift + Z – open the CL Desk Assistant popup (rebindable at chrome://extensions/shortcuts) - May 19, 2026description
CL Desk Assistant is a productivity extension for Zendesk Support agents. It adds four in-tab tools alongside the existing Smart Refresh: 🔄 Smart Refresh Auto-refresh queue views on a configurable interval. URL-prefix gating, custom selector input with built-in fallbacks, optional "only when tab is visible" mode, full-page reload OR XHR-style refresh. 🔍 Find / Replace In-editor find & replace across the active reply, with case-sensitivity, whole-word, and "replace all" support. Plays nicely with Zendesk's CKEditor 5. 🚨 Word Alerts (NEW: audible Critical-match beep) Define keywords with severity levels (Critical / High / Medium). The extension highlights them in your reply draft as severity-coded chips so you catch sensitive language before sending. v1.2 adds an optional two-tone beep when a Critical-severity keyword newly appears in your draft — on by default, toggleable from the Word Alerts tab. ✂️ Snippets (NEW: inline images + JSON backup) Reusable rich-text replies with shortcut+Tab expansion and variables that resolve at insertion time: {{ticket.id}}, {{ticket.subject}}, {{client.name}}, {{client.email}}, {{user.name}}, {{date.today}}. - v1.2 adds inline images via paste/drop (PNG/JPEG/GIF, auto-compressed in-browser; capped 256 KB/image, 2 MB/snippet, 8 images/snippet — no external image hosts). - v1.2 adds JSON Backup & Restore in the Settings tab — export your snippets, word-alert keywords, and preferences to a local file for safekeeping or for moving to another Chrome install. ⚙️ Settings Default popup tab, keyboard shortcut binding (Alt+Shift+Z by default), reset controls, JSON backup & restore. PRIVACY-FIRST - No telemetry, no analytics, no tracking. - No third-party scripts loaded at runtime. - No outbound network calls outside your Zendesk subdomain. - All user data stays on this device. - Open source (https://github.com/Taha-Alian/zendesk-cl-extension).CL Desk Assistant is a productivity toolkit for Zendesk agents. Five tabs in one popup, all running locally in your browser — no telemetry, no analytics, no third-party scripts, no AI service calls. SMART REFRESH Auto-refresh queue views on a configurable interval, with optional "only when tab is active" gating and a catch-up refresh when you switch back to a long-idle tab. Targets the in-page refresh button by selector, falls back to a full page reload, and respects your active filter. FIND / REPLACE In-editor find and replace across the active reply, with optional case-sensitivity and a sequential single-replace flow (replace current match, auto-advance to the next). WORD ALERTS User-defined keywords highlighted in severity-coded colors across the active Zendesk page, with an optional two-tone audible beep when a Critical-severity match newly appears in your draft. Plus three built-in local pattern matchers scoped to the active reply composer only: • Detect ChatGPT referral/source links (Critical) — flags <a href> values containing chatgpt.com or utm_source=chatgpt. • Detect AI-style symbols/punctuation (Critical) — flags em dash, reference mark, diamonds, pointer, arrow, small squares, checks. • Detect excessive empty lines (Medium) — flags runs of 3+ consecutive blank paragraphs, the most common copy/paste-from-AI artifact. All three are local regex/pattern matchers — no AI service is called, no prompts are sent anywhere, no third-party AI SDK is bundled. SNIPPETS Reusable rich-text replies expandable via shortcut+Tab or manually, with variables that resolve at insertion time ({{ticket.id}}, {{ticket.subject}}, {{client.name}}, {{client.email}}, {{user.name}}, {{date.today}}). Inline images via paste or drop — PNG, JPEG, GIF, and WEBP accepted (WEBP and GIF are transcoded in-browser to JPEG or PNG for email-client compatibility). Images are downscaled to max 1024 px and compressed in-browser; caps are 256 KB per image, 2 MB per snippet, 8 images per snippet. SETTINGS — JSON BACKUP & RESTORE Default popup tab, keyboard shortcut link, reset controls, and full JSON Backup & Restore: export your snippets, word-alert keywords, Find/Replace last-used inputs, and preferences to a local file; re-import the same shape on demand. Nothing is uploaded anywhere; the JSON file goes to your local Downloads folder and is read back from your local disk. PRIVACY The extension makes no outbound network calls except to your own Zendesk subdomain's REST API (using your existing Zendesk session cookies), and only when expanding a snippet variable that needs ticket/client/user data. Responses are kept in memory for 30 seconds and then discarded — never written to disk, never transmitted elsewhere. No analytics, no telemetry, no crash reporting. Full privacy policy: https://taha-alian.github.io/cl-desk-assistant-privacy/privacy-policy.html PERMISSIONS • storage — to persist snippets, keywords, and settings locally. • offscreen — to play the optional Word Alerts Critical-match beep through Web Audio (Chrome MV3 content scripts can't reliably play Web Audio under the autoplay policy). • Host access for https://*.zendesk.com/* — to inject the productivity tools and resolve snippet variables via the Zendesk REST API. No other broad host permissions. KEYBOARD SHORTCUT Default: Alt+Shift+Z opens the popup. Change or remove at chrome://extensions/shortcuts. OPEN-SOURCE / ISSUES github.com/Taha-Alian/zendesk-cl-extension - May 19, 2026short_description
Productivity boosters for Zendesk agents: auto-refresh, find/replace, audible word alerts, snippets with images & JSON backup.
Productivity boosters for Zendesk agents: auto-refresh, find/replace, AI-content word alerts, snippets & JSON backup.
- May 13, 2026description
AgentDeck for Zendesk is a productivity toolkit built for support agents and team leads who live in Zendesk all day. The first release focuses on one of the most common pain points: keeping a queue or filter view fresh without clicking Refresh by hand. Smart Refresh — what's in this version - Custom intervals — pick from 5s, 10s, 30s, 1m, or 5m presets, or set any value from 1 second up to 60 minutes. - Per-URL targeting — only refresh on the Zendesk pages you choose (e.g. a specific filter or queue), so views you're not actively working don't tick in the background. - Active-tab awareness — optional setting that skips refreshes when the Zendesk tab isn't visible, saving CPU and bandwidth. - Two refresh modes — click the in-page refresh button (default, no page reload), or fall back to a full page reload if your view requires it. - Element picker — point-and-click to set the exact button to refresh, with conflict-safe selector generation. - Live countdown badge — see seconds-until-next-refresh on the toolbar icon at a glance. - Startup behavior — choose whether opening Zendesk in a new tab resumes your last state, always starts refreshing, or starts paused. What's coming next AgentDeck is built as a toolkit. Future releases will layer additional agent-focused features into the same extension — text snippets, keyword alerts, find-and-replace, and reply automation — each as an opt-in tab. Updates will roll out via Chrome Web Store auto-updates; nothing breaks existing settings. Privacy and data handling - All settings are stored locally in your browser using chrome.storage. Nothing is sent to a remote server. - The extension activates only on *.zendesk.com pages. - No analytics, no tracking, no third-party scripts. - Source-available; review the code before installing. Permissions explained - Storage — saves your refresh interval, selector, and toggles between sessions. - Host access for *.zendesk.com — required to inject the refresh button click and read the page's view URL. The extension does not run on any other site. Support and feedback
CL Desk Assistant is a productivity extension for Zendesk Support agents. It adds four in-tab tools alongside the existing Smart Refresh: 🔄 Smart Refresh Auto-refresh queue views on a configurable interval. URL-prefix gating, custom selector input with built-in fallbacks, optional "only when tab is visible" mode, full-page reload OR XHR-style refresh. 🔍 Find / Replace In-editor find & replace across the active reply, with case-sensitivity, whole-word, and "replace all" support. Plays nicely with Zendesk's CKEditor 5. 🚨 Word Alerts (NEW: audible Critical-match beep) Define keywords with severity levels (Critical / High / Medium). The extension highlights them in your reply draft as severity-coded chips so you catch sensitive language before sending. v1.2 adds an optional two-tone beep when a Critical-severity keyword newly appears in your draft — on by default, toggleable from the Word Alerts tab. ✂️ Snippets (NEW: inline images + JSON backup) Reusable rich-text replies with shortcut+Tab expansion and variables that resolve at insertion time: {{ticket.id}}, {{ticket.subject}}, {{client.name}}, {{client.email}}, {{user.name}}, {{date.today}}. - v1.2 adds inline images via paste/drop (PNG/JPEG/GIF, auto-compressed in-browser; capped 256 KB/image, 2 MB/snippet, 8 images/snippet — no external image hosts). - v1.2 adds JSON Backup & Restore in the Settings tab — export your snippets, word-alert keywords, and preferences to a local file for safekeeping or for moving to another Chrome install. ⚙️ Settings Default popup tab, keyboard shortcut binding (Alt+Shift+Z by default), reset controls, JSON backup & restore. PRIVACY-FIRST - No telemetry, no analytics, no tracking. - No third-party scripts loaded at runtime. - No outbound network calls outside your Zendesk subdomain. - All user data stays on this device. - Open source (https://github.com/Taha-Alian/zendesk-cl-extension). - May 13, 2026short_description
Auto-refresh Zendesk views on a custom interval. The first tool in a growing toolkit for Zendesk agents.
Productivity boosters for Zendesk agents: auto-refresh, find/replace, audible word alerts, snippets with images & JSON backup.
- May 13, 2026category
productivity/tools
productivity/workflow
- May 13, 2026permissions
storage
storage, offscreen
Permissions & access
- Permissions
- storageoffscreen
- Host access
- https://*.zendesk.com/*, https://support.tuxcare.com/*
Screenshots
About
Smart Refresh, Queue Highlights, Find/Replace, Word Alerts, Snippets,
JSON Backup, and a Copy-article-reference helper for public Help Center
pages — all running entirely in your browser. No telemetry, no AI
service calls, no third-party scripts.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔄 SMART REFRESH
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⏱ Auto-refresh Zendesk queue views on a configurable interval
(default 5 s, range 1 s – 1 h).
🎯 Custom refresh target — pick the in-page button you want
clicked (or fall back to a full page reload) via the built-in
element picker.
📋 Per-URL prefix allowlist — only refresh on the views you
choose (e.g. /agent/filters/, /agent/dashboard).
👁 Active-tab gating — pause refreshes on inactive tabs;
fires a catch-up refresh the moment the tab becomes visible
again (handles Chrome's 1-min background timer throttling).
▶️ One-click start/stop from the popup, with a live tick counter.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📍 QUEUE HIGHLIGHTS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
On Zendesk view pages (/agent/filters/...), each ticket row whose
Assignee column matches a name on your configured list gets a subtle
4-pixel accent stripe along its left edge — making it easy to spot
tickets assigned to specific colleagues (peers you're collaborating
with, agents you're shadowing, yourself) on busy queues without
scanning the Assignee column row-by-row.
📝 Settings tab in the popup — list of agent names (one per
line) + a configurable accent color (hex). Default OFF until
you've added at least one name.
🎯 Case-insensitive exact match after trim — partial names
won't trip. "Jane Smith" matches "Jane Smith" / "jane smith" /
" Jane Smith ", but not "Jane" or "Smith" alone.
👁 Hidden Assignee column on a view → silent no-op on that view.
🌐 Fully local — the extension only reads the already-rendered
row text. No network calls, no AI service, no third-party
scripts. Configured names + accent color live in
chrome.storage.sync alongside other settings.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔍 FIND / REPLACE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔎 Live in-editor find across the active Zendesk reply composer
and Knowledge article body — highlights every match as you type.
🔁 Sequential single-replace — "Replace" walks matches one at a
time (replace current, auto-advance to next). "Replace All"
for bulk substitutions.
Aa Case-sensitive toggle.
💾 Last-used find/replace inputs persist across browser restarts
(and round-trip through JSON backup).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚠️ WORD ALERTS (with audible Critical-match beep)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
User-defined keyword highlighting with three severity tiers (Critical
red / High orange / Medium yellow) scanned across the whole Zendesk
page — your reply draft, ticket descriptions, customer messages, KB
content. A two-tone beep fires when a NEW Critical match appears in
your draft (4 s cooldown, 1 s cross-window cooldown, fully synthesized
in-browser — no audio files downloaded).
✏️ Keyword editor — add/remove keywords, set per-keyword
severity, toggle whole-word matching, toggle individual
keywords on/off.
🔇 Optional audible Critical alert — disable from the popup.
Five built-in detectors (composer-only, default on, individually
toggleable, all local pattern matchers — no AI service calls):
🤖 Detect ChatGPT referral/source links — Critical.
Flags any <a href> containing chatgpt.com or
utm_source=chatgpt in your reply draft.
✨ Detect AI-style symbols/punctuation — Critical.
Flags high-signal glyphs:
— ※ ◆ ◇ ► → ▪ ▫ ✓ ✔ ✅ ⚠️ ❌ ℹ️ 🚀 🤖 💡 📌 🔍
(typographic LLM tells + the emoji set LLMs lean on for
"structured answer" formatting). Curly quotes and ellipsis
are deliberately excluded — too noisy from macOS/Word
auto-replace.
␣ Detect excessive empty lines — Medium.
Flags runs of 3+ consecutive blank paragraphs (the most
common copy/paste-from-AI artifact). Image-only paragraphs
count as content, not whitespace.
🔗 Detect non-public Zendesk article links — Critical.
Flags links pointing at KB content the customer cannot
open — Guide editor URLs (/knowledge/...), agent-side URLs
(/agent/...), Help Center admin URLs (/hc/admin/...),
drafts, and articles restricted to specific user segments
or to agents-and-admins. Public-shaped article URLs are
verified by an authenticated request (using your existing
Zendesk session cookies) to the article's Help Center JSON
API, reading each article's user_segment_id field.
Articles set to "Visible to everyone" or "Signed-in users"
are treated as customer-accessible and NOT flagged;
articles restricted to internal segments or to
agents-and-admins only are flagged Critical. Verdicts are
NOT cached — every paste re-verifies, because Zendesk
admins can change article visibility at any moment.
Allowlisted tenants: your CloudLinux Zendesk and the
TuxCare support Help Center (support.tuxcare.com).
Fail-open on network errors.
📋 Detect AI/copilot formatting artifacts — Critical.
Flags the distinctive copy-button layout that survives
plain-text paste from an internal chatbot (CloudLinux
chatbot-internal, ChatGPT, GitHub Copilot, …): a standalone
"Copy code" or "DownloadCopy code" line, plus the language
label on the preceding line when present (bash, python,
powershell, json, …). Whole-line exact-match so prose like
"use bash to run this" or "press Ctrl+C to copy code" never
trips. Fully local, no network calls.
Built-in detectors are scoped to the reply composer only — never your
customer-pasted ticket comments, never Zendesk's own UI chrome, never
published KB content you're just browsing.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✂️ SNIPPETS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Reusable rich-text replies expandable via shortcut+Tab or manually
from the popup. Each snippet has a name, optional shortcut, rich-text
body, and individual enable/disable toggle.
🏷 Variables resolved at insertion time:
{{ticket.id}} – current ticket ID
{{ticket.subject}} – current ticket subject
{{client.name}} – requester name
{{client.email}} – requester email
{{user.name}} – your agent name
{{date.today}} – today's date
🖼 Inline images via paste or drag-and-drop —
PNG / JPEG / GIF / WEBP accepted. WEBP and GIF are transcoded
in-browser to JPEG or PNG so the output stays renderable in
older email clients (especially Outlook). Images downscaled
to max 1024 px and compressed locally; capped at 256 KB per
image, 2 MB per snippet, 8 images per snippet. No external
image hosts contacted — images embed as base64 data URLs
inside the snippet body.
⌨ Shortcut-Tab expansion in any Zendesk reply composer
(CKEditor or plain textarea).
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
📎 COPY ARTICLE REFERENCE (Help Center pages)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
On public Zendesk Help Center article pages — your own CloudLinux
Zendesk tenant or the allowlisted TuxCare support Help Center
(support.tuxcare.com) — a small 28×28 button mounts next to the
article title.
📋 One click writes a ready-to-paste rich-HTML anchor
(article title as visible text, article URL as href) +
plain-text URL fallback to your clipboard.
✅ Only appears for verified-public articles — drafts,
restricted articles, and Guide editor URLs don't get a
button (fail-closed: a missing button is a minor
inconvenience; a button on a restricted article would
be a customer-data leak).
💬 Pasting into a Zendesk reply composer lands as a styled
inline hyperlink — exactly the manual workflow agents do
by hand (open article, copy URL, copy title, paste, edit
anchor text), in one click.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
⚙️ SETTINGS & 💾 JSON BACKUP / RESTORE
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎚 Default popup tab, configurable keyboard shortcut
(default Alt+Shift+Z), per-tab reset controls.
📤 Export your snippets, word-alert keywords + built-in
detector toggles, Find/Replace last-used inputs,
queue-highlights configuration, and extension preferences
to a local JSON file you save yourself. Useful for moving
to a new device or backing up before a clean install.
📥 Re-import the same JSON shape on demand. Smart Refresh
runtime state (running/stopped, tick counter) is
intentionally per-device — not synced across browsers,
not included in the JSON export.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🆕 WHAT'S NEW
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
v1.7.6 supersedes the live v1.7.1 with five accumulated releases:
v1.7.2 — Queue highlights (new feature). On Zendesk view pages
(/agent/filters/...), each row whose Assignee column matches a
user-configured agent name gets a subtle 4px left-edge accent
stripe. Fully local DOM read; no network calls. Adds one new
content script (queue-highlights-content.ts) matching
https://*.zendesk.com/* — same scope as the existing word-alerts
and find-replace scripts.
v1.7.3 — Multi-host KB support. Adds https://support.tuxcare.com/*
to host_permissions so the non-public-article-link detector and
the Copy-article-reference button work for the TuxCare support
Help Center in addition to the agent's own Zendesk tenant. This
is the only new permission in the v1.7.1 → v1.7.6 diff.
v1.7.4 — Authenticated visibility classification. The
non-public-article-link detector reads each article's
user_segment_id from the same-tenant Help Center JSON API using
the agent's existing session, fixing a false positive where
"Signed-in users" articles were incorrectly flagged as
customer-inaccessible. Request stays on the same Zendesk tenant;
uses existing session cookies; no new outbound destinations.
Per-URL verdict cache removed — every paste re-verifies (Zendesk
admins can change article visibility at any moment).
v1.7.5 — Popup save-on-close reliability. Four popup tabs (Queue
Highlights, Word Alerts, Snippets, Find / Replace) now reliably
commit in-flight edits via standard pagehide / visibilitychange
browser events. Previously a quick popup close within the 300 ms
save-debounce window could drop a user's edit silently.
v1.7.6 (headline) — AI-style symbols detector adds 9 emoji
codepoints (✅ ⚠️ ❌ ℹ️ 🚀 🤖 💡 📌 🔍) on top of the v1.3
typographic-tells set. Pure local regex matching; no network
calls, no AI service involved.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🔒 PRIVACY
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🚫 No telemetry, no analytics, no tracking.
🚫 No third-party scripts loaded at runtime.
🚫 No AI service calls — every detector is a local
pattern matcher (regex, character class, DOM walk).
🌐 The only outbound network calls are to the Zendesk
REST API on your own Zendesk subdomain (for snippet
variable expansion: ticket/requester/agent metadata)
and to the Help Center JSON API on either your own
Zendesk tenant or the allowlisted TuxCare support
tenant (for the non-public-article verifier and the
Copy-article-reference button). All such calls use
your existing session cookies — no separate
authentication, no third-party servers, no remote
developer endpoints.
📦 All user data stays on the device: snippets, keywords,
settings, preferences, queue-highlights configuration.
No remote sync to developer infrastructure, no usage
reports.
Full privacy policy:
https://taha-alian.github.io/cl-desk-assistant-privacy/privacy-policy.html
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
🎹 KEYBOARD SHORTCUT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Alt + Shift + Z – open the CL Desk Assistant popup
(rebindable at chrome://extensions/shortcuts)Technical
- Version
- 1.7.6
- Manifest
- V3
- Size
- 162KiB
- Min Chrome
- 88
- Languages
- 1
- Featured
- No
Metadata
- ID
- agjfphmbdaomhombgabfibfmcjicoopl
- Developer ID
- ue273e5e85ec836148e2fb60a81b9dba4
- Developer Email
- [email protected]
- Created
- May 8, 2026
- Last Updated (Store)
- Jun 2, 2026
- Last Scraped
- Jun 7, 2026
- Website
- taha25.blogspot.com
- Support URL
- —
Data sourced from the Chrome Web Store · last verified Jun 7, 2026.