ThunderPhone 2.0 вече е тук.Започнете самостоятелно — от 2 цента/мин.Прочетете съобщението

Connect tools & data

Използвайте ThunderPhone с n8n

Инсталирайте възела ThunderPhone за n8n, свържете API ключ за сървър и изградете работен процес, който се изпълнява всеки път, когато разговор приключи.

n8n е инструмент за автоматизация на работни процеси. Пакетът ThunderPhone за n8n добавя два възела:

  • ThunderPhone Trigger стартира работен процес, когато разговор приключи (Call Completed) или когато завърши изпълнение за оценяване на разговор (Call Graded).
  • ThunderPhone извършва изходящи обаждания, добавя контакти към кампании и ги стартира, извлича обаждания с техния транскрипт и запис и изброява вашите агенти и телефонни номера.

Това е потвърден общностен възел, публикуван в ThunderPhone в n8n.

Инсталиране на възела

В редактора на n8n щракнете върху +, за да отворите панела с възли, и потърсете ThunderPhone. Възможно е собственикът на инстанцията да трябва да настрои потвърдени възли, преди други потребители да могат да ги добавят.

При самостоятелно хостван n8n можете също да инсталирате чрез името на пакета: отворете Настройки > Общностни възли и инсталирайте n8n-nodes-thunderphone. Проверете рисковете от общностните възли и правилата на вашата инстанция, преди да инсталирате.

Създаване на сървърен API ключ

  1. Отворете раздела Keys

    В ThunderPhone отидете на Организация → Keys и щракнете върху Създаване на ключ.

  2. Дайте му име

    Използвайте име, което указва къде се намира ключът, например „n8n“.

  3. Копирайте го сега

    Пълната тайна sk_live_... се показва само веднъж. Копирайте я, преди да затворите диалоговия прозорец.

Само администратор или собственик може да създаде ключа и ThunderPhone третира заявките, направени с него, като идващи от този човек. Тригерът и операциите с кампании изискват този човек да запази ролята на администратор или собственик. Създаване на сървърен API ключ обхваща ротацията и отмяната.

Добавяне на идентификационните данни в n8n

  1. В n8n създайте идентификационни данни от тип ThunderPhone API.
  2. Поставете ключа в API Key.
  3. Запазете ги и изпълнете теста на идентификационните данни. Тестът прочита едно обаждане от вашата организация чрез GET /v1/calls?limit=1.

Създайте първи работен процес

Този работен процес добавя ред в Google Sheets всеки път, когато разговор приключи.

  1. Добавете задействането

    Добавете Задействане на ThunderPhone, изберете своите идентификационни данни за API на ThunderPhone и задайте Събитие на Разговорът е завършен.

  2. Получете разговора

    Добавете възел ThunderPhone. Задайте Ресурс на Разговор, Операция на Получаване и ID на разговора на израза {{ $json.data.call_id }}. Изходът е записът на разговора плюс transcripts и recording_url — кратковременна връзка, която е null, когато разговорът няма запис.

  3. Добавете ред

    Добавете възел Google Sheets, който добавя ред, и съпоставете желаните колони от изхода на Get Call (вижте таблицата по-долу).

  4. Активирайте работния процес

    Запазете и активирайте. Задействането регистрира своя продукционен URL като крайна точка за уебкука във вашата организация в ThunderPhone. Деактивирането на работния процес изтрива тази крайна точка.

  5. Тествайте

    Отворете агент в конструктора, щракнете върху Говорене и приключете разговора. Тестовите разговори от конструктора се доставят като web.complete — едно от двете събития зад „Разговорът е завършен“, така че работният процес се изпълнява и се появява ред.

Полезни колони:

КолонаИзраз
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), когато е засегната здравна информация, и запазвайте само необходимите полета.