Open in
Sử dụng ThunderPhone với n8n
Cài đặt node ThunderPhone cho n8n, kết nối khóa API máy chủ và xây dựng workflow chạy mỗi khi cuộc gọi kết thúc.
n8n là công cụ tự động hóa quy trình làm việc. Gói ThunderPhone dành cho n8n bổ sung hai node:
- ThunderPhone Trigger khởi chạy quy trình làm việc khi cuộc gọi kết thúc (Cuộc gọi hoàn tất) hoặc khi lượt chấm điểm cuộc gọi hoàn tất (Cuộc gọi đã được chấm điểm).
- ThunderPhone thực hiện cuộc gọi đi, thêm liên hệ vào chiến dịch và khởi động chiến dịch, lấy cuộc gọi kèm bản chép lời và bản ghi âm, đồng thời liệt kê tác nhân AI và số điện thoại của bạn.
Đây là node cộng đồng đã được xác minh, được liệt kê tại ThunderPhone trên n8n.
Cài đặt node
Trong trình chỉnh sửa n8n, nhấp + để mở bảng node và tìm kiếm ThunderPhone. Chủ sở hữu phiên bản có thể cần thiết lập các node đã được xác minh trước khi người dùng khác có thể thêm chúng.
Trên n8n tự lưu trữ, bạn cũng có thể cài đặt theo tên gói: mở
Cài đặt > Node cộng đồng và cài đặt n8n-nodes-thunderphone. Kiểm tra rủi ro của node cộng đồng và chính sách phiên bản của bạn
trước khi cài đặt.
Tạo khóa API máy chủ
- Mở tab Khóa
Trong ThunderPhone, đi tới Tổ chức → Khóa và nhấp Tạo khóa.
- Đặt tên
Dùng tên cho biết khóa được dùng ở đâu, chẳng hạn như "n8n".
- Sao chép ngay
Bí mật
sk_live_...đầy đủ chỉ hiển thị một lần. Sao chép trước khi bạn đóng hộp thoại.
Chỉ quản trị viên hoặc chủ sở hữu mới có thể tạo khóa, và ThunderPhone coi các yêu cầu được thực hiện bằng khóa này là đến từ người đó. Trigger và các thao tác chiến dịch yêu cầu người đó duy trì vai trò quản trị viên hoặc chủ sở hữu. Tạo khóa API máy chủ hướng dẫn về xoay vòng và thu hồi khóa.
Thêm thông tin xác thực trong n8n
- Trong n8n, tạo thông tin xác thực thuộc loại ThunderPhone API.
- Dán khóa vào Khóa API.
- Lưu và chạy kiểm tra thông tin xác thực. Bài kiểm tra sẽ đọc một cuộc gọi từ
tổ chức của bạn bằng
GET /v1/calls?limit=1.
Xây dựng workflow đầu tiên
Workflow này thêm một hàng vào Google Sheet mỗi khi cuộc gọi kết thúc.
- Thêm trigger
Thêm ThunderPhone Trigger, chọn thông tin xác thực API ThunderPhone của bạn, rồi đặt Sự kiện thành Cuộc gọi hoàn tất.
- Lấy cuộc gọi
Thêm một node ThunderPhone. Đặt Tài nguyên thành Cuộc gọi, Thao tác thành Lấy, và ID cuộc gọi thành biểu thức
{{ $json.data.call_id }}. Đầu ra là bản ghi cuộc gọi cùng vớitranscriptsvàrecording_url, một liên kết có thời hạn ngắn sẽ lànullkhi cuộc gọi không có bản ghi âm. - Thêm một hàng
Thêm một node Google Sheets để thêm một hàng, rồi ánh xạ các cột bạn muốn từ đầu ra Lấy cuộc gọi (xem bảng bên dưới).
- Kích hoạt workflow
Lưu và kích hoạt. Trigger đăng ký URL Production của nó làm endpoint webhook trong tổ chức ThunderPhone của bạn. Việc hủy kích hoạt workflow sẽ xóa endpoint đó.
- Kiểm tra
Mở một tác nhân AI trong builder, nhấp Trò chuyện, rồi kết thúc cuộc gọi. Các cuộc gọi kiểm tra trong builder được gửi dưới dạng
web.complete, một trong hai sự kiện thuộc Cuộc gọi hoàn tất, nên workflow chạy và một hàng xuất hiện.
Các cột hữu ích:
| Cột | Biểu thức |
|---|---|
| ID cuộc gọi | {{ $json.call_id }} |
| Hướng | {{ $json.direction }} |
| Từ | {{ $json.from_number }} |
| Đến | {{ $json.to_number }} |
| Bắt đầu | {{ $json.start_time }} |
| Thời lượng (giây) | {{ $json.duration_seconds }} |
| Trạng thái | {{ $json.status }} |
| Lý do kết thúc | {{ $json.end_reason }} |
| Liên kết cuộc gọi | https://app.thunderphone.com/dashboard/call-history/{{ $json.call_id }} |
Liên kết cuộc gọi mở cuộc gọi trong bảng điều khiển ThunderPhone cho các thành viên trong tổ chức của bạn, kèm bản chép lời và bản ghi âm, nên bảng tính không cần lưu cả hai.
Để vẫn thêm bản chép lời, hãy ánh xạ
{{ $json.transcripts.filter(t => typeof t.content === 'string').map(t => t.role + ': ' + t.content).join('\n') }}.
URL bản ghi âm sẽ hết hạn, vì vậy hãy lưu ID cuộc gọi và chạy lại Lấy cuộc gọi khi
bạn cần liên kết mới. Bản chép lời, bản tóm tắt và bản ghi âm cuộc gọi có thể chứa
thông tin cá nhân hoặc thông tin sức khỏe. Chỉ gửi chúng đến các ứng dụng mà tổ chức
của bạn được phép sử dụng cho dữ liệu đó, theo BAA khi có liên quan đến thông tin
sức khỏe, và chỉ lưu các trường bạn cần.
Trigger xuất toàn bộ sự kiện: type, event_id và data. Xem
telephony.complete / web.complete và
call.graded để biết mọi trường. Việc gửi được đảm bảo ít nhất một lần,
và event_id giữ nguyên qua các lần thử lại của một sự kiện, vì vậy hãy kiểm tra
nó trước bước không được phép lặp lại.
Thực hiện cuộc gọi đi an toàn
Thực hiện cuộc gọi đi (Tài nguyên Cuộc gọi đi, Hoạt động Thực hiện) nhận:
| Trường | Ý nghĩa |
|---|---|
| Tên hoặc ID tác nhân AI | Một tác nhân AI đã lưu. Danh sách thả xuống liệt kê các tác nhân AI của bạn. |
| Tên hoặc ID số điện thoại | Số gọi đi. Danh sách thả xuống chỉ liệt kê các số đã bật cuộc gọi đi. |
| Số nhận | Số đích ở định dạng E.164, ví dụ: +14155552671. |
| Biến | Đối tượng JSON gồm các giá trị cho chỗ giữ chỗ trong prompt của tác nhân AI. |
| Khóa Idempotency | ID ổn định từ bản ghi hoặc sự kiện ở nguồn trên. Bắt buộc. |
Ánh xạ Khóa Idempotency tới một ID từ bất kỳ yếu tố nào đã gây ra lần chạy, chẳng hạn như
ID bản ghi CRM hoặc event_id của trình kích hoạt. Nút gửi
n8n:<node ID>:<your value>, do đó:
- Lần thử lại tự động hoặc Thử lại lần thực thi gửi cùng một khóa, và
ThunderPhone trả về cuộc gọi ban đầu với
idempotent_replay: truethay vì quay số lại. - Hai nút ThunderPhone nhận cùng một bản ghi sẽ gửi các khóa khác nhau.
- Giá trị trống sẽ thất bại trước khi bất kỳ yêu cầu nào được gửi.
Tránh dùng dấu thời gian, giá trị ngẫu nhiên và ID lần thực thi hoặc workflow của n8n. Giá trị mới khi thử lại sẽ thực hiện cuộc gọi thực thứ hai. Toàn bộ khóa có thể dài tối đa 128 ký tự. Dùng lại một khóa với tác nhân AI, số điện thoại hoặc biến khác sẽ thất bại do xung đột.
Chiến dịch. Thêm liên hệ (Tài nguyên Chiến dịch) thêm liên hệ vào
một chiến dịch nháp. Tác vụ này nhận ID chiến dịch và một mảng JSON các liên hệ. Mỗi liên hệ cần phone_number; các khóa khác
trở thành biến cuộc gọi. Nút sẽ thất bại khi mọi liên hệ đều bị từ chối và đặt
partial_success: true khi chỉ một số liên hệ bị từ chối. Bắt đầu yêu cầu chọn hộp kiểm
xác nhận rằng chiến dịch thực hiện cuộc gọi thực và sử dụng credit ThunderPhone.
Xem Chiến dịch gọi đi.
Trước khi một workflow bắt đầu thực hiện cuộc gọi:
- Nếu ThunderPhone yêu cầu tổ chức của bạn xác nhận rằng các cuộc gọi đi tuân thủ TCPA và các luật gọi điện khác, quản trị viên phải ghi nhận xác nhận đó trong bảng điều khiển trước.
- Số gọi đi phải được bật cho cuộc gọi đi. Các số bạn mang từ nhà mạng của mình đủ điều kiện sau khi được xác minh. Số ThunderPhone ban đầu chỉ nhận cuộc gọi đến và có thể được phê duyệt để dùng cho cuộc gọi đi: quản trị viên yêu cầu việc này từ trang Số điện thoại. Xem Lấy số điện thoại.
- Tổ chức của bạn chịu trách nhiệm bảo đảm có sự đồng ý để gọi đến từng số và tuân thủ các luật gọi điện áp dụng. Xem Luật gọi điện đi.
Workflow mẫu
- Liên hệ CRM vào chiến dịch. Thêm liên hệ CRM vào một chiến dịch ThunderPhone nháp, sau đó bắt đầu chiến dịch khi có người phê duyệt danh sách.
- Cuộc gọi hoàn tất vào bản ghi khách hàng. Khi Cuộc gọi hoàn tất, chạy Lấy cuộc gọi và lưu bản chép lời cùng liên kết bản ghi âm vào bản ghi khách hàng tương ứng.
- Điểm thấp để xem xét. Khi Cuộc gọi được chấm điểm, lọc theo
{{ $json.data.grade.score }}và chuyển các cuộc gọi có điểm thấp đến hàng đợi xem xét kèm ID cuộc gọi và chi tiết điểm đánh giá. Một cuộc gọi có thể được chấm điểm nhiều lần, và mỗi lần chạy chấm điểm hoàn tất sẽ kích hoạt trình kích hoạt, vì vậy chỉ giữ lạigraded_atmới nhất cho mỗi ID cuộc gọi.
Bản chép lời, bản tóm tắt và bản ghi âm cuộc gọi có thể chứa thông tin cá nhân hoặc thông tin sức khỏe. Chỉ gửi chúng đến các ứng dụng mà tổ chức của bạn được phép sử dụng cho dữ liệu đó, theo BAA khi có liên quan đến thông tin sức khỏe, và chỉ giữ lại các trường bạn cần.