Skip to main content Announcing Tool Policies: AI agent permissions down to the field Read the announcement
Alex Cox Alex Cox · · 7 min read
Illustration of Claude Cowork connecting to NetSuite through StackOne. A user asks Claude to enter a Silverline Electronics invoice against PO 25; Claude runs NetSuite actions through StackOne's execute_action tool, reads the purchase order with a hidden instruction removed from its memo, matches all four lines, then asks the user to approve creating the vendor bill.

Connect NetSuite to Claude Chat and Claude Cowork: Cross-System Finance and Operations Workflows

Table of Contents

Claude has an Oracle-built NetSuite connector, NetSuite’s AI Connector Service: an MCP server that turns Claude’s requests into NetSuite actions, as each person’s NetSuite role. For finance work that also touches the Accounts Payable (AP) inbox, Slack or the CRM, with rules on amounts, fields and bank details and one audit log, connect Claude to NetSuite through a Tool Gateway such as StackOne.

This guide is for the finance systems owners, controllers and IT teams who run NetSuite. It compares the ways to connect Claude Chat and Claude Cowork to NetSuite.

In this post:

Why connect Claude to NetSuite

Saved searches, SuiteFlow and scheduled scripts can automate the routine parts of the close. AI extends automation to the complex, unstructured workflows that traditional scripts cannot reach: in Gartner’s 2025 AI in Finance survey, finance teams already using AI most often used it for accounts payable automation (37%) and error and anomaly detection (34%), after knowledge management.

Even well-automated teams get requests no workflow covers. Enter this invoice against its Purchase Order (PO). Is that Maple Printing bill a duplicate? Accrue for the two contractors who haven’t billed for September. Which bills fall due in the next two weeks?

That’s where Claude Chat and Claude Cowork help. Someone asks in plain language, Claude finds the records and does the matching, and the person approves before anything is written. It also saves a trip through several saved searches and record screens to find one answer. It is particularly useful for seatless users—such as sales reps or support specialists without expensive Enterprise Resource Planning (ERP) licenses—who can query order or invoice statuses via Claude through StackOne under strict, read-only proxy governance.

The demo below runs four of these requests in one Claude conversation, then shows the controls behind them.

Few of these requests stay inside NetSuite. Invoices arrive in an inbox, approvals happen in Slack, and customer context lives in the Customer Relationship Management (CRM) system. That decides which way of connecting works best.

How to connect NetSuite to Claude: three options

Claude’s connector directory has had an Oracle-built NetSuite connector since November 2025. You can use it, build your own wrapper, or use a Tool Gateway. (Community-built NetSuite MCP servers exist as a middle ground between DIY and first-party, but they carry the core risk of running someone else’s code with your credentials, have no maintainer-of-record, and present tool descriptions that act as an unvetted instruction surface).

NetSuite AI Connector Service

Oracle’s AI Connector Service is NetSuite’s own MCP server, and because Oracle maintains it, it’s where many teams begin. It’s free, and the Claude connector needs a Pro plan or higher.

Oracle blocks the Administrator role and other full-access roles, and no one has access until an admin grants it.

Oracle’s free MCP Standard Tools SuiteApp gives Claude about 25 tools, as of October 2026. They’re general-purpose: one tool creates a record of any type, one updates any record, and one runs any record action, such as an approval. Others run saved searches, reports and read-only SuiteQL queries. There’s no delete tool, and admins can write their own tools in SuiteScript.

That covers a lot for one person in NetSuite. The limits show up once a team relies on it:

  • One tool for every record type. The same Create record tool makes vendor bills, journal entries and customers, so allowing it in Claude allows all of them. The NetSuite role has to do all the narrowing.
  • Lookups before every write. Create record first fetches the record type’s fields, and Oracle says to check a record action is available before running it. Claude works out the right fields each time, with an extra call each time.
  • NetSuite only. Tools can’t make outside calls, so the inbox, Slack and the CRM need separate servers with their own access and logs.
  • Responses aren’t screened. Oracle’s security guidance calls prompt injection “out of NetSuite control”. Memo fields and vendor notes are free text.
  • A short audit window. The integration’s execution log keeps MCP calls for 21 days in production and seven in a sandbox.

A Tool Gateway

A Tool Gateway sits between Claude and every system it uses, and applies one set of rules to every call. StackOne’s NetSuite connector has 80 actions across vendor bills, payments, invoices, journal entries, purchase and sales orders, customers, vendors and SuiteQL.

