Connecting NetSuite to a chatbot used to require a developer. You needed the REST endpoint URLs, the OAuth 1.0a signing logic, the exact NetSuite field names, and a workflow branch for every customer scenario you wanted to handle. One typo in a field name and the call failed silently with a 400 response and a cryptic message. One change in NetSuite's schema and your workflow broke.

Velaro's NetSuite AI Skills change the architecture entirely. The bot picks the right operation from a library of 46 pre-built actions based on what the customer types. The OAuth credentials are stored once, server-side, encrypted, and never touched again. The customer's email from prechat is the lookup key — no re-identification prompts. Every skill executes, validates, and returns.

46
Skills available out of the box
0
HTTP nodes required
5
Credentials to connect — once

What a skill actually is

A NetSuite AI Skill is a named, pre-built, pre-authenticated operation the bot can execute — netsuite_search_orders, netsuite_create_case, netsuite_check_stock. Each one wraps a specific NetSuite REST call: the correct endpoint URL for that record type, the OAuth1 signing logic, the field validation, and the error handling. The customer never touches any of that. Neither does the person who configured the bot.

The AI model reads the conversation and decides which skill to call. "Where's my shipment?" triggers netsuite_search_orders. "I want to return this" triggers netsuite_search_orders to find the order, then netsuite_create_rma to open the return. That two-step chain happened because of the conversation — not because someone built a workflow branch that said "if intent = return, then call order lookup, then call RMA creation."

The difference between a chatbot that feels like a search form and one that feels like an agent who pulled up the account.

Why HTTP nodes were a developer problem

HTTP workflow nodes gave you a blank canvas for calling any API. That canvas required you to know: the exact NetSuite REST URL for each record type (leads aren't at /lead — they're at /customer with a searchstage=Lead parameter), the OAuth 1.0a signature construction (nonce, timestamp, HMAC-SHA1), the exact field names for every write operation (wrong field = silent failure), and if/then branching logic for every scenario. When you needed six things, you built six nodes. When NetSuite changed a field name, all six broke.

Skills replace all of that. The field names are validated against NetSuite's live metadata API. The OAuth signing happens server-side against the stored credential config. The record type routing is internal. You never write an API spec. You never touch a payload.

HTTP Nodes — what you built
AI Skills — what you configure
REST endpoint URL per record type — memorized or looked up
Skill handles routing internally by operation name
OAuth 1.0a signature constructed in every node
Credentials stored once, signed at execution time
Field names guessed — one typo = silent 400 error
Fields validated against NetSuite metadata API
If/then routing branch for every scenario
LLM reads conversation, selects skill dynamically
Customer asks "what's my email?" — you pass it manually
Prechat email threads automatically as lookup key

What custom code and bundles still couldn't do

Before AI Skills, Velaro's NetSuite connection already did real work — HTTP wrappers handled OAuth signing, routed to the correct record types, and covered a substantial set of operations. That wasn't the problem. The problem was everything that happened above the API layer: you still had to author explicit workflow branches for each scenario, manually map the customer's prechat email into every lookup call, wire response fields back into conversation variables, and rebuild or re-test any time a requirement changed.

The bot also had no concept of who the customer was unless you explicitly threaded the identity through every node. A customer who entered their email in the prechat survey still got asked "what's your account email?" mid-conversation — because no prior approach treated that email as a first-class persistent session attribute available to every downstream call automatically.

Skills remove all of that authoring work. The AI reads the conversation, selects the right operation, passes the prechat identity as the implicit lookup key, and chains multiple steps when the conversation calls for it — without a single workflow branch written by anyone. The API layer is identical. What changed is everything above it.

What skills and MCP are not the same thing

MCP (Model Context Protocol) is the transport layer that connects the AI to tool implementations — the plumbing, not the tools. Velaro's NetSuite Skills are pre-built named operations that run over MCP. Saying "just use MCP" is like saying "just use HTTP" — it describes the protocol, not the application.

Building raw MCP for NetSuite yourself means: building and hosting a tool server, implementing OAuth1 signing, defining every operation as a tool schema, handling error states, validating field names, and deploying infrastructure. That's the same developer burden HTTP nodes created, now expressed in a different format. Velaro's Skills are the application layer above MCP — pre-built, pre-authenticated, and maintained by Velaro as NetSuite's API evolves.

Connect NetSuite in under 10 minutes — 5 credentials, 46 skills active immediately.

Start free →

The implicit identity advantage

Every other integration approach — HTTP nodes, bundles, raw MCP — requires you to explicitly pass the customer's identifier from the conversation into the API call. That means building the variable reference, mapping it into the request body, and testing that it actually flows through. Miss a step and the lookup has no key and returns nothing.

Velaro Skills thread the visitor's session identity automatically. The email, name, and phone collected in prechat are the implicit lookup key for every skill call. When the bot calls netsuite_search_orders, it already has the customer's email from the conversation — it doesn't ask "what's your account email?" The result is a chatbot that starts from who the person is, not from a blank form.

How to connect NetSuite with AI Skills

1

Generate OAuth1 credentials in NetSuite

Create the Integration Record: Setup → Integration → Manage Integrations → New. Give it a name (e.g., "Velaro Chat"), enable Token-Based Authentication, and save. NetSuite shows the Consumer Key and Consumer Secret exactly once — copy them immediately.

Create the Access Token: Setup → Users/Roles → Access Tokens → New. Select your integration and a role, save. Copy the Token ID and Token Secret — also shown once.

