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

# Exotel-integratie

## Overzicht

In deze handleiding wordt uitgelegd hoe je je Exotel-telefoonnummers rechtstreeks met ElevenAgents verbindt. Met deze integratie kun je je bestaande Exotel-nummers en -infrastructuur gebruiken en tegelijk profiteren van de geavanceerde voice AI-mogelijkheden van ElevenLabs, voor zowel inkomende als uitgaande gesprekken.

## Zo werkt de integratie

De Exotel-integratie gebruikt twee Exotel-onderdelen:

1. **Voicebot-applet (inkomende + uitgaande media)**: Een ExoML-applet op Exotel dat een WebSocket naar ElevenLabs opent en de audio van het gesprek in beide richtingen streamt.
2. **Connect API (uitgaand bellen)**: Voor uitgaande gesprekken roept ElevenLabs het `Calls/connect.json`-endpoint van Exotel aan met je API Key en API Token. Exotel belt het bestemmingsnummer en leidt de audio, zodra de lijn wordt opgenomen, via hetzelfde Voicebot-applet naar ElevenLabs.

Voor **inkomende** gesprekken routeert Exotel inkomende gesprekken naar het Voicebot-applet dat je aan het telefoonnummer toewijst. Dit opent de WebSocket naar ElevenLabs.

Voor **uitgaande** gesprekken start ElevenLabs het gesprek via de Connect API en verbindt Exotel het gesprek terug via het Voicebot-applet.

## Vereisten

Controleer voordat je de Exotel-integratie instelt of je het volgende hebt:

