Dasbor mencakup sebagian besar kebutuhan alat tanpa API ini: Koneksi
→ Aplikasi menghubungkan Slack, HubSpot, Salesforce, Google Calendar,
Google Sheets, dan Cal.com dalam beberapa klik OAuth; Koneksi →
API mengubah API HTTP apa pun menjadi tindakan agen (tempel perintah cURL
dan wizard AI akan menyusun alat, dengan Test Request bawaan); dan
Koneksi → MCP menambahkan server MCP. Lihat
Koneksi. Panduan ini membahas
API mentah yang mendasari antarmuka API.
Anatomi alat
Dua bagian:- Skema — definisi fungsi bergaya OpenAI
(
{type: "function", function: {name, description, parameters}}) yang memberi tahu LLM fungsi alat tersebut dan argumen yang diterimanya. - Endpoint — URL yang dipanggil server ThunderPhone saat LLM memutuskan untuk menggunakan alat tersebut. Permintaannya berupa JSON POST dengan argumen yang dipilih LLM sebagai isi permintaan.
1. Pilih strategi penyimpanan
Inline pada agen
Lampirkan alat sekali pakai ke array
tools agen. Sederhana, tetapi
tidak dapat digunakan kembali.Integrasi tersimpan
Simpan alat sebagai integrasi yang dapat digunakan kembali
dan tautkan dari banyak agen. Direkomendasikan untuk apa pun yang digunakan
lebih dari sekali.
2. Buat integrasi
id yang dikembalikan (sebuah UUID).
3. Uji endpoint di sandbox
Sebelum menautkan integrasi ke agen, kirim permintaan bertanda tangan dari server ThunderPhone untuk mengonfirmasi konektivitas:Response
400 code=url_not_allowed.
4. Tautkan integrasi ke agen
Lampirkan melaluiintegration_ids saat Anda membuat atau memperbarui agen:
get_weather saat penelepon bertanya
tentang kondisi cuaca” — atau agen dapat menemukannya secara implisit dari
deskripsi skema.
5. Implementasikan endpoint
Saat agen memanggil alat, ThunderPhone mengirim POST yang ditandatangani keendpoint_url Anda:
6. Uji alurnya
Jalankan sesi mikrofon terhadap agen dan ajukan pertanyaan yang ditangani alat Anda (“Bagaimana cuaca di 94110?”). Transkrip panggilan menampilkan perjalanan bolak-balik lengkap:GET /v1/calls/{call_id}/transcript;
stream peristiwa mentah (dengan waktu per entri dan offset audio) tersedia di
GET /v1/calls/{call_id}/history.
Hal yang sering terlewat
Agen tidak pernah memanggil alat
Agen tidak pernah memanggil alat
LLM memutuskan berdasarkan deskripsi alat. Jika pertanyaan penelepon
tidak sesuai dengan deskripsi, model tidak akan memanggil
alat. Perjelas deskripsinya (tambahkan sinonim dan
frasa umum) atau sebutkan secara eksplisit dalam Prompt agen (“Saat
penelepon bertanya tentang cuaca, gunakan
get_weather.”).Alat mengembalikan terlalu banyak data
Alat mengembalikan terlalu banyak data
Respons di atas 6 kB dipotong dalam pratinjau transkrip. Kembalikan
hanya kolom yang dibutuhkan LLM — bukan seluruh baris data Anda.
Timeout
Timeout
Endpoint alat memiliki timeout default 10 detik. Jika Anda memerlukan waktu lebih lama,
tangani secara asinkron: kembalikan
{"status": "pending", "request_id": "..."}
dan tampilkan hasilnya melalui pemanggilan alat terpisah.Pembuatan versi
Pembuatan versi
Setiap
PATCH integrasi membuat revisi baru. Periksa
GET /v1/integrations/{id}/versions
untuk melihat siapa yang mengubah apa. Jika Anda merusak skema sebuah alat, Anda dapat
melakukan rollback secara manual dengan menerapkan kembali snapshot lama melalui PATCH.Langkah berikutnya
Referensi integrasi
CRUD, transfer, riwayat versi.
Spesifikasi Function Tools
Tata bahasa skema JSON lengkap dan kontrak endpoint bertanda tangan.
Verifikasi tanda tangan
Terapkan pola tanda tangan webhook ke endpoint tool.
API transkrip + riwayat
Periksa seluruh alur bolak-balik panggilan tool.