Netsuite logo

Integrate Netsuite with your AI CRM

NetSuite by Oracle is a cloud-based ERP suite that combines accounting, CRM, e-commerce, and inventory management for comprehensive business oversight

Explore Triggers and Actions

Async Get Job Task Result

Retrieves the payload result of a completed NetSuite asynchronous task using its job and task IDs. Use it after the job and task have completed to obtain the operation's output. An API error response can also be returned as a result payload.

ActionTry it

Create Customer

Creates a new customer record in NetSuite. Requires subsidiary ID and either company name (for business customers) or first/last name (for individual customers). Returns the location URL of the created customer record, or an async job URL if using async mode.

ActionTry it

Create Customer Payment

Creates a customer payment record in NetSuite, optionally linking it to invoices through the apply sublist. Supports asynchronous creation; the returned location may be an async job URL.

ActionTry it

Create Employee

Creates a new employee record in NetSuite, with support for asynchronous creation. The location field may contain the created employee URL or an async job URL.

ActionTry it

Create Invoice

Tool to create a new invoice record. Use when you have all required invoice details and want to add them to NetSuite.

ActionTry it

Create Item

Creates a NetSuite item record via REST for supported item types, including inventory, service, and description items. The response may contain the created item URL, or an asynchronous job URL when asynchronous processing is requested.

ActionTry it

Create Journal Entry

Tool to create a new journal entry record. Use when posting balanced debits and credits to the general ledger.

ActionTry it

Create JWT Client Assertion

Tool to build a JWT client assertion for NetSuite OAuth2 client credentials. Use before exchanging for an access token.

ActionTry it

Create Purchase Order

Tool to create a new purchase order record. Use when you need to submit a purchase order to a vendor.

ActionTry it

Create Record

Creates a NetSuite record of a specified type from a JSON body, synchronously or asynchronously. A synchronous response may include the new record ID and location; an asynchronous response may include a job location instead.

ActionTry it

Create Sales Order

Tool to create a new sales order record in NetSuite. Use this when you need to submit a customer order with one or more items. Each line item requires: - item: Reference to the inventory/service item (internal ID) - quantity: Number of units to order - rate: Unit price (optional if item has default pricing) - taxcode: Tax code reference (required if SuiteTax is enabled on the account) Note: NetSuite accounts with SuiteTax enabled require tax codes for line items.

ActionTry it

Create Vendor

Creates a new vendor record in NetSuite. Required: vendor name (companyName) and subsidiary ID. Use this when you need to add a new vendor to NetSuite's vendor list for procurement or accounts payable purposes.

ActionTry it

Create Vendor Bill

Tool to create a new vendor bill record. Use when you have all required bill and line-item details to add a vendor bill in NetSuite.

ActionTry it

Delete Customer

Tool to delete a customer record by ID. Use when you need to remove an existing customer record from NetSuite.

ActionTry it

Delete Customer Payment

Delete a customer payment record from NetSuite by its ID. Use this action to permanently remove a customer payment record. You can delete by internal ID (numeric) or external ID (prefixed with 'eid:'). This is a destructive operation and cannot be undone. Returns success=true on successful deletion (HTTP 204).

ActionTry it

Delete Employee

Deletes an employee record from NetSuite by its internal ID. This permanently removes the employee record. Use this when you need to remove a terminated or invalid employee from the system. Returns success=true on successful deletion, or raises an error if the employee doesn't exist.

ActionTry it

Delete Invoice

Tool to delete an invoice record by ID. Use when you need to remove an existing invoice record from NetSuite.

ActionTry it

Delete Item

Tool to delete an item record by its type and ID. Use when you need to remove an existing item record from NetSuite. Use after verifying the record exists to avoid unintended deletions.

ActionTry it

Delete Item Fulfillment

Tool to delete an Item Fulfillment record. Use when you need to remove an existing Item Fulfillment record from NetSuite. Use after confirming the record exists.

ActionTry it

Delete Item Receipt

