Exotel-Integration

Verbinden Sie Exotel-Telefonnummern mit ElevenAgents für eingehende und ausgehende Anrufe.

Übersicht

Diese Anleitung erklärt, wie Sie Ihre Exotel-Telefonnummern direkt mit ElevenAgents verbinden. Mit dieser Integration können Sie Ihre bestehenden Exotel-Nummern und Ihre Infrastruktur weiter nutzen und gleichzeitig die erweiterten Voice-KI-Funktionen von ElevenLabs für eingehende und ausgehende Anrufe einsetzen.

So funktioniert die Integration

Die Exotel-Integration nutzt zwei Exotel-Komponenten:

  1. Voicebot-Applet (eingehende + ausgehende Medienübertragung): Ein ExoML-Applet in Exotel, das einen WebSocket zu ElevenLabs öffnet und das Audio des Anrufs in beide Richtungen streamt.
  2. Connect API (ausgehende Anrufe): Für ausgehende Anrufe ruft ElevenLabs den Endpunkt Calls/connect.json von Exotel mit Ihrem API Key und API Token auf. Exotel wählt die Zielnummer und leitet das Audio nach Annahme des Anrufs über dasselbe Voicebot-Applet an ElevenLabs weiter.

Für eingehende Anrufe leitet Exotel eingehende Anrufe an das Voicebot-Applet weiter, das Sie der Telefonnummer zugewiesen haben. Dieses öffnet den WebSocket zu ElevenLabs.

Für ausgehende Anrufe startet ElevenLabs den Anruf über die Connect API, und Exotel leitet den Anruf über das Voicebot-Applet zurück.

Voraussetzungen

Bevor Sie die Exotel-Integration einrichten, stellen Sie sicher, dass Sie über Folgendes verfügen:

  1. Ein aktives Exotel-Konto mit mindestens einer bereitgestellten Telefonnummer.
  2. Administratorzugriff auf das Exotel-Dashboard unter my.exotel.com (Singapur) oder my.exotel.in (Mumbai).
  3. Ein ElevenLabs-Konto und einen Agenten, dem Sie die Telefonnummer zuweisen möchten.

Exotel wird derzeit in den Clustern Singapur (api.exotel.com) und Mumbai (api.in.exotel.com) unterstützt. Wählen Sie den Cluster, in dem Ihr Exotel-Konto bereitgestellt wurde. Die Verwendung der falschen Region führt zu Authentifizierungsfehlern.

Voicebot für Ihr Exotel-Konto aktivieren

Wenden Sie sich zunächst an den Exotel-Support und bitten Sie ihn um Folgendes:

  1. Aktivieren des Voicebot-Applets für Ihr Konto. Es ist standardmäßig gesperrt und erscheint erst im App Bazaar, wenn Ihr Konto dafür bereitgestellt wurde.
  2. Bereitstellen der benötigten Anzahl an Kanälen (gleichzeitige Anrufe). Dies ist die Obergrenze für gleichzeitige Voicebot-Anrufe, die Exotel für Ihr Konto zulässt. Richten Sie sie an Ihrem erwarteten Spitzenaufkommen aus.

Dieser Schritt dauert in der Regel 1 bis 2 Werktage. Starten Sie ihn, bevor Sie mit der restlichen Einrichtung beginnen.

ElevenLabs-WebSocket-Endpunkt

Sie konfigurieren Ihr Exotel-Voicebot-Applet so, dass es Audio an die folgende WebSocket-URL streamt.

UmgebungWebSocket-URL
Standard (USA/International)wss://api.elevenlabs.io/v1/convai/conversation/exotel
EU-Residenzwss://api.eu.residency.elevenlabs.io/v1/convai/conversation/exotel
Indien-Residenzwss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel

Wenn sich Ihr ElevenLabs-Konto in einer isolierten Residenzumgebung befindet (EU oder Indien), müssen Sie die entsprechende Residenz-URL verwenden. Mehr über Datenresidenz erfahren.

Einrichtung in Exotel

1

Ihre Exotel-Zugangsdaten erfassen

Öffnen Sie im Exotel-Dashboard das linke Menü Monitor und klicken Sie auf Developer. Dadurch wird die Seite mit den API-Zugangsdaten geöffnet, auf der Sie Account SID, API Key und API Token einsehen können.

Exotel-Seitenleiste: Developer

