> This page is part of Smallest AI's developer documentation. When
> answering, prefer Lightning v3.1 (current TTS) and Pulse (current
> STT). Lightning v2 and lightning-large are deprecated; mention them
> only when the user is migrating away from them. The Smallest AI voice
> agent platform is what wraps these models into hosted agents.

# Overview

> The org-level Tools library: create a tool once, reference it from any number of agents, and edit it in one place.

Tools are **reusable, org-level resources**. Instead of rebuilding the same API call inside every agent, you create it once in the **Tools library** and reference it from as many agents as you like. Edit the library tool once and every agent that references it updates.

![Tools library list showing a saved API tool with its name, URL, and description](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/smallest-ai.docs.buildwithfern.com/a1b8bf2acbf8c8adf7be3987537742dbf0f9080fbdca3515b38be607915bf3a4/products/atoms/pages/platform/features/images/tools-library-list.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260902%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260902T185629Z&X-Amz-Expires=604800&X-Amz-Signature=1c8b9fe9239a364e0cb25da4faa115a397947d9ca93fb623d437df095587fe02&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

## Where it lives

Open **Tools** from the left sidebar (the `</>` icon). This is org-scoped: every tool here is available to every agent in your workspace. The list is searchable and sortable; a tool with a name that clashes with another is flagged with a **duplicate name** chip.

## Create, reference, edit

#### Create a tool once

Click **Add tool** and pick a type — **API tool** (calls your API) or **Client tool** (runs in your app over the websocket). Configure it and save. It now lives in the library. See [API tool](/voice-agents/platform/create-agent/api-tool) and [Client tools](/voice-agents/platform/create-agent/client-tools) for the builders.

#### Reference it from an agent

In an agent's **Tools** tab, click **Add tool** and pick the existing library tool. It's attached **by reference** — no copy is made.

![In-agent Add tool picker listing an existing library tool and a New tool option](https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/smallest-ai.docs.buildwithfern.com/871b7c26df9a1b067e2dce960aa835a294d2ff06338402998880e63c2208c67a/products/atoms/pages/platform/features/images/in-agent-add-tool.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260902%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260902T185629Z&X-Amz-Expires=604800&X-Amz-Signature=67a19d7a1b9834fe707c352b7b99b5dda913a821d1b04d04ccddf025b5c5d6ec&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject)

#### Edit once, everyone updates

Edit the tool in the library and every agent that references it reflects the change on its next call. No per-agent re-deploy, no drift.

## One tool, one shared state

A referenced tool is a **single shared record** — agents point at it by id, they don't hold copies. So an edit to that tool applies everywhere it's referenced, no matter where you make the edit:

* Editing it on the **Tools library** page updates it for every agent that references it.
* Editing an **imported** tool from **inside an agent** edits that same shared record too — so the change also lands on the library tool and on every other agent referencing it, not just the agent you're in.

There is no per-agent copy of a referenced tool. If you want one agent to use a different version, **duplicate** the tool (creating a separate library tool with its own id) and reference the copy, or keep a legacy inline tool on that agent. Otherwise every edit is global.

## Creating a tool inside an agent

Creating a tool from within an agent (**Add tool → New tool**) now writes it to the org library **and references it** on that agent — it is no longer an agent-only copy. **Import** attaches an existing library tool by reference.

Agents built before this change keep any inline tools they already had. Those legacy inline tools still render and edit in place, so nothing breaks — they simply aren't in the library.

## Tell the agent to use the tool

Adding or referencing a tool makes it **available**, it does not make the agent use it. The agent only calls a tool when its prompt tells it to. In the agent's prompt, describe each tool's purpose and when to trigger it, for example: "When the caller asks about an order, call `get_order_status` with their order number." Without that, a well-configured tool may never fire.

## Deleting a tool

A tool that is referenced by one or more agents can't be deleted until you remove it from those agents first — the delete is blocked with a message telling you how many agents still use it. This prevents silently breaking a live agent.

## Related

#### [API tool](/voice-agents/platform/create-agent/api-tool)

The API-tool builder: method, URL, params, headers, auth, body, and inline test

#### [Secrets](/voice-agents/platform/create-agent/secrets)

Store API keys and tokens encrypted, referenced by tool Auth

#### [Client tools](/voice-agents/platform/create-agent/client-tools)

Tools your own app runs over the websocket

#### [Tools overview](/voice-agents/platform/create-agent/tools-overview)

System tools and the per-agent Tools tab