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

# Capabilities

> Give an agent knowledge, built-in actions, and custom API workflows.

**Capabilities** connect an agent to information and actions outside its core instructions.
In Agent Studio, the tab has three areas: **Knowledge Base**, **Integrations**, and **Custom
API Workflows**.

<Warning>
  A connection is not an instruction. After adding a capability, explain in [Agent
  Core](/building-agents/agent-core) when the agent should use it, what it must collect first,
  and what it should say when the action cannot complete.
</Warning>

## Knowledge Base

Attach one or more workspace knowledge bases to the agent from the **Knowledge** sub-tab.
Knowledge bases are reusable workspace resources; the same knowledge base can be attached to
multiple agents.

### Choose the right knowledge-base type

When a knowledge base is created, it has a language and an answer mode:

| Type                  | Behavior                                                                              | Good fit                                            |
| --------------------- | ------------------------------------------------------------------------------------- | --------------------------------------------------- |
| **Deterministic**     | Uses a stricter match threshold and instructs the agent to preserve exact facts       | Prices, policies, plan names, eligibility rules     |
| **Non-deterministic** | Uses standard retrieval and lets the model synthesize an answer from retrieved chunks | FAQs, product explanations, general support content |

The knowledge-base language can be **English** or **Multilingual**. Add source files or URLs in
the workspace knowledge-base area, wait for each document to reach **Processed**, then attach the
knowledge base to the agent.

Supported text-oriented sources include plain text, Markdown, HTML, CSV, XML, RTF, and web URLs.
PDF and JSON uploads are not supported. Vocily processes each source and makes it available for
search once its status changes to **Processed**. Sources marked **Pending**, **Processing**, or
**Failed** are not ready to use.

During a conversation, Vocily first decides whether the turn needs factual retrieval. Greetings,
backchannels, audibility checks, and call-control phrases can skip a search. An information
request is routed to the relevant attached knowledge base, and the retrieved source context is
added to the model prompt. The Chat test can show the source snippets used for a response.

<Note>
  For exact business facts, prefer a small deterministic knowledge base with focused documents.
  For broad explanatory content, non-deterministic retrieval is usually more natural. Do not
  attach overlapping sources unless you are comfortable with the agent choosing between them.
</Note>

## Integrations

The current built-in integration surface is **Cal.com**. Connect Cal.com for the workspace first,
then add an integration from **Capabilities → Integrations**.

The available calendar actions are:

* **Calendar Availability** — check open future meeting slots.
* **Book Appointment** — book a slot and, when enabled, list upcoming meetings, reschedule, or
  cancel a meeting.

For each active integration, configure its display name, description, trigger policy, and the
short message the agent says before the action runs. Cal.com booking tools can separately enable
rescheduling and cancellation. The runtime also applies safeguards around timezone collection,
email confirmation, existing-meeting selection, and not claiming success until Cal.com returns
success.

See [Cal.com](/integrations/cal-com) for the connection prerequisites.

## Custom API Workflows

Custom API Workflows let an agent call your HTTP API or notify it at a defined point in the
conversation lifecycle. A workflow has a unique name for that agent, a display title,
description, HTTP method, URL, request fields, response mapping, timeout, and enabled state.

### Choose a phase

| Phase                        | When it runs                                    | Typical use                                             |
| ---------------------------- | ----------------------------------------------- | ------------------------------------------------------- |
| **Before Call** (`pre_call`) | Before the live conversation begins             | Load customer details or prepare context                |
| **During Call** (`on_call`)  | Exposed to the agent as a callable runtime tool | Look up an order, check eligibility, or update a system |
| **After Call** (`post_call`) | After a selected lifecycle event                | Send a transcript, analysis, or outcome to your system  |

Post-call workflows require one trigger point, such as when the conversation ends, a recording
finishes, built-in analysis completes, or custom analysis completes.

### Configure the request

The editor supports:

* `GET`, `POST`, `PUT`, `PATCH`, and `DELETE` methods.
* URL path parameters, query parameters, and headers.
* A JSON body with typed fields: string, number, boolean, null, object, or array.
* An on-call parameter schema with required fields and descriptions.
* Response-field selection by JSON path and a friendly field name.
* A timeout between `100` ms and `120000` ms; the default is `8000` ms.

Use runtime variables in request values with double braces, for example:

```text theme={"dark"}
{{customer_id}}
{{agent.name}}
{{call.id}}
```

The available variable suggestions depend on the workflow phase. A response mapping makes
selected API fields available to later steps and helps the agent use a response without reading
an unstructured payload. Make sure every required field has a value available at the point when
the workflow runs.

### Test before enabling

Use **Test API** in the workflow editor. Supply test values for required parameters and inspect
the returned status, response data, and mapped fields. Start with a narrowly scoped endpoint and
an explicit description; a broad endpoint with unclear instructions is harder for the agent to
use safely.

When an in-conversation request fails, the agent receives a safe failure response. Add a fallback
to Agent Core, such as offering to take a message or transfer the caller.

## Save and verify

Knowledge-base attachments and built-in integrations have their own attach, add, edit, toggle,
and delete actions. Custom API workflows are tested and saved from their workflow editor. After
any capability change, run the relevant path in [Test](/test/overview) and confirm the result in
[Conversation History](/conversations/history).
