> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.hollr.ai/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.hollr.ai/_mcp/server.

# Agent

The Agent page, at [app.hollr.ai/agent](https://app.hollr.ai/agent), is the dashboard surface for configuring the AI voice agent attached to your campaign. It's the UI counterpart to the [Agents API](/agents) — anything set here can also be read or written programmatically, but most accounts configure the agent once in the dashboard and use the API only to trigger calls.

The page is organized into three tabs: **General**, **Voices**, and **Functions**.

## General

<img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/hollr.docs.buildwithfern.com/9261c23d58987f1a2c9fdd35bc18954e64e0f178e7162d7ed7388a64a7dd3b64/docs/assets/platform/product-agent-general.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260813%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260813T115721Z&X-Amz-Expires=604800&X-Amz-Signature=002fe9536a915c9582dc56612ce42bf14c137b78ad4602c6a3d0062db555e4be&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Agent General tab showing assistant name, initial message, system message, and language selection" />

The General tab defines the agent's identity and conversational instructions:

| Field           | Description                                                                                                                                 |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Assistant Name  | The name the agent uses to refer to itself during the call.                                                                                 |
| Initial Message | The opening line spoken as soon as the call connects. Supports system variables and custom variables.                                       |
| System Message  | The system prompt — defines the agent's role, tone, objectives, and the rules it must follow for the duration of the conversation.          |
| Languages       | The set of languages the agent can converse in. Multiple languages can be selected to support multilingual or code-switching conversations. |

### Advanced configuration

Below the core identity fields, the General tab exposes advanced call-handling behavior. These settings are optional and are typically configured once an agent's baseline persona is working as expected.

#### Pre-call data fetch

Pre-call data fetch lets the agent make an API call to a third-party system before the call connects, so the retrieved data can be used as context during the conversation — for example, pulling a customer's order status or account details from your own system right before the agent starts talking. This is what lets the same agent sound informed about the specific person it's calling, without that data being hardcoded into the system prompt.

#### Call settings

Call settings control how the agent behaves at the infrastructure level, independent of what it says:

* **Call recording** — enable or disable recording for calls handled by this agent. When enabled, a recording becomes available on the corresponding conversation record.
* **End call on voicemail detection** — automatically end the call when voicemail is detected, rather than leaving a message or continuing to speak.
* **End call on user silence** — automatically end the call after a configurable duration of caller silence, in seconds.
* **Max duration** — a slider that sets a hard ceiling on call length, paired with a max duration message. When a call reaches the configured maximum, the agent speaks the max duration message and ends the call gracefully rather than being cut off mid-sentence.

#### Keywords to capture

Keywords to capture define the structured data your agent should extract from the conversation. Each keyword has a name and a type:

| Type     | Use for                                                                    |
| -------- | -------------------------------------------------------------------------- |
| Text     | Free-form values, such as a stated reason or preference.                   |
| Number   | Numeric values, such as a budget or quantity.                              |
| Boolean  | Yes/no or true/false outcomes, such as whether a site visit was confirmed. |
| Selector | A value constrained to a predefined set of options.                        |

Once configured, every completed call is parsed against these definitions, and the resulting key-value pairs appear under **Captured Keywords** on the corresponding record in [Conversations](/platform/conversations). This is the primary mechanism for turning unstructured conversation into structured, filterable data.

#### Webhooks

Webhooks let you configure an endpoint that receives a payload after each call completes — including the transcript, summary, sentiment, and captured keywords — so your own systems can react to call outcomes without polling the API.

## Voices

<img src="https://fdr-prod-docs-files-public.s3.us-east-1.amazonaws.com/hollr.docs.buildwithfern.com/ce9f75342b861317857ae898ead5f0c6e140902c28399cbc2f8f334e2127ed42/docs/assets/platform/product-agent-voices.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIA6KXJSKKNFOCF7G4B%2F20260813%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20260813T115721Z&X-Amz-Expires=604800&X-Amz-Signature=a957657136dea22b92986fe65b5c7b16db248ee21a6b7768b49fb448e4da62ae&X-Amz-SignedHeaders=host&x-amz-checksum-mode=ENABLED&x-id=GetObject" alt="Agent Voices tab showing a searchable catalog of voice options with descriptive tags" />

The Voices tab presents the full voice catalog, searchable by name, tone, or descriptive attributes (for example, "conversational Indian female"). Each voice card lists its descriptive tags — accent, age, tone, gender — along with a short description and a preview control. Voices are grouped into standard and premium tiers; premium voices can be filtered out entirely using the **Hide Premium Voices** toggle.

The dashboard shows voices by name; the [Agents API](/agents) accepts the corresponding voice ID. If you're configuring the agent through the API, use the dashboard to identify the voice you want first.

## Functions

The Functions tab configures actions the agent can take mid-conversation, such as ending the call or transferring it to another number. This is where you enable and configure any function-calling behavior the agent needs beyond speaking — for example, routing a qualified lead to a live agent.

## Next step

With the agent's persona and call-handling logic in place, add a knowledge base if your use case depends on your own content, or skip ahead to provisioning a number.

#### [Knowledge Base](/platform/knowledge-base)

Ground agent responses in documents, a website, or FAQ pairs

#### [Settings](/platform/settings)

Verify compliance and provision a virtual phone number