ThunderPhone 2.0 kini resmi hadir.Gunakan langsung secara mandiri, mulai 2¢/menit.Baca pengumumannya

Getting Started

Konsep inti

Peta segala hal di Platform — fungsi setiap objek, lokasinya di dashboard, dan API yang menggunakannya.

ThunderPhone adalah platform lengkap untuk membangun, menjalankan, dan meningkatkan agen suara AI. Halaman ini adalah petanya: setiap konsep yang akan Anda temui, masing-masing dalam satu bagian singkat, beserta tampilan dasbor dan API yang mendukungnya. Baca sekilas sekali, lalu kembali lagi kapan pun suatu istilah perlu dijelaskan.

Sidebar dasbor mencerminkan struktur ini:

Keterlibatan
Koneksi

Aplikasi, API, server MCP, dan penyedia VoIP yang dapat digunakan agen Anda.

Peristiwa

Webhook dan function tool untuk kode Anda sendiri.


Organisasi

Sebuah organisasi adalah unit tenancy. Setiap sumber daya lain — agen, nomor telepon, panggilan, kunci — dimiliki oleh tepat satu organisasi. Akun Anda dapat menjadi bagian dari banyak organisasi; masing-masing memiliki saldo, kunci, dan daftar anggotanya sendiri.

Kunci API sk_live_ yang Anda buat di bawah Organisasi → Kunci terikat pada satu organisasi. Keterikatan inilah yang membuat REST API sangat sederhana: Anda tidak pernah memasukkan id organisasi ke dalam jalur URL, karena kunci Anda sudah mengidentifikasinya.

Di dasbor: pengalih organisasi (footer sidebar) dan pengaturan Organisasi — tab untuk Akun saya, Umum, Kunci, Peringatan, Pengaturan Penagihan, dan Riwayat Penagihan. Lihat referensi pengaturan Organisasi.

Di API: /v1/orgs, /v1/developer/api-keys.


Agen

Sebuah agen adalah konfigurasi AI yang menjalankan panggilan. Konfigurasi ini mencakup:

  • Sebuah Prompt yang mengatur apa yang dikatakan agen dan cara agen berperilaku — termasuk tindakan panggilan seperti transfer, penekanan keypad, dan mengakhiri panggilan, yang berupa baris Prompt biasa, bukan konfigurasi terpisah.
  • Sebuah tingkat engine (spark, bolt, storm-*): Spark dioptimalkan untuk biaya, Bolt untuk kecepatan, Storm untuk kecerdasan pada Prompt yang kompleks.
  • Sebuah suara serta bahasa utama dan bahasa tambahan opsional — agen beralih secara otomatis saat penelepon mengganti bahasa. Lihat Bahasa yang didukung.
  • Kemampuan yang terpasang: aplikasi terhubung, koneksi API, basis pengetahuan, server MCP, dan function tool inline.
  • Pengaturan perilaku: urutan bicara, mode pengakuan, trek latar belakang, batas waktu tunggu.

Perubahan di builder disimpan otomatis sebagai draf; tidak ada yang aktif hingga Anda mengklik Deploy. Setiap deployment disimpan sebagai snapshot di tab Riwayat builder, sehingga Anda dapat memeriksa dan memulihkan versi sebelumnya.

Di dasbor: Agen Suara → builder agen (/dashboard/agents). Lihat Bangun agen suara pertama Anda.

Di API: /v1/agents — CRUD, duplikasi, transfer, riwayat versi, dan helper Prompt.


Suara

Pustaka suara berisi suara yang dapat digunakan agen, sampel yang dapat diputar, bahasa yang kompatibel, pengelompokan gender dan aksen, serta biaya tambahan untuk suara/bahasa premium. Pemutar sampel berbayar dapat menyintesis frasa Anda sendiri dengan 1–500 karakter sebelum Anda memilih.

Organisasi yang memenuhi syarat juga dapat membuat suara kustom dari sampel WAV atau MP3 singkat. Suara kustom memiliki kuota dan Status pembuatan asinkron; setelah siap, suara tersebut muncul di pemilih agen yang sama dengan suara pustaka.

