Oracle NetSuite
NetSuite is a cloud ERP platform used to manage business records, operational transactions, and analytics through REST web services and SuiteQL queries.
The Flowgear Oracle NetSuite Node lets you run metadata-driven record operations and ad-hoc SuiteQL queries by using OAuth, cached metadata, and template-selected operations in a Workflow.
Revision History
0.2.2.1 - Preserved inherited fields in designer templates when OpenAPI schemas use constraints-only allOf overlays.
0.2.2.0 - Added the OpenAPI runtime assemblies required for Connection metadata acquisition.
0.2.1.0 - Added sanitized request echoes to mutation templates and response rows.
0.2.0.0 - Split mutation operations into Create, Update, and Delete Methods.
0.1.0.0 - Completed the V2 overhaul with eager first-request startup and lazy continuation.
0.0.0.25 - Aligned the V2 connector contract and public help article.
0.0.0.4 - Initial release.
0.0.0.5 - Improved OAuth connection handling.
0.0.0.6 - Improved error message handling.
0.0.0.11 - Corrected Node name.
0.0.0.19 - Updated parameters and templates.
0.0.0.24 - Added Generic SuiteQL Query Template.
Connection
Use this Connection to store your NetSuite account details, OAuth settings, cached metadata, and request timeout settings.
| Property | Type | Description |
|---|---|---|
Account ID |
String | The NetSuite account ID, e.g. demo123. |
Record Types |
String | Optional record types to include when you run Acquire Metadata. Enter one record type per line. |
Metadata |
String | Cached metadata retrieved from NetSuite. Flowgear maintains this hidden value after you run Acquire Metadata. |
Client ID |
String | The NetSuite integration client ID. |
Client Secret |
Masked | The NetSuite integration client secret. |
Access Token |
Masked | The OAuth access token obtained during authorization. |
Refresh Token |
Masked | The OAuth refresh token obtained during authorization. |
Scope |
String | The OAuth scope requested during authorization. The default is rest_webservices. |
Timeout (seconds) |
Integer | The timeout applied to API calls and metadata acquisition. The default is 30. |
Setup Notes
- Create a NetSuite Integration record with REST Web Services enabled, and then capture the
Client IDandClient Secret. - Confirm your NetSuite
Account ID, e.g.demo123, and make sure REST Web Services are enabled for the account. - Configure the OAuth redirect URI in NetSuite, and then complete the Flowgear OAuth flow so the
ConnectionstoresAccess TokenandRefresh Token. - Limit the metadata catalog to specific record types in
Record Typeswhen you want faster metadata acquisition or narrower template coverage. - Use the template picker to choose the required
OperationIdbefore invoking the Node.
Methods
The Oracle NetSuite Node separates read operations from create, update, and delete operations. It also adds a built-in Generic SuiteQL Query template to the Query templates.
Query
Retrieves NetSuite resources. The Generic SuiteQL Query template is also available here for ad-hoc SuiteQL statements.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The NetSuite REST Connection with OAuth credentials and cached metadata. |
OperationId |
String | The operation identifier selected from the NetSuite metadata catalog. |
q |
String | Optional SuiteQL statement used only by the Generic SuiteQL Query operation. |
Parameters |
Object | Optional string values used for route and query parameters. When you use Generic SuiteQL Query, this object also supplies placeholder replacements for values referenced in q. |
Items |
Array | Optional request body items for query templates that accept a body. Items is not supported for Generic SuiteQL Query. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Streamed response items. Paged NetSuite list responses and Generic SuiteQL results are emitted one item at a time, and query rows contain the business payload only. No-match queries return zero rows. If the first provider query call fails, Flowgear surfaces that NetSuite error instead of returning an empty result. |
Create
Creates NetSuite resources with the selected POST operation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The NetSuite REST Connection with OAuth credentials and cached metadata. |
OperationId |
String | The operation identifier selected from the NetSuite metadata catalog. |
Parameters |
Object | Optional route and query parameter values applied to the request. |
Items |
Array | Optional request body items. Each input item is serialized and sent as a separate NetSuite request. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Streamed response items. Each item includes the NetSuite payload, and primitive responses are wrapped in value. Mutation rows also include Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. |
Update
Updates NetSuite resources with the selected PATCH or PUT operation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The NetSuite REST Connection with OAuth credentials and cached metadata. |
OperationId |
String | The operation identifier selected from the NetSuite metadata catalog. |
Parameters |
Object | Optional route and query parameter values applied to the request. |
Items |
Array | Optional request body items. Each input item is serialized and sent as a separate NetSuite request. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Streamed response items. Each item includes the NetSuite payload, and primitive responses are wrapped in value. Mutation rows also include Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request. |
Delete
Deletes NetSuite resources with the selected DELETE operation.
| Parameter | Type | Description |
|---|---|---|
Connection |
Connection | The NetSuite REST Connection with OAuth credentials and cached metadata. |
OperationId |
String | The operation identifier selected from the NetSuite metadata catalog. |
Parameters |
Object | Optional route and query parameter values applied to the request. |
| Return | Type | Description |
|---|---|---|
Response |
Array | Streamed delete response items. Each item includes Flowgear.IsSuccess, Flowgear.Message, and Flowgear.Request; primitive provider responses are wrapped in value. |
Usage Notes
- Only the record types included in cached
Metadataare available in templates. - Query completes the first NetSuite record or SuiteQL page while the Node invoke is awaited. Additional pages are fetched only as the Workflow consumes the response stream.
- Create and Update complete the first input item while the Node invoke is awaited. Later items are consumed lazily, and an empty connected input sends no provider request. Delete completes its provider request while the invoke is awaited.
- Run
Acquire Metadataagain after changingRecord Typesor when your NetSuite metadata changes. - The
Generic SuiteQL Querytemplate appears in theQuerytemplates and expects the SuiteQL statement inq. - For
Generic SuiteQL Query, add placeholder text directly inq, e.g.@ID, and then supply matching string values inParameters. - NetSuite list responses and Generic SuiteQL results are paged automatically. The Node follows the next-page link and emits one item at a time.
- Query rows emit the NetSuite payload directly, while mutation rows add the Flowgear success or failure object.