Tool to delete an item receipt record by ID. Use when you need to remove an existing item receipt from NetSuite.

ActionTry it

Delete Journal Entry

Delete a journal entry record by ID. Asynchronous deletion can be requested; a successful response may indicate acceptance rather than completed deletion.

ActionTry it

Delete Purchase Order

Tool to delete a purchase order record by ID. Use when you need to remove an existing purchase order from NetSuite.

ActionTry it

Delete Sales Order

Tool to delete a sales order by internal ID. Use when you need to remove an existing sales order record from NetSuite. Use after confirming the record exists to avoid unintended deletions.

ActionTry it

Delete Vendor Payment

Delete a vendor payment record by internal ID. The tool also reports success when the delete request receives a 404, so success does not necessarily confirm that a record was deleted.

ActionTry it

Exchange OAuth2 Authorization Code for Tokens

Exchange an OAuth2 authorization code for access and refresh tokens using the NetSuite token endpoint. This is the second step in the OAuth2 authorization code flow with PKCE: 1. User authorizes via OAuth2AuthorizeAccountDomain or OAuth2AuthorizeSystemDomain 2. User is redirected to your redirect_uri with authorization code 3. Use THIS action to exchange the code for tokens 4. Use access_token to make API requests, refresh_token to get new access tokens Supports both confidential clients (client secret in metadata) and public clients (no secret). PKCE (code_verifier) is required for security.

ActionTry it

Execute Dataset

Tool to execute a SuiteAnalytics dataset and return paged results. Use when you need to retrieve dataset rows with paging support.

ActionTry it

Filter Record Collection (Deprecated)

DEPRECATED: Use NETSUITE_LIST_RECORDS instead. Filters and retrieves NetSuite records by type with optional query expressions and pagination. Use this to list or search for records like customers, employees, vendors, invoices, etc. Supports filtering with query operators (EQUAL, START_WITH, CONTAIN, etc.) and pagination for large result sets. Returns record IDs and navigation links for accessing full record details.

ActionTry it

Get Async Job Status

Retrieves the current status of an asynchronous NetSuite REST job. Use this tool to check whether an async job has completed and its progress state. When you submit any NetSuite REST API request with the 'Prefer: respond-async' header, NetSuite returns a Location header containing the job ID. Use that job ID with this tool to poll the job's status. The response indicates if the job is completed, its progress state (pending/processing/succeeded/failed), and provides links to retrieve the job results once completed.

ActionTry it

Get Async Job Task

Retrieves a task reference for an asynchronous NetSuite job. For a task collection, returns the first task's ID and URL.

ActionTry it

Get Customer

Tool to retrieve a customer record by internal ID. Use when you have a customer ID and need detailed customer data.

ActionTry it

Get Customer Payment

Tool to retrieve a customer payment record by ID. Use when you need to fetch payment details using the internal or external ID.

ActionTry it

Get Data Center URLs

Tool to discover account-specific service domains. Use when you need to determine the correct REST, SOAP, and UI endpoints before making other API calls.

ActionTry it

Get Employee

Tool to retrieve an employee record by ID. Use when you have an employee ID and need detailed employee data.

ActionTry it

Get Governance Limits

Retrieve NetSuite account and integration concurrency governance limits. Returns the maximum number of concurrent API requests allowed for your account and integration, helping you avoid exceeding concurrency limits that would result in HTTP 429 errors. Requires administrator permissions to execute.

ActionTry it

Get Invoice

Tool to retrieve an invoice record by internal ID. Use when you have an invoice ID and need detailed invoice data.

ActionTry it

Get Item

Tool to retrieve an item record by internal ID. Use when you have an item ID and need detailed item data.

ActionTry it

Get Item Fulfillment

Tool to retrieve an item fulfillment record by internal ID. Use when you have an item fulfillment ID and need detailed fulfillment data.

ActionTry it

Get Item Receipt

Tool to retrieve an item receipt record by internal ID. Use when you have an item receipt ID and need detailed item receipt data.