Di dasbor: Suara (/dashboard/voices). Lihat Pustaka suara dan suara kustom.

Di API: /v1/voices, sampel suara, dan suara kustom.


Nomor telepon

Nomor telepon dimiliki oleh organisasi dan merutekan panggilan masuk ke agen (serta dapat menangani panggilan keluar). Dua sumber:

  • nomor ThunderPhone — nomor AS asli yang disediakan dari kumpulan ThunderPhone, aktif dalam hitungan detik, $1/bulan ditambah biaya 1¢/menit. Nomor ini awalnya hanya untuk panggilan masuk. Admin organisasi dapat meminta panggilan keluar dari halaman Nomor Telepon; ThunderPhone meninjau setiap permintaan secara manual, dan nomor yang disetujui dapat melakukan panggilan dan menjalankan kampanye. Secara default, sebuah organisasi dapat memiliki 25 nomor.
  • nomor VoIP — dibawa dari provider Anda sendiri melalui koneksi VoIP. Twilio dan Telnyx terhubung langsung dengan kunci API (Telnyx juga memiliki penyiapan akun baru terpandu); SignalWire, Vonage, Plivo, dan trunk SIP lainnya terhubung melalui penyiapan SIP, yaitu konfigurasi SIP manual. Setelah diimpor dan diverifikasi, nomor VoIP mendukung panggilan masuk dan keluar.

Setiap baris nomor memungkinkan Anda mengatur mode perutean, memilih agen untuk panggilan masuk, dan memberi label pada nomor.

Di dasbor: Nomor Telepon (/dashboard/phone-numbers). Lihat Dapatkan nomor telepon.

Di API: /v1/phone-numbers, /v1/voip-connections, /v1/phone-number-labels.


Panggilan

Setiap panggilan masuk, panggilan keluar, simulasi, dan sesi widget menjadi log panggilan. Panggilan memuat transkrip lengkap dengan tag peran, riwayat giliran terstruktur (termasuk pemanggilan alat), rekaman, total penagihan, serta penilaian AI dan laporan masalah opsional.

Saat panggilan langsung, Anda dapat membukanya dan menyimak — Anda bergabung secara diam-diam, dan tidak ada peserta panggilan yang mendengar Anda. Setelah menyimak, Anda dapat berbisik: ketik instruksi yang langsung dikirim ke agen Anda di tengah panggilan; penelepon tidak pernah mendengarnya, dan agen mengikutinya secara langsung.

Di dasbor: Riwayat Panggilan (/dashboard/call-history) untuk arsip dan detail per panggilan; Live untuk panggilan yang sedang berlangsung. Lihat Tinjau, dengarkan, dan arahkan panggilan Anda.

Di API: /v1/calls — daftar, transkrip, riwayat, audio, penilaian, ekspor; /v1/issue-reports.


Portal klien

Portal klien adalah tampilan riwayat panggilan bermerek dan hanya-baca untuk klien eksternal. Admin organisasi memilih agen yang panggilannya ditampilkan, menambahkan email pemirsa yang disetujui, mengunggah logo dan warna aksen, serta secara opsional memverifikasi domain kustom. Pemirsa portal dapat memeriksa detail panggilan, transkrip, dan rekaman yang tersedia tanpa menerima akses dasbor.

Di dasbor: Portal klien (/dashboard/client-portals). Lihat Portal klien.

Di API: /v1/client-portals untuk antarmuka pengelolaan admin.


Widget web

Widget web memberi pengunjung situs Anda percakapan berbasis mikrofon dengan agen — tanpa perlu nomor telepon. Widget ini melakukan autentikasi dengan kunci yang dapat dipublikasikan (pk_live_...) yang hanya dapat digunakan browser dari domain yang Anda izinkan, sehingga aman digunakan dalam kode sisi klien. Daftar domain bukan autentikasi, dan pengaturan sesi yang dapat dikirim oleh halaman dinonaktifkan hingga Anda mengizinkannya pada kunci tersebut.

