> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erstan.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Tools by connector

> Connector-backed tools from NetSuite, Slack, LLM providers, business apps, and MCP servers.

Connector tools are operations exposed by a connected system or provider. They appear in Agent Builder under **By Connector**, in AI step tool selectors, and on each connector's **Tools** tab.

The exact list is workspace-specific. Static provider tools are known ahead of time, while MCP and app connectors can discover tools from the connected service.

## Connector sources

| Connector source       | Tool source key               | Setup                                       | Typical tools                                                                             |
| ---------------------- | ----------------------------- | ------------------------------------------- | ----------------------------------------------------------------------------------------- |
| **NetSuite MCP**       | `netsuite-mcp`                | Workspace OAuth plus per-user authorization | SuiteQL, saved searches, record reads, metadata, record creates, record updates.          |
| **NetSuite TBA**       | `netsuite-tba`                | Legacy Token-Based Authentication           | Legacy RESTlet-backed NetSuite tools when enabled.                                        |
| **Slack**              | `slack`                       | Workspace OAuth                             | Send messages, notifications, and discovered Slack MCP tools.                             |
| **OpenAI**             | `openai`                      | LLM provider key or managed provider mode   | Web search, file search, code interpreter.                                                |
| **Anthropic**          | `anthropic`                   | LLM provider key or managed provider mode   | Web search.                                                                               |
| **Business apps**      | App-specific connector key    | OAuth or provider setup                     | Gmail, Google Sheets, Microsoft Teams, Outlook, HubSpot, and other provisioned app tools. |
| **Custom MCP servers** | Server-specific connector key | MCP endpoint and credentials                | Whatever tools the MCP server exposes.                                                    |

<Info>
  If a connector is not connected, its tools may still be visible for planning but runs will stop with a connection or authorization requirement until setup is complete.
</Info>

## NetSuite MCP tools

NetSuite MCP is the main connector-backed tool source for ERP work. Its discovered tools use `ns_*` names.

| Tool                       | Behavior | Use                                                                                 |
| -------------------------- | -------- | ----------------------------------------------------------------------------------- |
| `ns_getSuiteQLMetadata`    | Read     | Inspect NetSuite tables and fields before writing or adapting SuiteQL.              |
| `ns_runCustomSuiteQL`      | Read     | Run SELECT-only SuiteQL with paging and safe limits.                                |
| `ns_runSavedSearch`        | Read     | Run an existing NetSuite saved search when available.                               |
| `ns_runReport`             | Read     | Run a NetSuite report when the connector exposes report tools.                      |
| `ns_getRecord`             | Read     | Read one record by record type and ID.                                              |
| `ns_getRecordTypeMetadata` | Read     | Inspect record fields, required fields, and sublist structure before record writes. |
| `ns_createRecord`          | Write    | Create a NetSuite record. Use a dedicated write node and require approval.          |
| `ns_updateRecord`          | Write    | Update a NetSuite record. Use a dedicated write node and require approval.          |

<Warning>
  For NetSuite writes, pin `ns_getRecordTypeMetadata` and the write tool on a dedicated write node. Keep draft, review, wait, and final response nodes read-only, and put an approval gate before the write path.
</Warning>

## Provider tools

LLM provider tools are built-ins supplied by the provider connector.

| Provider  | Tool               | Behavior | Use                                                        |
| --------- | ------------------ | -------- | ---------------------------------------------------------- |
| OpenAI    | `web_search`       | Read     | Search the web through OpenAI's provider tool.             |
| OpenAI    | `file_search`      | Read     | Search OpenAI vector stores or provider-managed knowledge. |
| OpenAI    | `code_interpreter` | Read     | Run code in a provider sandbox for analysis.               |
| Anthropic | `web_search`       | Read     | Search the web through Anthropic's provider tool.          |

Provider tools are managed from the provider connector, alongside the model configuration. See [Connecting an LLM provider](/connectors/llm-providers).

## Slack, business app, and MCP tools

Slack and other OAuth app connectors expose tools after the workspace is connected. Custom MCP servers expose tools through discovery.

Common connector-backed actions include:

* Sending a Slack or Teams message.
* Drafting or sending email through a mail connector.
* Reading or updating spreadsheet rows.
* Creating or updating CRM records.
* Calling an internal MCP server operation.

Because these tool sets can change when a connector discovers new tools, use the connector **Tools** tab or `er_agent_builder_tool_list` when you need the current workspace-specific list.

## Selecting connector tools in Agent Builder

For a production agent, prefer explicit pinning.

<Steps>
  <Step title="Find the tool">
    Use the connector Tools tab or `er_agent_builder_tool_list` to search by connector, capability, or tool name.
  </Step>

  <Step title="Pin the tool on the right node">
    Add it from the step's tool selector so the agent uses the reviewed connector action instead of discovering tools broadly.
  </Step>

  <Step title="Set the node policy">
    Use pinned tools for ERP, accounting, deterministic lookup, production, and write-capable flows.
  </Step>

  <Step title="Document the call contract">
    In the node instructions, name the expected tool order, required inputs, output handoff, and approval requirement.
  </Step>
</Steps>

## Write policy

Connector tools can be set to **Allow**, **Require approval**, or **Deny** from the connector's **Tools** tab.

| Policy               | Effect                                                                                                              |
| -------------------- | ------------------------------------------------------------------------------------------------------------------- |
| **Allow**            | The tool can run automatically. Use this primarily for read tools and low-risk writes you have tested.              |
| **Require approval** | The run pauses and asks a person before execution. Use this for NetSuite writes and other consequential operations. |
| **Deny**             | The tool is blocked for agents in the workspace.                                                                    |

For setup and policy controls, see [Connectors overview](/connectors/overview) and [Managing NetSuite: tools & write policy](/connectors/netsuite-manage).

## Next steps

<CardGroup cols={2}>
  <Card title="Tools by Erstan" icon="sparkles" href="/tools/by-erstan">
    Review built-in first-party tools.
  </Card>

  <Card title="Connectors overview" icon="plug" href="/connectors/overview">
    Connect systems and manage tool policies.
  </Card>

  <Card title="NetSuite tools & policy" icon="sliders-horizontal" href="/connectors/netsuite-manage">
    Control NetSuite tool access and approval behavior.
  </Card>

  <Card title="Choosing AI steps" icon="brain-circuit" href="/agents/ai-steps">
    Decide whether connector tools belong in an action step or a tool-enabled AI step.
  </Card>
</CardGroup>