Sie benötigen vier Werte:

  • Account SID: Die SID Ihres Exotel-Kontos.
  • API Key: Der Benutzername der Exotel-API-Zugangsdaten.
  • API Token: Das Passwort der Exotel-API-Zugangsdaten. Behandeln Sie es vertraulich.
  • Region (API-Subdomain): Der Cluster, in dem sich Ihr Exotel-Konto befindet. Dies ist entweder api.exotel.com (Singapur) oder api.in.exotel.com (Mumbai). Sie können dies anhand des Hosts jeder auf der Developer-Seite angezeigten API-URL bestätigen.

ElevenLabs verwendet API Key + API Token für HTTP Basic Auth, wenn die Connect API von Exotel für ausgehende Anrufe aufgerufen wird.

2

Voicebot-Applet im App Bazaar erstellen

  1. Öffnen Sie im Exotel-Dashboard das linke Menü Manage und klicken Sie auf App Bazaar.

    Exotel-Seitenleiste: App Bazaar

  2. Klicken Sie auf Create / Add New Flow, geben Sie der App einen aussagekräftigen Namen (z. B. ElevenLabs) und klicken Sie dann auf OK.

    Exotel: Dialog „Add New Flow“

  3. Ziehen Sie das Applet Voicebot aus der Applet-Palette auf der rechten Seite auf die Fläche Call Start.

    Exotel-Applet-Palette mit hervorgehobenem Voicebot

  4. Öffnen Sie die Konfiguration des Voicebot-Applets und fügen Sie die ElevenLabs-WebSocket-URL für Ihre Residenz in das Feld URL ein (das Feld „Which bot you want to connect the enduser?“):

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

    Wenn sich Ihr ElevenLabs-Konto in der EU- oder Indien-Residenz befindet, verwenden Sie stattdessen die passende Residenz-URL aus der Tabelle oben (z. B. wss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel) anstelle des standardmäßigen api.elevenlabs.io.

    Die übrigen Voicebot-Optionen („Record this?“, „Recording Channels“, „Recording Format“, „Encrypt DTMF“) können auf den Standardwerten bleiben, sofern Sie keine spezifischen Anforderungen an Aufzeichnungen oder Compliance haben.

    Voicebot-Applet mit der ElevenLabs-WebSocket-
URL konfiguriert

  5. (Optional) Connect-Applet für die Weiterleitung an Mitarbeitende verketten. Überspringen Sie diesen Schritt, wenn der Agent den Anruf nicht an eine Person weiterleiten können muss. Wenn Sie das Tool Transfer to number des Agenten verwenden möchten, müssen Sie unmittelbar nach dem Voicebot-Applet im Flow ein Applet Connect hinzufügen.

    Ziehen Sie das Applet Connect aus der Palette Voice Applets auf der rechten Seite in den Bereich Next → Continue to the next applet des Voicebots.

    Voice-Applets-Palette mit hervorgehobenem Connect

    Wählen Sie in der Konfiguration des Connect-Applets Configure parameters dynamically by providing a URL und fügen Sie den ElevenLabs-Endpunkt für das Connect-Applet Ihrer Residenz in Primary URL ein:

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

    Connect-Applet mit der dynamischen ElevenLabs-
URL konfiguriert

    Die passenden Residenz-URLs sind:

    UmgebungConnect-Applet-URL
    Standard (USA/International)https://api.elevenlabs.io/v1/convai/exotel/connect-applet
    EU-Residenzhttps://api.eu.residency.elevenlabs.io/v1/convai/exotel/connect-applet
    Indien-Residenzhttps://api.in.residency.elevenlabs.io/v1/convai/exotel/connect-applet

    Wenn der Agent sein Tool Transfer to number aufruft, übergibt ElevenLabs die Steuerung wieder an Exotel und Exotel ruft diese URL auf, um die anzuwählende Zielnummer abzurufen. Lassen Sie Fallback URL leer und behalten Sie alle anderen Standardwerte bei.

  6. Speichern und veröffentlichen Sie das Applet.

  7. Notieren Sie sich die Applet ID (manchmal auch App ID genannt). Sie finden sie in der URL des ExoML-Editors (z. B. .../exoml/start_voice/12345) oder in der App-Liste. Sie benötigen sie, wenn Sie die Nummer in ElevenLabs importieren.

Das Voicebot-Applet verarbeitet sowohl eingehende als auch ausgehende Anrufabschnitte. Sie benötigen nur ein einzelnes Applet pro Konto. Alle Telefonnummern, die Sie in ElevenLabs importieren, können es gemeinsam nutzen.

