Integracja z Exotel

Połącz numery telefonów Exotel z ElevenAgents do połączeń przychodzących i wychodzących.

Omówienie

Ten przewodnik wyjaśnia, jak połączyć numery telefoniczne Exotel bezpośrednio z ElevenAgents. Ta integracja pozwala korzystać z obecnych numerów i infrastruktury Exotel oraz zaawansowanych funkcji głosu AI ElevenLabs — zarówno dla połączeń przychodzących, jak i wychodzących.

Jak działa integracja

Integracja z Exotel korzysta z dwóch usług Exotel:

  1. Aplet Voicebot (media przychodzące i wychodzące): Aplet ExoML w Exotel, który otwiera WebSocket do ElevenLabs i przesyła dźwięk rozmowy w obu kierunkach.
  2. Connect API (wybieranie połączeń wychodzących): W przypadku połączeń wychodzących ElevenLabs wywołuje endpoint Calls/connect.json Exotel, używając twojego API Key i API Token. Exotel wybiera numer docelowy, a po odebraniu połączenia kieruje dźwięk przez ten sam aplet Voicebot do ElevenLabs.

W przypadku połączeń przychodzących Exotel kieruje je do apletu Voicebot przypisanego do numeru telefonu, który otwiera WebSocket do ElevenLabs.

W przypadku połączeń wychodzących ElevenLabs inicjuje połączenie przez Connect API, a Exotel przekazuje je z powrotem przez aplet Voicebot.

Wymagania

Przed konfiguracją integracji z Exotel upewnij się, że masz:

  1. Aktywne konto Exotel z co najmniej jednym aktywowanym numerem telefonu.
  2. Dostęp administratora do panelu Exotel na my.exotel.com (Singapur) lub my.exotel.in (Mumbaj).
  3. Konto ElevenLabs oraz agenta, do którego chcesz przypisać numer telefonu.

Exotel jest obecnie obsługiwany w klastrach Singapore (api.exotel.com) i Mumbai (api.in.exotel.com). Wybierz klaster, w którym utworzono twoje konto Exotel. Użycie złego regionu spowoduje błędy uwierzytelniania.

Włączanie Voicebot na koncie Exotel

Najpierw skontaktuj się z pomocą Exotel i poproś o:

  1. Włączenie apletu Voicebot na twoim koncie. Domyślnie jest niedostępny i nie pojawi się w App Bazaar, dopóki nie zostanie włączony dla twojego konta.
  2. Przydzielenie potrzebnej liczby kanałów (równoczesnych połączeń). To limit jednoczesnych połączeń Voicebot, na które Exotel pozwoli na twoim koncie. Dopasuj go do przewidywanego szczytowego ruchu.

Ten krok zwykle zajmuje od 1 do 2 dni roboczych. Zacznij go przed resztą konfiguracji.

Endpoint WebSocket ElevenLabs

Skonfigurujesz aplet Voicebot w Exotel tak, aby przesyłał dźwięk na poniższy adres WebSocket.

ŚrodowiskoAdres WebSocket
Domyślne (USA/międzynarodowe)wss://api.elevenlabs.io/v1/convai/conversation/exotel
Rezydencja danych UEwss://api.eu.residency.elevenlabs.io/v1/convai/conversation/exotel
Rezydencja danych w Indiachwss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel

Jeśli twoje konto ElevenLabs korzysta z izolowanego środowiska rezydencji danych (UE lub Indie), musisz użyć odpowiedniego adresu rezydencji. Dowiedz się więcej o rezydencji danych.

Konfiguracja w Exotel

1

Zbierz dane logowania Exotel

W panelu Exotel otwórz menu Monitor po lewej stronie i kliknij Developer. Otworzy się strona z danymi API, gdzie znajdziesz Account SID, API Key i API Token.

Pasek boczny Exotel: Developer

