Netsuite

86 tools available

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

Connect Netsuite to Definable to auto-categorise transactions, draft invoices on closed deals, surface cash-flow signals. Personas call Netsuite's 86 tools directly from chat or scheduled flows. Pair with a finance persona to keep books current and surface what needs human review.

Common workflows with Netsuite

01

Auto-categorise

  1. New transaction lands
  2. Agent classifies based on history + memo
  3. Writes the category back
02

Invoice from event

  1. Triggered by a closed deal
  2. Persona drafts the invoice
  3. Sends with the right terms
03

Cash-flow digest

  1. Pull this week's ins/outs
  2. Highlight unusual entries
  3. Email a one-pager

Netsuite actions 86

Every Netsuite action below is a callable tool any Definable persona can invoke.

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.

Get Async Job Task

Retrieves the task reference (task ID and URL) for an asynchronous job in NetSuite. Use this action after submitting an async request with 'Prefer: respond-async' header and receiving a job_id in the Location header. The task ID is required to retrieve the job's result using the async get job task result action. Typical workflow: 1) Submit async request → 2) Get job_id → 3) Use this action to get task_id → 4) Poll job status → 5) Retrieve results with task_id.

Async Get Job Task Result

Tool to retrieve the payload result of a completed async task. Use after confirming the async job and task have completed to fetch the operation's output.

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.

Create Customer Payment

Creates a customer payment record in NetSuite. Requires account (deposit account), customer reference, and payment amount. Optionally link payment to specific invoices via the 'apply' sublist. Returns the URL of the created payment record.

Create Employee

Creates a new employee record in NetSuite. Required: firstName, lastName, and subsidiary ID. Returns the URL of the created employee in the location field. Supports async creation with 'respond-async' preference.

Create Invoice

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

Create Item

Creates a new item record in NetSuite via REST API. Supports multiple item types including inventory items, service items, and description items. Returns the URL of the created item. Use this when you need to add new products, services, or descriptive items to the NetSuite catalog.

Create Journal Entry

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

Create JWT Client Assertion

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

Create Purchase Order

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

Create Record

Creates a new NetSuite record of any type (customer, vendor, invoice, sales order, etc.). Use this action when you need to create any type of record in NetSuite. Provide the record type identifier and a JSON body with all required fields. Consider using GET_RECORD_METADATA first to discover required fields and valid values. Supports both synchronous (immediate) and asynchronous (background) creation. Returns the new record's ID and location URL. Limitations: Does not support subrecord creation or bulk operations (use dedicated bulk actions instead).

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.

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.

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.

Delete Customer

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

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).

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.

Delete Invoice

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

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.

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.

Delete Item Receipt

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

Delete Journal Entry

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

Delete Purchase Order

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

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.

Delete Vendor Payment

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

Execute Dataset

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

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.

Get Customer

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

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.

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.

Get Employee

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

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.

Get Invoice

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

Get Item

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

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.

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.

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.

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.

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.

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

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.

Get Server Time

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

Get Sublist Collection

Tool to retrieve a sublist collection from a parent record. Use when you need all lines of a given sublist (e.g., items on a sales order).

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.

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.

Get Vendor

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

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.

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.

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.

List Datasets

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

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.

List Integrations

Tool to list integration applications. Use when you need to retrieve client IDs and redirect URIs necessary for OAuth2 authorization flows.

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.

List Item Fulfillments

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

List Item Receipts

Tool to list item receipt records. Use when you need to retrieve multiple item receipt records with optional filtering and pagination after confirming a valid NetSuite connection.

List Journal Entries

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

List Metadata Catalog

Tool to list all record types and their metadata. Use after authenticating when you need to discover available record definitions before further API calls.

List Purchase Orders

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

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.

List Sales Orders

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

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.

OAuth2 Authorize Account Domain

Tool to construct an OAuth2 authorization URL for a NetSuite account-specific domain. Use when initiating the OAuth2 authorization code flow.

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.

Get OAuth2 JWKS Keys

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

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.

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.

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.

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.

OAuth2 Token Refresh

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

Run SuiteQL Query

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

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.

Update Customer

Updates an existing NetSuite customer record using PATCH semantics - only fields included in the 'data' parameter are modified. Use this action to: - Update customer contact information (email, phone, address) - Change customer status, sales rep, territory, or terms - Modify customer preferences and settings - Update custom fields Returns the location URL of the updated record. Supports both synchronous (immediate) and asynchronous processing modes.

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.

Update Employee

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

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.

Update Item

Tool to update an item record by ID. Use when modifying selected fields of an existing item; omitted fields remain unchanged.

Update Item Fulfillment

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

Update Item Receipt

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

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.

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.

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.

Update Vendor

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

Update Vendor Bill

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

Update Vendor Payment

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

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.

Frequently asked questions

What can I automate with Netsuite on Definable?

Anything Netsuite exposes through its API. Common accounting workflows on Definable include auto-categorise transactions, draft invoices on closed deals, surface cash-flow signals. Personas can call any of the 86 Netsuite tools directly, then chain the result into another integration without you writing code.

How does Netsuite authentication work?

Netsuite uses OAUTH2 on Definable. You connect once from the integrations page, scoped to the permissions you choose, and from then on any persona that has the integration enabled can act on your behalf. Tokens are encrypted at rest and rotated automatically.

Is the Netsuite integration included in my Definable plan?

Yes — every Definable plan, including Starter, includes access to all 86 Netsuite tools. You only need a separate Netsuite subscription if Netsuite itself charges per seat or per API call.

Is using Netsuite through Definable secure?

Every call from a persona to Netsuite is logged with the user, persona, prompt, and response. Tokens never leave Definable's secrets vault, scopes are configurable per persona, and you can revoke access at any time from the integration page.

How do I get started with Netsuite on Definable?

Sign up for Definable, open the integrations page, find Netsuite, and connect via OAuth or API key. You can immediately attach Netsuite to any persona and start running workflows. The free Starter plan includes 5,000 credits/month.

What Netsuite actions does Definable expose?

Definable exposes all 86 Netsuite actions as callable tools — including `Get Async Job Status`, `Get Async Job Task`, `Async Get Job Task Result`, plus 83 more. Each tool gets a typed parameter schema so personas know exactly how to call it.

Ready to automate with Netsuite?

Wire it up in minutes. No coding required.

← All integrations