> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Flusso della conversazione

## Panoramica

Le impostazioni del flusso di conversazione determinano come l'assistente gestisce i periodi di silenzio dell'utente, le interruzioni durante il parlato e l'alternanza dei turni. Queste impostazioni aiutano a creare conversazioni più naturali e possono essere personalizzate in base al tuo caso d'uso.

#### [Durata massima della conversazione](#maximum-conversation-duration)

Limita la durata totale di ogni conversazione

#### [Prendi il turno dopo un periodo di silenzio](#turn-timeout)

Configura quanto attende l'assistente durante i periodi di silenzio

#### [Timeout leggero](#soft-timeout)

Fornisci un feedback audio naturale quando l'agente ha bisogno di tempo per elaborare

#### [Interruzioni](#interruptions)

Decidi se gli utenti possono interrompere l'assistente mentre parla

#### [Prontezza nel prendere il turno](#turn-eagerness)

Regola la velocità con cui l'assistente risponde all'input dell'utente

## Durata massima della conversazione

L'impostazione **Durata massima della conversazione** limita il tempo totale per cui una conversazione può rimanere attiva.
Questo limite globale inizia quando comincia la conversazione e si applica indipendentemente dai timeout
di ciascun turno. Il valore predefinito è 600 secondi (10 minuti). Puoi impostare un valore da 60 a 7.200 secondi.

### Configurazione

Nella CLI e nell'API, configura questa impostazione con il campo
`conversation_config.conversation.max_duration_seconds`.

#### Aggiorna dalla dashboard

Apri il tuo agente nella dashboard, passa alla scheda **Avanzate** e modifica **Durata massima della
conversazione** in \*\*Limiti di chiamata \*\*. Salva le modifiche.

#### Aggiorna tramite CLI

#### Scarica la configurazione dell'agente

```bash
elevenlabs agents pull --agent agent_7101k5zvyjhmfg983brhmhkd98n6
```

#### Modifica la configurazione dell'agente

Imposta `conversation_config.conversation.max_duration_seconds`:

```json
{
  "conversation_config": {
    "conversation": {
      "max_duration_seconds": 1200
    }
  }
}
```

#### Carica la configurazione dell'agente

```bash
elevenlabs agents push --agent agent_7101k5zvyjhmfg983brhmhkd98n6
```

#### Aggiorna tramite API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "conversation": {"max_duration_seconds": 1200},
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    conversation: { maxDurationSeconds: 1200 },
  },
});
```

> **Warning**
>
> Le conversazioni via messaggio su WhatsApp hanno un timeout di inattività predefinito di 15 minuti, calcolato
> dalla risposta più recente dell'agente. Questo timeout può terminare una conversazione via messaggio prima della
> durata massima configurata. I clienti Enterprise il cui caso d'uso richiede un timeout diverso devono contattare
> l'assistenza all'indirizzo [support@elevenlabs.io](mailto:support@elevenlabs.io).

## Prendi il turno dopo un periodo di silenzio

L'impostazione **Prendi il turno dopo un periodo di silenzio** determina quanto attende l'assistente durante i periodi di silenzio dell'utente prima di prendere il turno successivo e chiedere una risposta.

### Configurazione

Il valore è espresso in secondi e deve essere compreso tra 1 e 30 secondi. Nella CLI e nell'API, configura questa impostazione con il campo `conversation_config.turn.turn_timeout`.

#### Aggiorna dalla dashboard

Apri il tuo agente nella dashboard, passa alla scheda **Avanzate** e modifica il valore **Prendi il turno dopo un periodo di silenzio**. Salva le modifiche.

![Impostazione Prendi il turno dopo un periodo di silenzio](/docs/_fern-img/9de7653a0940ae3441b3470c2af53f4a72294ad3680946d4c3fa3b91df69c566.webp)

#### Aggiorna tramite CLI

#### Scarica la configurazione dell'agente

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### Modifica \`agent\_configs/\<agent-name>.json\`

Imposta `conversation_config.turn.turn_timeout`:

```json
{
  "conversation_config": {
    "turn": {
      "turn_timeout": 7
    }
  }
}
```

#### Carica le modifiche

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### Aggiorna tramite API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "turn": {"turn_timeout": 7},
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    turn: { turnTimeout: 7 },
  },
});
```

