> ## 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.

# Agent Core

> The foundation for an agent's conversation behavior.

Agent Core is the shared foundation of an agent. It tells Vocily who the agent is,
how it should behave, what it says first, which language behavior it should follow,
and which variables it can use while talking to a customer.

Because one agent can run across multiple channels, Agent Core should describe the
agent's core job and behavior. Channel-specific setup, such as phone numbers, web
widgets, and WhatsApp assignment, lives in [Deploy](/building-agents/deploy).

## What Agent Core controls

Agent Core is the panel you use for the agent's most important conversation settings:

<CardGroup cols={2}>
  <Card title="Greeting and language" icon="language">
    Set the greeting language, conversation language, opening message, and auto-language
    behavior.
  </Card>

  <Card title="Prompt sections" icon="align-left">
    Write the agent's Agent Purpose, Response Style, and Call Flow.
  </Card>

  <Card title="Variables and defaults" icon="braces">
    Add reusable variables such as customer names, booking details, or other values the
    agent should personalize.
  </Card>

  <Card title="References to capabilities" icon="plug">
    Reference connected <Tooltip tip="Scheduling, monitoring, updating your systems, and more coming."><a href="/building-agents/capabilities">tools</a></Tooltip> and API data inside the prompt when the agent needs them.
  </Card>
</CardGroup>

## Set greeting and language

The first part of Agent Core controls how the conversation starts and how the agent
understands spoken language.

### Greeting Language

Choose the language used for the opening greeting. This is separate from the full
conversation language so the agent can start clearly even when later conversation
behavior is automatic.

### Conversation Language

Choose how the agent listens and responds during the conversation.

Vocily includes automatic modes for mixed-language conversations, plus fixed-language
options for Hindi, English, and supported Indian languages. The automatic modes are:

* **Hindi / English (Auto)** — best for natural Hindi, English, and Hinglish switching.
* **Indian Multilingual (Auto)** — lets callers speak any supported Indian language and
  lets the agent follow the caller's latest spoken language.

For automatic language modes, Agent Core shows **Auto Language Rules**.

### Auto Language Rules

Use **Auto Language Rules** when you want to control how the agent handles language
switching.

* **Use custom language instructions** replaces Vocily's default auto-language behavior
  with your own rules.
* **Translate custom-set messages** lets Vocily translate platform messages, such as
  wait, transfer, and fallback messages, into the caller's spoken language when possible.
* **Edit instructions** opens the **Override Prompt** field, where you can write the
  language behavior yourself.

Use custom language instructions only when the default behavior is not specific enough.
For most agents, the default automatic mode is the safest starting point.

### Greeting Message

Write the first message the agent says when the conversation begins.

Keep the greeting short, identify the agent or business clearly, and give the customer
an obvious next step.

```text theme={"dark"}
Hello {{customer_name}}, thanks for calling. How can I help you today?
```

If the greeting includes a custom variable such as `{{customer_name}}`, it appears in
**Prompt Variables & Defaults**.

## Write the prompt sections

Agent Core splits the prompt into three focused sections.

<CardGroup cols={3}>
  <Card title="Agent Purpose" icon="target-arrow">
    What this agent is trying to accomplish and what it should know.
  </Card>

  <Card title="Response Style" icon="message-dots">
    How the agent should speak, answer, and handle uncertainty.
  </Card>

  <Card title="Call Flow" icon="list-numbers">
    The step-by-step conversation path the agent should follow.
  </Card>
</CardGroup>

Use the sections for different kinds of instruction:

* Put the agent's role, goal, and important business context in **Agent Purpose**.
* Put tone, answer style, boundaries, and uncertainty handling in **Response Style**.
* Put the order of the conversation in **Call Flow**.

For example, an appointment agent might use:

* **Agent Purpose:** Help customers find and book the right appointment.
* **Response Style:** Keep replies short, ask one question at a time, and do not invent
  availability.
* **Call Flow:** Understand the appointment type, collect the preferred time, check
  availability, confirm the booking, and summarize the next step.

The editor supports normal writing and simple formatting. You can paste structured text,
then use the toolbar to format headings, bold text, lists, and numbered steps.

## Use variables and defaults

Variables let one agent personalize conversations with values that can change by
customer, campaign, API result, or test run.

Add a custom variable with double braces:

```text theme={"dark"}
{{customer_name}}
{{appointment_type}}
{{order_id}}
```

When Agent Core sees a variable in the greeting or prompt, it lists that variable under
**Prompt Variables & Defaults**.

Use that area to:

* Select **Add Default** when the variable is already in the prompt and you want a
  fallback value.
* Select **Add** to create a variable directly.
* Edit or delete variables that should no longer be used.

Default values are fallbacks. If Vocily receives a real value for the variable during a
conversation, the live value should be used. If no value is supplied, the default keeps
the agent from sounding incomplete.

For a deeper explanation, see [Variables and default values](/building-agents/variables).

## Reference tools and API data

Agent Core can also reference connected capabilities.

Use capability references when the agent should know that connected
<Tooltip tip="Scheduling, monitoring, updating your systems, and more coming."><a href="/building-agents/capabilities">tools</a></Tooltip>
or API values are available in the conversation.

Common reference formats include:

```text theme={"dark"}
<tool_name>
||on_call_tool_name.api_field||
((pre_call_tool_name.api_field))
```

Use these only after the capability exists in [Capabilities](/building-agents/capabilities).
Keep the instruction clear: tell the agent when to use the capability, what information
to collect first, and what it should say if the capability cannot complete the action.

## Save and test

Select **Save Changes** after editing Agent Core. Saving updates the agent's active
configuration; there is no separate publish step.

After saving, test the most important parts:

* The greeting sounds natural and uses variables correctly.
* The selected conversation language behaves as expected.
* The agent follows the **Call Flow** instead of skipping steps.
* Any capability references are only used when the right capability is configured.

Use [Test](/test/overview) to try the agent by chat, browser voice, or a real phone call
before sending customers to it.

## What's next

* Configure the model and response parameters in [Intelligence](/building-agents/intelligence).
* Add knowledge bases, integrations, and custom APIs in [Capabilities](/building-agents/capabilities).
* Choose the agent's TTS voice in [Voice](/building-agents/voice).
* Connect the agent to channels in [Deploy](/building-agents/deploy).
