> ## Documentation Index
> Fetch the complete documentation index at: https://koreai-apis.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent behavior settings

Agent behavior settings configure context-driven overrides, alerting, human handoff, and real-time agent assistance.

## Behavior profiles

The **Behavior Profiles** page lets you define context-driven overrides for agent conversation behavior. Profiles layer on top of any agent baseline when their conditions match, without modifying the core agent definition.

**Navigation**: **Project** → **Settings** → **Behavior Profiles**

### Create a behavior profile

Select **Create Profile** to open the structured editor. The profile header includes the following fields:

| Field               | Description                                                                                                                        |
| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
| **Profile Name**    | A unique identifier for the profile (for example, `voice_support`).                                                                |
| **Priority**        | Numeric priority. Lower values take precedence when multiple profiles match.                                                       |
| **WHEN Expression** | A boolean expression that determines when this profile activates (for example, `true` for always-on, or a context variable check). |

Below the header, the profile editor organizes settings into three behavior sections:

**Speaking**

| Setting                 | Description                                                                     |
| ----------------------- | ------------------------------------------------------------------------------- |
| **Style**               | Response style (for example, warm and concise).                                 |
| **Tone**                | Response tone (for example, reassuring).                                        |
| **Emotion**             | Emotional register (for example, calm).                                         |
| **Pace**                | Response pacing (for example, steady).                                          |
| **Language Policy**     | Language selection policy (**Inherit**, **Fixed**, or **Detect**).              |
| **Fixed Language**      | The language code when **Language Policy** is **Fixed** (for example, `en-US`). |
| **Max Sentences**       | Maximum number of sentences per response.                                       |
| **One Thing at a Time** | Whether the agent addresses one topic per turn.                                 |
| **Tool Lead-in**        | How the agent introduces tool invocations.                                      |
| **Tool Results Style**  | How the agent presents tool results to the user.                                |
| **Tool Result Points**  | Number of key points to extract from tool results.                              |
| **Internal Handoffs**   | Behavior when handing off to another agent.                                     |
| **Human Handoffs**      | Behavior when handing off to a human operator.                                  |

**Listening**

| Setting               | Description                                                                                                             |
| --------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| **Barge-In**          | How the agent handles user interruptions mid-response. **Inherit** uses the setting configured at a higher level.       |
| **On Pause**          | Behavior when the user pauses mid-utterance. **Inherit** uses the setting configured at a higher level.                 |
| **On Overlap**        | Behavior when the user and the agent speak at the same time. **Inherit** uses the setting configured at a higher level. |
| **Unclear Audio**     | How the agent handles unclear or noisy input. **Inherit** uses the setting configured at a higher level.                |
| **Self-Correction**   | How the agent detects and handles user self-corrections. **Inherit** uses the setting configured at a higher level.     |
| **No-Input Handling** | Behavior when the user doesn't respond within the expected timeout window.                                              |

**No-Input Handling Configuration**