ActionTry it

Get Journal Entry

Tool to retrieve a journal entry by internal ID. Use when you have a journal entry ID and need detailed journal entry data.

ActionTry it

Get OAuth2 JWKS Keys

Tool to retrieve OAuth2 JWKS public keys. Use when validating token signatures.

ActionTry it

Get Purchase Order

Retrieves complete details of a purchase order by its internal ID using the NetSuite REST API. Use this action when you need to: - Get full details of a specific purchase order (vendor, items, amounts, dates, status) - View line items and expenses on a purchase order - Check purchase order status, approval status, or fulfillment details - Access billing and shipping addresses for a purchase order The response includes comprehensive purchase order data such as vendor information, transaction dates, currency, line items, totals, addresses, custom fields, and more. You can filter fields or expand sublists as needed using optional parameters.

ActionTry it

Get Record Metadata

Retrieves the complete metadata schema for a NetSuite record type, including all field definitions, data types, constraints, and descriptions. Use this action to discover available fields and their requirements before creating or updating records. The metadata includes standard and custom fields, field types (string, number, boolean, date, references), nullability, format constraints, and descriptive help text. Essential for dynamic record handling and validation.

ActionTry it

Get Reference Select Field

Retrieves the complete record referenced by a select-type field on a parent record. Use this when you have a parent record (e.g., customer, salesorder) that references another record via a select field (e.g., 'subsidiary', 'entity', 'currency'), and you need the full details of that referenced record. Example: If a customer has subsidiary ID "1", use this to get all subsidiary details instead of just the ID reference. Common select fields by record type: - customer: subsidiary, currency, terms, salesRep, parent - salesorder/invoice: entity (customer), subsidiary, currency, terms - employee: supervisor, subsidiary, department - vendor: subsidiary, currency, terms

ActionTry it

Get Sales Order

Tool to retrieve a sales order record by internal ID. Use when you have a sales order ID and need detailed sales order data.

ActionTry it

Get Server Time

Tool to retrieve NetSuite server time in UTC. Use when you need the current server timestamp for synchronization.

ActionTry it

Get Sublist Collection

Retrieve a page of a sublist collection from a parent record, such as items on a sales order. Use pagination to retrieve additional lines.

ActionTry it

Get Sublist Line

Tool to retrieve a specific line from a sublist of a record. Use when you need details of a particular sublist line by its ID.

ActionTry it

Get Subrecord

Retrieves a specific subrecord from a parent NetSuite record. Subrecords are body-level structured fields on NetSuite records that contain related data. Common examples include: - billingaddress and shippingaddress on sales orders, invoices, and purchase orders - Address subrecords on customer and vendor records This action uses the NetSuite REST Record API v1 to access subrecords via the endpoint pattern: /record/v1/{recordType}/{id}/{subrecordName} Use this when you need to retrieve detailed subrecord data separately from the parent record, which can be more efficient than fetching the entire parent record with expanded subresources.

ActionTry it

Get Vendor

Tool to get a single vendor record by internal ID. Use when needing specific vendor information.

ActionTry it

Get Vendor Bill

Retrieve a vendor bill record by its internal ID. Returns comprehensive bill details including vendor information, line items, amounts, dates, approval status, and accounting data. Use the 'fields' parameter to retrieve specific fields only, or 'expandSubResources' to include full sublist details (expense/item lines). Useful for auditing bills, payment processing, or integration workflows.

ActionTry it

Get Vendor Payment

Retrieves a single vendor payment record by its internal ID from NetSuite. A vendor payment represents a payment made to a vendor, typically to settle one or more vendor bills. Use this action when you need detailed information about a specific vendor payment, including: - Payment amount, date, and transaction ID - Associated vendor information - Payment account and currency details - Applied bills (transactions being paid) - Accounting period and subsidiary To find vendor payment IDs, use the LIST_VENDOR_PAYMENTS action first.

ActionTry it

List Customer Payments