Kunci berjalan dalam salah satu dari dua mode: agent (terikat secara statis pada satu agen) atau webhook (server Anda memilih konfigurasi untuk setiap pengunjung — lihat Konfigurasi dinamis per panggilan). Sesi widget mengalir melalui infrastruktur panggilan yang sama dengan panggilan telepon.

Di dasbor: Widget Web (/dashboard/web-widgets) — buat widget, atur mode dan agen, kelola domain yang diizinkan, dan salin cuplikan sematan. Lihat Buat widget web.

Di API: /v1/publishable-key, /v1/mic-session, dan dokumentasi SDK Widget.


Basis pengetahuan

Basis pengetahuan adalah kumpulan dokumen yang dapat dicari agen Anda saat panggilan berlangsung untuk mendasari jawabannya — unggah file, tempel teks, atau impor halaman web melalui URL, lalu hubungkan basis pengetahuan tersebut ke agen di builder. Agen mengkuerinya dengan alat pencarian bawaan setiap kali percakapan memerlukannya.

Di dasbor: Pengetahuan (/dashboard/knowledge) untuk perpustakaan dokumen; bagian Pengetahuan di builder untuk menghubungkannya ke agen. Lihat Berikan agen Anda basis pengetahuan.


Koneksi

Koneksi adalah cara agen menjangkau dunia luar. Empat jenis, satu grup sidebar:

  • Aplikasi (/dashboard/app-connections) — koneksi OAuth ke Slack, HubSpot, Salesforce, Google Calendar, Google Sheets, dan Cal.com. Hubungkan sekali, lalu aktifkan alat per operasi (kirim pesan Slack, perbarui atau tambahkan kontak HubSpot, pesan slot Cal.com…) untuk agen mana pun. Lihat Hubungkan aplikasi.
  • API (/dashboard/api-connections) — ubah API HTTP apa pun menjadi tindakan agen. Tempel perintah cURL dan panduan AI menyusun draf definisi alat, atau buat secara manual; tombol Uji Permintaan menjalankan panggilan sandbox sebelum Anda merilisnya. Lihat Koneksi API — antarmuka dasbor untuk /v1/integrations.
  • MCP (/dashboard/mcp-connections) — tambahkan server Model Context Protocol melalui URL dan biarkan agen menggunakan alat yang disediakannya. Lihat Tambahkan server MCP.
  • VoIP (/dashboard/voip-connections) — kredensial provider untuk menggunakan nomor telepon Anda sendiri. Lihat Hubungkan provider VoIP.

ThunderPhone juga menyediakan endpoint MCP sendiri agar klien MCP eksternal dapat mencantumkan agen, memeriksa panggilan dan transkrip, serta melakukan panggilan. Lihat Gunakan ThunderPhone sebagai server MCP.

Di API: /v1/integrations, /v1/mcp-servers, dan /v1/voip-connections; lihat juga Buat integrasi alat.


Kampanye

Kampanye melakukan panggilan keluar dalam skala besar: unggah CSV berisi kontak, pilih agen dan nomor asal, lalu atur jendela panggilan (hari dan jam, dengan mempertimbangkan zona waktu), konkurensi, serta kebijakan percobaan ulang (jumlah maksimum percobaan dan hasil mana — tidak dijawab, pesan suara, gagal — yang dicoba ulang). Kampanye memproses daftar tersebut dan mencatat setiap panggilan di Riwayat Panggilan.

Di dasbor: Kampanye (/dashboard/campaigns). Lihat Jalankan kampanye panggilan keluar.

Untuk panggilan terprogram satu kali: gunakan API panggilan keluar.

Pemantauan langsung

Langsung menampilkan setiap panggilan yang sedang berlangsung di seluruh organisasi, dan memungkinkan Anda membuka salah satunya untuk mendengarkan dan membisikkan secara real time. Ini adalah permukaan supervisi: pantau prompt baru saat menerima trafik nyata pertamanya, atau awasi kampanye yang sedang berjalan.

Di dashboard: Langsung (/dashboard/live). Lihat Memantau dan mensupervisi panggilan langsung.


Simulasi

