Custom Tool JSON Schema
A custom tool JSON schema describes the inputs and outputs for each tool, providing the structure AI clients and NetSuite use to interact with your custom tools.
The following table describes the properties defined in the tool schema.
If you include a property that is not listed in the following table, it will be ignored.
|
Property |
Type |
Required or Optional |
Description |
|---|---|---|---|
|
|
string |
Required |
Method name as written in the script file. |
|
|
string |
Required |
Explains the tool's purpose. The AI client uses this information to decide when to use the tool. |
|
|
object |
Required |
Defines the input parameters. |
|
|
string |
Required |
The type of the input parameter. Only accepts |
|
|
object |
Required |
Key-value pairs for parameter names and their properties. Each parameter has a type and description. Supported types are For example:
|
|
|
array<string> |
Required |
Array of required parameters, as defined in |
|
|
array<string> |
Required for ChatGPT |
Array of nullable parameters, as defined in This parameter is ChatGPT-specific. |
|
|
object |
Required for ChatGPT, optional for other AI clients |
Defines the expected output structure. If specified, the tool returns a structured output. |
|
|
string |
Required for ChatGPT, optional for other AI clients |
The type of the output parameter. Only accepts |
|
|
object |
Required |
Key-value pairs for parameter names and their properties. Each parameter has a type and description. Supported types are If you use an
|
|
|
array<string> |
Required |
Array of required parameters, as defined in |
|
|
array<string> |
Required for ChatGPT |
Array of nullable parameters, as defined in This parameter is ChatGPT-specific. |
|
|
object |
Optional |
Additional metadata for the tool. |
|
|
string |
Optional |
Tool title. If not specified, the tool name will be used. |
|
|
boolean |
Optional |
Default value is false. If not specified, the default value will be used. If true, the tool doesn't change its environment. |
|
|
boolean |
Optional |
Default value is false. If not specified, the default value will be used. If true, calling the tool repeatedly with the same arguments have no further effect on its environment. This property applies only when |
|
|
boolean |
Optional |
Default value is false. If not specified, the default value will be used. If true, the tool can interact with external entities beyond its predefined domain. If false, the tool's interactions are limited to its defined scope. |
|
|
boolean |
Optional |
Default value is true. If not specified, the default value will be used. If true, the tool can remove or overwrite existing information in its environment. If false, the tool only adds new information and doesn't remove or change existing data. This property applies only when |