SN Widget Kit logoSN Widget Kit
Docs

Introduction

SN Widget Kit

A modern developer workflow for ServiceNow Service Portal widgets — edit in VS Code with real IntelliSense, iterate with live preview and hot reload, and push back safely with deploy guards.

Pull each widget into a Git-versionable folder, edit it in VS Code with autocomplete from your own instance, iterate fast with a live preview, and push your changes back through safety guards (instance, scope, Update Set, production). It complements the platform rather than replacing it: the heavy lifting — Glide, the catalog runtime, ACLs — still runs on ServiceNow. This is the editor, preview and safety layer around it.

Two preview modes, by design
A local sandbox preview for fast iteration on the widgets you build, and hot reload on the real portal for full fidelity on anything — including complex out-of-the-box widgets that depend on the ServiceNow runtime. See Which preview for which widget? so you always know which tool fits.

Highlights

🖥️Local sandbox preview

Renders your widget (AngularJS + Bootstrap) and refreshes on save — ideal for self-contained widgets.

🌐Hot reload on the real portal

Edit locally and watch the change apply on the actual Service Portal, with the full ServiceNow runtime and real data.

🐞Server Script Debug Panel

Run server.js on demand, inspect logs, UI messages and formatted stack traces — re-runs use your unsaved edits.

⏱️Performance Profiler

Per-render timing, a GlideRecord query counter, and a slow-render alert above a configurable threshold.

🔀Conflict Resolution Assistant

A guided 3-way merge (yours / server / ancestor) per field, with native inline accept buttons and an audit log.

🧠Real IntelliSense

Not just gs, GlideRecord, $sp, spUtil — the Script Includes from YOUR instance, synced automatically.

🔐Basic or OAuth 2.0 (SSO / MFA)

Sign in with username + password, or via OAuth 2.0 (Auth Code + PKCE) so SSO and MFA are handled on ServiceNow.

🏢Multi-instance profiles

Named DEV / QA / PROD profiles side by side, per-instance widget folders, cross-instance push block and PROD confirmation.

Other built-in conveniences: widget templates & scaffolding, server.js running locally in a sandbox, offline mode via a per-widget fixtures.json, a Working Context guard for Scope and Update Set, Git-friendly folders, and no browser extension — everything goes through the REST API.