Sebuah simulasi adalah penelepon AI yang melakukan percakapan nyata dengan agen Anda — jalur telepon yang sama, transkrip nyata, penilaian nyata — sehingga Anda dapat menguji sebelum (dan setelah) merilisnya. Arahkan ke agen atau nomor telepon, tulis sendiri skenario penelepon atau buat skenario dengan AI dari prompt agen (termasuk kasus tepi, jika Anda memintanya), dan pantau panggilannya secara langsung.

Skenario dikelompokkan dalam suite yang menetapkan tingkat kelulusan minimum dan dapat menjadi gerbang rilis di CI; regresi terhadap baseline yang diterima dilaporkan untuk setiap skenario.

Di dashboard: Simulasi (/dashboard/simulations), serta tombol Simulasi di dalam builder agen. Lihat Mensimulasikan panggilan.

Di API: /v1/test-calls dan runner suite — lihat Menguji agen secara menyeluruh.


Set validasi

Sebuah set validasi mengubah momen panggilan nyata menjadi pemeriksaan regresi satu giliran yang dapat diulang. Setiap contoh membekukan konteks percakapan, audio penelepon yang relevan, respons asli, dan perilaku yang diharapkan. Pemutaran ulang dijalankan terhadap draf agen saat ini tanpa melakukan panggilan lain, dan dialog deploy dapat menampilkan apakah eksekusi terbaru masih sesuai dengan draf tersebut.

Di dashboard: Set validasi (/dashboard/validation) untuk dataset organisasi dan tab Validasi pada builder agen untuk eksekusi. Lihat Set validasi.

Di API: /v1/validation-sets dan endpoint pemutaran ulang agen/contoh pada halaman referensi yang sama.


Eksperimen

Sebuah eksperimen melakukan pengujian A/B terhadap konfigurasi agen pada trafik langsung: tentukan varian (Prompt, engine, atau pengaturan yang berbeda), bagi trafik di antaranya, dan bandingkan hasil per varian. Gunakan ini sebagai pengganti membuat sendiri logika bucket dalam webhook.

Di dashboard: Eksperimen (/dashboard/experiments) dan tab A/B di builder agen. Lihat Eksperimen (pengujian A/B).


Masalah

Sebuah masalah adalah problem yang ditandai pada panggilan tertentu — diajukan oleh peninjau manusia atau dideteksi oleh penilaian AI. Masalah mencakup tingkat keparahan, sumber, dan status, dan halaman Masalah adalah antrean triase: filter, periksa panggilan bermasalah, dan lacak perbaikannya.

Di dashboard: Masalah (/dashboard/issues), serta penandaan per panggilan di Riwayat Panggilan. Lihat Triase masalah.

Di API: /v1/issue-reports.


Laporan

Sebuah laporan menjawab pertanyaan bahasa alami tentang data panggilan Anda ("Apa tiga alasan utama penelepon meminta berbicara dengan manusia minggu lalu?") dengan analisis yang ditulis AI, dibatasi pada agen dan rentang tanggal yang Anda pilih.

Di dashboard: Laporan (/dashboard/reports). Lihat Laporan.


Observabilitas

Observabilitas adalah permukaan metrik: volume panggilan, hasil, dan kualitas dari waktu ke waktu, dapat difilter berdasarkan agen dan jangka waktu, dengan ekspor untuk analisis lanjutan.

Di dashboard: Observabilitas (/dashboard/observability). Lihat Observabilitas.


Peringatan

Sebuah aturan peringatan memantau metrik (tingkat keberhasilan, tingkat kegagalan, skor rata-rata, volume panggilan, regresi suite) selama jangka waktu dan aktif saat melewati ambang batas Anda. Notifikasi dikirim ke email dan Slack, serta memicu event alert.triggered ke endpoint webhook Anda.

Di dashboard: Organisasi → Peringatan. Lihat Peringatan.


Webhook

ThunderPhone mengirim webhook HTTP POST ke server Anda saat berbagai hal terjadi selama dan setelah panggilan. Dua model pengiriman:

  • Endpoint webhook (direkomendasikan): kelola banyak URL di /v1/developer/webhook-endpoints dengan secret per endpoint dan langganan peristiwa per endpoint.
  • Webhook URL tunggal lama: satu URL per organisasi. Dikelola di /v1/webhook atau di bawah Organisasi → Umum. Dipertahankan untuk kompatibilitas mundur.

