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

# Overview

> Interacting with external systems during a conversation

A tool is a structured way to interact with entities outside a conversation. This is similar to the definition structure of a tool in the [Model Context Protocol](https://modelcontextprotocol.io/docs/concepts/tools).

## Types of tools

In a conversation, imagine the **first party is you**, the builder of the agent, conversing with the **second party, the conversational agent itself.** A **third party is an external system** controlled neither by you nor the conversational agent.

* [**First-party custom API integrations**](/docs/tools/first-party): Bring your own APIs or MCP servers to connect to your internal databases, services, and business systems with full authentication and state management support.
* **Second-party platform tools**: Built-in conversation capabilities like call transfers, DTMF tone handling, sending SMS during calls, and voicemail detection.
* [**Third-party integrations**](/docs/tools/third-party): One-click connections to common business tools including Google Calendar, Salesforce, Zendesk, Notion, and other CRM systems.

For simple use cases, platform tools and pre-built integrations are typically sufficient. Complex business scenarios, however, will require custom API integrations to access internal customer data, case management systems, or specialized business logic.

## Using tools

<Steps>
  <Step title="Set up your tools">
    Use the web interface to set up first-party APIs and third-party integrations.
  </Step>

  <Step title="Enable specific tools for your conversational agent">
    All tools are disabled by default. You must manually enable the specific tools you want to use for each agent from the **Tools** tab. This limitation helps keep the agent focused when it autonomously selects from available tools to solve problems. Having too many tools can lead to higher error rates and hallucinations.
  </Step>

  <Step title="Reference specific tools in the prompt">
    You can instruct the agent to use a specific tool by referencing it in the prompt using `@tool_name`. This improves accuracy by reducing unintended tool calls. Additionally, since the tool is known in advance, we also inline instructions to help improve data collection and validation.
  </Step>
</Steps>
