A keyboard-first
command palette
for ServiceNow.

JSNT overlays a fast, keyboard-driven palette on every ServiceNow page — plus per-field Monaco editors, instant switchers, and XML diff. No server. Everything runs in the browser, talking directly to the instance you're already logged into.

/opens the palette on any ServiceNow page

Submitting to the Chrome Web Store now — the install link will appear here once review completes.

01 · Headline

Every command, one keystroke away.

Type a slash and a two-letter command — /br, /si, /cs. JSNT scores matches with a frecency bias so the records you actually open keep floating to the top. Add modifier switches like -a for active only or -um for updated by me, and the URL is built for you.

02 · Inspector

See what the form is hiding.

The inspector renders every field on a record — including hidden ones — with technical names, types, and live values. Reference fields drill into their target table without a page reload. Sensitive fields stay masked, even in the filter haystack.

  • password stays •••••••• — clipboard included
  • Reference rows show the target table inline
  • Boolean and datetime types are typeset, not stringified
03 · XML diff

Two records,
side by side.

Compare any two records — same instance or cross-instance — with a structured diff that respects ServiceNow's update-set semantics. Picks up renames, ignores noise on system fields, and tells you exactly what would land in a promotion.

04 · The rest

More keyboard, less mouse.

Per-field Monaco editors

Open any script field in a real Monaco editor with version history and direct save back to the platform.

escalate.js
script_include.js
saved
12345678910
// auto-saved · revision 14 of 14(function executeRule(current, previous) { if (current.priority <= 2) { current.work_notes = 'Auto-escalated to network ops'; var sla = new GlideRecord('task_sla'); sla.addQuery('task', current.sys_id); sla.query(); }})(current, previous);

Instant switchers

Update set, scope, domain, language, cluster node — each one keystroke away.

/usUpdate set
NETWORK-2026.04
12 changes
TICKETS-FLOW
4 changes
Default
system default
warn

Global code search

One query across every script-bearing metadata table.

priority <= 247 hits
sys_script
Auto-escalate critical
if (current.priority <= 2) { …
sys_script_client
Set priority on form
g_form.setValue('priority', …
sys_ui_action
Bulk reprioritize
current.update();

GlideRecord template generator

Pick a table and the fields you want — JSNT writes the GlideRecord block, encoded query in place, straight to the clipboard.

Fields
caller_idshort_descriptionpriorityassignment_groupsys_updated_on
12345678910
// from /gr incident — picked fields belowvar gr = new GlideRecord('incident');gr.addQuery('active', true);gr.addQuery('priority', '<=', 2);gr.setLimit(50);gr.query();while (gr.next()) { var caller = gr.caller_id.getDisplayValue(); var summary = gr.short_description.toString();