Tool to list customer payment records. Use when you need to retrieve payments with optional filtering and pagination after establishing a valid NetSuite connection.

ActionTry it

List Datasets

Tool to list SuiteAnalytics Workbook datasets. Use when you need to retrieve datasets with optional pagination after establishing a valid NetSuite connection.

ActionTry it

List Employees

Tool to list employee records. Use when you need to retrieve multiple employees with optional filtering and pagination after establishing a valid NetSuite connection.

ActionTry it

List Integrations

List NetSuite integration applications to find OAuth2 client IDs and redirect URIs. Supports pagination with a limit of 1–1,000; when both limit and offset are supplied, the offset must be divisible by the limit.

ActionTry it

List Invoices

Tool to list invoice records. Use when you need to retrieve multiple invoices with optional filtering and pagination after establishing a valid NetSuite connection.

ActionTry it

List Item Fulfillments

List item fulfillment records with optional filtering and pagination. Results contain record IDs and links rather than full fulfillment details.

ActionTry it

List Item Receipts

List item receipt records with optional filtering and pagination. Results contain record IDs and links rather than full receipt details.

ActionTry it

List Journal Entries

List journal entry records with optional filtering and pagination. Results contain record IDs and links rather than full journal entry details.

ActionTry it

List Metadata Catalog

List available record types in the metadata catalog, optionally selecting record types. Returns record descriptors and links to metadata representations.

ActionTry it

List Purchase Orders

Tool to list purchase order records. Use when you need to retrieve multiple purchase orders with optional filtering and pagination.

ActionTry it

List Records

Tool to list record instances. Use when you need to retrieve multiple records with optional filtering and pagination after establishing a valid NetSuite connection.

ActionTry it

List Sales Orders

List sales orders with optional filtering and pagination. Results contain sales order IDs and navigation links rather than full order details.

ActionTry it

List Vendor Payments

Tool to list vendor payment records. Use when you need to retrieve vendor payments with optional filtering and pagination after establishing a valid NetSuite connection.

ActionTry it

OAuth2 Authorize Account Domain

Construct a NetSuite OAuth2 authorization URL using the configured base URL's host, for initiating the authorization code flow. The request can include scopes, state, PKCE and prompt options.

ActionTry it

OAuth2 Authorize System Domain

Initiates the OAuth2 authorization code flow using NetSuite's system domain endpoint. Returns the authorization URL where users should be redirected to authenticate and grant permissions. After user authorization, NetSuite redirects back to your redirect_uri with an authorization code. Use this when you don't know the specific NetSuite account ID or want to use the generic system domain.

ActionTry it

OAuth2 Logout

Tool to revoke an ID token and its associated access and refresh tokens. Use when ending an OAuth2 session to ensure credentials are invalidated.

ActionTry it

OAuth2 Token Client Credentials

Tool to obtain an OAuth2 access token via client credentials grant. Use when authenticating to NetSuite APIs with a JWT-based client credentials flow.

ActionTry it

OAuth2 Token Refresh

Tool to refresh an OAuth2 access token. Use when the current access token has expired and you need a new one.

ActionTry it

Revoke OAuth2 Refresh Token

Revokes a NetSuite OAuth2 refresh token and all associated access tokens, immediately invalidating them. Use this when: - A user logs out and you want to invalidate their session tokens - Credentials are compromised and need immediate revocation - Decommissioning an integration or removing access - Cleaning up test tokens after development Note: This is a destructive operation - revoked tokens cannot be reused.

ActionTry it

Run SuiteQL Query

Tool to execute a SuiteQL query. Use when you need ad-hoc SQL queries against NetSuite data with server-side paging.

ActionTry it

Transform Record

Transform an existing NetSuite record into another record type (e.g., sales order to invoice, purchase order to item receipt). Creates a new target record populated with data from the source record. Supports common business workflows like: - Converting sales orders to invoices or item fulfillments - Converting purchase orders to item receipts or vendor bills - Converting invoices to credit memos Optionally override fields on the transformed record via record_body parameter.