| Field                                | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| ------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Enabled**                          | Turns no-input handling on or off. **Use project default** inherits the setting configured at the project level. [Learn more](/agent-platform/abl-reference/behavior-profiles#voice-turn-taking).                                                                                                                                                                                                                                                                                      |
| **Mode**                             | Controls how the agent handles no-input retries. **Use project default** inherits the project-level setting. **Dynamic** additionally exposes **Order**, **Play Style**, **Messages**, and **Generation**.                                                                                                                                                                                                                                                                             |
| **Timeout (ms)**                     | How long the agent waits for user input before treating the turn as no-input. Default: 5000 ms.                                                                                                                                                                                                                                                                                                                                                                                        |
| **Max Retries**                      | Number of times the agent re-prompts the user after a no-input timeout before moving to the exhausted behavior. Default: 3.                                                                                                                                                                                                                                                                                                                                                            |
| **On Exhausted**                     | Behavior once **Max Retries** is reached. **Use project default** inherits the setting configured at the project level, **Hangup** ends the conversation, and **Custom** plays a custom message to the user.                                                                                                                                                                                                                                                                           |
| **Relaxed Interval (ms)**            | Timeout duration used for retries after the first, typically longer than the initial timeout to be more lenient. Default: 15000 ms.                                                                                                                                                                                                                                                                                                                                                    |
| **Order**                            | The order in which the agent plays no-input messages across retries (for example, **Random**).                                                                                                                                                                                                                                                                                                                                                                                         |
| **Play Style**                       | How the agent plays a no-input message to the user. **Use project default** inherits the project-level setting.                                                                                                                                                                                                                                                                                                                                                                        |
| **Messages**                         | Select **+ Add message** to configure one or more no-input prompts the agent can play to the user.                                                                                                                                                                                                                                                                                                                                                                                     |
| **Generation** *(Dynamic mode only)* | Configures AI-generated no-input messages, as an alternative or a supplement to authored messages: **Enabled** (turns generated messages on or off, **Inherit** uses a higher-level setting), **Generation Model** (model used to generate the message, **Runtime default model** uses the platform default), **Prompt Library Prompt ID** (ID of the prompt used, runtime uses its active version), and **Max Output Tokens** (maximum length of the generated message, default 150). |

<Note>This is only supported for pipeline voice using KoreVG.</Note>

**Interaction**

| Setting                         | Description                                                                |
| ------------------------------- | -------------------------------------------------------------------------- |
| **Answer Shape**                | The structure of responses (for example, direct, exploratory).             |
| **Detail**                      | Level of detail in responses.                                              |
| **Initiative**                  | How proactively the agent guides the conversation.                         |
| **Grounding**                   | How the agent establishes shared understanding.                            |
| **Clarification**               | When and how the agent asks clarifying questions.                          |
| **Max Clarification Questions** | Maximum number of clarification questions per turn.                        |
| **Assume When Low Risk**        | Whether the agent assumes intent when the risk of misunderstanding is low. |
| **Confirm Parameters**          | Whether the agent confirms parameters before executing actions.            |
| **Confirm Actions**             | Whether the agent confirms actions before performing them.                 |
| **Uncertainty**                 | How the agent communicates uncertainty.                                    |
| **Offer Next Steps**            | Whether the agent proactively suggests next steps.                         |
| **Empathy**                     | Level of empathetic language in responses.                                 |
| **On Correction**               | Behavior when the user corrects the agent.                                 |
| **On Confusion**                | Behavior when the user appears confused.                                   |
| **On Misheard**                 | Behavior when the system misrecognizes audio input.                        |
| **Repair Attempts**             | Maximum number of repair attempts before escalation.                       |
| **Avoid Re-asking**             | Whether the agent avoids repeating questions already answered.             |
| **Remember Constraints**        | Whether the agent tracks and respects stated constraints across turns.     |
| **Closure**                     | How the agent closes a conversation or topic.                              |

**Authoring Note**: A free-text field for documenting when and why this profile applies.

All settings default to **Inherit**, meaning the agent's base configuration applies. Override any setting to customize behavior for the profile's conditions. Select **Save** to create the profile, or switch to **Raw DSL** to edit the profile definition as code.

***

## Alert settings

The **Alert Settings** page defines rules that trigger notifications when project metrics breach a threshold. The runtime evaluates each rule on a fixed cadence and delivers a notification by email or webhook when the condition matches.

**Navigation**: **Project** → **Settings** → **Alert Settings**

When the project has no rules yet, the page shows an empty state. Select **Create alert rule** to open the rule editor, or **Browse available metrics** to review every metric the evaluator can alert on before you start.

Typical uses include containment rate drops, error spikes, latency increases, and sentiment degradation.

### Create an alert rule

Select **Create alert rule** to open the **Create alert rule** panel. The footer tracks what the rule still needs (for example, `Still needed: name, metric, recipients`) and keeps **Save rule** available once you supply those values. Select **Cancel** to discard the rule.

| Field                            | Description                                                                                                                                                                                       | Default                  |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| **Rule name** *(required)*       | A descriptive name for the rule (for example, `LLM latency p95 too high`).                                                                                                                        | Empty                    |
| **Evaluating**                   | Controls whether the evaluator picks the rule up on its next cycle. Turn it off to keep the rule in the list but paused.                                                                          | Enabled                  |
| **Subject**                      | The metric family the rule watches: **Agent**, **LLM**, **Tool**, **Voice**, or **Others**. The subject determines which metrics the **Metric** list offers and whether a scope selector appears. | Agent                    |
| **Agent** *(Agent subject only)* | Limits the rule to a single agent. Leave it as **Any agent (project-wide)** to watch the whole project.                                                                                           | Any agent (project-wide) |
| **LLM** *(LLM subject only)*     | Limits the rule to a single LLM. Leave it as **Any LLM (project-wide)** to watch the whole project.                                                                                               | Any LLM (project-wide)   |
| **Metric** *(required)*          | The metric the rule evaluates. The list reflects the selected subject. Selecting a metric shows its allowed aggregations and parameters.                                                          | Select a metric          |
| **Condition**                    | The comparison the evaluator applies between the metric value and the threshold (for example, **Greater than >**).                                                                                | Greater than >           |
| **Threshold** *(required)*       | The value the metric must cross for the rule to fire. Use the stepper controls or enter a value directly.                                                                                         | 0                        |
| **Window** *(required)*          | How far back the rule looks when it evaluates the metric, in minutes.                                                                                                                             | 10 min                   |
| **Evaluate every** *(required)*  | How often the evaluator runs the rule, in minutes.                                                                                                                                                | 10 min                   |
| **Cooldown** *(required)*        | How long the rule stays quiet after it fires, in minutes. Use this to suppress repeat notifications for an ongoing condition.                                                                     | 10 min                   |
| **Deliver via**                  | The delivery channel for the notification: **Email** or **Webhook**.                                                                                                                              | Email                    |
| **Recipients** *(required)*      | Destinations for the notification. Separate email addresses with commas or new lines. Every recipient receives the alert.                                                                         | Empty                    |

### Subject scopes

| Subject    | What the rule watches                                                 | Scope selector                                      |
| ---------- | --------------------------------------------------------------------- | --------------------------------------------------- |
| **Agent**  | LLM metrics attributed to agent activity.                             | **Agent**, defaulting to all agents in the project. |
| **LLM**    | LLM metrics across the project, independent of the calling agent.     | **LLM**, defaulting to all LLMs in the project.     |
| **Tool**   | Tool execution volume, failures, and latency from platform events.    | None. The rule applies project-wide.                |
| **Voice**  | Voice session, TTS, ASR, and connection metrics from platform events. | None. The rule applies project-wide.                |
| **Others** | Trace records and conversation sentiment metrics.                     | None. The rule applies project-wide.                |

### Available metrics

Select **Browse available metrics** to open the **Available metrics** panel. The panel lists every metric the evaluator can alert on, sourced from the runtime catalog, so it stays in sync as new metrics ship. Metrics are grouped into the same five tabs as the **Subject** control: **Agent**, **LLM**, **Tool**, **Voice**, and **Others**.

Each metric card carries three badges and a set of attributes.

| Attribute                      | Description                                                                                                                                            |
| ------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Subject badge**              | The tab the metric belongs to: **Agent**, **LLM**, **Tool**, **Voice**, or **Others**.                                                                 |
| **Category badge**             | The type of signal: **Operational** (throughput, latency, cost), **Error** (failures), or **Quality** (sentiment, confidence).                         |
| **Status badge**               | **Existing** for metrics carried over from earlier releases, **New** for metrics added in this release.                                                |
| **Source**                     | The data stream the metric reads from: **LLM metrics**, **Platform events**, **Trace records**, or **Conversation sentiment**.                         |
| **Default window**             | The window value prefilled when you select the metric. Every metric in the catalog currently uses 10 minutes.                                          |
| **Aggregations**               | The aggregations the metric accepts. **Fixed expression** and **Fixed query** mean the runtime computes the value and you can't choose an aggregation. |
| **Channel filter**             | Whether you can restrict the rule to a specific channel.                                                                                               |
| **Channel connection scope**   | Whether you can restrict the rule to a specific channel connection.                                                                                    |
| **Tool name and type filters** | Whether you can restrict the rule to specific tool names or tool types.                                                                                |
| **Parameters**                 | Additional inputs the metric requires (for example, `slow_ms` for **Slow trace count**).                                                               |

#### Agent and LLM metrics

The **Agent** and **LLM** tabs list the same LLM metrics group. The **Agent** tab scopes each metric to agent activity, and the **LLM** tab scopes it to the LLM. All metrics in this group read from the **LLM metrics** source and support no channel or tool filters.

| Metric                      | Category    | Status   | Description                                   | Aggregations                 |
| --------------------------- | ----------- | -------- | --------------------------------------------- | ---------------------------- |
| **LLM latency**             | Operational | Existing | Per-call latency from the LLM metrics stream. | p95, p99, avg, max, min      |
| **LLM cost (window total)** | Operational | Existing | Sum of estimated LLM cost over the window.    | sum, avg, max, min, p95, p99 |
| **Total tokens**            | Operational | Existing | Tokens consumed over the window.              | sum, avg, p95, p99, max, min |
| **LLM error rate**          | Error       | Existing | Share of LLM calls in the window that failed. | See note                     |

#### Tool metrics

Tool metrics read from the **Platform events** source. All three support channel filters, channel connection scope, and tool name and type filters.

| Metric                      | Category    | Status | Description                                                                          | Aggregations            |
| --------------------------- | ----------- | ------ | ------------------------------------------------------------------------------------ | ----------------------- |
| **Tool execution count**    | Operational | New    | Total completed or failed tool calls in the window.                                  | Fixed expression        |
| **Tool error count / rate** | Error       | New    | Failed tool calls. The notification includes failed calls divided by terminal calls. | Fixed expression        |
| **Tool latency**            | Operational | New    | Per-call tool execution latency.                                                     | p95, p99, avg, max, min |

#### Voice metrics

Voice metrics read from the **Platform events** source. All support channel filters and channel connection scope, and none support tool name and type filters.

| Metric                       | Category    | Status | Description                                                             | Aggregations       |
| ---------------------------- | ----------- | ------ | ----------------------------------------------------------------------- | ------------------ |
| **Voice session errors**     | Error       | New    | Voice sessions that ended because of a terminal technical error.        | Fixed expression   |
| **TTS failure count**        | Error       | New    | Text-to-speech operations whose delivery ended in failure.              | Fixed expression   |
| **Avg ASR confidence**       | Quality     | New    | Average confidence from speech recognitions that reported a real score. | Fixed expression   |
| **Voice connection latency** | Operational | New    | Time required to establish a voice gateway session.                     | p95, p99, avg, max |

#### Other metrics

The **Others** tab groups trace and sentiment metrics.

**Trace records**

| Metric               | Category    | Status   | Description                                                                                       | Aggregations            | Filters |
| -------------------- | ----------- | -------- | ------------------------------------------------------------------------------------------------- | ----------------------- | ------- |
| **Trace duration**   | Operational | Existing | End-to-end trace duration from `spatial_trace_records`.                                           | p95, p99, avg, max, min | None    |
| **Slow trace count** | Operational | New      | Number of root traces exceeding the configured duration threshold. Takes the `slow_ms` parameter. | Fixed query             | None    |

**Conversation sentiment**

| Metric                     | Category | Status   | Description                                           | Aggregations       | Filters        |
| -------------------------- | -------- | -------- | ----------------------------------------------------- | ------------------ | -------------- |
| **Conversation sentiment** | Quality  | Existing | Average sentiment across conversations in the window. | avg, min, max, p95 | Channel filter |
| **Frustration rate**       | Quality  | Existing | See note                                              | See note           | See note       |

***

## Agent transfer

The **Agent Transfer Settings** page configures defaults for agent transfer sessions, routing, voice gateway, and PII handling. These settings apply project-wide unless an individual agent or workflow overrides them at runtime.

**Navigation**: **Project** → **Settings** → **Agent Transfer**

The page organizes content into three collapsible sections. Select a section header to expand or collapse it. Select **Save** to apply changes or **Reset** to restore all values to defaults.

| Section             | Description                                                                    |
| ------------------- | ------------------------------------------------------------------------------ |
| **Default Routing** | Default connection, queue, priority, and post-agent behavior.                  |
| **Voice Gateway**   | Voice gateway provider, SIP transfer method, and SIP or PSTN transfer targets. |
| **PII Handling**    | PII de-tokenization and detection pattern for transferred messages.            |

### Default routing

Default Routing sets the fallback connection, queue, priority, and post-transfer behavior that the platform uses when an agent initiates a transfer. Individual agents or workflows can override these values at runtime.

| Setting               | Description                                                                                                                                                                                                                                              | Default                       |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------- |
| **Connection**        | Agent desktop connection for transfers. Select a configured connection or leave as **None (use agent‑level config)** to defer to the agent's own setting. To add a new connection, select **+**, and select a supported provider from the dialog window. | None (use agent‑level config) |
| **Queue**             | Default queue ID for routing. The platform routes transferred conversations to this queue unless the agent specifies a different one.                                                                                                                    | `default`                     |
| **Priority**          | Default priority level for transferred conversations. Scale: 0 (lowest) to 10 (highest).                                                                                                                                                                 | 5                             |
| **Post-Agent Action** | What happens after the human agent ends the conversation. **Return to bot** hands control back to the AI agent. **End session** terminates the session entirely.                                                                                         | Return to bot                 |

### Voice gateway

Voice Gateway configures transfer behavior for voice channels. These settings determine how the platform hands off calls to the agent desktop over SIP or PSTN.

| Setting                          | Description                                                                                                                                           | Default            |
| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
| **Gateway Type**                 | Voice gateway provider. Determines the SIP infrastructure the platform uses for call transfers.                                                       | Kore Voice Gateway |
| **Transfer Method**              | SIP transfer method for voice handoffs. **SIP REFER** instructs the caller's endpoint to connect directly to the agent.                               | SIP REFER          |
| **Header Passthrough**           | When enabled, the platform passes SIP headers through to the agent desktop. Turn this on if the agent desktop needs caller metadata from SIP headers. | Enabled            |
| **SIP Transfer Target URI**      | Project fallback SIP URI used when a call transfer doesn't provide an explicit SIP target (for example, `sip:agent@example.com`).                     | Empty              |
| **PSTN Transfer Target Number**  | Phone number the platform dials when a call transfer uses PSTN. Enter the number in E.164 format (for example, `+14155550123`).                       | Empty              |
| **SIP URI is SmartAssist trunk** | When enabled, the platform runs SmartAssist transcript sync and recording sync after calls transferred to the **SIP Transfer Target URI** finish.     | Disabled           |
| **Allowed Transfer Headers**     | Comma-separated list of SIP header names that may be forwarded during SIP transfers (for example, `x-queue, x-skill`).                                | Empty              |

### PII handling

PII Handling controls how the platform treats personally identifiable information when transferring a conversation to a human agent.

| Setting                         | Description                                                                                                                                                                                                                    | Default            |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------ |
| **De-tokenize Before Transfer** | When enabled, the platform replaces PII tokens with their original plaintext values before sending messages to the agent desktop. Treat this as reveal-class access and enable it only for explicitly authorized destinations. | Enabled            |
| **Detection Pattern**           | Regex pattern the platform uses to detect PII tokens in messages. The default pattern matches the `{{pii.*?}}` token format.                                                                                                   | `\{\{pii\..*?\}\}` |

<Warning>Enabling **De-tokenize Before Transfer** exposes raw PII to the agent desktop. Only enable this for destinations where human agents have explicit authorization to view personally identifiable information.</Warning>

***
