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

# AI tools: letting an agent do things

> The tool catalog, how to enable or disable a tool globally, and how to expose one of your automations as a tool.

Without tools an agent can only talk. With them it can look a customer up, check an order,
book something, or run one of your automations.

## The catalog

**AI Agents → Manage Tools.** Tools are grouped:

| Group                | What it is                                                                      |
| -------------------- | ------------------------------------------------------------------------------- |
| **Built-in**         | Ship with the product.                                                          |
| **CRM tools**        | Read and act on CRM records.                                                    |
| **Billing tools**    | Plan and usage lookups.                                                         |
| **Custom tools**     | Ones your workspace has added.                                                  |
| **Automation tools** | Your automations exposed as tools — managed in the automation itself, not here. |

## Enabling and disabling

There are **two independent switches**, and this is what confuses people:

<Steps>
  <Step title="Globally, in the catalog">
    **AI Agents → Manage Tools** — toggling a tool off removes it from every agent that
    used it.
  </Step>

  <Step title="Per agent">
    **AI Agents → your agent → Overview → Edit → Tools** — tick the ones this agent may use.
  </Step>
</Steps>

<Warning>
  A tool enabled in the catalog is **not** automatically available to an agent. You must
  also tick it on the agent. This is the single most common reason a newly added tool is
  never called.
</Warning>

## Exposing an automation as a tool

This is how you give an agent an ability you built yourself — booking an appointment,
creating an order, checking stock in your own system.

<Steps>
  <Step title="Open the automation">
    **Automation → your flow.**
  </Step>

  <Step title="Turn on 'Expose as tool'">
    Give it a **tool name** (a unique identifier the AI calls, e.g. `book_appointment`) and
    a **when to use it** description. The description is what the model reads to decide
    whether to call it — write it as a plain sentence: *"when the customer wants to book an
    appointment"*.
  </Step>

  <Step title="Define the inputs">
    Each input has a name, a type (Text, Number, Yes/No), a description and a required flag.
    The AI fills these in, and they arrive in the run as `{{trigger.<name>}}`.
  </Step>

  <Step title="Publish the automation">
    An unpublished automation does not appear as a tool, however configured.
  </Step>

  <Step title="Enable it on the agent">
    **AI Agents → your agent → Overview → Edit → Tools**, tick it. It carries an
    **AUTOMATION** badge.
  </Step>
</Steps>

All five steps are required. Miss the publish or the per-agent tick and the tool exists but
is never called.

## Deleting a custom tool

Deleting removes it from the catalog and from every agent that used it. This cannot be
undone. Automation tools are removed by turning off "Expose as tool" in the automation
itself.

## Writing a good tool description

The model chooses tools by reading their descriptions. Two rules:

* **Say when, not what.** "Looks up an order by its number" is worse than "when the
  customer asks where their order is or gives an order number".
* **Make inputs unambiguous.** The input description is what tells the AI what to put
  there. `customer_name` with no description invites a guess.