> **Note**
>
> Scegli una durata del timeout adatta al tuo caso d'uso. Timeout più brevi creano conversazioni più
> reattive, ma potrebbero interrompere gli utenti che hanno bisogno di più tempo per rispondere, rendendo la conversazione
> meno naturale.

### Best practice

* Imposta timeout più brevi (5-10 secondi) per conversazioni informali in cui è previsto uno scambio rapido
* Usa timeout più lunghi (10-30 secondi) quando gli utenti potrebbero aver bisogno di più tempo per pensare o formulare risposte complesse
* Considera il contesto dell'utente: il servizio clienti può trarre vantaggio da timeout più brevi, mentre il supporto tecnico potrebbe richiederne di più lunghi

## Timeout leggero

Il timeout leggero fornisce un feedback audio immediato quando l'LLM impiega più tempo del previsto per generare una risposta. Invece di un silenzio imbarazzante durante l'attesa, l'agente pronuncia una breve frase riempitiva come "Hmm..." o "Fammi pensare..." per mantenere un flusso conversazionale naturale.

Questa funzionalità è utile per:

* Query complesse che richiedono un'elaborazione più lunga da parte dell'LLM
* Gestire una latenza variabile dai provider LLM
* Creare conversazioni più simili a quelle umane, con pause naturali di riflessione

### Come funziona

1. Quando l'utente finisce di parlare, il sistema inizia a generare una risposta dall'LLM
2. Si avvia un timer in base alla durata del timeout configurata
3. Se la risposta dell'LLM arriva **prima** del timeout, non viene pronunciata alcuna frase riempitiva
4. Se viene raggiunto il timeout **prima** che l'LLM risponda:
   * Il messaggio riempitivo configurato viene pronunciato immediatamente
   * L'agente continua ad attendere la risposta effettiva
   * Quando è pronta, l'agente pronuncia la risposta completa dell'LLM

Il timeout leggero si attiva una sola volta per turno, per evitare più frasi riempitive in successione.

### Configurazione

#### Aggiorna dalla dashboard

Apri il tuo agente nella dashboard, passa alla scheda **Avanzate** e modifica le impostazioni di **Timeout leggero**. Salva le modifiche.

![Impostazioni del timeout leggero](/docs/_fern-img/7fdaca49ad50e6bc1f09f5eac46e36f0f4b071c5477e061a62791df9e100be75.webp)

#### Aggiorna tramite CLI

#### Scarica la configurazione dell'agente

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### Modifica \`agent\_configs/\<agent-name>.json\`

Imposta `conversation_config.turn.soft_timeout_config`:

```json
{
  "conversation_config": {
    "turn": {
      "soft_timeout_config": {
        "timeout_seconds": 3.0,
        "message": "Hhmmmm...yeah.",
        "use_llm_generated_message": false
      }
    }
  }
}
```

