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

# Zakończ połączenie

> **Warning**
>
> Narzędzie **End Call** jest domyślnie dodawane do agentów utworzonych w panelu ElevenLabs. W przypadku
> agentów utworzonych przez API lub SDK musisz dodać narzędzie End Call ręcznie jako narzędzie systemowe
> w konfiguracji agenta. Szczegóły znajdziesz [poniżej, w sekcji implementacji API](#api-implementation).

![Zakończ połączenie](/docs/_fern-img/f260bfd4e43f7fb0374ce12d2ed984efb946a8ca9ebaa1c2d4b3e6d5f52a7851.webp)

## Omówienie

Narzędzie **End Call** pozwala agentowi konwersacyjnemu zakończyć połączenie z użytkownikiem. To narzędzie systemowe, które daje elastyczność w określaniu sposobu i momentu kończenia połączeń.

## Działanie

* **Domyślne działanie**: Narzędzie może działać bez promptów zdefiniowanych przez użytkownika i kończyć połączenie, gdy rozmowa naturalnie dobiegnie końca.
* **Własne prompty**: Możesz określić warunki, w których połączenie powinno się zakończyć. Na przykład:
  * Zakończ połączenie, gdy użytkownik powie „do widzenia”.
  * Zakończ połączenie po wykonaniu określonego zadania.

**Cel**: Automatyczne kończenie rozmów, gdy zostaną spełnione odpowiednie warunki.

**Warunki wywołania**: LLM powinien wywołać to narzędzie, gdy:

* Główne zadanie zostało ukończone, a użytkownik jest zadowolony
* Rozmowa naturalnie dobiegła końca za obopólną zgodą
* Użytkownik wyraźnie chce zakończyć rozmowę

**Parametry**:

* `reason` (string, wymagany): Powód zakończenia rozmowy
* `message` (string, opcjonalny): Wiadomość pożegnalna wysyłana użytkownikowi przed zakończeniem rozmowy

**Format wywołania funkcji**:

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

**Implementacja**: Skonfiguruj jako narzędzie systemowe w ustawieniach agenta. LLM otrzyma szczegółowe instrukcje, kiedy wywołać tę funkcję.

### Implementacja API

Podczas tworzenia agenta przez API możesz dodać narzędzie End Call do jego konfiguracji. Powinno być zdefiniowane jako narzędzie systemowe:

```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**
>
> Pozostaw opis pusty, aby użyć domyślnego promptu kończącego połączenie.

## Przykładowe prompty

**Przykład 1: Podstawowe zakończenie połączenia**

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

**Przykład 2: Zakończenie połączenia z własnym promptem**

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