---
schema_version: "1"
id: b6906ea3b75494e2fc3f6cb48b5c754f7ff5c71783b608c071e5ea3747c4a0bc
title: NetSuite Connector
collection: admin
version: current
locale: en-us
portal_url: https://docs.salesforce.com/admin/current/en-us/platform/264-0-0/automate_flow_ref_third_party_netsuite.md
canonical_url: https://help.salesforce.com/s/articleView?id=platform.automate_flow_ref_third_party_netsuite.htm&release=264.0.0&type=5
source_site: help.salesforce.com
content_type: documentation
content_hash: ed6037a8d9cdc3cc45b045ed0e165074012ff167cee0d6b681d9905dd01f5ff2
description: Connect to an external NetSuite account. Perform tasks like syncing contacts or creating invoices. Use NetSuite as a data source (trigger) or a data target (action).
products:
  - Flow Builder
  - Salesforce Platform
release: "264"
---
# NetSuite Connector

Connect to an external NetSuite account. Perform tasks like syncing contacts or creating invoices. Use NetSuite as a data source (trigger) or a data target (action).

### Required Editions

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small edition"><colgroup><col></colgroup><tbody><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;"><a href="https://help.salesforce.com/s/articleView?id=platform.flow_ref_supported_editions.htm&amp;release=264.0.0&amp;type=5" title="Learn about the editions and user interfaces that support Flow Builder. Some Flow Builder features integrate with other Salesforce products that require additional licenses.">View supported editions.</a></td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">This feature requires the MuleSoft for Flow: Integration add-on. Exceptions are segment-triggered flows, activation-triggered flows, and broadcast flows, which don't require the MuleSoft for Flow: Integration add-on. <strong>Professional</strong> Edition requires the API access add-on. To purchase an add-on, contact your Salesforce account executive.</td></tr><tr class=""><td class="slds-cell-wrap" style="vertical-align:top;">MuleSoft for Flow: Integration features used with Agentforce require the Foundations or Agentforce 1 edition. To purchase these editions, contact your Salesforce account executive.</td></tr></tbody></table>

![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)

Note You can edit or delete connections only in the Automation app.

## Before You Begin

The NetSuite API doesn't return lists of required fields, so the user interface doesn't mark these fields as required.

## Connections

**Standard Connection**

When connecting to NetSuite in a flow:

- In NetSuite:
    - Go to **Setup** > **Integration Management** > **Manage Integration** > **Authentication** to make sure that you turn on token-based authentication. Make sure the role used in the integration isn't using two-factor authentication by going to **Setup** > **User/Roles** > **Two-Factor Authentication Roles**.
    - Make sure that you have all the required permissions in NetSuite to consume REST APIs. Access to the NetSuite app and data is based on user roles and permissions. For more information about REST API’s, users, roles, and permissions, see the NetSuite documentation.
    - Testing a NetSuite connection calls the base metadata endpoint for the InventoryItem object, so you need permission to access this object.
- In Salesforce:
    - From Setup, in the Quick Find box, enter Remote Site Settings to make sure that NetSuite has remote site settings. Click **New Remote Site** and enter your organization's base NetSuite URL.

To connect to a data source or target, create a connection with the system's required credentials. You can connect to multiple systems within a flow and reuse each connection.

