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

# Gesprekswachtrij

## Overzicht

Wanneer een agent of workspace de gelijktijdigheidslimiet bereikt, worden nieuwe gesprekken normaal gesproken direct geweigerd. Als gesprek in de wachtrij is ingeschakeld, blijven bellers die arriveren terwijl de agent op capaciteit zit, aan de lijn met wachtmuziek en worden ze automatisch verbonden, in de volgorde waarin ze zijn aangekomen, zodra er een plek vrijkomt.

Gesprekken in de wachtrij worden per agent geconfigureerd en zijn standaard ingeschakeld voor nieuwe agents.

> **Note**
>
> Gesprekken in de wachtrij zijn van toepassing zodra alle beschikbare capaciteit wordt gebruikt, inclusief burstcapaciteit wanneer [burst pricing](/docs/nl/eleven-agents/guides/burst-pricing) is ingeschakeld voor de agent.

## Zo werkt het

1. **Capaciteitscontrole**: Wanneer een gesprek binnenkomt, controleert ElevenAgents of de agent en de workspace een vrije plek voor gelijktijdigheid hebben. Als dat zo is, wordt het gesprek direct verbonden.
2. **In de wachtrij plaatsen**: Als er geen plek beschikbaar is, wordt de beller in de wachtrij van de agent geplaatst en hoort deze wachtmuziek. Er start geen gesprek en er worden geen kosten in rekening gebracht terwijl de beller wacht.
3. **Toelating**: Zodra er een plek vrijkomt, wordt de beller vooraan in de wachtrij verbonden en start het gesprek zoals gebruikelijk.
4. **Time-out**: Als er niet binnen de **Maximale wachttijd in wachtrij** een plek vrijkomt, wordt het gesprek verbroken. Telefoongesprekken worden normaal opgehangen. WebSocket-clients ontvangen een `queue_status`-event met status `timed_out`, gevolgd door een sluiting met code 4300.

Bellers worden voor een bepaalde agent strikt verbonden in volgorde van aankomst. Wanneer meerdere agents de gelijktijdigheidspool van een workspace delen, worden bellers die langer hebben gewacht doorgaans als eerste verbonden.

### Wat de beller hoort

* Bellers via Twilio- en SIP-trunknummers horen de wachtmuziek tijdens het gesprek.
* Gebruikers van de widget en browser-SDK's horen de wachtmuziek in de browser. De widget (versie 0.17.0 of hoger) toont ook een wachtbericht en schakelt tekstinvoer uit terwijl de gebruiker in de wachtrij staat.
* Directe WebSocket API-clients ontvangen de wachtmuziek als reguliere `audio`-events, plus `queue_status`-events om een wachtstatus in je eigen UI aan te sturen. Zie [Wachtrij-events afhandelen](#handling-queue-events-in-a-custom-websocket-client).

### Facturering en gespreksduur

Tijd in de wachtrij wordt **niet gefactureerd**, telt niet mee voor de **Maximale gespreksduur** van de agent en wordt niet opgenomen in de gerapporteerde duur van het gesprek. De gespreksgegevens in het dashboard tonen hoe lang de beller wachtte voordat deze werd verbonden.

## Ondersteunde kanalen

| Kanaal                                       | Gesprekken in wachtrij |
| -------------------------------------------- | ---------------------- |
| Inkomende Twilio-gesprekken                  | Ondersteund            |
| Inkomende SIP-trunkgesprekken                | Ondersteund            |
| Widget en client-SDK's (WebSocket en WebRTC) | Ondersteund            |
| Directe WebSocket API                        | Ondersteund            |
| Uitgaande gesprekken en batchgesprekken      | Niet ondersteund       |
| Agents met alleen tekst                      | Niet ondersteund       |
| Genesys, AudioCodes, Exotel, WhatsApp en SMS | Niet ondersteund       |

> **Note**
>
> De dagelijkse gesprekslimiet wordt niet in de wachtrij geplaatst. Een gesprek dat de dagelijkse limiet
> van de agent overschrijdt, wordt direct geweigerd, omdat die limiet pas de volgende dag vrijkomt.

## Configuratie

Gesprekken in de wachtrij worden per agent geconfigureerd in het gedeelte **Limieten** van het tabblad **Beveiliging** van de agent.

| Instelling                             | Beschrijving                                                                                                                                                                                                                             | Standaard                |
| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |
| **Gesprekken in wachtrij inschakelen** | Zet bellers in een wachtrij wanneer de agent de gelijktijdigheidslimiet heeft bereikt.                                                                                                                                                   | Aan                      |
| **Maximale wachttijd in wachtrij**     | Hoe lang een beller kan wachten voordat het gesprek wordt verbroken, in seconden. Tussen 1 en 1.800 seconden (30 minuten).                                                                                                               | 180 seconden (3 minuten) |
| **Aangepaste wachtmuziek**             | Een MP3- of WAV-bestand dat in een lus wordt afgespeeld voor bellers in de wachtrij. Maximaal 40 MB en 3 minuten lang. Als er geen bestand is geüpload, horen bellers de standaardwachtttoon. Upload het in het dashboard of via de API. | Standaardwachtttoon      |

#### Bijwerken via het dashboard

#### Open de instellingen voor Limieten

Open je agent in het dashboard, ga naar het tabblad **Beveiliging** en scrol naar **Limieten**.

#### Schakel gesprekken in de wachtrij in

Zorg dat **Gesprekken in wachtrij inschakelen** aan staat en stel de **Maximale wachttijd in wachtrij** in.

#### Wachtmuziek uploaden (optioneel)

Upload onder **Aangepaste wachtmuziek** een MP3- of WAV-bestand. Je kunt de standaardwachtttoon en je geüploade fragment beluisteren voordat je publiceert.

#### Publiceer je wijzigingen

Klik op **Publiceren** om de nieuwe instellingen toe te passen.

#### Bijwerken via de CLI

#### Haal de agentconfiguratie op

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

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

Stel `platform_settings.queueing_config` in:

```json
{
  "platform_settings": {
    "queueing_config": {
      "enabled": true,
      "wait_timeout_seconds": 300
    }
  }
}
```

#### Push je wijzigingen

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

#### Bijwerken via de API

```python
from dotenv import load_dotenv
from elevenlabs import ElevenLabs
import os

load_dotenv()

elevenlabs = ElevenLabs(
    api_key=os.getenv("ELEVENLABS_API_KEY"),
)

elevenlabs.conversational_ai.agents.update(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
    platform_settings={
        "queueing_config": {
            "enabled": True,
            "wait_timeout_seconds": 300,
        },
    },
)
```

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

const elevenlabs = new ElevenLabsClient();

await elevenlabs.conversationalAi.agents.update("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  platformSettings: {
    queueingConfig: {
      enabled: true,
      waitTimeoutSeconds: 300,
    },
  },
});
```

Nieuwe agents worden gemaakt met `queueing_config.enabled` ingesteld op `true`. Als je een agent wilt maken waarbij gesprekken in de wachtrij zijn uitgeschakeld, stel je `queueing_config.enabled` in op `false` in de create-request.

### Wachtmuziek beheren via de API

Upload een MP3- of WAV-bestand om de aangepaste wachtmuziek van de agent in te stellen. Het uploaden van een nieuw bestand vervangt het vorige. De API accepteert de contenttypes `audio/mpeg` en `audio/wav`, dus de voorbeelden stellen het type expliciet in.

```python
from dotenv import load_dotenv
from elevenlabs import ElevenLabs
import os