Minimum permissions the role needs:

  • Lists → Customers — View (+ Edit if writing back)
  • Transactions → Sales Orders — View
  • Transactions → Invoices — View
  • Transactions → Return Authorization — View, Create
  • Support → Cases — View, Create, Edit
  • Lists → Items — View
  • Transactions → Opportunities — View, Create
  • Transactions → Estimates / Quotes — View, Create
  • Lists → Lead / Prospect — Create (for lead capture)
  • Setup → REST Web Services — Enabled
  • Setup → Token-Based Authentication — Enabled

If the Test Connection check returns red on any skill category, add the missing permission to the role and re-test.

2

Paste the 5 credentials into Velaro

In Velaro Workspace → Integrations → NetSuite, enter these five values:

  • Account ID — your NetSuite account number (Setup → Company → Company Information)
  • Consumer Key — identifies the Velaro app to NetSuite (like a Client ID; from the Integration Record you created)
  • Consumer Secret — proves the Consumer Key is genuine (like a Client Secret; from the same Integration Record)
  • Token ID — identifies which NetSuite user/role this connection acts as (from the Access Token you created)
  • Token Secret — proves the Token ID is legitimate (from the same Access Token screen)

Save. Velaro encrypts all five with AES-256 and stores them server-side. You never reference them again — they are never in a workflow definition or a bot prompt.

3

Add the NetSuite AI node to your workflow

In your bot workflow, add a NetSuite AI action node. Select your credential config. All 46 skills are now available to the AI. Write a system prompt that describes what the bot should help with — the AI selects the appropriate skills at runtime.

4

Optionally map custom fields

For write operations (creating leads, updating customers), use the Field Mapper. Click "Discover Properties" to pull your NetSuite schema live — no guessing field IDs. Map prechat survey variables to NetSuite fields. This mapping runs on every relevant skill call without further configuration.

What the bot can do without any workflow authoring

Once connected, a bot with the NetSuite AI node handles all of these from a single conversation — no branching, no additional nodes, no workflow per scenario:

What a skill actually is — and why it's not a REST wrapper

A REST wrapper makes an API call easier to invoke. That's all it does. You still decide when to call it, you still pass the customer's identity in manually, you still author what happens before and after. The wrapper is one line of a program. You write the rest of the program.

A skill is different in three concrete ways:

1. The AI decides when to call it — not you. Each skill has a semantic description the language model reads. "Use netsuite_search_orders when the customer asks about an order, shipment, or delivery." The LLM reads the conversation and decides whether to call this skill, which skill to chain next, and when it's done. You never write that routing logic. It doesn't exist in a workflow file anywhere.

2. The customer's identity is already there. A REST wrapper receives exactly the parameters you pass it. A skill runs inside a conversation context — it can see the visitor's name, email, and phone that were captured when they opened the chat. It uses those as the lookup key without being told to. The customer typed their email once, in prechat. Every skill call that follows uses it automatically.

3. The credentials are inside the skill, not in your workflow. When a REST wrapper makes an API call, something has to hold and pass the OAuth credentials. That something is usually your workflow, your node configuration, or your environment variables — all places credentials can be read, logged, or accidentally exposed. A skill holds a reference to an encrypted credential config. At execution time, the skill retrieves the credentials, signs the request, and discards them. The credentials are never in the workflow. They are never in the prompt. They are never in the response.

The REST call at the end is identical either way — a signed HTTP request to NetSuite's SuiteTalk REST API. What's different is everything that decided to make that call, who it's making it for, and how the credentials got there. Velaro has been a BFN-certified NetSuite partner since 2008 — the skills are built on knowing exactly how the API behaves and where it breaks.

See the full NetSuite integration — skills, field mapper, security architecture, and reseller program.

See NetSuite integration →

Frequently Asked Questions

What are NetSuite AI Skills?

NetSuite AI Skills are 46 pre-built, pre-authenticated operations that a Velaro chatbot can execute against a NetSuite account — searching orders, opening cases, checking inventory, creating leads, and more — without any HTTP node configuration, API credential management, or workflow branching required from the person setting them up.

Do I still need HTTP nodes to connect Velaro to NetSuite?

No. AI Skills replace HTTP nodes for the vast majority of use cases. You paste 5 OAuth credentials once, and the AI selects and executes the appropriate skill based on the conversation. HTTP nodes remain available for advanced custom scenarios but are no longer required for standard ERP operations like order lookups, case creation, or transcript push.

How does the bot decide which skill to call?

The AI model reads the customer's message and selects the appropriate skill based on semantic intent — no routing rules or if/then branches needed. If a customer asks about their order, the bot calls netsuite_search_orders. If they want to return something, it chains the order lookup and RMA creation skills together automatically, because the conversation warranted it.

What is the difference between Velaro AI Skills and MCP?

MCP is the transport protocol that connects the AI to tool implementations — it is not an alternative to Skills. Velaro's Skills are pre-built, pre-authenticated named operations that run over MCP. Building raw MCP for NetSuite yourself means building a tool server, implementing OAuth signing, and defining every operation from scratch — the same developer burden as HTTP nodes, in a different format.

How does Velaro use the customer's identity for NetSuite lookups?

The visitor's email, name, and phone entered in the prechat survey are automatically threaded into every NetSuite skill call as the lookup key. The customer never has to re-enter their account number or order ID in chat — the session data collected at conversation start identifies them for every subsequent ERP operation.