ActionTry it

Update Customer

Updates an existing NetSuite customer by ID using PATCH, including contact information, settings and custom fields. Supports synchronous and asynchronous processing; the location header may contain an async job URL.

ActionTry it

Update Customer Payment

Tool to update an existing customer payment by ID. Use when you need to modify fields of a customer payment record. Updates only the specified fields; all other fields remain unchanged. Common use cases include updating memo notes, email preferences, or transaction metadata.

ActionTry it

Update Employee

Tool to update an employee record by ID. Use when modifying fields of an existing employee.

ActionTry it

Update Invoice

Updates an existing NetSuite invoice record by ID using the PATCH method. Only the fields specified in the 'data' parameter are updated; all other fields remain unchanged. Common use cases: - Update invoice memo or reference numbers - Change invoice email settings or customer contact info - Modify invoice due dates or payment terms - Update custom field values (custbody_* fields) Note: After updating, use the GET_INVOICE action if you need to retrieve the updated invoice data.

ActionTry it

Update Item

Updates an item record by type and internal ID using the supplied fields. It also supports replacing specified sublists or selected fields.

ActionTry it

Update Item Fulfillment

Tool to update an Item Fulfillment record by ID. Use when modifying fields or sublists of an existing fulfillment.

ActionTry it

Update Item Receipt

Tool to update an item receipt record by ID. Use when modifying fields of an existing item receipt.

ActionTry it

Update Journal Entry

Tool to update a journal entry record by ID. Use when modifying fields of an existing journal entry after retrieving its details.

ActionTry it

Update Purchase Order

Tool to update a purchase order record by ID. Use when modifying fields of an existing purchase order. Call after retrieving the record to confirm current values.

ActionTry it

Update Sales Order

Updates an existing NetSuite sales order record by ID using PATCH semantics. Only the fields provided in the data parameter will be modified; all other fields remain unchanged. Use this tool when you need to modify specific fields on an existing sales order, such as updating the memo, PO number, or status.

ActionTry it

Update Vendor

Tool to update a vendor record by ID. Use when modifying fields of an existing vendor.

ActionTry it

Update Vendor Bill

Tool to update a vendor bill record by ID. Use when modifying fields of an existing vendor bill.

ActionTry it

Update Vendor Payment

Tool to update a vendor payment record by ID. Use when modifying one or more fields on an existing vendor payment.

ActionTry it

Upsert Record by External ID

Tool to create or update a record by external ID. Use when you need to ensure a record exists or update its fields in one call.

ActionTry it

How the Netsuite integration works

The Netsuite integration connects your Dench AI CRM directly to Netsuite, so agents can read and act on your Netsuite data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.

86 actions are available for agents to invoke on your behalf. Every call runs through Netsuite's own authorization, scoped to the account you connect.

Set up Netsuite in Dench

  1. 1

    Sign in to your Dench workspace and open Integrations.

  2. 2

    Find Netsuite and click Connect — you'll authorize access through Netsuite's own sign-in flow. No API keys or code required.

  3. 3

    Ask an agent to use Netsuite in chat, or call it from an automation.

  4. 4

    Manage or disconnect the connection any time from workspace settings.

Frequently asked questions

How does the Netsuite integration work with Dench?

The Dench Netsuite integration connects your AI CRM to Netsuite, so AI agents can work with your Netsuite data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.

What actions can AI agents perform with Netsuite via Dench?

The Netsuite integration currently exposes 86 actions, including Async Get Job Task Result, Create Customer, Create Customer Payment, Create Employee, Create Invoice, and Create Item. Agents invoke them on your behalf from chat or from automations.

Do I need to write code to connect Netsuite to Dench?

No. You connect Netsuite from your Dench workspace using Netsuite's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.

Is the Netsuite integration secure?

Connections are authorized through Netsuite's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Netsuite connection from your workspace settings at any time.

Netsuite | Dench AI CRM