A Tool Gateway between Claude and three systems: a request to enter an invoice from the Accounts Payable (AP) inbox and flag it in Slack goes through one gateway that runs each call as the user, masks bank details and denies vendor payments by policy, then reaches NetSuite, email and Slack, with every call written to one audit log.

  • Each action does one job, such as Create Vendor Bill, with its fields set out up front, so Claude doesn’t look up the record type first. Each also declares whether it reads, writes or deletes, which Claude uses to sort tools for approval.

  • Each person connects their own NetSuite account, so calls run with their NetSuite access.

  • Tool Policies set what Claude can do for each user or group on top of the role, down to amounts and fields. A denied call never reaches NetSuite.

  • StackOne Defender checks every response before Claude reads it, and removes hidden instructions such as one hidden in a purchase order memo.

  • Every call goes into one action log across all your systems, which you can send to your SIEM.

  • Dual REST and SOAP support. NetSuite environments rely heavily on legacy SuiteTalk SOAP Web Services alongside modern SuiteTalk REST Web Services. While unmapped SOAP actions exist in bespoke NetSuite environments, StackOne’s integration engine natively ingests, parses, and normalizes XML/SOAP alongside REST, enabling rapid action mapping via the AI Connector Builder.

NetSuite AI Connector Service vs StackOne, request by request

Both are hosted, and both run each call with the person’s own NetSuite access. The difference is the shape of the tools:

Illustration of one request, "Enter this invoice against PO 25", taking two paths. Through the AI Connector Service, Claude looks up the vendor bill's fields, then calls Create record with the record type set to vendor bill; one approval covers every record type, so the NetSuite role does all the narrowing. Through StackOne, Claude calls Create Vendor Bill in one step; Tool Policies check the amount and mask bank details before the call reaches NetSuite.

How they differ on real requests:

RequestNetSuite AI Connector ServiceStackOne Tool Gateway
“Enter this invoice against PO 25.”Look up bill fields, then Create recordCreate Vendor Bill, in one call
AP can create bills but not journal entriesA separate NetSuite rolePick actions per person, or one policy
“Approve this bill.”Execute record action, any recordNot available today
“Delete the duplicate bill.”No delete toolDelete Vendor Bill, or blocked by policy
Run a saved search or standard reportYesNot yet: SuiteQL queries instead
“Show every change Claude made last month.”Execution log, 21 daysOne log across every system

Controlling what Claude can do in NetSuite

How sign-in shapes NetSuite permissions

NetSuite’s API accepts three ways to sign in: token-based authentication, OAuth 2.0 with a person signing in, and OAuth 2.0 client credentials, where a certificate is mapped to a user and role for machine-to-machine access.

The AI Connector Service accepts one: a person signing in with OAuth 2.0, with a role that isn’t an administrator. So:

  • Claude gets the whole role. Whatever the person can do in NetSuite’s own screens, Claude can do too.
  • Narrowing means another role. Oracle’s advice is to “create separate roles for different MCP tools”, and each person picks one when they sign in.
  • No machine sign-in. An agent that runs with nobody watching has to borrow a person’s sign-in and role.

StackOne’s NetSuite connector runs on that same API, so it isn’t limited to one sign-in method. Today each person links their own account with OAuth 2.0, and the API’s other methods, such as client credentials for an agent with its own integration role, can be added to the connector. Either way, StackOne then narrows each call by user or group with Tool Policies, so the NetSuite role stays as it is.

Tool Policies for NetSuite, with examples

Tool Policies check every call before it reaches NetSuite. A deny always wins, and each rule can run in Monitor first, so you see who it would affect before you enforce it. Six rules a finance team might set:

RuleWhoWhat Claude sees
Block vendor payments and deletesAP team, except controllersThe call is refused before NetSuite
Allow payments only between $25 and $500AP leadsA $2,000 payment is refused
Mask vendor bank detailsEveryone outside TreasuryBank fields come back masked
Refuse changes to vendor bank detailsEveryoneAn “update our remittance details” email can’t change them
Redact Personally Identifiable Information (PII) such as Social Security numbersEveryoneEmployee and expense records come back redacted
Stop unreleased results leaving in SlackEveryoneA Slack post that answers yes to “Does this contain unreleased financial results?” is refused

A NetSuite role can do the first rule for everyone with that role. The other five check amounts, fields and message content, which a role can’t. Rules can also be limited to calls from Claude, so the same people keep their usual access everywhere else.

NetSuite MCP options compared

How each one runs and what you can control, from Oracle’s Standard Tools list and StackOne’s connector page, as of October 2026:

