Skip to main content
NetSuite is Oracle’s cloud ERP suite, covering accounting, inventory, CRM, and order management for companies that often run across multiple locations and subsidiaries. Connecting NetSuite to Prowork lets finance and ops teams pull saved search results into the same flows used for reconciliation and reporting, and push sales orders, purchase orders, and other records back to NetSuite, without manual exports or engineering work. There are two ways to authorize NetSuite in Prowork, and not every step uses the same one:
  • Token-based authentication covers Pulling Data via Saved Search and Sending Data. These two share the same integration record and credentials, you only need to set this up once.
  • OAuth 2.0 covers Pulling Data via SuiteQL only. This uses a separate integration record from the token-based one above.
A single NetSuite integration record can have both Token-Based Authentication and OAuth 2.0 enabled at once, they’re independent checkboxes on the same record. If you’re setting up all three, you can reuse one integration record by enabling both sets of checkboxes on it. If you’re only setting up one method from scratch, just check the boxes for the one you need.

Creating a NetSuite role

The permissions on the role applied to your integration determine which saved searches, transactions, lists, and results you’ll be able to access in Prowork. Confirm the role has access to every object you plan to use before moving on. Missing permissions are one of the most common causes of support tickets later.
You’ll also need your own NetSuite user to have permissions to create new integrations, manage access tokens, and edit roles. These are needed to generate the credentials below, separately from whatever role/permissions you’re setting up for Prowork itself.
Recommended permissions, in addition to anything specific to your use case:

Transactions

  • Any specific transaction types you need (sales orders, purchase orders, transfer orders, etc.)
  • Find transaction

Reports

  • Any specific report types you need

Lists

  • Any specific lists you need (items, locations, companies, customers, etc.)
  • Perform search, persist search, and publish search

Setup

  • Log in using Access Tokens
  • SOAP Web Services (required for Pulling Data via Saved Search)
  • REST Web Services (required for Pulling Data via SuiteQL and Sending Data)

Custom Records

  • Any specific custom record objects you need
Make sure the web services only checkbox is selected on the role. This is under the Authentication section of the role record, not the Permissions tabs.
NetSuite role record with Web Services Only Role checked and the Transactions/Reports/Lists/Setup/Custom Record permission tabs visible
Watch a video walkthrough of this setup:

Authorizing token-based access (Pulling Data via Saved Search and Sending Data)

Pulling Data via Saved Search and Sending Data both use token-based authentication and share the exact same NetSuite integration record and credentials. You only need to do this setup once. You’ll create an integration record and an access token in NetSuite, then enter the resulting credentials in Prowork.

Creating a NetSuite integration

Follow this path in the NetSuite UI: Setup > Integration > Manage Integrations > New
1

Name the integration

Specify an integration name and ensure the status is set to Active.
2

Enable token-based authentication

Under Authentication, check Token-Based Authentication.
3

Leave other options unchecked

Leave TBA: Issuetoken Endpoint and TBA: Authorization Flow unchecked.
4

Save the record

Save the record.
NetSuite Integration record with Token-Based Authentication enabled
Saving the record generates a Consumer Key and Consumer Secret. Record these immediately, since NetSuite only displays them once and they cannot be retrieved after you leave the page.
NetSuite Client Credentials shown once after saving the integration record

Creating a new access token

Once the role, user, and integration exist, generate the access token Prowork will authenticate with. Follow this path in the NetSuite UI: Setup > Users/Roles > Access Tokens > New Access Token
1

Select the integration, user, and role

Select the integration you created above, along with the desired user and role.
2

Save

Click Save.
The Token ID and Token Secret appear at the bottom of the page. As with the client credentials, record these immediately, since they disappear once you leave the page.
NetSuite Token ID and Token Secret shown once after creating the access token

Entering credentials in Prowork

1

Log in to Prowork

Log in to Prowork.
2

Add a Pull from NetSuite step

Add a Pull from NetSuite step onto your canvas. You can do this by describing what you want to Prowork’s chat, or by navigating to Integrations in the top left of your canvas and selecting Pull from NetSuite.
3

Open the step

Double-click into the step once it’s on the canvas to open it.
4

Authorize NetSuite

Click Authorize NetSuite on the left side of the step window.
5

Add a new account

Click Edit Accounts, then Add a new account.
6

Gather your credentials

Gather the Account ID, Consumer Key/Secret, and Token ID/Secret from the steps above.
7

Connect

