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 snapshots

Tracking since May 9, 2026.

7.245.53.76May 9, 2026Jun 7, 2026
View as table
DateUsersRatingReviewsVersion
May 9, 20261.0.0
May 13, 20261.0.0
May 19, 202645.0031.2.0
May 25, 202645.0031.4.0
Jun 1, 20265.0031.7.0
Jun 7, 202655.0031.7.0
Now75.0031.7.6

Changelog

  • Jun 7, 2026
    description
    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, 2026
    host_permissions
    https://*.zendesk.com/*
    https://*.zendesk.com/*, https://support.tuxcare.com/*
  • May 25, 2026
    description
    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
    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)
  • May 19, 2026
    description
    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, 2026
    short_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, 2026
    description
    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, 2026
    short_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, 2026
    category
    productivity/tools
    productivity/workflow
  • May 13, 2026
    permissions
    storage
    storage, offscreen

Permissions & access

Permissions
storageoffscreen
Host access
https://*.zendesk.com/*, https://support.tuxcare.com/*

Screenshots

CL Desk Assistant screenshot 1CL Desk Assistant screenshot 2CL Desk Assistant screenshot 3CL Desk Assistant screenshot 4

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.