NetSuite by Oracle is a cloud-based ERP suite that combines accounting, CRM, e-commerce, and inventory management for comprehensive business oversight
NetSuite by Oracle is a cloud-based ERP suite that combines accounting, CRM, e-commerce, and inventory management for comprehensive business oversight On Nagent, Netsuite is exposed as a fully-configurable accounting integration that any agent can call — 86 actions, and OAuth authentication. No code is required to wire Netsuite into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Netsuite to automate the kinds of tasks accounting teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Netsuite into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Netsuite, with input parameters and output schema. Drop these into any step of an agent built in Helix.
NETSUITE_ASYNC_GET_JOB_STATUSRetrieves the current status of an asynchronous NetSuite REST job. Use this tool to check whether an async job has completed and its progress state. When you submit any NetSuite REST API request with the 'Prefer: respond-async' header, NetSuite returns a Location header containing the job ID. Use that job ID with this tool to poll the job's status. The response indicates if the job is completed, its progress state (pending/processing/succeeded/failed), and provides links to retrieve the job results once completed.
Input parameters
The Job ID extracted from the Location header URL when an async request was submitted with 'Prefer: respond-async'. For example, if Location header is 'https://demo.suitetalk.api.netsuite.com/services/rest/async/v1/job/203', the job ID is '203'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_ASYNC_GET_JOB_TASKRetrieves the task reference (task ID and URL) for an asynchronous job in NetSuite. Use this action after submitting an async request with 'Prefer: respond-async' header and receiving a job_id in the Location header. The task ID is required to retrieve the job's result using the async get job task result action. Typical workflow: 1) Submit async request → 2) Get job_id → 3) Use this action to get task_id → 4) Poll job status → 5) Retrieve results with task_id.
Input parameters
Internal ID of the asynchronous job returned when initiating a request with Prefer: respond-async.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_ASYNC_GET_JOB_TASK_RESULTTool to retrieve the payload result of a completed async task. Use after confirming the async job and task have completed to fetch the operation's output.
Input parameters
The async job ID returned in the Location header when the request was submitted with Prefer: respond-async.
The task ID for the submitted job, obtained via the async task endpoints for the given job.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_CUSTOMERCreates a new customer record in NetSuite. Requires subsidiary ID and either company name (for business customers) or first/last name (for individual customers). Returns the location URL of the created customer record, or an async job URL if using async mode.
Input parameters
JSON object with customer data. Required fields: 'subsidiary' (object with 'id'), and either 'companyName' (for company customers) or 'firstName'+'lastName' (for individual customers). Optional fields include: 'email', 'phone', 'isPerson' (set to 'T' for individuals), 'comments', etc.
Use 'respond-async' to run the create operation asynchronously.
Comma-separated list of sublist names (e.g., 'contacts', 'addressbook') to fully replace rather than merge with existing data. Only applicable when updating existing records.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls how NetSuite handles invalid property names in the request body. 'Error' (default) rejects requests with invalid names, 'Warning' accepts but warns, 'Ignore Warning' silently ignores invalid names.
Controls how NetSuite handles invalid property values in the request body. 'Error' (default) rejects requests with invalid values, 'Warning' accepts but warns, 'Ignore Error' attempts to proceed despite invalid values.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_CUSTOMER_PAYMENTCreates a customer payment record in NetSuite. Requires account (deposit account), customer reference, and payment amount. Optionally link payment to specific invoices via the 'apply' sublist. Returns the URL of the created payment record.
Input parameters
Customer payment record data. Required fields: 'account' (deposit account, typically Undeposited Funds), 'customer' (customer ID reference), and 'payment' (payment amount). Optional: 'memo', 'toBeEmailed', 'apply' (sublist to link payment to specific invoices with doc/line/apply/amount fields).
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_EMPLOYEECreates a new employee record in NetSuite. Required: firstName, lastName, and subsidiary ID. Returns the URL of the created employee in the location field. Supports async creation with 'respond-async' preference.
Input parameters
Employee record data. Required fields: firstName (string), lastName (string), and subsidiary (object with id). Optional fields include email, phone, title, department, supervisor, comments, etc. Example: {'firstName': 'John', 'lastName': 'Doe', 'subsidiary': {'id': '1'}}
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_INVOICETool to create a new invoice record. Use when you have all required invoice details and want to add them to NetSuite.
Input parameters
JSON object matching NetSuite Invoice metadata; include all mandatory fields.
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_ITEMCreates a new item record in NetSuite via REST API. Supports multiple item types including inventory items, service items, and description items. Returns the URL of the created item. Use this when you need to add new products, services, or descriptive items to the NetSuite catalog.
Input parameters
Item data as JSON object. Required fields vary by record_type. Minimum required for all types: 'itemId' (unique identifier) and 'displayName' (item name). Additional common fields: 'description', 'isInactive', 'taxSchedule' (object with 'id' property, required for inventory/service items), 'incomeAccount', 'assetAccount', 'cogsAccount' (account references as objects with 'id' property). Note: Required fields depend on your NetSuite account configuration and the specific item type.
Use 'respond-async' to queue the create operation for asynchronous processing. Note: Using this option typically results in HTTP 202 Accepted with a Location header to poll job status.
Comma-separated names of sublists/sub-collections to replace entirely (not merge) with provided data. Common sublists: 'pricing' (price levels), 'itemVendor' (vendor associations), 'binNumber' (bin locations). If omitted, sublists are merged/appended. Use this to completely overwrite existing sublist data.
Type of item to create. Common types: 'inventoryItem' (tracked inventory with quantities), 'descriptionItem' (non-transactional descriptive text), 'serviceSaleItem' (services sold to customers), 'markupItem' (markup/discount items). Note: Different types have different required fields - inventoryItem and serviceSaleItem typically require taxSchedule, incomeAccount, assetAccount, cogsAccount; descriptionItem only requires itemId and displayName.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls how NetSuite handles unrecognized property names in the request body. 'Error' (default): Reject request if unrecognized properties exist. 'Warning': Accept request but return warnings. 'Ignore Warning': Accept request silently ignoring unrecognized properties.
Controls how NetSuite handles invalid property values in the request body. 'Error' (default): Reject request if invalid values exist. 'Warning': Accept request but return warnings for invalid values. 'Ignore Error': Attempt to process request ignoring validation errors (not recommended).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_JOURNAL_ENTRYTool to create a new journal entry record. Use when posting balanced debits and credits to the general ledger.
Input parameters
JSON object matching NetSuite Journal Entry metadata; include all mandatory fields.
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_JWT_CLIENT_ASSERTIONTool to build a JWT client assertion for NetSuite OAuth2 client credentials. Use before exchanging for an access token.
Input parameters
Signing algorithm to use. Defaults to PS256. Supported: PS256 (RSA-PSS), RS256 (RSA), HS256 (HMAC).
Audience for the JWT assertion. Defaults to the NetSuite OAuth2 token endpoint for your account.
Expiration time as Unix timestamp (seconds). Must be no more than 3600 seconds after iat. Defaults to iat + 300.
Issued-at time as Unix timestamp (seconds). Defaults to current time.
Comma-separated list of scopes for the JWT assertion. Allowed values: restlets, rest_webservices, suite_analytics.
Integration client ID (Application ID) to use as JWT issuer (iss). If omitted, taken from metadata.
Certificate ID to set as JWT header 'kid'. If omitted, taken from metadata consumer_id.
RSA private key in PEM format used to sign the JWT with PS256. If omitted, taken from metadata consumer_secret.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_PURCHASE_ORDERTool to create a new purchase order record. Use when you need to submit a purchase order to a vendor.
Input parameters
Container for purchase order line items
Header memo for the purchase order
Use 'respond-async' to run the create operation asynchronously
Vendor record reference
Comma-separated sublist names to fully replace with those provided
Reference to another NetSuite record by internal ID.
Transaction date in YYYY-MM-DD format
Reference to another NetSuite record by internal ID.
UUID to ensure idempotent async requests
Controls strictness for property name validation
Controls strictness for property value validation
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_RECORDCreates a new NetSuite record of any type (customer, vendor, invoice, sales order, etc.). Use this action when you need to create any type of record in NetSuite. Provide the record type identifier and a JSON body with all required fields. Consider using GET_RECORD_METADATA first to discover required fields and valid values. Supports both synchronous (immediate) and asynchronous (background) creation. Returns the new record's ID and location URL. Limitations: Does not support subrecord creation or bulk operations (use dedicated bulk actions instead).
Input parameters
Record data as a JSON object. Must include all required fields for the record type. Use GET_RECORD_METADATA to discover required fields and schema. Common fields: companyname/firstname+lastname (for entities), subsidiary reference (often required).
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
Record type identifier (e.g., 'customer', 'vendor', 'salesorder', 'invoice', 'employee', 'item'). For custom records, use 'customrecord_<scriptId>' format.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls validation level for unrecognized property names: 'error' (reject request), 'warning' (accept but warn), 'ignore' (silently accept). Default behavior rejects invalid names.
Controls validation level for invalid property values: 'error' (reject request), 'warning' (accept but warn), 'ignore' (silently accept). Default behavior rejects invalid values.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_SALES_ORDERTool to create a new sales order record in NetSuite. Use this when you need to submit a customer order with one or more items. Each line item requires: - item: Reference to the inventory/service item (internal ID) - quantity: Number of units to order - rate: Unit price (optional if item has default pricing) - taxcode: Tax code reference (required if SuiteTax is enabled on the account) Note: NetSuite accounts with SuiteTax enabled require tax codes for line items.
Input parameters
Container for sales order line items. Must include at least one item with quantity and pricing.
Header memo for the sales order
Use 'respond-async' to run the create operation asynchronously
Customer record reference (internal ID required)
Comma-separated sublist names to fully replace with those provided
Transaction date in YYYY-MM-DD format
Reference to another NetSuite record by internal ID.
Internal ID of the custom sales order form (determines billing behavior)
Approval status: 'A' = Pending Approval, 'B' = Pending Fulfillment
External reference or PO number
UUID to ensure idempotent async requests
Controls strictness for property name validation
Controls strictness for property value validation
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_VENDORCreates a new vendor record in NetSuite. Required: vendor name (companyName) and subsidiary ID. Use this when you need to add a new vendor to NetSuite's vendor list for procurement or accounts payable purposes.
Input parameters
JSON object containing vendor data. Required fields: 'companyName' (string) and 'subsidiary' (object with 'id' field, e.g., {'id': '3'}). Common optional fields: 'email', 'phone', 'fax', 'url', 'isPerson' (boolean), 'comments'. See NetSuite REST API vendor documentation for complete field list.
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_CREATE_VENDOR_BILLTool to create a new vendor bill record. Use when you have all required bill and line-item details to add a vendor bill in NetSuite.
Input parameters
JSON object matching NetSuite vendorBill schema; include all mandatory fields.
Use 'respond-async' to run the create operation asynchronously.
Comma-separated sublist names to fully replace with those provided.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_CUSTOMERTool to delete a customer record by ID. Use when you need to remove an existing customer record from NetSuite.
Input parameters
Internal ID of the customer record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_CUSTOMER_PAYMENTDelete a customer payment record from NetSuite by its ID. Use this action to permanently remove a customer payment record. You can delete by internal ID (numeric) or external ID (prefixed with 'eid:'). This is a destructive operation and cannot be undone. Returns success=true on successful deletion (HTTP 204).
Input parameters
Internal ID or external ID (prefixed with 'eid:') of the customer payment record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_EMPLOYEEDeletes an employee record from NetSuite by its internal ID. This permanently removes the employee record. Use this when you need to remove a terminated or invalid employee from the system. Returns success=true on successful deletion, or raises an error if the employee doesn't exist.
Input parameters
The internal ID of the employee record to delete. Must be a positive integer representing an existing employee in NetSuite.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_INVOICETool to delete an invoice record by ID. Use when you need to remove an existing invoice record from NetSuite.
Input parameters
Internal ID of the invoice record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_ITEMTool to delete an item record by its type and ID. Use when you need to remove an existing item record from NetSuite. Use after verifying the record exists to avoid unintended deletions.
Input parameters
The record instance identifier to delete. May be an internal numeric ID (e.g., '107') or an external ID prefixed with 'eid:' (e.g., 'eid:EXTERNAL_123').
The REST record ID for the specific item type to delete. E.g., 'inventoryItem', 'nonInventoryPurchaseItem', 'kitItem', 'assemblyItem', 'descriptionItem'.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_ITEM_FULFILLMENTTool to delete an Item Fulfillment record. Use when you need to remove an existing Item Fulfillment record from NetSuite. Use after confirming the record exists.
Input parameters
Internal ID of the Item Fulfillment record to delete, or external ID prefixed with 'eid:'.
Optional header 'Prefer'. Use 'respond-async' to run delete asynchronously.
Optional 'X-NetSuite-Idempotency-Key' header for idempotency with async requests.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_ITEM_RECEIPTTool to delete an item receipt record by ID. Use when you need to remove an existing item receipt from NetSuite.
Input parameters
Internal ID of the item receipt record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_JOURNAL_ENTRYTool to delete a journal entry record by ID. Use when you need to remove an existing journal entry from NetSuite.
Input parameters
Internal ID of the journal entry record to delete
Use header 'Prefer: respond-async' to execute asynchronously
Idempotency key (UUID) for asynchronous requests; ignored if request is synchronous
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_PURCHASE_ORDERTool to delete a purchase order record by ID. Use when you need to remove an existing purchase order from NetSuite.
Input parameters
Internal ID of the purchase order record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_SALES_ORDERTool to delete a sales order by internal ID. Use when you need to remove an existing sales order record from NetSuite. Use after confirming the record exists to avoid unintended deletions.
Input parameters
Internal ID of the sales order record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_DELETE_VENDOR_PAYMENTTool to delete a vendor payment record by ID. Use when you need to remove an existing vendor payment from NetSuite.
Input parameters
Internal ID of the vendor payment record to delete
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_EXECUTE_DATASETTool to execute a SuiteAnalytics dataset and return paged results. Use when you need to retrieve dataset rows with paging support.
Input parameters
Page size; default is 1000, maximum is 1000; offset must be divisible by limit.
Zero-based index of the first item to return; must be a multiple of limit if both provided.
Internal ID of the SuiteAnalytics dataset to execute.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_FILTER_RECORD_COLLECTIONDEPRECATED: Use NETSUITE_LIST_RECORDS instead. Filters and retrieves NetSuite records by type with optional query expressions and pagination. Use this to list or search for records like customers, employees, vendors, invoices, etc. Supports filtering with query operators (EQUAL, START_WITH, CONTAIN, etc.) and pagination for large result sets. Returns record IDs and navigation links for accessing full record details.
Input parameters
Filter expression using NetSuite N/query operators. Common operators: EQUAL, NOT_EQUAL, GREATER_THAN, LESS_THAN, START_WITH, CONTAIN, ON_OR_AFTER, BEFORE, ANY_OF, EMPTY, EMPTY_NOT. Logical operators AND/OR and parentheses () supported for complex filters. Example: 'email START_WITH "barbara"' or 'creditLimit GREATER_THAN 1000 AND status EQUAL "active"'
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Record type ID or script ID (e.g., 'customer')
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_CUSTOMERTool to retrieve a customer record by internal ID. Use when you have a customer ID and need detailed customer data.
Input parameters
Internal ID of the customer to retrieve
Comma-separated list of body fields to return. Example: 'companyName,email,entityId'
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_CUSTOMER_PAYMENTTool to retrieve a customer payment record by ID. Use when you need to fetch payment details using the internal or external ID.
Input parameters
Internal ID of the customer payment, or external ID prefixed with 'eid:'.
Comma-separated list of body fields to include; selective retrieval of sublist/subrecord fields is not supported. Example: 'payment,memo,customer'
If true, enumerated fields return only internal IDs; otherwise return objects with 'id' and 'refName'
True to expand sublists and subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_DATACENTER_URLSTool to discover account-specific service domains. Use when you need to determine the correct REST, SOAP, and UI endpoints before making other API calls.
Input parameters
Account ID routing hint; include if you encounter 'Service Unavailable'.
NetSuite account ID used to return account-specific domains.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_EMPLOYEETool to retrieve an employee record by ID. Use when you have an employee ID and need detailed employee data.
Input parameters
Internal ID of the employee or external ID formatted as 'eid:<external_id>' to retrieve
Comma-separated list of body fields to include. Example: 'firstName,lastName,email'
True to expand sublists and subrecords inline; otherwise return only their HATEOAS links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_GOVERNANCE_LIMITSRetrieve NetSuite account and integration concurrency governance limits. Returns the maximum number of concurrent API requests allowed for your account and integration, helping you avoid exceeding concurrency limits that would result in HTTP 429 errors. Requires administrator permissions to execute.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_INVOICETool to retrieve an invoice record by internal ID. Use when you have an invoice ID and need detailed invoice data.
Input parameters
Internal ID of the invoice to retrieve
Comma-separated list of body fields to return
True to return enum fields as internal ID values only
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_ITEMTool to retrieve an item record by internal ID. Use when you have an item ID and need detailed item data.
Input parameters
Internal ID of the item to retrieve (or external ID with 'eid:' prefix)
Comma-separated list of body fields to return. Example: 'itemId,displayName,basePrice'
Specific item record type (e.g., 'inventoryItem', 'assemblyItem', 'serviceSaleItem', 'nonInventorySaleItem', etc.). Must match the REST Record Browser ID.
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_ITEM_FULFILLMENTTool to retrieve an item fulfillment record by internal ID. Use when you have an item fulfillment ID and need detailed fulfillment data.
Input parameters
Internal ID of the item fulfillment record to retrieve
Comma-separated list of body fields to return (e.g., 'entity,tranDate,status'). Cannot be used with expandSubResources parameter
When true, returns enumeration values as internal IDs only instead of full objects with id and refName
When true, expands sublists and subrecords with full data instead of returning only links. Cannot be used with fields parameter
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_ITEM_RECEIPTTool to retrieve an item receipt record by internal ID. Use when you have an item receipt ID and need detailed item receipt data.
Input parameters
Internal ID of the item receipt to retrieve
Comma-separated list of body fields to return. Example: 'tranId,entity,quantity'
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_JOURNAL_ENTRYTool to retrieve a journal entry by internal ID. Use when you have a journal entry ID and need detailed journal entry data.
Input parameters
Internal ID of the journal entry to retrieve
Comma-separated list of body fields or sublists to return. Example: 'approved,line.items'
True to return enum fields as internal ID values only
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_PURCHASE_ORDERRetrieves complete details of a purchase order by its internal ID using the NetSuite REST API. Use this action when you need to: - Get full details of a specific purchase order (vendor, items, amounts, dates, status) - View line items and expenses on a purchase order - Check purchase order status, approval status, or fulfillment details - Access billing and shipping addresses for a purchase order The response includes comprehensive purchase order data such as vendor information, transaction dates, currency, line items, totals, addresses, custom fields, and more. You can filter fields or expand sublists as needed using optional parameters.
Input parameters
Internal ID of the purchase order to retrieve. This is the numeric ID from NetSuite, not the transaction number (tranId).
Optional comma-separated list of specific fields to return in the response. If omitted, all available fields are returned. Common fields include: tranId, status, entity, total, tranDate, currency, location, dueDate, terms. Example: 'tranId,status,entity,total'
Set to true to return enumeration field values as simple strings (their internal ID) instead of objects with 'id' and 'refName'. For example, status would be 'Fully Billed' instead of {'id': 'Fully Billed', 'refName': 'Fully Billed'}. Default is false.
Set to true to expand sublists and subrecords (like line items, addresses) with full details instead of just returning HATEOAS links. Default is false. Useful when you need complete item details, billing/shipping addresses, or expense line details.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_RECORD_METADATARetrieves the complete metadata schema for a NetSuite record type, including all field definitions, data types, constraints, and descriptions. Use this action to discover available fields and their requirements before creating or updating records. The metadata includes standard and custom fields, field types (string, number, boolean, date, references), nullability, format constraints, and descriptive help text. Essential for dynamic record handling and validation.
Input parameters
The format for the returned metadata. 'application/schema+json' (default) returns a JSON Schema definition describing the record's fields, types, and constraints. 'application/swagger+json' returns an OpenAPI 3.0 specification. Use JSON Schema format for programmatic field validation and discovery.
The NetSuite record type identifier. Common values include: 'customer', 'salesorder', 'invoice', 'vendor', 'employee', 'item', 'purchaseorder', 'journalentry'. Use lowercase names matching NetSuite's record type identifiers. To discover available record types, use the List Metadata Catalog action.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_REFERENCE_SELECT_FIELDRetrieves the complete record referenced by a select-type field on a parent record. Use this when you have a parent record (e.g., customer, salesorder) that references another record via a select field (e.g., 'subsidiary', 'entity', 'currency'), and you need the full details of that referenced record. Example: If a customer has subsidiary ID "1", use this to get all subsidiary details instead of just the ID reference. Common select fields by record type: - customer: subsidiary, currency, terms, salesRep, parent - salesorder/invoice: entity (customer), subsidiary, currency, terms - employee: supervisor, subsidiary, department - vendor: subsidiary, currency, terms
Input parameters
Internal ID of the parent record or external ID prefixed with 'eid:'.
Comma-separated list of body field IDs to include in the response of the referenced record.
Internal ID or script ID of the parent record type (e.g., 'customer' or custom record script ID).
Script ID of the select-type field on the parent record that references another record (e.g., 'subsidiary').
True to expand sublists/subrecords of the returned referenced record; otherwise they are returned as links.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_SALES_ORDERTool to retrieve a sales order record by internal ID. Use when you have a sales order ID and need detailed sales order data.
Input parameters
Internal ID of the sales order to retrieve
Comma-separated list of record body fields to return. Example: 'tranId,entity,tranDate'
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_SERVER_TIMETool to retrieve NetSuite server time in UTC. Use when you need the current server timestamp for synchronization.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_SUBLIST_COLLECTIONTool to retrieve a sublist collection from a parent record. Use when you need all lines of a given sublist (e.g., items on a sales order).
Input parameters
Internal ID or external ID using the 'eid:' prefix (e.g., 'eid:EXT123').
Maximum number of sublist lines per page (1-1000). Default is 100.
Zero-based index of the first result in the page. Use with limit to paginate through large sublists.
Record type ID (e.g., 'customer', 'salesOrder').
Name of the sublist on the record (e.g., 'item').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_SUBLIST_LINETool to retrieve a specific line from a sublist of a record. Use when you need details of a particular sublist line by its ID.
Input parameters
Internal ID or external ID (prefixed with 'eid:') of the parent record.
Identifier of the sublist line; internal ID or external ID prefixed with 'eid:'.
Identifier of the record type (e.g., 'salesOrder').
Identifier of the sublist (e.g., 'item').
True to expand nested subresources instead of returning only links.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_SUBRECORDRetrieves a specific subrecord from a parent NetSuite record. Subrecords are body-level structured fields on NetSuite records that contain related data. Common examples include: - billingaddress and shippingaddress on sales orders, invoices, and purchase orders - Address subrecords on customer and vendor records This action uses the NetSuite REST Record API v1 to access subrecords via the endpoint pattern: /record/v1/{recordType}/{id}/{subrecordName} Use this when you need to retrieve detailed subrecord data separately from the parent record, which can be more efficient than fetching the entire parent record with expanded subresources.
Input parameters
Internal ID of the parent record instance. This is the unique identifier for the specific record containing the subrecord.
Type of the parent record (e.g., 'salesOrder', 'purchaseOrder'). This is the record type that contains the subrecord.
Name of the subrecord field to retrieve (e.g., 'billingaddress', 'shippingaddress'). This must be a valid body-level subrecord field on the parent record type.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_VENDORTool to get a single vendor record by internal ID. Use when needing specific vendor information.
Input parameters
Internal ID of the vendor to retrieve
Comma-separated list of body fields to return. Example: 'entityId,email'
True to return enumeration values as internal ID values only
True to expand sublists/subrecords instead of returning only their links
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_VENDOR_BILLRetrieve a vendor bill record by its internal ID. Returns comprehensive bill details including vendor information, line items, amounts, dates, approval status, and accounting data. Use the 'fields' parameter to retrieve specific fields only, or 'expandSubResources' to include full sublist details (expense/item lines). Useful for auditing bills, payment processing, or integration workflows.
Input parameters
Internal ID of the vendor bill to retrieve
Comma-separated list of body fields to return (e.g., 'tranDate,entity,total'). Reduces response size by returning only specified fields. Cannot be used with expandSubResources parameter.
Set to true to expand sublists/subrecords (expense lines, item lines, etc.) with full details instead of just links. Cannot be used with fields parameter.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_GET_VENDOR_PAYMENTRetrieves a single vendor payment record by its internal ID from NetSuite. A vendor payment represents a payment made to a vendor, typically to settle one or more vendor bills. Use this action when you need detailed information about a specific vendor payment, including: - Payment amount, date, and transaction ID - Associated vendor information - Payment account and currency details - Applied bills (transactions being paid) - Accounting period and subsidiary To find vendor payment IDs, use the LIST_VENDOR_PAYMENTS action first.
Input parameters
Internal ID of the vendor payment record to retrieve. This can be obtained from the LIST_VENDOR_PAYMENTS action.
Comma-separated list of specific fields to return in the response. If not specified, all available fields are returned. Common fields: 'entity', 'tranDate', 'total', 'balance', 'account', 'currency', 'tranId'. Note: Cannot be used together with expandSubResources parameter.
Set to true to expand sublists and subrecords (e.g., apply list showing bills being paid) with full details. If false or not specified, only links to these resources are returned. Note: Cannot be used together with fields parameter.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_CUSTOMER_PAYMENTSTool to list customer payment records. Use when you need to retrieve payments with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'dateCreated ON_OR_AFTER "2025-01-01"'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_DATASETSTool to list SuiteAnalytics Workbook datasets. Use when you need to retrieve datasets with optional pagination after establishing a valid NetSuite connection.
Input parameters
Maximum number of datasets per page (1–1000); default is 1000.
Zero-based index of first dataset in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_EMPLOYEESTool to list employee records. Use when you need to retrieve multiple employees with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using Record Collection Filtering operators; e.g., 'supervisor EQUAL 13'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1 61000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_INTEGRATIONSTool to list integration applications. Use when you need to retrieve client IDs and redirect URIs necessary for OAuth2 authorization flows.
Input parameters
Maximum number of integrations to return (1-1000).
Zero-based index of first integration to return; must be divisible by limit when both are provided.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_INVOICESTool to list invoice records. Use when you need to retrieve multiple invoices with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'status EQUAL "OPEN"'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_ITEM_FULFILLMENTSTool to list item fulfillment records. Use when you need to retrieve multiple item fulfillments with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'status EQUAL "_shipped"'. Logical AND/OR and parentheses supported.
Maximum number of records per page (1 6 6); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_ITEM_RECEIPTSTool to list item receipt records. Use when you need to retrieve multiple item receipt records with optional filtering and pagination after confirming a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'itemReceiptNumber EQUAL "123"'. Supports logical AND/OR and parentheses. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_JOURNAL_ENTRIESTool to list journal entry records. Use when you need to retrieve multiple journal entries with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'memo CONTAIN "expense"'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_METADATA_CATALOGTool to list all record types and their metadata. Use after authenticating when you need to discover available record definitions before further API calls.
Input parameters
Response format. Only 'application/json' is supported, which returns the HATEOAS catalog format with record descriptors and links. This parameter can typically be omitted (defaults to application/json).
Single record type ID to retrieve metadata for (e.g., 'customer', 'invoice', 'vendor'). When specified, returns metadata for only that record type. When omitted, returns the full catalog of all available record types.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_PURCHASE_ORDERSTool to list purchase order records. Use when you need to retrieve multiple purchase orders with optional filtering and pagination.
Input parameters
Filter expression using N/query operators; e.g., 'entity IS 123'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_RECORDSTool to list record instances. Use when you need to retrieve multiple records with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'email START_WITH "barbara"'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1 6000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
The record type identifier; e.g., customer, salesorder.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_SALES_ORDERSTool to list sales order records. Use when you need to retrieve multiple sales orders with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'entity IS 123'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_LIST_VENDOR_PAYMENTSTool to list vendor payment records. Use when you need to retrieve vendor payments with optional filtering and pagination after establishing a valid NetSuite connection.
Input parameters
Filter expression using N/query operators; e.g., 'amount BETWEEN 100 AND 500'. Logical AND/OR and parentheses supported. Wrap multi-word values in quotes.
Maximum number of records per page (1–1000); default is 1000.
Zero-based index of the first record in page; must be divisible by limit.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_AUTHORIZE_ACCOUNT_DOMAINTool to construct an OAuth2 authorization URL for a NetSuite account-specific domain. Use when initiating the OAuth2 authorization code flow.
Input parameters
Space-delimited list of scopes. Allowed values: restlets, rest_webservices, suite_analytics, mcp; 'mcp' cannot be combined with others, and scopes must be enabled on the integration record.
Opaque CSRF token (22-1024 printable ASCII), unique per flow
Controls user prompt behavior: 'none' (no prompt; not allowed with mcp), 'login' (account domain only), 'consent', 'login consent', or 'consent login'
Integration record's client ID
Redirect URI registered in the integration record (must match exactly)
Must be 'code' for the authorization code grant type
PKCE code challenge (base64url-encoded SHA256 of the code_verifier). Required for public clients or when scope=mcp.
Must be 'S256' when sending a code_challenge
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_AUTHORIZE_SYSTEM_DOMAINInitiates the OAuth2 authorization code flow using NetSuite's system domain endpoint. Returns the authorization URL where users should be redirected to authenticate and grant permissions. After user authorization, NetSuite redirects back to your redirect_uri with an authorization code. Use this when you don't know the specific NetSuite account ID or want to use the generic system domain.
Input parameters
Optional string to associate a user session with an ID token; max length 256 characters.
Space-separated list of OAuth2 scopes. Valid values are 'openid' and 'email'. Use 'openid email' for both, or either one individually.
Opaque value to maintain state between request and callback; 22–1024 printable ASCII characters.
OAuth2 prompt behavior: 'none' (no consent screen), 'login' (force authentication), 'consent' (always show consent), or 'login consent' (both required).
The integration record's client identifier.
The exact callback URI registered in the integration record; must match registration.
OAuth2 response type. Must be 'code'.
PKCE code challenge, required for public clients; base64url(SHA256(code_verifier)), 43–128 characters.
Method to derive code_challenge; only 'S256' is supported.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_OAUTH2_GET_JWKS_KEYSTool to retrieve OAuth2 JWKS public keys. Use when validating token signatures.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_LOGOUTTool to revoke an ID token and its associated access and refresh tokens. Use when ending an OAuth2 session to ensure credentials are invalidated.
Input parameters
ID token to revoke; revokes its associated access and refresh tokens.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_REVOKE_REFRESH_TOKENRevokes a NetSuite OAuth2 refresh token and all associated access tokens, immediately invalidating them. Use this when: - A user logs out and you want to invalidate their session tokens - Credentials are compromised and need immediate revocation - Decommissioning an integration or removing access - Cleaning up test tokens after development Note: This is a destructive operation - revoked tokens cannot be reused.
Input parameters
The OAuth2 refresh token (JWT format) to revoke. Once revoked, this token and its associated access tokens become invalid.
OAuth2 client ID for public clients. When provided, skips Basic authentication and sends client_id in the request body instead. Leave empty for confidential clients that use metadata credentials.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_TOKEN_AUTHORIZATION_CODEExchange an OAuth2 authorization code for access and refresh tokens using the NetSuite token endpoint. This is the second step in the OAuth2 authorization code flow with PKCE: 1. User authorizes via OAuth2AuthorizeAccountDomain or OAuth2AuthorizeSystemDomain 2. User is redirected to your redirect_uri with authorization code 3. Use THIS action to exchange the code for tokens 4. Use access_token to make API requests, refresh_token to get new access tokens Supports both confidential clients (client secret in metadata) and public clients (no secret). PKCE (code_verifier) is required for security.
Input parameters
Authorization code received from the OAuth2 authorization endpoint callback. This code is single-use and expires quickly (typically within 5-10 minutes).
Client ID from the NetSuite integration record. Required only when client credentials are not provided in metadata (public client flow).
OAuth2 grant type. Always 'authorization_code' for this flow.
Redirect URI that must exactly match the one used in the authorization request and registered in the NetSuite integration record. Mismatches will cause the request to fail.
PKCE code verifier (43-128 character random string) used to generate the code_challenge in the initial authorization request. Required for security.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_TOKEN_CLIENT_CREDENTIALSTool to obtain an OAuth2 access token via client credentials grant. Use when authenticating to NetSuite APIs with a JWT-based client credentials flow.
Input parameters
Grant type for OAuth2 client credentials flow (must be 'client_credentials').
JWT assertion token signed with the integration's private key.
Client assertion type indicating a JWT bearer grant.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_O_AUTH2_TOKEN_REFRESHTool to refresh an OAuth2 access token. Use when the current access token has expired and you need a new one.
Input parameters
OAuth2 client ID. Required for public clients if Authorization header is omitted.
OAuth2 client secret for confidential clients.
OAuth2 refresh token in JWT format. If omitted, uses the configured metadata refresh_token.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_RUN_SUITEQL_QUERYTool to execute a SuiteQL query. Use when you need ad-hoc SQL queries against NetSuite data with server-side paging.
Input parameters
SuiteQL SELECT statement to execute.
Number of rows per page.
Zero-based index of first row; must be a multiple of `limit` if both provided.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_TRANSFORM_RECORDTransform an existing NetSuite record into another record type (e.g., sales order to invoice, purchase order to item receipt). Creates a new target record populated with data from the source record. Supports common business workflows like: - Converting sales orders to invoices or item fulfillments - Converting purchase orders to item receipts or vendor bills - Converting invoices to credit memos Optionally override fields on the transformed record via record_body parameter.
Input parameters
Use 'respond-async' to run the transform asynchronously.
Comma-separated sublist names to fully replace with those provided in record_body. The sublists must be present in record_body or the request will fail. Common sublists: 'item', 'apply'. Example: 'item' or 'apply,item'.
Internal ID of the source record instance to transform. Must be a valid, existing record in NetSuite.
Optional JSON object with field values to set on the transformed record
Source record type to transform. Common types: salesOrder, purchaseOrder, invoice, customer. Use camelCase format.
Target record type to create from source. Common transformations: salesOrder→invoice, salesOrder→itemFulfillment, purchaseOrder→itemReceipt, purchaseOrder→vendorBill. Use camelCase format.
UUID to ensure idempotent async requests; ignored for synchronous calls.
Controls strictness for property name validation (ignore\\|warning\\|error).
Controls strictness for property value validation (ignore\\|warning\\|error).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_CUSTOMERUpdates an existing NetSuite customer record using PATCH semantics - only fields included in the 'data' parameter are modified. Use this action to: - Update customer contact information (email, phone, address) - Change customer status, sales rep, territory, or terms - Modify customer preferences and settings - Update custom fields Returns the location URL of the updated record. Supports both synchronous (immediate) and asynchronous processing modes.
Input parameters
Internal ID of the customer record to update. Use GET Customer to retrieve existing customer IDs.
JSON object with customer fields to update. Only include fields you want to change; omitted fields remain unchanged. Common fields: 'companyName' (string), 'email' (string), 'phone' (string), 'comments' (string), 'emailTransactions' (boolean), 'entityStatus' (object with 'id'), etc. Reference fields should be objects with 'id' property (e.g., {'id': '13'}).
Set to 'respond-async' for asynchronous processing. When used, the operation returns immediately with a 202 status and job URL in the Location header. Useful for bulk operations or when immediate response isn't needed.
RFC4122 UUID string for idempotent async requests (e.g., '550e8400-e29b-41d4-a716-446655440000'). Only used when 'prefer' is 'respond-async'. Prevents duplicate operations if request is retried.
How to handle invalid property names in request: 'Error' (default, rejects request), 'Warning' (accepts with warning), 'Ignore' (silently ignores invalid names).
How to handle invalid property values in request: 'Error' (default, rejects request), 'Warning' (accepts with warning), 'Ignore' (attempts to proceed despite invalid values).
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_CUSTOMER_PAYMENTTool to update an existing customer payment by ID. Use when you need to modify fields of a customer payment record. Updates only the specified fields; all other fields remain unchanged. Common use cases include updating memo notes, email preferences, or transaction metadata.
Input parameters
Internal identifier of the customer payment record to update.
Customer payment record JSON object containing fields to update; omitted fields remain unchanged. Common updatable fields include: memo (string), toBeEmailed (boolean), tranDate (date string), account (object with id), and other payment metadata. Example: {"memo": "Payment received", "toBeEmailed": true}
Use 'respond-async' to request asynchronous processing.
RFC4122 UUID string to use as idempotency key for async requests.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_EMPLOYEETool to update an employee record by ID. Use when modifying fields of an existing employee.
Input parameters
Internal ID or external ID (prefixed with 'eid:') of the employee record to update.
Employee record JSON object containing fields to update; omitted fields remain unchanged.
Use 'respond-async' to request asynchronous processing.
Comma-separated list of body fields or sublists to replace or target.
When true, only the fields named in 'replace' and explicitly set to null in the request are deleted.
UUID for idempotent async requests.
Controls strictness for property name validation.
Controls strictness for property value validation.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_INVOICEUpdates an existing NetSuite invoice record by ID using the PATCH method. Only the fields specified in the 'data' parameter are updated; all other fields remain unchanged. Common use cases: - Update invoice memo or reference numbers - Change invoice email settings or customer contact info - Modify invoice due dates or payment terms - Update custom field values (custbody_* fields) Note: After updating, use the GET_INVOICE action if you need to retrieve the updated invoice data.
Input parameters
Internal identifier of the invoice record to update.
Invoice record JSON object containing fields to update; omitted fields remain unchanged. Common updatable fields include: memo (string), email (string), dueDate (date string YYYY-MM-DD), toBeEmailed (boolean), toBePrinted (boolean), toBeFaxed (boolean), otherRefNum (string), terms (object with 'id' key), salesRep (object with 'id' key), location (object with 'id' key), customForm (object with 'id' key), and custom fields (e.g., custbody_* fields). For reference fields, provide objects with 'id' key and the internal ID as a string.
Use 'respond-async' to request asynchronous processing.
RFC4122 UUID string to use as idempotency key for async requests.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_ITEMTool to update an item record by ID. Use when modifying selected fields of an existing item; omitted fields remain unchanged.
Input parameters
Internal identifier of the item record to update.
Item record JSON object containing fields to update; omitted fields remain unchanged.
Use 'respond-async' to request asynchronous processing.
Comma-separated sublist names to fully replace with those provided.
Internal item record type ID, e.g., inventoryItem, assemblyItem, downloadItem.
RFC4122 UUID string to use as idempotency key for async requests.
When true, any fields to delete must be included via replace.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_ITEM_FULFILLMENTTool to update an Item Fulfillment record by ID. Use when modifying fields or sublists of an existing fulfillment.
Input parameters
Internal identifier of the item fulfillment record to update.
Item Fulfillment record JSON object containing fields and sublists to update; omitted fields remain unchanged.
Use 'respond-async' to request asynchronous processing.
Comma-separated field or sublist names to fully replace with those provided in 'data'.
RFC4122 UUID string to use as idempotency key for async requests.
When true, any body fields explicitly listed and set to null are deleted.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_ITEM_RECEIPTTool to update an item receipt record by ID. Use when modifying fields of an existing item receipt.
Input parameters
Internal identifier of the item receipt record to update.
Item receipt record JSON object containing fields to update; omitted fields remain unchanged. Set a field to null to delete its value.
Use 'respond-async' to request asynchronous processing.
Comma-separated sublist names to fully replace (e.g., 'item').
RFC4122 UUID string to use as idempotency key for async requests.
When true, fields to be deleted must be included in 'replace'; use with setting those fields to null in data to delete them.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_JOURNAL_ENTRYTool to update a journal entry record by ID. Use when modifying fields of an existing journal entry after retrieving its details.
Input parameters
Internal identifier of the journal entry record to update.
Journal entry JSON object containing fields to update; omitted fields remain unchanged.
Use 'respond-async' to request asynchronous processing.
Comma-separated sublist names to fully replace (e.g., 'line'). Unspecified sublists are appended.
RFC4122 UUID string to use as idempotency key for async requests.
When true, fields to delete must be named in replace; applies to body and sublists.
Validation strictness for field names: Error, Warning, or Ignore.
Validation strictness for field values: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_PURCHASE_ORDERTool to update a purchase order record by ID. Use when modifying fields of an existing purchase order. Call after retrieving the record to confirm current values.
Input parameters
Internal identifier of the purchase order record to update.
Purchase order record JSON object containing writable fields to update; omit fields you do not wish to change.
Use 'respond-async' to request asynchronous processing.
RFC4122 UUID to use as idempotency key for async requests.
When true, any field in the body set to null will be deleted from the record; otherwise null values are ignored.
Validation level for property names: Error, Warning, or Ignore.
Validation level for property values: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_SALES_ORDERUpdates an existing NetSuite sales order record by ID using PATCH semantics. Only the fields provided in the data parameter will be modified; all other fields remain unchanged. Use this tool when you need to modify specific fields on an existing sales order, such as updating the memo, PO number, or status.
Input parameters
Internal identifier of the sales order record to update.
Sales order record JSON object containing fields to update. Only the fields specified will be updated; omitted fields remain unchanged. Common updatable fields include: memo, otherrefnum (PO number), tranDate, orderStatus, and item sublists. See NetSuite REST API documentation for complete field reference.
Use 'respond-async' to request asynchronous processing.
RFC4122 UUID string to use as idempotency key for async requests.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_VENDORTool to update a vendor record by ID. Use when modifying fields of an existing vendor.
Input parameters
Internal identifier of the vendor record to update.
Vendor record JSON object containing fields to update; omitted fields remain unchanged.
Use 'respond-async' to request asynchronous processing.
RFC4122 UUID string to use as idempotency key for async requests.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_VENDOR_BILLTool to update a vendor bill record by ID. Use when modifying fields of an existing vendor bill.
Input parameters
Internal identifier of the vendor bill record to update.
Vendor bill record JSON object containing fields to update; omitted fields remain unchanged. Set a field to null to delete its value.
Use 'respond-async' to request asynchronous processing.
Comma-separated sublist names to fully replace (e.g., 'item', 'expenses', 'addressBook').
RFC4122 UUID string to use as idempotency key for async requests.
When true, fields to be deleted must be included in 'replace'; use with setting those fields to null in data to delete them.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPDATE_VENDOR_PAYMENTTool to update a vendor payment record by ID. Use when modifying one or more fields on an existing vendor payment.
Input parameters
Internal identifier of the vendor payment record to update.
VendorPayment record JSON object containing fields to update; omitted fields remain unchanged.
Use 'respond-async' to request asynchronous processing.
Comma-delimited sublist names whose lines should be fully replaced.
RFC4122 UUID string to use as idempotency key for async requests.
If true, fields being deleted in an update must be listed in replace.
Strictness level for property name validation: Error, Warning, or Ignore.
Strictness level for property value validation: Error, Warning, or Ignore.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
NETSUITE_UPSERT_RECORD_BY_EXTERNAL_IDTool to create or update a record by external ID. Use when you need to ensure a record exists or update its fields in one call.
Input parameters
JSON object matching the record schema; include mandatory fields when creating. Omitted fields are unchanged on update.
External ID value used in the path; letters, numbers, underscore (_), and hyphen (-) only.
Record type name or custom record script ID (e.g., 'customer' or 'customrecord_myrec').
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 35 agents privately built on Nagent that already use Netsuite.
Build on Nagent
Connect Netsuite to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Netsuite, and click "Connect Now." You'll authenticate with OAuth — Nagent handles credential storage and refresh automatically. Once connected, Netsuite is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Netsuite is connected, you configure its 86 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Netsuite steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Netsuite event fires, the agent kicks off automatically.
Every Netsuite action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Netsuite ships with 86 pre-built accounting actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Netsuite together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Netsuite-based workflows tailored to your business.