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

# Tools

> Extend what the AI can do with integrations and actions defined in Python code.

## What it is

**Tools** extend what the AI can do, allowing it to perform specific actions and integrations (e.g., querying an external system or processing data). A tool is defined by **Python code** and can be used by **agents** or attached to a chat message.

<Info>
  **Technical/advanced feature.** Creating tools requires programming knowledge (Python). However, **using** already-created tools is simple and requires no programming.
</Info>

## How to access

* Sidebar → **Tools**
* To create: **New → Tool** button or the creation button on the page itself.

<Note>
  The page only appears if the **Workspace** module and the **Tools** permission are enabled for you.
</Note>

## Use a tool (simple usage)

* **In chat:** type `$` in the message or use **+ → Attach tool** and select the tool. You can attach **up to 2 tools per message**.
* **In an agent:** in the agent's **advanced parameters** block, in the **tool selection**, check the tools it can use (see [Agents](/en/guia/agentes)).

## Create a tool (technical usage)

On the creation screen, you use the **tool editor**, where you define:

* **ID** and **Name** of the tool.
* **Description** (metadata).
* **Python code** that implements the tool.
* **Valves (configurable parameters)** — values that adjust tool behavior without changing the code.
* **Access control (Share)** — which users/groups can **use** it.

<Warning>
  The code can declare a minimum required platform version. If the Symphony version is **lower** than required, saving is blocked with a warning.
</Warning>

After saving, a message confirms **"Tool created successfully"**.

## Edit and share

* **Edit:** open a tool from the list to change code, metadata, and valves.
* **Share:** define who can **use** ("Can use") the tool.

## Best practices

* Give **clear names and descriptions** so others understand what the tool does.
* Use **valves** to make the tool configurable without rewriting code.
* Share tools only with those who really need them.
* Test the tool in a conversation before making it widely available.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Do I need to program to use tools?">
    Not to **use** them. Only to **create/edit** a tool's code.
  </Accordion>

  <Accordion title="How many tools can I use per message?">
    Up to **2** per message.
  </Accordion>

  <Accordion title="The tool doesn't save and shows a version error. What is it?">
    The tool requires a newer version of the platform than what's installed. Update the platform or adjust the required version in the code.
  </Accordion>
</AccordionGroup>

## Known limitations

* Creating tools requires knowledge of **Python**.
* Maximum of **2 tools per message** in chat.
* Saving is blocked if the version required by the tool is greater than the platform version.
* Creating/editing depends on the **Tools** permission in the Workspace.