load_dotenv()

elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)

elevenlabs.conversational_ai.agents.hold_audio.create(
agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
hold_audio_file=("hold-music.mp3", open("hold-music.mp3", "rb"), "audio/mpeg"),
)

```

```typescript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import fs from "node:fs";
import "dotenv/config";

const elevenlabs = new ElevenLabsClient();

const holdAudioFile = new File([fs.readFileSync("hold-music.mp3")], "hold-music.mp3", {
  type: "audio/mpeg",
});

await elevenlabs.conversationalAi.agents.holdAudio.create("agent_7101k5zvyjhmfg983brhmhkd98n6", {
  holdAudioFile,
});
```

Verwijder het aangepaste fragment om terug te keren naar de standaardwachtttoon:

```python
elevenlabs.conversational_ai.agents.hold_audio.delete(
    agent_id="agent_7101k5zvyjhmfg983brhmhkd98n6",
)
```

```typescript
await elevenlabs.conversationalAi.agents.holdAudio.delete("agent_7101k5zvyjhmfg983brhmhkd98n6");
```

Het huidige fragment wordt alleen-lezen teruggegeven als `platform_settings.queueing_config.hold_audio` op de agent. Het verzenden van `hold_audio` in een create- of update-request voor een agent heeft geen effect.

## Wachtrij-events afhandelen in een aangepaste WebSocket-client

Clients die via de [WebSocket API](/docs/nl/eleven-agents/libraries/web-sockets) zijn verbonden, ontvangen `queue_status`-events terwijl ze in de wachtrij staan:

```json
{
  "type": "queue_status",
  "queue_status_event": {
    "status": "waiting"
  }
}
```

* `waiting` wordt één keer verzonden, direct na `conversation_initiation_metadata` en vóór wachtmuziek.
* `admitted` wordt verzonden wanneer de beller is verbonden. Het gesprek gaat daarna zoals gebruikelijk verder.
* `timed_out` wordt verzonden wanneer de wachttijd de maximale wachttijd in de wachtrij overschrijdt. De server sluit daarna de verbinding met code 4300.

Gesprekken die direct worden verbonden, ontvangen nooit `queue_status`-events. Het event wordt altijd naar bellers in de wachtrij verzonden en hoeft niet te worden ingeschakeld in de `client_events` van de agent.

Wachtmuziek wordt geleverd als reguliere `audio`-events in stukken van ongeveer één seconde, mits de client events van de agent `audio` bevatten. Gebruik `queue_status` om een wachtstatus te tonen, in plaats van de wachtmuziek als spraak van de agent te behandelen.

> **Info**
>
> De SDK's `@elevenlabs/client` en `@elevenlabs/react` bieden nog geen speciale callback voor dit
> event. Gebruik de callback `onIncomingEvent` om onbewerkte serverevents te observeren, waaronder
> `queue_status`.

## Veelgestelde vragen

#### Telt een gesprek in de wachtrij mee voor mijn gelijktijdigheidslimiet?

Nee. Een beller in de wachtrij bezet pas een plek voor gelijktijdigheid wanneer deze met de agent wordt verbonden.

#### Kunnen bellers hun positie in de wachtrij of een geschatte wachttijd horen?

Momenteel niet. Bellers in de wachtrij horen alleen de wachtmuziek. De positie in de wachtrij en schattingen van de wachttijd
worden niet aangekondigd.

#### Wat gebeurt er als de beller ophangt terwijl deze wacht?

De beller verlaat de wachtrij direct en iedereen achter deze beller schuift één plek op. Er worden geen
gespreksminuten in rekening gebracht.

#### Werkt het in de wachtrij plaatsen van gesprekken met uitgaande gesprekken?

Nee. Uitgaande gesprekken en batchgesprekken worden alleen geplaatst wanneer er capaciteit beschikbaar is, dus ze worden nooit
in de wachtrij geplaatst.