Skip to main content

NetSuite Component

Manage NetSuite records

Component key: netsuite

Description#

Oracle NetSuite is a unified business management suite, encompassing ERP/Financials, CRM and ecommerce.

For more details refer to NetSuite's API documentation.

NetSuite Connections#

NetSuite OAuth 2.0#

To make API requests to NetSuite on behalf of your customers, your customer will need to create an OAuth 2.0 app. NetSuite's OAuth 2.0 documentation details the steps that need to be taken.

As an administrator, your customer will need to:

  1. Enable SuiteTalk

    • Click Setup -> Company -> Enable Features
    • Under the Suite Cloud tab, ensure REST WEB SERVICES and OAUTH 2.0 are both checked
  2. Create an OAuth 2.0 app

    • Click Setup -> Integration -> Manage Integrations -> New
    • Give your integration a name and description
    • Un-check TOKEN-BASED AUTHENTICATION and TBA: AUTHORIZATION FLOW under Token-based Authentication
    • Ensure AUTHORIZATION CODE GRANT" and REST WEB SERVICES are checked under OAuth 2.0
    • Enable REST WEB SERVICES under SCOPE
    • Enter https://oauth2.prismatic.io/callback as your REDIRECT URI
    • Take note of your CONSUMER KEY and CONSUMER SECRET
  3. Create OAuth 2.0 Roles

    • Ensure that any user who wishes to log in via OAuth has been assigned a proper role.

As an integration developer, you will need to mark Consumer Key, Consumer Secret, and Token URL organization- and customer-visible, as your end user will need to edit them with their own values.

InputDefaultNotesExample
Input
Authorize URL
string
/ Required
Hidden Field
authorizeUrl
Default
https://system.netsuite.com/app/login/oauth2/authorize.nl
Notes
The OAuth 2.0 Authorization URL for NetSuite.
Example
 
Input
Consumer Key (Client ID)
string
/ Required
clientId
Default
Notes
Generate a consumer key when you create your OAuth 2.0 app in NetSuite
Example
example0000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Input
Consumer Secret (Client Secret)
password
/ Required
clientSecret
Default
Notes
Generate a consumer secret when you create your OAuth 2.0 app in NetSuite
Example
example0000000000000000000000000aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Input
Scopes
string
/ Required
Hidden Field
scopes
Default
rest_webservices
Notes
A space-delimited set of one or more scopes. This will always be rest_webservices
Example
 
Input
Token URL
string
/ Required
tokenUrl
Default
https://<ACCOUNT_ID>.suitetalk.api.netsuite.com/services/rest/auth/oauth2/v1/token
Notes
The OAuth 2.0 Token URL for NetSuite. Replace <ACCOUNT_ID> with your account ID, which can be found in your browser's URL bar when you log in to NetSuite - https://<ACCOUNT_ID>.app.netsuite.com/
Example
https://example-abc123.suitetalk.api.netsuite.com/services/rest/auth/oauth2/v1/token

Actions#

Create Record#

Create record of specified type | key: createRecord

InputDefaultNotes
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Input
Debug
boolean
debugInput
Default
Notes
Enable for additional logging information.
Input
Payload
code
/ Required
payload
Default
{  "entityid": "New Customer",  "companyname": "My Company",  "subsidiary": {    "id": "1"  }}
Notes
Data payload to send in the action request. See https://system.netsuite.com/help/helpcenter/en_US/APIs/REST_API_Browser/record/v1/2022.1/index.html for details.
Input
Record Type
string
/ Required
recordType
Default
Notes
Record type to perform the action against.

Delete Record#

Delete record of the specified type | key: deleteRecord

InputDefaultNotes
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Input
Debug
boolean
debugInput
Default
Notes
Enable for additional logging information.
Input
Record ID
string
/ Required
id
Default
Notes
The ID of the record you want.
Input
Record Type
string
/ Required
recordType
Default
Notes
Record type to perform the action against.

Get Record#

Get record of specified type | key: getRecord

InputDefaultNotes
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Input
Debug
boolean
debugInput
Default
Notes
Enable for additional logging information.
Input
Expand Sub-Resources
boolean
expandSubResources
Default
false
Notes
Enable to automatically expand all sublists, sublist lines, and subrecords on this record.
Input
Fields to Return
string
Value List
fields
Default
Notes
Specific fields and sublists to return in the request. If unspecified, the full record is returned.
Input
Record ID
string
/ Required
id
Default
Notes
The ID of the record you want.
Input
Record Type
string
/ Required
recordType
Default
Notes
Record type to perform the action against.
Input
Simple Enum Format
boolean
simpleEnumFormat
Default
false
Notes
Enable to return enumeration values in a format that only shows the internal ID value.