#### Carica le modifiche

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### Aggiorna tramite API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "turn": {
            "soft_timeout_config": {
                "timeout_seconds": 3.0,
                "message": "Hhmmmm...yeah.",
                "use_llm_generated_message": False,
            },
        },
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    turn: {
      softTimeoutConfig: {
        timeoutSeconds: 3.0,
        message: "Hhmmmm...yeah.",
        useLlmGeneratedMessage: false,
      },
    },
  },
});
```

#### Durata del timeout

Il tempo in secondi prima che venga pronunciato il messaggio riempitivo durante l'attesa della risposta dell'LLM.

| Impostazione    | Descrizione              |
| --------------- | ------------------------ |
| **Predefinito** | `-1` (disattivato)       |
| **Intervallo**  | Da `0.5` a `8.0` secondi |
| **Consigliato** | `3.0` secondi            |

> **Tip**
>
> Inizia con 3,0 secondi: abbastanza a lungo da evitare frasi riempitive non necessarie per risposte rapide, ma abbastanza breve da
> evitare silenzi imbarazzanti.

#### Messaggio statico

Una frase riempitiva predefinita pronunciata quando si attiva il timeout leggero.

| Impostazione    | Descrizione        |
| --------------- | ------------------ |
| **Predefinito** | `"Hhmmmm...yeah."` |
| **Lunghezza**   | 1–200 caratteri    |

Questo messaggio supporta:

* **Override della lingua**: viene tradotto automaticamente nelle lingue aggiuntive configurate per l'agente
* **Override del client**: può essere personalizzato per chiamata tramite l'SDK

#### Messaggio generato dall'LLM

Quando è abilitato, genera dinamicamente una frase riempitiva adatta al contesto usando un LLM leggero, anziché il messaggio statico.

| Impostazione    | Descrizione                                           |
| --------------- | ----------------------------------------------------- |
| **Predefinito** | `false`                                               |
| **Fallback**    | Usa il messaggio statico se la generazione non riesce |

Il sistema usa il contesto recente della conversazione (fino a 4 messaggi, 1000 caratteri) per generare frasi riempitive pertinenti come "Hmm...", "Capisco...", "Ricevuto...", "Chiaro..." o "Va bene..."

> **Note**
>
> Quando usi messaggi generati dall'LLM, è comunque necessario un messaggio statico di fallback.

### Best practice

* Evita indicatori di tempo nei messaggi riempitivi (ad esempio, "Un secondo...") poiché i tempi di risposta effettivi sono imprevedibili
* Disattiva il timeout leggero per bot FAQ rapidi, in cui le risposte sono costantemente veloci

## Interruzioni

La gestione delle interruzioni determina se gli utenti possono interrompere l'assistente mentre parla.

### Configurazione

Le impostazioni delle interruzioni possono essere configurate nella scheda **Avanzate** dell'agente, in **Eventi del client**.

Per abilitare le interruzioni, assicurati che l'interruzione sia selezionata come evento del client.

#### Interruzioni abilitate

![Interruzione consentita](/docs/_fern-img/1da794be8ea3bfed45d06241ce5db390480cd45d27c0f886943518bd52d76157.webp)

#### Interruzioni disabilitate

![Interruzione ignorata](/docs/_fern-img/847a2ebcdfff9498501502ab4b568fc498b6995f860a5552177a7883942197ff.webp)

> **Note**
>
> Disattiva le interruzioni quando è fondamentale fornire tutte le informazioni, ad esempio per le
> esclusioni di responsabilità legali o le istruzioni di sicurezza.

### Best practice per le interruzioni

* Abilita le interruzioni per flussi conversazionali naturali in cui è previsto un dialogo reciproco
* Disattiva le interruzioni quando è fondamentale completare il messaggio (ad esempio, termini e condizioni, informazioni sulla sicurezza)
* Considera il contesto del caso d'uso: il servizio clienti può trarre vantaggio dalle interruzioni, mentre la trasmissione di informazioni potrebbe non beneficiarne

## Prontezza nel prendere il turno

La prontezza nel prendere il turno controlla la velocità con cui l'assistente risponde all'input dell'utente durante la conversazione. Questa impostazione determina quanto rapidamente l'assistente prende il turno e inizia a parlare in base ai pattern vocali rilevati.

### Come funziona

L'assistente ora include due miglioramenti chiave per un'alternanza dei turni più naturale:

1. **Generazione delle risposte più rapida** - L'assistente inizia a parlare dopo aver ricevuto un numero sufficiente di parole e una virgola dal modello linguistico, anziché attendere frasi complete. Questo riduce la latenza e crea conversazioni più reattive, soprattutto quando l'assistente fornisce risposte più lunghe.

2. **Prontezza nel prendere il turno configurabile** - Controlla quanto rapidamente l'assistente interpreta le pause o i pattern vocali come opportunità per rispondere.

### Configurazione

Sono disponibili tre modalità:

* **Pronto** - L'assistente risponde rapidamente all'input dell'utente, intervenendo alla prima occasione. Ideale per conversazioni dinamiche in cui sono importanti risposte immediate.
* **Normale** - Alternanza dei turni bilanciata, adatta alla maggior parte degli scenari conversazionali. L'assistente attende pause naturali nella conversazione prima di rispondere.
* **Paziente** - L'assistente attende più a lungo prima di prendere il turno, dando agli utenti più tempo per completare i propri pensieri. Ideale per raccogliere informazioni dettagliate o quando gli utenti hanno bisogno di tempo per formulare le risposte.

#### Aggiorna dalla dashboard

Apri il tuo agente nella dashboard, vai alle impostazioni **Agente** e seleziona la modalità desiderata per la prontezza nel prendere il turno. Salva le modifiche.

#### Aggiorna tramite CLI

#### Scarica la configurazione dell'agente

```bash
elevenlabs agents pull --agent "<agent-name>"
```

#### Modifica \`agent\_configs/\<agent-name>.json\`

Imposta `conversation_config.turn.turn_eagerness` su uno tra `"patient"`, `"normal"` o `"eager"`:

```json
{
  "conversation_config": {
    "turn": {
      "turn_eagerness": "normal"
    }
  }
}
```

#### Carica le modifiche

```bash
elevenlabs agents push --agent "<agent-name>"
```

#### Aggiorna tramite API

```python
from elevenlabs import ElevenLabs

