NetSuite API Integration
A step-by-step guide for obtaining NetSuite API credentials to feed client data into the Elastic Stack.
NOTE: As of the NetSuite 2027.1 release, new integrations can no longer use Token-Based Authentication (TBA / OAuth 1.0a) for REST web services or RESTlets. Existing TBA integrations continue to run during a transition period, but any new build should use OAuth 2.0 Client Credentials (JWT) instead. This guide covers both paths — use OAuth 2.0 for new client integrations.
Overview
This guide walks through enabling the required NetSuite features, creating an integration record, provisioning a scoped integration role and user, and generating credentials that can be used to pull data via the NetSuite REST API / SuiteQL for ingestion into an Elastic ingest pipeline.
Step 1 — Enable Required Features
In NetSuite, using an Administrator account:
- Go to Setup > Company > Enable Features > SuiteCloud
- Under SuiteScript, check Client SuiteScript and Server SuiteScript
- Under SuiteTalk (Web Services), check REST Web Services
- Under Manage Authentication, check Token-based Authentication (legacy path only) — skip this if going pure OAuth 2.0
- Click Save, then accept the SuiteCloud Terms of Service
Step 2 — Create an Integration Record
- Go to Setup > Integrations > Manage Integrations > New
- Enter a Name (e.g., “AgileBlue-Elastic-Ingest”) and Description
- Leave State = Enabled
- On the Authentication tab: check OAuth 2.0
- For OAuth 2.0, set the scope to REST Web Services
- Click Save
- Note: the Client ID and Client Secret are shown only this one time and cannot be retrieved afterward. Capture them immediately into a secrets manager.
Step 3 — Create a Dedicated Integration Role
Note: Don’t reuse an admin or personal role — build a scoped one
- Setup > Users/Roles > Manage Roles > New
- Name it clearly (e.g., “Elastic Integration Role”)
- Under Authentication, select Web services only role.
- Click Save
Step 4 — Create the Integration User
- Setup > Users/Roles > Manage Users — create or select a dedicated service account (not a real employee login)
- Edit the user > Access tab > assign the role created in Step 3
Step 5 — Get the Account ID
- Found at the start of the NetSuite URL, e.g. https://1234567.app.netsuite.com/ → Account ID is 1234567
- Or via Setup > Integrations > Web Services Preferences
Step 6 - Sent API Information to AgileBlue
- Securely send the following details to AgileBlue Support (support@agileblue.com)
- Client ID
- Client Secret
- NetSuite URL
- NetSuite Account ID
Need Help?
AgileBlue is always here to support you and ensure you are 100% successful. If there are any issues with the installation or if you have any questions, please reach out to AgileBlue Support.
Email: support@agileblue.com
Phone: (216) 606-9400🚨