Cara Kerjanya
- Tentukan alat dengan skema (argumen yang diterima alat)
- Sediakan konfigurasi
endpoint(tempat ThunderPhone memanggil API Anda) — atau biarkan kosong untuk menerima panggilan alat pada webhook organisasi Anda - Selama panggilan, AI memutuskan kapan menggunakan alat berdasarkan percakapan
- ThunderPhone memanggil endpoint Anda dengan argumen alat
- Respons API Anda dikirim kembali ke AI untuk melanjutkan percakapan
Alat fungsi adalah jalur bawa-API-Anda-sendiri. ThunderPhone juga
menyediakan alat yang dikelola Platform dan tidak memerlukan endpoint:
koneksi aplikasi (HubSpot, Salesforce, Slack,
Google Calendar, Google Sheets, Cal.com),
koneksi API, dan
server MCP.
Skema Alat
Setiap alat mengikuti struktur ini:Definisi Fungsi
Konfigurasi Endpoint
Konfigurasi
endpoint tidak dikirim ke model AI—konfigurasi ini hanya digunakan oleh ThunderPhone untuk menjalankan panggilan alat.Dua jalur pemanggilan
Permintaan yang diterima server Anda bergantung pada apakah alat memilikiendpoint:
Kedua jalur bersifat memblokir — AI menunggu di tengah kalimat untuk
hasilnya — dengan batas waktu 20 d. Pastikan handler tetap cepat.
Kombinasi keduanya tidak masalah: pada panggilan dengan organisasi yang memiliki URL webhook,
alat dengan
endpoint dipanggil langsung dan sisanya kembali menggunakan webhook.
Panggilan endpoint langsung
Saat AI memanggil tool yang memilikiendpoint, ThunderPhone mengirimkan
permintaan ke URL Anda:
Header Permintaan
endpoint.headers Anda selalu disertakan
secara verbatim, ditambah dua header dengan namespace ThunderPhone:
X-ThunderPhone-Signature— HMAC-SHA256 dari byte body permintaan yang tepat, menggunakan secret webhook organisasi Anda sebagai kunciX-ThunderPhone-Call-ID— ID panggilan saat ini
Content-Type: application/json ditetapkan kecuali endpoint.headers
Anda menimpanya — Content-Type kustom akan digunakan.
Body Permintaan
UntukPOST / PUT / PATCH, body hanya berisi argumen tool
(tanpa wrapper), yang diserialisasi secara kanonis (kunci diurutkan, pemisah
ringkas):
GET / DELETE, argumen dikirim sebagai parameter kueri
dan body kosong — tanda tangan kemudian dihitung atas string byte kosong.
Lihat
Verifikasi tanda tangan webhook.
Respons
Kembalikan respons JSON dengan hasil tool:{"data": "<text>"};
timeout dan kegagalan koneksi dilaporkan kepada AI sebagai error, sehingga
agen dapat meminta maaf dan melanjutkan alih-alih terhenti.
Pengiriman mode webhook
Tool tanpaendpoint dikirim ke URL webhook lama organisasi Anda
sebagai permintaan telephony.tool (panggilan telepon) atau web.tool
(panggilan web) yang ditandatangani. Tidak seperti notifikasi audit
yang dikirimkan ke endpoint webhook setelah eksekusi, permintaan ini adalah
eksekusinya — respons HTTP Anda adalah hasil tool.
web.tool membawa origin_domain alih-alih from_number /
to_number. Respons dengan hasil tool sebagai JSON — kontrak responsnya
sama seperti panggilan endpoint langsung. Permintaan ditandatangani dengan
secret webhook organisasi atas body mentah, seperti setiap webhook lainnya.
Endpoint webhook yang berlangganan juga
menerima notifikasi
telephony.tool / web.tool nonpemblokiran
setelah setiap tool dieksekusi (jalur mana pun yang menjalankannya), termasuk
respons tool — berguna untuk jejak audit. Lihat
katalog event.Verifikasi Tanda Tangan
Panggilan alat langsung ditandatangani dengan cara yang sama seperti webhook:- HMAC-SHA256 atas byte isi permintaan yang persis sama (JSON kanonis — kunci diurutkan, tanpa spasi tambahan)
- Menggunakan secret webhook organisasi Anda sebagai kunci
- Alat
GET/DELETEmenandatangani string byte kosong
Contoh: Alur Pemesanan Lengkap
Berikut adalah sekumpulan alat untuk sistem pemesanan janji temu lengkap:Praktik Terbaik
Tulis deskripsi yang jelas
Tulis deskripsi yang jelas
Kolom
description membantu AI memahami kapan harus menggunakan tool. Jelaskan secara spesifik fungsi tool tersebut dan kapan tool tersebut sesuai digunakan.Tangani error dengan baik
Tangani error dengan baik
Kembalikan pesan error yang dapat dipahami AI:
{"error": "No slots available for that date"} alih-alih error 500 generik.Jaga respons tetap ringkas
Jaga respons tetap ringkas
Kembalikan hanya informasi yang diperlukan AI untuk melanjutkan percakapan. Payload besar memperlambat waktu respons.
Gunakan kolom wajib dengan bijak
Gunakan kolom wajib dengan bijak
Tandai kolom sebagai
required hanya jika benar-benar diperlukan. AI akan meminta informasi wajib kepada pengguna sebelum memanggil tool.Terkait
Koneksi aplikasi
Tool yang dikelola Platform untuk HubSpot, Salesforce, Slack, Google
Calendar, Google Sheets, dan Cal.com — tidak memerlukan endpoint.
Server MCP
Hubungkan server MCP dan biarkan agen memanggil tool-nya.
Koneksi API
Integrasi REST yang dapat digunakan kembali dan dapat Anda hubungkan ke agen.
Verifikasi signature webhook
Satu helper verifikasi untuk webhook dan pemanggilan tool.