elevenlabs = ElevenLabs()

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    conversation_config={
        "turn": {"turn_eagerness": "normal"},
    },
)
```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  conversationConfig: {
    turn: { turnEagerness: "normal" },
  },
});
```

> **Note**
>
> La prontezza nel prendere il turno è particolarmente efficace se combinata con i workflow. Puoi regolare dinamicamente la
> reattività dell'assistente in base al contesto: facendolo intervenire più rapidamente durante una conversazione informale
> o attendere più a lungo quando raccoglie informazioni sensibili come numeri di telefono o indirizzi email.

### Best practice per la prontezza nel prendere il turno

* Usa la modalità **Pronto** per scenari di assistenza clienti in cui risposte rapide migliorano l'esperienza utente
* Usa la modalità **Paziente** quando raccogli informazioni strutturate come numeri di telefono, indirizzi o indirizzi email
* Usa la modalità **Normale** come predefinita per flussi conversazionali generici
* Combinala con i workflow per regolare dinamicamente la prontezza nel prendere il turno in base al contesto della conversazione
* Testa diverse impostazioni per il tuo caso d'uso specifico, così da trovare il giusto equilibrio

## Configurazioni consigliate

#### Assistenza clienti

* Timeout più brevi (5-10 secondi) per interazioni reattive - Abilita le interruzioni per consentire
  ai clienti di intervenire con domande - Prontezza **Pronto** per conversazioni rapide e
  reattive

#### Raccolta di informazioni

* Timeout moderati (10-15 secondi) per dare agli utenti il tempo di raccogliere le informazioni - Abilita
  le interruzioni per un flusso conversazionale naturale - Prontezza **Paziente** quando raccogli numeri di telefono,
  indirizzi o indirizzi email

#### Esclusioni di responsabilità legali

* Timeout più lunghi (15-30 secondi) per consentire risposte complesse - Disattiva le interruzioni per
  garantire la trasmissione completa delle informazioni legali - Prontezza **Normale** per mantenere un ritmo
  costante

#### EdTech conversazionale

* Timeout più lunghi (10-30 secondi) per dare il tempo di pensare e formulare risposte - Abilita le
  interruzioni per consentire agli studenti di intervenire con domande - Prontezza **Paziente** per dare agli
  studenti il tempo adeguato per rispondere