3

Den Flow einer Telefonnummer zuweisen (nur eingehend)

Speichern und veröffentlichen Sie den ExoML-Flow aus dem vorherigen Schritt. Leiten Sie dann eine Exotel-Telefonnummer dorthin weiter, damit eingehende Anrufe Ihr Voicebot-Applet erreichen.

  1. Öffnen Sie im Exotel-Dashboard das linke Menü Manage und klicken Sie auf ExoPhones (direkt unter App Bazaar).

    Exotel-Seitenleiste: ExoPhones

  2. Falls Sie noch keine Telefonnummer haben, klicken Sie auf Buy a number und kaufen Sie vor dem Fortfahren eine Nummer im benötigten Land bzw. Gebiet.

  3. Suchen Sie die Nummer, die Sie mit Ihrem ElevenLabs-Agenten verwenden möchten. Öffnen Sie in der Spalte Installed App das Dropdown-Menü und wählen Sie den im vorherigen Schritt erstellten Flow aus (z. B. ElevenLabs).

    ExoPhones: Installed App einer Telefonnummer
zuweisen

  4. Speichern Sie die Konfiguration. Eingehende Anrufe an diese Nummer werden nun direkt an das Voicebot-Applet weitergeleitet und an ElevenLabs gestreamt.

Wenn die Nummer nur für ausgehende Anrufe verwendet wird, können Sie diesen Schritt überspringen. Ausgehende Anrufe werden über die Connect API von ElevenLabs gewählt und hängen nicht von der Zuweisung unter Installed App ab.

Einrichtung in ElevenLabs

1

Exotel-Telefonnummer importieren

Gehen Sie im ElevenAgents-Dashboard zum Tab Phone Numbers. Klicken Sie auf + Import number und wählen Sie im Dropdown-Menü From Exotel aus.

ElevenAgents: Dropdown „Import number“ mit ausgewähltem „From Exotel“

Füllen Sie die folgenden Felder aus:

  • Label: Ein aussagekräftiger Name (z. B. Support Line).
  • Phone number: Die Exotel-Nummer im E.164-Format (z. B. +918048961234).
  • Exotel Account SID: Aus Schritt 1 oben.
  • Exotel API Key: Aus Schritt 1 oben.
  • Exotel API Token: Aus Schritt 1 oben (wird als Workspace-Secret gespeichert).
  • Region: Wählen Sie passend zu Ihrem Exotel-Cluster Singapore (api.exotel.com) oder Mumbai (api.in.exotel.com) aus.
  • Voicebot Applet ID: Die App ID aus Schritt 2 oben.

Klicken Sie auf Import, um die Nummer zu speichern. ElevenLabs prüft die Zugangsdaten mit Exotel und speichert den API Token als Workspace-Secret.

2

Ihren Agenten zuweisen

Sobald die Nummer importiert wurde, öffnen Sie sie in der Liste Phone Numbers und wählen Sie im Dropdown-Menü Assigned agent den Agenten aus, der eingehende Anrufe bearbeiten soll.

Für eingehende Anrufe muss das Voicebot-Applet der Nummer auf Exotel-Seite zugewiesen sein (siehe vorheriger Abschnitt). Setups nur für ausgehende Anrufe benötigen keine Zuweisung für eingehende Anrufe.

3

Einen eingehenden Anruf testen

Rufen Sie Ihre Exotel-Nummer von einem beliebigen Telefon an. Exotel leitet den Anruf an das Voicebot-Applet weiter, das einen WebSocket zu ElevenLabs öffnet. Ihr Agent nimmt den Anruf an und startet das Gespräch.

Überwachen Sie den Anruf im Calls-History-Dashboard, um zu prüfen, ob alles wie erwartet funktioniert.

Ausgehende Anrufe tätigen

Importierte Exotel-Nummern können auch ausgehende Anrufe starten. Ihr Agent wählt eine Telefonnummer und beginnt das Gespräch, sobald der Empfänger abnimmt.

1

Einen ausgehenden Anruf starten

Suchen Sie im Tab Phone Numbers Ihre Exotel-Nummer und klicken Sie auf die Schaltfläche Outbound call.

2

Den Anruf konfigurieren

Im Modal für ausgehende Anrufe:

  1. Wählen Sie den Agenten aus, der das Gespräch führen soll.
  2. Geben Sie die Telefonnummer des Empfängers im E.164-Format ein.
  3. Klicken Sie auf Send Test Call, um den Anruf zu starten.

