Skip to main content
    Best Practices

    NetSuite's AI Connector Service Companion

    How to make it your own

    Brian Wenzl
    Brian Wenzl
    The Glue Guy

    The AI Connector Service Companion is a SuiteApp featuring a hundred prompt templates for interacting with your NetSuite environment through Claude or ChatGPT. We've been using it for a little while now and are glad we found it. The prompts are a great starting point for users who have heard about connecting NetSuite to LLMs but aren't sure why they should, or where to begin.

    The app itself is lightweight: basically a custom record that contains your prompt library, and a Suitelet that facilitates interacting with the prompts. There are a few other components, like usage tracking, and a formatting record that lets you customize how you use the prompts, but the essential elements are the library and its display page.

    Background and Prerequisites

    The AI Companion is an add-on. For the app to do anything, you need two things.

    The first is an LLM subscription that supports custom connectors. You can use Claude Pro or higher. The ChatGPT equivalent works too. The connector lets the model reach into your NetSuite account. A subscription that can't add connectors won't work, and free accounts don’t generally include connectors.

    The second is the MCP Standard Tools SuiteApp. The Companion app is mostly just prompts. The Standard Tools SuiteApp is the connection itself and the set of tools those prompts call. Install it first and connect your client to it. Tim Dietrich, Folio3, and Nuage all have good installation walkthroughs.

    What MCP is

    Model Context Protocol (MCP) was introduced by Anthropic in late 2024, for connecting an AI model to outside systems and data. Before it, every connection between an LLM and an application was a one-off. MCP is a common interface, the way USB-C is a common port, so any client that speaks it can talk to any system that exposes it. NetSuite’s AI Connector Service publishes your account as an MCP endpoint. Your Claude or ChatGPT client connects using role-based permissions. Once connected, the model can interact with your NetSuite data.

    What tools are

    A tool, in MCP terms, is a specific action the server lets the model take. The Standard Tools SuiteApp gives NetSuite a set of them: run a report, run a SuiteQL query, look up or create a record, and so on. The model decides when to call a tool and with what inputs, the tool runs inside NetSuite under your role's permissions, and it returns structured data the model can use.

    The NetSuite MCP tools included in the Standard App are:

    ToolDescription
    ns_createRecordCreates a new record in NetSuite.
    ns_getRecordRetrieves a record in NetSuite.
    ns_getRecordTypeMetadataRetrieves metadata for all NetSuite record types or for a specific record type, including available fields and their data types.
    ns_updateRecordUpdates an existing record in NetSuite.
    ns_getAccountingBooksReturns a list of accounting books in your NetSuite account that can be used to filter report results.
    ns_getAccountingContextsReturns a list of accounting contexts in your NetSuite account that can be used to filter report results.
    ns_getNexusIdsReturns a list of nexuses in your NetSuite account that can be used to filter report results.
    ns_getSubsidiariesReturns a list of subsidiaries in your NetSuite account that can be used to filter report results.
    ns_listAllReportsReturns a list of all standard and custom reports in your NetSuite account.
    ns_runReportRuns a report in your NetSuite account and displays the results.
    ns_listSavedSearchesReturns a list of all saved searches in your NetSuite account.
    ns_runSavedSearchRuns an existing saved search from your NetSuite account.
    ns_runCustomSuiteQLRuns a custom SuiteQL query in NetSuite. Only read-only queries are supported. Useful for gathering information of all types.
    ns_getSuiteQLMetadataRetrieves metadata for NetSuite records that you can access with SuiteQL, including available fields, data types, and joinable fields.

    Source: https://docs.oracle.com/en/cloud/saas/netsuite/ns-online-help/article_0902023508.html#subsect_43122202278

    Installing the Companion

    The Companion installs like any managed SuiteApp. Go to the SuiteApps tab, search for "NetSuite AI Connector Service Companion," and install it. Because it is managed, Oracle updates it on their own when they add prompts or change the app.

    What it is and how it works

    The app creates a visual interface displaying a menu of canned prompts your team can use. With a single click you can prompt Claude with specific inquiries about your NetSuite data. Behind the scenes, the app gathers statistics about which prompts get used, how often, and by who. As a system owner, you’ll primarily work with the prompt library.

    The prompt library

    The library includes a hundred prompts. Each prompt can be tagged with a category, an industry, and one or more roles. The categories include Financial, System Administration, Procure to Pay, Order to Cash, Visualizations, and Item Management.

    The cool thing about the prompts is that they call specific MCP tools by name. Take the “Current Period Financial Overview” prompt:

    Use the ns_runReport tool to analyze the Income Statement for [current period] in [subsidiary] and identify any notable financial metrics and trends. Highlight any significant line items that require attention.

    It names the tool, ns_runReport, and points it at a standard report. The report defines the columns and does the math, so there’s less risk of the model getting creative with the numbers.

    Prompts that call a specific tool and request specific NetSuite data don’t need to be long to be effective. Claude knows what the tool can do, and if the response is a report or search result, it jumps right to analysis.

    Prompts that need raw query access call the ns_runCustomSuiteQL tool instead. In cases where the LLM does a lot of decision-making about how to retrieve, analyze, format, and present the data, it makes sense to write a longer prompt describing in detail what you want.

    Copy

    Every prompt has a Copy button. It puts the prompt text on your clipboard so you can paste it wherever you want: into a client that isn't directly connected, into a document, or into a prompt you are editing. It is the low-tech path, and it is handy when you want to adjust the text before sending.

    Send to Claude

    Use Prompt, then Send to Claude, pushes the prompt straight into your connected Claude session. It runs there against your live NetSuite data through the connector, under whatever your role is allowed to see. There is a Send to ChatGPT path as well.

    Usage tracking

    The tracking scripts count how often each prompt gets copied, sent to Claude, and sent to ChatGPT, and those counts show up against each prompt. It’s a small feature, but it will help you track adoption and prioritize which prompt categories to expand and refine.

    Using the prompts

    Edit out the placeholders

    The prompts are generic, so they can be employed immediately by any NetSuite user. The Current Period Financial Overview prompt above, for example, has [current period] and [subsidiary]. Every time you use it as-is, you need to edit to set the subsidiary before you submit it. If you run one subsidiary, or spend most of your time in one, there is no reason to retype its name on every query. Replace [subsidiary] with a subsidiary name.

    [current period], by contrast, is evergreen. You don’t need to edit that every month.

    Customize the library

    You can also configure the library itself, by changing the list of Industries or Categories, or just reorganizing the tagging of existing prompts.

    And you can set access by role. Prompts are role-tagged, and you can control which roles see which prompts. The AP clerk sees the payables prompts, the controller sees the financial analysis set. This type of fine-tuning can improve adoption and usefulness, but less is more here. A user’s role drives their permissions; this role tag just controls visibility in the Suitelet. Don’t create another maintenance task for yourself!

    Add your own prompts

    Better to spend your time writing your own prompts for the library. Because it’s just a custom record, adding a prompt is just: create record, title it, add category, industry and role tags, and write the prompt text. It then appears in the Suitelet, with the same Copy, Send to Claude, and tracking behavior.

    Write your prompts the way the good sample ones are written, by naming the tool you want and pointing it at something specific. An agency tracking project work might add:

    Use the ns_runCustomSuiteQL tool to list every open project in xyz subsidiary, with budgeted hours, hours logged this month, amount billed, and the variance between budget and actuals. Flag any project where logged hours have passed the budget.

    Or, for a review you run off a report you already trust:

    Use the ns_runSavedSearch tool to run search ABC for [current period] and summarize the movement against the prior period, calling out anything that moved more than 10 percent.

    The stock prompts provide a very good working template for writing good ones of your own.

    TL;DR:

    Out of the box, the Companion prompts are fine, and they are a good place to start if you have been curious about connecting NetSuite to an LLM but didn't know where to begin. Once you really start using them, you’ll want to make the library your own: real values in place of placeholders, categories and roles that match how your team works, and prompts you have written for the questions you ask.

    Sources

    Prompt text quoted in this post is from the Companion's own prompt library.