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

# The agent

> Routing, sub-agents, the tool surface, and what you control about how the agent behaves.

One agent serves every channel. This page covers how it decides what to do and what you can change
about that.

It is also stateful: before it decides anything, it loads that customer's accumulated state from
every prior conversation, every channel and every connected system. That is a big enough subject to
have its own page, and it is the thing most worth understanding about how Vorel behaves.

<Card title="Memory and state" icon="brain" href="/agent/memory">
  What the agent remembers, how identity resolves across channels, and how facts carry provenance.
</Card>

## Routing and sub-agents

A turn is not handled by one large prompt. The agent first works out what the customer wants, then
hands the turn to a specialist:

| Sub-agent     | Handles                                                             |
| ------------- | ------------------------------------------------------------------- |
| Qualification | Getting the information you need about a new enquiry                |
| Knowledge     | Questions about your services, prices, policies and catalog         |
| Booking       | Availability, slot offers, confirmations, changes and cancellations |
| Handoff       | Getting a human involved                                            |

Each sub-agent has a narrower prompt and a smaller tool set than a single general agent would. This
is why behaviour is easier to constrain: the booking specialist cannot answer a clinical question,
and the knowledge specialist cannot invent an appointment.

Common, unambiguous intents resolve without a model call at all, which is most of the latency saving
on voice.

## Tools

Tools are the only way the agent touches anything real.

| Tool                     | What it does                                                 |
| ------------------------ | ------------------------------------------------------------ |
| Knowledge search         | Finds an answer in your knowledge base                       |
| Catalog search           | Finds matching offerings, properties, services or menu items |
| Check availability       | Reads your calendar                                          |
| Book, reschedule, cancel | Writes to your calendar                                      |
| CRM read and write       | Looks up and creates records in your CRM                     |
| Request handoff          | Escalates to a human                                         |
| Send confirmation        | Emails or messages a confirmation                            |

The agent cannot state a booking exists without the booking tool having succeeded. This is enforced,
not just prompted. See [Guardrails](/agent/guardrails).

### Controlling the tool surface

Under **Settings, then Tools** you choose which tools the agent may use. Turning off CRM write, for
example, makes the agent read your CRM without ever creating records in it.

Tools are also scoped per channel where a channel cannot support them. See
[Channels overview](/channels/overview).

## What you configure

<CardGroup cols={2}>
  <Card title="Persona" icon="user-pen">
    Name, tone, signature phrases, and how formal it should be, in English and Arabic.
  </Card>

  <Card title="Hours" icon="clock">
    Working hours, holidays and timezone. The agent answers differently outside hours.
  </Card>

  <Card title="Call goals" icon="bullseye">
    What a successful conversation looks like, which is what qualification works towards.
  </Card>

  <Card title="Handoff rules" icon="user-group">
    What must always reach a human. See [Routing and escalation](/inbox/routing).
  </Card>

  <Card title="Macros" icon="bolt">
    Canned responses your team can use in the inbox.
  </Card>

  <Card title="Guardrails" icon="shield-halved">
    Forbidden phrases and how strictly answers are graded.
  </Card>
</CardGroup>

## Agent releases

Configuration changes can be captured as an immutable snapshot and promoted through stages rather
than edited live. A snapshot records the persona, prompts, rules and tool set as they were at that
moment, so you can compare two versions, promote one, and roll back to the previous one if a change
made things worse.

## Experiments

You can run two prompt variants against real traffic on a split and compare their quality scores,
rather than changing a prompt and hoping. Results appear in [Quality](/quality/overview).

## What the agent will not do

* Answer from general world knowledge when your knowledge base has nothing. It says it does not know
  and offers to get a person.
* Promise an appointment without checking availability.
* Quote a price that is not in your catalog or a tool result.
* Use a phrase on your forbidden list.

## Related

<CardGroup cols={2}>
  <Card title="Knowledge" icon="book" href="/agent/knowledge">
    What the agent answers from.
  </Card>

  <Card title="Customer memory" icon="brain" href="/agent/memory">
    What it remembers between conversations.
  </Card>

  <Card title="Booking" icon="calendar" href="/agent/booking">
    How appointments are made.
  </Card>

  <Card title="Explainability" icon="magnifying-glass" href="/agent/explainability">
    Why it said what it said.
  </Card>
</CardGroup>