You can create connections in the [Integrations tab](https://help.salesforce.com/s/articleView?id=platform.automate_ala_connections.htm&release=264.0.0&type=5 "The Integrations tab includes a list of all the connections for your org.") or in Flow Builder.

This system uses Custom (Token-Based) authentication.

Token-based authentication uses an encrypted access token. The external system generates the TokenId and TokenSecret, unique to each user and integration, to connect to Flow Builder.

This system requires this credential information for its [connections](https://help.salesforce.com/s/articleView?id=platform.automate_ala_connections_create_connection.htm&release=264.0.0&type=5).

<table class="slds-table slds-table_bordered slds-max-medium-table_stacked slds-m-bottom_small ">
        <colgroup>
          <col style="width:42.73504273504274%">
          <col style="width:57.264957264957275%">
        </colgroup>
        <thead class="slds-text-title_caps ">
          <tr class="">
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d268839e168">FIELD</th>
            <th scope="col" class="slds-cell-wrap" style="vertical-align:top;" id="d268839e171">DESCRIPTION</th>
          </tr>
        </thead>
        <tbody>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">Connection Name</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p dir="ltr">Enter a unique connection name that helps you remember the details of this
                connection. After you create the connection, the system hides the credentials. You can
                reuse connections.</p>
              <p dir="ltr">Anyone with the Manage Integration Connections permission can see and use all
                connections in the org.</p>
              <p style="margin-bottom:0;" dir="ltr">Connect to NetSuite as a regular user (WSU), not a concurrent user (cWSU).</p>
            </td>

          </tr>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">Account</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p>Enter the account ID of your NetSuite instance.</p>
              <p style="margin-bottom:0;">To find this value in NetSuite, click <strong class="uicontrol">Setup</strong> &gt;
                <strong class="uicontrol">Integration</strong> &gt; <strong class="uicontrol">SOAP Web Services Preferences</strong>.
                For example: <code>myaccount</code>
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">ClientId</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p>Enter the client ID generated in NetSuite. This value appears only when you create the
                integration.</p>
              <p style="margin-bottom:0;">To generate a new client ID, in NetSuite, click <strong class="uicontrol">Setup</strong> &gt;
                <strong class="uicontrol">Integrations</strong> &gt; <strong class="uicontrol">Manage Integrations</strong> &gt;
                <strong class="uicontrol">New</strong> to create an integration with token-based authentication
                enabled. Then, enter the generated client data in the <strong class="uicontrol">ClientId</strong>
                field.
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">ClientSecret</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p>Enter the client secret generated in NetSuite. This value appears only when you create
                the integration.</p>
              <p style="margin-bottom:0;">To generate a new client secret, in NetSuite, click <strong class="uicontrol">Setup</strong> &gt;
                <strong class="uicontrol">Integrations</strong> &gt; <strong class="uicontrol">Manage Integrations</strong> &gt;
                <strong class="uicontrol">New</strong> to create an integration with token-based authentication
                enabled. Then, enter the generated client data in the <strong class="uicontrol">ClientSecret</strong>
                field.
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">TokenId</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p>Enter the token ID generated in NetSuite. This value appears only when you create an
                access token for a user.</p>
              <p style="margin-bottom:0;">To generate a new token ID, in NetSuite, click <strong class="uicontrol">Setup</strong> &gt;
                <strong class="uicontrol">Users/Roles</strong> &gt; <strong class="uicontrol">Access Tokens</strong> &gt;
                <strong class="uicontrol">New</strong>. Select the app, user, and role with REST API permissions, and
                then save the record. Enter the generated token data in the <strong class="uicontrol">TokenID</strong>
                field.
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">TokenSecret</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p>Enter the token secret generated in NetSuite. This value appears only when you create an
                access token for a user. </p>
              <p style="margin-bottom:0;">To generate a new token secret, in NetSuite, click <strong class="uicontrol">Setup</strong> &gt;
                <strong class="uicontrol">Users/Roles</strong> &gt; <strong class="uicontrol">Access Tokens</strong> &gt;
                <strong class="uicontrol">New</strong>. Select the app, user, and role with REST API permissions, and
                then save the record. Enter the generated token data in the
                <strong class="uicontrol">TokenSecret</strong> field.
              </p>
            </td>

          </tr>
          <tr class="">
            <td data-label="FIELD" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e168 ">URL</td>

            <td data-label="DESCRIPTION" class="slds-cell-wrap" style="vertical-align:top;" headers="d268839e171 ">
              <p>Enter the URL of your NetSuite instance.</p>
              <p style="margin-bottom:0;">Create your URL by appending <code>.suitetalk.api.netsuite.com</code> to your
                NetSuite account ID. For example:
                <code>https://myaccountid.suitetalk.api.netsuite.com</code>.
              </p>
            </td>

          </tr>
        </tbody>
      </table>

**Named Credential Connection**

Select a pre-existing named credential from Setup to use for your external system connections.

Before connecting to your external system with a named credential, first create or use an existing authenticated [named credential and external credential that is enabled for your users.](https://help.salesforce.com/s/articleView?id=xcloud.nc_named_creds_and_ext_creds.htm&type=5&language=en_US)

To ensure a successful [connection](https://help.salesforce.com/s/articleView?id=platform.automate_ala_connections_create_connection.htm&release=264.0.0&type=5 "Select a named credential from Setup to use for your external system connections.") for use in a flow, use only one principal for each named credential.

- Use the same name for the named credential and its related objects, such as the external credential and external authentication identity providers. Labels for these objects can differ.
- Assign the user creating the connection the required user permission for the principal. Without this permission, the connection test fails and the connection remains inactive.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_important.png)

Important

When you create a connection with an existing named credential, note these behaviors:

- Manage the named credential’s read-only details in Setup, not the Integrations tab. On the Integrations tab, you can only edit the connection's Connection Name and Description.
- Perform reconnections for the named credential in Setup. The Reconnect button isn’t visible on the Details page.
- Delete associated named credentials in Setup. Deleting a connection doesn't remove the credential.

## Triggers

A trigger initiates the flow when a specified event occurs. Triggers are important for automating business processes because they react to real-time data changes in various systems. For more information about triggers, refer to [Create a Flow with a Connector as a Trigger](https://help.salesforce.com/s/articleView?id=platform.automate_build_flow_esct_third_party_as_trigger.htm&release=264.0.0&type=5 "To trigger a flow when a change happens in a third-party system, use an External System Change-Triggered flow. A poller checks for new records on a schedule and creates flow interviews when records are found. Create the flow from scratch or from a template.").

These NetSuite triggers are available in Flow Builder.

- On New Or Updated Record Trigger
- On New Record Trigger

These NetSuite objects are available for these NetSuite triggers.

- AssemblyItem
- CashRefund
- CashSale
- Contact
- CreditMemo
- Customer
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)
    
    Note
    
    The [Customer object](https://help.salesforce.com/s/articleView?id=platform.automate_flow_considerations_mulesoft_for_flow_limits.htm&release=264.0.0&type=5) doesn't support the taxItem, taxSchedule, projectTemplate, and projectTemplateId fields.
- CustomerDeposit
- CustomerPayment
- CustomerRefund
- Employee
- Estimate
- GiftCertificateItem
- InventoryAdjustment
- InventoryItem
- Invoice
- ItemFulfillment
- ItemGroup
- ItemReceipt
- Job
- JournalEntry
- KitItem
- NonInventoryPurchaseItem
- NonInventoryResaleItem
- NonInventorySaleItem
- Opportunity
- OtherChargePurchaseItem
- OtherChargeResaleItem
- OtherChargeSaleItem
- Partner
- PaymentItem
- PhoneCall
- PurchaseOrder
- ReturnAuthorization
- SalesOrder
- ServicePurchaseItem
- ServiceResaleItem
- ServiceSaleItem
- TransferOrder
- Vendor
- VendorBill

## Actions

An action performs a specific task or operation within a target system. Use actions to automate tasks across different systems without manual intervention, based on conditions set in the flow. For more information about actions, refer to [Create a Flow with a Connector as an Action](https://help.salesforce.com/s/articleView?id=platform.automate_build_flow_esct_third_party_as_action.htm&release=264.0.0&type=5 "To integrate your flow with an external system, add MuleSoft for Flow: Integration connectors as actions to all existing flow types. You can add connectors to flows that trigger external system changes, records, schedules, Data Cloud-triggered flows, or autolaunched flows.").

These NetSuite actions are available in Flow Builder.

- Create Record
- Delete Record
- Get Record
- Get Records
- Update Record
- Upsert Record

## Get Records Action

Query searchable objects from each connector by using custom filter logic in the MuleSoft for Flow: Integration Get Records action, which functions like the Salesforce Flow's [Get Records element](https://help.salesforce.com/s/articleView?id=platform.flow_ref_elements_data_get.htm&release=264.0.0&type=5 "The Get Records element finds all Salesforce or Marketing Object records that meet the filter and sort conditions and stores values from the retrieved records in variables. You can retrieve Salesforce standard and custom object records, or Marketing Object records, by using the Get Records element.").

The MuleSoft for Flow: Integration Get Records action:

- Defines queried object to ensure flexibility and adaptability across different data sources.
- Specifies available operators and enables the selection of fields, addition of conditions, and sorting of results.
- Defines the logical operator types.
- Includes other metadata to describe the operators available for each field when the available operators differ based on the object type.
- Runs the query request, processes the response, and formats the retrieved data accurately.
- Provides sorting options with custom logic and flexible record output.
- Limits the number of records returned to optimize performance and makes sure that you have access to the most relevant data.

These NetSuite objects are available for these NetSuite actions.

- AssemblyItem
- BillingSchedule
- CashRefund
- CashSale
- Classification
- Contact
- CreditMemo
- Currency
- Customer
- CustomerDeposit
- CustomerPayment
- CustomerRefund
- Department
- Employee
- Estimate
- GiftCertificateItem
- InventoryAdjustment
- InventoryItem
- Invoice
- ItemFulfillment
- ItemGroup
- ItemReceipt
- Job
- JournalEntry
- KitItem
- Location
- NonInventoryPurchaseItem
- NonInventoryResaleItem
- NonInventorySaleItem
- Opportunity
- OtherChargePurchaseItem
- OtherChargeResaleItem
- OtherChargeSaleItem
- Partner
- PaymentItem
- PhoneCall
- PriceLevel
- PurchaseOrder
- ReturnAuthorization
- SalesOrder
- ServicePurchaseItem
- ServiceResaleItem
- ServiceSaleItem
- Subsidiary
    
    ![Note](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_note.png)
    
    Note Subsidiary is only available for the Get Record action.
- TimeBill
- TransferOrder
- Vendor
- VendorBill
- Custom objects

![Tip](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_tip.png)

Tip For more information about the API, see the external system's API documentation.

![Important](https://sf-zdocs-cdn-prod.zoominsoftware.com/tdta-platform-platform_automation-264-0-0-production-enus/60568438-ec7e-4665-acd1-7c80dcbe60d5/images/icon_important.png)

Important

For information about specific limitations for connections and third-party connectors, see [MuleSoft for Flow: Integration Limits & Considerations](https://help.salesforce.com/s/articleView?id=platform.automate_flow_considerations_mulesoft_for_flow_limits.htm&release=264.0.0&type=5 "When establishing connections to external systems, keep these limitations in mind.").