Open in
Використовуйте ThunderPhone з n8n
Встановіть вузол ThunderPhone для n8n, підключіть ключ API сервера та створіть робочий процес, який запускатиметься щоразу після завершення дзвінка.
n8n — це інструмент автоматизації робочих процесів. Пакет ThunderPhone для n8n додає два вузли:
- Тригер ThunderPhone запускає робочий процес після завершення дзвінка (Дзвінок завершено) або завершення перевірки якості дзвінка (Дзвінок оцінено).
- ThunderPhone здійснює вихідні дзвінки, додає контакти до кампаній і запускає їх, отримує дзвінки з їхніми транскриптами та записами, а також показує список ваших агентів і номерів телефонів.
Це перевірений вузол спільноти, представлений на сторінці ThunderPhone на n8n.
Установіть вузол
У редакторі n8n натисніть +, щоб відкрити панель вузлів, і знайдіть ThunderPhone. Власнику інстансу може знадобитися налаштувати перевірені вузли, перш ніж інші користувачі зможуть їх додавати.
У self-hosted n8n також можна встановити пакет за назвою: відкрийте
Налаштування > Вузли спільноти та встановіть n8n-nodes-thunderphone. Перевірте ризики вузлів спільноти та політику вашого інстансу,
перш ніж установлювати.
Створіть серверний API-ключ
- Відкрийте вкладку «Ключі»
У ThunderPhone перейдіть до Організація → Ключі та натисніть Створити ключ.
- Назвіть його
Використайте назву, яка вказує, де зберігається ключ, наприклад «n8n».
- Скопіюйте його зараз
Повний секрет
sk_live_...відображається лише один раз. Скопіюйте його, перш ніж закрити діалогове вікно.
Лише адміністратор або власник може створити ключ, і ThunderPhone вважає запити, зроблені з ним, запитами від цієї особи. Для тригера та операцій із кампаніями ця особа має зберігати роль адміністратора або власника. Створення серверного API-ключа описує ротацію та відкликання.
Додайте облікові дані в n8n
- У n8n створіть облікові дані типу ThunderPhone API.
- Вставте ключ у поле API-ключ.
- Збережіть їх і запустіть перевірку облікових даних. Перевірка зчитує один дзвінок з вашої
організації за допомогою
GET /v1/calls?limit=1.
Створіть перший робочий процес
Цей робочий процес додає рядок до Google Sheets щоразу після завершення дзвінка.
- Додайте тригер
Додайте ThunderPhone Trigger, виберіть облікові дані API ThunderPhone і встановіть для Event значення Call Completed.
- Отримайте дзвінок
Додайте вузол ThunderPhone. Установіть для Resource значення Call, для Operation — Get, а для Call ID — вираз
{{ $json.data.call_id }}. Вивід містить запис дзвінка, а такожtranscriptsіrecording_url— короткочасне посилання, яке має значенняnull, якщо запису дзвінка немає. - Додайте рядок
Додайте вузол Google Sheets, який додає рядок, і зіставте потрібні стовпці з виводу Get Call (див. таблицю нижче).
- Активуйте робочий процес
Збережіть і активуйте. Тригер реєструє свою Production URL як кінцеву точку вебхука у вашій організації ThunderPhone. Деактивація робочого процесу видаляє цю кінцеву точку.
- Протестуйте
Відкрийте агента в конструкторі, натисніть Talk і завершіть дзвінок. Тестові дзвінки конструктора надходять як
web.complete— одна з двох подій, що лежать в основі Call Completed, тому робочий процес запускається й з’являється рядок.
Корисні стовпці:
| Стовпець | Вираз |
|---|---|
| ID дзвінка | {{ $json.call_id }} |
| Напрямок | {{ $json.direction }} |
| Від | {{ $json.from_number }} |
| До | {{ $json.to_number }} |
| Почато | {{ $json.start_time }} |
| Тривалість (с) | {{ $json.duration_seconds }} |
| Статус | {{ $json.status }} |
| Причина завершення | {{ $json.end_reason }} |
| Посилання на дзвінок | https://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }} |
Посилання на дзвінок відкриває дзвінок на інформаційній панелі ThunderPhone для учасників вашої організації разом із транскриптом і записом, тому їх не потрібно зберігати в таблиці.
Щоб усе ж додати транскрипт, зіставте
{{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }}.
URL запису має обмежений строк дії, тому зберігайте ID дзвінка й повторно запускайте Get Call,
коли вам потрібне нове посилання. Транскрипти, підсумки та записи дзвінків можуть містити
персональну інформацію або інформацію про здоров’я. Надсилайте їх лише до застосунків, якими
ваша організація має право користуватися для таких даних, за BAA у разі роботи з інформацією
про здоров’я, і зберігайте лише потрібні поля.
Тригер виводить повну подію: type, event_id і data. Перегляньте
telephony.complete / web.complete та
call.graded, щоб дізнатися про всі поля. Доставка виконується щонайменше один раз,
а event_id залишається однаковим для повторних спроб однієї події, тому перевіряйте його перед
кроком, який не можна повторювати.
Безпечне здійснення вихідних дзвінків
Здійснити вихідний виклик (ресурс Вихідний виклик, операція Здійснити) має такі параметри:
| Поле | Значення |
|---|---|
| Ім’я або ID агента | Збережений агент. У спадному списку наведено ваших агентів. |
| Ім’я або ID номера телефону | Номер відправника. У спадному списку наведено лише номери, увімкнені для вихідних дзвінків. |
| Номер одержувача | Номер призначення у форматі E.164, наприклад +14155552671. |
| Змінні | JSON-об’єкт значень для заповнювачів у запиті агента. |
| Ключ ідемпотентності | Стабільний ID із запису або події вище за потоком. Обов’язковий. |
Зіставте ключ ідемпотентності з ID того, що спричинило запуск, наприклад
ID запису CRM або event_id тригера. Вузол надсилає
n8n:<node ID>:<your value>, тому:
- Автоматична повторна спроба або Повторити виконання надсилає той самий ключ, і
ThunderPhone повертає початковий дзвінок з
idempotent_replay: trueзамість повторного набору номера. - Два вузли ThunderPhone, що отримують той самий запис, надсилають різні ключі.
- Порожнє значення спричиняє помилку до надсилання будь-якого запиту.
Не використовуйте позначки часу, випадкові значення та ID виконання або робочого процесу n8n. Нове значення під час повторної спроби здійснить другий реальний дзвінок. Увесь ключ може містити не більш як 128 символів. Повторне використання ключа з іншим агентом, номером або змінними спричиняє конфлікт.
Кампанії. Додати контакти (ресурс Кампанія) додає контакти до
чернетки кампанії. Для цього потрібні ID кампанії та JSON-масив контактів. Кожному контакту потрібен phone_number; інші ключі
стають змінними дзвінка. Вузол завершується помилкою, коли відхилено всі контакти, і встановлює
partial_success: true, коли відхилено лише деякі з них. Запустити потребує встановлення прапорця,
що підтверджує здійснення кампанією реальних дзвінків і витрачання кредитів ThunderPhone.
Дивіться Вихідні кампанії.
Перш ніж робочий процес почне здійснювати дзвінки:
- Якщо ThunderPhone просить вашу організацію підтвердити, що її вихідні дзвінки відповідають вимогам TCPA та інших законів щодо дзвінків, адміністратор має спочатку зафіксувати це підтвердження на інформаційній панелі.
- Номер відправника має бути ввімкнено для вихідних дзвінків. Номери, які ви додаєте від власного оператора, можна використовувати після перевірки. Номери ThunderPhone спочатку призначені лише для вхідних дзвінків, але можуть бути схвалені для вихідного використання: адміністратор надсилає запит на сторінці «Номери телефонів». Дивіться Отримати номер телефону.
- Ваша організація відповідає за наявність згоди на дзвінки на кожен номер і за дотримання застосовних законів щодо дзвінків. Дивіться Закони щодо вихідних дзвінків.
Приклади робочих процесів
- Контакти CRM до кампанії. Додайте контакти CRM до чернетки кампанії ThunderPhone, а потім запустіть кампанію після схвалення списку.
- Завершений дзвінок до запису клієнта. Після завершення дзвінка запустіть «Отримати дзвінок» і збережіть стенограму та посилання на запис у відповідному записі клієнта.
- Низькі оцінки на перевірку. Після оцінювання дзвінка відфільтруйте за
{{ $json.data.grade.score }}і спрямовуйте дзвінки з низькими оцінками до черги перевірки з ID дзвінка та деталями оцінки. Дзвінок можна оцінювати кілька разів, і кожен завершений процес оцінювання активує тригер, тому зберігайте лише останнійgraded_atдля кожного ID дзвінка.
Стенограми, підсумки та записи дзвінків можуть містити персональні дані або інформацію про здоров’я. Надсилайте їх лише до застосунків, які ваша організація має право використовувати для таких даних, за угодою BAA, якщо йдеться про інформацію про здоров’я, і зберігайте лише потрібні поля.