@servicenow/sdk — Release Notes
Version: 4.6.0
Availability: npm — https://www.npmjs.com/package/@servicenow/sdk
🚀 Overview
Version 4.6.0 adds several new Fluent APIs, Custom Action support, improvements to AIAF and NASK, and a range of bug fixes.
Note
✨ New: ServiceNow SDK AI Skills
Build, edit, and deploy Fluent applications using external AI coding assistants like Claude Code or Kiro — outside the ServiceNow IDE. The now-sdk-explain skill (powered by the explain command in this release) gives your AI assistant real-time access to live SDK documentation, so it always works from current API signatures and platform patterns rather than outdated training data.
Requires @servicenow/sdk v4.6.0 or newer. Learn more →
New Fluent APIs
Custom Actions & Flow Enhancements
This release significantly expands Flow and Subflow authoring capabilities:
- Author Custom Actions — Custom Action definitions can now be created directly in Fluent with typed step references for IntelliSense and compile-time safety. Script steps are externalized to separate files for a better editing experience.
- Call Subflows from Flows and Subflows — Flows and Subflows can now invoke other Subflows as steps.
- Call Custom Actions from Flows and Subflows — Custom Actions can be used as steps within Flows and Subflows.
- Reference global and cross-scope Subflows and Actions — Flows and Subflows can reference Subflows and Custom Actions from global scope or other application scopes via the SDK's dependency mechanism.
Inbound Email Actions
The new InboundEmailAction API enables declarative creation of inbound email action records (sysevent_in_email_action).
Service Portal
Additional Service Portal APIs have been added to round out existing coverage:
SPHeaderFooterfor creating header and footer recordsSPPageRouteMapfor defining page-to-page redirect mappings within a portal
Form
The Form API is now available, enabling declarative configuration of forms directly in Fluent.
Updates to Existing APIs
AI Agent Framework (AIAF)
Automatic ACL Generation for AI Agents
AiAgent and AiAgenticWorkflow APIs now automatically generate the required security ACL records as part of the build. Developers no longer need to define ACLs separately for their agents.
Now Assist Skill Kit (NASK)
Auto-generated Standard Outputs
When the outputs array is omitted from a NowAssistSkillConfig, the five standard skill outputs (response, provider, errorcode, status, error) are now automatically generated. Only define outputs when adding custom outputs beyond these defaults.
Expanded Input Data Types
Skill input attributes now support additional data types: glide_record, simple_array, json_object, and json_array — in addition to the existing string, numeric, and boolean types. A tableName is required when using glide_record, and an optional truncate flag is available for scalar types.
New Features & Changes
Stricter sys_id Conflict Detection
The build now distinguishes between two types of sys_id conflicts:
- Fluent vs Fluent conflicts (two
.now.tsfiles defining the same record) always produce an error. - XML vs Fluent conflicts continue to respect the
--errorOnConflictflag.
explain Command Improvements
The now-sdk explain command has been significantly improved:
- More accurate results using tag-based lookup.
--listdisplays the full index of available topics.--format=rawoutputs raw Markdown.--peekshows a brief summary without opening the full document.
# Browse all available topics
now-sdk explain records --list
# Preview a topic without opening the full doc
now-sdk explain records --peekOther Changes
- The
TableAPI now supports creating dictionary override records (sys_dictionary_override) directly, without needing a separate API. ScheduledScriptscript fields now support modules.- Project templates have been simplified:
tsconfigrelocated tosrc/, unnecessary index file removed, and ajsconfigadded for JavaScript templates.
Bug Fixes
Now Assist Skill Kit (NASK)
- Fixed duplicate tool inputs and outputs being generated in certain configurations.
- Fixed issues with UI action handling in skill definitions.
- Fixed delete functionality for skill records.
- Fixed
activeflag not being correctly applied during build.
Service Portal
- Fixed duplicate M2M records being created for catalog and knowledge base items when using the Service Portal Fluent API.
- Fixed missing portal settings and availability config fields on
CatalogItemRecordProducerthat were already supported onCatalogItem(hideAddToCart,hideAddToWishList,hideDeliveryTime,hideQuantitySelector,hideSP,image,model,mobilePictureType).
Front-end Framework Support
- Fixed source manifest generation failing when a project contains multiple UI pages with different entry file names.
- Fixed source artifacts missing assets that were imported via CSS
url()references.
Flows & Custom Actions
- Fixed a regression where flow variable column types were lost during build.
- Fixed a data type mismatch in datapill expressions where reference types were incorrectly treated as strings.
- Fixed empty strings being silently accepted for mandatory inputs in core actions.
Transform
- Fixed HTML entities being appended as individual characters instead of being decoded during transform.
- Fixed a TypeScript error after transform where
"GUID"was not recognized as a valid flow data type.
Build
- Fixed UI Page build failures when inline scripts contain unescaped
<operators or HTML literals. - Fixed object keys that start with a digit not being quoted, which caused JavaScript parse errors.
Configuration
tableDefaultLanguageinnow.confighas been renamed todefaultLanguage. The old name continues to work but is deprecated.
Fluent Language Extension v2.1.2 — VS Code Marketplace · Open VSX