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

# Termina chiamata

> **Warning**
>
> Lo strumento **End Call** viene aggiunto per impostazione predefinita agli agenti creati nella dashboard di ElevenLabs. Per
> gli agenti creati tramite API o SDK, se vuoi abilitare lo strumento End Call, devi aggiungerlo
> manualmente come strumento di sistema nella configurazione dell'agente. Per i dettagli, [consulta l'implementazione API qui sotto](#api-implementation).

![Termina chiamata](/docs/_fern-img/f260bfd4e43f7fb0374ce12d2ed984efb946a8ca9ebaa1c2d4b3e6d5f52a7851.webp)

## Panoramica

Lo strumento **End Call** consente al tuo agente conversazionale di terminare una chiamata con l'utente. È uno strumento di sistema che offre flessibilità sul modo e sul momento in cui terminare le chiamate.

## Funzionalità

* **Comportamento predefinito**: lo strumento può funzionare senza prompt definiti dall'utente, terminando la chiamata quando la conversazione si conclude naturalmente.
* **Prompt personalizzati**: gli utenti possono specificare le condizioni in cui la chiamata deve terminare. Ad esempio:
  * Termina la chiamata se l'utente dice "arrivederci".
  * Concludi la chiamata quando viene completata un'attività specifica.

**Scopo**: termina automaticamente le conversazioni quando vengono soddisfatte le condizioni appropriate.

**Condizioni di attivazione**: l'LLM deve chiamare questo strumento quando:

* L'attività principale è stata completata e l'utente è soddisfatto
* La conversazione è giunta a una conclusione naturale con accordo reciproco
* L'utente indica esplicitamente di voler terminare la conversazione

**Parametri**:

* `reason` (stringa, obbligatorio): il motivo della conclusione della chiamata
* `message` (stringa, facoltativo): un messaggio di saluto da inviare all'utente prima di terminare la chiamata

**Formato della chiamata di funzione**:

```json
{
  "type": "function",
  "function": {
    "name": "end_call",
    "arguments": "{\"reason\": \"Task completed successfully\", \"message\": \"Thank you for using our service. Have a great day!\"}"
  }
}
```

**Implementazione**: configuralo come strumento di sistema nelle impostazioni dell'agente. L'LLM riceverà istruzioni dettagliate su quando chiamare questa funzione.

### Implementazione API

Quando crei un agente tramite API, puoi aggiungere lo strumento End Call alla configurazione dell'agente. Deve essere definito come strumento di sistema:

```python
from elevenlabs import AgentConfig, ConversationalConfig, ElevenLabs

elevenlabs = ElevenLabs(api_key="YOUR_API_KEY")

response = elevenlabs.conversational_ai.agents.create(
    conversation_config=ConversationalConfig(
        agent=AgentConfig(
            prompt={
                "built_in_tools": {
                    "end_call": {
                        "type": "system",
                        "name": "end_call",
                        # Optional: customize when the tool should be triggered
                        "description": "",
                        "params": {"system_tool_type": "end_call"},
                    }
                }
            },
        ),
    ),
)
```

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

const elevenlabs = new ElevenLabsClient({
  apiKey: "YOUR_API_KEY",
});

await elevenlabs.conversationalAi.agents.create({
  conversationConfig: {
    agent: {
      prompt: {
        builtInTools: {
          endCall: {
            type: "system",
            name: "end_call",
            description: "", // Optional: Customize when the tool should be triggered
            params: { systemToolType: "end_call" },
          },
        },
      },
    },
  },
});
```

```bash
curl -X POST https://api.elevenlabs.io/v1/convai/agents/create \
     -H "xi-api-key: YOUR_API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
  "conversation_config": {
    "agent": {
      "prompt": {
        "built_in_tools": {
          "end_call": {
            "type": "system",
            "name": "end_call",
            "description": "",
            "params": { "system_tool_type": "end_call" }
          }
        }
      }
    }
  }
}'
```

> **Tip**
>
> Lascia vuota la descrizione per usare il prompt predefinito di fine chiamata.

## Esempi di prompt

**Esempio 1: terminazione chiamata di base**

```
End the call when the user says goodbye, thank you, or indicates they have no more questions.
```

**Esempio 2: terminazione chiamata con prompt personalizzato**

```
End the call when the user says goodbye, thank you, or indicates they have no more questions. You can only end the call after all their questions have been answered. Please end the call only after confirming that the user doesn't need any additional assistance.
```