Enter each credential and click Connect.
Connect your NetSuite account dialog for the Pull from NetSuite (Saved Search) step, showing Account ID, Consumer Key, Consumer Secret, Token ID, and Token Secret fields
This same authorization also covers Send to NetSuite. There’s no separate integration record or separate authorization step for it. The only extra requirement is a role permission: make sure your role has full access to REST Web Services (in addition to SOAP Web Services, which Pulling Data via Saved Search requires). This is already listed in the role permissions above; if you set up the role using that list, you’re covered.
REST Web Services and SOAP Web Services listed among a NetSuite role's Setup permissions
If you’re sending data, also confirm the role has sufficient permissions to create and/or update the specific objects you’re sending. Set the relevant permission’s access level to Full. For example, creating and updating sales orders requires: Transactions > Sales Orders > Full Access.
Permission level dropdown on a NetSuite role, with Full selected

Authorizing Pulling Data via SuiteQL

Pulling Data via SuiteQL uses OAuth 2.0 with Authorization Code Grant. This can live on the same NetSuite integration record as the token-based setup above, or on its own, depending on what you’re setting up:
  • Already have the token-based integration set up above, and want to add SuiteQL? Go back to that same integration record (Setup > Integration > Manage Integrations) and additionally enable the OAuth 2.0 settings below on it.
  • Setting up SuiteQL only, from scratch? Create a new integration record (Setup > Integration > Manage Integrations > New) and just check the OAuth 2.0 boxes below. You don’t need Token-Based Authentication checked unless you’re also using Pulling Data via Saved Search or Sending Data.
Either way, the OAuth settings themselves are the same:
1

Enable Authorization Code Grant

Under OAuth 2.0, check Authorization Code Grant.
2

Set the scope

Under Scope, check REST Web Services.
3

Set the Redirect URI

Set the Redirect URI to https://parabola.io/api/auth/netsuite_oauth/callback.
4

Save

Save to generate your Client ID and Client Secret, shown only once.
NetSuite integration record with OAuth 2.0 Authorization Code Grant checked and REST Web Services selected as the scope

Connecting in Prowork

1

Add a Pull from SuiteQL step

Add a Pull from SuiteQL step to your flow.
2

Authorize

Click Authorize and enter your Account ID, Client ID, and Client Secret.
Prowork "Connect your NetSuite account" OAuth form for the Pull from SuiteQL step
The role behind this integration determines what data is accessible. Make sure the role has at least View permission for the NetSuite record types you plan to query.

Sharing your NetSuite connection with teammates

You don’t need every teammate to generate their own NetSuite tokens. Once one person has authorized a NetSuite connection in Prowork, that authentication can be shared with specific teammates or the whole team:
1

Open Edit Accounts

On the Pull from NetSuite (or Send to NetSuite) step, click Edit Accounts.
2

Open sharing settings

Find the authorization, click the three dots (), then Sharing settings.
3

Choose who can use it

Share it with a specific teammate or the whole team, and choose whether they can use it or also edit it.
Flows using a shared authentication stay in sync. If the connection is re-authorized (for example, after rotating tokens in NetSuite), every flow using it picks up the refreshed credentials automatically. See Manage personal credentials for the full walkthrough on sharing authentications across your team. If you’d rather each teammate authenticate independently (for per-person auditability on the NetSuite side), have each person create their own access token against their own NetSuite user, using the same web services only role from Creating a NetSuite role above.

Troubleshooting authorization

Authentication fails / connection won’t authorize (token-based: Pulling Data via Saved Search, Sending Data)
  • Confirm the role has Log in using Access Tokens and SOAP Web Services set to Full.
  • If connecting to a Sandbox account, use the Sandbox account ID and confirm it exactly matches the URL you see when logging in to NetSuite (e.g. 12345-sb1).
For OAuth-based authorization failures (Pulling Data via SuiteQL), Log in using Access Tokens doesn’t apply. Check the REST Web Services scope instead, per Authorizing Pulling Data via SuiteQL above.
Example: “Settings error” with a getaddrinfo ENOTFOUND message
Prowork Settings error showing "getaddrinfo ENOTFOUND fewgr.suitetalk.api.netsuite.com"
This means Prowork couldn’t resolve NetSuite’s API address for the Account ID entered, almost always because the Account ID is mistyped, uses the wrong casing/dash format, or is missing the sandbox suffix (e.g. entering 1234567 instead of 1234567-sb1). Double-check the Account ID against your NetSuite URL and re-authorize.
Last modified on September 16, 2026