Potrzebujesz czterech wartości:

  • Account SID: SID twojego konta Exotel.
  • API Key: Część nazwy użytkownika w danych API Exotel.
  • API Token: Część hasła w danych API Exotel. Zachowaj go w tajemnicy.
  • Region (subdomena API): Klaster, w którym znajduje się twoje konto Exotel. To api.exotel.com (Singapur) lub api.in.exotel.com (Mumbaj). Możesz to potwierdzić, sprawdzając host dowolnego adresu API na stronie Developer.

ElevenLabs używa API Key i API Token do HTTP Basic Auth podczas wywoływania Connect API Exotel dla połączeń wychodzących.

2

Utwórz aplet Voicebot w App Bazaar

  1. W panelu Exotel otwórz menu Manage po lewej stronie i kliknij App Bazaar.

    Pasek boczny Exotel: App Bazaar

  2. Kliknij Create / Add New Flow, nadaj aplikacji opisową nazwę (np. ElevenLabs), a potem kliknij OK.

    Exotel: okno dialogowe Add New Flow

  3. Z palety apletów po prawej przeciągnij aplet Voicebot na kanwę Call Start.

    Paleta apletów Exotel z wyróżnionym
Voicebot

  4. Otwórz konfigurację apletu Voicebot i wklej adres WebSocket ElevenLabs dla swojej rezydencji danych w pole URL (pole „Which bot you want to connect the enduser?”):

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

    Jeśli twoje konto ElevenLabs korzysta z rezydencji danych w UE lub Indiach, zamiast domyślnego api.elevenlabs.io użyj odpowiedniego adresu z tabeli powyżej (np. wss://api.in.residency.elevenlabs.io/v1/convai/conversation/exotel).

    Pozostałe opcje Voicebot („Record this?”, „Recording Channels”, „Recording Format”, „Encrypt DTMF”) mogą pozostać domyślne, chyba że masz konkretne wymagania dotyczące nagrywania lub zgodności.

    Aplet Voicebot skonfigurowany z adresem WebSocket
ElevenLabs

  5. (Opcjonalnie) Dodaj aplet Connect do przekazywania rozmów do człowieka. Pomiń ten krok, jeśli agent nie ma przekazywać rozmów do człowieka. Jeśli chcesz używać narzędzia agenta Transfer to number, musisz dodać aplet Connect bezpośrednio po aplecie Voicebot w flow.

    Z palety Voice Applets po prawej przeciągnij aplet Connect do pola Next → Continue to the next applet w aplecie Voicebot.

    Paleta Voice Applets z wyróżnionym
Connect

    W konfiguracji apletu Connect wybierz Configure parameters dynamically by providing a URL i wklej endpoint apletu Connect ElevenLabs dla swojej rezydencji danych w pole Primary URL:

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

    Aplet Connect skonfigurowany z dynamicznym adresem
ElevenLabs

    Odpowiednie adresy rezydencji danych to:

    ŚrodowiskoAdres apletu Connect
    Domyślne (USA/międzynarodowe)https://api.elevenlabs.io/v1/convai/exotel/connect-applet
    Rezydencja danych UEhttps://api.eu.residency.elevenlabs.io/v1/convai/exotel/connect-applet
    Rezydencja danych w Indiachhttps://api.in.residency.elevenlabs.io/v1/convai/exotel/connect-applet

    Gdy agent wywoła narzędzie Transfer to number, ElevenLabs przekaże kontrolę z powrotem do Exotel, a Exotel pobierze ten adres, aby uzyskać docelowy numer do wybrania. Zostaw puste pole Fallback URL i zachowaj wszystkie pozostałe ustawienia domyślne.

  6. Zapisz i opublikuj aplet.

  7. Zanotuj Applet ID (czasem nazywany App ID). Znajdziesz go w adresie URL edytora ExoML (np. .../exoml/start_voice/12345) lub na liście aplikacji. Będzie potrzebny podczas importowania numeru do ElevenLabs.

Aplet Voicebot obsługuje zarówno połączenia przychodzące, jak i wychodzące. Potrzebujesz tylko jednego apletu na konto. Wszystkie numery telefonów importowane do ElevenLabs mogą go współdzielić.

3

Przypisz flow do numeru telefonu (tylko połączenia przychodzące)

Zapisz i opublikuj flow ExoML z poprzedniego kroku. Następnie skieruj do niego numer telefonu Exotel, aby połączenia przychodzące trafiały do apletu Voicebot.

  1. W panelu Exotel otwórz menu Manage po lewej stronie i kliknij ExoPhones (tuż pod App Bazaar).

    Pasek boczny Exotel: ExoPhones

  2. Jeśli nie masz jeszcze numeru telefonu, kliknij Buy a number i kup numer w kraju lub regionie, którego potrzebujesz, zanim przejdziesz dalej.

  3. Znajdź numer, którego chcesz używać z agentem ElevenLabs. W kolumnie Installed App otwórz listę i wybierz flow utworzony w poprzednim kroku (np. ElevenLabs).

    ExoPhones: przypisz Installed App do numeru
telefonu

  4. Zapisz konfigurację. Połączenia przychodzące na ten numer będą teraz kierowane prosto do apletu Voicebot i przesyłane do ElevenLabs.

Jeśli numer będzie używany tylko do połączeń wychodzących, możesz pominąć ten krok. Połączenia wychodzące są wybierane przez Connect API z ElevenLabs i nie zależą od przypisania Installed App.

Konfiguracja w ElevenLabs

1

Zaimportuj numer telefonu Exotel

W panelu ElevenAgents przejdź do zakładki Phone Numbers. Kliknij + Import number i wybierz z listy From Exotel.

ElevenAgents: lista Import number z wybraną opcją From Exotel

Wypełnij następujące pola:

  • Label: Opisowa nazwa (np. Support Line).
  • Phone number: Numer Exotel w formacie E.164 (np. +918048961234).
  • Exotel Account SID: Z kroku 1 powyżej.
  • Exotel API Key: Z kroku 1 powyżej.
  • Exotel API Token: Z kroku 1 powyżej (przechowywany jako sekret workspace).
  • Region: Wybierz Singapore (api.exotel.com) lub Mumbai (api.in.exotel.com), zgodnie z klastrem Exotel.
  • Voicebot Applet ID: App ID z kroku 2 powyżej.

Kliknij Import, aby zapisać numer. ElevenLabs sprawdzi dane logowania w Exotel i zapisze token API jako sekret workspace.

2

Przypisz agenta

Po zaimportowaniu numeru otwórz go na liście Phone Numbers i wybierz agenta, który ma obsługiwać połączenia przychodzące, z listy Assigned agent.

Połączenia przychodzące wymagają przypisania apletu Voicebot do numeru po stronie Exotel (zobacz poprzednią sekcję). Konfiguracje tylko dla połączeń wychodzących nie wymagają przypisania dla połączeń przychodzących.

3

Przetestuj połączenie przychodzące

Zadzwoń na numer Exotel z dowolnego telefonu. Exotel skieruje połączenie do apletu Voicebot, który otworzy WebSocket do ElevenLabs. Agent odbierze i rozpocznie rozmowę.

Monitoruj połączenie w panelu historii połączeń, aby sprawdzić, czy wszystko działa zgodnie z oczekiwaniami.

Wykonywanie połączeń wychodzących

Zaimportowane numery Exotel mogą też inicjować połączenia wychodzące. Agent wybiera numer telefonu i rozpoczyna rozmowę, gdy odbiorca odbierze.

1

Zainicjuj połączenie wychodzące

W zakładce Phone Numbers znajdź numer Exotel i kliknij przycisk Outbound call.

2

Skonfiguruj połączenie

W oknie Outbound Call:

  1. Wybierz agenta, który będzie prowadzić rozmowę.
  2. Wpisz numer telefonu odbiorcy w formacie E.164.
  3. Kliknij Send Test Call, aby rozpocząć połączenie.

ElevenLabs wywołuje Connect API Exotel, używając zapisanych danych logowania. Exotel wybiera numer odbiorcy i kieruje dźwięk z powrotem przez aplet Voicebot po odebraniu połączenia.

Przy połączeniach wychodzących twój agent inicjuje rozmowę, więc upewnij się, że ma skonfigurowaną odpowiednią pierwszą wiadomość.

Aby wywoływać połączenia wychodzące programowo zamiast z panelu, użyj endpointu Outbound call via Exotel. Dokumentacja API zawiera schemat żądania i gotowe do użycia fragmenty SDK.

Wymagania konfiguracji agenta

Aplet Voicebot przesyła dźwięk w formacie 8 kHz PCM. Platforma ElevenLabs automatycznie obsługuje konwersję formatu audio. Nie musisz zmieniać ustawień TTS ani wejściowego audio agenta.

Formaty numerów telefonów

Numery telefonów są przechowywane w formacie E.164 (np. +918048961234). Importując indyjski numer Exotel, który lokalnie można zapisać jako 08048961234 lub 8048961234, wpisz +918048961234. ElevenLabs odrzuci duplikaty tego samego numeru importowane w różnych formatach.

Przekazywanie rozmów

Możesz przekazywać rozmowy od agenta z powrotem do Exotel, konfigurując u agenta narzędzie Transfer to number. Gdy narzędzie zostanie uruchomione, ElevenLabs zakończy połączenie Voicebot, a Exotel pobierze numer docelowy z dynamicznego adresu połączonego apletu Connect, a następnie wybierze ten numer.

Aby to działało, potrzebujesz obu elementów:

  1. Opcjonalnego apletu Connect skonfigurowanego bezpośrednio po aplecie Voicebot w flow ExoML (zobacz krok 5 w Konfiguracji w Exotel).
  2. Narzędzia Transfer to number skonfigurowanego u agenta. Zobacz przewodnik po przekazywaniu rozmów przez agenta.

Bez apletu Connect w flow próby przekazania rozmowy przez agenta zakończą się niepowodzeniem, ponieważ Exotel nie będzie miał dokąd skierować połączenia po zakończeniu Voicebot.

Rozwiązywanie problemów

ElevenLabs otrzymało odpowiedź inną niż 200 z Connect API Exotel. Najczęstsze przyczyny to:

  • Nieprawidłowy Region. Upewnij się, że region wybrany podczas importu odpowiada klastrowi Exotel, w którym znajduje się twoje konto (Singapore lub Mumbai).
  • Nieprawidłowy API Key lub API Token. Sprawdź ponownie dane na stronie API Settings Exotel i zaimportuj numer ponownie z poprawnymi wartościami.
  • Account SID nie pasuje do pary API Key / Token.
  • Numer docelowy nie jest w formacie E.164.
  • Sprawdź, czy pole URL apletu Voicebot dokładnie odpowiada endpointowi WebSocket ElevenLabs dla twojej rezydencji danych (w tym wss://).
  • Sprawdź, czy numer telefonu Exotel jest skierowany do aplikacji ExoML zawierającej aplet Voicebot (panel Exotel, ExoPhones, numer, Installed App).
  • W ElevenLabs sprawdź, czy numer telefonu ma przypisanego agenta w zakładce Phone Numbers.

Pole Voicebot Applet ID oczekuje numerycznego App ID z adresu URL edytora ExoML (np. dla .../exoml/start_voice/12345 ID to 12345). Nie wklejaj pełnego adresu URL. Użyj tylko ID.

ElevenLabs normalizuje numery Exotel do E.164 przed zapisaniem i wymusza unikalność dla (provider, phone_number). Jeśli wcześniej zaimportowałeś ten sam numer w formacie innym niż E.164, najpierw usuń stary wpis, a potem zaimportuj go ponownie w formacie E.164.

Przydatne linki