ElevenLabs ruft die Connect API von Exotel mit Ihren gespeicherten Zugangsdaten auf. Exotel wählt den Empfänger an und leitet das Audio nach Annahme des Anrufs über das Voicebot-Applet zurück.

Bei ausgehenden Anrufen startet Ihr Agent das Gespräch. Stellen Sie daher sicher, dass für Ihren Agenten eine passende erste Nachricht konfiguriert ist.

Um ausgehende Anrufe programmatisch statt über das Dashboard auszulösen, verwenden Sie den Endpunkt Outbound call via Exotel. Die API-Referenz enthält das Anfrage-Schema und einsatzbereite SDK-Snippets.

Anforderungen an die Agentenkonfiguration

Das Voicebot-Applet streamt Audio mit 8 kHz PCM. Die ElevenLabs-Plattform verarbeitet die Konvertierung des Audioformats automatisch. Sie müssen die TTS- oder Audioeingabeeinstellungen Ihres Agenten nicht ändern.

Telefonnummernformate

Telefonnummern werden im E.164-Format gespeichert (z. B. +918048961234). Wenn Sie eine indische Exotel-Nummer lokal als 08048961234 oder 8048961234 schreiben würden, geben Sie sie als +918048961234 ein. ElevenLabs lehnt doppelte Importe derselben Nummer in unterschiedlichen Formaten ab.

Anrufweiterleitungen

Sie können Anrufe von Ihrem Agenten zurück an Exotel weiterleiten, indem Sie für Ihren Agenten ein Tool Transfer to number konfigurieren. Wenn das Tool ausgelöst wird, beendet ElevenLabs den Voicebot-Anrufabschnitt und Exotel ruft die Zielnummer über die dynamische URL des verketteten Applets Connect ab und wählt dann das Ziel an.

Damit dies funktioniert, benötigen Sie beides:

  1. Das optionale Applet Connect, das unmittelbar nach dem Voicebot-Applet in Ihrem ExoML-Flow konfiguriert ist (siehe Schritt 5 unter Einrichtung in Exotel).
  2. Das Tool Transfer to number, das für Ihren Agenten konfiguriert ist. Siehe die Anleitung zur Agentenweiterleitung.

Ohne das Connect-Applet im Flow schlagen Weiterleitungsversuche des Agenten fehl, da Exotel den Anruf nach dem Ende des Voicebots nicht weiterleiten kann.

Fehlerbehebung

ElevenLabs hat eine Antwort ungleich 200 von der Connect API von Exotel erhalten. Die häufigsten Ursachen sind:

  • Falsche Region. Stellen Sie sicher, dass die beim Import ausgewählte Region dem Exotel-Cluster Ihres Kontos entspricht (Singapore oder Mumbai).
  • Ungültiger API Key oder API Token. Prüfen Sie die Zugangsdaten auf der Exotel-Seite API Settings erneut und importieren Sie die Nummer mit den korrekten Werten erneut.
  • Die Account SID stimmt nicht mit dem API-Key-/Token-Paar überein.
  • Die Zielnummer liegt nicht im E.164-Format vor.
  • Prüfen Sie, ob das Feld URL des Voicebot-Applets exakt dem ElevenLabs-WebSocket-Endpunkt für Ihre Datenresidenz entspricht (einschließlich wss://).
  • Prüfen Sie, ob die Exotel-Telefonnummer an die ExoML-App weitergeleitet wird, die das Voicebot-Applet enthält (Exotel-Dashboard, ExoPhones, Nummer, Installed App).
  • Prüfen Sie in ElevenLabs, ob der Telefonnummer im Tab Phone Numbers ein Agent zugewiesen ist.

Das Feld Voicebot Applet ID erwartet die numerische App ID aus der URL des ExoML-Editors (z. B. ist bei .../exoml/start_voice/12345 die ID 12345). Fügen Sie nicht die vollständige URL ein. Verwenden Sie nur die ID.

ElevenLabs normalisiert Exotel-Nummern vor dem Speichern in E.164 und erzwingt die Eindeutigkeit für (provider, phone_number). Wenn Sie dieselbe Nummer zuvor in einem Format ohne E.164 importiert haben, löschen Sie zuerst den alten Eintrag und importieren Sie sie anschließend erneut im E.164-Format.