Skip to main content
Oracle NetSuite is a cloud-based ERP platform that manages financials, order management, inventory, CRM, and business operations. Connecting NetSuite to Duvo lets your Agents read and manage enterprise data directly through the NetSuite AI Connector MCP, eliminating manual navigation of NetSuite screens.

Setup

If you connected NetSuite before this setup flow was introduced, that connection never completed authorization and cannot read or write data. Delete the old connection and create a new one following the steps below.

Enable the required NetSuite features

In NetSuite, go to Setup > Company > Enable Features > SuiteCloud and turn on:
OAuth 2.0
Server SuiteScript
REST Web Services
These are account-level features required for the NetSuite AI Connector MCP, not OAuth scopes — you’ll choose scopes separately when you create the Integration Record.Your NetSuite account ID is visible in your NetSuite URL (https://<accountid>.app.netsuite.com); you’ll need it later when entering the MCP Server URL in Duvo.

Create a role for Duvo

The NetSuite role you use to authorize the connection (in a later step) must not be Administrator — NetSuite blocks the OAuth authorization flow for that role. Create or reuse a role that has the AI Connector MCP permissions assigned, and assign it to the user who will complete the OAuth consent.
Do not use the Administrator role for this connection. NetSuite’s AI Connector explicitly rejects Administrator-role sessions.

Create an Integration Record

Go to Setup > Integration > Manage Integrations > New.
  • Give the integration a name (for example, Duvo).
  • Under Authentication, enable Authorization Code Grant (OAuth 2.0).
  • Under OAuth 2.0 Scopes, select only NetSuite AI Connector Service.
  • NetSuite requires the Public Client checkbox for the AI Connector MCP scope — check it. With Public Client checked, NetSuite does not issue a Client Secret; that’s expected, since the Client Secret is optional in Duvo.
  • Add Duvo’s redirect URI as an allowed redirect URI. You can find this URI in the Duvo connection form under How to set up your OAuth app.
  • Save the record. NetSuite displays the Client ID (and Client Secret, if you didn’t check Public Client) once — copy them immediately.
Need help with the Integration Record? See NetSuite Integration Records for creating and managing OAuth 2.0 Integration Records.

Add the connection in Duvo

On the Connections page, open NetSuite and fill in these fields:
string
required
A custom name to help you identify this connection (for example, NetSuite Production).
URL
required
Your NetSuite AI Connector MCP endpoint. See MCP Server URL formats below for the exact form to use.
string
required
The Client ID shown when you saved the Integration Record in NetSuite.
string
The Client Secret shown when you saved the Integration Record in NetSuite. Only required for confidential-client Integration records — leave this blank for the standard Public Client setup above.
Select Continue to NetSuite. You’re redirected to NetSuite to sign in and approve access, then returned to Duvo with the connection active.

MCP Server URL formats

Replace <accountid> with your NetSuite account ID:
  • https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/all — the account-wide endpoint, exposing the full NetSuite AI Connector MCP catalog.
  • https://<accountid>.suitetalk.api.netsuite.com/services/mcp/v1/suiteapp/<application-id> — scopes the connection to a single SuiteApp.
Sandbox account IDs shown with an underscore (for example 1234567_sb1) must use a hyphen in the hostname instead: 1234567-sb1.suitetalk.api.netsuite.com.

Reconnecting and troubleshooting

If NetSuite revokes or expires the connection’s tokens, select Reconnect on the NetSuite connection card. Duvo reuses the stored Client ID and Client Secret from the Integration Record automatically — you don’t need to re-enter them. If an Agent’s NetSuite tool calls fail, open the Integration Record in NetSuite and check its MCP Execution Log for the underlying OAuth or tool-call error.

Capabilities

  • Financial record management — Read and manage accounts, general ledger entries, journal entries, and financial transactions.
  • Customer and vendor management — Access customer and vendor records including contact details, payment terms, and transaction history.
  • Order and fulfillment tracking — Retrieve sales orders, purchase orders, and fulfillment records across your operations.
  • Inventory visibility — Look up inventory items, stock levels, and warehouse data.
  • Reporting and analytics — Run saved searches and retrieve structured data for business reporting.

Key Benefits

  • Direct ERP access — Agents query NetSuite data in real time, so reports and workflows reflect current records without manual exports.
  • Broad operational coverage — A single connection spans financials, CRM, inventory, and order management across your NetSuite environment.
  • Secure OAuth authentication — Uses NetSuite’s standard OAuth 2.0 Authorization Code flow. Duvo stores the Client ID and Client Secret you supply in encrypted form, using them only to complete authorization and to refresh or reconnect the connection later.
  • No NetSuite expertise required after setup — Once connected, Agents translate natural-language requests into the correct NetSuite queries, so business users do not need to know NetSuite navigation paths.

Works Well With

Google Sheets

Pull NetSuite financial data, vendor lists, or order summaries into spreadsheets for analysis and reporting.

Microsoft Excel

Pull NetSuite financial data, vendor lists, or order summaries into spreadsheets for analysis and reporting.

Gmail

Retrieve NetSuite records and include them in automated notifications, approval emails, or customer follow-ups.

Microsoft Outlook

Retrieve NetSuite records and include them in automated notifications, approval emails, or customer follow-ups.

Slack

Post NetSuite order updates, financial alerts, or inventory changes to team channels automatically.

Microsoft Teams

Post NetSuite order updates, financial alerts, or inventory changes to team channels automatically.