# Tool Overview

Tools let an AI receptionist reach beyond the phone system and work with the services you already run. Each tool is a definition you create and assign to the receptionist that maps to a call to a third-party API (Application Programming Interface: a defined way for two systems to exchange data over the web). When a caller asks for something a tool covers, such as the status of an order or an open appointment slot, the receptionist recognizes the moment, assembles an HTTP (Hypertext Transfer Protocol, the standard web request format) request, and sends it to the API endpoint you defined. It can then read the response back to the caller or complete an action on the other system, all without leaving the call.

:::caution
A tool can do more than look things up. If its endpoint changes data on the other system (booking an appointment, updating a record), the receptionist can trigger that action on its own during a call, based on what the caller says. Test a new tool before you assign it to a live receptionist.
:::

## Requirements

Your phone system must be running firmware version 84.23.0.123 or later.

## Limitations

- A phone system can hold up to **100** custom tools.
- Tools authenticate to external APIs with static credentials only, an API key, Basic Authentication, or a static Bearer token, or they call public APIs that need no authentication at all.

  :::note
  Dynamic schemes such as OAuth 2.0 are not supported. They hand out tokens on demand, so there is no fixed value to save in the tool ahead of time.
  :::

## Ways to add a tool

You can create a tool in either of two ways.

| Method | How it works |
| --- | --- |
| Manual configuration | Enter every setting yourself in the web portal, the basic details, the execution rules, and the request parameters. This suits building a single tool or trying one out. See [Add a Tool Manually](/pbx/ai-guide/add-a-tool-manually/). |
| JSON file upload | Upload one or more JSON (JavaScript Object Notation, a plain-text data format) files, each holding a tool's full configuration. The system reads each file and creates the tool once the upload succeeds. This suits adding tools in bulk or restoring them from a backup. See [Add a Tool via File Upload](/pbx/ai-guide/add-a-tool-via-file-upload/). |