Peristiwa dibagi menjadi dua kelas:

  • Peristiwa pemblokiran mengharapkan server Anda merespons dengan konfigurasi yang membentuk panggilan yang sedang berlangsung — yaitu peristiwa panggilan masuk (telephony.incoming / web.incoming). Panggilan telepon menunggu hingga 13 detik, termasuk satu percobaan ulang, dan sesi widget 10 detik. Tidak ada agen cadangan: tanpa konfigurasi yang dapat digunakan, panggilan telepon diakhiri dan sesi widget gagal.
  • Peristiwa non-pemblokiran adalah notifikasi kirim-dan-lupakan, yang dicoba ulang dengan backoff eksponensial — lihat semantik pengiriman.

Setiap permintaan membawa tanda tangan HMAC-SHA256 bertimestamp dalam X-ThunderPhone-Signature-V2, beserta X-ThunderPhone-Signature lama yang hanya mencakup isi. Lihat verifikasi tanda tangan.


Alat fungsi

Alat fungsi adalah endpoint HTTP yang dapat dipanggil agen Anda di tengah percakapan. Anda memberikan ThunderPhone skema fungsi bergaya OpenAI beserta URL endpoint; agen memutuskan kapan harus memanggilnya, lalu ThunderPhone membuat permintaan HTTP bertanda tangan dari servernya dan memberikan hasilnya kembali kepada agen.

Agen juga memiliki kemampuan panggilan bawaan — mengalihkan panggilan, mengirim input keypad (DTMF), mengakhiri panggilan, menunggu dalam antrean — yang Anda aktifkan dengan baris Prompt biasa, bukan definisi alat.

Di dashboard: bagian Koneksi API di builder (lihat Koneksi).

Di API: /v1/integrations dan spesifikasi Alat Fungsi.


Tim dan peran

Setiap organisasi memiliki daftar anggota dengan dua peran: Anggota membangun dan mengoperasikan agen; Admin juga mengelola tim dan penagihan. Undang melalui email — undangan kedaluwarsa setelah 7 hari dan dapat dicabut; menu ⋯ pada baris anggota mengubah peran atau menghapus seseorang. Masuk tunggal dapat dikonfigurasi untuk seluruh organisasi — lihat SSO.

Di dashboard: Organisasi → Umum. Lihat Undang tim Anda.

Di API: /v1/members, /v1/invites.


Penagihan

ThunderPhone bersifat prabayar. Setiap organisasi memiliki saldo USD; panggilan mengurangi saldo tersebut sesuai tarif per menit agen (tingkat mesin ditambah biaya tambahan — builder menampilkan tarif total secara langsung saat Anda mengubah pengaturan, dan bahasa tambahan tertentu menambahkan 3¢/menit). Saat saldo mencapai nol, panggilan masuk ditolak dan panggilan keluar mengembalikan 402 Payment Required.

Isi ulang secara manual, atau aktifkan isi ulang otomatis dengan ambang saldo, jumlah pengisian ulang, dan batas pengeluaran bulanan opsional — sehingga panggilan tidak pernah terputus di tengah kalimat.

Di dashboard: Organisasi → Pengaturan Penagihan dan Riwayat Penagihan. Lihat Tambahkan dana dan aktifkan isi ulang otomatis, serta referensi harga lengkap.

Di API: /v1/billing.


Kopilot dalam aplikasi

Dashboard dilengkapi kopilot bawaan — tanyakan "bagaimana cara melakukan X" dan kopilot akan menjawab berdasarkan dokumentasi ini, menawarkan panduan langkah demi langkah yang menyoroti kontrol sebenarnya, serta dapat memutar ulang tur terpandu apa pun. Ini adalah cara tercepat untuk menemukan kontrol yang disebutkan halaman ini. Lihat Tanyakan kepada kopilot dalam aplikasi.


Merangkainya