SuiteScript

This release note was updated April 13, 2026.

Refer to the following sections for details on SuiteScript updates for NetSuite 2026.1:

Custom Tool Script Enhancements

NetSuite 2026.1 introduces the following enhancements to custom tool scripts:

Custom Tool Script and SDF Object Updates

The custom tool script type and its corresponding SuiteCloud Development Framework (SDF) object have been updated. With these changes, you can now view execution logs for custom tool scripts on the Script Execution Logs page by going to Customization > Scripting > Script Execution Logs.

To use this logging feature, update your existing custom tool scripts and their corresponding SDF objects, and ensure that new and updated custom tool implementations include the following updates:

  • For custom tool scripts:

    • Add the JSDoc tag @NScriptType CustomTool.

    • Declare entry point functions for tool methods as asynchronous.

  • For SDF object XML definition files associated with custom tool scripts:

    • Change the SDF object name from tool to toolset.

    • Update the scriptid prefix from customtool_ to custtoolset_.

    • Rename the attribute exposeto3rdpartyagents to exposetoaiconnector.

Applying these updates gives you improved script monitoring and troubleshooting capabilities with access to execution logs. For guidance on updating your custom tools, see How to Update Custom Tool Scripts for Execution Log Support in NetSuite 2026.1 (SuiteAnswers ID: 1024036).

For more information, see the following help topics:

You can also see the updated sample SuiteCloud project in the MCP-Sample-Tools directory of the SuiteCloud Project Repository on Oracle Samples GitHub.

New Custom Tools Page

In NetSuite, custom tool scripts let you define one or more tools, which are individual functions that perform specific actions and can be invoked by external AI clients through the NetSuite AI Connector Service.

The new Custom Tools page provides a centralized location to view and manage the tools available in your NetSuite account. This page displays tools from SuiteApps and account customization projects (ACPs), organized by toolset, which is the SDF object used to define custom tool scripts and group related tools.

To access the Custom Tools page, go to Customization > Scripting > Custom Tools.

Custom Tools page that shows the tools available in a NetSuite account.

When you expand a toolset, you can see individual tools and the permissions required to access them in the AI client. You can delete ACP toolsets directly from the Custom Tools page. You can't delete SuiteApp toolsets from this page, but you can use the SuiteApp link to go to the Installed SuiteApps page and remove the SuiteApp toolsets by uninstalling the associated SuiteApp.

For more information, see Managing Custom Tools in NetSuite.

Binary file support for N/https Module

You can now send a binary file in SuiteScript with the N/https module. Convert the file contents to a Uint8Array with Uint8Array.fromBase64(), then pass the result in the options.body parameter of https.post(options). You can send only one file per request.

For details, see https.post(options).

New Preference to Use LIST for SFTP File Uploads

A new preference named SFTP: Use LIST to Test That a File Exists is now available on the General Preferences page. Set this preference only when uploading to SFTP servers that don't support the default STAT command and trigger false FILE_ALREADY_EXISTS errors.

When the SFTP: Use LIST to Test That a File Exists box is checked, the N/sftp module switches its file-existence check from STAT to LIST. This setting eliminates the FILE_ALREADY_EXISTS duplicate file error during SFTP uploads, without sacrificing performance.

You need the Set Up Company permission to set this preference.

For details, see Setting General Transaction Preferences.

New Preference to Execute SuiteScript 2.0 Scripts as SuiteScript 2.1

A new company preference is now available that lets you run all SuiteScript 2.0 server scripts in a SuiteScript 2.1 environment. This new preference helps you verify that existing SuiteScript 2.0 server scripts function correctly under SuiteScript 2.1. Note that only those SuiteScript 2.0 server scripts recognized as compatible with SuiteScript 2.1 will be affected by this preference.

Take advantage of this preference to verify existing SuiteScript 2.0 server scripts for SuiteScript 2.1 environment compatibility. If your SuiteScript 2.0 server script validates successfully with this preference enabled, consider updating the script annotation to SuiteScript 2.1 to take advantage of performance benefits. If your SuiteScript 2.0 server script does not validate successfully, it will continue to run as SuiteScript 2.0. Script records with the "Execute As" field set to 2.0, will continue to run as SuiteScript 2.0.

By enabling this preference, SuiteScript 2.0 scripts are executed using the SuiteScript 2.1 runtime engine, which provides improved performance and stability compared to the SuiteScript 2.0 runtime engine. For more information, see SuiteScript 2.1

To use this setting, go to Setup > Company > General Preferences and check the Execute SuiteScript 2.0 Server Scripts as 2.1 box.

N/http and N/https Now Supports PATCH Method

The Method enumeration in both N/http and N/https API modules now includes PATCH. Use it for external calls or internal Suitelet calls with these functions:

Important:

You can pass either http.Method.PATCH or https.Method.PATCH to any parameter that accepts a Method value. If, however, the API doesn't allow PATCH, NetSuite returns HTTP 405 (Method Not Allowed).

For more information, see http.Method and https.Method.

Support for GPT-OSS Model in N/llm Module

The N/llm module now supports the OpenAI GPT-OSS model. You can specify this model when you call llm.generateText(options) and llm.generateTextStreamed(options) (and their promise versions). For more information, see llm.ModelFamily.

Tooling Support in the N/llm Module

The N/llm module now supports tooling, which lets SuiteScript developers extend large language model (LLM) interactions with custom tools. This enhancement addresses limitations in static LLM responses by letting scripts run business logic, retrieve NetSuite data, and return structured outputs during response generation. You can use tooling to build more dynamic, context-aware AI experiences that align with specific business workflows.

Define a tool using llm.createTool(options) and specify required parameters using llm.createToolParameter(options). Provide these tools when calling llm.generateText(options) or llm.generateTextStreamed(options) so the LLM can determine when to request them. When the LLM response includes tool call requests, your script can run the corresponding tool handler and return results using llm.createToolResult(options). Your script can repeat this process until no additional tool call requests are required. Using tools can help you build interactive, AI-driven workflows that combine user input, LLM reasoning, and NetSuite data.

For more information, see Tooling in the N/llm Module.

New SuiteCloud Agent Skills

You can now use SuiteCloud Agent Skills, a platform-agnostic skill collection that supports common NetSuite and SuiteCloud development workflows (SuiteScript, SDF, UIF SPA components, security, documentation, deployment). This content helps you standardize recurring tasks, reduce errors through source-of-truth references, and reinforce security practices such as least-privilege access patterns.

The following skills are now available for use:

  • netsuite-ai-connector-instructions: Provides guardrails and domain guidance for AI-to-NetSuite sessions, enforcing correct tool selection, safe SuiteQL usage, consistent output formatting, and proper multi-subsidiary and currency handling through the NetSuite AI Service Connector.

  • netsuite-sdf-roles-and-permissions: Helps generate and review SDF permission configurations (for example, customrole XML and script deployment permissions) and validates permission IDs/levels using NetSuite reference data.

  • netsuite-uif-spa-reference: Helps build, modify, and debug NetSuite UIF SPA components by providing API/type lookup for @uif-js/core and @uif-js/component (constructors, methods, props, enums, hooks, and component options).

This update provides a developer tool package (CLI), not a NetSuite UI feature. You must use command line interface for installation and execution. For more information, see SuiteCloud Agent Skills.

General Notices