Jump to a Section

Overview

Parameters

  • Access Token (string)
    • Generated in the UI. See below for additional information.
  • Token Secret (password)
    • Generated in the UI. See below for additional information.
  • Consumer Key (string)
    • Generated in the UI. See below for additional information.
  • Consumer Secret (password)
    • Generated in the UI. See below for additional information.
  • Account (string)
    • This value can be found in the Netsuite UI under Setup -> Integration -> Web Service Preferences.
  • API Version (option)
    • Choose between the latest version, or a previous version of the API.
  • Environment (option)
    • You can choose between “Production” and “Sandbox” for this option, as well as additional options in the case of data centers that use different URLs.

Setup

Netsuite requires some configuration in order to use the Token-Based authentication for integration purposes. Following these steps will generate all of the necessary information required to authenticate with the Netsuite Token Auth connector.

  1. Create Integration Record
    • Visit the integrations page or global search for page:integrations.
    • Create an integration record if none exists. After you create the record, you will need to copy/paste the consumer key and consumer secret.
  2. Enable Token Based Authentication
    • Go to Setup > Company > Enable Features.
    • Click the SuiteCloud subtab.
    • Scroll down to the SuiteScript section, and check the following boxes:
      • Client SuiteScript.
      • Server SuiteScript. Click “I Agree” on the SuiteCloud Terms of Service page.
    • Scroll down to the Manage Authentication section, and check the Token-based Authentication box. Click “I Agree” on the SuiteCloud Terms of Service page
    • Click Save.
  3. Create Token Role
    • Navigate to “New Role” - Setup > Users/Roles > Manage Roles > New (or search for page:role, then choose “New Role”).
    • Navigate to Permissions > Setup and add the following permissions:
      • User Access Token: Full
      • Access Token Management: Full
      • Web Services: Full
      • Log in Using Access Tokens: Full
      • User Access Tokens: Full
      • Enable Features: Full
    • Note: You will likely need to add additional permissions here to enable additional capabilities. For example, Lists: Accounts, Transactions: Opportunity, etc. These permissions allow you to create / read / update / delete specific record types. If you do not have the necessary permissions for a desired action, Netsuite will return an error indicating which permissions are required for the operation.
  4. Add Token Management Permissions
    • Navigate to the list of employees: List > Employees > Employees (or search for page:employees).
    • Edit your employee record.
    • Navigate to Access > Roles and add the token auth role you just created.
  5. Create Access Token
    • Navigate to Setup > Users/Roles > Access Tokens (or search for page: tokens).
    • Click new Access Token.
    • Select the application and role we created in step 3, then press save.
    • Save your new Access Token and Secret.

Additional documentation:

