Skip to main content
Opal natively supports an integration with NetSuite. This integration enables organizations to manage access to NetSuite roles.
Opal cannot modify Administrator roles due to NetSuite API limitations.

Supported resources and functionality

ResourceReadGrant and revoke accessAvailable in Risk Center
NetSuite Roles✔️✔️✔️
Opal syncs all active NetSuite roles and employees who have login access enabled (Give Access = true).

Getting Started

In Opal, go to the Inventory, select the +App icon, and select NetSuite.

1. Generate a key pair

The NetSuite integration uses OAuth 2.0 Client Credentials (machine-to-machine) with a certificate-based JWT. You need to generate a key pair and register the public certificate in NetSuite. Run the following commands to generate an EC key pair (ES256):
openssl ecparam -name prime256v1 -genkey -noout -out private_key.pem
openssl req -new -x509 -key private_key.pem -out certificate.pem -days 730 -subj "/CN=OpalIntegration"
Keep private_key.pem — you will upload it to Opal. You will upload certificate.pem to NetSuite in the next step.

2. Create a NetSuite integration record

  1. In NetSuite, go to Setup > Integration > Manage Integrations > New.
  2. Fill in the following settings:
SettingValue
NameOpal
StateEnabled
Client Credentials (Machine to Machine) GrantChecked
Token-Based AuthenticationUnchecked
Authorization Code GrantUnchecked
  1. Save the record. Copy the Client ID — you will need it later.

3. Upload the certificate

  1. Still in NetSuite, go to Setup > Integration > OAuth 2.0 Client Credentials (M2M) Setup.
  2. Set Entity to the service account user or role that Opal will authenticate as.
  3. Upload the certificate.pem file you generated in step 1.
  4. Save the record. Copy the Certificate ID — you will need it later.

4. Create the Opal Integration role

Create a dedicated NetSuite role with the minimum permissions required by Opal.
  1. Go to Setup > Users/Roles > Manage Roles > New.
  2. Set the Name to Opal Integration.
  3. Under the Permissions tab, add the following permissions and save the role:
PermissionLevel
REST Web ServicesFull
Records CatalogView
Employee RecordView
EmployeesView
Manage OAuth TokensFull
Log in using OAuth 2.0Full
Manage Own OAuth TokensFull

5. Assign the role to the integration certificate

  1. Go to Setup > Users/Roles > Manage Roles and open the Opal Integration role.
  2. Under the Users subtab, add the employee or service account that owns the certificate created in step 3.
Alternatively, assign the role directly on the employee record: Lists > Employees, open the employee, go to the Access subtab, and add the Opal Integration role.

6. Connect NetSuite in Opal

Back in the Opal New App form, fill in the following fields:
FieldValue
Account IDYour NetSuite account ID (e.g. 1234567 or 1234567_SB1 for sandbox)
Client IDThe Client ID from the integration record created in step 2
Certificate IDThe Certificate ID from step 3
Private KeyUpload the private_key.pem file generated in step 1
Click Connect. Opal will validate the credentials and verify the Opal Integration role has the required permissions. Any missing permissions appear in the App Validations section of the app’s Setup tab.
Last modified on March 26, 2026