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

# Actions

> Letting the agent do things, not only say them — safely.

An agent that can only talk is a search box with manners. Actions let it look up
an order, check stock, or start something in your own systems.

**The tools we wrote arrive on; anything that reaches outside your business
arrives off.** Knowledge search, lead capture and escalation are what people set
an agent up for, so making you go and find three switches would be a checklist
before the thing works at all. Web search, your own API and every connected
service start off, because those are reachable from a public chat by a stranger
who may be trying to talk the model into using them — and that is a decision
worth making one at a time.

## Built-in tools

Switchable per agent. Off means the tool is **removed**, not that the model is
asked not to use it.

* **Knowledge search** — your own material, always searched first. **Two
  switches**: one for chat and WhatsApp, one for calls. Both on.
* **Web search** — runs on the model provider's side, so it is only available on
  models that offer it.
* **Capture lead** — see [Leads](/agent/leads).
* **Escalate** — hand the conversation to a person. See [Escalation](/agent/escalation).
* **End the call** — on calls only. The agent hangs up once the conversation is
  genuinely finished. See [Voice](/channels/voice#ending-the-call).
* **Book a call back** — somebody asks to be called later and the agent books
  it; your number rings them at that time. See
  [Voice](/channels/voice#booking-a-call-back).

## Call your own API

Point the agent at an HTTPS endpoint of yours, describe what it does and what it
takes, and the agent can call it mid-conversation. **[Full guide, including how
to write the endpoint safely](/agent/custom-api).**

* Credentials are encrypted at rest and are not readable from the dashboard.
* The URL is validated **and DNS-resolved** before we fetch it, so an endpoint
  cannot be used to reach inside our network.
* Your header secret is never shown again after you save it.

## Connect a service (MCP)

21 services with addresses read from the official registry and grouped by what
they do, plus any address you want to paste. A further 1,434 services are listed
in the directory.

Sign-in happens in a popup and tokens are sealed and renewed automatically, so
nobody signs in twice.

<Warning>
  **Asana, Xero and Shopify need a manual step.** Those vendors do not support
  dynamic client registration, so connecting them currently means registering an
  app on their side yourself. It works; it is not one-click, and we would rather
  say so here than have you discover it mid-setup.
</Warning>

## Send what happens somewhere else

Signed outbound webhooks to any HTTPS endpoint. This is the lane that reaches
Google Sheets, Zoho and effectively any CRM through Zapier or Make today. Paste
an address — or an email address, if your helpdesk opens tickets that way — and
pick what it should be told about.

| Event                        | Fires when                                                                                                |
| ---------------------------- | --------------------------------------------------------------------------------------------------------- |
| A lead was captured          | The agent collected a name, email or phone from somebody interested                                       |
| A conversation was escalated | It handed a conversation to a person                                                                      |
| A conversation was resolved  | A teammate marked one done                                                                                |
| **A call finished**          | Any call placed or answered — with the outcome, how long it lasted, and which campaign it belonged to     |
| **A campaign finished**      | Everybody on a broadcast or [calling campaign](/channels/voice-campaigns) has been reached or given up on |

A finished call carries whether it was answered, missed or refused, so a missed
call is something your own system can act on rather than something you find out
by opening ours.

Every delivery is signed with a secret shown once when you add the endpoint, so
your receiver can prove the request came from us. An endpoint that fails five
times in a row is switched off and says so, rather than retrying into a wall.

<Note>
  **New events do not arrive uninvited.** An endpoint added before an event
  existed keeps receiving exactly what it did before. Tick the new one when you
  are ready for it — a receiver built for leads should not be woken by a phone
  call it has never seen the shape of.
</Note>

## Two limits worth knowing

**Eight tools per agent.** Every tool's schema is re-sent on every turn, and
models get measurably worse at choosing as the list grows. The cap is a quality
decision, not a licensing one.

**Every discovered tool arrives off.** Enabling is one deliberate act per tool.
A newly connected service does not silently gain the agent thirty new
capabilities.

## Name protection

Third-party tools are namespaced, so nothing you connect can register itself as your own knowledge search and quietly take over your own material.
