Developer Pro v2.1.0 Venus
NowDev Assistant is a high-performance Chrome extension built for professional ServiceNow developers. It streamlines everything from GlideRecord generation to real-time AJAX debugging and live code execution.
Return to Landing PageThe Venus release (v2.1.0) represents a complete ground-up rebuild. We moved from a monolithic script-injector to a modern, service-oriented React application with Lazy-Mounted Tab Architecture. This ensures that NowDev is faster, more secure, and integrates deeper into the ServiceNow UI than ever before.
🏗️ Core Architecture
The architecture of NowDev Assistant v2 is designed for total isolation and high-fidelity interaction with the ServiceNow environment.
Shadow DOM Isolation
NowDev mounts its entire UI inside a Shadow Root. This ensures that the extension's CSS never conflicts with ServiceNow's global styles, and vice versa. You get a perfectly consistent UI regardless of which ServiceNow version (UI16 or Polaris) you are using.
Native Push Layout
Unlike other extensions that overlap your work, NowDev Assistant v2
uses a Native Push Layout. When the sidebar opens, it
dynamically resizes the ServiceNow body width. This "pushes" the main
workspace—including the header and the
gsft_main iframe—to the left, keeping everything visible
and accessible.
🔍 The Form Center
The Form Center is the centerpiece of version 2. It consolidates every form-specific development tool into a single, tabbed workspace. When you open a record, the Form Center automatically synchronizes with the active form context.
1. Explorer (Data Spy)
The Explorer provides a transparent view into the record's data structure. It automatically fetches every field associated with the current form, including hidden fields and system columns.
- Field Metadata: View internal column names, database labels, and data types (e.g., String, Reference, Choice).
- Value Analysis: See the raw database value alongside the display value for every field.
- Reference Tracking: Click any reference field to instantly navigate to the related record definition.
- Robust XML Parsing: Support for all table names, including those with special characters or leading underscores.
-
Smart Filters: Use the
NullandNot Nullfilters to isolate empty or populated fields during debugging.
2. Logic (Configuration Peek) Updated
Stop hunting through the Navigator for related scripts. The Logic sub-tab discovers every configuration governing the current form.
- Categorized Groups: View Business Rules, Client Scripts, UI Policies, and Data Policies in organized lists.
-
Hierarchy Discovery: NowDev automatically pulls
logic from parent tables. If you are on an
incidentform, you will also see logic inherited from thetasktable. - Status Indicators: Every item is tagged with an Active/Inactive badge and sorted alphabetically for quick scanning.
3. Ajax Tracker (Debugger)
A real-time monitor for background communication. Every
GlideAjax call made by the page is intercepted and
logged.
- Payload Inspection: View the exact parameters, Script Include names, and function calls being sent to the server.
- Response Analysis: See the raw XML or parsed JSON answer returned by the server.
-
Source Identification: Calls are tagged with
DEVbadges if they come from custom scripts andFORMbadges if they originate from the workspace frame.
4. Executor (Live Scratchpad)
The Executor is a full-featured JavaScript scratchpad that runs directly in the ServiceNow context.
-
Globals Access: Write code using
g_form,g_user,g_scratchpad, andGlideAjax. -
Integrated Terminal: View all
console.logandconsole.erroroutputs along with the script's return value.
5. Files (Attachment Manager)
Manage record attachments without the slow native ServiceNow popup.
- Instant Previews: View high-quality image thumbnails directly in the sidebar.
- Bulk Download: Download every attachment on the current record as a single ZIP file with one click.
🌐 Environment Switcher
NowDev makes working across multiple ServiceNow instances safer and faster.
Multi-Node Management
Configure your development, testing, and production instances in the settings. You can categorize nodes and store their URLs for instant access.
Visual Guardrails
When you are active on a configured instance, NowDev Assistant injects a color-coded visual guardrail onto the host page. For example, a Red border can be configured for Production to prevent accidental data modifications.
Contextual Switching
The 1-click switch allows you to open the record you are currently viewing in a different environment. If you find a bug in Prod, you can open that exact record in your Dev instance with one click.
⌨️ Code Generator Syntax
The core engine of NowDev allows you to write GlideRecord queries using intuitive natural language. This detailed syntax guide covers all supported operations.
<gr|ga> [operation] <table> [clauses]
gr: Standard GlideRecord operation.-
ga: GlideAggregate operation for data counting and grouping. -
[operation]: Defaults toquery. Also supportsinsert,update, anddelete. -
<table>: The internal name of the ServiceNow table (e.g.,incident,sys_user).
Supported Operations
1. Query Records
Used to fetch data from a table. This is the default operation if none is specified.
gr incident where active = true, priority = 1
2. Update Records
Updates existing records matching the criteria. Requires a
set clause.
gr update incident set state = 2, assigned_to = me where priority = 1
3. Insert a New Record
Creates a new record in the specified table.
gr insert incident set short_description = test ticket, priority = 2
4. Delete Records
Removes records matching the filter criteria.
gr delete incident where state = 6
Date Shortcuts
NowDev supports a wide range of natural language keywords for date
fields. These are automatically converted to
gs.beginningOf...() or gs.daysAgo() methods.
| Keyword | ServiceNow Equivalent |
|---|---|
today |
gs.beginningOfToday() |
yesterday |
gs.beginningOfYesterday() |
tomorrow |
gs.beginningOfTomorrow() |
this_week |
gs.beginningOfThisWeek() |
last_month |
gs.beginningOfLastMonth() |
next_year |
gs.beginningOfNextYear() |
Special Keywords
Enhance your queries with built-in logic shortcuts:
-
me: Automatically resolves to the current user's Sys ID (gs.getUserID()). -
null/notnull: Shortcuts foraddNullQuery()andaddNotNullQuery(). -
active: InjectsaddActiveQuery()into the generated script.
Advanced Code Examples
Aggregate Data (ga)
Count and group records using GlideAggregate.
ga incident where active = true group by priority aggregate count, avg(priority)
Join Queries
Perform a join between two tables using the join clause.
gr task where active = true join incident on task_id = sys_id
Multi-Value & Encoded Queries
Handle complex lists and existing ServiceNow encoded query strings.
gr incident where state in [1, 2, 3] gr incident where state = 1 | 2 | 3 gr incident encoded active=true^priority=1
📃 List Helper
The List Helper allows you to extract data from any ServiceNow list view without running database exports. It is located in the main navigation rail.
- Column Selection: A dropdown lists every column currently visible in your list view.
- Value Extraction: Once a column is selected, the tool pulls every value from the current page into a clean text list.
- CSV Download: Export your results instantly as a CSV file for reporting or data migration.
📝 Release Notes
Venus Release v2.1.0
- Quick Switcher: Single-click environment navigation accessible directly from the floating sidebar.
- Logic Creation Shortcuts: Direct "New" buttons for Business Rules, Client Scripts, and UI Policies with auto-populated table context.
- Enhanced Record Explorer: High-fidelity field cards showing labels, column names, types, and inherited source tables.
- Reference & Choice Discovery: Clickable reference links and detailed choice list analysis (Stored vs. Display values).
- List-to-Glide Generator: One-click conversion of active list filters into ready-to-use GlideRecord query scripts.
- React-Powered Architecture: Full ground-up rebuild for superior performance, state management, and modularity.
- Lazy-Mounted Sidebar: On-demand component mounting for a lightweight initial footprint and zero interference.
- Event-Driven Sync: Real-time navigation tracking using the History API for instant record context updates.
Venus Release — Major Overhaul v2.0.0
The assistant has been completely rebuilt from the ground up to provide a faster, more stable, and highly isolated development experience.
- React-Powered Architecture: The entire application was rewritten in React, moving from monolithic script injection to high-performance state management.
- Shadow DOM Isolation: Implementation of a full Shadow Root ensures NowDev's styles never conflict with ServiceNow's global CSS.
- Lazy-Mounted Sidebar: Intelligent on-demand component mounting reduces memory usage and ensures zero interference with the host page.
- Event-Driven Navigation: A new History API bridge provides instant, polling-free detection of record and list transitions.
- Quick Switcher: Single-click environment navigation accessible directly from the floating sidebar.
- Logic Creation Shortcuts: Direct "New" buttons for Business Rules, Client Scripts, and UI Policies with auto-populated table context.
- Enhanced Record Explorer: High-fidelity field cards showing labels, column names, types, and inherited source tables.
- List-to-Glide Generator: One-click conversion of active list filters into ready-to-use GlideRecord query scripts.
Mercury Release v1.x.x
- Initial release with basic Data Spy and Code Generation capabilities.
- Introduction of the native push-layout sidebar.
🔐 Security & Privacy
NowDev Assistant is built with a "Privacy First" philosophy. It is designed to be as transparent and secure as the ServiceNow platform itself.
- Direct Integration: The extension does not use any external APIs for core processing. All GlideRecord generation and data parsing happens locally in your browser.
- Session Security: NowDev uses your existing, active ServiceNow session. It never asks for or stores your credentials.
- Isolation: The use of Shadow DOM and Isolated Worlds in Chrome ensures that your extension data cannot be accessed by other scripts on the page.
❓ Troubleshooting
| Issue | Solution |
|---|---|
| Clipboard blocked | Ensure browser permissions for clipboard access are enabled for the extension. |
| Form Center not loading |
Refresh the page. Ensure you are on a standard
.do page with a valid Sys ID.
|
| Ajax Tracker empty | The tracker only captures calls made while the extension is active. Trigger a form action to see new calls. |