ThunderPhone 2.0 jest już dostępny.Uruchom samodzielnie, od 2¢/min.Przeczytaj komunikat

Connect tools & data

Używaj ThunderPhone z n8n

Zainstaluj węzeł ThunderPhone dla n8n, połącz klucz API serwera i utwórz przepływ pracy uruchamiany za każdym razem, gdy połączenie się kończy.

n8n to narzędzie do automatyzacji przepływów pracy. Pakiet ThunderPhone dla n8n dodaje dwa węzły:

  • Wyzwalacz ThunderPhone uruchamia przepływ pracy, gdy połączenie się kończy (Połączenie zakończone) lub gdy zakończy się uruchomienie oceny połączenia (Połączenie ocenione).
  • ThunderPhone wykonuje połączenia wychodzące, dodaje kontakty do kampanii i je uruchamia, pobiera połączenia wraz z ich transkrypcją i nagraniem oraz wyświetla listę Twoich agentów i numerów telefonów.

Jest to zweryfikowany węzeł społeczności, dostępny na stronie ThunderPhone w n8n.

Zainstaluj węzeł

W edytorze n8n kliknij +, aby otworzyć panel węzłów, i wyszukaj ThunderPhone. Właściciel instancji może najpierw potrzebować skonfigurować zweryfikowane węzły, zanim inni użytkownicy będą mogli je dodać.

W samodzielnie hostowanym n8n możesz również zainstalować pakiet według nazwy: otwórz Ustawienia > Węzły społeczności i zainstaluj n8n-nodes-thunderphone. Sprawdź ryzyko związane z węzłami społeczności i zasady swojej instancji, zanim rozpoczniesz instalację.

Utwórz klucz API serwera

  1. Otwórz kartę Klucze

    W ThunderPhone przejdź do Organizacja → Klucze i kliknij Utwórz klucz.

  2. Nadaj mu nazwę

    Użyj nazwy wskazującej, gdzie znajduje się klucz, na przykład „n8n”.

  3. Skopiuj go teraz

    Pełny sekret sk_live_... jest wyświetlany tylko raz. Skopiuj go przed zamknięciem okna dialogowego.

Tylko administrator lub właściciel może utworzyć klucz, a ThunderPhone traktuje żądania wykonane przy jego użyciu jako pochodzące od tej osoby. Wyzwalacz i operacje na kampaniach wymagają, aby ta osoba zachowała rolę administratora lub właściciela. Utwórz klucz API serwera opisuje rotację i unieważnianie kluczy.

Dodaj poświadczenie w n8n

  1. W n8n utwórz poświadczenie typu ThunderPhone API.
  2. Wklej klucz w polu Klucz API.
  3. Zapisz je i uruchom test poświadczenia. Test odczytuje jedno połączenie z Twojej organizacji za pomocą GET /v1/calls?limit=1.

Utwórz pierwszy przepływ pracy

Ten przepływ pracy dodaje wiersz do Arkuszy Google za każdym razem, gdy połączenie się kończy.

  1. Dodaj wyzwalacz

    Dodaj wyzwalacz ThunderPhone, wybierz poświadczenia API ThunderPhone i ustaw Zdarzenie na Połączenie zakończone.

  2. Pobierz połączenie

    Dodaj węzeł ThunderPhone. Ustaw Zasób na Połączenie, Operację na Pobierz oraz ID połączenia na wyrażenie {{ $json.data.call_id }}. Dane wyjściowe obejmują rekord połączenia oraz transcripts i recording_url, czyli krótkotrwały link, który ma wartość null, gdy połączenie nie ma nagrania.

  3. Dodaj wiersz

    Dodaj węzeł Arkuszy Google, który dopisuje wiersz, i zmapuj wybrane kolumny z danych wyjściowych Pobierz połączenie (zobacz tabelę poniżej).

  4. Aktywuj przepływ pracy

    Zapisz i aktywuj. Wyzwalacz rejestruje swój produkcyjny adres URL jako punkt końcowy webhooka w organizacji ThunderPhone. Dezaktywacja przepływu pracy usuwa ten punkt końcowy.

  5. Przetestuj

    Otwórz agenta w kreatorze, kliknij Rozmawiaj i zakończ połączenie. Połączenia testowe z kreatora są dostarczane jako web.complete, jedno z dwóch zdarzeń stojących za Połączenie zakończone, więc przepływ pracy zostanie uruchomiony i pojawi się wiersz.

Przydatne kolumny:

KolumnaWyrażenie
ID połączenia{{ $json.call_id }}
Kierunek{{ $json.direction }}
Od{{ $json.from_number }}
Do{{ $json.to_number }}
Rozpoczęto{{ $json.start_time }}
Czas trwania (s){{ $json.duration_seconds }}
Status{{ $json.status }}
Powód zakończenia{{ $json.end_reason }}
Link do połączeniahttps://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }}

Link do połączenia otwiera połączenie w panelu ThunderPhone dla członków Twojej organizacji wraz z transkrypcją i nagraniem, więc arkusz nie musi przechowywać żadnego z nich.

Aby mimo to dodać transkrypcję, zmapuj {{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }}. Adres URL nagrania wygasa, dlatego przechowuj ID połączenia i ponownie uruchom Pobierz połączenie, gdy potrzebujesz aktualnego linku. Transkrypcje, podsumowania i nagrania połączeń mogą zawierać dane osobowe lub informacje o zdrowiu. Wysyłaj je wyłącznie do aplikacji, których Twoja organizacja może używać do przetwarzania tych danych, na podstawie BAA, gdy dotyczą informacji o zdrowiu, i zachowuj tylko potrzebne pola.