Community serversNetSuite AI Connector ServiceStackOne Tool Gateway
HostingYouOracleStackOne
Sign-inThe credential you give itA person, OAuth 2.0 onlyAny method NetSuite’s API supports
ToolsVariesGeneral-purpose, one per operationOne action per job, 80 in all
Rules per user or groupVariesBy NetSuite roleTool Policies, down to amounts and fields
Saved searches and reportsVariesYesNot yet: SuiteQL instead
Screens responses for injected instructionsVariesLeft to the AI clientYes
Systems coveredNetSuiteNetSuiteNetSuite plus email, Slack, CRM and more
AuditDepends on the serverExecution log, 21 daysOne log across every system

How it works with StackOne

IT admins add StackOne to Claude with one URL: https://mcp.stackone.com/mcp.

  1. Add the connector. In Claude Cowork, an Owner adds it once under Organization settings, then Connectors, as a custom connector with the StackOne URL (guide).

    Claude's Organization settings, Connectors page with the Add custom connector dialog open. Name is StackOne and the Remote MCP Server URL is https://mcp.stackone.com/mcp.

  2. Connect NetSuite. Each person signs in to StackOne, links their own NetSuite account and picks which actions Claude can use.

    StackOne's Select accounts screen with a NetSuite account called Finance - US West expanded. Execute SuiteQL Query, Get Purchase Order, List Vendor Bills, Create Vendor Bill and Create Journal Entry are selected, and Create Vendor Payment is not.

    Claude then sees StackOne as four tools, with every NetSuite action running through Execute action. So the per-action rules live in StackOne: the actions picked here, and Tool Policies.

    Claude's StackOne connector page, Tool permissions. List accounts and Search actions are always allowed, and Execute action and Submit feedback need approval.

  3. Set Tool Policies. Start from the six rules above, run them in Monitor, then enforce them.

Now the invoice request runs as the AP specialist’s own account. Claude reads the purchase order with a hidden instruction in its memo removed, matches all four lines and asks before it creates the vendor bill. Asked to pay the bills due next week, it can’t: payments were never in its scope.

The same rules apply when a request proven in chat becomes an agent that runs on a schedule.

For how a Tool Gateway compares with an MCP gateway that routes to existing servers, see MCP Gateway vs Tool Gateway.

Frequently Asked Questions

What's the best way to connect NetSuite to Claude for governed cross-system finance and operations workflows?
The best way to connect NetSuite to Claude for governed cross-system finance and operations workflows is through a Tool Gateway such as StackOne. Each person connects their own NetSuite account, Tool Policies cap amounts, block actions and mask fields such as bank details, responses are screened for prompt injection, and the inbox, Slack and CRM sit behind the same endpoint with one audit log.
Does Claude have a native NetSuite connector?
Claude has a native NetSuite connector, built by Oracle NetSuite and verified by Anthropic, in its connector directory since November 2025. It uses the NetSuite AI Connector Service, needs a Claude Pro plan or higher, and runs each call with the signed-in person's NetSuite role. StackOne's NetSuite connector is the alternative for teams that need rules beyond the role and other systems behind the same connection.
How do I connect NetSuite to Claude Chat and Claude Cowork?
To connect NetSuite to Claude Chat or Claude Cowork through StackOne, an Owner adds the StackOne Tool Gateway as a custom connector using https://mcp.stackone.com/mcp. Each person then links their own NetSuite account and picks which actions Claude can use. See StackOne's guide for Claude Cowork.
What's the difference between NetSuite's AI Connector Service and a Tool Gateway?
NetSuite's AI Connector Service covers NetSuite alone, and what Claude can do is set by each person's NetSuite role. A Tool Gateway such as StackOne adds Tool Policies on top of the role, such as payment caps and masked bank details per group, screens responses for injected instructions, and puts NetSuite, email, Slack and the CRM behind one endpoint and one audit log.
Can I control which NetSuite actions and fields Claude can use for each user or group?
You can control which NetSuite actions and fields Claude can use for each user or group with StackOne's Tool Policies. They block actions such as deletes or vendor payments, cap values such as payment amounts, and mask fields such as bank details, and a deny rule always wins. Rules can run in Monitor first, so you see who they'd affect before you enforce them.
How do I remove Claude's access to NetSuite?
To remove Claude's access to NetSuite through StackOne, disconnect StackOne in Claude's connector settings or revoke the connection under Connected Apps in the StackOne dashboard. Either one stops Claude reaching NetSuite through that connection straight away, and the NetSuite account can also be unlinked in StackOne.

Put your AI agents to work

All the tools you need to build and scale AI agent integrations, with best-in-class connectivity, execution, and security.