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

> ## Agent Instructions
> Use the public API base URL: https://api.teamfollowup.ai/api.
> Authenticate public API requests with Authorization: Bearer YOUR_API_KEY.
> Use product-owned terms: agents, calls, campaigns, contacts, phone numbers, billing, and configuration.

# The tool library

> The specialized abilities we build and ship. You add one to an agent and set it up. You don't build tools, and that's the point.

A **tool** is a specialized ability we build, test, and maintain. You browse the
library, add one to an agent, and configure it for your business. The code
underneath is ours; your job is to point it at the right ZIPs, number, or tags.

## Why you configure tools, not build them

A tool runs live, mid call, while a real person is on the phone. If a coverage
check returns the wrong answer or a transfer dials the wrong place, the call is
already going sideways before anyone notices. So tools are code, and we own it,
built deterministically where it matters so it runs on hard logic, not the agent's
best guess. When you need behavior that isn't a tool, you
[write a skill](/skills/writing-a-skill) in plain English instead.

## What's in the library today

<CardGroup cols={2}>
  <Card title="Appointment Booking" icon="calendar-days">
    Offers real open times from your calendar and books the one the lead accepts.
    Point it at a calendar on your campaign. It is a
    [capability](/agents/agent-types), so adding it also brings the outcome and
    the campaign route that go with a booking.
  </Card>

  <Card title="Service Area Check" icon="map-pin">
    The caller says their ZIP, and the agent checks it against your coverage list
    with real code, not judgment. It never guesses "yes, we cover you." You set the
    ZIPs and what to do when someone's out of area.
  </Card>

  <Card title="Live Transfer" icon="phone-forwarded">
    Warm transfers the caller to a real person, with a spoken introduction. You set
    the destination number. The agent confirms first and never narrates the handoff.
  </Card>

  <Card title="Add a Tag" icon="tag">
    Tags the lead in your CRM mid call, so your own workflows fire while the agent
    is still on the phone: send a link, start an automation. The agent never says
    the tag out loud.
  </Card>

  <Card title="Check a Tag" icon="search">
    Looks up whether the lead already has a tag, so the agent can adapt on the spot:
    existing customer, VIP, already booked. It says a natural "give me a moment"
    while it checks.
  </Card>
</CardGroup>

The library is deliberately small and growing. What's on the shelf is what's
proven, not what's promised.

<Note>
  A tool marked **smart**, like Service Area Check, runs deterministic code rather
  than the agent's judgment. When the answer has to be exactly right, that's the
  kind you want.
</Note>

## Tools you already have

Three of these, **Appointment Booking**, **Live Transfer**, and **Add a Tag**,
are also [capabilities](/agents/agent-types): the abilities you picked when you
created the agent. So if you built a transfer agent, Live Transfer is already
there. The library shows it as **added** rather than offering it twice.

A capability is more than a tool. Adding one from the library also brings the
fields it fills in after the call, the route your campaign takes when it
happens, and the setting it needs before it can run. Remove it and all of that
goes with it. That is why the library says **capability** on those three.

Some other tools arrive with the agent and are marked **built in**, like ending
the call. You can see what each does and adjust when the agent reaches for it,
but you don't add or remove those here.

## Adding and removing

Add a tool from the library, fill in what it needs, and save. It's live on that
agent. There's no on and off switch: a tool being on the agent is the on state, so
to turn one off you remove it. Everything you add is scoped to this one agent.