List Records#

List records of specified type | key: listRecord

InputDefaultNotesExample
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Example
 
Input
Debug
boolean
debugInput
Default
Notes
Enable for additional logging information.
Example
 
Input
Pagination Limit
string
/ Required
limit
Default
1000
Notes
Fetch only this many records at a time.
Example
10
Input
Pagination Offset
string
offset
Default
Notes
Fetch records offset by this value.
Example
20
Input
Query
string
query
Default
Notes
Query to filter records by. See https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_1545222128.html for details.
Example
 
Input
Record Type
string
/ Required
recordType
Default
Notes
Record type to perform the action against.
Example
 

Raw Request#

Send Raw Request to NetSuite | key: rawRequest

InputDefaultNotesExample
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Example
 
Input
Data
string
data
Default
Notes
The HTTP body payload to send to the URL.
Example
{"exampleKey": "Example Data"}
Input
Debug Request
boolean
debugRequest
Default
false
Notes
Enabling this flag will log out the current request.
Example
 
Input
File Data
string
Key Value List
fileData
Default
Notes
File Data to be sent as a multipart form upload.
Example
[{key: "example.txt", value: "My File Contents"}]
Input
Form Data
string
Key Value List
formData
Default
Notes
The Form Data to be sent as a multipart form upload.
Example
[{"key": "Example Key", "value": new Buffer("Hello World")}]
Input
Header
string
Key Value List
headers
Default
Notes
A list of headers to send with the request.
Example
User-Agent: curl/7.64.1
Input
Max Retry Count
string
maxRetries
Default
0
Notes
The maximum number of retries to attempt.
Example
 
Input
Method
string
/ Required
method
Default
Notes
The HTTP method to use.
Example
 
Input
Query Parameter
string
Key Value List
queryParams
Default
Notes
A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.
Example
 
Input
Response Type
string
/ Required
responseType
Default
json
Notes
The type of data you expect in the response. You can request json, text, or binary data.
Example
 
Input
Retry On All Errors
boolean
retryAllErrors
Default
false
Notes
If true, retries on all erroneous responses regardless of type.
Example
 
Input
Retry Delay (ms)
string
retryDelayMS
Default
0
Notes
The delay in milliseconds between retries.
Example
 
Input
Timeout
string
timeout
Default
Notes
The maximum time that a client will await a response to its request
Example
2000
Input
URL
string
/ Required
url
Default
Notes
This is the URL to call.
Example
/contact
Input
Use Exponential Backoff
boolean
useExponentialBackoff
Default
false
Notes
Specifies whether to use a pre-defined exponential backoff strategy for retries.
Example
 

SuiteQL Query#

Execute a SuiteQL Query through Netsuite's REST Web Service | key: suiteQLQuery

InputDefaultNotesExample
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Example
 
Input
Debug
boolean
debugInput
Default
Notes
Enable for additional logging information.
Example
 
Input
Pagination Limit
string
/ Required
limitInput
Default
1000
Notes
Fetch only this many records at a time.
Example
10
Input
Pagination Offset
string
offsetInput
Default
Notes
Fetch records offset by this value.
Example
20
Input
SuiteQL Payload
code
/ Required
suiteQLInput
Default
SELECT email, COUNT(*) as count FROM transaction GROUP BY email
Notes
Data payload to send in the action request. See https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/section_157909186990.html for details.
Example
 

Update Record#

Update record of the specified type | key: updateRecord

InputDefaultNotes
Input
Connection
connection
/ Required
connection
Default
 
Notes
 
Input
Debug
boolean
debugInput
Default
Notes
Enable for additional logging information.
Input
Record ID
string
/ Required
id
Default
Notes
The ID of the record you want.
Input
Payload
code
/ Required
payload
Default
{  "entityid": "New Customer",  "companyname": "My Company",  "subsidiary": {    "id": "1"  }}
Notes
Data payload to send in the action request. See https://system.netsuite.com/help/helpcenter/en_US/APIs/REST_API_Browser/record/v1/2022.1/index.html for details.
Input
Record Type
string
/ Required
recordType
Default
Notes
Record type to perform the action against.
Input
Replace
string
Value List
replace
Default
Notes
Names of sublists on this record. All specified sublists will be replaced instead of added to.
Input
Replace Selected Fields
boolean
replaceSelectedFields
Default
false
Notes
If enabled, delete all fields, including body fields, specified in the Replace input.