Nexthink Quick Actions is a Chrome/Edge extension that augments the Nexthink web console with configurable shortcuts. It lets support teams open downstream tools (ServiceNow, JAMF, Workday, etc.) straight from a device or user row, while keeping the configuration manageable through both an options UI and enterprise policies.
- Context menu quick actions – injects a "Quick Actions" submenu in Nexthink kebab menus (Device View and Investigations). Entries open new tabs using placeholders that are resolved from the selected row.
- Browser action popup – provides a compact launcher that jumps directly to Device View for a device name, with a shortcut to the settings page when the instance is not yet configured.
- Cheat-sheet toggle – adds a QuickActions icon to the Nexthink top menubar that reveals a panel listing all detected column placeholders, with one-click copy to help authors build URLs.
- Friendly configuration surface – an options page to maintain the Nexthink instance URL, manage quick action rows, reorder entries, tune export preferences, and import/export JSON bundles.
- Investigation export helpers – augments the bulk-selection toolbar with NQA-branded actions to copy selected rows (Markdown, ASCII, or HTML) or download a CSV using your preferred separator.
- Policy-driven deployment – supports Chrome managed storage, including overlay vs seed modes, so administrators can pre-load and lock menus, instance settings, or export preferences. Sample payloads and deployment scripts are available in
docs/MDM-samples/.
- From the browser toolbar popup, click the cog icon (or
Add Nexthink instance) to openoption/options.html. - The first section stores the Nexthink Instance via a guided builder: provide the tenant prefix and select the Nexthink region, and the UI composes
https://<tenant>.<region>.nexthink.cloud. The preview also shows{instance_name}alongside the resolved prefix so authors can copy both pieces easily. - The Quick Actions section maintains the menu entries consumed by the content script. Each entry is a name and a URL template that must contain at least one placeholder such as
{devices_name},{*full_name}or the tenant token{instance_name}.
- Click Add entry to create a new row or the pencil icon to edit an existing one. Rows can be reordered with the up/down arrows; managed entries show the lock state and disable editing when policies require it.
- URL templates accept multi-line input for readability; line breaks are stripped before injection.
- The helper text explains the placeholder syntax. Validation ensures the template is
http(s)://and contains at least one{placeholder}token. Wildcards (*) inside placeholders act as glob-like patterns matched against captured column keys.
- Use the Export settings card to choose the CSV separator used during downloads and the clipboard format (
Markdown,ASCII table, orHTML table) applied when copying selections from Investigations. When you pick a default clipboard format, the card now shows a Quick toggles hint that reminds you which modifier keys (AltandShift) will temporarily switch to the second and third formats during copy actions. - Use the toolbar buttons to export the current dataset to
NQA_Configuration.jsonor import another JSON document. The modal lets you Add (append) or Replace the existing menu, and optionally override the instance when provided. - The expected structure matches
debug/NQA_Configuration+wildcard.json:{ "menu": [{ "name": "Open in ServiceNow", "url": "https://…{devices_name}…" }], "instance": { "name": "PROD", "url": "https://corp.eu.nexthink.cloud" }, "exportPrefs": { "csvDelimiter": ",", "clipboardFormat": "html" }, }
- The storage layer (
option/lib/config-store.js) reads bothchrome.storage.sync(user data) andchrome.storage.managed(enterprise policy). - Policies accept two modes:
- Overlay (default): managed entries are merged into the user list. Flags
allowUserEntriesandlockManagedEntriescontrol whether users may add/edit their own entries. - Seed: managed data seeds the user profile once. With
seedReplace=true, it overwrites any existing configuration on first load.
- Overlay (default): managed entries are merged into the user list. Flags
- For Chrome Enterprise or macOS deployment, adapt
docs/MDM-samples/Chrome_Work1.mobileconfigby replacing the placeholder extension ID (XXXXXXXX). The managed payload sets the instance, menu, and export preferences underExtensionSettings. - The same directory also contains Intune remediation/compliance scripts (
NQARemediation.ps1,NQAChecking.ps1) that align with the managed schema. - See the managed policy behaviour matrix for detailed combinations and their impact on end users.
-
The content script (
content.js) observes Nexthink menus to locate kebab action panels on Device View and Investigations screens. -
When a menu opens, the script resolves the controlling row/button, extracts the currently selected column (
window.nqaPlaceHolder.columnName), filters configured entries for matching placeholders, and injects a native-looking submenu. -
Clicking a quick action opens the resolved URL in a new tab. The submenu closes automatically and tracks focus state so multiple menus cannot overlap.
-
The submenu header now displays the Nexthink Spark icon between separators to clearly distinguish native actions from extension-provided entries.
-
When rows are selected in Investigations, the Nexthink selection toolbar is enhanced with the Spark icon followed by Copy selection and Download CSV.
-
The copy action respects the clipboard format defined in the options page; hold
AltorShiftwhile clicking to temporarily switch to the alternate formats shown in the options card. A small indicator appears next to the button to confirm which mode is active. -
The CSV action always uses the configured delimiter.
-
Toast notifications confirm the number of exported rows and now mention the clipboard format when a modifier override is used. They also signal when the limit (default 200) truncates the selection.
-
When using the ASCII clipboard format, paste into a monospaced font (Courier, Consolas, Monaco, Menlo, etc.) to preserve the table grid. Choose the HTML table format when pasting into rich-text clients such as Outlook.
- During injection, placeholders such as
{devices_name}or wildcard forms like{*full_name}are replaced with the values exposed bywindow.nqaPlaceHolder.rawValues. - Placeholders without a matching key remain untouched, which keeps URLs predictable during troubleshooting.
content-cheatsheet.jswatches for the Investigations context. Once active, it clones the Nexthink menubar structure to append a QuickActions icon with a toggle state.- The floating panel lists every column detected in the current table along with its normalized placeholder (e.g.
{devices_name}). Copy buttons and toast notifications simplify building URLs for new actions. - A dark-mode friendly stylesheet (
#nqa-cheatsheet-style) keeps the panel visually aligned with the Nexthink UI.
popup/popup.jsloads the shared store, checks whether an instance exists, and adjusts the UI accordingly:- When configured, the form accepts a device name and opens Device View at
/sup/device/search/{query}in a new tab. - When no instance is found, the popup shows a call-to-action that opens the options page.
- When configured, the form accepts a device name and opens Device View at
- Storage listeners update the popup live after changes in the options page.
- A global shortcut (
Alt+Shift+Qby défaut sur Windows et macOS) ouvre aussi le popup et peut être ajusté viachrome://extensions/shortcuts.
manifest.json– entry point (MV3) declaring content scripts, popup, options page, and managed schema.option/– options experience assets (HTML, CSS, dialogs)option/lib/– reusable controllers for the options UI (config-store,menu-entries-controller,instance-section,import-export-toolbar).content.js– main injector for row menus and submenu creation.content-cheatsheet.js– Investigations placeholder helper + menu toggle.popup/– browser action markup, styles, and logic.icons/– Spark logos and extension icons referenced by the manifest and injected menus.docs/– supplementary documentation (policy behaviour matrix, MDM deployment samples inMDM-samples/, etc.).
- Load the folder as an unpacked extension in Chrome/Edge (
chrome://extensions→ Developer mode → Load unpacked). - Configure the Nexthink instance and quick actions via the options page, or use the Templates button to bootstrap a few example entries.
- Open a Nexthink Device View or Investigation, trigger the kebab menu, and use the "Quick Actions" submenu to launch downstream tools.
- Use the QuickActions toggle in the menubar to review available placeholders while authoring new links.
- If the submenu does not appear, confirm that the column you are using has a matching placeholder in your URL template. The cheat-sheet panel shows the exact keys the script detects.
- Managed policies override user settings depending on the chosen mode. Inspect
chrome://policyto verify the payload applied by your organization. - The options page surfaces validation errors inline (invalid URLs, missing placeholders). Correct them before saving.