> For the full page index, fetch https://echonova.ai/llms.txt

# Dialect detection

The built-in tool that recognises the caller's Arabic dialect so the agent can adapt to it, and what you can configure about it.

**Dialect detection** lets an agent recognise the caller's Arabic dialect and adapt
to it. It is a system tool, key `dialect_detection`, and its card in **Built-in
tools** reads "Detect the caller’s Arabic dialect and adapt the conversation
automatically." It is off on every new agent.

## What it does

The agent recognises the dialect as the caller speaks and adapts the conversation to
it. There is nothing to configure per dialect and no endpoint of yours involved.

## When the agent calls it

The agent decides, from the description. Every agent starts with stock wording;
write your own when you want the tool used more narrowly. Naming the dialects your
business actually serves gives the agent a clearer trigger than a restatement of the
tool's name.

**Recommended**

```text
Use this when the caller speaks Gulf, Egyptian or Levantine Arabic, so replies
match the dialect they used. Do not use it for callers speaking English.
```

**Less effective**

```text
Detect the dialect.
```

## How it relates to the agent's voices

Detecting a dialect and speaking one are separate settings. The agent's voice list
is its own configuration: each entry carries a `language`, a voice, a speed, a
`cfg`, a `numSteps`, a `tashkeel` flag and an `isDefault` flag, and exactly one
entry is the default. Each voice brings its own dialect with it.

The `tashkeel` flag is the one place where dialect changes what the agent gets. It
holds only on a voice whose dialect is `fusha`; on any other voice it is forced to
`false`. Switching dialect detection on does not add voices to an agent and does not
change which voice is the default. See
[Voice and language](/docs/agents/voice-and-language) to change what the agent
speaks.

## Settings

Dialect detection runs with interruption suppression off. There is no control for
it in the portal today. The settings dialog edits the toggle and the description.

## What the caller experiences

The caller speaks and the agent adapts. Nothing is announced, and there is no prompt
or confirmation step in the conversation.

The caller can speak over the agent while the tool runs and be heard.

## Limits

| Limit                             | Value                                                                  |
| --------------------------------- | ---------------------------------------------------------------------- |
| Description length                | No limit on the value itself. The portal's box stops at 500 characters |
| Enabled on a new agent            | No                                                                     |
| Dialects you can list or restrict | None. This tool has no dialect list                                    |

## Turning it on

Open the agent, go to the **Tools** tab, and switch the **Dialect detection** card
on. The settings button opens the description box and **Reset to default**. The
change applies to the next conversation.

Building an agent with AI can also switch it on when it creates the agent.

## FAQ

### Do I have to add a voice for every dialect I want to detect?

No. Detection and speaking are separate. The agent's voice list decides what the
agent sounds like; this tool decides whether it recognises the caller's dialect.

### Does switching this on change the agent's default voice?

No. The voice list and its default are untouched.

### Why did my `tashkeel` setting turn itself off?

Because the voice it was on is not a `fusha` voice. The flag holds on `fusha` voices
only.

### Can I limit detection to two or three dialects?

Not as a setting. Name the dialects you serve in the description, which is the only
instruction the agent gets about this tool.

## Related

- [Voice and language](/docs/agents/voice-and-language): choose what the agent speaks and which voice is the default
- [System tools](/docs/agents/system-tools): the shared controls and descriptions
- [Web search](/docs/agents/system-tool-web-search): look something up online mid-conversation
- [End conversation](/docs/agents/system-tool-end-conversation): let the agent close the conversation