NOTE: The Netsuite connector makes use of the internal IDs of Netsuite records. While we return the internal ID of records when you use the cards in our connector, you may sometimes want to find these IDs within the Netsuite UI. To make these easier to find, there is a user setting that you can enable by checking the box found in Home -> Set Preferences -> Show Internal IDs.

    Events

    • New Record

      Run a FLO whenever a new record is created in NetSuite.

      Options

      • Record Type (dropdown)
        • Dynamic list of record types available in your netsuite instance. Click here for an exhaustive list of record types.

      Output Fields

      • Internal ID (text): The unique ID of the newly created record.

      • Execution ID (text): The unique ID of the execution of the FLO.

    • Updated Record

      Run a FLO whenever a record is updated in NetSuite.

      Options

      • Record Type (dropdown)
        • Dynamic list of record types available in your netsuite instance. Click here for an exhaustive list of record types.

      Output Fields

      • Internal ID (text): The unique ID of the updated record.

      • Execution ID (text): The unique ID of the execution of the FLO.

    Actions

    • Build Custom Field

      Build a custom field for adding a custom field list into one of the other cards. This Build Custom Field card is NOT for creating new custom fields in your Netsuite ERP, but for filling in custom fields in other cards.

      Options

      • Custom Field Internal ID (Dropdown List): Specify the input type of the custom field’s internal ID. String, Number, and Boolean are options.

      Input Fields

      • Input
        • Value (text): The value you want to enter to fill in the custom field
        • Internal ID (text): The internal ID associated with the custom field you’re entering information into

      Output Fields

      • Output
        • Custom Field (text): Use this output to create a list of custom fields in another card
    • Build List Field

      Building a list item aids in the entry of information into other cards. This card has many different possible outputs, but it enables you to build any of a wide variety of new records, and successfully pass that information onto other cards. The process of that is detailed below.

      Options

      • Record Type (dropdown)
        • Dynamic list of record types available in your Netsuite instance. Click here for an exhaustive list of record types.
      • Field (dropdown)
        • Dynamic list of the fields available to edit on the selected record.

      Input Fields

      • These fields are dependent on the type of record and field you are trying to update. They will all however have an internal ID related to the field you have chosen. Learn more about how to find the internal ID of a field here.

      Output Fields

      There is only one type of output for this card, the list item you have created. This list item is actually an object, and you can access any of the information entered as an input by entering the name of that field as a key in the enter key name here field. These keys can then be dragged to other cards.

      • Item (object)
        • Enter key name here (text) To access any of the information entered in this card, type the name of the input above into this text box and press enter. Now the value that you entered in the input field above is available to use in your FLO.
    • Create Record

      Create a new record in NetSuite.

      Options

      • Record Type (Dropdown List): Choose the type of record that you’re creating with this card. The options are: Account, Customer, Invoice, PurchaseOrder, PurchaseRequisition, SalesOrder, and Subsidiary.

      Input Fields

      • Input
        • Dynamically Generated Fields (text): These inputs will vary greatly depending on the type of record that you are creating. If you need help with these fields, please don’t hesitate to email support.

      Output Fields

      • Output
        • Internal ID (text): The unique identifier associated with the newly created NetSuite record.
    • Custom API Action

      Make a custom call to the Netsuite API.

      NOTE: If you selected “Latest” when creating a connection, then you are using version 2018_1 API for custom API requests.

      Input Fields

      • Operation (string): The operation you want to perform, such as add, delete, get, search. See full list of supported operations from Page 174 to 176 here.

      • Namespace (string): The namespace (including version number) of the records you want to make API call. You can find the namespace here. For example, if you want to make API call about Customer record, then you need to click “C” from the top, find Customer from the left, click Customer, and copy the Namespace urn:relationships.lists.webservices.netsuite.com. Note you need to add the version numer to be the final value for Namespace input: urn:relationships_2018_1.lists.webservices.netsuite.com.

      • Body (XML) (string): This input takes an XML string. An example XML to perform a get operation (Operation input as “get”, Namespace input as “urn:customers_2018_1.transactions.webservices.netsuite.com”) to get details about a customerPayment record would look like this:

        <soapenv:Body><platformMsgs:get><platformMsgs:baseRef xsi:type="platformCore:RecordRef" type="customerPayment" internalId="5896"/></platformMsgs:get></soapenv:Body>

        An example XML to perform an add operation (Operation input as “get”, Namespace input as “urn:customers_2018_1.transactions.webservices.netsuite.com”) to add a customerPayment record would look like this:

        <soapenv:Body><platformMsgs:add><platformMsgs:record xsi:type="ns1:CustomerPayment"><ns1:customer internalId="1049"/><ns1:payment>100</ns1:payment></platformMsgs:record></platformMsgs:add></soapenv:Body>

        An example XML to perform a delete operation (Operation input as “get”, Namespace input as “urn:customers_2018_1.transactions.webservices.netsuite.com”) to delete a customerPayment record would look like this:

        <soapenv:Body><platformMsgs:delete><platformMsgs:baseRef xsi:type="platformCore:RecordRef" type="customerPayment" internalId="47290"/></platformMsgs:delete></soapenv:Body>

        Output Fields

        • Status Code (number): Response Status code.
        • Headers (object): Response Headers as XML.
        • Body (XML) (string): This output returns an XML string. If you want to convert the returned XML string to a JSON object, you can use the XML Parse function card.
    • Delete Record

      Deletes a record in NetSuite.

      Options

      • Record Type (drop down menu): Choose the type of record you wish to delete. i.e. Customer, PurchaseOrder, or Employee.

      Input Field

      • ID (text): The ID of the record you wish to delete. Can be found by using ‘Search Records’ or in the information for the record in NetSuite.

      Output Fields

      • Was deletion Successful? (T/F): Returns whether the deletion was successful or not.
      • Message (text): The message along with deletion.
    • ReadRecord2

      Reads a record in NetSuite.

      Options

      • Record Type (drop down menu): Choose the type of record you wish to read. i.e. Customer, PurchaseOrder, or Employee.

      Input Field

      • Internal ID (text): The internal ID of the record you wish to read.

      Output Fields

      • customForm (text): The custom form for the record.
      • entityId (text): The ID/name of the entity.
      • altName (text): An alternate name for the record.
    • Search Records

      Search for one or more records in Netsuite.

      Options

      • Record Type (Dropdown List): Choose the Netsuite record type that you would like to search for.

      • Field (Dropdown List): Choose the field on that record type that you want to search by. This will vary by record type.

      • Operator (Dropdown List): Choose what operator you want to use to search for the field. This will vary based on the type of field that is chosen (e.g. string fields will have different operators than number fields or date fields).

      • Return (Dropdown List): Choose whether you want all matching records returned or just the first matching record. If you don’t need all matching records, choosing “One record” will speed up the processing time of the Search Records card.

      Input Fields

      The inputs for this card will change depending on what field and operator are chosen. You will either see an input called Keyword (and sometimes a second input called Keyword 2, if two values are required), or an array input called Internal IDs.

      If the input is Keyword, enter the value that you would like to search for, keeping in mind what operator you have chosen (e.g. “is” vs. “isNot”).

      If the input is Internal IDs array, that means that Netsuite is looking for the unique identifier used for whatever field you are searching for. This ID will be a number.

      • To find this internal ID, you may need to open the Netsuite UI and find the type of record you are searching for as an example. To have more visibility of internal IDs, make sure to navigate to Home -> Set Preferences -> General and check Show Internal IDs. Alternatively, you may want to try using Read Record in Azuqua on the type of record you are searching for in order to find the internal ID. Please note that many fields in Netsuite have internal IDs, so make sure that the ID you are inputting is a valid value for that field.

      Output Fields

      An array of results matching your search parameters.

    • Update List Item

      Update a list item on a record.

      Options

      • Record Type (Dropdown List): Choose the type of record that you’re updating with this card.
      • List (Dropdown List): Choose the type of list that you’re updating with this card.

      Input Fields

      • Input
        • Dynamically Generated Fields (text): These inputs will vary greatly depending on the type of record that you are creating. If you need help with these fields, please don’t hesitate to email support. NOTE: you need to select the “line” field from the dynamically generated fields to specify which line item you want to update. You can find the value for “line” from the “itemList” output field using Read Record card.

      Output Fields

      • Output
        • Is Success? (true/false): If true, update is a success.
    • Update Record

      Update already existing record by ID.

      Options

      • Record Type (Dropdown List): Choose the type of record that you’re creating with this card. The options are: Account, Customer, Invoice, PurchaseOrder, PurchaseRequisition, SalesOrder, and Subsidiary.

      Input Fields

      • Input
        • Internal ID (text): The unique identifier associated with the newly created NetSuite record.

      Output Fields

      • Output
        • Is Success? (true/false): If true, update is a success.