1. Een actief [Exotel-account](https://exotel.com/) met ten minste één ingericht telefoonnummer.
2. Beheerderstoegang tot het Exotel-dashboard op [my.exotel.com](https://my.exotel.com) (Singapore) of [my.exotel.in](https://my.exotel.in) (Mumbai).
3. Een ElevenLabs-account en een [agent](/docs/nl/eleven-agents/quickstart) waaraan je het telefoonnummer wilt koppelen.

> **Note**
>
> Exotel wordt momenteel ondersteund op de clusters **Singapore** (`api.exotel.com`) en **Mumbai**
> (`api.in.exotel.com`). Kies het cluster waarin je Exotel-account is ingericht. Als je de verkeerde
> regio gebruikt, mislukt de authenticatie.

## Voicebot inschakelen voor je Exotel-account

Neem voordat je iets anders doet contact op met **Exotel-support** en vraag hen om:

1. Het **Voicebot-applet in te schakelen** voor je account. Dit is standaard afgeschermd en verschijnt pas in de App Bazaar nadat je account hiervoor is ingericht.
2. Het benodigde **aantal kanalen (gelijktijdige gesprekken)** in te richten. Dit is de limiet voor gelijktijdige Voicebot-gesprekken die Exotel voor je account toestaat. Stem dit af op je verwachte piekverkeer.

> **Warning**
>
> Deze stap duurt meestal 1 tot 2 werkdagen. Begin hiermee voordat je verdergaat met de rest van de configuratie.

## ElevenLabs WebSocket-endpoint

Je configureert je Exotel Voicebot-applet om audio naar de volgende WebSocket-URL te streamen.

| Omgeving                      | WebSocket-URL                                                        |
| ----------------------------- | -------------------------------------------------------------------- |
| Standaard (VS/internationaal) | `wss://api.elevenlabs.io/v1/convai/conversation/exotel`              |
| EU-residency                  | `wss://api.eu.residency.elevenlabs.io/v1/convai/conversation/exotel` |
| India-residency               | `wss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel` |

> **Info**
>
> Als je ElevenLabs-account een geïsoleerde residency-omgeving gebruikt (EU of India), moet je de
> bijbehorende residency-URL gebruiken. Lees meer over [data- residency](/docs/nl/overview/administration/data-residency).

## Instellen in Exotel

#### Je Exotel-gegevens verzamelen

Open in het Exotel-dashboard het linkermenu **Monitor** en klik op **Developer**. Hiermee open je de pagina met API-gegevens, waar je de Account SID, API Key en API Token kunt bekijken.

![Exotel-zijbalk: Developer](/docs/_fern-img/ebe936f8cd0d1773a88bb4922a7642cf8c2f844f39eb4ee9ee04eab50ecfa6c4.webp)

Je hebt vier waarden nodig:

* **Account SID**: Je Exotel-account-SID.
* **API Key**: Het gebruikersnaamgedeelte van de Exotel API-gegevens.
* **API Token**: Het wachtwoordgedeelte van de Exotel API-gegevens. Houd dit geheim.
* **Regio (API-subdomein)**: Het cluster waarin je Exotel-account staat. Dit is `api.exotel.com` (Singapore) of `api.in.exotel.com` (Mumbai). Je kunt controleren welke door te kijken naar de host van een API-URL op de Developer-pagina.

ElevenLabs gebruikt de API Key + API Token voor HTTP Basic Auth wanneer het de Connect API van Exotel aanroept voor uitgaand bellen.

#### Een Voicebot-applet maken in App Bazaar

1. Open in het Exotel-dashboard het linkermenu **Manage** en klik op **App Bazaar**.

   ![Exotel-zijbalk: App Bazaar](/docs/_fern-img/1e50c6687044e4fea1e6e636bc2db8a4a481c87eb44cdfc8019cff20bd1fe363.webp)

2. Klik op **Create / Add New Flow**, geef de app een beschrijvende naam (bijvoorbeeld `ElevenLabs`) en klik vervolgens op **OK**.

   ![Exotel: dialoogvenster Add New Flow](/docs/_fern-img/928f17d1351f93e7a9bd60d92498dde8b24d350686cf273be146e9d315927704.webp)

3. Sleep vanuit het appletpalet aan de rechterkant het **Voicebot**-applet naar het canvas **Call Start**.

   ![Exotel-appletpalet met Voicebot
   gemarkeerd](/docs/_fern-img/d19a0e66925d5931cd8f9eae7a1264b8a0e259d07736564cab4e1e894401c508.webp)

4. Open de configuratie van het Voicebot-applet en plak de ElevenLabs WebSocket-URL voor je residency in het veld **URL** (het veld "Which bot you want to connect the enduser?"):

   ```
   wss://api.elevenlabs.io/v1/convai/conversation/exotel
   ```

   > **Info**
   >
   > Als je ElevenLabs-account EU- of India-residency gebruikt, gebruik je de overeenkomende residency-URL uit de
   > bovenstaande tabel (bijvoorbeeld `wss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel`) in plaats
   > van de standaard-URL `api.elevenlabs.io`.

   De overige Voicebot-opties ("Record this?", "Recording Channels", "Recording Format", "Encrypt DTMF") kun je op de standaardwaarden laten staan, tenzij je specifieke vereisten voor opnames of compliance hebt.

   ![Voicebot-applet geconfigureerd met de ElevenLabs WebSocket-
   URL](/docs/_fern-img/bb375863bb02b0908786403c080280f4561f21d887fb490050d54ff4ec211794.webp)

5. **(Optioneel) Koppel een Connect-applet voor doorschakelen naar een medewerker.** Sla dit over als je niet wilt dat de agent het gesprek naar een medewerker kan doorschakelen. Als je de tool **Transfer to number** van de agent wilt gebruiken, moet je direct na het Voicebot-applet een **Connect**-applet aan de flow toevoegen.

   Sleep vanuit het palet **Voice Applets** aan de rechterkant het **Connect**-applet naar het slot **Next → Continue to the next applet** van de Voicebot.

   ![Voice Applets-palet met Connect
   gemarkeerd](/docs/_fern-img/1c325fc4ae992db551209b667519ffd75161b6a97ebf71ed6b751bbf26339faf.webp)

   Kies in de configuratie van het Connect-applet **Configure parameters dynamically by providing a URL** en plak het ElevenLabs-connect-applet-endpoint voor je residency in **Primary URL**:

   ```
   https://api.elevenlabs.io/v1/convai/exotel/connect-applet
   ```

   ![Connect-applet geconfigureerd met de dynamische ElevenLabs-
   URL](/docs/_fern-img/7ed4516ec33ea62830d9279a266ada20311741d0489fe2661dc528b8dbcbe126.webp)

   De overeenkomende residency-URL's zijn:

   | Omgeving                      | Connect-applet-URL                                                       |
   | ----------------------------- | ------------------------------------------------------------------------ |
   | Standaard (VS/internationaal) | `https://api.elevenlabs.io/v1/convai/exotel/connect-applet`              |
   | EU-residency                  | `https://api.eu.residency.elevenlabs.io/v1/convai/exotel/connect-applet` |
   | India-residency               | `https://api.in.residency.elevenlabs.io/v1/convai/exotel/connect-applet` |

   > **Info**
   >
   > Wanneer de agent de tool **Transfer to number** aanroept, geeft ElevenLabs de controle terug aan Exotel
   > en haalt Exotel deze URL op om het te bellen bestemmingsnummer op te halen. Laat **Fallback URL**
   > leeg en behoud alle andere standaardwaarden.

6. Sla het applet op en publiceer het.

7. Noteer de **Applet ID** (soms **App ID** genoemd). Je vindt deze in de URL van de ExoML-editor (bijvoorbeeld `.../exoml/start_voice/12345`) of in de lijst met apps. Je hebt deze nodig wanneer je het nummer in ElevenLabs importeert.

> **Note**
>
> Het Voicebot-applet verwerkt zowel inkomende als uitgaande lijnen. Je hebt per account slechts één applet nodig.
> Elk telefoonnummer dat je in ElevenLabs importeert, kan dit delen.

#### De flow aan een telefoonnummer toewijzen (alleen inkomend)

Sla de ExoML-flow uit de vorige stap op en publiceer deze. Routeer vervolgens een Exotel-telefoonnummer ernaartoe, zodat inkomende gesprekken bij je Voicebot-applet terechtkomen.

1. Open in het Exotel-dashboard het linkermenu **Manage** en klik op **ExoPhones** (direct onder **App Bazaar**).

   ![Exotel-zijbalk: ExoPhones](/docs/_fern-img/30351173b2c2cfaa2ccd8d9e29e6aaba319ac3b5f2ee51d91a4f7913d3e218a4.webp)

2. Als je nog geen telefoonnummer hebt, klik je op **Buy a number** en koop je eerst een nummer in het land of gebied dat je nodig hebt.

3. Zoek het nummer dat je met je ElevenLabs-agent wilt gebruiken. Open in de kolom **Installed App** de dropdown en selecteer de flow die je in de vorige stap hebt gemaakt (bijvoorbeeld **ElevenLabs**).

   ![ExoPhones: Installed App aan een telefoonnummer
   toewijzen](/docs/_fern-img/5ed6b42794bb00f330dd52d50a5831622e3156955d59adb1ca64b746d1ec7d2b.webp)

4. Sla de configuratie op. Inkomende gesprekken naar dat nummer worden nu rechtstreeks naar het Voicebot-applet gerouteerd en naar ElevenLabs gestreamd.

> **Note**
>
> Als het nummer alleen voor uitgaande gesprekken wordt gebruikt, kun je deze stap overslaan. Uitgaande gesprekken worden
> via de Connect API vanuit ElevenLabs gebeld en zijn niet afhankelijk van de toewijzing **Installed App**.

## Instellen in ElevenLabs

#### Het Exotel-telefoonnummer importeren

Ga in het ElevenAgents-dashboard naar het tabblad [**Phone Numbers**](https://elevenlabs.io/app/agents/phone-numbers). Klik op **+ Import number** en selecteer **From Exotel** in de dropdown.

![ElevenAgents: dropdown Import number met From Exotel
geselecteerd](/docs/_fern-img/2a62cf9f6b63914c5688da5f58515168fa1ff39b8602f70fea7a1ff257bb6918.webp)

Vul de volgende velden in:

* **Label**: Een beschrijvende naam (bijvoorbeeld `Support Line`).
* **Phone number**: Het Exotel-nummer in E.164-indeling (bijvoorbeeld `+918048961234`).
* **Exotel Account SID**: Uit stap 1 hierboven.
* **Exotel API Key**: Uit stap 1 hierboven.
* **Exotel API Token**: Uit stap 1 hierboven (opgeslagen als workspace secret).
* **Region**: Kies `Singapore (api.exotel.com)` of `Mumbai (api.in.exotel.com)`, afhankelijk van je Exotel-cluster.
* **Voicebot Applet ID**: De App ID uit stap 2 hierboven.

Klik op **Import** om het nummer op te slaan. ElevenLabs controleert de gegevens bij Exotel en slaat de API-token op als workspace secret.

#### Je agent toewijzen

Zodra het nummer is geïmporteerd, open je het vanuit de lijst **Phone Numbers** en kies je in de dropdown **Assigned agent** de agent die inkomende gesprekken moet afhandelen.

> **Note**
>
> Voor inkomende gesprekken moet het Voicebot-applet aan het nummer zijn toegewezen aan de kant van Exotel (zie de
> vorige sectie). Configuraties die alleen uitgaande gesprekken gebruiken, hebben geen inkomende toewijzing nodig.

#### Een inkomend gesprek testen

Bel je Exotel-nummer vanaf een willekeurige telefoon. Exotel routeert het gesprek naar het Voicebot-applet, dat een WebSocket naar ElevenLabs opent. Je agent neemt op en start het gesprek.

> **Tip**
>
> Controleer het gesprek in het [Calls History-dashboard](https://elevenlabs.io/app/agents/history) om te
> verifiëren dat alles naar verwachting werkt.

## Uitgaande gesprekken voeren

Geïmporteerde Exotel-nummers kunnen ook uitgaande gesprekken starten. Je agent belt een telefoonnummer en start het gesprek wanneer de ontvanger opneemt.

#### Een uitgaand gesprek starten

Zoek op het tabblad [**Phone Numbers**](https://elevenlabs.io/app/agents/phone-numbers) je Exotel-nummer en klik op de knop **Outbound call**.

#### Het gesprek configureren

In het venster Outbound Call:

1. Selecteer de agent die het gesprek afhandelt.
2. Voer het telefoonnummer van de ontvanger in E.164-indeling in.
3. Klik op **Send Test Call** om het gesprek te starten.

ElevenLabs roept de Connect API van Exotel aan met je opgeslagen gegevens. Exotel belt de ontvanger en routeert de audio terug via het Voicebot-applet wanneer het gesprek wordt opgenomen.

> **Note**
>
> Bij uitgaande gesprekken start je agent het gesprek. Zorg er daarom voor dat je agent
> een passend eerste bericht heeft ingesteld.

Gebruik het endpoint [Uitgaand gesprek via Exotel](/docs/nl/api-reference/exotel/outbound-call) om uitgaande gesprekken programmatisch te starten in plaats van vanuit het dashboard. De API-referentie bevat het requestschema en kant-en-klare SDK-snippets.

## Vereisten voor agentconfiguratie

Het Voicebot-applet streamt audio met **8 kHz PCM**. Het ElevenLabs-platform verwerkt de conversie van de audio-indeling automatisch. Je hoeft de TTS- of invoeraudio-instellingen van je agent **niet** te wijzigen.

## Telefoonnummerindelingen

Telefoonnummers worden opgeslagen in E.164-indeling (bijvoorbeeld `+918048961234`). Wanneer je een Indiaas Exotel-nummer importeert dat je lokaal mogelijk schrijft als `08048961234` of `8048961234`, voer je het in als `+918048961234`. ElevenLabs weigert dubbele imports van hetzelfde nummer in verschillende indelingen.

## Gesprekken doorschakelen

Je kunt gesprekken vanuit je agent terug naar Exotel doorschakelen door een tool **Transfer to number** voor je agent te configureren. Wanneer de tool wordt uitgevoerd, beëindigt ElevenLabs de Voicebot-lijn en haalt Exotel het bestemmingsnummer op via de dynamische URL van het gekoppelde **Connect**-applet. Daarna belt Exotel het doelnummer.

Hiervoor heb je **beide** nodig:

1. Het optionele **Connect-applet**, direct na het Voicebot-applet geconfigureerd in je ExoML-flow (zie stap 5 in [Instellen in Exotel](#setup-on-exotel)).
2. De tool **Transfer to number** die voor je agent is geconfigureerd. Zie de [handleiding voor agentdoorschakeling](/docs/nl/eleven-agents/customization/tools/system-tools/transfer-to-number).

Zonder het Connect-applet in de flow mislukken de doorschakelpogingen van de agent, omdat Exotel het gesprek nergens naartoe kan routeren nadat de Voicebot is beëindigd.

## Problemen oplossen

#### Fout \`exotel\_connect\_failed\` bij het starten van een uitgaand gesprek

ElevenLabs ontving een niet-200-respons van de Connect API van Exotel. De meest voorkomende oorzaken zijn:

* Verkeerde **Region**. Zorg dat de regio die je bij het importeren hebt gekozen overeenkomt met het Exotel-cluster waarin je account staat (`Singapore` of `Mumbai`).
* Ongeldige **API Key** of **API Token**. Controleer de gegevens opnieuw op de pagina **API Settings** van Exotel en importeer het nummer opnieuw met de juiste waarden.
* De **Account SID** komt niet overeen met het API Key / Token-paar.
* Het bestemmingsnummer is niet in E.164-indeling.

#### Inkomende gesprekken bereiken mijn agent niet

* Controleer of het veld **URL** van het Voicebot-applet exact overeenkomt met het ElevenLabs WebSocket-endpoint voor je data residency (inclusief `wss://`).
* Controleer of het Exotel-**telefoonnummer** is gerouteerd naar de ExoML-app die het Voicebot-applet bevat (Exotel-dashboard, ExoPhones, het nummer, Installed App).
* Controleer in ElevenLabs of aan het telefoonnummer een agent is toegewezen op het tabblad **Phone Numbers**.

#### Fouten door een onjuiste \`Applet ID\` bij het importeren

Het veld **Voicebot Applet ID** verwacht de numerieke App ID uit de URL van de ExoML-editor (bijvoorbeeld: voor `.../exoml/start_voice/12345` is de ID `12345`). Plak niet de volledige URL. Gebruik alleen de ID.

#### Telefoonnummer tweemaal geïmporteerd in verschillende indelingen

ElevenLabs normaliseert Exotel-nummers naar E.164 voordat ze worden opgeslagen en handhaaft uniciteit voor `(provider, phone_number)`. Als je hetzelfde nummer eerder in een niet-E.164-indeling hebt geïmporteerd, verwijder je eerst de oude invoer en importeer je het daarna opnieuw in E.164-indeling.

## Handige links

* [API-referentie voor uitgaande gesprekken via Exotel](/docs/nl/api-reference/exotel/outbound-call)
* [Exotel API-documentatie](https://developer.exotel.com/api/)
* [Referentie voor het Exotel Voicebot-applet](https://support.exotel.com/support/solutions/articles/3000099826)
* [ElevenAgents-dashboard voor telefoonnummers](https://elevenlabs.io/app/agents/phone-numbers)