Wyzwalacz zwraca kompletne zdarzenie: type, event_id i data. Zobacz telephony.complete / web.complete oraz call.graded, aby poznać wszystkie pola. Dostarczanie odbywa się co najmniej raz, a event_id pozostaje taki sam przy ponownych próbach dostarczenia jednego zdarzenia, dlatego sprawdzaj go przed krokiem, który nie może się powtórzyć.

Bezpieczne wykonywanie połączeń wychodzących

Wykonaj połączenie wychodzące (Zasób Połączenie wychodzące, Operacja Wykonaj) przyjmuje:

PoleZnaczenie
Nazwa lub identyfikator agentaZapisany agent. Lista rozwijana zawiera Twoich agentów.
Nazwa lub identyfikator numeru telefonuNumer, z którego wykonywane jest połączenie. Lista rozwijana zawiera tylko numery włączone dla połączeń wychodzących.
Numer docelowyNumer docelowy w formacie E.164, np. +14155552671.
ZmienneObiekt JSON wartości dla symboli zastępczych w prompcie agenta.
Klucz idempotencjiStały identyfikator z rekordu lub zdarzenia nadrzędnego. Wymagany.

Przypisz Klucz idempotencji do identyfikatora z elementu, który spowodował uruchomienie, na przykład identyfikatora rekordu CRM lub event_id zdarzenia wyzwalającego. Węzeł wysyła n8n:<node ID>:<your value>, więc:

  • Automatyczna ponowna próba lub Ponów wykonanie wysyła ten sam klucz, a ThunderPhone zwraca pierwotne połączenie z idempotent_replay: true zamiast ponownie wybierać numer.
  • Dwa węzły ThunderPhone zasilane tym samym rekordem wysyłają różne klucze.
  • Pusta wartość powoduje błąd przed wysłaniem jakiegokolwiek żądania.

Unikaj znaczników czasu, wartości losowych oraz identyfikatorów wykonań lub przepływów pracy n8n. Nowa wartość przy ponownej próbie wykonuje drugie rzeczywiste połączenie. Cały klucz może mieć maksymalnie 128 znaków. Ponowne użycie klucza z innym agentem, numerem lub zmiennymi powoduje konflikt.

Kampanie. Dodaj kontakty (Zasób Kampania) dodaje kontakty do wersji roboczej kampanii. Przyjmuje identyfikator kampanii oraz tablicę JSON kontaktów. Każdy kontakt wymaga phone_number; pozostałe klucze stają się zmiennymi połączenia. Węzeł kończy się błędem, gdy każdy kontakt zostanie odrzucony, i ustawia partial_success: true, gdy odrzucone zostaną tylko niektóre. Uruchom wymaga zaznaczenia pola wyboru potwierdzającego, że kampania wykonuje rzeczywiste połączenia i wykorzystuje środki ThunderPhone. Zobacz Kampanie wychodzące.

Przed uruchomieniem połączeń przez przepływ pracy:

  • Jeśli ThunderPhone prosi Twoją organizację o potwierdzenie, że jej połączenia wychodzące są zgodne z TCPA i innymi przepisami dotyczącymi połączeń, administrator musi najpierw zapisać to potwierdzenie w panelu.
  • Numer, z którego wykonywane jest połączenie, musi być włączony dla połączeń wychodzących. Numery przeniesione od własnego operatora kwalifikują się po weryfikacji. Numery ThunderPhone są początkowo dostępne tylko dla połączeń przychodzących i mogą zostać zatwierdzone do użytku wychodzącego: administrator składa wniosek na stronie Numery telefonów. Zobacz Uzyskaj numer telefonu.
  • Twoja organizacja odpowiada za uzyskanie zgody na połączenie z każdym numerem oraz za przestrzeganie obowiązujących przepisów dotyczących połączeń. Zobacz Przepisy dotyczące połączeń wychodzących.

Przykładowe przepływy pracy

  • Kontakty CRM do kampanii. Dodaj kontakty CRM do wersji roboczej kampanii ThunderPhone, a następnie uruchom kampanię, gdy ktoś zatwierdzi listę.
  • Zakończone połączenie do rekordu klienta. Po zdarzeniu Połączenie zakończone uruchom Pobierz połączenie i zapisz transkrypcję oraz link do nagrania w pasującym rekordzie klienta.
  • Niskie oceny do weryfikacji. Po zdarzeniu Połączenie ocenione filtruj według {{ $json.data.grade.score }} i kieruj połączenia z niską oceną do kolejki weryfikacji z identyfikatorem połączenia i szczegółami oceny. Połączenie może zostać ocenione więcej niż raz, a każde zakończone uruchomienie oceniania wyzwala zdarzenie, dlatego zachowuj tylko najnowsze graded_at dla każdego identyfikatora połączenia.

Transkrypcje, podsumowania i nagrania połączeń mogą zawierać dane osobowe lub informacje o zdrowiu. Wysyłaj je wyłącznie do aplikacji, których Twoja organizacja może używać do przetwarzania tych danych, na podstawie umowy BAA, gdy dotyczą one informacji o zdrowiu, i zachowuj tylko pola, których potrzebujesz.