# Introduction to Tools (/tools/introduction)

Instead of only responding based on given knowledge, with tools the Agent can:

* Look up real-time information available in other systems
* Perform actions (like creating records, sending data, updating statuses)
* Connect to your existing systems for other reasons

## What is a Tool?

A Tool is a way for your Agent to make a request to an external service (API). <br />
In simple terms, a tool tells the Agent **when** to do something, **what** exactly needs to be done and **how**. <br />
Once configured, the Agent can use the tool automatically—without requiring manual intervention.

## When Can Tools Be Used?

Tools can be configured to run at different stages of a conversation – **before**, **during** or **after** conversation.
At any stage an Agent can run none, one or multiple tools.

### Before the Conversation

The tools run once in consecutive order, before the interaction begins. <br />
Use this when the Agent needs to prepare or retrieve information in advance.  <br />
For example:

* Loading user account details
* Checking system status

### During the Conversation

The tools run dynamically while the conversation is happening.<br />
The Agent decides when to use specific tool of all available in mid-conversation phase based the tool’s description and user’s request.
For example:

* A user asks for their order status
* The Agent calls a tool to retrieve that information
* The Agent responds with the result

### After the Conversation

The tools run once in consecutive order after conversation is finished.<br />
For example:<br />

* Send a summary to another system
* Send an email or SMS confirmation, reminder or link
* Create / update a support ticket

## How Does the Agent Know When to Use a Tool?

There are two important parts that determine how a tool is used:<br />

### 1. Tool Timing (When it runs)

This is defined by your configuration - **Before**, **During** or **After** the conversation – by making a certain tool available to the Agent at specified phase as needed based on the agents roll and purpose it is trying to accomplish.

### 2. Tool Description (When it should be used)

The tool description is critical. It tells the Agent in which situations the tool is relevant.<br />
For tools used during a conversation, the Agent relies on this description to decide whether to use the tool or not.<br />
A clear description should explain:

* What the tool does
* When it should be used
* What kind of user requests it applies to

#### Example

Weak description: "Fetch data" <br />
Good description: "Retrieve the current status of a customer’s order when asked about delivery, shipping, or order progress."<br />

#### With a well-written description, the agent can:<br />

* Understand better the user’s request
* Recognize that a tool can help
* Call the correct tool at the right time

## Where Do the API Details Come From?

To configure a tool, you will need information about the API you want to connect to, such as:<br />

* Endpoint URL
* HTTP method (GET, POST, etc.)
* Required headers (e.g., authentication)
* Request parameters or body
  This information is typically provided in the API documentation of the system you are connecting to.
  If you are unsure how to configure a tool, reviewing the API documentation, follow Envocal guides and reach out directly to us at [hello@envocal.ai](mailto:hello@envocal.ai) for help.

## Why Tools Matter?

Tools enable your Envocal Agent to take real action and provide accurate, up-to-date information. <br />
Without tools, an Agent can only respond based on static knowledge. <br />
With tools, your Agent becomes an active part of your system—able to interact with other systems, trigger workflows, and complete tasks in real-time.
