Overview
This node provides integration with the NetSuite REST API, enabling users to perform various operations on NetSuite records and queries. It supports actions such as retrieving a single record, listing multiple records, inserting, updating, or deleting records, running SuiteQL queries, and making raw API requests.
Common scenarios where this node is beneficial include:
- Automating data synchronization between NetSuite and other systems.
- Extracting financial or inventory data for reporting.
- Managing customer, order, or product records programmatically.
- Executing custom SuiteQL queries to retrieve complex datasets.
- Performing batch operations with controlled concurrency to optimize API usage.
For example, a user can list all customer records with pagination, update specific fields in an order record, or run a SuiteQL query to get sales data filtered by date.
Properties
| Name | Meaning |
|---|---|
| Options | Collection of optional settings: |
| - Concurrency: Number controlling how many REST requests are sent simultaneously (default 1). | |
| - Full Response: Boolean flag to return the full HTTP response including status and headers instead of just the body. |
Output
The node outputs JSON data representing the results of the selected operation:
- For record retrieval operations (
getRecord,listRecords), the output contains the requested record(s) in JSON format. - For insert, update, or delete operations, the output includes success indicators and any returned metadata such as IDs or validation info.
- For SuiteQL queries, the output is an array of JSON objects representing each row returned by the query.
- For raw requests, if the "Full Response" option is enabled, the output includes the HTTP status code, headers, and body; otherwise, only the response body is returned.
No binary data output is produced by this node.
Dependencies
- Requires valid NetSuite API credentials including account ID, consumer key/secret, and token key/secret.
- Uses the external package
@fye/netsuite-rest-apito make REST API calls. - Supports concurrency control via the
p-limitpackage. - The node expects proper configuration of these credentials within n8n to authenticate API requests.
Troubleshooting
- Unsupported Operation Error: If an unsupported operation name is provided, the node throws an error unless "Continue On Fail" is enabled, in which case it returns an error object in the output.
- API Authentication Failures: Errors related to invalid or missing credentials will occur if the required API keys or tokens are not configured correctly.
- Rate Limiting or Concurrency Issues: Setting concurrency too high may cause API rate limits to be exceeded, resulting in errors or throttling. Adjust the concurrency option accordingly.
- Invalid Query or Record Type: Providing incorrect record types, internal IDs, or malformed SuiteQL queries will result in API errors. Verify parameters carefully.
- Network or Timeout Errors: Network issues or slow responses from NetSuite may cause request failures. Retrying or increasing timeout settings might help.
Links and References
- NetSuite REST API Documentation
- SuiteQL Query Language Guide
- n8n Documentation on Credentials
- p-limit npm package (used for concurrency control)