Skip to navigation

Exotel-integratie

Verbind Exotel-telefoonnummers met ElevenAgents voor inkomende en uitgaande gesprekken.

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 met ten minste één ingericht telefoonnummer.
  2. Beheerderstoegang tot het Exotel-dashboard op my.exotel.com (Singapore) of my.exotel.in (Mumbai).
  3. Een ElevenLabs-account en een agent waaraan je het telefoonnummer wilt koppelen.

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.

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.

OmgevingWebSocket-URL
Standaard (VS/internationaal)wss://api.elevenlabs.io/v1/convai/conversation/exotel
EU-residencywss://api.eu.residency.elevenlabs.io/v1/convai/conversation/exotel
India-residencywss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel

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.

Instellen in Exotel

1

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

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.

2

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

  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

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

    Exotel-appletpalet met Voicebot
gemarkeerd

  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

    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

  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

    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

    De overeenkomende residency-URL’s zijn:

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

    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.

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.

3

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

  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

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

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

1

Het Exotel-telefoonnummer importeren

Ga in het ElevenAgents-dashboard naar het tabblad Phone Numbers. Klik op + Import number en selecteer From Exotel in de dropdown.

ElevenAgents: dropdown Import number met From Exotel
geselecteerd

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.

2

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.

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.

3

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.

Controleer het gesprek in het Calls History-dashboard 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.

1

Een uitgaand gesprek starten

Zoek op het tabblad Phone Numbers je Exotel-nummer en klik op de knop Outbound call.

2

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.

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 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).
  2. De tool Transfer to number die voor je agent is geconfigureerd. Zie de handleiding voor agentdoorschakeling.

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

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

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.

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.